Диаграмма классов (class diagram)
Классическое определение класса говорят очень просто и понятно:
Класс (class) - категория вещей, которые имеют общие атрибуты и операции.
Продолжая тему, скажем, что классы - это строительные блоки любой объектно-ориентированной системы. Они представляют собой описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой.
При проектировании объектно-ориентированных систем диаграммы классов обязательны.
Классы используются в процессе анализа предметной области для составления словаря предметной области разрабатываемой системы. Это могут быть:
ü как абстрактные понятия предметной области,
ü так и классы, на которые опирается разработка, и которые описывают программные или аппаратные сущности.
Диаграмма классов - это набор статических, декларативных элементов модели. Диаграммы классов могут применяться:
Ø при прямом проектировании, то есть в процессе разработки новой системы,
Ø при обратном проектировании - описании существующих и используемых систем.
Информация с диаграммы классов напрямую отображается в исходный код приложения - в большинстве существующих инструментов UML-моделирования возможна кодогенерация для определенного языка программирования (обычно Java или C++).
Таким образом, диаграмма классов - конечный результат проектирования и отправная точка процесса разработки.
Посмотрим на примеры диаграмм классов.
Первый пример (рис. 3.5) весьма прост. Как видим, он, хоть и немного однобоко, иллюстрирует с помощью операции наследования или генерализации "генеалогическое древо" бытовой техники. Смысл этой диаграммы был бы понятен, даже если бы читатели ничего не знали о классах и не занимались программированием вообще.
Рис. 3.5.
Рассмотрим еще пример (рис. 3.6):
Рис. 3.6.
Смысл этой диаграммы ясен без особых пояснений. Даже бегло рассмотрев ее, можно легко догадаться, что она описывает предметную область задачи об автоматизации работы некоего вуза или учебного центра. Обратите внимание на обозначения кратности на концах связей.
А теперь немного усложним задачу (рис. 3.7):
Рис. 3.7.
Здесь уже все более серьезно - кроме кратности обозначены свойства (и их типы) и операции, и вообще, эта диаграмма производит впечатление набора классов для реализации, а не просто описания предметной области, как предыдущие. Но, тем не менее, все равно все просто и понятно.
Отметим, что более детально о диаграмме классов мы поговорим в следующей лекции. Там мы подробно разберем нотацию этого вида диаграмм и познакомимся с улучшениями, внесенными текущей версией UML.
Дата добавления: 2017-03-29; просмотров: 708;