Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

CASE. Структурный системный анализ.


ГЛАВА 7. СРЕДСТВА СТРУКТУРНОГО ПРОЕКТИРОВАНИЯ
---------------------------------------------

В предыдущих главах были рассмотрены средства структурного системного
анализа, применение которых позволяет построить модель требований (или
логическую модель) системы, состоящую из множества взаимосвязанных
диаграмм, текстов и словаря данных. Используемые на этом этапе диаграммные
техники включают DFD, ERD, STD и спецификации процессов. Модель требований
описывает, что должна делать проектируемая система без ссылок на то, как
это достигается.

Проектирование - фаза ЖЦ, на которой вырабатывается реализация
требований пользователя, которые порождены и зафиксированы на фазе
анализа. На этом этапе осуществляется построение модели реализации (или
физической модели), демонстрирующей, как система будет удовлетворять
предъявленным к ней требованиями (без технических подробностей). Модель
реализации является расширением модели требований и состоит из
взаимосвязанных диаграмм (DFD, STD, ERD, структурные карты), текстов и
словаря данных.

Техника структурных карт используется на фазе проектирования для
того, чтобы продемонстрировать, каким образом системные требования будут
отражаться комбинацией программных структур. При этом наиболее часто
применяются две техники: структурные карты Константайна (Constantine),
предназначенные для описания отношений между модулями, и структурные карты
Джексона (Jackson), предназначенные для описания внутренней структуры
модулей.

Структурные карты Константайна
---------------------------------------------------------------------
Базовыми строительными блоками программной системы являются модули.
Все виды модулей в любом языке программирования имеют ряд общих свойств,
ниже перечисленные из которых существенны при структурном проектировании:

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

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

¦ модуль может принимать и/или передавать данные как параметры в
вызывающей последовательности или связывать данные через
фиксированные ячейки или общие области.

Структурные карты Константайна являются моделью отношений иерархии
между программными модулями. Узлы структурных карт соответствуют модулям и
областям данных, потоки изображают межмодульные вызовы. При этом
циклические и условные вызовы модулей моделируются специальными узлами,
поэтому потоки должны быть изображены проходящими через эти специальные
узлы. Межмодульные связи по данным и управлению также моделируются
специальными узлами, привязанными к потокам (т.е. к вызовам модулей),
стрелками указываются направления потоков и связей. Фундаментальные
элементы структурных карт в соответствии со стандартами IBM, ISO и ANSI
приведены на рис. 7.1.

Рис. 7.1: Элементы структурных карт

Базовым элементом структурной карты является модуль. Возможно
использовать различные типы модулей (см. рис.7.2):

Рис. 7.2: Типы модулей

¦ Собственно модуль. Используется для представления обрабатывающего
фрагмента для его локализации на диаграмме.

¦ Подсистема. Ранее определенный модуль, детализированный посредством
декомпозиции ранее определенных диаграмм. Может повторно
использоваться любое число раз на любых структурных картах.

¦ Библиотека. Отличается от подсистемы тем, что определена вне
проекта данной системы.

¦ Область данных. Используется для указания модулей, содержащих
исключительно области глобальных/распределенных данных.

При построении структурных карт добавление модулей и увязывание их
вместе осуществляется с использований потоков, демонстрирующих иерархию
вызовов. Типы используемых при этом потоков приведены на рис. 7.3. При
последовательном вызове модули вызываются в порядке их следования. При
параллельном вызове модули могут вызываться в любом порядке или
одновременно (параллельно).

Рис. 7.3: Типы вызовов модулей

Для моделирования условных и циклических вызовов применяются
следующие узлы (рис.7.4):

Рис. 7.4: Условные и циклические вызовы модулей

Условный узел используется для условного вызова модуля-потомка. Он
изображается с помощью ромба, потоки - альтернативные вызовы изображаются
выходящими из него. Таким образом, если из ромба выходят два потока это
соответствует конструкции IF-THEN-ELSE, если один поток - конструкции
IF-THEN.

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

Если необходимо показать, что подчиненный модуль не вызывается
повторно при активации главного, это осуществляется указанием цифры "1" в
главном модуле напротив потока-вызова наследника.

Связи по данным и управлению между модулями (передаваемые как
параметры) раскрываются аннотированием потоков-вызовов (рис. 7.5).
Стрелками отмечаются направления связей.

Рис. 7.5: Связи по данным и управлению

Пример структурной карты, описывающей межмодульные отношения в
рассмотренном ранее фрагменте банковской системы, приведен на рис. 7.6.

Рис. 7.6: Пример структурной карты Константайна


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

По аналогии со структурными картами Константа диаграмма Джексона
может включать объекты следующих типов:

¦ Структурный блок (базовый компонент методологии) представляет
элементарную функцию или блок кодов с одним входом и одним выходом.

¦ Процедурный блок является специальным видом структурного блока,
представляющим вызов ранее определенной в модели процедуры.

¦ Библиотечный блок аналогичен процедурному и представляет вызов
библиотечного модуля.

Для взаимосвязывания блоков используются связи следующих типов:

¦ последовательная связь, обеспечивающая последовательное выполнение
слева направо;

¦ параллельная связь, обеспечивающая одновременное выполнение блоков;

¦ условная связь, обеспечивающая выбор одной из альтернатив;

¦ итерационная связь, обеспечивающая выполнение блока в цикле.

Пример структурной карты Джексона для фрагмента банковской системы
приведен на рис 7.7.

Рис. 7.7: Структурная карта Джексона



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте