И. Соммервилл - Инженерия программного обеспечения (1133538), страница 129
Текст из файла (страница 129)
Управление качеством 495 1. Обеамчлнке кпчесимп. Определение множества организационных процедур и стан- дартов в целях создания ПО высокого качества. 2. Плпниртмпнке кпчлстеп. Выбор нз этого множества соответствующего подмножества процедур и стандартов и адаптация их к данному проекту разработки ПО. 3. Кпнэьраль кпчлснтлп. Определение и проведение мероприятий, гарантирующих выполнение нормативных процедур и стандартов качества всеми членами команды разработчиков ПО.
Управление качеством предполагает возможность независимого контроля за процессом разработки ПО. Контролы<ые проектные элементы, получаемые в процессе разработки ПО, являются основой контроля качества. Они тщательно проверяются на соответствие стандартам и целям проекта (рис. 24.1.). Так как работы, выполняемые по обеспечению и контролю качества, в определенной степени независимы, это предполагает возможность объективного взгляда нэ процесс разработки ПО, благодаря чему руководство компании может своевреиенно получить информацию о проблемах или трудностях, которые возникают в работе над проектом.
05 03 04 Процесс Разработки ПО 01 02 Стаялартн План обеспечения Отчеты по контролю качества и процедурм качества Ркс 24.1. упрплленил качествам и рпз)тпботкп ПО (буклей )у обозттпчены кпнифолькьтл тфоек та ныл ялеменгли) Процесс управления качеством необходимо отделять от процесса управления проектом с тем, чтобы не ставить вопрос о компромиссе между качеством создаваемого ПО и бюджетом или графиком выполнения проекта. Над контролем качества должна работать независимая команда, которая отчитывается непосредственно руководству компании, минуя звено менеджера проекта. Команда контроля за качеством не должна быть также свя.
зана с группами разработки ПО, вместе с тем она берет на себя ответственность за качество на уровне всей организации. Международно признанным стандартом, который любая компания в любых сферах производства может принять за основ> развития системы управления качеством, можно назвать 15О 9000, разработанный Международной организации по стандартизации (15О).
15О 9000 — это целый ряд всевозможных стандартов, применимых как в промышленности, так и в сфере услуг. 15О 9001 является наиболее обобщенным из этих стандартов и относится к организациям, занимающимся разработкой. производством и сопровождением различных товаров.
Поддерживающая документация (15О 9000-3) адаптирует 15О 9000 к разработке программных продуктов. Стандарт 15О 9000 описан во многих книжках, например [191, 265, 274, 9ь, 20*). Стандарт 15О 9001 является типовой моделью для процесса обеспеченил качества. В этом нормативе описываются разнообразные аспекты данного процесса, а также опреде. лаются те стандарты и норьтатнвы, которые должны быть приняты за основу производст.
490 '1асть У1. Управление венной деятельности компании. Так как процесс обеспечения качества не относится к разряду производственных видов деятельности, нормативы здесь детально не описаны. Любал организация, специализирующаяся на определенном виде услуг, должна самостоятельно провести детализацию своих нормативов и представить ее в специальном руководстве по управлению качеством. В табл. 24.1 показаны те виды деятельности, которые охвачены в модели 18О 9001. Здесь у меня нет возможности пространно рассуждать о стандарте 1зО н вникать в его глубины. Бо. лес подробное описание этой модели читатель найдет в книгах 1178, 265], где можно получитьь сведения о применении данного стацларта к процессу уцр веления качеством.
Таблица 24.1. Виды деятельности, охватьтваемые моделью обеспечения качества 1БО 9001 За что отвечает менеджмент Элементы системы качества Контроль эа разработкой изделий Выявление иэделий, нс удовлетворяющих техническим требованиям Обработка, хранение, упаковка и доставка товара Материально-техническое обслуживание Обучение Статистические методы контроля за качеством Внутренняя проверка качества Обслуживание суинствутп е виде Средства псддержки Рис.
242 Ситкдпрн 150 9000 и улрпвееяие кпчестван Товары, поставлясмыс заказчиком Управление производственным процессом Оборудование для контроля и испытаний Провсрка контракта Провсркадокумснтации Идентификация и отслеживание товара Контроль и испытания готовой продукции Проведение обследования н тестирования Корректирующая деятельность Отчеты об обеспечении качества 24. Управление качеством 497 Нормативы по обеспечению качества занесены в специальное руководство, определяющее ход процесса по управлению качеством. В некоторьш странах существуют специальные органы, подтверждающие соответствие процесса обеспечения качества, описанного в руководстве организации, стандарту 1$О 9001. Более того, заказчики часто требуют от поставщиков сертификат по стандарту 18О 9001 как подтверждение того, насколько серьезно компания относится к изготовлению качественной продукции. Взаимосвязь между 18О 9000, управлением качества и планами обеспечения качества отдельных проектов показана на рис.
24.2. Она заимствована из книги 1178]. 24.1. Обеспечение качества и стандарты Деятельность по обеспечению качества направлена на достижение определенного уровня качества при разработке программного обеспечения. Она предполагает определение или выбор стандартов, применяемых либо к самому процессу разработки ПО, либо к готовому продукту. Эти стандарты мопт быть частью процессов производства ПО.
В ходе выполнения таких процессов мокнут применяться средства поддержки, учитывающие выбранные (или разработанные) стандарты качества В процессе обеспечения качества могут применяться два вида стандартов. 1. Сзшкдяржм ка яуюдукккю. Применимы к уже готовым программным продуктам. Они включают стандарты на сопроводительную документацию, наприиер структуру до. кумента, описывающего системные требования, а также такие стандарты, как, на. пример, стандарт заголовка комментариев в определении класса объекта, стшшарты написания программного кода, определяющие способ использования языка программирования.
2. Смлкдаршм ка яроцесс сшданкл ПО. Определяют ход самого процесса создания программного продукта, например разработку спецификации, процессы проектирования и аттестации. Кроме того, они могут описывать документацию, создаваемую в ходе выполнения этих процессов. Между стандартами на продукцию и стандартами на процесс существует очень сильная взаимосвязь. Стандарты на продукцию применимы к результату процесса разработки ПО, а стандарты на процесс в большинстве случаев подразумевают выполнение определенных действий. направленных на получение товара, соответствующего стандартам на продукцию. Более подробно этот вопрос рассматривается в разделе 24.1.2.
Стандарты в разработке программной продукции важны по целому ряду причин, основные из которых перечислены ниже. 1. Стандарты аккумулируют все лучшее из практической деятельности по созданию ПО. Как правило, практические знания приобретаются путем долгого поиска и ошибок. Привнесение этого опыта в определенный стандарт помогает избежать повторения прошлых ошибок. Стандарты в данном случае собирают знания н опыт, имеющие значение для организации-разработчика. 2. Стандарты предоставляют необходимую основу для реализации процесса обеспечения качества. Имея в наличии стандарты, обобщающие лучшие знания и опыт, для обеспечения качества достаточно контролировать, чтобы они выполнллись в процессе создания ПО.
3. Стандарты незаменимы, когда работа переходит от одного сотрудника к другому. В этом случае деятельность всех специалистов в оршниэации подчиняется единому нормативу. Следовательно, требуется меньше затрат на изучение сотрудником новой работы. 498 к4асть йя. Управление Таблица 24.2. Стандарты на продукн/яю н процесс разработки ПО Стандарты на продукцию Форма пересмотра архитсктуры ПО Стандарты иа процесс разработкв ПО Руководство по провсдснню псрссмотра ар- хитсктуры ПО Прсдставлснис документации по нормативам ЕЭС Структура документа, содсржащсго сис- темные требования Формат заголовков программ и процедур Стиль программированил языкадага Процесс выпуска версии ПО Процссс утвсрждснил плана реализации про.
акта Формат плана рсализацнн проекта Форма запроса на нзмснсния Процссс контроля изменений Процесс регистрации выполнсния тестов Иногда спсцналисты по разработке ПО относятся к стандартам как к бюрократичсскому наследию, нспримснимому к разработке ПО. Особенно это проякпястся прн выполнении тикай утомительной н скучной (однако необходимой для соблюдсння стандартов) процедуры, как заполнение вссвозможных форм н регистрация работ.
Коисчно, с общей идеей по. лсзности стандартов всс согласны, однако при этом разработчики находят люб)ю удобную причину, по которой иман иодля нх проекта эти стандарты нс так уж псобходнмы. г Отметим, чпю о Советскач Соиле и/юцесс аидампл ПО регяююнти/юеаяся стпидпртпми ГОСТ ЕСЛД (Единая система н/миРанмной докучемтлцни — ссРия ГОСТ 19 ХХК/. В настоящее вРемя о России иРмнят /яд стпида/плов стдання пвпсачлтизировпмнык сисоюс в соплов которыя еяодкт ирограчмныс «омионентыс ГОСТ 34.60!-90 "Иную/счпциои ноя теянасогия.
Колпиекс стпндпрпюе на авточптизированные системы. Ло томлтизиРовпнныспсстты. Стадии создания" и дР. /6о/. Однако зтн стпидпдты инеюмз/юд недостптков. а некоторые ия нояоженст и/юсто уста/лли. Поэтому омнчтчлееиные рлз/юцовтики ПО чаще испояозуют аю/ю мгнныемезсдуип/юдиые стандарты. В Украине тлкже принято несяояьно госудп/мтвеины» стпндпртов иа/мю работку ГКХ в том чисм ряд стпндпрвюе ло одтт и мию клчестел /Уе/. — Прим, род. Создание стандартов по разработка ПΠ— процесс долгий и угомнтсльный. Такие национальцыс и международные организации, как Министерство обороны США, Американский национальный институт стандартизации (А)ч/Я), Британский институт стандартов (ВЯ), НАТО, Институт инженеров по элсктротсхникс и электронике ((ЕЕЕ), спсциализируются на создании общих стандартов, которые могут применяться к широкому диапазону возможных программных просктов. Такие органы, как НАТО, или др)тнс оборонные организации могут требовать соблюдения их собственных стандартов в контрактах на соз.
дание программ ного обеспечения. Национальные (амсриканскис) н лгсждународныс стандарты были разработаны для таких сфер программной деятельности. как терминология инженерии ПО, языки программирования типа Аба и С++, система обозначсций, например для символов в схемах и чсртсжах, процедуры для разработки системных трсбований, деятельность по обеспечению качества, а также для аттестации ПО [177) '.