Читаем BPwin и Erwin. CASE-средства для разработки информационных систем полностью

Классы могут иметь взаимосвязи (relationship), называемые отношениями. В нотации UML имеется несколько типов отношений. Отношение использования (associations, кнопка !!! палитры инструментов) показывает, что объект одного класса связан с одним или несколькими объектами другого класса. Отношение включения (aggregation, кнопка !!! является частным случаем отношения использования. Оно показывает, что один объект является частью другого. При воздействии на один объект, связанный отношением включения, некоторые операции автоматически могут затронуть другой объект. Например, на рис. 4.3 класс Customer Information связан отношением включения с классом Contract. При удалении объекта класса Customer Information (информация о клиенте) должны удаляться все объекты класса Contract (относящиеся к данному клиенту контракты). Каждая связь может быть охарактеризована определенной фразой, называемой именем роли. Связь между классами Customer Information и Contract имеет имя negotiates. Каждая связь может иметь индикатор множественности, который показывает, сколько объектов одного класса соответствует объекту другого класса. На рис. 4.3 связь negotiates имеет индикатор 1..* (один или много).

Наследование (inheritance) описывает взаимосвязь между классами, когда один класс (называется подклассом, subclass) наследует структуру и/или поведение одного или нескольких классов. На рис. 4.3 подкласс VIP наследует свойства и поведение класса Customer Information. Связь классов в иерархии наследования называется отношением наследования (generalization, кнопка !!!).

Временная диаграмма (Sequences) демонстрирует поведение объектов во времени. Она показывает объекты и последовательность сообщений, посылаемых объектами. Сообщения на диаграмме сценариев изображаются в виде стрелок (рис. 4.4).

Рис. 4.4. Временная диаграмма (Sequence)

Архитектура приложения описывается в диаграммах компонентов (Component Diagram) и диаграммах развертывания (Deployment Diagram). На диаграммах компонентов изображается вхождение классов и объектов в программные компоненты системы (модули, библиотеки и т. д.). При помощи диаграмм развертывания документируется размещение программных модулей на узлах (физических и логических устройствах) системы.

Генерация кода осуществляется на основе диаграмм классов. Для генерации необходимо в Rational Rose выбрать пункт меню Tools/Java/Generate Java.

Ниже .приведен код на языке Java, соответствующий классу Customer Information (см. рис. 4.3):

//# //# Source file: Customer_lnfomiation.java

//# //# Subsystem: Component View

//# //# Module: Customer Information

/## begin module.cm preserve=no

/* %X% %Q% %Z% %W% */

//# end module.cm

//# begin module.cp preserve=no

//# end module.cp

//# begin module.additionallmports preserve=no

//# end module.additionallmports

//# begin module.imports preserve=yes

//# end module.imports

//======================================================

//# begin module.declarations preserve=no

//# end module.declarations

//# begin moduIe.additionalDeclarations preserve=yes

//# end module.additionalDeclarations

public class Customer_lnformation {

//# begin Customer_Information.initialDeclarations preserve=yes

//# end Customer_Information.initialDeclarations

public intm_CustomerlD; • private int m_Name;

private int m_Account;

public Vector m_negotates = new Vector;

public void Check_Account {

//# begin Customer__lnformation::Check Account%3561AOAF032A.body preserve=yes

//# end Customer_lnformation::Gheck Account%3561AOAF032A.body

}

//# begin Customer_lnformation.additionalDeclarationspreserve=yes

//# end Customer_Information.additionalDeclarations

}

При генерации кода Rational Rose включает строки комментария, начинающиеся последовательностью символов //##. Сгенерированный код (в отличие от кода, сгенерированного ERwin) не является готовым приложением. Здесь генерируются лишь заголовки методов (Check_Account), сами методы необходимо дописывать вручную.

<p><strong>4.2. Создание модели данных на основе объектной модели с помощью ERwin Translation Wizard</strong></p>
Перейти на страницу:

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

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT