Структурная методология
Итак, комбинации структурных методов образуют структурные подход. Можно выделить три группы структурных подходов на основе порядка строения модели [Калянов 1996]
* Процедурно-ориентированные подходы, в которых первично проектирование функциональных компонентов.
* Подходы, ориентированные на данные. Для таких подходов первичными являются входные и выходные данные, а функциональные (процедурные) компоненты вторичны.
* Информационно-ориентированные подходы. Эта группа близка к предыдущей, но отличается тем, что работа ведется с неиерархическими структурами данных.
О классах целевых систем
Можно выделить два класса целевых систем — информационные системы (управляемые данными) и системы реального времени (управляемые событиями). Информационные системы работают с большим объемом входных данных сложной структуры. Системы реального времени работают с малым количеством входных данных простой структуры. Как правило, для проектирования систем реального времени применяются подходы, базирующиеся на подходах для информационных систем, с расширением их дополнительными диаграммными техниками.
Как правило, подходы используют две основные группы средств моделирования [Вендров 2000]
* Диаграммы, иллюстрирующие функции, которые система должна выполнять, и связи между функциями, например, диаграммы потоков данных и функционального моделирования.
* Диаграммы, моделирующие данные и их отношения. Например, диаграммы “сущность-связь”.
О применении методов к российской специфике
Для анализа и проектирования экономических информационных систем в условиях российской действительности более подходят диаграммы потоков данных [Вендров 2000]. диаграммы функционального моделирования исполняются только при описании хорошо стандартизированных процессов.
Перечислим основные подходы к ведению структурного анализа и проектирования и рассмотрим подробно некоторые из них.
* Подход Йордона и ДеМарко.
* Подход Гейна-Сарсона.
* Подход Константайна.
* Подход Джексона.
* Подход Варнье-Орра.
* Подход Мартина.
* Подход промышленной технологии DATARUN
* Подход промышленного метода Огасlе.
Подход Йордона и ДеМарко (Edward Уоrdоп and Тоm DеМагсо) является процедурно-ориентированным и наиболее часто используемым (по статистике в 36,5% случаев) [Калянов 1996]. Подход фокусирует внимание на потоках данных.
В нем интегрированы следующие средства:
* диаграммы потоков данных;
* словари данных, являющиеся каталогами всех элементов данных, присутствующих в диаграммах потоков данных;
* мини-спецификации обработки, описывающие процессы нижнего уровня. Фактически, мини-спецификации представляют собой алгоритмы описания задач, выполняемых процессами.
Подход Гейна-Сарсона (Сhris Gane and Tom Sarson) очень близок к предыдущему. Статистика утверждает, что он применяется в 20,2% случаев [Калянов 1996]. Главной отличительной чертой подхода является наличие этапа моделирования данных, определяющего содержимое хранилищ данных в диаграммах потоков данных в третьей нормальной форме. Этот этап включает:
* построение списка элементов данных, располагающихся в каждом хранилище данных;
* анализ отношений между данными и построение соответствующей диаграммы связей между элементами данных;
* представление всей информации по модели в виде связанных нормализованных таблиц.
Подход Джексона (Мichael Jackson) ориентирован на данные. Базовая процедура проектирования включает четыре этапа [Калянов 1996] [Кинг 1991].
* Этап проектирования данных. Построение системной сетевой диаграммы демонстрирующей все хранилища, источники и стоки данных в программе. Представление каждой входной и выходной структуры данных древовидной структурной диаграммой.
* Этап проектирования программ. Формирование структуры программы комбинированием структур данных. Идентификация всех связей между компонентами структур данных.
* Этап проектирования операций. Построение списка операций, необходимых для продуцирования выходных структур данных из входных. Назначение операций компонентам структуры программы.
* Этап проектирования текстов. Трансляция построенной модели программы в текстовый вид с добавлением ряда логических условий управления выполнением циклов и выбором данных.
Объектно-ориентированная методология
Перечислим основные подходы к ведению объектно-ориентированного анализа и проектирования и рассмотрим подробно некоторые из них.
· Подход на основе языка UML.
· Подход Шлеер-Меллора.
* Подход Гради Буча
* Подход Джеймса Рамбо (Оbject Modelling Technique — ОМТ)
* Подход Ивара Якобсона (Object – Oriented Software Enginiring — ООSE)
Подход на основе универсального языка моделирования UML (Unified Modeling Language) включает следующие основные типы диаграмм:
* диаграммы вариантов использования,
* диаграммы классов;
* диаграммы состояний;
* три диаграммы поведения (две последние из них также называют диаграммами взаимодействия):
• диаграммы деятельности;
• диаграммы последовательности;
• диаграммы кооперации;
две диаграммы реализации:
• диаграммы компонентов;
• диаграммы развертывания.
Подход на основе языка UML состоит из четырех основных фаз разработки, причем работа с диаграммами ведется в основном на второй и третьей фазах.
Во время второй фазы — фазы исследования — должна быть создана модель предметной области. Для этой цели наиболее естественно подходят следующие типы диаграмм:
* диаграммы вариантов использования;
* диаграммы классов;
* диаграммы деятельности.
На третьей фазе — построения — продолжается итеративная работа с такими типами диаграмм, как:
* диаграммы классов;
* диаграммы деятельности.
К ним добавляются следующие Типы диаграмм, которые определяют взаимодействие:
* диаграммы последовательности;
* диаграммы кооперации.
В случае сложного поведения системы разрабатывается еще одна группа диаграмм:
* диаграммы состояний.
Существует несколько рекомендаций, связанных с данным подходом:
• не следует стремиться к построению диаграмм всей системы;
* 80% проектов можно воплотить, используя 20% средств языка UML как правило, наиболее часто используют диаграммы классов и диаграмм деятельности.
Подход Шлеер-Меллора (Sally Shlaer and Stephen МеIIог) использует три группы средств для создания модели предметной области.
* Информационное моделирование — для определения отношений между данными (информацией). При этом используется один тип диаграмм:
Диаграммы классов.
* Моделирование состояний — для определения поведения системы, зависящего от времени ведения системы. Используются диаграммы состояний.
* Моделирование процессов — для определения функций, которые система должна выполнить. Используются:
• диаграммы деятельности;
• диаграммы последовательности.
Для анализа больших предметных областей используются диаграммы, смыслу близкие к следующим диаграммам языка UML
* диаграммы кооперации;
* диаграммы компонентов;
* диаграммы развертывания.
Подход предлагает механизм поддержки моделей состояний. Для этого вводятся четыре архитектурных класса.
* Переход, описывающий каждый переход (каждое изменение) для всех моделей состояния в программе.
* Конечная модель состояний, связывающая все экземпляры перехода, которые составляют одну модель состояний.
* Активный экземпляр. Это абстрактный класс, из которого все экземпляры, имеющие модель состояний, наследуют их текущее состояние.
* Таймер, обеспечивающий механизм функционирования таймеров на основе аппаратных средств, доступных для хранения следа времени.