Выбор и измерение показателей качества на основных этапах жизненного цикла ПС
Общее представление о качестве ПС международным стандартом ISO 9126 рекомендуется отражать тремя взаимодействующими и взаимозависимыми метриками характеристик качества, отражающими:
Эти типы метрик применимы при определении целей проекта и требований к качеству ПС, включая промежуточные компоненты и продукты. Подходящие внутренние атрибуты качества ПС являются предпосылкой достижения в жизненном цикле требуемого внешнего поведения, а приемлемое внешнее поведение - предпосылка достижения качества в использовании. Внутренние метрики в соответствии со стандартами могут применяться в ходе проектирования и программирования к неисполняемым компонентам ПС таким, как спецификация или исходный программный текст. При разработке ПС промежуточные компоненты следует оценивать с использованием внутренних метрик, которые отражают некоторые функциональные и конструктивные свойства программ. Основная цель применения внутренних метрик – обеспечение требуемого внешнего качества. Рекомендуется использовать внутренние метрики, которые имеют наиболее сильные связи с приоритетными внешними метриками, чтобы они могли помогать при прогнозировании их достижимых значений. Внутренние метрики дают возможность разработчикам, испытателям и заказчикам, начиная с системного проектирования, прогнозировать качество жизненного цикла программ и заниматься вопросами технологического обеспечения качества до того, как ПС становится готовым к использованию продуктом. Измерения внутренних метрик используют свойства, категории, числа или характеристики элементов из состава ПС, которые, например, имеются в процедурах исходного программного текста, в графе потока управления, в потоке данных и в описаниях изменения состояний памяти. Качество документации также может оцениваться с использованием внутренних метрик. Внешние метрики используют меры ПС, выведенные из поведения системы, частью которых они являются, путем испытаний, эксплуатации и наблюдения исполняемых программ или функционирования информационной системы. Перед приобретением или использованием ПС его следует оценить с использованием метрик, основанных на реализации деловых и профессиональных целей, связанных с применением программного продукта в определенной организационной и технической среде. Внешние метрики обеспечивают заказчикам, пользователям и разработчикам возможность прослеживать и анализировать качество ПС в ходе испытаний или опытной эксплуатации. Подходящие внешние метрики специфицируются для получения числовых значений или категорий и свойств внутренних характеристик качества, чтобы их можно было использовать для проверки того, что промежуточные продукты в процессе разработки удовлетворяют внутренним спецификациям качества. Метрики качества в использовании отражают, в какой степени продукт удовлетворяет потребности конкретных пользователей в достижения заданных целей. Эта метрика не отражена в числе шести базовых характеристик ПС, регламентируемых стандартом ISO 9126-1 вследствие ее общности, однако рекомендуется для интегральной оценки результатов функционирования и применения комплексов программ в стандарте ISO 9126-4. Качество в использовании - это объединенный эффект функциональных и конструктивных характеристик качества ПС для пользователей. Связь качества в использовании с другими характеристиками ПС зависит от задач и функций их потребителей:
54. Сертификация программных средств. Задачи и проблемы сертификации ПС. Под сертификацией понимается действие третьей стороны, доказывающее, что обеспечивается необходимая уверенность в том, что должным образом идентифицированная продукция, процесс или услуга соответствует конкретному стандарту или другому нормативному документу. Сертификация может быть обязательной или добровольной. Решение о выдаче сертификата на ПС основывается на оценке степени его соответствия действующим и/или специально разработанным документам. Основными целями сертификации средств информатизации, информационных технологий и услуг являются:
На пути проведения действительно доказательной и авторитетной сертификации программной продукции предстоит решать достаточно много проблем. Остановимся кратко на некоторых из них. Разговор о различных классах потенциального риска и надежности среди программных средств и комплексов, предполагает строго дифференцированный подход к использованию разных форм и схем сертификации с учетом принципа выбора более или менее «жестких», т.е. с большей или меньшей доказательной базой схем соответствия в зависимости от степени потенциальной опасности продукции. При сертификации проводится квалифицированная оценка соответствия экспертами – специалистами отдельно функциональной части и обеспечивающей части (информационного, программного и технического обеспечению). При таком подходе деятельность некоторых сертифицирующих органов носит универсальный характер, а для некоторых – отраслевой или узко специализированный. Главным звеном процесса сертификации является оценка программной продукции с точки зрения ее применимости и возможности использования в какой-либо отрасли. Следует указать на принципиальное отличие экспертизы от процесса сертификационных испытаний. Задачей экспертизы является не оценка на соответствие конкретным стандартам или нормативным документам, т.е. уровня определенного качества, а отнесение программного средства к определенному типу или виду, учитывая специфику предметной области и новизну задачи. При этом многие наименования показателей качества в сертификате соответствия и в протоколе технологических испытаний при экспертизе программных средств и баз данных могут пересекаться и совпадать: эффективность, надежность, сопровождаемость, показатели универсальности и другие. Измерения, проведенные при сертификации, характеризуют только уровень качества, достигнутый на момент сертификации. Если быть последовательными для подтверждения соответствия характеристик заявленным требованиям в течение всего срока действия сертификата нужен инспекционный контроль в форме периодических и внеплановых проверок и обратная связь с реальными пользователями на местах. Эти положения должны быть определены органом сертификации в зависимости от выбранной схемы сертификации. В целом следует исходить из права заявителя самому выбирать форму и схему подтверждения соответствия. Для разработчиков ПС потребность в сертификации определяется целью ее проведения. Для обязательной сертификации цель – это прежде всего допуск для распространения на рынок, для добровольной – нахождение места на рынке путем удовлетворения требований конкретного заказчика с помощью независимого подтверждения соответствия заявленных исполнителями (разработчиками) показателей качества программной продукции.
55. Корректность программных средств. Корректность программного средства – соответствие проверяемого объекта некоторому эталонному объекту или совокупности более или менее формализованных эталонных характеристик и правил. Корректность текстов программ – степень соответствия исходных программ формализованным правилам языков спецификаций и программирования. Конструктивная корректность модулей – соответствие их структуры общим правилам структурного программирования и конкретным правилам оформления и внутреннего построения программных модулей в данном заказе. Функциональная корректность модулей – корректность обработки исходных данных и получения результатов. Конструктивная корректность данных определяется правилами их структурирования и упорядочения. Функциональная корректность данных связана, в основном, с конкретизацией их содержания в процессе исполнения программ, а также при подготовке данных внешними абонентами. Конструктивная корректность программных модулей определяется правилами структурного, модульного построения программных комплексов и общими правилами организации межмодульных связей. Эта составляющая может быть проверена формализованными автоматизированными методами. Функциональная корректность комплексов программ наиболее трудно формируется вследствие большого количества возможных эталонных значений и распределений. В наиболее сложном случае для программ реального времени ее можно разделить на: · детерминированную корректность – должно быть обеспечено однозначное соответствие исходных и результирующих данных исполняемых программ определенным эталонным значениям; · стохастическую корректность – статистическое соответствие распределений результирующий случайных величин заданиям эталонным распределениям при соответствующих распределениях исходных данных; · динамическую корректность – соответствие изменяющихся во времени результатов исполнения программ эталонным данным. Синтаксический контроль корректности текстов программ – проверка входного текста программ на соответствие синтаксису языка программирования. Семантический контроль текстов программ – проверка корректности применения и взаимодействия базовых конструкций языка программирования в тексте проверяемых программ. Формализованный структурный контроль программ основывается на статической проверке соответствия структуры программ и последовательности основных операций использования памяти системе эталонных правил. Верификация (подтверждение правильности) состоит в проверке и доказательстве корректности разработанной программы по отношению к совокупности формальных утверждений, представленных в программной спецификации и полностью определяющих связи между входными и выходными данными этой программы.
|