Наиболее распространенные типы отношений между прецедентами — включает и дополняет. Первый используется для выделения общих функциональных фрагментов в отдельный прецедент, второй — для придания прецеденту дополнительных элементов поведения.
Диаграммы действий отражают динамику системы. Они представляют собой схемы потоков управления в системе. В конкретной точке жизненного цикла диаграммы действий могут представлять потоки между прецедентами или внутри отдельного прецедента. На последующих этапах жизненного цикла диаграммы действий могут создаваться для отражения последовательности выполнения операции.
Глава 4. Поиск классов
Что такое объект
Объектом называется концепция, абстракция или вещь с четко определенными границами и значением для системы. Каждый объект в системе имеет три характеристики: состояние, поведение и индивидуальность.
Состояние, поведение и индивидуальность
В языке UML объект изображается в виде прямоугольников, а его имя пишется с подчеркиванием — см. рис. 4.1.
Что такое класс
Каждый объект является экземпляром конкретного класса и не может быть экземпляром нескольких классов. Например, класс учебный курс (CourseOffering) может определяться следующими характеристиками:
атрибуты — место занятий, время занятий;
операции — получить место занятий, получить время занятий, добавить студента на курс.
Алгебра 101, секция 1 и Алгебра 101, секция 2 — это объекты, принадлежащие классу учебный курс. Каждый объект имеет значения атрибутов и доступ к операциям, определенным классом учебный курс.
«Хороший» класс представляет одну и только одну абстракцию, то есть должен отражать одну основную сущность. Например, класс, способный хранить информацию о студентах и данные о курсах, которые студент посещает в течение нескольких лет, не является «хорошим» классом, потому что не представляет одну сущность. Такой класс необходимо разделить на два связанных класса: студент и история студента.
Названия классов выбираются в соответствии с понятиями предметной области. Имя должно быть существительным в единственном числе, наиболее точно характеризующим предмет. В качестве имени класса можно использовать
Иногда трудно отличить объект от класса. Почему, например, Алгебра 101, секция 1 — объект, а не класс? Что отличает его от объекта Алгебра 101, секция 2? Ответы на эти вопросы субъективны. Изучив эти объекты, можно заключить, что у них одинаковая структура и поведение. Они лишь являются разными учебными предметами семестра. Кроме того, в системе регистрации курсов можно обнаружить множество схожих сущностей с одинаковой структурой и поведением: Музыка 101, секция 1; История 101, секция 1; История 101, секция 2 и т. п. Значит, допустимо создание единого класса учебный курс (CourseOffering).
В языке UML классы изображаются в виде разделенных прямоугольников. В верхней секции указывается имя класса, средняя секция содержит его структуру — атрибуты, а нижняя описывает его поведение — операции. Класс показан на рис. 4.2.