Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




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

Читайте также:
  1. I. ПНЕВМАТИЧЕСКИЕ ТОРМОЗНЫЕ ПРИВОДЫ АВТОТРАНСпортных СРЕДСТВ
  2. I. Посредством изменения субъектного состава.
  3. II. РАСПРЕДЕЛЕНИЕ ЛЕКАРСТВЕННЫХ СРЕДСТВ В ОРГАНИЗМЕ. БИОЛОГИЧЕСКИЕ БАРЬЕРЫ. ДЕПОНИРОВАНИЕ
  4. III. Организация охраны денежных средств и ценных грузов
  5. IV. Амортизация основных средств
  6. IV. Мнение автора по рациональному использованию бюджетных средств муниципального образования
  7. IV. Охрана наркотических средств и психотропных веществ при их транспортировке
  8. PR как средство деловой коммуникации
  9. Аварийно-спасательные средства.
  10. Активное слушание как средство эффективного общения

2.1 Основы жизненного цикла программных средств

 

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

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

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

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

Состав процессов жизненного цикла регламентируется международным стандартом «Information Technologe – Software Life Cycle Processes» –­­ «Информационные технологии – Процессы жизненного цикла программного обеспечения» ISO / IEC 12207 : 1995 (ISO – International Organization for Standartization : Международная организация по стандартизации, IEC – International Electrotechnical Commission : Международная комиссия по электротехнике).

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

- подготовительная работа (выбор модели жизненного цикла, стандартов, методов и средств разработки, а также составление плана работ);

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

- проектирование архитектуры системы (определение состава необходимого оборудования, программного обеспечения и операций, выполняе­мых обслуживающим персоналом);

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

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

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

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

- интеграция программного обеспечения (сборка программных компо­нентов в соответствии с планом интеграции и тестирование программного обеспечения на соответствие квалификационным требованиям);

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

- интеграция системы (сборка всех компонентов системы, включая программное обеспечение и оборудование);

- квалификационное тестирование системы (тестирование системы на соответствие требованиям к ней и проверка оформления и полноты докумен­тации);

- установка программного обеспечения (установка программного обес­печения на оборудовании заказчика и проверка его работоспособности);

- приемка программного обеспечения (оценка результатов квалификационного тестирования программного обеспечения и системы в целом и документирование результатов оценки совместно с заказчиком, окончательная передача программного обеспечения заказчику) [Иванова].

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

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

 
 

 

Рис. 2. Каскадная схема разработки программного продукта

 

Инкрементная модель (с промежуточным контролем) позволяет после завершения каждого этапа при необходимости вер­нуться на любой уровень и внести необходимые изменения (рис.3).

 

 

Рис.3. Инкрементная схема разработки программного продукта

 

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

 

 

Рис. 4. Спиральная схема разработки программного продукта

 

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

 

2.2. Назначение профилей стандартов жизненного цикла в программной инженерии

 

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

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

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

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

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

 

2.3. Жизненный цикл профилей стандартов программных средств

 

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

Целесообразно рассматривать две группы профилей систем:

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

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

На этапах жизненного цикла системы выбираются и затем применяются общесистемные функциональные профили:

- профиль жизненного цикла информационной системы;

- профиль аппаратной и операционной среды системы;

- профиль внешней и пользовательской среды функционирования ПС;

- профиль обеспечения безопасности функционирования и защиты информации в системе;

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

Применение функциональных профилей должны поддерживать основные, технологические профили:

- жизненного цикла программных средств и баз данных;

- обеспечения качества программных средств и информации баз данных;

- верификации, тестирования и сертификации программных систем и баз данных;

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

- документирования программных средств и информации баз данных.

Модель профиля стандартов жизненного цикла сложных программных средств обычно формируется из 10 –12 базовых стандартов. Их количество зависит от целей, сложности и особенностей проекта, от назначения и области применения модели, а также от возможностей формализации её компонентов [Липаев].

 

2.4. Оценка качества программных средств

 

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

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

Оценка качества программного обеспечения осуществляется на всех этапах жизненного цикла.(Стандарт ISO 9126 и ГОСТ 28195 – 89).

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

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

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

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

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

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

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

Выбор показателей качества для конкретного программного средства осуществляется с учетом его назначения и требований областей применения, и в зависимости от принадлежности программного средства к той или иной группе в соответствии с российским классификатором продукции (например, 5011 – операционные системы, 5012 – программные средства управления базами данных и т.д.). Выбранная номенклатура показателей качества фиксируется в техническом задании.

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

 

 

Контрольные вопросы

1. Что понимается под «жизненным циклом программного продукта»?

2. Какие действия включает процесс разработки программного продукта?

3. Охарактеризуйте фундаментальные модели жизненного цикла программных средств.

4. Для чего формируются и как используются профили стандартов?

5. Назовите основные группы показателей качества программного обеспечения. По какой шкале производится их оценка?

 


<== предыдущая страница | следующая страница ==>
МЕТОДОЛОГИЯ И ПРОГРАММНАЯ ИНЖЕНЕРИЯ | Задания. Разработать логическую модель системы (согласно варианта) путем реализации трех методологий моделирования

Дата добавления: 2014-09-26; просмотров: 763; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.006 сек.