11-software_lifecycle_models (1133551)
Текст из файла
Основы программной инженерии (по SWEBOK)Модели жизненного цикла программного обеспеченияМодели жизненного цикла программного обеспеченияМодели жизненного цикла программного обеспечения ....................................................................... 1Введение ............................................................................................................................................
1Стандарт 12207: Процессы жизненного цикла программного обеспечения .................................... 3Организация стандарта и архитектура жизненного цикла ............................................................ 4Основные процессы жизненного цикла (5) .................................................................................... 5Приобретение (5.1) ..................................................................................................................... 5Поставка (5.2).............................................................................................................................. 5Разработка (5.3) .......................................................................................................................... 5Эксплуатация (5.4) ......................................................................................................................
6Сопровождение (5.5)................................................................................................................... 6Адаптация стандарта ..................................................................................................................... 6Модели жизненного цикла ................................................................................................................. 7Каскадная (водопадная) модель....................................................................................................
7Итеративная и инкрементальная модель – эволюционный подход ............................................. 8Спиральная модель ..................................................................................................................... 10ВведениеОдним из ключевых понятий управления проектами, в том числе в приложении к индустриипрограммного обеспечения, является жизненный цикл проекта (Project Life Cycle Management PLCM).Арчибальд так определяет жизненный цикл проекта [Арчибальд Р., 2003, с.58-59] [Арчибальд Р.,2005]:“Жизненный цикл проекта имеет определенные начальную и конечную точки, привязанные квременной шкале. Проект в своем естественном развитии проходит ряд отдельных фаз.Жизненный цикл проекта включает все фазы от момента инициации до момента завершения.Переходы от одного этапа к другому редко четко определены, за исключением тех случаев, когдаони формально разделяются принятием предложения или получением разрешения напродолжение работы.
Однако, в начале концептуальной фазы часто возникают сложности сточным определением момента, когда работу можно уже идентифицировать как проект (втерминах управления проектами), особенно если речь идет о разработке нового продукта илиновой услуги.Существует общее соглашение о выделении четырех обобщенных фаз жизненного цикла (вскобках приведены используемые в различных источниках альтернативные термины):- концепция (инициация, идентификация, отбор)- определение (анализ)- выполнение (практическая реализация или внедрение, производство и развертывание,проектирование или конструирование, сдача в эксплуатацию, инсталляция, тестирование и т.п.)- закрытие (завершение, включая оценивание после завершения)Однако, эти фазы столь широки, что ... необходимы конкретные определения, быть может пятидесяти основных фаз для каждой категории и подкатегории проекта, обычно с несколькимиподфазами, выделяемыми внутри каждой из этих фаз.....
Нередко можно наблюдать частичное совмещение или одновременное выполнение фазпроекта, называемое “быстрым проходом” в строительных и инжиниринговых проектах и“параллелизмом” – в военных и аэрокосмических. Это усложняет планирование проекта икоординацию усилий его участников, а также делает более важной роль менеджера проектов.”В общем случае, жизненный цикл определяется моделью и описывается в форме методологии(метода).
Модель или парадигма жизненного цикла определяет концептуальный взгляд наорганизацию жизненного цикла и, часто, основные фазы жизненного цикла и принципы переходамежду ними. Методология (метод) задает комплекс работ, их детальное содержание и ролевуюCopyright © Сергей Орлик, 2005-2010.http://swebok.sorlik.ru1Основы программной инженерии (по SWEBOK)Модели жизненного цикла программного обеспеченияответственность специалистов на всех этапах выбранной модели жизненного цикла, обычноопределяет и саму модель, а также рекомендует практики (best practices), позволяющиемаксимально эффективно воспользоваться соответствующей методологией и ее моделью.В индустрии программного обеспечения можно (так как это уже конкретная область приложенияконцепций и практик проектного управления) и необходимо (для обеспечения возможностиуправления) более четкое разграничение фаз проекта (что не подразумевает их линейного ипоследовательного выполнения).Ниже приведены определения <модели> жизненного цикла программной системы, даваемые,например, в различных вариантах стандартов ГОСТ:Модель жизненного цикла - структура, состоящая из процессов, работ и задач,включающих в себя разработку, эксплуатацию и сопровождение программного продукта,охватывающая жизнь системы от установления требований к ней до прекращения ееиспользования [ГОСТ 12207, 1999].Жизненный цикл автоматизированной системы (АС) - совокупность взаимосвязанныхпроцессов создания и последовательного изменения состояния АС, от формированияисходных требований к ней до окончания эксплуатации и утилизации комплекса средствавтоматизации АС [ГОСТ 34, 1990].Один из них - ГОСТ Р ИСО/МЭК 12207 является переводом международного стандарта ISO/IEC12207, на основе которого, в свою очередь, создан соответствующий стандарт IEEE 12207.
Второй– в рамках семейства ГОСТ 34 – разрабатывался в СССР самостоятельно, как стандарт насодержание и оформление документов на программные системы в рамках Единой системыпрограммной документации (ЕСПД) и Единой системы конструкторской документации (ЕСКД). Впоследние годы, акцент делается на стандарты ГОСТ, соответствующие международнымстандартам. В то же время, 34-я серия является важным дополнительным источникоминформации для разработки и стандартизации внутрикорпоративных документов и формированияцелостного понимания и видения концепций жизненного цикла в области программногообеспечения.В определѐнном контексте, “модель” и “методология” могут использоваться взаимозаменяемымобразом, например, когда мы обсуждаем разграничение фаз проекта. Говоря “жизненный цикл”мы, в первую очередь, подразумеваем “модель жизненного цикла”.
Несмотря на данное встандартах 12207 определение модели жизненного цикла, все же, модель чаще подразумеваетименно общий принцип организации жизненного цикла, чем детализацию соответствующих работ.Соответственно, определение и выбор модели, в первую очередь, касается вопросовопределенности и стабильности требований, жесткости и детализированности плана работ, атакже частоты сборки работающих версий создаваемой программной системы.Скотт Амблер (Scott W. Ambler) [Ambler, 2005], автор концепций и практик гибкого моделирования(Agile Modeling) и Enterprise Unified Process (расширение Rational Unified Process), предлагаетследующие уровни жизненного цикла, определяемые соответствующим содержанием работ (см.рис.1): Жизненный цикл разработки программного обеспечения – проектная деятельность поразработке и развертыванию программных систем Жизненный цикл программной системы – включает разработку, развертывание, поддержкуи сопровождение Жизненный цикл информационных технологий (ИТ) – включает всю деятельность ИТдепартамента Жизненный цикл организации/бизнеса – охватывает всю деятельность организации вцеломCopyright © Сергей Орлик, 2005-2010.http://swebok.sorlik.ru2Основы программной инженерии (по SWEBOK)Модели жизненного цикла программного обеспеченияРисунок 1.
Содержание четырех категорий жизненного цикла по Амблеру (используется сразрешения автора) [Ambler, 2005]В данном контексте, SWEBOK описывает области знаний жизненного цикла системы ижизненного цикла разработки программного обеспечения. В свою очередь, как упоминается вSWEBOK, одним из фундаментальных взглядов на жизненный цикл является стандарт процессовжизненного цикла ISO/IEC, IEEE, ГОСТ Р ИСО/МЭК 12207.Стандарт 12207: Процессы жизненного цикла программного обеспеченияВ 1997 году Международная Организация по Стандартизации - ИСО (International Organization forStandardization - ISO) и Международная Электротехническая Комиссия - МЭК (InternationalElectrotechnical Commission - IEC) создали Совместный Технический Комитет по ИнформационнымТехнологиям - Joint Technical Committee (JTC1) on Information Technology.
Содержание работ JTC1определено как “стандартизация в области систем и оборудования информационных технологий(включая микропроцессорные системы)”. В 1989 году этот комитет инициировал разработкустандарта ISO/IEC 12207, создав для этого подкомитет SC7 (SuСommittee 7) по программнойинженерии. Соответствующий стандарт впервые был опубликован 1-го августа 1995 года подзаголовком “Software Life Cycle Processes” – “Процессы жизненного цикла программногообеспечения”. Национальный стандарт [ГОСТ 12207, 1999] получил название “Процессыжизненного цикла программных средств”.Цель разработки данного стандарта была определена как создание общего фреймворка поорганизации жизненного цикла программного обеспечения для формирования общего пониманияжизненного цикла ПО всеми заинтересованными сторонами и участниками процесса разработкиприобретения, поставки, эксплуатации, поддержки и сопровождения программных систем, а такжевозможности управления, контроля и совершенствования процессов жизненного цикла.Данный стандарт определяет жизненный цикл как структуру декомпозиции работ.
Детализация,техники и метрики проведения работ – вопрос программной инженерии. Организацияпоследовательности работ – модель жизненного цикла. Совокупность моделей, процессов, техники организации проектной группы задаются методологией. В частности, выбор и применение метрикоценки качества программной системы и процессов находятся за рамками стандарта 12207, аконцепция совершенствования процессов рассматривается в стандарте ISO/IEC 15504 “InformationTechnology - Software Process Assessment” (“Оценка процессов <в области> программногообеспечения”).Необходимо отметить заложенные в стандарте ключевые концепции рассмотрения жизненногоцикла программных систем.Copyright © Сергей Орлик, 2005-2010.http://swebok.sorlik.ru3Основы программной инженерии (по SWEBOK)Модели жизненного цикла программного обеспеченияОрганизация стандарта и архитектура жизненного циклаСтандарт определяет область его применения, дает ряд важных определений (таких, как заказчик,разработчик, договор, оценка, выпуск – релиз, программный продукт, аттестация и т.п.), процессыжизненного цикла и включает ряд примечаний по процессу и вопросам адаптации стандарта.Стандарт описывает 17 процессов жизненного цикла, распределенных по трем категориям –группам процессов (названия представлены с указанием номеров разделов стандарта, следуяопределениям на русском и английском языке, определяемыми [ГОСТ 12207, 1999] иоригинальной версией ISO/IEC 12207, соответственно):5.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.