|
|
Главная
> Проектирование
> UML
>
Теория
| Понятие
объектно-ориентированного программирования |
27.10.2004
|
|
При
проектировании сложной или достаточно объёмной программной системы
её, как правило, делят на части, каждую из которых затем рассматривают
и разрабатывают отдельно. При этом используется либо функциональное
деление системы, либо объектная декомпозиция.
При
функциональном делении программной системы её структура
может быть описана блок-схемой, узлы которой обозначают выполняемые
функции, а связи указывают последовательность их выполнения. Программные
модули, реализующие функции, обычно, используются только в составе
данной системы.
|
| Введение
в UML |
27.10.2004
|
Принципы
моделирования
Использование
языка UML основывается на следующих общих принципах моделирования:
- абстрагирование
- в модель следует включать только те элементы проектируемой
системы, которые имеют непосредственное отношение к выполнению
ей своих функций или своего целевого предназначения. Другие
элементы опускаются, чтобы не усложнять процесс анализа
и исследования модел
|
| Диаграмма
вариантов использования (use case diagram) |
27.10.2004
|
|
Диаграммы
вариантов использования описывают функциональное назначение системы
или то, что система должна делать. Разработка диаграммы преследует
следующие цели:
- определить
общие границы и контекст моделируемой предметной области;
- сформулировать
общие требования к функциональному поведению проектируемой
системы;
- разработать
исходную концептуальную модель системы для ее последующей
детализации в форме логических и физических моделей;
- подготовить
исходную документацию для взаимодействия разработчиков системы
с ее заказчиками и пользователями
|
| Диаграмма
классов (class diagram) |
27.10.2004
|
|
Центральное
место в объектно-ориентированном программировании занимает разработка
логической модели системы в виде диаграммы классов. Диаграмма
классов (class diagram) служит для представления статической структуры
модели системы в терминологии классов объектно-ориентированного
программирования. Диаграмма классов может отражать, в частности,
различные взаимосвязи между отдельными сущностями предметной области,
такими как объекты и подсистемы, а также описывать их внутреннюю
структуру и типы отношений.
Диаграмма
классов представляет собой граф, вершинами которого являются элементы
типа «классификатор», связанные различными типами структурных
отношений. Диаграмма классов может также содержать интерфейсы,
пакеты, отношения и даже отдельные экземпляры, такие как объекты
и связи.
|
| Диаграмма
состояний (statechart diagram) |
27.10.2004
|
|
Каждая
диаграмма состояний в UML описывает все
возможные состояния одного экземпляра определенного класса и возможные
последовательности его переходов из одного состояния в другое,
то есть моделирует все изменения состояний объекта как его реакцию
на внешние воздействия.
Диаграммы
состояний чаще всего используются для описания поведения отдельных
объектов, но также могут быть применены для спецификации функциональности
других компонентов моделей, таких как варианты использования,
актеры, подсистемы, операции и методы
|
| Диаграмма
деятельности (activity diagram) |
27.10.2004
|
|
При
моделировании поведения проектируемой или анализируемой системы
возникает необходимость не только представить процесс изменения
ее состояний, но и детализировать особенности алгоритмической
и логической реализации выполняемых системой операций.
Для
моделирования процесса выполнения операций в языке UML используются
диаграммы деятельности. Применяемая в них графическая нотация
во многом похожа на нотацию диаграммы состояний, поскольку на
этих диаграммах также присутствуют обозначения состояний и переходов.
Каждое состояние на диаграмме деятельности соответствует выполнению
некоторой элементарной операции, а переход в следующее состояние
выполняется только при завершении этой операции.
|
| Диаграмма
кооперации (collaboration diagram) |
27.10.2004
|
|
Главная
особенность диаграммы кооперации заключается в возможности графически
представить не только последовательность взаимодействия, но и
все структурные отношения между объектами, участвующими в этом
взаимодействии.
Прежде
всего, на диаграмме кооперации в виде прямоугольников изображаются
участвующие во взаимодействии объекты, содержащие имя объекта,
его класс и, возможно, значения атрибутов. Далее, как и на диаграмме
классов, указываются ассоциации между объектами в виде различных
соединительных линий. При этом можно явно указать имена ассоциации
и ролей, которые играют объекты в данной ассоциации. Дополнительно
могут быть изображены динамические связи - потоки сообщений. Они
представляются также в виде соединительных линий между объектами,
над которыми располагается стрелка с указанием направления, имени
сообщения и порядкового номера в общей последовательности инициализации
сообщений.
|
| Диаграмма
последовательности (sequence diagram) |
27.10.2004
|
|
При
рассмотрении диаграмм состояния и деятельности, было отмечено,
что хотя эти диаграммы и используются для спецификации динамики
поведения систем, время в явном виде в них не присутствует. Временной
же аспект поведения может иметь существенное значение при моделировании
синхронных процессов, описывающих взаимодействия объектов. Для
моделирования взаимодействия объектов во времени в языке UML используются
диаграммы последовательности.
|
| Диаграмма
компонентов (component diagram) |
27.10.2004
|
|
Полный
проект программной системы представляет собой совокупность моделей
логического и физического уровней, которые должны быть согласованы
между собой. В языке UML для физического представления моделей
систем используются диаграммы реализации (implementation diagrams),
которые включают в себя диаграмму компонентов и
диаграмму развертывания.
Диаграмма
компонентов, в отличие от ранее рассмотренных диаграмм, описывает
особенности физического представления системы. Она позволяет определить
архитектуру разрабатываемой системы, установив зависимости между
программными компонентами, в роли которых может выступать исходный
и исполняемый код. Основными графическими элементами диаграммы
компонентов являются компоненты, интерфейсы и зависимости между
ними
|
| Диаграмма
развертывания (deployment diagram) |
27.10.2004
|
|
Физическое
представление программной системы не может быть полным, если отсутствует
информация о том, на какой платформе и на каких вычислительных
средствах она реализована. Если разрабатывается программа, выполняющаяся
локально на компьютере пользователя и не использующая периферийных
устройств и ресурсов, то в разработке дополнительных диаграмм
нет необходимости. При разработке же корпоративных приложений
наличие таких диаграмм может быть крайне полезным для решения
задач рационального размещения компонентов в целях эффективного
использования распределенных вычислительных и коммуникационных
ресурсов сети, обеспечения безопасности и других.
Для представления
общей конфигурации и топологии распределенной программной системы
в UML предназначены диаграммы развертывания.
|
|