Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

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



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

ПС характеризуются также конструктивными показателями качества, номенклатура которых почти не зависит от назначения и области использования программ. Эти показатели характеризуют любые программы и позволяют сопоставлять по показателям качества программы разного назначения. Оцениваемые характеристики ПС группируются по трем этапам жизненного цикла программ: проектирование, эксплуатация, сопровождение. Всего различают четыре этапа жизненного цикла программ (рис.12): системный анализ, в ходе которого определяется назначение и основные функциональные характеристики, оцениваются затраты и возможная эффективность применения; проектирование программ включает разработку структуры ПС, программирование отладку модулей, испытание и внедрение для постоянной эксплуатации программ; эксплуатация программ; сопровождение программ состоит в развитии функциональных возможностей, повышение эксплуатационных характеристик системы, тиражирование программного комплекса. Показатели качества ПС и методы их определения, группируются по последним трем этапам (рис.13). Это не единственная модель показателей качества ПС, в работах [8,1] предложены другие системы показателей, но приводимая на рис.13 модель обладает упорядоченностью и позволяет ранжировать показатели.

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


                   
   
Появление потребности и постановка задачи
     
Программный продукт
 
Прекращение эксплуатации
     
Техническое задание
 
 
 
 


Рис.12. Схема жизненного цикла программных систем


 
 


Рис.13. Схема показателей качества программных систем


задач использования и целей анализа, от характера внешних условий и т.д. доминирующим становится один или несколько показателей.

Для измерения и численной оценки показателей качества применяют метрики. В зависимости от особенностей показателя качества, применяются различные виды метрик.

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

Все конструктивные показатели качества ПС делятся на основные и вспомогательные (влияющие на значение основных) показатели. Основные показатели показаны на рис.13, а вспомогательные в табл.2.

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

4.3. Показатели качества этапа проектирования программных систем

Сложность проектирования конкретизуется и становится измеримым при установлении связи этого понятия с конкретными ресурсами, необходимыми для решения задачи. В табл.3, приведены различные показатели сложности программ, из которых этап проектирования характеризуют п.1-3. Эти показатели выбраны по тому, что они являются имитирующими ресурсами для проектирования любого изделия, в том числе и ПС.

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

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


Таблица 2. Вспомогательные показатели качества.

Этапы жизненного цикла
Проектирование Эксплуатация Сопровождение
1. Структурная упорядоченность программ и данных 1. Корректность постановки задач 1. Структурная упорядоченность ПС и данных
2. Степень стандартизации структуры модулей и переменных 2. Полнота и точность спецификаций 2. Степень стандартизации структуры модулей и переменных
3. Документированность ПС 3. Уровень языков программирования 3. Документированность для модификаций
4. Методическая обеспеченность технологии проектирования 4. Полнота тестирования программ 4. Уровень языков программирования
5. Степень комплексной автоматизации технологии проектирования 5. Степень помехозащищенности программ 5. Степень комплексной автоматизации технологии проектирования
6. Уровень языков спецификаций, программирования и отладки 6. Документированность для эксплуатации 6. Обеспеченность контроля изменений версий и распространения копий
7. Квалификация специалистов и методы организации работ    

Структурная сложность модулей определятся числом взаимодействующих компонент, числом связей между компонентами и сложностью их взаимодействия. Разнообразие поведения модуля и связей входных и результирующих данных в значительной степени определяются набором маршрутов, по которым исполняется модуль, т.е. сложность программного модуля связана не с размером программы по числу команд, а с числом отдельных маршрутов его исполнения. Маршруты возможной обработки данных должны быть достаточно полно проверены при создании программы и тем самым определяют сложность её разработки. Проверка в логических системах должна осуществляться по всем маршрутам по конечным и промежуточным решениям. Для этого строится граф программы, по которому формируется полное множество маршрутов. Пример определения полного множества маршрутов показан на рис.15.

Замечание: вследствие быстрого роста структурной сложности при увеличении числа условных вершин целесообразно ограничивать размер программных модулей.

Статическая сложность модулей основывается на определении внешних измеряемых характеристик программных модулей. Первая характеристика – это интеллектуальная сложность создаваемого программного модуля.

(1)

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

Выражение (1) может быть представлено в виде

,

где l - показатель уровня языка используемой системы программирования (см. табл.4).

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

,

где S – интенсивность анализа и принятия решений программистом, измеряемая числом символов, которые различает программист в секунду (S≈18).

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


Таблица 3. Значения показателей сложности программных систем

  Показатель сложности Уровень сложности
простой средней сложности сложный сверх-сложный
1. Трудоемкость создания, чел. - годы 0,1 1-10   103-104
2. Длительность разработки, годы 0,1-0,5 1-2 2-5 3-10
3. Количество разрабатывающих специалистов, чел 1-2 3-10 10-100 100-1000
4. Длинна программы, операторов 103 104 105 106-107
5. Количество модулей, шт. 1-3 10-102 103 104-105
6. Количество обрабатываемых переменных, типов   102-103 104-105 106-108
7. Длительность решения варианта задачи, ч. 10-2-10-1     102-103
  Допустимое время отклика, с. 106-104 103-102 10-0,1 10-2-10-4

Таблица 4. Значения показателя уровня языка l

Язык программирования Уровень языка l
PL-1 1,53
Алгол 1,21
Фортран 1,14
Ассемблер 0,88


Рис.14. Виды сложности проектирования.

                               
               


Рис.15. Пример графа программы (а) и полного множества маршрутов в этом графе (б)


связей компонент программы внутри модуля. Благодаря этому существенно снижается сложность структуры ПС и взаимодействия модулей за счет некоторого повышения сложности внутренней структуры модулей. В результате возникает оптимизационная задача минимизация совокупной сложности ПС с учетом внутренней сложности модулей и сложности модульных связей.

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

где М – множество индексов модулей ПС; - переменная, учитывающая связь i-го модуля с j-ым; - переменная, учитывающая связь j-го модуля с i-ым; и могут принимать либо значения 1, если связь есть, либо 0, если связи нет.

Следует отметить, что при таком определении сложности каждая управляющая связь учитывается дважды: в вызывающем и в вызываемом модуле.

Полное количество информационных связей в ПС равно:

где G – множество индексов информационных единиц (переменные, которые передаются в модуль как формальные параметры, также являются информационными единицами); - переменная, учитывающая использование k-ой информационной единице в i-ом модуле; - переменная, учитывающая формирование k-ой инфор-мационной единице в i-ом модуле:


Управляющие и информационные связи, описываются матрицами связей.

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

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

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

• корректность текстов программ, синтаксическая и семантическая. Корректность текстов определяется степенью соответствия исходных программ формализованным правилам этих языков. Многие некорректности этих типов выявляются автоматически в процессе трансляции исходных текстов программ;

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

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

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

Метрики корректности программных модулей весьма разнообразны и довольно полно представлены в [8].

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





Дата публикования: 2014-11-29; Прочитано: 1196 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...