Файл: Лекции по программной инженерии.pdf

ВУЗ: Не указан

Категория: Лекция

Дисциплина: Программная инженерия

Добавлен: 25.10.2018

Просмотров: 7000

Скачиваний: 27

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

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

Каждый  критерий  качества  может  использоваться,  если  определена  его 

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

оценки 

качества 

характеризуются 

следующими 

обобщенными 

показателями: 

 

проблемно-ориентированной  областью  применения,  техническим  и 

социальным назначением программного комплекса; 

 

конкретным  типом  решаемых  функциональных  задач  с  достаточно 

определенной областью применения соответствующими пользователями; 

 

объемом  и  сложностью  совокупности  программ  и  базы  данных, 

решающей единую целевую задачу данного типа; 

 

необходимыми  составом  и  требуемыми  значениями  характеристик 

качества  функционирования  программ  и  величиной  допустимого  риска 
(ущерба) из-за недостаточного их качества; 

 

степенью  связи  решаемых  задач  с  реальным  масштабом  времени  или 

допустимой длительностью ожидания результатов решения задачи; 

 

прогнозируемыми 

значениями 

длительности 

эксплуатации 

и 

перспективой создания, множества версий комплекса программ; 

 

предполагаемым  тиражом  производства  и  применения  комплекса 

программ; 

 

степенью необходимой документированности программ. 

Качество  в  использовании  -  это  основное  качество  системы, 

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


background image

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

Качество  изменяется  в  течение  жизненного  цикла  ПС,  то  есть  его 

требуемое  и  реальное  значение  в  начале  ЖЦ  почти  всегда  отличается  от 
фактически  достигнутого  при  завершении  проекта  и  качества  поставляемой 
пользователям  версии  продукта.  На  практике  важно  оценивать  качество 
программ не только в завершенном виде, но и в процессе их проектирования, 
разработки и сопровождения. Кроме того, оценки показателей качества могут 
быть  субъективными  и  отражать  различные  точки  зрения  и  потребности 
разных  специалистов.  Чтобы  эффективно  управлять  качеством  на  каждом 
этапе  ЖЦ,  необходимо  уметь  определять  и  примирять  эти  различные 
представления  требуемого  качества  и  его  изменения.  Характеристики  этого 
процесса  в  значительной  степени  определяются  совокупными  затратами, 
необходимыми  для  достижения  заданного  качества  конечного  продукта  - 
версии программного средства. 

Требуемые характеристики качества ПС с различных позиций отражают 

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

 

назначение,  содержание  и  описание  функциональных  характеристик, 

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

 

конструктивные 

характеристики 

качества, 

способствующие 

улучшению  и  совершенствованию  назначения,  функций  и  возможностей 
применения ПС; 

 

метрики,  меры  и  шкалы,  выбранных  и  пригодных  для  измерения  и 

оценивания  конкретных  характеристик  и  атрибутов  качества  ПС  с  учетом 
определенной достоверности; 

 

уровни  возможной  детализации  при  описании  и  оценивании 

определенных характеристик и атрибутов качества ПС; 

 

цели 

и 

особенности 

потребителей 

результатов 

оценивания 

характеристик качества ПС; 

 

внешние и внутренние, негативные факторы, влияющие на достигаемое 

качество создания и применения ПС; 

 

доступные  ресурсы,  ограничивающие  возможные  величины  реальных 

характеристик качества ПС; 

 

конкурентоспособность,  выраженная  отношением  эффективности 

применения к стоимости приобретения и эксплуатации ПС. 


background image

Влияние  перечисленных  факторов  на  качество  ПС  зависит,  прежде 

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

 

функциональные характеристики (функциональность)  - определяющие 

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

 

конструктивные  характеристики  качества,  номенклатура  которых 

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

Определение  и  сравнение  функционального  качества  программ 

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

Функциональная 

пригодность 

(см. 

стандарт 

ISO-9126) 

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

Вторая 

группа 

характеристик 

конструктивных

играет 

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


background image

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

РЕСУРСЫ ДЛЯ ЖИЗНЕННОГО ЦИКЛА СЛОЖНЫХ ПРОГРАММНЫХ 

СРЕДСТВ 

 

Доступные  ресурсы.  Сценарии,  используемые  при  экономическом 

анализе проектов ПС.  

 

Общее  понятие  -  доступные  ресурсы  жизненного  цикла  ПС  включает 

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

Наиболее общим видом ресурсов, используемых в жизненном цикле ПС, 

являются 

допустимые 

финансово-экономические 

затраты 

или 

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

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

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


background image

комплексов  программ  в  процессе  их  разработки  и  сопровождения.  Высокие 
требования  заказчиков  к  сжатым  срокам  реализации  проектов,  естественно, 
ограничивают разработчиков  и  испытателей  в  продолжительности и объеме 
возможного  системного  анализа  и  проектирования,  разработки  и,  особенно, 
тестирования  программ.  Увеличение  числа,  привлекаемых  для  этого 
специалистов,  при  опытной  эксплуатации  или  тестировании,  только  в 
некоторых  пределах  позволяет  ускорять  разработку  и  увеличивать 
совокупное число тестов при проверках, для повышения качества программ. 

Кадры  специалистов  можно  оценивать  численностью,  а  также 

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

сочетании. 

Определяющими 

являются 

совокупная 

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

Доступные разработчикам ПС вычислительные ресурсы объектных и 

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

Обобщенными  ресурсами  проекта  ПС  являются  доступные 

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