Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Совершенный код. Мастер-класс - Макконнелл С.

Макконнелл С. Совершенный код. Мастер-класс — М.: Русская редакция, 2005. — 896 c.
ISBN: 5-469-00822-3
Скачать (прямая ссылка): soversheniykodmasterklass2005.djvu
Предыдущая << 1 .. 221 222 223 224 225 226 < 227 > 228 229 230 231 232 233 .. 426 >> Следующая

разработке дополнительных
полнир&кые ресурсы" в кон- компонентов архитектуры или
подтолкнуть к неудачным ар-
рцэй главы. хитектурным решениям. Дополнительные
архитектурные
компоненты требуют написания дополнительного кода, тестов и
документации. С другой стороны, ошибка в требованиях может
привести к выбрасыванию частей архитектуры, кода и тестов.
Если идея устранения ошибок из чертежей дома перед заливкой
фундамента бетоном кажется вам разумной, то вы согласитесь и с
тем, что дефекты требований и архитектуры также следует уст-
ранять до того, как они повлияют на более поздние этапы
разработки.
Кроме того, ошибки в требованиях или архитектуре обычно имеют
более широкие следствия, чем ошибки конструирования. Одна
ошибка в архитектуре может затронуть несколько классов и
десятки методов, тогда как одна ошибка констру-
ГЛАВА 20 Качество ПО 467
ирования скорее всего повлияет только на один метод или класс.
Это еще одно убедительное обоснование как можно более раннего
нахождения ошибок.
Дефекты проникают в ПО на всех стадиях разработки, поэтому
контролю качества следует уделять должное внимание на всех
этапах проекта, начиная с самых ранних. Контроль качества
нужно внести в планы в начале работы над программой; его
следует выполнять по мере прогресса; наконец, он должен
подчеркивать удачное завершение работы над проектом.
20.5. Главный Закон Контроля Качества ПО
Ни в одном ресторане посетителей не кормят бесплатно, и даже
если б кормили, никто не смог бы поручиться за качество блюд.
Однако разработка ПО - совсем не кулинарное искусство, и
качество ПО имеет одну важную необычную особенность. Главный
Закон Контроля Качества ПО заключается в том, что повышение
качества системы снижает расходы на ее разработку.
В основе этого закона лежит одно важное наблюдение: лучшим
способом повышения производительности труда программистов и
качества ПО является минимизация времени, затрачиваемого на
исправление кода, чем бы оно ни объяснялось: изменениями
требований, изменениями проекта или отладкой. Средняя для
отрасли производительность труда программистов эквивалентна
примерно 10- 50 строкам кода на одного человека в день (с
учетом всех затрат, не связанных с кодированием). Написание
10-50 строк кода требует нескольких минут, - на что же уходит
остальное время?
Такая, казалось бы, низкая производительность труда час-
порюркташ есылка 0
разд"*
тично объясняется тем, что в подобных средних показате- нт
тшт написанием отдшг
лях учитывается время, не связанное непосредственно с ной
программы и созданием
программированием. Время тестировщиков, руководителей,
программного продукта
см. под-
секретарей - все эти факторы включены в данный показа-
"Программы, продаты,
~ \ г системы и системные
продукты"
тель. Определение требовании, разработка архитектуры и раздела
27 5
другие действия, не относящиеся к кодированию, также отражены
в "строках кода в день". Однако основные временные затраты
объясняются не этим.
Самый длительный этап в большинстве проектов - отладка и
исправление неправильного кода. При традиционном цикле
разработки ПО эти действия занимают около 50% времени (см.
раздел 3.1). Сокращение потребности в отладке, достигаемое
благодаря предотвращению ошибок, повышает производительность
труда. Следовательно, наиболее очевидный метод сокращения
графика разработки - повышение качества ПО и снижение объема
времени, уходящего на его отладку и исправление.
Этот анализ подтверждается реальными данными. В обзоре 50
проектов, потребовавших более 400 человеколет и включивших
почти 3 000 000 строк кода, проведенном в Лаборатории
проектирования ПО NASA, было обнаружено, что повышенное
внимание к контролю качества позволяло снизить уровень ошибок,
но не повышало общие расходы на разработку (Card, 1987).
468 ЧАСТЬ V Усовершенствование кода
В исследовании, проведенном в IBM, были получены аналогичные
результаты: Программным проектам с наименьшими уровнями
дефектов соответствовали самые короткие графики разработки и
максимальные показатели производительности труда... устранение
дефектов на самом деле - самый дорогой и длительный этап
разработки ПО (Jones, 2000).
Это верно и для противоположного края шкалы. В одном
исследовании 1985 года ученые попросили 166 профессиональных
программистов написать программы по одной и той же
спецификации. Итоговые программы содержали в среднем 220
строк, а на их написание ушло в среднем чуть меньше 5 часов.
Результаты оказались поистине удивительными: программисты,
работавшие над своими программами средний объем времени,
допустили наибольшее число ошибок. Программисты, которым
потребовалось больше или меньше времени, допустили значительно
меньше ошибок (DeMarco and Lister, 1985). Результаты показаны
на рисунке 20-2.
Средний
уровень
дефектов

500 Более 500
Время написания программы в минутах
Рис. 20-2. Ни при самом быстром, ни при самом медленном
Предыдущая << 1 .. 221 222 223 224 225 226 < 227 > 228 229 230 231 232 233 .. 426 >> Следующая