
- •Проектирование ПО
- •Структурный подход (Structured Design)
- •Выразительные средства структурного подхода
- •Функционально-ориентированный метод (Function-Oriented Methods)
- •Метод структурирования данных «Информационная инженерия»
- •Объектный подход
- •Объектная декомпозиция
- •Принципы объектно-ориентированного проектирования (Enabling Techniques)
- •1. Принцип абстрагирования (Abstraction)
- •2. Принцип инкапсуляции (Encapsulation)
- •3. Принцип модульности (Modularization)
- •4. Принцип иерархии
- •5. Принцип типизации
- •6. Принцип параллелизма (Concurrency)
- •7. Принцип сохраняемости (Data Persistence)
- •Создатели UML (Unified Modeling Language)
- •1.Структурные диаграммы (Structure diagrams)
- •2.Диаграммы поведения (Behavior diagrams)
- •Модели в жизненном цикле ПО
- •Модель проектирования
- •Модель проектирования
- •Кооперации (Collaboration)
- •Шаблоны
- •Паттерны
- •Связывание паттерна для создания кооперации
- •Каталоги паттернов
- •Описание паттерна
- •Шаблоны приложений
- •Инструментальные средства поддержки процесса проектирования
- •Rational Software Architect
- •ERwin Data Modeler R9 (Computer Associaties)
- •PowerDesigner 16 (SAP Sybase)
- •Enterprise Architect (Sparx Systems)
- •ArgoUML (Collab.Net)
- •ER/Studio (Embarcadero)
- •Средства моделирования сред программирования
- •Достоинства CASE-средств
Проектирование ПО
Тема 3. Методы проектирования. UML. CASE. Шаблоны
6/27/19 |
ИГЭУ. Кафедра ПОКС |

Структурный подход (Structured Design)
Воснове структурного проектирования лежит последовательная декомпозиция - целенаправленное структурирование на отдельные составляющие.
Взависимости от объекта структурирования различают:
•функционально-ориентированные методы;
•методы структурирования данных.
Врезультате декомпозиции получается иерархическая модульная структура.
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |
2 |
Выразительные средства структурного подхода
1)Диаграммы потоков данных (Data Flow Diagram - DFD), в нотации Йодана-Де Марко или Гейна- Сарсона - BPWin, PowerDesigner.
2)Модели процессов IDEF0, IDEF3 – BPWin. 3)Диаграммы «сущность-связь» (Entity-Relationship
Diagram - ERD) в нотации Чена, Баркера, IE, IDEF1x – ERWin, PowerDesigner.
4)Диаграммы декомпозиции.
5)Диаграммы «состояния - переходы» (STD) и конечные автоматы.
6)Структурные схемы – блок-схемы.
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |
3 |

Функционально-ориентированный метод (Function-Oriented Methods)
Метод Криса Гэйна (Chris Gane) и Триш Сэрсон (Trish Sarson):
1.Разработка DFD, охватывающей весь программный продукт.
2.Получение наброска модели данных
3.Построение ER-диаграммы.
4.Проведение нормализации данных.
5.Перестройка диаграммы потоков данных.
6.Разбиение логической модели процессов на процедурные единицы.
7.Определение для каждой процедурной единицы
деталей, которые потребуются для реализации |
|
Подход прекрасно подходит для бизнес-анализа и системного |
|
программного продукта. |
|
анализа. |
|
С помощью нотации DFD хорошо описывалась процедурная |
|
логика программ, написанных в прошлом на языках типа COBOL |
|
или Clipper. |
4 |
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |

