Метрики. Работа проверена рецензент
Скачать 1.3 Mb.
|
Федеральное агентство по образованию Российской Федерации ГОУ ВПО «Челябинский государственный педагогический университет» КАФЕДРА ИНФОРМАТИКИ И МЕТОДИКИ ПРЕПОДАВАНИЯ ИНФОРМАТИКИ
КРИТЕРИИ КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Квалификационная работа
Челябинск 2009 СОДЕРЖАНИЕ Введение 3 ГЛАВА 1. Качество программного обеспечения 6 1.1 Понятие качества 6 1.2 Стандарт ГОСТ Р ИСО МЭК 9126 8 1.2.1 Модель характеристик качества 9 1.2.2 Характеристики и атрибуты качества 13 Характеристики качества программного обеспечения – набор свойств (атрибутов) программного продукции, по которым ее качество описывается и оценивается. Характеристики качества программного обеспечения могут быть уточнены на множестве уровней комплексных показателей (подхарактеристик). 13 1.3 Метрики 20 1.3.1 Основные направления применения метрик 24 1.3.2 Метрические шкалы 25 1.3.3 Метрики сложности программ 25 1.3.4 Объектно-ориентированные метрики 36 1.3.5 Метрики Холстеда 37 1.3.6 Метрики цикломатической сложности по Мак-Кейбу 45 1.3.7 Метрики Чепина 51 1.3.8 Размерно-ориентированные метрики (показатели оценки объема) 53 1.4 Альтернативные подходы к измерению качества 57 1.5 Оценка результата 63 1.5.1 Линейный подход 63 1.5.2 Оценка с использованием эмпирических данных 64 1.6 Методы контроля качества 68 1.7 Автоматизированные программные продукты по оценке качества ПО. 70 1.7.1 Вычисление метрики SLOC 70 1.7.2 Вычисление метрик сложности 72 1.7.3 Оценки экономических параметров 73 Вывод по главе 1 79 ГЛАВА 2. Изучение темы критерии качества программного обеспечения 81 2.1 Анализ стандарта по профильному курсу информатики 81 2.2 Описание элективного курса «Критерии качества ПО» 84 2.4 Организация и проведение педагогического эксперимента 92 Вывод по главе 2 94 Заключение 95 Приложение 96 Библиографический список 108 Введение Когда вы можете измерить, то о чем вы говорите, и выразить это в числах, вы знаете кое-что об этом; но если вы не можете измерить это и выразить в числах, ваше знание скудно и неудовлетворительно. Лорд Кельвин Требования к качеству программных средств всё время повышаются. Процессы разработки, приобретения и внедрения сложных систем, к которым относятся в частности программные комплексы, должны находится под жестким управленческим контролем. В настоящее время практически во всех организациях обеспечивается контроль важнейших характеристик, связанных с производством и использованием программных продуктов, таких как время, финансовые средства, ресурсы и т.п. Однако в большинстве случаев вне пределов сферы контроля оказывается наиболее важная характеристика программных продуктов, ради которой, собственно и осуществляются затраты времени, финансовых средств и ресурсов - это качество продукта, поскольку «невозможно контролировать то, что нельзя измерить» (“You cannot control what you cannot measure”). Одним из подходов для оценки программных средств является оценка соответствующих атрибутов качества, определённых в серии международных стандартов ГОСТ Р ИСО МЭК 9126 «Информационная технология – Оценка программной продукции». Стандарты определяют базовую терминологию и общий подход к проблеме оценки качества программных средств (характеристики качества, метрики для их измерения, методологию оценки), что позволяет уменьшить неопределённость при совместной работе нескольких организаций (заказчики разработки, разработчики, независимые оценщики). Применение международных стандартов ИСО МЭК в свою очередь удобно тем, что используемые подходы могут быть использованы при работе с зарубежными партнёрами. Отсутствие возможности установки полного контроля вызывает рост количества необоснованных решений, увеличивает финансовые и проектные риски, связанные с разработкой и внедрением систем. Однако в настоящее время уже существуют организации, в которых накоплен достаточно большой опыт использования метрик в управлении качеством разрабатываемых и внедряемых программных продуктов. Использование апробированных подходов в управлении качеством разработки и внедрения крупных программных систем значительно повышает предсказуемость проектов, снижает финансовые и ресурсные издержки. Среди используемых метрик качества программного обеспечения есть универсальные метрики, которые применимы практически ко всем видам программного обеспечения. В то же время большая часть наиболее важных метрик в успешных проектах разрабатывается индивидуально на основе особенностей проекта и характеристик предметной области. Объект исследования – методы определения качества ПО. Предмет исследования – изучение технологий определения качества в школе. Задачи исследования: рассмотреть основополагающие принципы качества; рассмотреть методы качества; выявить особенности работы методов; разработать учебную программу для элективного курса по теме: «Критерии качества программного обеспечения» создать программную поддержку курса, а именно практически реализовать критерии качества в Delphi. Гипотеза исследования – изучение критериев качества программного обеспечения будет способствовать повышению общего уровня подготовки по информатике, стимулировать интерес к предмету. ГЛАВА 1. Качество программного обеспечения 1.1 Понятие качества Что такое качество и почему оно должно быть столь глубоко представлено? На протяжении многих лет отдельные авторы и целые организации определяли термин “качество” по-разному. Фил Кросби (Phil Crosby) в 1979 году дал определение качеству как “соответствие пользовательским требованиям” (предполагает, что требования должны быть настолько четко определены, что они не могут быть поняты и интерпретированы некорректно.). Уотс Хемпфри (Watts Hamphrey) описывает качество как “достижение отличного уровня пригодности к использованию” (принимает во внимание требования и ожидания конечных пользователей продукта, которые ожидают, что продукт или предоставляемый сервис будет удобным для их нужд). Компания IBM, в свою очередь, ввела в оборот фразу “качество, управляемое рыночными потребностями” (“market-driven quality”). Критерий Бэлдриджа (Baldrige) для организационного качества использует похожую фразу - “качество, задаваемое потребителем” (“customer-driven quality”), рассматривая удовлетворение потребителя в качестве главного соображения в отношении качества. Чаще, понятие качества используется в соответствии с определением системы менеджмента качества ИСО 9001 как “степень соответствия присущих характеристик требованиям”. Понятие “качество”, на самом деле, не столь очевидно и просто, как это может показаться на первый взгляд. Для любого инженерного продукта существует множество интерпретаций качества, в зависимости от конкретной “системы координат”. Множество этих точек зрения необходимо обсудить и определить на этапе выработки требований к программному продукту. Характеристики качества могут требоваться в той или иной степени, могут отсутствовать или могут задавать определенные требования, все это может быть результатом определенного компромисса, что вполне перекликается с пониманием “приемлемого качества”, как менее жесткой точки зрения на обеспечение качества, как достижение совершенства. Сейчас существует несколько определений качества, которые в целом совместимы друг с другом. Приведем наиболее распространенные: Определение ISO: Качество - это полнота свойств и характеристик продукта, процесса или услуги, которые обеспечивают способность удовлетворять заявленным или подразумеваемым потребностям. Определение IEEE: Качество программного обеспечения - это степень, в которой оно обладает требуемой комбинацией свойств. Качество ПО - это относительное понятие, которое имеет смысл только при учете реальных условий его применения, поэтому требования, предъявляемые к качеству, ставятся в соответствии с условиями и конкретной областью их применения. Оно характеризуется тремя аспектами: качество программного продукта, качество процессов ЖЦ и качество сопровождения или внедрения (рис 1). Рис. 1. Основные аспекты качества ПО Аспект, связанный с процессами ЖЦ, определяет степень формализации, достоверности самих процессов ЖЦ разработки ПО, а также верификацию и валидацию промежуточных результатов на этих процессах. Поиск и устранение ошибок в готовом ПО проводится методами тестирования, которые снижают количество ошибок и повышают качество этого продукта. Качество продукта достигается процедурами контроля промежуточных продуктов на процессах ЖЦ, проверкой их на достижение необходимого качества, а также методами сопровождения продукта. Эффект от внедрения ПС в значительной степени зависит от знаний обслуживающего персонала функций продукта и правил их выполнения. 1.2 Стандарт ГОСТ Р ИСО МЭК 9126 ИСО 9126 это международный стандарт, определяющий оценочные характеристики качества программного обеспечения (далее ПО). [16-19] Стандарт разделяется на 4 части, описывающие следующие вопросы: Часть 1: Модель качества; Часть 2: Внешние метрики качества; Часть 3: Внутренние метрики качества; Часть 4: Метрики качества в использовании. В первой части стандарта ISO 9126-1 приводится схема взаимосвязи частей стандарта ISO 9126 и частей стандарта ISO 14598, а также область применения, нормативные ссылки, термины и определения. Определяется модель характеристик качества ПС и ее связи с жизненным циклом. Модель детализируется в последующих частях стандарта. [16] Вторая и третья части стандарта ISO 9126:2,3 посвящены формализации соответственно внешних и внутренних метрик характеристик качества сложных ПС. Взаимосвязь метрик качества в этих частях стандарта отражена одинаковыми моделями, аналогичными модели первой части стандарта. Показано, что внутреннее и внешнее качества относятся непосредственно к самому программному продукту, а метрики качества в использовании проявляются в эффекте от его применения и зависят от внешней среды. Изложены содержание и общие рекомендации по использованию соответствующих метрик и взаимосвязей между типами метрик. [17, 18] Четвертая часть стандарта ISO 9126-4 предназначена для покупателей, поставщиков, разработчиков, сопровождающих, пользователей и менеджеров качества ПС. В ней повторена концепция трех типов метрик, а также аннотированы рекомендуемые виды измерений характеристик ПС: прямые, непрямые и индикаторы свойств (категорийные). Рассмотрена модель качества в использовании. Отмечаются необходимость идентификации назначения и специфики потребителей программного продукта, особенности выбора целей оценивания качества для различных сфер и этапов применения ПС. Обосновываются и комментируются выделенные показатели сферы (контекста) использования ПС и группы выбранных метрик для пользователей. В отличие от характеристик, описанных в предыдущих частях стандарта, в этой части для качества в использовании рекомендуется четыре: эффективность; продуктивность; удовлетворение требований и защищенность. [19] 1.2.1 Модель характеристик качества Модель качества, установленная в первой части стандарта ИСО 9162-1, предлагает использовать для описания внутреннего и внешнего качества ПО многоуровневую модель. На верхнем уровне выделено 6 основных характеристик качества ПО. Каждая характеристика описывается при помощи нескольких входящих в нее атрибутов. Атрибут - это сущность, которая может быть проверена или измерена в программном продукте. Для каждого атрибута определяется набор метрик, позволяющих его оценить. Множество характеристик и атрибутов качества согласно ИСО 9126 показано на рис 2. [5] Рис. 2. Характеристики и атрибуты качества ПО по ИСО 9126 Модель характеристик качества программного обеспечения состоит из нескольких видов атрибутов качества: внутренние атрибуты качества (требования к качеству кода и внутренней архитектуре); внешние атрибуты качества (требования к функциональным возможностям и т.д.); атрибуты «качества в использовании» (данные атрибуты качества относятся не только к программному средству, а ко всей информационной системе, они характеризуют эффект для пользователя от использования ПС в разных контекстах использования); [17] Для всех этих аспектов качества введены метрики, позволяющие оценить их. Кроме того, для создания добротного ПО существует качество технологических процессов его разработки. Взаимоотношения между этими аспектами качества по схеме, принятой ИСО 9126 (рис. 3). |