Шаг 76.
Унифицированный язык моделирования UML.
Базовые понятия диаграмм классов

    На этом шаге рассмотрим базовые понятия диаграмм классов в UML.

    Диаграммы классов – это наиболее часто используемый тип диаграмм, которые создаются при моделировании объектно-ориентированных систем. Показывают набор классов, интерфейсов и коопераций, а также их связи.

    На практике диаграммы классов применяют для моделирования статического представления системы (по большей части это моделирование словаря системы, коопераций или схем). Кроме того, диаграммы данного типа служат основой для целой группы взаимосвязанных диаграмм – диаграмм компонентов и диаграмм размещения.

    Диаграммы классов важны не только для визуализации, специфицирования и документирования структурных моделей, но также для конструирования исполняемых систем посредством прямого и обратного проектирования.

    В любом деле, например строительстве дома, не обойтись без понятийного аппарата – в данном случае словаря, который включает основные строительные блоки: стены, полы, окна, двери, потолки, перекрытия. Эти элементы в значительной мере структурированы (стены имеют высоту, ширину и толщину), но притом каждый из них ведет себя определенным образом (стены разных типов несут разные нагрузки; двери могут открываться и закрываться в разные стороны; существуют ограничения на размер пролетов, образуемых перекрытиями). Вы не можете рассматривать эти структурные и поведенческие параметры независимо друг от друга: при строительстве понадобится учитывать, как они взаимодействуют. Процесс проектирования вашего дома, таким образом, включает в себя компоновку всех вышеперечисленных сущностей в уникальной манере, подчиняющейся велениям здравого смысла и призванной удовлетворить все ваши функциональные и нефункциональные требования.

    Разработка программного обеспечения ведется примерно по той же схеме – за исключением того, что благодаря гибкости ПО вы имеете возможность определять "с нуля" свои собственные базовые строительные блоки. Диаграммы классов в UML используются для того, чтобы визуализировать статические аспекты этих строительных блоков и их связей, а также обозначить детали их конструирования (см. рис. 1).


Рис.1. Диаграмма классов

    Диаграмма классов – это диаграмма, которая показывает набор классов, интерфейсов, коопераций и их связи. Графически представляет собой набор вершин и связывающих их дуг.

    Диаграмма классов, как и любая другая диаграмма, обладает именем и содержимым, которое является проекцией модели. От других типов диаграмм отличается конкретным наполнением.

    На диаграммах классов обычно представлены следующие элементы:

    Как и другие диаграммы, они могут содержать примечания и ограничения.

    Также могут включать в себя пакеты или подсистемы; те и другие группируют элементы модели в более крупные образования. Иногда в диаграмму классов требуется добавить экземпляры, особенно если вы хотите визуализировать тип экземпляра (возможно, динамический).

    Диаграммы компонентов и диаграммы размещения похожи на диаграммы классов, за исключением того что вместо классов они содержат соответственно компоненты и узлы.

    Диаграммы классов используются для моделирования статического представления системы. Это представление, прежде всего, поддерживает ее функциональные требования, то есть описывает услуги, которые система должна предоставлять ее конечным пользователям.

    Прорабатывая статическое представление системы, вы обычно используете диаграммы классов с одной из трех целей:

  1. Для моделирования словаря системы.

        Моделирование словаря системы предполагает решение вопроса о том, какие абстракции станут предметом внимания системы, а какие выходят за ее границы. Вы используете диаграммы классов, чтобы специфицировать эти абстракции и их предназначение.

  2. Для моделирования простых коопераций.

        Кооперация – это сообщество классов, интерфейсов и других элементов, которые работают в совокупности для формирования некоторого совместного поведения, которое не может быть обеспечено всеми этими элементами, взятыми в отдельности. Например, когда вы моделируете семантику транзакции в распределенной системе, то, глядя на отдельный класс, не сможете понять, что происходит. Эта семантика обеспечивается набором классов, работающих вместе. Диаграмма классов позволит визуализировать и специфицировать такой набор классов и их связей.

  3. Для моделирования логической схемы базы данных.

        Схему в данном контексте можно рассматривать как проект концептуального дизайна базы данных. Во многих областях требуется сохранять информацию в реляционной или объектно-ориентированной базе данных. Их схемы удобно моделировать при помощи диаграмм классов.

    На следующем шаге рассмотрим типичные приемы моделирования простых коопераций.




Предыдущий шаг Содержание Следующий шаг