
- •Проектирование ПО
- •Структурный подход (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-средств

Модель проектирования
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Проектирование |
|
Архитектурная |
|
Модель |
|
|
|
|
|
Модель анализа |
|
|||||||
|
модели |
|
|
поведения |
|
Модель классов |
|
|
|||||||||||
|
|
модель |
|
|
|
состояний |
|
||||||||||||
|
прецедентов |
|
|
объектов |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Реализации |
прецедентов |
Диаграммы |
прецедентов |
Диаграммы |
пакетов |
Диаграммы |
развертывания |
Диаграммы |
взаимодействия |
Описание |
методов и |
операций |
Диаграммы |
классов |
(диаграммы |
статической |
структуры) |
Диаграммы |
состояний |
для классов |
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |
21 |

Кооперации (Collaboration)
Кооперация – это описание совокупности объектов,
взаимодействующих для реализации определённого поведения и достижения некоторой цели.
В терминологии фирмы Rational кооперации называют реализациями вариантов использования.
Динамическая составляющая |
Статическая составляющая |
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |
22 |

Шаблоны
Шаблон (template) в технологии объектов — технология повторного использования проекта в отличие от повторного использования кода.
Шаблон обеспечивает скелет решения проблемы, который должен быть настроен и расширен, чтобы он мог выполнять полезную функцию. Настройка включает написание определенного кода, который «заполняет пробелы» в шаблоне (то есть, который реализует
различные элементы шаблона, приспосабливая их к окончательному структурному и поведенческому проекту).
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |
23 |

Паттерны
Параметризованные, то есть настраиваемые кооперации называют паттернами – patterns (образцами).
Паттерн как шаблон проекта означает и объясняет лучшие и широко подтвержденные теорией и практикой решения задач проектирования.
Он является решением типичной проблемы в определенном контексте.
Паттерн Observer (Наблюдатель) из книги |
|
Эриха Гаммы |
24 |
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |

Связывание паттерна для создания кооперации
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |
25 |

Каталоги паттернов
Названи
е
GoF
GRASP
PCMEF
PEAA
Core
J2EE
Описание
Паттерны «Банды четырех» (Gang of Four — GoF).
Авторы: Эрих Гамма (Erich Gamma), Ричард Хелм
(Richard Helm), Ральф Джонсон (Ralph Johnson), Джон Влиссидес (John Vlissides).
Общие паттерны распределения обязанностей в
программных системах (General Responsibility
Assignment Software Patterns). Автор: Крэг Ларман
(Craig Larman)
Паттерны (Presentation-Controller-Mediator-Entity-
Foundation) Автор: Лешек Мацяшек (Leszek
Maciaszek)
Паттерны структуры промышленного приложения (Patterns of Enterprise Application
Architecture) Автор: Мартин Фаулер (Martin Fowler)
Паттерны ядра J2EE
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |
26 |

Описание паттерна
Раздел |
|
|
Описание |
|
|
|
|
Имя |
Выразительное имя паттерна дает возможность |
||||||
|
указать проблему проектирования, ее решение |
||||||
|
и последствия ее решения. Использование имен |
||||||
|
паттернов |
повышает |
уровень |
абстракции |
|||
Проблем |
проектирования |
|
|
|
|
|
|
Формулируется проблема проектирования (и ее |
|||||||
а |
контекст), |
на |
которую |
ориентировано |
|||
|
применение |
паттерна. |
Задаются |
условия |
|||
Решение |
применения |
|
|
|
|
|
|
Описываются элементы решения, их отношения, |
|||||||
|
обязанности, |
|
сотрудничество. |
|
Решение |
||
|
представляется в обобщенной форме, которая |
||||||
|
должна конкретизироваться |
при |
применении. |
||||
|
Фактически |
приводится |
шаблон |
решения, |
|||
|
который можно использовать в самых разных |
||||||
Результа |
ситуациях |
|
|
|
|
|
|
Перечисляются следствия применения паттерна |
|||||||
ты |
и вытекающие из них компромиссы. Такая |
||||||
|
информация позволяет оценить эффективность |
Шаблоны приложений
Будем различать термины:
•паттерн (pattern) — образец (шаблон структуры ПО) и
•фреймворк (framework) — каркас (шаблон
приложения).
Наиболее известные шаблоны приложений — системы пла нирования ресурсов предприятия (enterprise resource planning
— ERP) типа SAP R/3. ERP-системы предлагают и проектирование, и повторное использование кода. Это базовые пакеты ПО. ПО настраивается и расширяется в соответствии с перечнем потребностей клиента. Настройка выполняется в пределах скелетного проекта, заданного шаблоном.
Application framework - каркас приложений (интегрированная среда, содержащая библиотеки классов и определяющая структуру разрабатываемого приложения). Например, MFC application framework - каркас приложения на основе библиотеки базовых классов Microsoft.
Шаблон обеспечивает структурное проектирование
Проектсистемырование ПО. . МетодыВ этомпр ектированиясмысле,. UML. CASEкаждый. Шаблоны шаблон является28
структурным шаблоном независимо от того, является ли он

Инструментальные средства поддержки процесса проектирования
Аббревиатура CASE (Computer-aided Software Engineering —
автоматизированная разработка ПО) обозначает специальный тип программного обеспечения, предназначенного для автоматизации некоторых этапов разработки, в том числе и проектирования.
Средства проектирования компонентов программного обеспечения и информационного обеспечения
обеспечивают:
•моделирование структуры и поведения компонентов ПО как на логическом уровне так и на физическом;
•логическое и физическое моделирование данных, автоматическое преобразование моделей данных в «третью нормальную форму», автоматическую генерацию схем БД и описаний форматов файлов на уровне программного кода.
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |
29 |

Rational Software Architect
(IBM Rational Software)
Проектирование ПО. Методы проектирования. UML. CASE. Шаблоны |
30 |