Какими документами регламентируется жизненный цикл программного продукта

Понятие ЖЦПП. Документы регламентирующие жизненный цикл программного продукта. Стандарты которыми регламентировались прежде создание программного продукта в России. Этапы ЖЦПП по ГОСТ 19.102-77 и базовые группы группы ISO/IEC 12207. Состав. Описание.

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

•              
Структуру жизненного цикла ПП,
состав процессов, действия и задачи, которые должны быть выполнены во время
создания ПП, определяет и регламентирует международный стандарт ISO/IEC 12207: 1995
«
Information Technology — Software Life Cycle Processes»
(
ISO — International Organization for Standardization — Международная организация по стандартизации; IEC —
International ElectrotechnicalCommission —
Международная комиссия по электротехнике; название стандарта «Информационные
технологии — Процессы жизненного цикла программ»).

•              
В России, начиная с 1970-х годов, создание ПП
регламентиро­валось стандартами ЕСПД (Единая система программной
документации — серия ГОСТ 19.ХХХ), которые были ориентированы на класс
относительно простых программ небольшого объема, создаваемых отдельными
программистами. В настоящее время указанные стандарты устарели концептуально и
по форме, их сроки действия закончились и дальнейшее использование этих стандар­тов
нецелесообразно. В результате для каждого серьезного проекта приходится
создавать комплекты нормативных и методических документов, регламентирующих
процессы создания конкретного прикладного ПП, поэтому в отечественных
разработках целесо­образно использовать современные международные стандарты.

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

Техническое задание

•              
постановка задачи

•              
выбор критериев эффективности

•              
проведение предварительных
научно-исследовательских работ (НИР);

•              
разработка ТЗ.

Эскизный проект:

•              
структура входных и выходных данных;

•              
уточнение методов решения; общий алгоритм;

•              
разработка документации эскизного проекта.

Технический проект:

•              
уточнение структуры входных и выходных данных;

•              
разработка алгоритмов;

•              
формы данных;

•              
семантика и синтаксис языка;

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

•              
план работ.

Рабочий проект:

•              
программирование и отладка;

•              
разработка документов;

•              
подготовка и проведение испытаний;

•              
корректировка программы и документов по итогам
испытаний.

Внедрение:

•              
передача программы и документов для
сопровождения;

•              
оформление акта;

•              
передача в Фонд алгоритмов и программ (ФАП).

•              
В соответствии со стандартом ISO/IEC 12207 все
процессы жизненного цикла ПП разделены на три базовые группы: основные
процессы; вспомогательные (поддерживающие) процессы; организационные процессы.

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

•              
К основным
относятся процессы приобретения, поставки, разработки, эксплуатации и
сопровождения.

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

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

Процесс
приобретения (
acquisition process) охватывает действия заказчика по приобретению
ПП. К этим действиям относятся:

•              
инициирование приобретения;

•              
подготовка заявочных предложений;

•              
подготовка и корректировка договора;

•              
надзор за деятельностью поставщика;

•              
приемка и завершение работ.

Процесс поставки
(
supply process) охватывает действия и задачи поставщика при
снабжении заказчика ПП или услугой. К этим действиям относятся:

•              
инициирование поставки;

•              
подготовка ответа на заявочные предложения;

•              
подготовка договора;

•              
планирование;

•              
выполнение и контроль;

•              
проверка и оценка;

•              
поставка и завершение работ.

Процесс
разработки (
development process) охватывает действия и задачи разработчика и
предусматривает следующие основные направления работ:

•              
создание ПП и его компонентов в соответствии с
заданными требованиями, включая оформление проектной и эксплуатационной
документации;

•              
подготовку материалов, необходимых для проверки
работоспособности и качества ПП;

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

Процесс
эксплуатации (
operation process) охватывает действия и задачи оператора —
организации, занимающейся эксплуатацией разработанного ПП или системы. К этим
действиям относятся:

•              
подготовительная работа;

•              
эксплуатационное тестирование;

•              
эксплуатация системы;

•              
поддержка пользователей.

•              
Процесс сопровождения (maintenance process) охватывает
действия и задачи сопровождающей организации (службы сопровождения). Данный
процесс активизируется при изменениях (модификациях) ПП и соответствующей
документации, вызванных возникшими проблемами или потребностями в модернизации
либо адаптации ПП. В соответствии со стандартом IEEE-90 (IEEE — Institute of Electrical and Electronics Engineers —
Институт инженеров по электротехнике и электронике) под сопровождением по­нимается
внесение изменений в ПП в целях исправления ошибок, повышения производительности
либо адаптации к изменившимся условиям работы или требованиям.

Читайте также:  Какие надо есть продукты от целлюлита

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

•              
Процесс документирования включает в себя:

•              
подготовительную работу;

•              
проектирование и разработку документации;

•              
выпуск документации;

•              
сопровождение.

Источник

Нормативные документы и жизненный цикл ПО. Стандарты ЕСПД

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

Теоретический материал

После системного анализа предметной области и построения концептуальной модели, содержащей описание основных компонентов и функций (Лабораторная работа № 1-3), выполняется проектирование структуры приложения. Результатом на этапе проектирования структуры приложения становится детализированная схема программы, на которой указываются все классы и взаимосвязи между ними. Оформление результатов системного анализа предметной области и проектирования структуры приложения должно выполняться единообразно. Существует не одна группа документов рекомендательного характера, позволяющих придерживаться общих принципов.

Для выполнения практических заданий необходимо предварительно ознакомится с [9, 10].

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

Стандарт – (от англ. standard – норма, образец), в широком смысле слова образец, эталон, модель, принимаемые за исходные для сопоставления с ними др. подобных объектов. Стандарт как нормативно-технический документ устанавливает комплекс норм, правил, требований к объекту стандартизации. Стандарт может быть разработан как на материальные предметы (продукцию, эталоны, образцы веществ), так и на нормы, правила, требования в различных областях [9]. Стандарт также может содержать требования к терминологии, символике, упаковке, маркировке или этикеткам и правилам их нанесения.

Основным нормативным документом, регламентирующим состав процессов ЖЦ ПО, является международный стандарт по ISO/IEC 12207:1995.

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

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

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

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

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

Рисунок 5.1 — Относительная стоимость исправлений ошибок в требованиях в зависимости от того, когда они обнаружены [24]

Существуют особенности в разработке ПО. Разработка ПОвключает столько же общения, сколько и обычная работа с компьютером. Иногда участники проекта не могут прийти к единому мнению, что такое «требование». Но при этом требования составляют основу любого хорошо организованного проекта по разработке ПО, поддерживая технические и организационные задачи (рисунок 5.2).

Рисунок 5.2 — Взаимоотношения требований и других процессов проекта

Что называть «требованием к ПО»? Одна из проблем индустрии программного обеспечения — отсутствие общепринятых определений терминов, используемых для описания работы.

Читайте также:  Как понизить холестерин какие продукты

IEEE Standard Glossary of Software Engineering Terminology (1990) содержит следующее определение термина «требования»:

– условия или возможности, необходимые пользователю для решения проблем или достижения целей;

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

– документированное представление условий или возможностей для пунктов 1 и 2.

Это определение охватывает требования как пользователей (внешнее поведение системы), так и разработчиков (некоторые скрытые параметры).

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

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

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

Рисунок 5.3 — Компоненты области разработки технических условий

На практике эти действия выполняются попеременно, поэтапно и повторяются (рисунок 5.4). Процесс формулирования требований очень важен, и все участники проекта должны понимать концепцию и приемы формулирования требований [24]. Пример разработки требований к системе представлен в Приложении А.

Во время работы с проектом разработчик ПО сталкивается с тремя уровнями требований: бизнес-уровень, пользовательский уровень и функциональный.

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

Составлению технического задания предшествует составление «Спецификаций требований».

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

Спецификация требований (specification, requirements) – процесс документирования системы в структурированном, доступном всем и управляемом формате [24].

Рисунок 5.4 — Итеративный процесс формирования требований

Спецификация требований к продукту (software requirements specification) – набор функциональных и нефункциональных требований к продукту ПО.

Анализ включает создание прототипов, анализ осуществимости и согласованности приоритетов.

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

Виды прототипов: эволюционные, одноразовые, бумажные, горизонтальные и вертикальные.

Модели прецедентов описывает способ взаимодействия пользователя с системой.

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

Любое техническое задание должно содержать разделы, отражающие сведения:

– что надо сделать;

– для чего, с какой целью надо создать продукт;

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

– какие требования будут предъявлены к продукту;

– какие работы потребуется выполнить, чтобы создать продукт;

– каков порядок приемки-сдачи работ Заказчику;

– как должно быть задокументировано проведение работ;

– на основании каких нормативно-технических документов должны проводиться работы.

При разработке технического задания на автоматизированную систему используется ГОСТ 34.602-89, при разработке ТЗ на программу — ГОСТ 19.201-78.

В основе методов управления проектами [34] лежат методики сетевого планирования:

– заблаговременное планирование работ над проектом;

– планирование завершения работ в нужные сроки;

