- •3. Объектно-ориентированный подход к проектированию программного обеспечения
- •3.1. Сущность объектно-ориентированного подхода
- •3.2. Унифицированный язык моделирования uml
- •3.3. Варианты использования
- •3.4. Диаграммы классов
- •3.4.1. Общие сведения
- •3.4.2. Ассоциации
- •3.4.3. Атрибуты
- •3.4.4. Операции
- •3.4.5. Обобщение
- •3.4.6. Ограничения
- •3.4.7. Более сложные понятия
- •3.4.8. Механизм пакетов
- •3.5. Диаграммы взаимодействия
- •3.5.1. Диаграммы последовательности
- •3 5 2. Кооперативные диаграммы
- •3.5.3. Сравнение диаграмм последовательности и кооперативных диаграмм
- •3.6. Диаграммы состояний
- •3.7. Диаграммы деятельностей
- •3.8. Диаграммы компонентов
- •3.9. Диаграммы размещения
- •3.10. Пример использования объектно-ориентированного подхода
- •3.11. Сопоставление и взаимосвязь структурного и объектно-ориентированного подходов
3.2. Унифицированный язык моделирования uml
Большинство существующих методов объектно-ориентированного анализа и проектирования (ООАП) включают как язык моделирования, так и описание процесса моделирования. Язык моделирования — это нотация (в основном графическая), которая используется методом для описания проектов. Нотация представляет собой совокупность графических объектов, которые используются в моделях; она является синтаксисом языка моделирования. Например, нотация диаграммы классов определяет, каким образом представляются такие элементы и понятия, как класс, ассоциация и множественность. Процесс — это описание шагов, которые необходимо выполнить при разработке проекта.
Унифицированный язык моделирования UML (Unified Modeling Language) - это преемник того поколения методов ООАП, которые появились в конце 80-х и начале 90-х гг. Создание UML фактически началось в конце 1994 г., когда Гради Буч и Джеймс Рамбо начали работу по объединению методов Booch и ОМТ (Object Modeling Technique) под эгидой компании Rational Software. К концу 1995 г. они создали первую спецификацию объединенного метода, названного ими Unified Method, версия 0.8. Тогда же, в 1995 г., к ним присоединился создатель метода OOSE (Object-Oriented Software Engineering) Ивар Якобсон. Таким образом, UML является прямым объединением и унификацией методов Буча, Рамбо и Якобсона, однако дополняет их новыми возможностями. Главными в разработке UML были следующие цели:
-
предоставить пользователям готовый к использованию выразительный язык визуального моделирования, позволяющий разрабатывать осмысленные модели и обмениваться ими;
-
предусмотреть механизмы расширяемости и специализации для расширения базовых концепций;
-
обеспечить независимость от конкретных языков программирования и процессов разработки;
-
обеспечить формальную основу для понимания этого языка моделирования (язык должен быть одновременно точным и доступным для понимания, без лишнего формализма);
-
стимулировать рост рынка объектно-ориентированных инструментальных средств;
-
интегрировать лучший практический опыт.
Язык UML находится в процессе стандартизации, проводимом OMG (Object Management Group) — организацией по стандартизации в области объектно-ориентированных методов и технологий, в настоящее время принят в качестве стандартного языка моделирования и получил широкую поддержку в индустрии ПО. Язык UML принят на вооружение практически всеми крупнейшими компаниями — производителями ПО (Microsoft, IBM, Hewlett-Packard, Oracle, Sybase и др.). Кроме того, практически все мировые производители CASE-средств, помимо Rational Software (Rational Rose), поддерживают UML в своих продуктах (Paradigm Plus 3.6, System Architec, Microsoft Visual Modeler for Visual Basic, Delphi, PowerBuilder и др.). Полное описание UML можно найти на сайтах http:// www.omg.org, http://www.rational.com и http://uml.shl.com. Описание UML на русском языке содержится в книге М. Фаулера и К. Скотта* , в дальнейшем изложении терминология языка соответствует данному переводу.
Создатели UML представляют его как язык для определения, представления, проектирования и документирования программных систем, организационно-экономических, технических и др. UML содержит стандартный набор диаграмм и нотаций самых разнообразных видов. Стандарт UML версии 1.1, принятый 0MG в 1997 г., предлагает следующий набор диаграмм для моделирования:
-
диаграммы вариантов использования (use case diagrams) - для моделирования бизнес-процессов организации (требований к системе);
-
диаграммы классов (class diagrams) — для моделирования статической структуры классов системы и связей между ними;
-
диаграммы поведения системы (behavior diagrams);
-
диаграммы взаимодействия (interaction diagrams) — для моделирования процесса обмена сообщениями между объектами. Существуют два вида диаграмм взаимодействия:
диаграммы последовательности (sequence diagrams);
кооперативные диаграммы (collaboration diagrams);
-
диаграммы состояний (statechart diagrams) — для моделирования поведения объектов системы при переходе из одного состояния в другое;
-
диаграммы деятельностей (activity diagrams) — для моделирования поведения системы в рамках различных вариантов использования или моделирования деятельностей;
-
диаграммы реализации (implementation diagrams):
диаграммы компонентов (component diagrams) — для моделирования иерархии компонентов (подсистем) системы; диаграммы размещения (deployment diagrams) — для моделирования физической архитектуры системы.