Основные процессы жизненного цикла реферат

Обновлено: 16.05.2024

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

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

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

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

1.1 Стадии жизненного цикла ИС

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

Согласно методологии, предлагаемой Rational Software, жизненный цикл информационной системы подразделяется на четыре стадии.

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

1) Начальная стадия

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

2) Стадия уточнения

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

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

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

3) Стадия конструирования

На стадии конструирования разрабатывается законченное изделие, готовое к передаче пользователю.

По окончании этой стадии определяется работоспособность разработанного программного обеспечения.

4) Стадия передачи в эксплуатацию

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

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

1.2 Стандарты жизненного цикла ИС

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

Среди наиболее известных стандартов можно выделить следующие:

ГОСТ 34.601-90 - распространяется на автоматизированные системы и устанавливает стадии и этапы их создания. Кроме того, в стандарте содержится описание содержания работ на каждом этапе. Стадии и этапы работы, закрепленные в стандарте, в большей степени соответствуют каскадной модели жизненного цикла.

ISO/IEC 12207(International Organization of Standardization /International Electrotechnical Commission )1995 - стандарт на процессы и организацию жизненного цикла. Распространяется на все виды заказного ПО. Стандарт не содержит описания фаз, стадий и этапов.

Rational Unified Process (RUP) предлагает итеративную модель разработки, включающую четыре фазы: начало, исследование, построение и внедрение. Каждая фаза может быть разбита на этапы (итерации), в результате которых выпускается версия для внутреннего или внешнего использования. Прохождение через четыре основные фазы называется циклом разработки, каждый цикл завершается генерацией версии системы. Если после этого работа над проектом не прекращается, то полученный продукт продолжает развиваться и снова минует те же фазы. Суть работы в рамках RUP - это создание и сопровождение моделей на базе UML.

Microsoft Solution Framework (MSF) сходна с RUP, так же включает четыре фазы: анализ, проектирование, разработка, стабилизация, является итерационной, предполагает использование объектно-ориентированного моделирования. MSF в сравнении с RUP в большей степени ориентирована на разработку бизнес-приложений.

Extreme Programming (XP). Экстремальное программирование (самая новая среди рассматриваемых методологий) сформировалось в 1996 году. В основе методологии командная работа, эффективная коммуникация между заказчиком и исполнителем в течение всего проекта по разработке ИС, а разработка ведется с использованием последовательно дорабатываемых прототипов.

2. Модели жизненного цикла

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

Модель ЖЦ ИС включает в себя:

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

ключевые события -- точки завершения работ и принятия решений.

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

2.1 Типы моделей жизненного цикла ИС

В настоящее время известны и используются следующие модели жизненного цикла:

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

Поэтапная модель с промежуточным контролем (рис. 2.2). Разработка ИС ведется итерациями с циклами обратной связи между этапами. Межэтапные корректировки позволяют учитывать реально существующее взаимовлияние результатов разработки на различных этапах; время жизни каждого из этапов растягивается на весь период разработки.

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

Рис. 2.1. Каскадная модель ЖЦ ИС

Рис. 2.2. Поэтапная модель с промежуточным контролем

Рис. 2.3. Спиральная модель ЖЦ ИС

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

каскадная модель (характерна для периода 1970-1985 гг.);

спиральная модель (характерна для периода после 1986.г.).

2.2 Достоинства и недостатки моделей жизненного цикла ИС

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

Можно выделить следующие положительные стороны применения каскадного подхода:

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

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

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

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

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

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

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

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

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

3. Процессы жизненного цикла ИС

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

В соответствии с базовым международным стандартом ISO/IEC 12207 все процессы ЖЦ ПО делятся на три группы:

3.1 Основные процессы жизненного цикла

Приобретение (действия и задачи заказчика, приобретающего ИС)

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

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

Эксплуатация (действия и задачи оператора -- организации, эксплуатирующей систему)

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

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

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

оформление проектной и эксплуатационной документации;

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

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

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

Эксплуатационные работы можно подразделить на подготовительные и основные. К подготовительным относятся:

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

обеспечение пользователей эксплуатационной документацией;

Основные эксплуатационные работы включают:

локализацию проблем и устранение причин их возникновения;

модификацию программного обеспечения;

подготовку предложений по совершенствованию системы;

развитие и модернизацию системы.

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

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

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

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

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

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

3.2 Вспомогательные процессы жизненного цикла

Документирование (формализованное описание информации, созданной в течение ЖЦ ИС)

Управление конфигурацией (применение административных и технических процедур на всем протяжении ЖЦ ИС для определения состояния компонентов ИС, управления ее модификациями).

Обеспечение качества (обеспечение гарантий того, что ИС и процессы ее ЖЦ соответствуют заданным требованиям и утвержденным планам)

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