Метод структурирования данных «Информационная инженерия»
В основе метода лежат 2 положения:
1)данные, циркулирующие в организации, дают более стабильную базу для проектирования систем, чем процедуры по их обработке;
2)данные должны рассматриваться независимо от того, как они сейчас обрабатываются.
Фазы информационной инженерии:
Джеймс |
Клайв |
Мартин (James |
Финкельштейн |
Martin) |
(Clive Finkelstein) |
1.Разрабатывается функциональная модель и концептуальная модель предметной области всего предприятия.
2.Выделяются подсистемы. Строятся ER-модели и матрицы «сущности-процессы».
3.Системное проектирование. Формируется детальная
модель, которая включает диаграммы: декомпозиции
процессов, зависимости процессов, потоков данных, действий, структур данных.
4Проектирование.ВыполняетсяПО. Методетальноеы проектированияконструирование. UML. CASE. Шаблоны процедур 5
обработки данных.

Объектный подход
Объектно-ориентированный подход (object-oriented approach) представляет систему в виде взаимодействующих объектов, которые имеют собственное локальное состояние и могут выполнять набор операций, определяемых этим состоянием.
Объектно-ориентированный анализ (ООА) представляет
собой методологию анализа предметной области, основанную на преимущественном выявлении её объектов и
установлении взаимных связей между ними.
Объектно-ориентированное проектирование (ООПр, Object- Oriented Design) является методологией проектирования, соединяющей процесс объектной декомпозиции и приёмы представления моделей проектируемой системы, как на логическом и физическом уровнях, так в статической и
динамической формах.
Объектно-ориентированная технология (ООТ) – это совокупность языков, инструментальных средств и методологии, предназначенных для разработки ПО, ядром которого являются объекты.
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |
6 |

Объектная декомпозиция
|
|
1. op1() |
1.1. |
|
||
|
|
|
|
|
op2() |
|
:A |
|
|
|
:B |
:C |
|
|
|
|
||||
|
|
|
||||
|
|
|
|
|||
|
|
|
|
|
|
|
Клиент Сервер
При объектной декомпозиции система разбивается на «активные сущности» (объекты или компоненты), которые взаимодействуют друг с другом, обмениваясь сообщениями и находясь в отношении «клиент-сервер». Сообщения, которые может принимать объект, определены в его интерфейсе. В этом смысле посылка сообщения
«объекту-серверу» эквивалентна вызову соответствующего метода
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны 7
объекта.

Принципы объектно-ориентированного проектирования (Enabling Techniques)
1)абстрагирован
ие,
2)инкапсуляция,
3)модульность,
4)иерархия,
5)типизация,
6)параллелизм,
7)сохраняемость.
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |
8 |

1. Принцип абстрагирования (Abstraction)
Абстракция выделяет существенные характеристики некоторого объекта, отличающие его от всех других видов объектов и, таким образом, четко определяет его концептуальные границы с точки зрения наблюдателя.
|
Абстракция |
Объект представляет собой полезную |
|
|
сущности |
модель некой сущности в предметной |
|
|
Абстракция |
области |
|
|
Объект состоит из обобщенного |
|
|
|
поведения |
множества операций |
|
|
Абстракция |
Объект группирует операции, которые |
|
|
виртуальной |
либо вместе используются более высоким |
|
|
машины |
уровнем управления, либо сами |
|
|
|
используют некоторый набор операций |
|
|
|
более низкого уровня |
|
|
Произвольная Объект включает в себя набор операций, |
|
|
|
абстракция |
не имеющих друг с другом ничего общего |
|
Проектирование ПО. Методы про ктирования. UML. CASE. Шаблоны |
9 |

2. Принцип инкапсуляции (Encapsulation)
Инкапсуляция -- это процесс отделения друг от друга
элементов объекта, определяющих его устройство и поведение; инкапсуляция служит для того, чтобы изолировать контрактные обязательства абстракции от их реализации.
Абстракция и инкапсуляция дополняют друг друга: абстрагирование направлено на наблюдаемое поведение объекта, а инкапсуляция занимается внутренним устройством.
Скрываются и внутренняя структура объекта и реализация его методов, не влияющие на внешнее поведение объекта.
В интерфейсной части собрано все, что касается взаимодействия данного объекта с другими объектами.
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |
10 |