Метод структурного анализа базируется на ряде общих принципов, перечисленных ниже.
1. Принцип декомпозиции и иерархического упорядочивания, который заключается в разбиении большой и сложной проблемы на множество меньших независимых подзадач, легких для понимания и решения. Причем декомпозиция может осуществляться и для уже выделенных подзадач. В результате такой последовательной декомпозиции специфицируемая система может быть понята и построена по уровням иерархии, каждый из которых добавляет новые детали.
2. Принцип абстрагирования заключается в выделении существенных с некоторых позиций аспектов системы и отвлечения от несуществующих с целью представления проблемы в удобном общем виде.
3. Принцип формализации заключается в необходимости строгого методологического подхода и решению проблемы.
4. Принцип сокрытия заключается в "упрятывании" несущественной на определенном этапе информации: каждая часть "знает" только то, что необходимо.
5. Принцип полноты заключается в контроле на присутствие лишних элементов.
|
|
6. Принцип непротиворечивости заключается в обоснованности и согласованности элементов.
7. Принцип логической независимости заключается в концентрации внимания на логическом проектировании для обеспечения независимости от физического исполнения.
8. Принцип независимости данных заключается в том, что модели данных должны быть проанализированы и спроектированы независимо от процессов их логической обработки, а также от их физической структуры и распределения в памяти вычислительной системы.
9. Принцип структурирования данных заключается в том, что данные должны быть структурированы и иерархически организованы.
Руководствуясь всеми принципами в комплексе, можно на этапе специфицирования понять, что будет представлять из себя разрабатываемое программное обеспечение, обнаружить промахи и недоработки, что, в свою очередь, облегчит работы на последующих этапах жизненного цикла.
Для целей специфицирования систем в структурном анализе используются три группы средств, иллюстрирующих:
* функции, которые система должна выполнять;
* отношения между данными;
* зависящее от времени поведение системы (аспекты реального времени).
Для этого применяются:
* DFD (Data Flow Diagrams) – диаграммы потоков данных совместно со словарями данных и спецификациями процессов;
* ERD (Entity–Relationship Diagrams) – диаграммы сущность–связь;
* STD (State Transition Diagrams) – диаграммы переходов–состояний.
Все они содержат графические и текстовые средства описания: первые – для удобства демонстрирования компонентов модели, вторые – для обеспечения точного определения ее компонентов и связей.
|
|
DFD показывает внешние по отношению к системе источники и приемники данных, идентифицирует логические функции (процессы) и группы элементов данных, связывающие одну функцию с другой (потоки), а также идентифицирует хранилища (накопители данных), к которым осуществляется доступ. Структуры потоков данных и определение их компонентов хранятся в словаре данных. Каждая логическая функция может быть детализирована DFD нижнего уровня. Когда детализация исчерпана, переходят к описанию логики с помощью спецификации процесса.
Структура каждого хранилища описывается с помощью ERD. В случае наличия реального времени DFD дополняется средствами описания, зависящего от времени поведения системы, которые описываются с помощью STD. Эти связи показаны на рис. 6.
Рис. 6. Взаимосвязь средств структурного анализа