Читаем Rational Rose 2000 и UML. Визуальное моделирование полностью

Наследование позволяет создавать иерархию классов, когда общая структура и поведение разделяются между ними. Термин «суперкласс» характеризует класс, содержащий общую информацию. Классы-потомки называются подклассами. Подкласс наследует все атрибуты, операции и отношения, определенные во всех его суперклассах.

Есть два способа определения наследования в любой системе: обобщение и специализация. Обобщение обеспечивает возможность создания суперклассов, объединяющих общие для нескольких классов структуру и поведение. Специализация позволяет создавать подклассы, которые уточняют или дополняют структуру и поведение, определенные в суперклассе.

<p>Глава 9. Анализ поведения объекта</p><p>Моделирование динамического поведения</p>

Прецеденты и сценарии применяются для описания поведения системы, то есть взаимодействия объектов в ней. Иногда требуется рассмотреть поведение внутри самого объекта. Диаграмма состояний (statechart diagram) показывает положение одиночного объекта, события или сообщения, которые вызывают переход из одного состояния в другое, и действия, являющиеся результатом смены состояния.

Диаграмму состояний не нужно создавать для каждого класса в системе, только для классов с «особенным» динамическим поведением. Для определения динамических объектов в системе, то есть объектов, отсылающих и получающих большое количество сообщений, могут использоваться диаграммы взаимодействий. Диаграмма состояний также полезна для изучения поведения класса-агрегата и управляющего класса.

Следует внимательно подойти к вопросам анализа и сосредоточиться на том, что представляет собой проблема, а не на том, как она будет решаться. Для создания диаграммы состояний в программе Rational Rose:

1. Щелкните правой кнопкой мыши по классу в списке браузера.

2. В появившемся контекстно-зависимом меню выберите команду New => Statechart Diagram (Создать => Диаграмма состояний). В список браузера будет добавлена диаграмма New Diagram.

3. Введите ее название.

4. Чтобы открыть диаграмму, щелкните по значку «+» слева от имени подкласса в окне браузера, потом по значку «+» слева от пункта State/Activity Model (Модель состояний и действий), а затем дважды по диаграмме состояний.

Диаграмма состояний в списке браузера для класса учебный курс (Course Offering) показана на рис. 9.1.

Рис. 9.1. Диаграмма состояний в браузере

<p>Состояния</p>

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

В языке UML состояние изображается в виде прямоугольника с закругленными углами — см. рис. 9.2.

Диаграмма состояний включает все сообщения, которые объект получает и отправляет. Сценарий — это одиночный проход по диаграмме состояний. Интервал между двумя сообщениями, отправляемыми объектом, обычно представляет состояние. Таким образом, для определения состояний объекта нужно изучить диаграмму последовательности действий (взгляните на интервалы между линиями сообщений, получаемых объектом). Если для каждой функции в системе регистрации учебных курсов были созданы диаграммы последовательности действий, то с помощью них можно обнаружить, что объекты класса учебный курс (CourseOffering) могут находиться в одном из следующих состояний: инициализация (создан до регистрации, но студенты не прикреплены), открыт (доступен для записи студентов), закрыт (на курс записано максимальное число студентов), отменен (больше не читается).

Последовательность создания состояний в программе Rational Rose:

1. Щелкните по кнопке State (Состояние) на панели инструментов.

2. Щелкните по диаграмме, чтобы поместить на нее новое состояние.

3. Введите его название.

Состояния класса учебный курс показаны на рис. 9.3.

Рис. 9.3. Состояния

<p>Переходы между состояниями</p>
Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных