Методы структурного анализа и проектирования
В структурном анализе и проектировании используются различные модели, описывающие:
• Функциональную структуру системы;
• Последовательность выполняемых действий;
• Передачу информации между функциональными процессами;
• Отношения между данными.
Наиболее распространенными моделями первых трех групп являются:
• функциональная модель SADT (StructuredAnalysisandDesignTechnique)- Метод SADT представляет собой совокупность правил и процедур, предназначенных для построения функциональной модели объекта какой-либо предметной области. Функциональная модель SADT отображает функциональную структуру объекта, т.е. производимые им действия и связи между этими действиями. Метод SADT разработан Дугласом Россом (SoftTech, Inc.) в 1969 г. для моделирования искусственных систем средней сложности);
• модель IDEF3-часть семейства стандартов IDEF, был разработан в конце 1980-х годов для закрытого проекта ВВС США. Этот метод предназначен для таких моделей процессов, в которых важно понять последовательность выполнения действий и взаимозависимости между ними. Хотя IDEF3 и не достиг статуса федерального стандарта США, он приобрел широкое распространение среди системных аналитиков как дополнение к методу функционального моделирования IDEF0 (модели IDEF3 могут использоваться для детализации функциональных блоков IDEF0, не имеющих диаграмм декомпозиции). Основой модели IDEF3 служит так называемый сценарий процесса, который выделяет последовательность действий и подпроцессов анализируемой системы.;
• DFD (DataFlowDiagrams) - диаграммы потоков данных- представляют собой иерархию функциональных процессов, связанных потоками данных. Цель такого представления - продемонстрировать, как каждый процесс преобразует свои входные данные в выходные, а также выявить отношения между этими процессами.
Принципы объектно-ориентированного анализа и проектирования
1.принцип абстрагирования – предписывает включать в модель только те аспекты предметной области, которые имеют непосредственное отношение к выполнению проектируемой системой своих функций; абстрагирование сводится к формированию абстракций, определяющих основные характеристики внешнего представления объектов; 2.принцип инкапсуляции – предписывает разделять элементы абстракции на секции с различной видимостью, что позволяет отделить интерфейс абстракции от его реализации; обычно скрываются структура объектов и реализация их методов;
3. принцип модульности – определяет возможность декомпозиции проектируемой системы на совокупность сильно связанных и слабо сцепленных модулей (определение модулей выполняется при физической разработке системы, определение классов и объектов – при логической разработке;
4. принцип иерархии – означает формирование иерархической структуры· абстракций; принцип предписывает выполнять иерархическое построение мо- делей сложных систем на различных уровнях детализации;
5. принцип многомодельности – обозначает, что при моделировании предметной области необходимо разрабатывать различные модели проектируемой сложной системы, отражающие различные аспекты ее поведения или структуры.
Виды отношений между объектами
Между объектами существуют два основных вида отношений: связи и агрегация. Связь – это равноправное (клиент-серверное) отношение между объекта- ми, обозначающее физическое или логическое соединение между ними. С по- мощью связей перемещаются данные между объектами и вызываются операции объектов. Агрегация – это иерархическое отношение объектов вида «целое – часть».
Виды диаграмм языка UML
Для моделирования различных аспектов предметной области или проектируемой системы в языке UML предусмотрены следующие виды диаграмм :
· диаграмма вариантов использования (UseCaseDiagram);
· диаграмма классов (ClassDiagram);
· диаграммы поведения (BehaviorDiagram), в том числе: диаграмма состояний (StatechartDiagram);
· диаграмма деятельности (ActivityDiagram);
· диаграммы взаимодействия (InteractionDiagram), в том числе: диаграмма последовательности (SequenceDiagram);
· диаграмма кооперации (CollaborationDiagram);
· диаграммы реализации (ImplementationDiagram), в том числе: диаграмма компонентов (ComponentDiagram);
· диаграмма развертывания (DeploymentDiagram)
Язык UML Модели языка UML
Язык UML – это язык визуального моделирования, позволяющий разрабатывать концептуальные, логические и физические модели сложных систем. Он предназначен для визуализации, анализа, спецификации, проектирования и документирования предметных областей, сложных систем вообще и ПС в частности.
Модели языка UML подразделяются на два вида: структурные модели (статические модели) описывают структуру сущностей предметной области или компонентов моделируемой системы, включая их классы, атрибуты, связи, интерфейсы; к данному виду моделей относятся диаграммы вариантов использования, классов, компонентов, развертывания; модели поведения (динамические модели) описывают функционирование сущностей предметной области или компонентов системы во времени, включая их методы, взаимодействия между ними, изменение состояний отдельных сущностей, компонентов и системы в целом; к данному виду моделей относятся диаграмма состояний, диаграмма деятельности, диаграмма последовательности, диаграмма кооперации.
Уровни моделей языка UML
Все модели языка UML подразделяются на три уровня:
· концептуальные модели представляют собой верхний, наиболее общий и абстрактный уровень описания моделируемой системы; к данному уровню относится диаграмма вариантов использования; с уровня концептуальной модели должно начинаться моделирование предметной области или проектируемой системы (программного средства);
· логические модели представляют собой второй уровень описания моделируемой системы; элементы моделей данного уровня не имеют физического воплощения и отражают логические аспекты структуры и поведения реальной предметной области или системы; логические модели должны строиться после концептуальных моделей; к данному уровню относятся диаграммы классов, состояний, деятельности, последовательности, кооперации;
· физические модели представляют собой нижний уровень описания моделируемой системы; элементы моделей данного уровня представляют собой 233 конкретные материальные сущности физической системы; данные модели рекомендуется строить в последнюю очередь; к данному уровню относятся диаграммы компонентов и развертывания.
61. Диаграмма вариантов использования
Диаграмма вариантов использования (UseCaseDiagram) определяет функциональное назначение моделируемой системы или предметной области. Данная диаграмма отображает множество актеров, взаимодействующих с проектируемой системой (программным средством) с помощью вариантов использования. Таким образом, основными элементами диаграммы вариантов использования являются актер и вариант использования.
Актер – это внешняя по отношению к моделируемой системе сущность, взаимодействующая с системой для решения некоторых задач. В качестве актера может использоваться человек, другая система, устройство или программное средство. Вариант использования определяет некоторый набор действий (операций), которые должны быть выполнены моделируемой системой или программным средством при взаимодействии с актером.
62. Виды отношений между элементами на диаграммах вариантов использования
На диаграммах вариантов использования определены следующие виды отношений между отдельными элементами:
· отношение ассоциации(определено для всех видов диаграмм языка UML. На диаграммах вариантов использования данное 238 отношение связывает актеров с вариантами использования и определяет конкретную роль актера при взаимодействии с вариантом использования);
· отношение включения(может иметь место между двумя вариантами использования. Данное отношение определяет, что последовательность действий одного варианта использования (включаемого) включается в качестве составной части в последовательность действий другого варианта использования (базового));
· отношение расширения(может существовать между двумя вариантами использования. Данное отношение определяет, что некоторый вариант использования является расширением для другого варианта использования (базового). Это означает, что последовательность действий базового варианта использования может быть дополнена последовательностью действий варианта-расширения);
· отношение обобщения(может существовать как между актерами, так и между вариантами использования. Данное отношение определяет, что некоторая сущность А является специализацией сущности В. 240 В этом случае сущность А называется потомком сущности В (дочерней сущностью), а сущность В – предком сущности А (родительской сущностью). При этом дочерние варианты использования наследуют свойства и поведение вари- антов-предков и могут наделяться новыми свойствами и поведением. Актеры- потомки наследуют все роли актеров-предков).