Диаграмма классов.
На диаграмме классов отображаются основные сущности, классы и объекты, а также связи между ними. Диаграмма классов представляет собой определенный аспект структуры системы. На стадии анализа классы используются для того, чтобы указать общие роли и обязанности сущностей, обеспечивающих функционирование системы.
На стадии проектирования классы позволяют раскрыть архитектуру системы. Основными элементами диаграммы являются классы и отношения между ними. Класс на диаграмме отображается следующим образом:
Класс должен иметь уникальное имя в пространстве имен. Замечание: по общепринятому правилу имя класса начинается с прописной буквы. Здесь же указываются видимости для объектов классов. На схемах классы, как правило, связаны между собой. К основным отношениям между классами относят ассоциацию, обобщение, агрегацию и объединение. Ассоциация имеет характер простой связи, являющейся, как правило, поименованной. Замечание: применительно к ассоциациям достаточно часто используется концепция кратности. Кратность указывает количество связей между каждым экземпляром одного класса с экземплярами другого класса. Для обозначения кратности ассоциаций разработаны специальные обозначения: 1 – одна связь * - от 0 и больше 0…* - от 0 и больше 1…* - хотя бы одна 0…1 – 0 или 1 a…b – диапазон Замечание: если кратность отношения не указана, то считается, что стоит *. Подобных ситуаций лучше избегать. /26.09.12/ Связь типа обобщения описывает отношение «является». Данная связь описывает, как правило, отношения между классом и суперклассом, при этом класс наследует всю функциональную сущность суперкласса (определенные в рамках суперкласса атрибуты и операции). Замечание: способ наследования определяется выбранным языком программирования, при этом должен быть соблюден соответствующий синтаксис. Класс может иметь один или несколько суперклассов. Данное отношение не является кратным. Оно изображается в виде стрелки, направленной от класса к суперклассу.
Тип связи – обобщение (стрелка с пустым треугольником)
Отношение агрегации описывает связь типа «являются частью». На данных диаграммах имеется возможность перемещаться по иерархии целая часть (wtf!?). Агрегация изображается в виде стрелки с незакрашенным ромбом, при этом данная стрелка направлена от части к целому.
Замечание: отношение агрегации не обязательно показывает физическое включение одного объекта в другой; скорее оно показывает функциональное включение. Отношение объединения, определяющее физическое включение, играет важнейшую роль в процессе конструирования или уничтожения частей агрегатов. Пиктограмма объединения изображается в виде стрелки с закрашенным ромбом.
Замечание: в зависимости от языка реализации проектируемой системы, может потребоваться введение шаблонных классов. Замечание: достаточно часто, применительно к атрибутам или операциям класса, необходимо ввести какие-либо ограничения. Данные ограничения записываются в фигурных скобках. На диаграммах классов достаточно часто связям приписывают роли, которые они играют. Наименование этой роли, как правило, связано с наименованием одной из операций, содержащейся в классе, либо оно определяется по смыслу.
|