Вы находитесь на странице: 1из 26

СОДЕРЖАНИЕ

ВВЕДЕНИЕ
КРАТКАЯ ХАРАКТЕРИСТИКА ПРЕДМЕТНОЙ ОБЛАСТИ
СОЗДАНИЕ ДИАГРАММЫ ПРЕЦЕДЕНТОВ
СОЗДАНИЕ ДИАГРАММЫ ПОСЛЕДОВАТЕЛЬНОСТИ
СОЗДАНИЕ ДИАГРАММЫ СОТРУДНИЧЕСТВА
СОЗДАНИЕ ДИАГРАММЫ КЛАССОВ
6 ДОБАВЛЕНИЕ ДЕТАЛЕЙ К ОПИСАНИЯМ ОПЕРАЦИЙ И
ОПРЕДЕЛЕНИЕ АТРИБУТОВ КЛАССОВ. ДОБАВЛЕНИЕ СВЯЗЕЙ
МЕЖДУ КЛАССАМИ
СОЗДАНИЕ ДИАГРАММЫ СОСТОЯНИЙ ДЛЯ КЛАССОВ И
ДИАГРАММЫ КОМПОНЕНТОВ
8 СОЗДАНИЕ ДИАГРАММЫ РАЗМЕЩЕНИЯ
ГЕНЕРАЦИЯ ПРОГРАММНОГО КОДА С++
ЗАКЛЮЧЕНИЕ3
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Приложение А. Листинг кода приложения на языке С++
ВВЕДЕНИЕ

