Объектно–ориентированная модель информационной подсистемы "Трудоустройство"
Унифицированный язык моделирования. Методы объектно-ориентированного анализа и проектирования. Создание диаграммы последовательности и диаграммы сотрудничества. Главная диаграмма классов. Добавление связей между классами. Зависимость между пакетами.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 23.06.2011 |
Размер файла | 2,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Содержание
ВВЕДЕНИЕ
1 КРАТКАЯ ХАРАКТЕРИСТИКА ПРЕДМЕТНОЙ ОБЛАСТИ
2 СОЗДАНИЕ ДИАГРАММЫ ПРЕЦЕДЕНТОВ
3 СОЗДАНИЕ ДИАГРАММЫ ПОСЛЕДОВАТЕЛЬНОСТИ
4 СОЗДАНИЕ ДИАГРАММЫ СОТРУДНИЧЕСТВА
5 СОЗДАНИЕ ДИАГРАММЫ КЛАССОВ
6 ДОБАВЛЕНИЕ ДЕТАЛЕЙ К ОПИСАНИЯМ ОПЕРАЦИЙ И ОПРЕДЕЛЕНИЕ АТРИБУТОВ КЛАССОВ. ДОБАВЛЕНИЕ СВЯЗЕЙ МЕЖДУ КЛАССАМИ
7 СОЗДАНИЕ ДИАГРАММЫ СОСТОЯНИЙ ДЛЯ КЛАССОВ И ДИАГРАММЫ КОМПОНЕНТОВ
8 СОЗДАНИЕ ДИАГРАММЫ РАЗМЕЩЕНИЯ
9 ГЕНЕРАЦИЯ ПРОГРАММНОГО КОДА С++
ЗАКЛЮЧЕНИЕ3
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Приложение А. Листинг кода приложения на языке С++
ВВЕДЕНИЕ
Унифицированный язык моделирования (UML, Unified Modeling Language) является преемником методов объектно-ориентированного анализа и проектирования (OOA&D), которые появились в конце 80-х и начале 90-х годов.
Язык UML в его текущем состоянии включает в себя нотацию и метамодель. Нотация представляет собой совокупность графических элементов, которые используются в моделях. Метамодель является средством придания языку UML большей строгости.
В данном курсовом проекте разработана объектно-ориентированная модель информационной подсистемы трудоустройство. Данная модель разработана с помощью программного продукта Rational Rose 2000 Enterprise Edition, с помощью языка UML.
1 КРАТКАЯ ХАРАКТЕРИСТИКА ПРЕДМЕТНОЙ ОБЛАСТИ
Сейчас, в условиях рыночной экономики, когда везде требуются высококвалифицированные специалисты, преимущественно экономических специальностей, очень много людей, не удовлетворяющих данным параметрам, остаются без работы. Именно они и обращаются к услугам бирж труда, причем их число значительно выросло по сравнению с 1991 г.
Только регистрация безработных без использования автоматизации - очень трудоемкая работа, а ведь биржи труда не только производят регистрацию людей, у них много функций:
- регистрация вакантных мест;
- трудоустройство безработных и других лиц, желающих получить работу;
- изучение конъюнктуры рынка труда и предоставление информации о ней;
- тестирование лиц, желающих получить работу;
- профессиональная ориентация и профессиональная переподготовка безработных;
- выплата пособий.
При автоматизации значительно сократится время и трудоемкость осуществления этих операций.
1.1 Общая характеристика
В данном курсовом проекте разработана объектно-ориентированная модель информационной подсистемы «Трудоустройство». Потребности и предложения на рынке трудовых ресурсов можно проследить на бирже труда. В курсовом проекте представлена объектно-ориентированная модель информационной подсистемы которая автоматизирует работу агентства по трудоустройству.
1.2 Актуальность разрабатываемой подсистемы
База данных, используемая при работе агентства по трудоустройству, хранит данные о клиентах, их квалификации и критериях работы. В задачу агентства входят предоставление информации об имеющихся вакансиях, создание анкеты клиента, занесение данных о клиенте в базу данных. Служба приема заявок принимает заявку клиента. Передает данные администратору БД. После администратор делает запросов базу данных о наличии вакансий по критериям, представленным клиентом и выдает информацию клиенту.
Данная объектно-ориентированная модель информационной подсистемы должна обеспечивать возможность добавления новых данных о клиентах, изменении старых данных, если это необходимо, создание заявок, справок.
2 СОЗДАНИЕ ДИАГРАММЫ ПРЕЦИДЕНТОВ
Диаграммы прецедентов описывают функциональность информационной системы, которая будет видна пользователям. Каждая функциональность изображается в виде "прецедентов использования" (use case) или просто прецедентов. Прецедент - это типичное взаимодействия пользователя с системой, которое при этом:
- описывает видимую пользователем функцию,
- может представлять различные уровни детализации,
- обеспечивает достижение конкретной цели, важной для пользователя.
Use case (вариант использования) это функциональное требование. Данный вид диаграмм в основном используется для описания функциональных требований к системе, для описания предметной области с целью лучшего понимания функционирования системы.
Основные элементы диаграммы use case: use case (вариант использования), актеры (представляют собой некоторую роль, которую играет пользователь по отношению к системе), связи и отношения между актерами и use case.
На рисунке 2.1 представлена диаграмма прецедентов для объектно ориентированной модели информационной подсистемы «Трудоустройство».
Рисунок 2.1 - Диаграмма прецедентов
Для создания диаграммы прецедентов:
1. Запустим интегрированную среду разработки Rational Rose 2000.
2. Создадим новую диаграмму (Main) Use case:
- в браузере щелкнем на значке «+» рядом с представлением Use case, чтобы открыть представление;
- дважды щелкнув на главной диаграмме, откроем её.
3. С помощью кнопки Use Case (вариант использования) панели инструментов поместим на диаграмму новый вариант использования.
4. Назовем его «Подача заявки на работу».
5. Повторив пункты 3 и 4, поместим на диаграмму остальные варианты использования:
- Изменить заявку;
- Запрос в базу данных;
- Обработать заявку;
- Отклонить заявку;
6. С помощью кнопки Actor (действующее лицо) панели инструментов поместим на диаграмму новое действующее лицо.
7. Назовем его «Клиент».
8. Повторив пункты 6 и 7, поместим на диаграмму действующих лиц и назовем их:
- Служба приема.
- Администратор.
9. Создадим абстрактный Вариант Использования «Backorder item» («Отклонить заказ»).
10. Добавим ассоциацию между действующим лицом «Клиент» и вариантом использования «Подача заявки на работу».
11. Повторим пункт 10 для остальных действующих лиц.
12. Добавим связи расширения между вариантом использования «Отклонить заявку» и вариантом использования «Обработать заявку»:
3 Создание диаграммы последовательности
Это диаграмма, на которой изображено упорядоченное во времени взаимодействие объектов. На ней изображаются участвующие во взаимодействии объекты и последовательность сообщений, которыми они обмениваются. Одно из основных назначений данной диаграммы - отобразить последовательность действий для части или целого варианта использования (use case).
Рисунок 3.1 - Диаграмма последовательности
Объект - это нечто, заключающее в себе некоторые данные и поведение.
Класс - это некая сущность, представляющая собой как бы черновик объекта; определяет данные и поведение, которыми должен обладать объект.
На диаграмме приведены следующие объекты соответствующих классов:
- выбор варианта заявки - объект класса OrederForm;
- анкета заявки - объект класса Form - конкретной формы ввода данных о клиенте;
- администратор - объект управляющего класса ADM;
- заявка №1234 - объект класса Claim;
- управляющий транзакциями - объект класса Transaction;
Для создания диаграммы последовательности были совершены следующие действия:
1. Создаем диаграмму последовательности: на панели задач выбираем Interaction Diagram, затем тип диаграммы: Sequence.
2. Добавляем на созданную диаграмму действующие лица и объекты с помощью соответствующих кнопок панели инструментов.
3. Добавляем сообщения на диаграмму с помощью кнопки Object Message (Сообщение объекта).
4. Выполняем соотнесение объектов с классами с помощью меню каждого объекта Open Specification (Открыть спецификацию).
4 Создание диаграммы сотрудничества
На данной диаграмме экземпляры объектов изображаются в виде пиктограмм, также как на диаграмме последовательности стрелки обозначают сообщения, однако их временная последовательность указывается посредством нумерации сообщений. Можно сказать, что диаграммы кооперации (сотрудничества) и последовательности очень похожи, они несут одну и ту же информацию, отличаются они лишь представлением информации.
Рисунок 4.1 - Диаграмма сотрудничества
Для создания диаграммы сотрудничества необходимо:
1. На панели задач выбираем Interaction Diagram, затем тип диаграммы: Collaboration.
2. Добавляем действующее лицо - Клиент и используемые объекты:
- выбор варианта заявки ( класс - OrederForm);
- анкета (класс Form);
- администратор (класс ADM);
- заявка №1234 (класс Claim);
- управляющий транзакцией (класс - Transaction);
3. Добавляем на диаграмму следующие сообщения, соотнесенные с операциями:
- Create() - создать новую форму для ввода данных о клиенте.
- Open() - открыть анкету для ввода данных о клиенте.
- Enter() - ввести данные о клиенте.
- Save() - нажать кнопку сохранить на форме.
- SaveForm() - послать запрос в БД на сохранение информации.
- Create() - создать пустую запись в БД.
- Save in BD() - сохранение записи в базе данных.
5 Создание диаграммы классов
Диаграмма классов по праву занимает одно из центральных мест не только в UML, но и в объектно-ориентированном подходе вообще. Данная диаграмма включает в себя большой набор понятий моделирования. Диаграмма классов описывает типы объектов системы и различные статические отношения, которые существуют между ними. Существуют два основных вида статических отношений, это ассоциации и подтипы. На диаграммах классов также изображаются атрибуты классов, операции классов и ограничения, которые накладываются на связи между объектами.
Рисунок 5.1 - Главная диаграмма классов
Рисунок 5.2 - Диаграмма классов.
Рисунок 5.3 - Стереотипы классов.
Граничные классы (boundary classes) - это классы, которые расположены на границе системы и окружающей среды. Они включают все формы, отчеты, интерфейсы с аппаратурой (такой, как принтеры или сканеры) и интерфейсы с другими системами. В пакет «Boundaries» были добавлены следующие классы: класс Form (анкета клиента) и класс OrederForm (выбор варианта заявки).
Рисунок 5.4 - Главная диаграмма класса пакета “Boundaries”
Классы сущности (entity classes) - отражают основные понятия (абстракции) предметной области и, как правило, содержат хранимую информацию. В данный пакет были добавлен класс Claim.
Рисунок 5.5 - Главная диаграмма класса пакета “Entities”
Управляющие классы (control classes) отвечают за координацию действий других классов. Обычно у каждого варианта использования имеется один управляющий класс, контролирующий последовательность событий этого варианта использования. В данном проекте данную функцию выполняет класс Control, а также ControlTranz.
Рисунок 5.5 - Главная диаграмма класса пакета “Control”
Создание диаграммы классов:
1. Создадим пакеты:
а) щелкнем правой кнопкой мыши на логическом представлении браузера;
б) в открывшемся меню выберите пункт New >Package;
в) назовем новый пакет Entities;
г) повторим пункты а - б и создадим пакеты Boundaries и Control.
2. Создадим диаграмму классов для сценария AddNewForm:
а) щелкнем правой кнопкой мыши на логическом представлении браузера;
б) в открывшемся меню выберите пункт New >Class Diagram;
в) назовем её AddNewForm;
г) дважды щелкнув мышью на этой диаграмме в браузере, откроем ее;
д) перетащим из браузера на диаграмму классы OrederForm, Form, Claim, ADM и Transaction;
Полученная диаграмма классов показана на рисунке 5.2.
7. Добавим стереотипы к классам:
а) щелкнем правой кнопкой мыши на классе OrederForm диаграммы;
б) в открывшемся меню выберем пункт Open Specification;
в) в поле стереотипа выберем Boundary;
г) нажмем кнопку Apply и кнопку OK;
8. Действуя аналогично добавим стереотипы к классам как показано на рисунке 5.3.
9. Объединим классы в пакеты:
а) в браузере перетащим класс OrederForm на пакет Boundaries;
б) перетащим класс Form на пакет Boundaries;
в) перетащим классы ADM и Transaction на пакет Control;
г) перетащим класс Claim на пакет Entities.
10. Добавим диаграммы классов к каждому пакету:
а) в браузере щелкнем правой кнопкой мыши на пакете Boundaries;
б) в открывшемся меню выберите пункт New >Class Diagram.
в) введем имя новой диаграммы Main;
г) откроем её;
д) перетащим на нее из браузера классы OrederForm и Form.
Главная диаграмма классов пакета Boundaries представлена на рисунке 5.4.
11. Действуя аналогично добавим диаграммы классов к оставшимся пакетам. Их главные диаграммы представлены соответственно на рисунках 5.5 и 5.6.
6 ДОБАВЛЕНИЕ ДЕТАЛЕЙ К ОПИСАНИЯМ ОПЕРАЦИЙ И ОПРЕДЕЛЕНИЕ АТРИБУТОВ КЛАССОВ
Атрибут - это элемент информации, связанный с классом. Они содержатся внутри класса, поэтому они скрыты от других классов. В связи с этим иногда требуется указать, какие классы имеют право читать и изменять атрибуты. Это свойство называется видимостью атрибута (attribute visibility). Для определения атрибутов и операций классов было произведено обращение к потоку событий. В результате к классам были добавлены дополнительные атрибуты и связи между классами (рисунок 6.1).
Рисунок 6.1 - Диаграмма классов для сценария «Составление заявки»
На данной стадии был создан новый класс FormItem с присвоенным ему стереотипом Entity и следующими атрибутами:
§ ItemID: Integer;
§ IDescription: String.
И операциями:
§ Create ( ) : Boolean;
§ SetInfo (ID : Integer = 0) : Boolean.
Добавляем ассоциации:
а) нажимаем кнопку Unidirectional Association;
б) проводим ассоциацию от класса OrderForm к классу Form;
в) действуя аналогично, создаем ассоциации как показано на рисунке 6.2.
г) щелкнем правой кнопкой мыши на однонаправленной ассоциации между классами OrderForm и Form со стороны класса OrderForm;
д) в открывшемся меню выберим пункт Multiplicity >Zero or One;
е) щелкнем правой кнопкой мыши на другом конце однонаправленной ассоциации;
ж) в открывшемся меню выберите пункт Multiplicity >Zero or One;
з) действуя аналогично, добавим на диаграмму значения множественности для остальных ассоциаций, как показано на рисунке 6.3.
Рисунок 6.2 - Добавление связей между классами.
Рисунок 6.3 - Ассоциации сценария AddNewForm.
7. СОЗДАНИЕ ДИАГРАММЫ СОСТОЯНИЙ ДЛЯ КЛАССОВ И ДИАГРАММЫ КОМПОНЕНТОВ
Диаграммы состояний являются хорошо известным методом описания поведения систем. Они изображают все возможные состояния, в которых может находиться конкретный объект, а также изменения состояния объекта, которые происходят в результате влияния некоторых событий на этот объект. В большинстве объектно-ориентированных методов диаграммы состояний строятся для единственного класса, чтобы показать динамику поведения единственного объекта.
Рисунок 7.1 - Диаграмма состояний
Создание диаграммы:
1. Найдем в браузере класс Order.
2. Щелкнем на классе правой кнопкой мыши и в открывшемся меню укажим пункт New >Statechart Diagram. Назовем её “State”. Двойной щелчок на имени откроет диаграмму.
3. Добавим начальное и конечное состояние на диаграмму:
4. Выполним описание состояний на диаграмме:
Диаграмма компонентов отображает организацию компонентов и зависимости между ними. Компонент - это физический элемент реализации (компоненты исходного кода, бинарного кода, выполняемые компоненты) с четко определенным интерфейсом, предназначенный для использования в качестве заменяемой части системы. Каждый компонент представляет собой реализацию некоторых классов системы.
Рисунок 7.2 - Зависимость между пакетами
Построение диаграммы компонентов:
1. Создаем пакеты для компонентов: New->Package (Создать пакет) и присваиваем им названия соответственно: Entities, Boundaries и Control.
2. Отображаем зависимости между созданными пакетами с помощью кнопки Dependecy (Зависимость) панели инструментов: от пакета Boundaries к пакету Control; от пакета Control к пакету Entities (рисунок 7.2).
3. Добавляем компоненты к пакетам с помощью кнопок Package Specefication (Спецификация пакета) и Package Body (Тело пакета) панели инструментов и аналогично отображаем зависимости:
4. Создаем диаграмму компонентов системы: New->Component Diagramm и выполняем размещение компонентов на диаграмме компонентов.
5. Помещаем на диаграмму компонентов спецификацию задачи ZakazClientExe и ZakazServerExe с помощью кнопки Task Specification (Спецификация задачи) панели инструментов.
6. Выполняя соотнесение классов с компонентами, как показано на рисунке 7.3, получаем диаграмму компонентов.
Рисунок 7.3 - Диаграмма компонентов
8. СОЗДАНИЕ ДИАГРАММЫ РАЗМЕЩЕНИЯ
Диаграмма размещения отражает физические взаимосвязи между программными и аппаратными компонентами разрабатываемой системы. Одним из существенных понятий данного вида диаграмм является понятие узел. Узел представляет собой некоторый тип вычислительного устройства, как правило, самостоятельную часть аппаратуры.
Рисунок 8.1 - Диаграмма размещения
Создание диаграммы размещения:
1. Добавьте узлы к диаграмме Размещения:
а) дважды щелкнув мышью на представлении размещения в браузере, откройте диаграмму размещения;
б) нажмите кнопку Processor (Процессор) панели инструментов;
в) щелкнув мышью на диаграмме, поместите туда процессор;
г) введите имя процессора Сервер базы данных;
д) действуя аналогично, добавьте следующие процессоры:
1) Сервер приложения;
2) Клиентская рабочая станция №1;
3) Клиентская рабочая станция №2.
е) на панели инструментов нажмите кнопку Device (Устройство);
ж) щелкнув мышью на диаграмме, поместите туда устройство;
з) назовите его Принтер.
4. Добавьте связи на диаграмме:
а) нажмите кнопку Connection (Связь) панели инструментов;
б) щелкните мышью на процессоре Сервер базы данных.
в) проведите линию связи к процессору Сервер приложения.
г) действуя аналогично, добавьте следующие связи:
1) от процессора Сервер приложения к процессору Клиентская рабочая станция №1;
2) от процессора Сервер приложения к процессору Клиентская рабочая станция №2;
3) от процессора Сервер приложения к устройству Принтер.
5. Выполните добавление процессов на диаграмме:
а) щелкните правой кнопкой мыши на процессоре Сервер приложения в браузере;
б) в открывшемся меню выберите пункт New >Process (Создать >Процесс);
в) введите имя процесса - OrderServer.exe;
г) действуя аналогично, добавьте процессы:
1) процесс OrderClient.exe на процессоре Клиентская рабочая станция №1;
2) процесс ATMClient.exe на процессоре Клиентская рабочая станция №2.
6. Выполните показ процессов на диаграмме:
а) щелкните правой кнопкой мыши на процессоре Сервер приложения;
б) в открывшемся меню выберите пункт Show Processes (Показать процессы);
в) действуя аналогично, покажите процессы на следующих элементах:
1) процессор Клиентская рабочая станция №1;
2) процессор Клиентская рабочая станция №2.
9. ГЕНЕРАЦИЯ ПРОГРАММНОГО КОДА C++
Язык C++ является одним из наиболее широко применяемых на практике объектно - ориентированных языков. Rational Rose интегрируется с C++ посредством генерации кода и обратного проектирования. В Rational Rose 2000 предусмотрена возможность генерации программного кода C++.
При генерации с помощью Rational Rose 2000 Enterprise Edition программного кода на стандартном C++ необходимо:
1. Создать компоненты;
2. Определить компоненты для классов;
3. Установить свойства генерации программного кода;
4. Выбрать класс или компонент для генерации на диаграмме Классов или Компонентов;
5. Выбрать в меню: Tools > C++ > Code Generation
6. Выбрать в меню: Tools > C++ > Browse Header или Browse Body для просмотра сгенерированного программного кода.
Первый этап процесса генерации программного кода - создание компонентов для классов. Это файлы с расширениями *. cpp (файл реализации) и *. h (заголовочный файл). В С++ данный этап не является обязательным. Если не описать компоненты, Rational Rose сгенерирует файлы *. cpp и *. h для каждого класса. Тем не менее, рекомендуется создавать компоненты, что позволит управлять отображением классов на компоненты и моделировать зависимости между компонентами.
Следующим шагом является установка свойств генерации программного кода для классов, компонентов и других элементов модели.
Рисунок 9.1 - Окно выбора компонентов и классов программы
Для генерации программного кода Rational Rose 2000 использует самую различную информацию, содержащуюся в модели. Анализируются множественность, имена ролей, включение и другие характеристики каждой связи. Просматриваются атрибуты, операции, видимость и другие детали каждого класса. Rational Rose 2000 выбирает нужные для генерации кода сведения из всех данных, вводимых в окнах спецификации различных элементов модели.
заключение
В данном курсовом проекте была разработана объектно-ориентированная модель информационной подсистемы «Трудоустройство». Данная разработка написана с помощью языка UML, с использованием среды разработки - программного продукта Rational Rose 2000.
Были разработаны следующие диаграммы:
- диаграмма прецедентов;
- диаграмма последовательности;
- диаграмма сотрудничества;
- диаграмма классов;
- диаграмма состояния для классов;
- диаграмма компонентов;
- диаграмма размещения.
Всё это позволяет автоматизировать работу биржи труда.
Данный курсовой проект позволяет вести учет клиентов, выдавать им информацию о существующих вакансиях, изменять и добавлять данные.
В конце был сгенерирован ко C++.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Буч Г., Рамбо Д., Джекобсон А. Язык UML для пользователя: Пер. с англ. - М.: ДМК, 2000. - 432 с., ил. (Серия «для программистов»).
2. Боггс У., Боггс М.. UML и Rational Rose: Пер. с англ. - М.: Издательство «Лори», 2000. - 581 с., ил.
3. Буч Г., Рамбо Д., Джекобсон А. UML: специальный справочник. - СПб.: Питер, 2002. - 432 с., ил.
Приложение А
Листинг программного кода на языке C++
//## begin module%1.2%.codegen_version preserve=yes
// Read the documentation to learn more about C++ code generator
// versioning.
//## end module%1.2%.codegen_version
//## begin module%4768545800EA.cm preserve=no
// %X% %Q% %Z% %W%
//## end module%4768545800EA.cm
//## begin module%4768545800EA.cp preserve=no
//## end module%4768545800EA.cp
//## Module: ADM%4768545800EA; Package body
//## Subsystem: Control%4768514C02EE
//## Source file: C:\Program Files\Rational\Rose 2000\C++\source\Control\ADM.cpp
//## begin module%4768545800EA.additionalIncludes preserve=no
//## end module%4768545800EA.additionalIncludes
//## begin module%4768545800EA.includes preserve=yes
//## end module%4768545800EA.includes
// ADM
#include "Control\ADM.h"
//## begin module%4768545800EA.declarations preserve=no
//## end module%4768545800EA.declarations
//## begin module%4768545800EA.additionalDeclarations preserve=yes
//## end module%4768545800EA.additionalDeclarations
моделирование диаграмма информационный класс
// Class ADM
ADM::ADM()
//## begin ADM::ADM%476825B2032C_const.hasinit preserve=no
//## end ADM::ADM%476825B2032C_const.hasinit
//## begin ADM::ADM%476825B2032C_const.initialization preserve=yes
//## end ADM::ADM%476825B2032C_const.initialization
{
//## begin ADM::ADM%476825B2032C_const.body preserve=yes
//## end ADM::ADM%476825B2032C_const.body
}
ADM::ADM(const ADM &right)
//## begin ADM::ADM%476825B2032C_copy.hasinit preserve=no
//## end ADM::ADM%476825B2032C_copy.hasinit
//## begin ADM::ADM%476825B2032C_copy.initialization preserve=yes
//## end ADM::ADM%476825B2032C_copy.initialization
{
//## begin ADM::ADM%476825B2032C_copy.body preserve=yes
//## end ADM::ADM%476825B2032C_copy.body
}
ADM::~ADM()
{
//## begin ADM::~ADM%476825B2032C_dest.body preserve=yes
//## end ADM::~ADM%476825B2032C_dest.body
}
ADM & ADM::operator=(const ADM &right)
{
//## begin ADM::operator=%476825B2032C_assign.body preserve=yes
//## end ADM::operator=%476825B2032C_assign.body
}
int ADM::operator==(const ADM &right) const
{
//## begin ADM::operator==%476825B2032C_eq.body preserve=yes
//## end ADM::operator==%476825B2032C_eq.body
}
int ADM::operator!=(const ADM &right) const
{
//## begin ADM::operator!=%476825B2032C_neq.body preserve=yes
//## end ADM::operator!=%476825B2032C_neq.body
}
//## Other Operations (implementation)
void ADM::SaveForm ()
{
//## begin ADM::SaveForm%47682651000F.body preserve=yes
//## end ADM::SaveForm%47682651000F.body
}
// Additional Declarations
//## begin ADM%476825B2032C.declarations preserve=yes
//## end ADM%476825B2032C.declarations
//## begin module%4768545800EA.epilog preserve=yes
//## end module%4768545800EA.epilog
//## begin module%1.2%.codegen_version preserve=yes
// Read the documentation to learn more about C++ code generator
// versioning.
//## end module%1.2%.codegen_version
//## begin module%4768542F038A.cm preserve=no
// %X% %Q% %Z% %W%
//## end module%4768542F038A.cm
//## begin module%4768542F038A.cp preserve=no
//## end module%4768542F038A.cp
//## Module: ADM%4768542F038A; Package specification
//## Subsystem: Control%4768514C02EE
//## Source file: C:\Program Files\Rational\Rose 2000\C++\source\Control\ADM.h
#ifndef ADM_h
#define ADM_h 1
//## begin module%4768542F038A.additionalIncludes preserve=no
//## end module%4768542F038A.additionalIncludes
//## begin module%4768542F038A.includes preserve=yes
//## end module%4768542F038A.includes
// Claim
#include "Entities\Claim.h"
// Transaction
#include "Control\Transaction.h"
//## begin module%4768542F038A.declarations preserve=no
//## end module%4768542F038A.declarations
//## begin module%4768542F038A.additionalDeclarations preserve=yes
//## end module%4768542F038A.additionalDeclarations
//## begin ADM%476825B2032C.preface preserve=yes
//## end ADM%476825B2032C.preface
//## Class: ADM%476825B2032C
//## Category: Control%4768382500BB
//## Subsystem: Control%4768514C02EE
//## Persistence: Transient
//## Cardinality/Multiplicity: n
class ADM
{
//## begin ADM%476825B2032C.initialDeclarations preserve=yes
//## end ADM%476825B2032C.initialDeclarations
public:
//## Constructors (generated)
ADM();
ADM(const ADM &right);
//## Destructor (generated)
~ADM();
//## Assignment Operation (generated)
ADM & operator=(const ADM &right);
//## Equality Operations (generated)
int operator==(const ADM &right) const;
int operator!=(const ADM &right) const;
//## Other Operations (specified)
//## Operation: SaveForm%47682651000F
void SaveForm ();
//## Get and Set Operations for Associations (generated)
//## Association: <unnamed>%47684732037A
//## Role: ADM::<the_Transaction>%476847330167
const Transaction * get_the_Transaction () const;
void set_the_Transaction (Transaction * value);
//## Association: <unnamed>%4768477D03B9
//## Role: ADM::<the_Claim>%4768477E03B9
const UnboundedSetByReference<Claim> get_the_Claim () const;
void set_the_Claim (UnboundedSetByReference<Claim> value);
// Additional Public Declarations
//## begin ADM%476825B2032C.public preserve=yes
//## end ADM%476825B2032C.public
protected:
// Additional Protected Declarations
//## begin ADM%476825B2032C.protected preserve=yes
//## end ADM%476825B2032C.protected
private:
// Additional Private Declarations
//## begin ADM%476825B2032C.private preserve=yes
//## end ADM%476825B2032C.private
private: //## implementation
// Data Members for Associations
//## Association: <unnamed>%47684732037A
//## begin ADM::<the_Transaction>%476847330167.role preserve=no public: Transaction {0..1 -> 0..1RHN}
Transaction *the_Transaction;
//## end ADM::<the_Transaction>%476847330167.role
//## Association: <unnamed>%4768477D03B9
//## begin ADM::<the_Claim>%4768477E03B9.role preserve=no public: Claim {1 -> 0..nRHN}
UnboundedSetByReference<Claim> the_Claim;
//## end ADM::<the_Claim>%4768477E03B9.role
// Additional Implementation Declarations
//## begin ADM%476825B2032C.implementation preserve=yes
//## end ADM%476825B2032C.implementation
};
#endif
Размещено на Allbest.ru
Подобные документы
Основные элементы объектной модели. Сущность и преимущества объектно-ориентированного подхода, понятие объекта и класса. Унифицированный язык моделирования UML. Диаграммы классов и взаимодействия: назначение, построение и примеры использования.
реферат [273,2 K], добавлен 09.06.2009Разработка модели информационной подсистемы для учета заказов клиентов автосервиса с применением языка UML. Создание диаграммы прецедентов, последовательности, сотрудничества и классов, используя методы Rational Rose 2000. Генерация программного кода C++.
курсовая работа [1013,2 K], добавлен 22.06.2011Краткая характеристика предметной области. Создание диаграммы прецедентов, последовательности, сотрудничества, классов, размещения, компонентов. Добавление деталей к описаниям операций и определение атрибутов КЛАССОВ. Генерация программного кода C++.
курсовая работа [185,0 K], добавлен 29.06.2011Общая характеристика склада как объекта хозяйственной деятельности. Создание диаграммы прецедентов и последовательности. Построение корпоративной диаграммы сотрудничества. Предназначение диаграммы классов и компонентов. Генерация программного кода C++.
курсовая работа [222,0 K], добавлен 23.06.2011Краткая характеристика предметной области. Актуальность разработки объектно-ориентированной модели информационной системы для учебной библиотеки. Создание диаграммы вариантов использования, последовательности, кооперативной диаграммы, диаграммы классов.
курсовая работа [381,8 K], добавлен 01.06.2009Особенности объектно-ориентированного проектирования. Основные понятия объектно-ориентированного подхода. Основы языка UML, варианты его использования. Диаграммы классов и взаимодействия. Разработка диаграммы прецедентов (вариантов использования).
курсовая работа [1,1 M], добавлен 13.05.2014Создание модели информационной системы оптовой базы с помощью средства ModelMaker. Диаграммы последовательности, диаграмма классов, создание предварительного модуля проекта на языке Object Pascal. Документирование информационной системы оптовой базы.
курсовая работа [516,4 K], добавлен 01.06.2016Характеристика UML как унифицированного графического языка моделирования для описания, визуализации, проектирования и документирования объектно-ориентированных систем. Диаграмма программного обеспечения, деятельности, последовательности и реализации UML.
курсовая работа [439,9 K], добавлен 05.06.2014База данных, используемая при работе турагента. Данные о клиентах туристической фирмы. Диаграмма последовательности для варианта использования "Создание нового заказа". Использование управляющих классов. Добавление деталей к описаниям операций.
курсовая работа [1,5 M], добавлен 29.06.2011Исследование объектно-ориентированного подхода к проектированию программного обеспечения будильника. Модель программного обеспечения. Взаимодействие между пользователями и системой. Диаграммы и генерация программного кода при помощи средств Rational Rose.
курсовая работа [355,8 K], добавлен 26.09.2014