3.1.3. Понятия метода и технологии проектирования ПО

Методы и инструментальные средства проектирования (CASE-средства) составляют центральную часть формализованной дисцип­лины выполнения проекта любого ПО ЭИС. Метод проек­тирования ПО представляет собой организованную совокуп­ность процессов создания ряда моделей, которые описывают различ­ные аспекты разрабатываемой системы с использованием четко определенной нотации.

На более формальном уровне метод определяется как совокуп­ность следующих составляющих:

· концепций и теоретических основ. В качестве таких основ могут выступать структурный или объектно-ориентированный подход;

· нотаций, используемых для построения моделей статической структуры и динамики поведения проектируемой системы. В ка­честве таких нотаций обычно используются графические диаграммы, поскольку они наиболее наглядны и просты в восприя­тии (диаграммы потоков данных и диаграммы «сущность – связь» для структурного подхода, диаграммы вариантов использования, диаграммы классов и др. для объектно-ориентированного под­хода);

·

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

  

Рис. 3.5. Контекст технологической операции

 проектирования

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

Современная технология проектирования ПО ЭИС должна обеспечивать:

· соответствие стандарту ISO/IEC 12207 (поддержка всех процессов ЖЦ ПО);

· гарантированное достижение целей разработки ЭИС в рамках установленного бюджета, с заданным качеством и в установленное время;

· возможность декомпозиции проекта на составные части, разрабатываемые группами исполнителей ограниченной численности (3 – 7 человек), с последующей интеграцией составных частей;

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

· независимость получаемых проектных решений от средств реализации ЭИС (СУБД, операционных систем, языков и систем программирования);

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

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

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

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

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

· проектирования;

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

· интерфейса конечного пользователя с системой.

Стандарт проектирования должен устанавливать:

· набор необходимых моделей (диаграмм) на каждой стадии проектирования и степень их детализации;

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

· требования к конфигурации рабочих мест разработчиков, включая настройки операционной системы, настройки CASE-средств и т.д.;

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

Стандарт оформления проектной документации должен устанавливать:

· комплектность, состав и структуру документации на каждой стадии проектирования (в соответствии с ГОСТ Р ИСО 9127 – 94 «Системы обработки информации. Документация пользова­теля и информация на упаковке потребительских программных па­кетов»);

· требования к оформлению документации (включая требования к содержанию разделов, подразделов, пунктов, таблиц и т.д.);

· правила подготовки, рассмотрения, согласования и утвержде­ния документации с указанием предельных сроков для каждой стадии;

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

· требования к настройке CASE-средств для обеспечения подготовки документации в соответствии с установленными правилами.

Стандарт интерфейса конечного пользователя с системой должен регламентировать:

· правила оформления экранов (шрифтов и цветовой палитры), состав и расположение окон и элементов управления;

· правила использования клавиатуры и мыши;

· правила оформления текстов помощи;

· перечень стандартных сообщений;

· правила обработки реакции пользователя.