Лекции Качество программного обеспечения.ppt
- Количество слайдов: 41
Качество программного обеспечения
Ка чество програ ммного обеспе чения — характеристика ПО как степени его соответствия требованиям. При этом требования могут трактоваться довольно широко, что порождает целый ряд независимых определений понятия. Чаще всего используется определение ISO 9001, согласно которому качество есть «степень соответствия присущих характеристик требованиям» .
Общие положения - ГОСТ Р ИСО 9126 Информационная технология. Оценка программной продукции. Характеристика качества и руководства по их применению. ГОСТ Р ИСО 12119 - 2000 Информационная технология. Пакеты программ. Требования к качеству и тестирование. Показатели качества ПО устанавливают ГОСТ 28195 Оценка качества программных средств.
ГОСТ Р ИСО 9126
4. ХАРАКТЕРИСТИКИ КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Качество программного обеспечения может быть оценено следующими характеристиками: 4. 1 Функциональные возможности (Functionality) Набор атрибутов, относящихся к сути набора функций и их конкретным свойствам. Функциями являются те, которые реализуют установленные или предполагаемые потребности
4. 2 Надежность (Reliability) Набор атрибутов, относящихся к способности программного обеспечения сохранять свой уровень качества функционирования при установленных условиях за установленный период времени.
4. 3 Практичность (Usability) Набор атрибутов, относящихся к объему работ, требуемых для использования и инди-видуальной оценки такого использования определенным или предполагаемым кругом пользователей.
4. 4 Эффективность (Efficiences) Набор атрибутов, относящихся к соотношению между уровнем качества функциониро-вания программного обеспечения и объемом используемых ресурсов при установленных условиях.
4. 5 Сопровождаемость (Maintainability) Набор атрибутов, относящихся к объему работ, требуемых для проведения конкретных изменений (модификаций). Примечание - Изменение может включать исправления, усовершенствования или адаптацию программ-ного обеспечения к изменениям в окружающей обстановке, требованиях и условиях функционирования.
4. 6 Мобильность (Portability) Набор атрибутов, относящихся к способности программ-ного обеспечения быть перенесенным из одного окружения в другое. Примечание - Окружающая обстановка может включать организационное, техническое или программ-ное окружение.
Настоящий стандарт применяется для установления требований к качеству программного обеспечения и оценивания (измерения, ранжирования и оценки) программных продуктов. Существуют только несколько общепринятых метрик для характеристик, описанных в настоящем стандарте. Организации могут устанавливать свои собственные модели процесса оценивания и методы формирования и проверки метрик, связанных с этими характеристиками. В тех случаях, когда соответствующие метрики отсутствуют и не могут быть разработаны, иногда пользуются словесными описаниями или "приблизительными методами".
Ме трика програ ммного обеспе чения (англ. software metric) — это мера, позволяющая получить численное значение некоторого свойства программного обеспечения или его спецификаций. Поскольку количественные методы хорошо зарекомендовали себя в других областях, многие теоретики и практики информатики пытались перенести данный подход и в разработку программного обеспечения. Как сказал Том Де. Марко, «вы не можете контролировать то, что не можете измерить» .
Выбор метрик (показателей) качества Способ, которым определялись характеристики качества, не допускает их непосредственного измерения. Существует потребность в установлении метрик (показателей), которые соотносятся с характеристиками программной продукции.
ПРИЛОЖЕНИЕ А (рекомендуемое) КОМПЛЕКСНЫЕ ПОКАЗАТЕЛИ (подхарактеристики) КАЧЕСТВА
А. 2 Определение комплексных показателей качества А. 2. 1 Функциональные возможности (Functionality) А. 2. 1. 1 Пригодность (Suitability) Атрибут программного обеспечения, относящийся к наличию и соответствию набора функций конкретным задачам. А. 2. 1. 2 Правильность (Accuracy) Атрибуты программного обеспечения, относящиеся к обеспечению правильности или соответствия результатов или эффектов.
А. 2. 1. 3 Способность к взаимодействию (Interoperability) Атрибуты программного обеспечения, относящиеся к способности его взаимодействовать с конкретными системами. А. 2. 1. 4 Согласованность (Compliance) Атрибуты программного обеспечения, которые заставляют программу придерживаться соответствующих стандартов или соглашений, или положений законов, или подобных ре-комендаций. А. 2. 1. 5 Защищенность (Security) Атрибуты программного обеспечения, относящиеся к его способности предотвращать несанкционированный доступ, случайный или преднамеренный, к программам и данным.
А. 2. 2 Надежность (Reliability) А. 2. 2. 1 Стабильность (Maturity) Атрибуты программного обеспечения, относящиеся к частоте отказов при ошибках в программном обеспечении. А. 2. 2. 2 Устойчивость к ошибке (Fault tolerance) Атрибуты программного обеспечения, относящиеся к его способности поддерживать определенный уровень качества функционирования в случаях программных ошибок или нарушения определенного интерфейса. . А. 2. 2. 3 Восстанавливаемость (Recoverability) Атрибуты программного обеспечения, относящиеся к его возможности восстанавливать уровень качества функционирования и восстанавливать данные, непосредственно поврежденные в случае отказа, а также к времени и усилиям, необходимым для этого.
А. 2. 3 Практичность (Usability) А. 2. 3. 1 Понятность (Understandability) Атрибуты программного обеспечения, относящиеся к усилиям пользователя по пониманию общей логической концепции и ее применимости. А. 2. 3. 2 Обучаемость (Learnability) Атрибуты программного обеспечения, относящиеся к усилиям пользователя по обучению его применению (например оперативному управлению, вводу, выводу). А. 2. 3. 3 Простота использования (Operability) Атрибуты программного обеспечения, относящиеся к усилиям пользователя но эксплуатации и оперативному управлению.
А. 2. 4 Эффективность (Efficiency) А. 2. 4. 1 Характер изменения во времени (Time behavior) Атрибуты программного обеспечения, относящиеся к временам отклика и обработки и к скоростям выполнения его функций. А. 2. 4. 2 Характер изменения ресурсов (Resource behavior) Атрибуты программного обеспечения, относящиеся к объему используемых ресурсов и продолжительности такого использования при выполнении функции.
А. 2. 5 Сопровождаемость (Maintainability) А. 2. 5. 1 Анализируемость (Analysability) Атрибуты программного обеспечения, относящиеся к усилиям, необходимым для диагностики недостатков или случаев отказов или определения составных частей для модернизации. А. 2. 5. 2 Изменяемость (Changeability) Атрибуты программного обеспечения, относящиеся к усилиям, необходимым для модификации, устранению отказа или для изменения условий эксплуатации. А. 2. 5. 3 Устойчивость (Stability) Атрибуты программного обеспечения, относящиеся к риску от непредвиденных эффектов модификации. А. 2. 5. 4 Тестируемость (Testability) Атрибуты программного обеспечения, относящиеся к усилиям, необходимым для проверки модифицированного программного обеспечения.
А. 2. 6 Мобильность (Portability) А. 2. 6. 1 Адаптируемость (Adaptability) Атрибуты программного обеспечения, относящиеся к удобству его адаптации к различным конкретным условиям эксплуатации, без применения других действий или способов, кроме тех, что предназначены для этого в рассматриваемом программное обеспечении. А. 2. 6. 2 Простота внедрения (Installability) Атрибуты программного обеспечения, относящиеся к усилиям, необходимым для внедрения программного обеспечения в конкретное окружение. А. 2. 6. 3 Соответствие (Conformance) Атрибуты программного обеспечения, которые заставляют программу подчиняться стандартам или соглашениям, относящимся к мобильности. А. 2. 6. 4 Взаимозаменяемость (Replaceabilily) Атрибуты программного обеспечения, относящиеся к простоте и трудоемкости его применения вместо другого конкретного программного средства в среде этого средства.
ГОСТ Р ИСО 12119 - 2000
содержание
ГОСТ 28195 -89
В СССР действовал и продолжает действовать в РФ ГОСТ 28195 -89. Этот стандарт устанавливает четырехуровневую модель оценки качества ПС. Характеристики верхних двух уровней (называемые фактор и критерий) устанавливаются в основном тексте документа.
Содержание Таблица
Характеристики двух нижних уровней (называемых метрика и оценочный элемент) устанавливаются в справочном приложении 2 к рассматриваемому стандарту. В том же приложении установлены методы проведения контроля за качеством ПО. Методы определения качества ПО различаются: по способу получения информации о ПО измерительный, регистрационный, органолептический, расчетный; по источникам получения информации традиционный, экспертный, социологический. Программно-аппаратные средства проведения контроля зависят от вида конкретного ПО и должны разрабатываться отдельно.
В качестве примера приведем некоторые метрики следующих критериев фактора Надежность: устойчивость функционирования: а) средства восстановления при ошибках на входе; б) средства восстановления при сбоях оборудования; в) реализация управления средствами восстановления; работоспособность: а) функционирование в заданных режимах; б) обеспечение обработки заданного объема информации.
таблица
В процессе оценки качества ПО на каждом уровне (кроме уровня оценочных элементов) проводятся вычисления показателей качества ПО, т. е. определение количественных значений абсолютных показателей (Pij, где j - порядковый номер показателя для i - го показателя вышестоящего уровня) и относительных показателей (Kij), являющихся функцией показателя Pij, и базового значения Pijбаз.
Критерий и метрика характеризуется двумя числовыми параметрами - количественным значением и весовыми коэффициентами (Vij). Сумма весовых коэффициентов показателей уровня (l) относящихся к i-му показателю вышестоящего уровня (l-1), есть величина постоянная. Сумма весовых коэффициентов (Vij) принимается равной 1.
Общая оценка качества ПО в целом формируется экспертами по набору полученных значений оценок факторов качества. Для оценки качества ПО различного назначения методом экспертного опроса составляется таблица базовых показателей качества ПО.
Таким образом, на сегодняшний день действуют два нормативных документа по оценке качества ПО - ГОСТ 28195 и ГОСТ Р ИСО/МЭК 9126. Первый содержит рекомендуемый (и возможно - неполный) перечень метрик, однако ориентирован на представление разработчика. Второй - более соответствует взглядам пользователя, но для его применения требуется разработка модели качества ПС, включающая метрики и методы оценивания и ранжирования с указанием применимости на стадиях ЖЦ продукта.
Качество исходного кода
С точки зрения компьютера, на самом деле нет концепции «хорошо написанный код» . Однако, с точки зрения человека, то как написана программа, может иметь серьёзное значение для последующего сопровождения. Многие из имеющихся стандартов оформления кода, определяющих специфичные для используемого языка соглашения и задающие ряд правил, улучшающих читаемость кода, имеют своей целью облегчить будущее сопровождение ПО, включающее отладку и обновление.
1. 4. Модели и метрики оценки качества ПО
Современная программная индустрия за полвека исканий накопила внушительную коллекцию моделей и метрик, оценивающих отдельные производственные и эксплуатационные свойства ПО. Однако погоня за их универсальностью, неучет области применения разрабатываемого ПО, игнорирование этапов жизненного цикла программного обеспечения и, наконец, необоснованное их использование в разноплановых процедурах принятия производственных решений, существенно подорвало к ним доверие разработчиков и пользователей ПО.
Тем не менее, анализ технологического опыта лидеров производства ПО показывает, насколько дорого обходится несовершенство ненаучного прогноза разрешимости и трудозатрат, сложности программ, негибкость контроля и управления их разработкой и многое другое, указывающее на отсутствие сквозной методической поддержки и приводящее в конечном итоге к его несоответствию требованиям пользователя, требуемому стандарту и к последующей болезненной и трудоемкой его переделке.
Эти обстоятельства, требуют тщательного отбора методик, моделей, методов оценки качества ПО, учета ограничений их пригодности для различных жизненных циклах и в пределах жизненного цикла, установления порядка их совместного использования, применения избыточного разномодельного исследования одних и тех же показателей для повышения достоверности текущих оценок, накопления и интеграции разнородной метрической информации для принятия своевременных производственных решений и заключительной сертификации продукции. Рассмотрим модели и метрики, хорошо зарекомендовавшие себя при оценке качества ПО, пригодные для прогнозирования и констатации различных показателей сложности и надежности программ.
Лекции Качество программного обеспечения.ppt