CASE. Структурный системный анализ.
Часть 2
МЕТОДОЛОГИИ СТРУКТУРНОГО
СИСТЕМНОГО АНАЛИЗА И ПРОЕКТИРОВАНИЯ
Методология структурного анализа и проектирования ПО определяет
руководящие указания для оценки и выбора проекта разрабатываемого ПО, шаги
работы, которые должны быть выполнены, их последовательность, правила
распределения и назначения операций и методов.
В настоящее время успешно используются практически все известные
методологии структурного анализа и проектирования, однако наибольшее
распространение получили методологии SADT (Structured Analysis and Design
Technique), структурного системного анализа Гейна-Сарсона (Gane-Sarson),
структурного анализа и проектирования Йодана/Де Марко (Yourdon/DeMarko),
развития систем Джексона (Jackson), развития структурных систем
Варнье-Орра (Wamier-Orr), анализа и проектирования систем реального
времени Уорда-Меллора (Ward-Mellor) и Хатли (Hatley), информационного
моделирования Мартина (Martin).
Перечисленные структурные методологии жестко регламентируют фазы
анализа требований и проектирования спецификаций и отражают подход к
разработке ПО с позиций рецептов "кулинарной книги". Спецификации
требований включают особенности ПО и его прогнозируемые характеристики,
проекты пользовательских интерфейсов (меню, экраны и формы), критерий
работоспособности ПО, программное и аппаратною Окружение. Полученный
документ спецификаций требований в дальнейшем преобразуется в проект
архитектуры, детализирующий предполагаемую реализацию ПО. Проект
архитектуры идентифицирует главные модули, маршруты СВЯЗИ ПО данным и
управлению между модулями, основные подпрограммы внутри каждого модуля,
структуры данных, спецификации форматов ВХОДНЫХ И ВЫХОДНЫХ файлов. Для
ключевых процессов проектные спецификации часто включают детали алгоритмов
на языке проектирования миниспецификаций. Обычно Предлагается следующая
последовательность шагов при проектировании спецификаций:
¦ разделение проекта на 10-50 модулей;
¦ организация иерархии модулей;
¦ определение маршрутов данных между модулями;
¦ определение форматов внешних файлов;
¦ определение способов доступа к внешним файлам;
¦ определение структур данных;
¦ проектирование ключевых алгоритмов;
¦ определение подпрограмм внутри каждого модуля.
Структурные методологии предлагают методику трансляции проектных
спецификаций в модель реализации, в дальнейшем используемую при
кодогенерации. Кодогенерация предполагает наличие кодовых стандартов,
специфицирующих формат заголовков подпрограмм, ступенчатый вид вложенных
блоков, номенклатуру для спецификации переменных и имен подпрограмм и т.п.
Несмотря на достаточно широкий спектр используемых методов и
диаграммных техник, большинство методологий базируется на следующей
"классической" совокупности:
¦ диаграммы потоков данных в нотации Йодана/Де Марко или
Гейна-Сарсона, обеспечивающие анализ требований и функциональное
проектирование информационных систем;
¦ расширения Хатли и Уорда-Меллора для проектирования систем
реального времени, основанные на диаграммах переходов состояний,
таблицах и деревьях решений, картах и схемах потоков управления;
¦ диаграммы "сущность-связь" (в нотации Чена или Баркера) или
скобочные диаграммы Варнье-Орра для проектирования структур данных,
схем БД, форматов файлов как части всего проекта;
¦ структурные карты Джексона и/или Константайна для проектирования
межмодульных взаимодействий И внутренней структуры модулей,
позволяющие развить модель анализа, построенную на базе
перечисленных средств, до модели реализации.
|