Аттестация (определение полноты соответствия заданных требований и созданной системы их конкретному функциональному назначению)

Совместная оценка (оценка состояния работ по проекту: контроль планирования и управления ресурсами, персоналом, аппаратурой, инструментальными средствами)

Аудит (определение соответствия требованиям, планам и условиям договора)

Разрешение проблем (анализ и решение проблем, независимо от их происхождения или источника, которые обнаружены в ходе разработки, эксплуатации, сопровождения или других процессов)

3.3 Организационные процессы

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

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

Усовершенствование (оценка, измерение, контроль и усовершенствование процессов ЖЦ)

Обучение (первоначальное обучение и последующее постоянное повышение квалификации персонала)

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

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

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

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

Список использованной литературы

1. Избачков С.Ю., Петров В.Н. Информационные системы-СПб.: Питер, 2008. - 655 с

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

Содержание

ВВЕДЕНИЕ 2
1. ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 3
2. ПРОЦЕССЫ ЖЦ ПО 7
3. ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕССЫ ЖЦ ПО 8
ЗАКЛЮЧЕНИЕ 14
ЛИТЕРАТУРА 15

Прикрепленные файлы: 1 файл

процессы ЖЦ ПО.Вспомогательные процессы.docx

1. ЖИЗНЕННЫЙ ЦИКЛ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 3

2. Процессы ЖЦ ПО 7

3. Вспомогательные процессы ЖЦ ПО 8

ВВЕДЕНИЕ

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

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

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

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

