- •1. Жизненный цикл программного обеспечения
- •1.1. Понятие жизненного цикла по. Процессы жизненного цикла
- •1.1.1. Понятие жизненного цикла по
- •1.1.2. Основные процессы жц по
- •1.1.3. Вспомогательные процессы жц по
- •1.1.4. Организационные процессы жц по
- •1.1.5. Взаимосвязь между процессами жц по
- •1.2. Модели жизненного цикла по
- •1.2.1. Модели и стадии жц по
- •1.2.2. Подход rad
- •1.3. Понятия метода и технологии проектирования по
- •1.3.1. Определение метода и технологии
- •1.3.2. Требования к технологии
1.3. Понятия метода и технологии проектирования по
1.3.1. Определение метода и технологии
Методы и инструментальные средства проектирования (CASE-средства) составляют центральную часть формализованной дисциплины выполнения проекта любого ПО ЭИС. Метод проектирования ПО представляет собой организованную совокупность процессов создания ряда моделей, которые описывают различные аспекты разрабатываемой системы с использованием четко определенной нотации.
На более формальном уровне метод определяется как совокупность следующих составляющих:
-
концепций и теоретических основ. В качестве таких основ могут выступать структурный или объектно-ориентированный подход;
-
нотаций, используемых для построения моделей статической структуры и динамики поведения проектируемой системы. В качестве таких нотаций обычно используются графические диаграммы, поскольку они наиболее наглядны и просты в восприятии (диаграммы потоков данных и диаграммы "сущность-связь" для структурного подхода, диаграммы вариантов использования, диаграммы классов и др. - для объектно-ориентированного подхода);
• процедуры, определяющей практическое применение метода (последовательность и правила построения моделей, критерии, используемые для оценки результатов).
Методы реализуются через конкретные технологии и поддерживающие их методики, стандарты и инструментальные средства, которые обеспечивают выполнение процессов ЖЦ ПО.
Технология проектирования ПО определяется как совокупность технологических операций проектирования (рис. 1.6) в их последовательности и взаимосвязи, приводящая к разработке проекта ПО.
1.3.2. Требования к технологии
Современная технология проектирования ПО ЭИС должна обеспечивать:
• соответствие стандарту ISO/IEC 12207 (поддержка всех процессов ЖЦ ПО);
• гарантированное достижение целей разработки ЭИС в рамках установленного бюджета, с заданным качеством и в установленное время;
-
возможность декомпозиции проекта на составные части, разрабатываемые группами исполнителей ограниченной численности (3-7 человек), с последующей интеграцией составных частей;
-
минимальное время получения работоспособного ПО ЭИС. Речь идет не о сроках готовности всей ЭИС, а о сроках реализации отдельных подсистем. Реализация ПО ЭИС в целом в короткие сроки может потребовать привлечения большого числа разработчиков. При этом эффект может оказаться ниже, чем при реализации в более короткие сроки отдельных подсистем меньшим числом разработчиков. Практика показывает, что даже при наличии полностью завершенного проекта внедрение ЭИС зачастую идет последовательно по отдельным подсистемам;
-
независимость получаемых проектных решений от средств реализации ЭИС (СУБД, операционных систем, языков и систем программирования);
• поддержка комплексом согласованных CASE-средств, обеспечивающих автоматизацию процессов, выполняемых на всех стадиях ЖЦ. Общий подход к оценке и выбору CASE-средств, примеры комплексов CASE-средств описаны в главе 4.
Современные технологии поставляются, как правило, в электронном, виде вместе с CASE-средствами и включают библиотеки процессов, шаблонов, методов, моделей и других компонентов, предназначенных для построения ПО того класса систем, на который ориентирована технология. Электронные технологии включают также средства, которые должны обеспечивать их адаптацию для конкретных пользователей и развитие по результатам выполнения конкретных проектов.
Процесс адаптации заключается в удалении ненужных процессов и действий ЖЦ, компонентов методов, в изменении неподходящих или в добавлении собственных процессов и действий, а также методов, методик, стандартов и руководств. Настройка технологии может осуществляться также по следующим параметрам: стадии ЖЦ, участники проекта, используемые модели ЖЦ и др.
Электронные технологии (и поддерживающие их CASE-средства) составляют ядро комплекса согласованных инструментальных средств среды разработки ЭИС. В главе 5 рассмотрены некоторые промышленные технологии проектирования ПО, созданные ведущими мировыми фирмами — разработчиками ПО.
Реальное применение любой технологии проектирования ПО ЭИС в конкретной организации и конкретном проекте невозможно без выработки ряда стандартов (правил, соглашений), которые должны соблюдаться всеми участниками проекта (это особенно актуально при коллективной разработке ПО большим количеством групп специалистов). К таким стандартам относятся следующие:
-
стандарт проектирования;
-
стандарт оформления проектной документации;
-
стандарт интерфейса конечного пользователя с системой.
Стандарт проектирования. Он должен устанавливать:
-
набор необходимых моделей (диаграмм) на каждой стадии проектирования и степень их детализации;
-
правила фиксации проектных решений на диаграммах, в том числе правила именования объектов (включая соглашения по терминологии), набор атрибутов для всех объектов и правила их заполнения на каждой стадии, правила оформления диаграмм (включая требования к форме и размерам объектов) и т. д.;
-
требования к конфигурации рабочих мест разработчиков, включая настройки операционной системы, настройки CASE-средств и т. д.;
-
механизм обеспечения совместной работы над проектом, в том числе правила интеграции подсистем проекта, правила поддержания проекта в одинаковом для всех разработчиков состоянии (регламент обмена проектной информацией, механизм фиксации общих объектов и т. д.), правила анализа проектных решений на непротиворечивость и т. д.
Стандарт оформления проектной документации. Он должен устанавливать:
• комплектность, состав и структуру документации на каждой стадии проектирования (в соответствии со стандартом ГОСТ Р ИСО
9127-94 "Системы обработки информации. Документация пользователя и информация на упаковке потребительских программных пакетов");
-
требования к оформлению документации (включая требования к содержанию разделов, подразделов, пунктов, таблиц и т. д.);
-
правила подготовки, рассмотрения, согласования и утверждения документации с указанием предельных сроков для каждой стадии;
-
требования к настройке издательской системы, используемой в качестве встроенного средства подготовки документации;
• требования к настройке CASE-средств для обеспечения подготовки документации в соответствии с установленными правилами.
Стандарт интерфейса конечного пользователя с системой. Он должен регламентировать:
-
правила оформления экранов (шрифты и цветовая палитра), состав и расположение окон и элементов управления;
-
правила использования клавиатуры и мыши;
-
правила оформления текстов помощи;
-
перечень стандартных сообщений;
-
правила обработки реакции пользователя.
Следует запомнить:
1. Одним из базовых понятий программной инженерии является понятие жизненного цикла программного обеспечения (ЖЦ ПО). Жизненный цикл программного обеспечения определяется как период времени, который начинается с момента принятия решения о необходимости создания ПО и заканчивается в момент его полного изъятия из эксплуатации.
-
Под моделью ЖЦ ПО понимается структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении ЖЦ. Наиболее распространенными моделями являются каскадная и спиральная.
-
Центральную часть формализованной дисциплины выполнения проекта любого ПО ЭИС составляют методы и инструментальные средства проектирования (CASE-средства). Методы реализуются через конкретные технологии и поддерживающие их методики, стандарты и инструментальные средства, которые обеспечивают выполнение процессов ЖЦ ПО.
Основные понятия:
Программная инженерия, программное обеспечение, жизненный цикл программного обеспечения, процессы жизненного цикла. Модель ЖЦ ПО, стадия ЖЦ ПО, каскадная модель, спиральная модель.
Метод, технология проектирования ПО.
Вопросы для самоконтроля
-
Что такое жизненный цикл программного обеспечения?
-
Чем регламентируется ЖЦ ПО?
-
Какие группы процессов входят в состав ЖЦ ПО и какие процессы входят в состав каждой группы?
-
Какие из процессов, по вашему мнению, наиболее часто используются в реальных проектах, какие в меньшей степени и почему?
-
Что понимается под стадией ЖЦ ПО и какие стадии входят в его состав?
-
Каково соотношение между стадиями и процессами ЖЦ ПО?
-
Каковы принципиальные особенности каскадной модели?
-
В чем заключаются преимущества и недостатки каскадной модели?
-
Каковы принципиальные особенности спиральной модели?
-
В чем состоят преимущества и недостатки спиральной модели?
-
Каким образом определяются метод и технология проектирования ПО?
-
Каким требованиям должна удовлетворять технология проектирования ПО?
-
Какие стандарты необходимы для выполнения конкретного проекта?