Меню

Сравнение качества программного обеспечения



Сравнение качества программного обеспечения

На современных компьютерах установлено множество разнообразного программного обеспечения (ПО). И хочется, чтобы оно было качественное, работоспособное, работало без сбоев и т.д. [1, 2, 5] Рассмотрим определение «качества ПО» (Software Quality) в контексте международных стандартов:

1) качество программного обеспечения – это степень, в которой программное обеспечение обладает требуемой комбинацией свойств. [1061-1998 IEEE Standard for Software Quality Metrics Methodology];

2) качество программного средства – совокупность свойств программного средства (ПС), которые обусловливают его пригодность удовлетворять заданные или подразумеваемые потребности в соответствии с его назначением [ГОСТ 28806–90 «Качество программных средств. Термины и определения»].

Целью данной работы является разработка методики применения требований стандарта ISO 9126 к оценке качества одного из видов программных средств – систем создания тестов.

Стандарт ISO 9126

На данный момент наиболее распространена и используется многоуровневая модель качества программного обеспечения, представленная в наборе стандартов ISO 9126. Основой регламентирования показателей качества систем является международный стандарт ISO 9126 «Информационная технология. Оценка программного продукта. Характеристики качества и руководство по их применению». В этом стандарте описано многоуровневое распределение характеристик ПО. На верхнем уровне выделено 6 основных характеристик качества ПО, каждую из которых определяют набором атрибутов, имеющих соответствующие метрики для последующей оценки (рисунок) [1, 2].

Согласно этой модели, функциональность программного средства (functionality) – совокупность свойств ПС, определяемая наличием и конкретными особенностями набора функций, способных удовлетворять заданные или подразумеваемые потребности качества наряду с ее надежностью как технической системы. Надежность (Reliability) – способность ПО выполнять требуемые задачи в обозначенных условиях на протяжении заданного промежутка времени или указанное количество операций. Удобство использования программного средства (usability) – совокупность свойств ПС, характеризующая усилия, необходимые для его использования, и оценку результатов его использования заданным кругом пользователей ПС. Эффективность (Efficiency) – способность ПО обеспечивать требуемый уровень производительности в соответствии с выделенными ресурсами, временем и другими обозначенными условиями. Удобство сопровождения (Maintainability) – легкость, с которой ПО может анализироваться, тестироваться, изменяться для исправления дефектов, для реализации новых требований, для облегчения дальнейшего обслуживания и адаптироваться к именующемуся окружению. Портативность (Portability) – совокупность свойств ПС, характеризующая приспособленность для переноса из одной среды функционирования в другие.

Модель качества программного обеспечения (ISO 9126)

Программное обеспечение для создания систем тестирования

При современном уровне развития компьютерной техники и систем обмена информацией все чаще при обучении применяется тестирование, которое применяется в качестве инструмента вузовского мониторинга и прогнозирования. Мониторинг как контролирующая и диагностическая система обеспечивает преподавателя объективной и оперативной информацией об уровне усвоения студентами обязательного учебного материала, а администрацию об эффективности управления. Система компьютерного тестирования – это универсальный инструмент для определения обученности студентов на всех уровнях образовательного процесса.

Создание тестов на высоком методологическом уровне требует от преподавателя разработки четкой понятийно-терминологической структуры курса, т.е. таблицы проверяемых в тестах понятий и тезисов, структурированных по темам и разделам программы учебной дисциплины.

Система компьютерного тестирования является неотъемлемой составляющей для перспективного развития дистанционных форм обучения.

В настоящее время все чаще стали появляться готовые средства для разработки обучающих программ [3, 4, 5, 6]. Причем эти разработки не только зарубежных (для примера – Adobe Acrobat, Macromedia Authorware, ToolBook II, Quest и другие), но и отечественные (например, HyperMethod, «Доцент», «Прометей», сетевая оболочка «ОРОКС», КАДИС). Приведем краткую характеристику некоторых из них.

Одина из систем для проведения тестирования «Конструктор тестов» – универсальная система проверки знаний (сайт системы – http://www.keepsoft.ru/simulator.htm). Программа поддерживает пять типов вопросов: закрытые (на выбор одного или нескольких ответов), открытый (ввод ответа), на соответствие и на упорядочивание. Это позволяет проводить любые тесты. В тестах имеется возможность использовать музыку, звуки, изображения и видеоролики. Любые данные можно распечатать на принтере. На одном компьютере тестирование независимо могут проходить несколько человек, входя в программу под своими именами.

Следующий пакет – система тестирования INDIGO (сайт – http://indigotech.ru/). В этой системе также можно создавать тестовые задания 5 типов. Но кроме этого особенностью конструктора тестов INDIGO является поддержка многоуровневой иерархической группировки вопросов тестов по заданиям, темам и т.д. Ведь если вопросы теста отображаются в одном линейном списке, то возникают сложности с навигацией и пониманием того, какой вопрос к чему относится. В этой системе имеется возможность задания для каждой группы индивидуальных настроек (в особенности, порядка выдачи вложенных элементов или их случайной выборки).

Следующий рассматриваемый пакет – VeralTest – комплекс программ для создания тестовых задний и для организации многопользовательского компьютерного тестирования (сайт – http://veralsoft.com/veraltest.shtml). В этой системе могут быть созданы следующие типы тестовых задний – закрытый (выбор одного ответа и выбор нескольких ответов), ввод текстового ответа, ввод числового ответа, вопросы на соответствие.

Пакет программ VeralTest представлен в двух редакциях:

– VeralTest Express. Позволяет создавать автономные самозапускамые тесты (exe тесты), которые могут быть запущены на любом компьютере без предварительной установки и настройки. Состав пакета VeraTest Express: редактор тестов TestEditor и программа для просмотра результатов тестирования ResultViewer.

– VeralTest Professional. Поддерживает все функции express редакции. Кроме этого, в состав пакета входит сервер тестирования (программа TestServer), позволяющий организовать тестирование в компьютерном классе или локальной сети предприятия. При этом доступ к тестам осуществляется через веб-браузер (например, Internet Explorer, Google Chrome, Mozila Firefox). Еще эта редакция включает в себя программу администрирования TestAdmin, при помощи которой можно регистрировать пользователей, объединять их в группы, назначать тесты для выполнения пользователями, просматривать и распечатывать результаты тестирования.

Читайте также:  Сравнение лансер с сид

Кроме указанных программных комплексов, существует множество других систем [3, 4, 5]. С некоторыми из них можно познакомиться на сайте – http://edu.of.ru/volsch31/default.asp?ob_no = 2300.

В таблице приведен перечень характеристик некоторых средств создания систем тестирования и проведено их сравнение.

Применительно к данному виду программных средств очень тяжело рассматривать эффективность, т.к. велико влияние человека (преподавателя, создающего тесты, и студента, отвечающего на тест). Если же эффективность рассматривать с точки зрения быстроты проверки тестов, то этот показатель в большей степени зависит от скорости передачи информации по компьютерной сети, от числа тестовых заданий.

Как видно из приведенного выше описания и сравнения возможностей, рассмотренные программные продукты можно применять для тестирования по разным дисциплинам, причем как по гуманитарным, так и по техническим (за счет возможности работы с текстом, графикой, музыкой, мультимедиа).

Если за наличие каждого признака ставить 1 балл, то получается что из рассматриваемых систем MOODLE получила 22 балла, UniTest System – 15, «Конструктор тестов» – 11, INDIGO – 14, VeralTest – 12 (версия Express) и 16 (версия Professional).

При учете наличия системы настроек порядка подачи тестовых задний, систему взаимодействия по компьютерной сети и другие факторы, то наиболее расширенными возможностями обладают системы MOODLE, INDIGO и VeralTest. Именно эти системы наиболее часто используют на практике при тестировании студентов.

Оценка показателей качества программных средств может осуществляться различными методами и способами [3, 4, 5, 6]. Представленная в статье методика оценки качества, основанная на принципах стандарта ISO 9126, позволяет:

– оценить качество программных комплексов, используя различные системы показателей качества;

– закладывать качество программ при разработке технического задания и контролировать его на всех этапах жизненного цикла, т.е. оценивать минимальный уровень качества при неполной информации о программных системах, который достигнут при уже полученных значениях показателей качества;

Сравнительные характеристики некоторых средств для создания обучающих курсов

Источник

СРАВНЕНИЕ МОДЕЛЕЙ КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ: АНАЛИТИЧЕСКИЙ ПОДХОД

1 4585 УДК СРАВНЕНИЕ МОДЕЛЕЙ КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ: АНАЛИТИЧЕСКИЙ ПОДХОД Е.Ф. Жарко Институт проблем управления им. В.А. Трапезникова РАН Россия, , Москва, Профсоюзная ул., 65 Ключевые слова: качество, модели, анализ, системы Аннотация: Качество программного обеспечения имеет многомерный контент, который можно легко выделить и измерить. Настоящая работа в первую очередь направлена на обзор и сравнение существующих моделей качества программного обеспечения. 1. Введение Инженерия разработки программного обеспечения (ПО) это применение систематического подхода, стандартов и количественного измерения характеристик ПО к разработке, использованию и сопровождению программного обеспечения. В связи с развитием технологий важность программной инженерии постоянно растет, а соответственно все более востребованным являются методы определения качества программного обеспечения. Сложность процесса разработки и сопровождения программного обеспечения во многом обуславливается особыми требованиями, предъявляемыми к его качеству. Этот фактор обосновывает важность разработки формализованных методов управления качеством ПО. В настоящий момент используются несколько определений понятия качества ПО, которые в целом совместимы друг с другом. Обобщая определения стандартов, можно заключить, что качество программного обеспечения это способность программного продукта (ПП) к удовлетворению установленных или предполагаемых потребностей при использовании в заданных условиях. Качество программного обеспечения играет важную роль для всей системы в целом. Так, качество ПО рассматривается как очень важный аспект для разработчиков, пользователей и руководителей проектов. Качество программного обеспечения величина отражающая в каком объеме в программный продукт включен набор желаемых функций для повышения эффективности ПП в течение жизненного цикла [1]. Для любой системы, использующей программное обеспечение, должны быть разработаны три вида спецификаций, такие как функциональные требования, требования к качеству, требования к ресурсам. Качество включает в себя все характеристики и существенные особенности продукта или его функционирования, которые относятся к удовлетворению заданных спецификациями требований. Качество является обобщением характеристик или особенностей продукта или работ, которые имеют отношение к способности разработанного продукта удовлетворять заданным требованиям. Качество программного обеспечения можно разделить на две составляющие, такие как качество процедур разработки ПО и качество программного

2 4586 продукта. Разработка программного обеспечения, связывающая такие элементы как технологии, средства, сотрудники, организация и оборудование, рассматриваются в контексте качества процедур разработки ПО. Тем не менее, качество программного продукта состоит из определенных аспектов, таких как ясность документации и целостность, прослеживаемость проекта, надежность ПО и полнота тестирования основных характеристик программного продукта. Модель качества обычно определяется набором характеристик и отношений между ними, которые фактически обеспечивают основу как для определения требования качества, так и оценки качества программного обеспечения [2]. Модель качества также можно определить структурированный набор свойств, которые необходимы для удовлетворения определенных целей [3]. Преимущество модели качества заключается в декомпозиции значимого для программного обеспечения объектов, таких как процессы жизненного цикла, программный продукт, на ряд своих характеристик/подхарактеристик. Качество, кроме описания и измерения функциональных аспектов программного обеспечения также описывает дополнительные функциональные свойства такие как «как был создан программный продукт» и «как он работает». 2. Модели качества ПО Пользователи программного обеспечения испытывают потребности в создании моделей качества программного обеспечения для оценки качества как качественно, так и количественно. Модели качества, которые имеются в настоящее время, в большинстве случаев являются иерархическими моделями на основе критериев качества и связанных с ними показателей (метрик). Все модели качества могут быть разделены на три категории в соответствии с методами, на основе которых они были созданы. К первому виду можно отнести теоретические модели, основанные на гипотезе отношений между переменными качества. Ко второму виду относятся модели «управления данными», основанные на статистическом анализе. И наконец, комбинированная модель, в которой интуиция исследователя используется для определения нужного вида модели, а анализ данных используется для определения констант модели качества Модель МакКола Первая модель качества была предложена МакКолом [4-6]. Предложенная модель была в основном предназначена для определения полной характеристики качества программного продукта через его различные характеристики. Модель качества МакКола (см. рис. 1) имеет три главных направления для определения и идентификации качества программного обеспечения: использование (корректность, надежность, эффективность, целостность, практичность); модификация (тестируемость, гибкость, сопровождаемость факторы качества важные для разработки новой версии программного обеспечения); переносимость (мобильность, возможность многократного использования, функциональная совместимость факторы качества важные для переносимости программного продукта на другие аппаратные и программные платформы) Модель Боэма Второй из основополагающих моделей качества является модель качества Боэма [7]. Модель Боэма имеет недостатки современных моделей, которые автоматически и

Читайте также:  Сравнение частей общего значения

3 4587 качественно оценивают качество программного обеспечения. В сущности, модель Боэма пытается качественно определить качество программного обеспечения заданным набором показателей и метрик. Модель качества Боэма представляет характеристики программного обеспечения в более крупном масштабе, чем модель МакКола. Модель Боэма похожа на модель качества МакКола тем, что она также является иерархической моделью качества, структурированную вокруг высокоуровневых, промежуточных и примитивных характеристик, каждая из которых вносит свой вклад в уровень качества программного обеспечения. Факторы качества Корректность Критерии качества Прослеживаемость Функциональная полнота Последовательность проектирования Надежность Правильность Устойчивость к ошибкам Качество программного обеспечения Эффективность Целостность Практичность Тестируемость Гибкость Сопровождаемость Возможность многократного использования Эффективность выполнения Управление доступом Контроль за доступом Удобство работы Удобство обучения Способность к взаимодействию Простота работы Краткость Полнота протоколирования Информативность Расширяемость Широта использования Модульность Функциональная совместимость Мобильность Независимость от программной платформы Независимость от аппаратной платформы Унификация интерфейсов Унификация данных Рис. 1. Модель качества программного обеспечения МакКола.

4 4588 В этой модели практичность описывает, как легко, надежно и эффективно программный продукт может быть использован, сопровождаемость характеризует насколько легко изменить и повторно протестировать программный продукт, и мобильность описывает, как программный продукт может использоваться, даже при изменении программных и аппаратных средств. Факторы качества Мобильность Критерии качества Аппаратная независимость Автономность Правильность Качество программного продукта Практичность Сопровождаемость Надежность Эффективность Эргономичность проектирования Тестируемость Функциональная полнота Ошибкоустойчивость / Целостность Последовательность проектирования Отслеживаемость Эффективность устройства Доступность Коммуникативность Информативность Структурированность Понятность Краткость Удобочитаемость Модифицируемость Дополняемость Рис. 2. Модель качества программного продукта Боэма Модель FURPS/FURPS+ Акроним FURPS, используемый в обозначении модели, обозначает следующие категории требований к качеству ПО: Functionality (Функциональность) /особенности, возможности, безопасность/; Usability (Практичность) /человеческий фактор, эргономичность, пользовательская документация/; Reliability (Надежность) /частота отказов, восстановление информации, прогнозируемость/; Performance (Производительность) /время отклика, пропускная способность, точность, доступность, использование ресурсов/; Supportability (Эксплуатационная пригодность) /тестируемость, расширяемость, адаптируемость, сопровождаемость, совместимость, конфигурируемость, обслуживаемость, требования к установке, локализуемость/. Символ «+» расширяет FURPS модель, добавляя к ней:

5 4589 ограничения проекта (ограничения по ресурсам, требования к языкам и средствам разработки, требования к аппаратному обеспечению); интерфейс (ограничения накладываемые на взаимодействие с внешними системами); требования к выполнению, физические требования, требования к лицензированию. FURPS модель качества [8], предложенная Грейди и Hewlett Packard, построена схожим образом с моделями МакКола и Боэма, но в отличие от них состоит из двух слоев, первый определяет характеристики, а второй связанные с ними атрибуты. Основной концепцией, лежащей в основе FURPS модели качества, является декомпозиция характеристик программного обеспечения на две категории требований, а именно, функциональные (F) и нефункциональные (URPS) требования. Эти выделенные категории могут быть использованы как в качестве требований к программному продукту, так и в оценке качества ПП. В настоящее время модель FURPS+ широко используется в разработке программного обеспечения и при идентификации требований к разрабатываемой системе целесообразно использование FURPS+ модели в качестве универсального контрольного перечня характеристик ПО Модель Гецци Карло Гецци и соавторы [9] различают качество продукта и процесса. Согласно модели Гецци к качеству программного обеспечения относят следующие характеристики программного обеспечения: целостность, надежность и устойчивость, производительность, практичность, верифицируемость, сопровождаемость, возможность многократного использования, мобильность, понятность, возможность взаимодействия, эффективность, своевременность реагирования, видимость процесса разработки Модель качества Дроми Модель качества Дроми [10] основана на критериях оценки. Модель Дроми стремится оценить качество системы, в то время как каждый программный продукт, имеет качество отличное от других. Модель Дроми помогает в предсказании дефектов ПО и указывает на те свойства ПО, пренебрежение которыми может привести к появлению дефектов. Эта модель основывается на отношениях между характеристиками качества и подхарактеристиками, между свойствами программного обеспечения и характеристиками качества ПО Модель качества SATC В Центре обеспечения качества программного обеспечения NASA (Software Assurance Technology Center, SATC) была разработана программа метрик [11], обеспечивающая оценку рисков проекта, качества продукции и эффективности процессов. Программа SATC рекомендует отдельно отслеживать качество требований, качество программного обеспечения и других продуктов (документации), качество тестирования и качество выполнения процессов. Модель качества SATC определяет набор целей, связанных с программным продуктом и атрибуты процессов в соответствии со структурой модели качества программного обеспечения ISO

Читайте также:  Сравнение флота турция черноморского флота россии

6 Модель качества ISO 9126 Качество программного обеспечения определяется в стандарте ISO [2] как всякая совокупность его характеристик, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц. Модель качества ISO различает понятия внутреннего качества, связанного с характеристиками ПО самого по себе, без учета его поведения; внешнего качества, характеризующего ПО с точки зрения его поведения; и качества ПО при использовании в различных контекстах того качества, которое ощущается пользователями при конкретных сценариях работы ПО. Для всех этих аспектов качества введены метрики, позволяющие оценить их. Кроме того, для создания надежного ПО существенно качество технологических процессов его разработки. Взаимоотношения между этими аспектами качества по схеме, принятой ISO/IEC 9126 (ISO/IEC :2001 [2]; ISO/IEC TR :2003 [12], ISO/IEC TR :2003 [13], ISO/IEC TR :2004 [14]), показано на Рис 3. Различные контексты использования Качество процесса Внутреннее качество Внешнее качество Качество при использовании Метрики качества процесса ISO/IEC Метрики внутреннего качества ISO/IEC Метрики внешнего качества ISO/IEC Рис. 3. Основные аспекты качества программного обеспечения. Метрики качества при использовании ISO/IEC Мобильность Адаптируемость Простота внедрения Способность к сосуществованию Удобство установки Сопровождаемость Удобство внесения изменений Соответствие стандартам Анализируемость Тестируемость Устойчивость Функциональность Способность к взаимодействию Функциональная пригодность Соответствие стандартам Согласованность Защищенность Качество ПО Эффективность Соответствие стандартам Временная эффективность Эффективность использования ресурсов Надежность Стабильность Восстанавливаемость Соответствие стандартам Устойчивость к отказам Практичность удобство использования Соответствие стандартам Удобство обучения Привлекательность Удобство работы Понятность Рис. 4. Факторы и атрибуты внешнего и внутреннего качества программного обеспечения.

7 4591 На рис. 4 представлены факторы и атрибуты внешнего и внутреннего качества программного обеспечения в соответствии с ISO/IEC На рис. 5 приведена модель оценивания согласно ISO/IEC Установленные или предлагаемые потребности Административные требования Спецификация требований качества Определение требований качества ИСО 9126 и другая техническая информация Определение требований Выбор метрик Определение уровня ранжирования Определение критериев оценки Подготовка Разработка программного обеспечения Продукция или промежуточная продукция Измерения Измеренные значения Ранжирование Установленный уровень Оценка Оценивание Результат (приемлемый или неприемлемый) Рис. 5. Факторы и атрибуты внешнего и внутреннего качества программного обеспечения Модель качества QMOOD Джагдиш Банзия и Карл Дэвис [15] предложили иерархическую модель качества для объектно-ориентированного проектирования (QMOOD), которая расширяет методологию модели качества Дроми и включает в себя четыре уровня: 1) Определение показателей качества проекта: набор атрибутов качества проекта, которые используются в QMOOD для описания характеристик объектноориентированных систем включат: функциональность, эффективность, понятность, расширяемость, возможность многократного использования и гибкость. 2) Определение объектно-ориентированных свойств проекта: свойства проекта могут быть определены в процессе исследования внутренней и внешней структуры, функциональности компонент проекта, атрибутов, методов и классов. Структурным и объектно-ориентированным множеством свойств проекта, которые используются в QMOOD, являются: размер проекта, иерархическая структура, инкапсуляция, связанность, состав проекта, наследование, полиморфизм, обмен информацией, сложность. 3) Определение объектно-ориентированных метрик проекта: различные объектноориентированные метрики проекта. 4) Определение объектно-ориентированных свойств проекта: Компоненты проекта были определены для определения архитектуры объектно-ориентированного проекта. Эта модель определяет парадигму, а также вводит ряд новых объектноориентированных метрик.