Значительное место среди информационных продуктов и услуг занимают компьютерные программные средства.

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

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

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

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

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

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

    а) изменению программного продукта и услуг,

    б) изменению цены на них,

    в) проведению модификации или снятию с продажи и предоставления.

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

    Рис. 1. Графическая модель жизненного цикла продуктов и услуг.

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

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

    Согласно этому стандарту, структура ЖЦ ПО базируется на трёх группах процессов:

    1) основные процессы ЖЦ ПО (приобретение, поставка, разработка, эксплуатация, сопровождение);

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

    3) организационные процессы (управление проектами, создание инфраструктуры проекта, определение, оценка и улучшение самого ЖЦ, обучение).

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

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

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

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

    Обеспечение качества проекта связано с проблемами верификации, проверки и тестирования ПО.

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

    Оценка качества (ГОСТ 28195-89) осуществляется на всех этапах жизненного цикла программных средств (ПС) при:

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

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

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

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

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

      Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ. Общие принципы и рекомендации конфигурационного учёта, планирования и управления конфигурациями ПО отражены в проекте стандарта ISO/IEC 12207.

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

      Одним из базовых понятий проектирования ИС является понятие жизненного цикла её программного обеспечения (ЖЦ ПО) – это непрерывный процесс, начинающийся с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации.

      ИС входят в состав СУБД и являются специфическим инструментальным и прикладным (пользовательским) программным обеспечением.

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

      В соответствии со стандартом ГОСТ Р ИСО/МЭК 12207-99 все процессы ЖЦ ПО разделены на три группы:

      1. Основные процессы
        1. приобретение
        2. поставка
        3. разработка
        4. эксплуатация
        5. сопровождение (модификация и исправление системы в случае обнаружения неполадок или возникновении новых требований)
        1. документирование (формализован ное описание информации, созданной в течение ЖЦ ПО)
        2. управление конфигурацией (применение административных и технических процедур на всем протяжении ЖЦ ПО для определения состояния компонентов ПО в системе, управления модификациями ПО, описания и подготовки отчетов о состоянии компонентов ПО и запросов на модификацию, обеспечения полноты, совместимости и корректности компонентов ПО, управления хранением и поставкой ПО)
        3. обеспечение качества (обеспечение соответствующих гарантии того, что ПО и процессы его ЖЦ соответствуют заданным требованиям и утвержденным планам)
        4. верификация (определение того, что программные продукты, являющиеся результатами некоторого действия, полностью удовлетворяют требованиям или условиям, обусловленным предшествующими действиями)
        5. аттестация (подтверждение и оценка достоверности проведенного тестирования ПО)
        6. совместная оценка (оценка состояния работ по проекту и ПО, создаваемому при выполнении данных работ)
        7. аудит (определение соответствия требованиям, планам и условиям договора)
        8. разрешение проблем
        1. управление (управление выпуском продукта, управление проектом и задачами соответствующих процессов, таких, как приобретение, поставка, разработка, эксплуатация, сопровождение и др.)
        2. инфраструктура (выбор и поддержка (сопровождение) технологии, стандартов и инструментальных средств, выбор и установка аппаратных и программных средств, используемых для разработки, эксплуатация или сопровождение ПО)
        3. усовершенствование (оценка, измерение, контроль и усовершенствование процессов ЖЦ ПО)
        4. обучение (первоначальное обучение и последующее постоянное повышение квалификации персонала)

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

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

        • подготовительную работу;
        • проектирование и разработку;
        • выпуск документации;
        • сопровождение.

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

        Управление конфигурацией позволяет организовать, систематически учитывать и контролировать внесение изменений в ПО на всех стадиях ЖЦ ПО. Общие принципы и рекомендации по управлению конфигурацией ПО отражены в проекте стандарта ISO/IEC 12207-2: 1995 “Information Technology - Software Life Cycle Processes. Part2. Configuration Management for Software”.

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

        Вложенные файлы: 1 файл

        my.doc

        Понятие жизненного цикла (ЖЦ). Основные, вспомогательные и организационные процессы.

        Жизненный цикл – это период времени с момента принятия решения о необходимости создания ПО до полного изъятия из эксплуатации.

        Основной документ, регламентирующий состав процессов ЖЦ, – стандарт ISO 12207, описывает структуру процессов ЖЦ, но не конкретизирует, как реализовать или выполнить действия и задачи, включенные в эти процессы. Согласно стандарту все процессы разделены на 3 группы:

        1. Основные – приобретение, поставка, разработка, эксплуатация, сопровождение
        2. Вспомогательные – документирование, управление конфигурацией, обеспечение качества, верификация, аттестация, совместная оценка, аудит.
        3. Организационные – управление, создание инфраструктуры, усовершенствование (оценка и улучшение самого жизненного цикла), обучение.

        Этапы жизненного цикла:

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

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

          Стратегии конструирования ПО

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

            Стандартные модели ЖЦ. Каскадная схема разработки ПО. Спиральная модель ЖЦ ПО.

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

            Каскадная модель. Первая по времени появления, самая распространенная:

            Свойства взаимодействия этапов:

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

            Выявление и устранение ошибок – только на стадии тестирования (может растянуться во времени, или вообще никогда не завершиться).

            Спиральная модель. Пример применения эволюционной стратегии конструирования.

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

            Методологии и технологии проектирования ПО. Требования к технологии.

            Метод – совокупность приемов или операций для получения искомого результата.

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

            Технология проектирования - совокупность трех составляющих:

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

            Технология проектирования, разработки и сопровождения ИС должна:

            • поддерживать полный ЖЦ ПО;
            • обеспечивать гарантированное достижение целей разработки ИС с заданным качеством и в установленное время;
            • обеспечивать возможность выполнения крупных проектов в виде подсистем (т.е. возможность декомпозиции проекта на составные части, разрабатываемые группами исполнителей ограниченной численности с последующей интеграцией составных частей);
            • обеспечивать возможность ведения работ по проектированию отдельных подсистем небольшими группами (3-7 человек);
            • обеспечивать минимальное время получения работоспособной ИС (сроки реализации отдельных подсистем);
            • предусматривать возможность управления конфигурацией проекта, ведения версий проекта и его составляющих, возможность автоматического выпуска проектной документации и синхронизацию ее версий с версиями проекта;
            • обеспечивать независимость выполняемых проектных решений от средств реализации ИС (систем управления базами данных (СУБД), операционных систем, языков и систем программирования);
            • быть поддержана комплексом согласованных CASE-средств, обеспечивающих автоматизацию процессов, выполняемых на всех стадиях ЖЦ.

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

            Основные этапы разработки. Информационные потоки процесса синтеза ПС

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

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

              Стратегическое планирование. Бизнес-стратегии.

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

              Итог – документ, в котором четко сформулировано следующее:

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

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

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

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

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

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

                Анализ. Модели анализа: информационная, функциональная, поведенческая

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

                - анализ требований (исследование требований к системе через ее функции)

                - объектный анализ (исследование объектов предметной области).

                Анализ требований. Цель – в том, чтобы дать развернутое определение функциональных и нефункциональных требований к проектируемой системе. Требования определяются и специфицируются в виде ”что система должна делать”. Для этого – подробное исследование бизнес-процессов (функций, определенных на предыдущем этапе) и информации, необходимой для их выполнения (сущностей, их атрибутов и связей).

                Требования определяют услуги, ожидаемые от системы, и ограничения, которым система должна подчиняться.

                Аннотация: Понятие жизненного цикла программных систем (ЖЦ ПС) является одним из базовых в программной инженерии.

                5.1. Понятие жизненного цикла программных систем

                ЖЦ ПС определяется как период времени, который начинается с момента принятия решения о необходимости создания ПС и закачивается в момент ее полного изъятия из эксплуатации. Основным нормативным документом, регламентирующим состав процессов ЖЦ ПС, является международный стандарт ISO / IEC 12207: 1995 " Information Technology – Software Life Cycle Process" ( ISO – International Organization for Standardization – Международная организация по стандартизации, IEC – International Electrotechnical Commission – Международная комиссия по электротехнике). Этот стандарт определяет структуру ЖЦ, содержащую процессы, действия и задачи, которые должны быть выполнены во время создания ПС.

                В данном стандарте ПС (или программный продукт ) определяется как набор компьютерных программ, процедур и, возможно, связанной с ними документацией и данных. Процесс определяется как совокупность взаимосвязанных действий, преобразующих некоторые входные данные в выходные (Г. Майерс называет это трансляцией данных [11]). Каждый процесс характеризуется определенными задачами и методами их решения. В свою очередь , каждый процесс разделен на набор действий, а каждое действие – на набор задач. Каждый процесс, действие или задача инициируется и выполняется другим процессом по мере необходимости, причем не существует заранее определенных последовательностей выполнения (естественно, при сохранении связей по входным данным).

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

                Процессы создания автоматизированных систем ( АС ), в состав которых входит и ПО , регламентированы стандартами ГОСТ 34.601-90 "Информационная технология. Комплекс стандартов на автоматизированные системы. Стадии создания", ГОСТ 34.602-89 "Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы" и ГОСТ 34.603-92 "Информационная технология. Виды испытаний автоматизированных систем". Однако многие положения этих стандартов устарели, а другие отражены недостаточно, чтобы их можно было применять для серьезных проектов создания ПС. Поэтому в отечественных разработках целесообразно использовать современные международные стандарты.

                В соответствии со стандартом ISO / IEC 12207 все процессы ЖЦ ПО разделены на три группы (рис.5.1).

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

                5.2. Основные процессы ЖЦ ПС

                Процесс приобретения состоит из действий и задач заказчика, приобретающего ПС. Данный процесс охватывает следующие действия [2]:

                1. инициирование приобретения;
                2. подготовку заявочных предложений;
                3. подготовку и корректировку договора;
                4. надзор за деятельностью поставщика;
                5. приемку и завершение работ.

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

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

                Заявочные предложения должны содержать:

                1. требования, предъявляемые к системе;
                2. перечень программных продуктов;
                3. условия приобретения и соглашения;
                4. технические ограничения (например, по среде функционирования системы).

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

                Подготовка и корректировка договора включает следующие задачи:

                1. определение заказчиком процедуры выбора поставщика, включающей критерии оценки предложений возможных поставщиков;
                2. выбор конкретного поставщика на основе анализа предложений;
                3. подготовку и заключение договора с поставщиком ;
                4. внесение изменений (при необходимости) в договор в процессе его выполнения.

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

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

                1. инициирование поставки;
                2. подготовку ответа на заявочные предложения;
                3. подготовку договора;
                4. планирование работ по договору;
                5. выполнение и контроль договорных работ и их оценку;
                6. поставку и завершение работ.

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

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

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

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

                1. подготовительную работу;
                2. анализ требований, предъявляемых к системе;
                3. проектирование архитектуры системы;
                4. анализ требований, предъявляемых к программному обеспечению;
                5. проектирование архитектуры программного обеспечения;
                6. детальное проектирование программного обеспечения;
                7. кодирование и тестирование программного обеспечения;
                8. интеграцию программного обеспечения;
                9. квалификационное тестирование программного обеспечения;
                10. интеграцию системы;
                11. квалификационное тестирование системы;
                12. установку программного обеспечения;
                13. приемку программного обеспечения.

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

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

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

                Анализ требований к программному обеспечению предполагает определение следующих характеристик для каждого компонента ПО [11]:

                1. функциональных возможностей, включая характеристики производительности и среды функционирования компонента;
                2. внешних интерфейсов;
                3. спецификаций надежности и безопасности;
                4. эргономических требований;
                5. требований к используемым данным;
                6. требований к установке и приемке;
                7. требований к пользовательской документации;
                8. требований к эксплуатации и сопровождению.

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

                Проектирование архитектуры ПО включает следующие задачи для каждого компонента ПО :

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

                Детальное проектирование ПО включает следующие задачи:

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

                Кодирование и тестирование ПО включает следующие задачи:

                1. кодирование и документирование каждого компонента ПО и базы данных, а также подготовку совокупности тестовых процедур и данных для их тестирования;
                2. тестирование каждого компонента ПО и БД на соответствие предъявляемым к ним требованиям с последующим документированием результатов тестирования;
                3. обновление документации (при необходимости);
                4. обновление плана интеграции ПО.

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

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

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

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

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

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

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

                1. планирование действий и работ, выполняемых в процессе эксплуатации, и установка эксплуатационных стандартов;
                2. определение процедур локализации и разрешения проблем, возникающих в процессе эксплуатации.

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

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

                Читайте также: