Какими стандартами регламентировалось прежде создания программного продукта в россии
•
Жизненный цикл программного продукта
— это период времени, начинающийся с момента принятия решения о необходимости
создания ПП и заканчивающийся в момент его полного изъятия из эксплуатации.
•
Структуру жизненного цикла ПП,
состав процессов, действия и задачи, которые должны быть выполнены во время
создания ПП, определяет и регламентирует международный стандарт 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) предусматривает формализованное описание
информации, созданной в течение жизненного цикла ПП. Данный процесс состоит из
набора действий, с помощью которых планируют, проектируют, разрабатывают,
выпускают, редактируют, распространяют и сопровождают документы, необходимые
для всех заинтересованных лиц, таких как руководство, технические специалисты и
пользователи системы.
•
Процесс документирования включает в себя:
•
подготовительную работу;
•
проектирование и разработку документации;
•
выпуск документации;
•
сопровождение.
Источник
Процесс управления {management process)состоит из действий и задач, которые могут выполняться любой стороной, управляющей своими процессами. Данная сторона (менеджер) отвечает за управление выпуском продукта, проектом и задачами соответствующих процессов, таких как приобретение, поставка, разработка, эксплуатация, сопровождение и др.
Процесс управления включает в себя:
1. инициирование и определение области управления;
2. планирование;
3. управление работами по созданию ПП и контроль за их выполнением;
4. проверку и оценку;
5. завершение работ.
При инициировании и определении области управления менеджер должен определить необходимые для управления ресурсы (персонал, оборудование и технология) и убедиться, что они имеются в его распоряжении, причем в достаточном количестве.
Планирование подразумевает выполнение, как минимум, следующих задач: составление графиков выполнения работ; оценку затрат; выделение требуемых ресурсов; распределение ответственности; оценку рисков, связанных с конкретными задачами; создание инфраструктуры управления.
Управление работами по созданию ПП и контроль за их выполнением осуществляются в соответствии с результатами планирования.
В ходе выполнения работ обязательно должны выполняться регулярная проверка их выполнения и оценка достигнутых результатов. При необходимости по результатам проверки и оценки могут быть внесены корректировки в ход выполнения работ.
Завершение работ происходит после выполнения всех обязательств, взятых поставщиком перед заказчиком в соответствии с заранее оговоренными процедурами.
Процесс создания инфраструктуры (infrastructure process) охватывает выбор и поддержку (сопровождение) технологии, стандартов и инструментальных средств, выбор и установку аппаратных и программных средств, используемых для разработки, эксплуатации или сопровождения ПП. Инфраструктура должна модифицироваться и сопровождаться в соответствии с изменениями требований к соответствующим процессам. Инфраструктура, в свою очередь, является одним из объектов управления конфигурацией.
Процесс создания инфраструктуры включает в себя:
1. подготовительную работу;
2. создание инфраструктуры;
3. сопровождение инфраструктуры.
Подготовительная работа заключается в координации с другими организационными процессами и планировании работ по созданию инфраструктуры с учетом выбранных технологий, стандартов, инструментальных, программных и аппаратных средств.
Создание инфраструктуры включает в себя все действия по разработке в соответствии с выбранной концепцией и планом инфраструктуры для выполнения работ по созданию ПП.
Сопровождение инфраструктуры вызвано необходимостью сопровождения ПП и возможными модификациями продукта в соответствии с изменившимися требованиями к нему.
Процесс усовершенствования (improvement process) предусматривает оценку, измерение, контроль и усовершенствование процессов жизненного цикла ПП. Данный процесс включает в себя:
1. создание процесса;
2. оценку процесса;
3. усовершенствование процессов жизненного цикла ПП.
Создание процесса усовершенствования процессов жизненного цикла ПП позволяет на основе контроля за ходом выполнения процессов жизненного цикла, измерения характеристик и оценки полученных результатов существенно улучшить качество разрабатываемого ПП и сократить сроки его создания.
Оценка процесса разработки ПП позволяет выявить его сильные и слабые стороны и на основе полученных результатов провести необходимые улучшения.
Усовершенствование процессов жизненного цикла ПП направлено на повышение производительности труда всех участвующих в них специалистов за счет совершенствования используемой технологии, методов управления, выбора инструментальных средств и обучения персонала. Усовершенствование основано на анализе достоинств и недостатков каждого процесса. Такому анализу в большой степени способствует накопление в организации исторической, технической, экономической и иной информации по реализованным проектам.
Процесс обучения (training process)охватывает первоначальное обучение и последующее постоянное повышение квалификации персонала. Приобретение, поставка, разработка, эксплуатация и сопровождение программного продукта в значительной степени зависят от уровня знаний и квалификации персонала. Например, разработчики ПП должны пройти необходимое обучение методам и средствам программной инженерии. Содержание процесса обучения определяется требованиями к проекту. Для этого процесса должны быть запланированы необходимые ресурсы и технические средства обучения. Кроме того, должны быть разработаны и представлены методические материалы, необходимые для обучения пользователей в соответствии с учебным планом.
Процесс обучения включает в себя:
1. подготовительную работу;
2. разработку учебных материалов;
3. реализацию плана обучения.
Подготовительная работа заключается в координации с другими организационными процессами и планировании работ по созданию плана обучения и повышения квалификации.
Разработка учебных материалов является неотъемлемой частью процесса обучения, так как позволяет существенно повысить его эффективность и качество.
Реализация плана обучения должна осуществляться непрерывно в течение всего времени, для которого этот план разработан.
Взаимосвязь между процессами жизненного цикла программного продукта
Процессы жизненного цикла ПП, регламентируемые стандартом ISO/IEC 12207, могут использоваться различными организациями в конкретных проектах самым различным образом. Тем не менее, стандарт предлагает некоторый базовый набор взаимосвязей между процессами с различных точек зрения, или в различных аспектах (договорном, управления, эксплуатации, инженерном, поддержки), который показан на рис. 1.1. Штриховые стрелки показывают связь действующих лиц процессов (заказчик, поставщик и т.д.) с конкретными процессами, а сплошные стрелки — связь процессов или групп процессов между собой.
Рис. 1.1. Связь между процессами жизненного цикла программного продукта
В договорном аспекте заказчик и поставщик вступают в договорные отношения и реализуют соответственно процессы приобретения и поставки.
В аспекте управления заказчик, поставщик, разработчик, оператор, служба сопровождения и другие стороны, участвующие в жизненном цикле ПП, управляют выполнением своих процессов.
Менеджер является связующим звеном между организационными
и основными процессами.
В аспекте эксплуатации оператор, эксплуатирующий систему, предоставляет необходимые услуги пользователям.
В инженерном аспекте разработчик или служба сопровождения решают соответствующие технические задачи, разрабатывая или модифицируя ПП.
В аспекте поддержки службы, реализующие вспомогательные процессы, предоставляют необходимые услуги всем остальным участникам работ. В рамках аспекта поддержки можно выделить аспект управления качеством ПП.
Организационные процессы выполняются на корпоративном уровне, т.е. на уровне всей организации в целом, создавая базу для реализации и постоянного совершенствования остальных процессов жизненного цикла ПП.
Процессы и реализующие их организации (или стороны) связаны между собой чисто функционально. При этом внутренняя структура и статус организаций никак не регламентируются. Одна и та же организация может выполнять различные роли (поставщика, разработчика и др.), и, наоборот, одна и та же роль может выполняться несколькими организациями.
Взаимосвязи между процессами, описанные в стандарте, носят статический характер. Более важные динамические связи между процессами и реализующими их сторонами устанавливаются в реальных проектах.
Контрольные вопросы
1. Сформулируйте определение понятия «жизненный цикл программного продукта».
2. Какими документами регламентируется жизненный цикл программного продукта?
3. Какими стандартами регламентировалось прежде создание программного продукта в России?
4. На какие группы можно разделить процессы жизненного цикла программного продукта?
5. Какие процессы включены в состав каждой группы?
6. Какие действия входят в состав процесса приобретения и каково их назначение?
7. Какие действия входят в состав процесса поставки и каково их назначение?
8. Какие действия и задачи выполняются в ходе процесса разработки?
9. Какие действия входят в состав процесса эксплуатации и каково их назначение?
10. Что понимается под процессом сопровождения?
11. Какие действия входят в состав процесса документирования и каково их назначение?
12. Какие действия входят в состав процесса управления конфигурацией и каково их назначение?
13. Какие действия входят в состав процесса обеспечения качества и каково их назначение?
14. В чем отличие процесса верификации от процесса аттестации?
15. Какие условия проверяются в ходе процесса верификации?
16. Что подразумевается под процессом независимой аттестации?
17. В чем отличие процесса совместной оценки от процесса аудита?
18. Какие задачи выполняются в процессе разрешения проблем?
19. Какие действия входят в состав процесса управления и каково их назначение?
20. Какие задачи выполняются в процессе создания инфраструктуры?
21. Какие цели преследует процесс обучения?
22. Перечислите основные аспекты взаимодействия между различными процессами жизненного цикла программного продукта.
23. Чем, по вашему мнению, объясняется наличие взаимосвязей между различными процессами жизненного цикла программного продукта?
ОСНОВНЫЕ ЭТАПЫ РАБОТЫ ПО СОЗДАНИЮ ПРОГРАММНОГО ПРОДУКТА
Длительность основных этапов
К существенному повышению эффективности работы и качества создаваемого ПП приводит использование единых правил и технологии. Единый процесс создания ПП должен включать в себя методологию, методы, стандарты и инструментальные средства, которые необходимо использовать при выполнении всех работ по созданию высококачественного ПП.
При создании ПП можно выделить шесть основных этапов работы:
1. планирование программного проекта;
2. составление требований заказчика;
3. проектирование ПП;
4. разработка ПП;
5. тестирование ПП;
6. сопровождение ПП.
Характерная длительность каждого из этапов жизненного цикла ПП показана на рис. 2.1.
Рис. 2.1. Длительность этапов жизненного цикла программного продукта:
1-6 — номера этапов
Первые два этапа создания ПП начинаются практически одновременно, при этом этап планирования программного проекта (1) заканчивается всегда раньше, чем этап составления требований заказчика (2). На этих двух этапах определяют содержание и сроки работы по созданию будущего ПП. Большая длительность этих этапов объясняется тем, что в процессе работы над ПП приходится вносить коррективы в план работ, а также, возможно, и в требования к ПП.
Этап тестирования (5) начинается практически одновременно с этапами 1 и 2. Такое раннее начало тестирования позволяет выявить ошибки на первых стадиях, что в дальнейшем дает возможность сэкономить время и средства на устранение ошибок. На ранних стадиях тестируется не сам ПП, а разрабатываемая проектная документация.
Характеристика основных этапов
Планирование программного проекта. В течение этапа планирования определяются все основные задачи, которые должны быть выполнены в процессе разработки, производится оценка финансовых, людских, технических и нетехнических ресурсов, объемов и сложности разрабатываемого ПП, определяются методы тестирования и критерии приемки ПП, методы и технология выполнения работы, строятся временные графики выполнения работ.
Составление требований заказчика. В течение этого этапа разработчики анализируют требования к ПП (форма представления информации, необходимые функции, желательные интерфейсы, существующие ограничения и т.д.).
Данный этап служит для выработки взаимопонимания между разработчиками и заказчиком относительно требований к ПП, для устранения неопределенности требований, четкого, однозначного понимания и определения всех деталей, касающихся будущего ПП, и его тестируемости.
Требования тестируемы в такой степени, в какой разработчик
тестов может построить ясный тест, дающий однозначный ответ «да» или «нет» и определяющий соответствие разрабатываемого ПП данной спецификации требований. Для тестируемости спецификация должна быть очень конкретной, недвусмысленной и обладать по возможности количественными характеристиками.
Проектирование программного продукта. Этап проектирования
предназначен для выработки и детализации модели разрабатываемого ПП. Такая модель определяет структуру ПП, организацию модулей, интерфейсов и данных, описание которых необходимо для последующего этапа реализации. Этап проектирования может быть представлен совокупностью компонентов проектирования, для каждого из которых определены набор свойств и связи с другими компонентами. Процесс проектирования должен проводиться в соответствии с теми методами и технологией разработки, которые были определены в плане проекта. Проектирование может состоять из двух частей: высокоуровневого и низкоуровневого (детального) проектирования.
Разработка программного продукта. В процессе выполнения этого этапа разработчики преобразуют результаты этапа проектирования в коды программ на используемом языке программирования в соответствии со стандартами кодирования. Разработчики также взаимодействуют с инженером по тестированию ПП для создания надлежащих условий для тестирования. Кроме этого, разработчики ведут работу по созданию технической документации и начинают планировать и выполнять интеграцию ПП.
Тестирование программного продукта, -этап тестирования не имеет четко определенного начала, но чем раньше он начинается, тем больше уверенности, что разрабатываемый ПП будет точно соответствовать требованиям заказчика. Все действия по тестированию должны выполняться специальным работником — тестировщиком. Он разрабатывает тесты, выполняет процедуру тестирования и составляет отчеты о результатах тестирования.
Общий набор тестов должен обеспечивать максимальный охват тестируемого ПП, т.е. тестированию должны быть подвергнуты как отдельные его модули, так и весь продукт в целом, включая его системные свойства в соответствии с зафиксированными в спецификации требованиями.
Сопровождение программного продукта. На этапе сопровождения основное внимание уделяется внесению изменений в ПП. Эти изменения могут быть связаны с устранением ошибок, дополнительными пожеланиями заказчика, появившимися в результате работы
с ПП, изменением среды окружения и функционирования.
Если изменение признается необходимым, то следует запланировать работу по внесению данного изменения, задокументировать ее, выполнить, после чего произвести обзор результатов
работы по изменению ПП.
Контрольные вопросы
1. Перечислите основные этапы работ по созданию программного продукта в порядке их выполнения.
2. Укажите характерные соотношения длительностей этапов работ по созданию программного продукта.
3. На каком этапе работ выполняется оценка необходимых ресурсов, объемов и сложности разрабатываемого программного продукта?
4. Какие критерии предъявляются к спецификации требований при разработке тестов?
5. Какая цель преследуется при выполнении этапа проектирования?
6. На какие части может быть разбит этап проектирования?
7. На каком этапе производится преобразование результатов проектирования в программный продукт?
8. Чем может быть вызвана необходимость внесения изменений в программный продукт, находящийся в эксплуатации, и на каком этапе эта
работа выполняется?
Дата добавления: 2015-04-11; просмотров: 31; Нарушение авторских прав
Источник