Средства структурного анализа и их взаимосвязи

Прежде чем подробно рассмотреть каждое из основ­ных инструментальных средств структурного анализа, необходимо обсудить их в общем виде и продемонстри­ровать их взаимосвязи.

Для целей моделирования систем вообще, и структур­ного анализа в частности, используются три группы средств, иллюстрирующих:

- функции, которые система должна выполнять;

- отношения между данными;

- зависящее от времени поведение системы (аспекты реального времени).

 

Среди всего многообразия средств решения данных за­дач в методологиях структурного анализа наиболее час­то и эффективно применяемыми являются следующие:

DFD (Data Flow Diagrams) — диаграммы потоков данных совместно со словарями данных и спецификациями процессов;

ERD (Entity-Relationship Diagrams) — диаграммы "сущность-связь";

STD (State Transition Diagrams) — диаграммы пе­реходов состояний.

 

Все они содержат графические и текстовые средства моделирования: первые — для удобства демонстрирования основных компонентов модели, вторые — для обеспечения точного определения ее компонентов и связей.

Логическая DFD показывает внешние по отношению к системе источники и стоки (адресаты) данных, иден­тифицирует логические функции (процессы) и группы элементов данных, связывающие одну функцию с другой (потоки), а также идентифицирует хранилища (накопи­тели) данных, к которым осуществляется доступ. Структу­ры потоков данных и определения их компонентов хранятся и анализируются в словаре данных. Каждая логическая функция (процесс) может быть детализирована с помо­щью DFD нижнего уровня; когда дальнейшая детализация перестает быть полезной, переходят к выражению логики функции при помощи спецификации процесса (мини-спецификации). Содержимое каждого хранилища также сохраняют в словаре данных, модель данных хранилища раскрывается с помощью ERD. В случае наличия реаль­ного времени DFD дополняется средствами описания зави­сящего от времени поведения системы, раскрывающимися с помощью STD. Эти связи показаны на рисунке А.4.6.

Перечисленные средства дают полное описание сис­темы независимо от того, является ли она существующей или разрабатываемой с нуля. Таким образом строится ло­гическая функциональная спецификация — подробное опи­сание того, что должна делать система, освобожденное насколько это возможно от рассмотрения путей реализа­ции. Это дает проектировщику четкое представление о конечных результатах, которые следует достигать.

 

Рисунок А.4.6 - Компоненты логической модели

 

Диаграммы потоков данных (DFD) являются основным средством моделирования функциональных требований проектируемой системы. С их помощью эти требования разбиваются на функциональные компоненты (процес­сы) и представляются в виде сети, связанной потоками данных. Главная цель таких средств — продемонстриро­вать, как каждый процесс преобразует свои входные данные в выходные, а также выявить отношения между этими процессами.

Для изображения DFD традиционно используются две различные нотации: Иодана (Yourdon) и Гейна-Сарсона (Gane-Sarson). Далее при построении примеров будет использоваться нотация Иодана, все исключения будут предварительно оговариваться.

 


Основные символы DFD

Основные символы DFD изображены на рисунке А.4.7. Опи­шем их назначение. На диаграммах функциональные требования представляются с помощью процессов и храни­лищ, связанных потоками данных.

1) Потоки данных (Flow) являются механизмами, использующимися для моделирования передачи информации (или даже физических компонентов) из одной части системы в другую. Потоки на диаграммах обычно изображаются именованными стрелками, ориентация которых указывает направление движения информации. Иногда информация может двигаться в одном направлении, обрабатываться и возвращаться назад в ее источник. Такая ситуация может моделироваться либо двумя различными потоками, либо одним - двунаправленным.

2) Назначение процесса (Process) состоит в преобразовании входных потоков в выходные в соответствии с действием, задаваемым именем процесса. Это имя должно содержать глагол в неопределенной форме с последующим дополнением (например, вычислить максимальную высоту). Кроме того, каждый процесс должен иметь уникальный номер для ссылок на него внутри диаграммы. Этот номер может использоваться совместно с номером диаграммы для получения уникального индекса процесса во всей модели.

3) Хранилище (накопитель, Store) данных позволяет на определенных участках определять данные, которые будут сохраняться в памяти между процессами. Фактически хранилище представляет “срезы” потоков данных во времени. Информация, которую оно содержит, может использоваться в любое время после ее определения. Имя хранилища должно идентифицировать его содержимое и быть существительным. В случае, когда поток данных входит или выходит в/из хранилища, и его структура соответствует структуре хранилища, он должен иметь то же самое имя, которое нет необходимости отражать на диаграмме.

4) Внешняя сущность (External entity) представляет сущность вне контекста системы, являющуюся источником или приемником системных данных. Ее имя должно содержать существительное, например, СКЛАД ТОВАРОВ. Предполагается, что объекты, представленные такими узлами, не должны участвовать ни в какой обработке.

Рисунок А.4.7 - Основные символы диаграмм потоков данных