Составители:
Рубрика:
162
невозможности добиться удовлетворительного функционирования. Средний проект разработки
программного обеспечения затягивается на половину первоначально запланированного срока,
крупные проекты и того хуже. Три четверти всех больших систем либо выполняют не все функции,
которые на них возлагались, либо не используются вовсе».
По данным Департамента по Торговле и Промышленности Великобритании (DTI) при внедрении
проектов информационных технологий на предприятиях потери из-за некачественного программного
обеспечения составляют в среднем около 20% от общего объема потерь. По разным оценкам
аналогичный показатель для России достигает величины от 30 до 50%.
Может показаться, что управлять количеством ошибок в коде невозможно и их число зависит
только от способностей конкретного разработчика. Это не совсем так. В конце 80-х – начале 90-х
годов в программной индустрии был проведен ряд серьезных исследований эффективности труда
программистов. Вот данные американского Института программной инженерии (Software Engineering
Institute – SEI). Профессиональные программисты со стажем 10 и более лет на 1000 строк кода (СК –
строка исходного текста, которая содержит программную инструкцию) допускают в среднем 131,3
ошибки. Следовательно, большая система размером миллион СК может содержать 100 тысяч ошибок!
Если транслятор имеет развитую систему предупреждений, то до 50% из них выявляется на этапе
компиляции.
На этапе тестирования отдельных модулей (типичный программный модуль по определению SEI
содержит от 50 СК до 5 тысяч СК) обнаруживается половина оставшихся ошибок. Получается, что
перед этапами внедрения и комплексного тестирования в продукте еще скрывается 25 тыс. ошибок.
Для их устранения на заключительных этапах тратится от 10 до 40 человеко-часов на ошибку, т. е. на
доведение продукта до идеального состояния потребуется 125 человеко-лет работы! Это, конечно,
сильное преувеличение, но суть именно такова – на исправление ошибок за весь период
сопровождения продукта суммарные затраты времени (в человеко-месяцах) могут быть весьма
значительными!
Можно привести другой пример. Типичный небольшой продукт имеет объем до 50 тысяч СК.
Пусть его создают 5 программистов, делая при этом 100 ошибок на тысячу СК. 50% ошибок
выявляется на этапе компиляции с незначительными расходами времени, устранение ошибок на этапе
тестирования занимает 90% времени. Стоимость устранения одной ошибки в готовом продукте по
данным Microsoft оценивается в 4 тыс. долл. (по данным IBM устранение ошибок в ее продуктах,
выпущенных в эксплуатацию, обходится от 2-х до 20 тысяч долларов на ошибку) [2].
Корень зла кроется в неправильных акцентах при управлении качеством ПО!
Корреляция между числом ошибок, обнаруженных при тестировании отдельных модулей, и
числом ошибок, найденных пользователями в готовом продукте, равна 0,91. Отсюда вывод – если на
тестирование поступит некачественный продукт, он таким и будет выпущен в продажу! Таким
образом, организация производства качественного программного обеспечения является ключевой
проблемой управления процессом разработки ПО, которой в индустриально развитых странах стали
активно заниматься примерно с середины 60-х годов. К числу бесспорных достижений теории
менеджмента качества относятся современное понятие качества и его смысловое наполнение, а также
известные модели систем качества серии ISO 9000:2000 (ISO 9001, ISO 9002 и ISO 9003), построенные
на базе процессного подхода.
Согласно современному определению из международного стандарта, качество программного
обеспечения, как и любого другого продукта, – это его соответствие потребностям потребителя
(пользователя). Самый верный путь повысить качество ПО – постоянно улучшить и совершенствовать
процесс создания и сопровождения продукта в масштабах компании, включающий процессы
взаимодействия с внешней средой!
Анализ нормативных документов показывает, что к числу наиболее значимых показателей
качества, основанных на обоснованных претензиях пользователей, можно отнести:
· неадекватность функционирования программного продукта;
· недостаточное взаимодействие продукта с другими программными, аппаратными и
телекоммуникационными средствами;
· отказы программного продукта в процессе применения по назначению;
Страницы
- « первая
- ‹ предыдущая
- …
- 160
- 161
- 162
- 163
- 164
- …
- следующая ›
- последняя »