8 Другие модели качества Модель качества, описанная в [16], представила два различных подхода к показателям качества на протяжении всего жизненного цикла программного обеспечения. Характеристики качества могут быть сведены к двум группам: 1) эффективность, безопасность, доступность и функциональность; 2) модифицируемость, мобильность, возможность многократного использования, наследуемость и тестируемость. Согласно модели качества Хосрави К. и др. [18] процесс оценки качества состоит из двух задач: 1) выбор глобальной характеристики; 2) выбор подхарактеристик, связанных с глобальной характеристикой. Эта модель качества основана на многократном использовании программного обеспечения в качестве глобальной характеристики и акценте на возможности многократного использования, понятности, гибкости, модульности, надежности, масштабируемости и удобстве использования. Модель качества Хосрави и др. связала показатели качества и подхарактеристики, используя определения IEEE, ISO/IEC и некоторых других моделей качества. Для оценки качества программного обеспечения на основе теории нечетких множеств и метода анализа иерархий, Чанг и др. [18] были определены руководящие принципы и это подход ими был применен к модели качества ISO Оценки качества программного обеспечения основаны на характеристиках и подхарактеристиках модели ISO Шармой А. и др. [19] была предложена компонентно-ориентированная модель качества разработки программного обеспечения, которая включает все характеристики и подхарактеристики модели качества ISO , а также предлагает новые подхарактеристики, такие как пригодность к повторному использованию, гибкость, сложность, прослеживаемость, масштабируемость. Метод анализа иерархий в этой модели используется для оценки качества проекта. 3. Многоуровневый подход к моделям качества В основе моделей качества лежит многоуровневый подход (количество слоев может быть 2 /модели МакКола и Боэма/ или 3 слоя /включая метрики/). Сравнительный анализ характеристик различных моделей качества программного обеспечения приведен в таблице 1. Таблица 1. Сравнительный анализ моделей качества программного обеспечения. Характеристики качества МакКол [4-6] Боэм [7] FURPS/ FURPS+ [8] Гецци [9] Дроми [10] ISO 9126 [2] Казман [16] Хосрави [18] Шармоа [19] Корректность + Надежность Корректность + Эффективность Гибкость Функциональность Эргономичность проетирования +

Источник