– координирование и контролирование выполнения работ для соблюдения календарного графика и завершение работ в срок.

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

Существует несколько методик оценок времени и затрат.

Вопросы для самоконтроля

1. Дать определения:

– программа;

– программный продукт;

– программное средство;

– ПО;

– жизненный цикл ПО;

– качество ПО.

2. Дать определение терминов: «требования», «спецификация».

3. Что подразумевается под «успех проекта»?

4. Характеристики превосходных требований.

5. Какой стандарт ЕСПД определяет содержание Технического задания? Назначение документа и его обязательные разделы.

6. Характеристика основных уровней стандартизации.

7. Стандарты документирования ПО. Перечислите основные виды нормативных документов.

8. Какие проблемы сопровождают внутрифирменные стандарты?

9. Схема классификации стандартов в области ИТ.

10. Эволюция стандартов ПО.

11. ЖЦ ПО. Эволюция ЖЦ ПО (по ISO/IEC 12207:1995). Процессы ЖЦ, регламентируемые стандартом ISO/IEC 12207.

Читайте также:  В каких продуктах белок кальций

12. Содержание государственного стандарта «Единая система программной документации».

13. Критерии качества ПО, факторы влияющие на качество ПО.

14. Уровни требований к ПО.

Практическая работа

Цели:закрепление основных понятий, связанных с жизненным циклом программного обеспечения.

Средства выполнения задания: средства пакета MS Office.

Изучить теоретический материал, дать письменные ответы на вопросы для самоконтроля и выполнить практическое задание.

Практическое задание

1. Описать требования в контексте модели прецедентов (Приложение Б).

2. Создать одностраничный проект на разработку автоматизированной системы (Приложение В).

3. Создать шаблон технического задания на разработку ИС. Создать техническое задание на разработку ИС Вашего варианта.

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

Лабораторная работа № 6



Источник

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

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

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

В России создание ПО первоначально, в 70-е гг., регламентировалось стандартами серии ГОСТ 19.ХХХ — Единая система программной документации ( ЕСПД ): ГОСТ 19.001-77. ЕСПД. Общие положения; ГОСТ 19.101-77. ЕСПД. Виды программ и программных документов; ГОСТ 19.102-77. ЕСПД. Стадии разработки; ГОСТ 19.105-78. ЕСПД. Общие требования к программным документам; ГОСТ 19.201-78. ЕСПД. Техническое задание , требования к содержанию и оформлению; ГОСТ 19.201-78. ЕСПД. Схемы алгоритмов , программ, данных и систем и т.д.

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

Процессы создания ав­томатизированных систем, в состав которых входит и ПО, рег­ламентированы стандартами серии ГОСТ 34.ХХХ — Комплекс стандартов на АС: ГОСТ 34.601-90. Информационная технология. АС. Стадии создания; ГОСТ 34.602-89. Информационная технология. Техническое задание на создание АС; ГОСТ 34.603-92. Информационная технология. Виды испытаний АС; ГОСТ 34.201-89. Информационная технология. Виды, комплектность и обозначение документов при создании АС и т.д.

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

Основным зарубежным нормативным документом, наиболее полно и подро­б­но регламентирующим ЖЦ ПО , является международный стандарт ISO/IEC 12207 . ( ISO — International Organization of Standardization — Международная организация по стандартизации, IEC — International Electrotechnical Commission — Международная комиссия по электротехнике.)

Этапы работ в ГОСТ соответствуют процессам в ISO / IEC 12207. Сопоставление разных стандартов (ГОСТ и ISO ) показывает, что они в принципе регламентируют одни и те же работы при создании ПО . Но все же в отечественных разра­ботках целесообразно использовать современные международные стан­дарты.

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

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

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

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

Структура ЖЦ ПО по стандарту ISO/IEC 12207 базируется на трех группах процессов : основные процессы ЖЦ ПО (приобретение ПО заказчиком, поставка про­граммного продукта поставщиком заказчику, разработка (создание ПО), эксплуатация ПО пользователем, сопровождение службой сопровождения); вспомогательные процессы, обеспечивающие выполнение основных процессов (документирование, управление конфигурацией (учет версий), обеспечение качества, верификация (определение соответствия требованиям), аттестация (удостоверение правильности), совместная оценка (соответствие характеристик ПО исходным требованиям), аудит (процессы ревизии), решение проблем (устранение дефектов и ошибок)); организационные процессы (управление проектами, создание инфраструктуры проекта (выбор аппаратных и программных средств, технологии, стандартов, т.д.), определение, оценка и улучшение (корректировка) самого ЖЦ, обучение пользователя).

Источник