Унифицированный язык моделирования (UML, Unified Modeling


Language <http://www.interface.ru/misc/uml1.htm>) является преемником
методов объектно-ориентированного анализа и проектирования (OOA&D),
которые появились в конце 80-х и начале 90-х годов.
Язык UML в его текущем состоянии включает в себя нотацию и
метамодель. Нотация представляет собой совокупность графических
элементов, которые используются в моделях. Метамодель является средством
придания языку UML большей строгости.
В данном курсовом проекте разработана объектно-ориентированная
модель информационной подсистемы трудоустройство. Данная модель
разработана с помощью программного продукта Rational Rose 2000 Enterprise
Edition, с помощью языка UML.
1 КРАТКАЯ ХАРАКТЕРИСТИКА ПРЕДМЕТНОЙ ОБЛАСТИ

Сейчас, в условиях рыночной экономики, когда везде требуются


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

1.1 ОБЩАЯ ХАРАКТЕРИСТИКА

В данном курсовом проекте разработана объектно-ориентированная


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

1.2 АКТУАЛЬНОСТЬ РАЗРАБАТЫВАЕМОЙ ПОДСИСТЕМЫ

База данных, используемая при работе агентства по трудоустройству,


хранит данные о клиентах, их квалификации и критериях работы. В задачу
агентства входят предоставление информации об имеющихся вакансиях,
создание анкеты клиента, занесение данных о клиенте в базу данных. Служба
приема заявок принимает заявку клиента. Передает данные администратору
БД. После администратор делает запросов базу данных о наличии вакансий
по критериям, представленным клиентом и выдает информацию клиенту.
Данная объектно-ориентированная модель информационной
подсистемы должна обеспечивать возможность добавления новых данных о
клиентах, изменении старых данных, если это необходимо, создание заявок,
справок.
2 СОЗДАНИЕ ДИАГРАММЫ ПРЕЦИДЕНТОВ

Диаграммы прецедентов описывают функциональность


информационной системы, которая будет видна пользователям. Каждая
функциональность изображается в виде "прецедентов использования" (use
case) или просто прецедентов. Прецедент - это типичное взаимодействия
пользователя с системой, которое при этом:
описывает видимую пользователем функцию,
может представлять различные уровни детализации,
обеспечивает достижение конкретной цели, важной для
пользователя. 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. Назовем его «Подача заявки на работу».
. Повторив пункты 3 и 4, поместим на диаграмму остальные
варианты использования:
- Изменить заявку;
- Запрос в базу данных;
Обработать заявку;
Отклонить заявку;
6. С помощью кнопки Actor (действующее лицо) панели
инструментов поместим на диаграмму новое действующее лицо.
. Назовем его «Клиент».
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. Добавляем на созданную диаграмму действующие лица и
объекты с помощью соответствующих кнопок панели инструментов.
. Добавляем сообщения на диаграмму с помощью кнопки Object
Message (Сообщение объекта).
. Выполняем соотнесение объектов с классами с помощью меню
каждого объекта 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”


Создание диаграммы классов:
. Создадим пакеты:
а) щелкнем правой кнопкой мыши на логическом представлении
браузера;
б) в открывшемся меню выберите пункт New >Package;
в) назовем новый пакет Entities;
г) повторим пункты а - б и создадим пакеты Boundaries и Control.
. Создадим диаграмму классов для сценария AddNewForm:
а) щелкнем правой кнопкой мыши на логическом представлении
браузера;
б) в открывшемся меню выберите пункт New >Class Diagram;
в) назовем её AddNewForm;
г) дважды щелкнув мышью на этой диаграмме в браузере, откроем ее;
д) перетащим из браузера на диаграмму классы OrederForm, Form,
Claim, ADM и Transaction;
Полученная диаграмма классов показана на рисунке 5.2.
. Добавим стереотипы к классам:
а) щелкнем правой кнопкой мыши на классе OrederForm диаграммы;
б) в открывшемся меню выберем пункт Open Specification;
в) в поле стереотипа выберем Boundary;
г) нажмем кнопку Apply и кнопку OK;
. Действуя аналогично добавим стереотипы к классам как показано на
рисунке 5.3.
. Объединим классы в пакеты:
а) в браузере перетащим класс OrederForm на пакет Boundaries;
б) перетащим класс Form на пакет Boundaries;
в) перетащим классы ADM и Transaction на пакет Control;
г) перетащим класс Claim на пакет Entities.
. Добавим диаграммы классов к каждому пакету:
а) в браузере щелкнем правой кнопкой мыши на пакете Boundaries;
б) в открывшемся меню выберите пункт New >Class Diagram.
в) введем имя новой диаграммы Main;
г) откроем её;
д) перетащим на нее из браузера классы OrederForm и Form.
Главная диаграмма классов пакета Boundaries представлена на рисунке
5.4.
. Действуя аналогично добавим диаграммы классов к оставшимся
пакетам. Их главные диаграммы представлены соответственно на рисунках
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”. Двойной щелчок
на имени откроет диаграмму.
. Добавим начальное и конечное состояние на диаграмму:
. Выполним описание состояний на диаграмме:
Диаграмма компонентов отображает организацию компонентов и
зависимости между ними. Компонент - это физический элемент реализации
(компоненты исходного кода, бинарного кода, выполняемые компоненты) с
четко определенным интерфейсом, предназначенный для использования в
качестве заменяемой части системы. Каждый компонент представляет собой
реализацию некоторых классов системы.

Рисунок 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 и выполняем размещение компонентов на диаграмме компонентов.
. Помещаем на диаграмму компонентов спецификацию задачи
ZakazClientExe и ZakazServerExe с помощью кнопки Task Specification
(Спецификация задачи) панели инструментов.
6. Выполняя соотнесение классов с компонентами, как показано на
рисунке 7.3, получаем диаграмму компонентов.
Рисунок 7.3 - Диаграмма компонентов
8. СОЗДАНИЕ ДИАГРАММЫ РАЗМЕЩЕНИЯ

Диаграмма размещения отражает физические взаимосвязи между


программными и аппаратными компонентами разрабатываемой системы.
Одним из существенных понятий данного вида диаграмм является понятие
узел. Узел представляет собой некоторый тип вычислительного устройства,
как правило, самостоятельную часть аппаратуры.

Рисунок 8.1 - Диаграмма размещения

Создание диаграммы размещения:


. Добавьте узлы к диаграмме

Вам также может понравиться