Разработка объектно-ориентированной модели информационной подсистемы для регистратуры ЦРБ
Построение диаграмм, добавление деталей к описаниям операций, определение атрибутов классов и порядок генерации программного кода на языке С++ объектно-ориентированной модели информационной подсистемы, автоматизирующей работу регистратуры поликлиники.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.06.2011 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
28
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
ГОУ ВПО СЕВЕРО-КАВКАЗСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Факультет информационных технологий и телекоммуникаций
Кафедра прикладной информатики
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОМУ ПРОЕКТУ НА ТЕМУ:
Разработка объектно-ориентированной модели информационной подсистемы для регистратуры ЦРБ
Автор курсового проекта Д.О. Никифорова
Направление: 080800.62 «Прикладная информатика»
Группа: ПИБ-081
Руководитель проекта: к.т.н., доцент В.Ф. Ляхов
Ставрополь, 2011
СОДЕРЖАНИЕ
ВВЕДЕНИЕ
1. КРАТКАЯ ХАРАКТЕРИСТИКА ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Общая характеристика
1.2 Актуальность разрабатываемой подсистемы
1.3 Формулировка задач проектирования
2. СОЗДАНИЕ ДИАГРАММЫ ПРЕЦЕДЕНТОВ
3. СОЗДАНИЕ ДИАГРАММЫ ПОСЛЕДОВАТЕЛЬНОСТИ
4. СОЗДАНИЕ ДИАГРАММЫ СОТРУДНИЧЕСТВА
5. СОЗДАНИЕ ДИАГРАММЫ КЛАССОВ
6. ДОБАВЛЕНИЕ ДЕТАЛЕЙ К ОПИСАНИЯМ ОПЕРАЦИЙ И ОПРЕДЕЛЕНИЕ АТРИБУТОВ КЛАССОВ
7. СОЗДАНИЕ ДИАГРАММЫ СОСТОЯНИЙ ДЛЯ КЛАССОВ И ДИАГРАММЫ КОМПОНЕНТОВ
8. СОЗДАНИЕ ДИАГРАММЫ РАЗМЕЩЕНИЯ
9. ГЕНЕРАЦИЯ ПРОГРАММНОГО КОДА C++
ЗАКЛЮЧЕНИЕ
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Приложение А. Листинги сгенерированных кодов для информационной подсистемы bolnica
ВВЕДЕНИЕ
UML (англ. Unified Modeling Language -- унифицированный язык моделирования) -- язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML-моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем. UML не является языком программирования, но в средствах выполнения UML-моделей как интерпретируемого кода возможна кодогенерация.
В курсовом проекте разработана объектно-ориентированная модель информационной подсистемы для регистратуры ЦРБ. Модель разработана с помощью программного продукта Rational Rose 2000, с использованием языка UML.
В первом разделе курсового проекта представлена краткая характеристика предметной области и актуальность разработки объектно-ориентированной модели информационной подсистемы для регистратуры ЦРБ.
Во втором разделе рассмотрено создание диаграммы прецедентов, ее основная характеристика. В этом разделе выделены актеры, включенные в работу информационной подсистемы, а также рассмотрены их основные действия.
В третьем разделе пояснительной записки рассматривается создание диаграммы последовательности, на которой изображено упорядоченное во времени взаимодействие объектов. В частности, на ней изображаются участвующие во взаимодействии объекты и последовательность сообщений, которыми они обмениваются.
Четвертый раздел посвящен рассмотрению диаграммы сотрудничества для прецедента информационной подсистемы «Выдать талон на прием». Этот тип диаграмм позволяет описать взаимодействия объектов, абстрагируясь от последовательности передачи сообщений. На этом типе диаграмм в компактном виде отражаются все принимаемые и передаваемые сообщения конкретного объекта, и типы этих сообщений.
В пятом разделе описана диаграмма классов для прецедента «Выдать талон на прием».
В разделе номер шесть рассмотрена диаграмма классов варианта использования «Выдать талон на прием и основные добавленные атрибуты и операции.
Седьмой раздел посвящен описанию диаграммы состояний для класса Talon. В этом же разделе приводится описание диаграммы компонентов для прецедентов разрабатываемой информационной подсистемы.
Диаграмма размещения проектируемой информационной подсистемы приводится и описывается в восьмом разделе пояснительной записки.
В девятом разделе пояснительной записки приводится и описывается порядок генерации программного кода на языке С++.
В заключении подведены итоги курсового проектирования и сформулированы пути развития темы курсового проекта.
В приложение вынесены листинги кода проектируемой программы, сгенерированные RationalRose.
1. КРАТКАЯ ХАРАКТЕРИСТИКА ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Общая характеристика
Разрабатываемая информационная подсистема предназначена для использования в рамках информационной системы регистратуры поликлиники для оперативного учета ее пациентов.
1.2 Актуальность разрабатываемой подсистемы
В современных условиях нашего мира большое значение имеет качество медицинского обслуживания. Каждый гражданин любой страны имеет право на своевременную и квалифицированную помощь специалиста-медика. В современном ритме жизни у людей все меньше времени остается на свое здоровье, а визит в больницу, как правило, затягивается надолго. Однако, имея талон на посещение необходимого врача на определенную дату и время, человек без труда спланирует время и попадет на прием. Все это приводит к тому, что систему медицинского обслуживания необходимо автоматизировать.
1.3 Формулировка задач проектирования
В связи с большим потоком пациентов поликлиники, база данных должна оперативно отражать информацию регистрируемых пациентах того или иного врача-специалиста.
Для увеличения производительности труда и более эффективного функционирования системы регистратуры поликлиники, информационная подсистема должна выполнять ряд задач.
Работник регистратуры будет выполнять следующие функции:
- добавлять информацию о новом пациенте в базу данных поликлиники;
- изменять имеющуюся информацию об уже занесенных в базу данных пациентах;
- просматривать данных о пациенте;
- выдавать пациенту талон на прием к врачу-специалисту;
Выводы
1. Создание информационной подсистемы позволяет автоматизировать работу работника регистратуры и существенно ускорить выдачу талонов на прием, а также значительно улучшить качество работы регистратуры.
2. Для создания объектно-ориентированной модели необходимо построить семь диаграмм и выполнить генерацию кода каркаса приложения.
2. СОЗДАНИЕ ДИАГРАММЫ ПРЕЦЕДЕНТОВ
На данной диаграмме отражены отношения, существующие между актерами и прецедентами. Основная задача - представлять собой единое средство, дающее возможность заказчику, конечному пользователю и разработчику совместно обсуждать функциональность и поведение системы.
На рисунке 2.1 приведена разработанная диаграмма вариантов использования. Основным действующим лицом (актером) является Работник регистратуры. Он выполняет четыре основных действия:
- занесение информации о новом пациенте в базу данных;
- просмотр базы данных. Подразумевает поиск необходимой информации по необходимости;
- изменение данных о пациенте, ранее посещавшем данную поликлинику;
- выдача талонов на прием к врачам-специалистам.
Для создания диаграммы последовательности выполнить следующие действия:
1. Запустить интегрированную среду разработки Rational Rose 2000.
2. Перейти к главной диаграмме (Main) Use case:
- путем нажатия на значке «+» рядом с представлением Use case, открыть представление;
- дважды щелкнув на главной диаграмме, открыть её.
3. С помощью кнопки Use Case (вариант использования) панели инструментов поместить на диаграмму новый вариант использования.
4. Ввести название «Выдать талон на прием».
5. Повторив этапы 3 и 4, поместить на диаграмму оставшиеся преценденты:
- просмотр данных о пациенте;
- изменить данные о пациенте;
- добавить пациента в БД;
- узнать расписание работы врачей;
Рисунок 2.1 - Диаграмма вариантов использования «Регистратура»
6. Используя кнопку Actor (действующее лицо) панели инструментов, поместить на диаграмму новое действующее лицо.
7. Ввести имя «Работник регистратуры».
8. Повторив шаги шесть и семь, поместить на диаграмму еще одного актера действующее лицо «Пациент»
9. С помощью кнопки Unidirectional Association (Однонаправленная ассоциация) добавить связь между действующим лицом «Работник регистратуры» и всеми вариантами использования, исключая прецедент «Узнать расписание работы врачей»
10. Аналогично добавить ассоциации между действующим лицом «Пациент» и вариантами использования «Просмотр данных о пациенте» и «Узнать расписание работы врачей».
Рассмотренные выше варианты использования инициируют последовательность действий (транзакций) в базе данных в ответ на действия со стороны работника регистратуры поликлиники [1].
Выводы
1. В результате проведения всех описанных выше действий была создана диаграмма прецедентов, состоящая из двух актеров и пяти вариантов использования. Основным действующим лицом является Работник регистратуры. Он выполняет четыре действия: «Выдать талон на прием», «Добавить пациента в БД », «Изменить данные о пациенте», «Просмотр данных о пациенте».
2. В результате анализа приведенной выше диаграммы вариантов использования выяснилось, что наиболее важной и сложно реализуемой задачей разработки информационной подсистемы является реализация выдачи талонов на прием к врачу-специалисту, так как это является основным видом работы регистратуры поликлиники.
3. СОЗДАНИЕ ДИАГРАММЫ ПОСЛЕДОВАТЕЛЬНОСТИ
На диаграмме последовательности изображено упорядоченное во времени взаимодействие объектов [1].
Рассмотрим вариант использования «Выдать талон на прием». Диаграмма последовательности приведена на рисунке 3.1.
На приведенной выше диаграмме выделены следующие объекты соответствующих классов:
- выбор врача - объект класса DocForm, отвечающий за выбор необходимого врача-специалиста;
- форма заполнения талона - объект класса TalonForm - конкретной формы ввода данных о выдаваемом талоне;
- управляющий БД - объект управляющего класса DBManager, выполняющий функции СУБД;
- запись о выдаче талона в БД - объект класса Talon, инкапсулирующего в себе всю необходимую информацию о выдаваемом талоне(имя врача и пациента, дата и время приема, др.);
- управляющий транзакциями - объект класса TransactionManager, берущий на себя функции СУБД по управлению транзакциями [2].
Последовательность действий выглядит следующим образом:
1. Работник регистратуры создает новую запись о выдаваемом талоне в БД.
2. Сначала он открывает необходимую форму для выбора врача, а затем для заполнения талона.
3. Вводит все необходимые поля в открытую форму.
4. Сохраняет введенные данные.
5. При этом информация отправляется в СУБД, которая обозначена на диаграмме как «Управляющий БД».
6. СУБД создает новую пустую запись.
Рисунок 3.1 - Диаграмма последовательности для варианта использования «Выдать талон на прием»
1. 7. Генерируется изменение значения полей в соответствии с введенными работником регистратуры данными.
8. Передает эту запись системе управления транзакциями, которая обозначена на диаграмме как «Управляющий транзакциями».
9. Система управления транзакциями осуществляет транзакцию.
10. Система управления транзакциями возвращает сообщение об успешности проведения транзакции или ошибке при её выполнении.
Выводы
1. Была разработана диаграмма последовательности для варианта использования «Выдать талон на прием». Этот вариант использования является наиболее важной и наиболее сложно реализуемой задачей информационной подсистемы.
2. При создании диаграммы были созданы пять классов: два управляющих, два «граничных» и один «сущность».
4. СОЗДАНИЕ ДИАГРАММЫ СОТРУДНИЧЕСТВА
Этот тип диаграмм позволяет описать взаимодействия объектов, абстрагируясь от последовательности передачи сообщений. На этом типе диаграмм в компактном виде отражаются все принимаемые и передаваемые сообщения конкретного объекта, и типы этих сообщений [3].
Разработанная в данном курсовом проекте диаграмма сотрудничества описывает процесс выдачи талона на прием к врачу-специалисту (рисунок 4.1).
Используемые объекты:
- выбор врача ( класс DocForm);
- заполнение талона (класс TalonForm);
- управляющий БД (класс DBManager);
- запись выдаче талона в БД (класс Talon);
- управляющий транзакциями (класс - TransactionManager).
На диаграмму были добавлены следующие сообщения, соотнесенные с операциями:
1. Create() - создать новую форму о выборе необходимого врача.
2. OpenForm() - открыть форму заполнения нового талона .
3. EnterData() - ввести данные на форму.
4. SaveInfo() - нажать кнопку сохранить на форме.
5. SaveTalon() - послать запрос в БД на сохранение информации.
6. CreateT() - создать пустую запись в БД.
7. EnterInfo() - редактирование вновь созданной записи: присвоение соответствующим полям таблицы ранее введенную информацию.
8. SaveTalon() - отправление команды в систему управления транзакциями на выполнение транзакции по изменению записи.
9. GetTalon() - возвращение результатов выполнения транзакции и вывод сообщения об ошибке, если транзакция не была завершена.
Рисунок 4.1 - Диаграмма сотрудничества для варианта использования «Выдача талона на прием»
Выводы
1. Была спроектирована диаграмма сотрудничества для варианта использования «Выдача талона на прием». Во многом от правильности выполнения этого прецедента будет зависеть в дальнейшем успешность оперативного учета и функционирования всей системы в целом.
2. Да диаграмму были добавлены девять сообщений, соотнесенные с соответствующими операциями.
5. СОЗДАНИЕ ДИАГРАММЫ КЛАССОВ
Для создания диаграммы классов необходимо выполнить следующую последовательность действий:
1. Создать пакеты:
а) путем нажатия правой клавиши мыши на логическом представлении браузера;
б) в открывшемся меню выбрать пункт New >Package (Создать >Пакет);
в) ввести название пакета Entities (Сущности);
г) действуя аналогично, создать пакеты Boundaries (Границы) и Control (Управление).
2. Создать главную диаграмму классов:
а) дважды кликнув мышью на главной диаграмме классов, открыть ее;
б) перетащить пакеты Boundaries и Control, Entities из браузера на диаграмму [3];
В результате выполнения указанных выше действий была создана главная диаграмма классов (рисунок 5.1).
Рисунок 5.1 - Диаграмма пакетов
Выводы
1. Для разработки диаграммы классов была использована форма пакетов. В результате созданы три основных пакета, объединяющих классы по стереотипам.
2. Была разработана диаграмма пакетов, являющаяся одной из форм диаграммы классов.
6. ДОБАВЛЕНИЕ ДЕТАЛЕЙ К ОПИСАНИЯМ ОПЕРАЦИЙ И ОПРЕДЕЛЕНИЕ АТРИБУТОВ КЛАССОВ
После создания диаграммы классов для варианта использования «Выдача талона на прием» необходимо произвести ее заполнение. Языком программирования был выбран C++. Поэтому к классам можно добавить необходимые параметры операций, типы данных и типы возвращаемых значений.
В результате разработанная ранее диаграмма классов примет вид ,представленный на рисунке 6.1.
Для добавления новой записи о талоне, работнику регистратуры введет следующую необходимую информацию (атрибуты класса Talon):
- TalonNumber - номер талона;
- DateVidachi - дата выдачи талона;
- DateTalon - дата, на которую выдан талон;
- PatientName - имя пациента;
- DocName - имя врача-специалиста;
- PolicNum - номер полиса пациента;
Назначения методов классов были рассмотрены ранее, в разделах три и четыре [2].
Выводы
1. Создана диаграмма классов для прецедента «Выдача талона на прием». Из диаграммы видно, что между классами существует определенная семантическая зависимость.
2. На диаграмме для каждой семантической связи также наглядно отображена множественность, показывающая, сколько экземпляров одного класса взаимодействует с помощью этой связи с одним экземпляром другого класса в определенный момент времени.
информационный программа автоматизация поликлиника
Рисунок 6.1 - Диаграмма классов для варианта использования «Выдача талона на прием»
7. СОЗДАНИЕ ДИАГРАММЫ СОСТОЯНИЙ ДЛЯ КЛАССОВ И ДИАГРАММЫ КОМПОНЕНТОВ
Находясь в конкретном состоянии, объект может выполнять определенные действия.
На рисунке 7.1 приведена диаграмма состояния для класса Talon. Диаграмма состояний создается путем выполнения следующих действий:
1. Найти в браузере класс Talon.
2. Щелкнуть на классе правой кнопкой мыши и в открывшемся меню указать пункт Open State Diagram (Открыть диаграмму состояний).
Добавление начального и конечного состояний производится через:
1. Нажатие на кнопку Start State (Начальное состояние) панели инструментов.
2. Далее необходимо поместить это состояние на диаграмму.
3. Нажать кнопку End State (Конечное состояние) панели инструментов.
4. Поместить это состояние на диаграмму.
Добавление состояний:
1. На панели инструментов нажать кнопку State (Состояние).
2. Поместить состояние на диаграмму.
3. Назвать состояние «Инициализация».
4. Выполняя действия 1-3, добавить на диаграмму следующие состояния: «Выполнен», «Инициализация», «Отменен», «Приостановлен».
Для добавления описаний состояний необходимо:
1. Дважды щелкнуть мышью на состоянии «Инициализация».
2. Перейти на вкладку Detail (Подробно).
3. Щелкнуть правой кнопкой мыши в окне Actions (Действия).
4. В открывшемся меню выбрать пункт Insert (Вставить).
Рисунок 7.1 - Диаграмма состояний класса Talon
5. Дважды щелкнуть мышью на новом действии.
6. Назвать его StoreData.
7. Убедиться, что в окне When (Когда) указан пункт On Entry (На входе).
8. Повторив шаги 3 - 7, добавить следующие действия:
- «Считывать информацию», в окне When указать Do;
- «Сохранить талон», указав On Exit;
9. Нажать два раза на ОК, чтобы закрыть спецификацию.
10. Дважды щелкнуть мышью на состоянии «Отменен».
11. Повторив шаги 2 -- 7, добавить действие Store data, указав On Exit (На выходе)
12. Нажать два раза на ОК, чтобы закрыть спецификацию.
13. Дважды щелкнуть мышью на состоянии «Выполнен».
14. Повторив шаги со второго по седьмой, добавить действия:
- create talon, указав Do;
- savedata, указав OnEntry;
- save talon, указав On Exit.
Нажать два раза на ОК, чтобы закрыть спецификацию.
Добавление переходов организуется следующим образом:
1. Нажать кнопку Transition (Переход) панели инструментов.
2. Щелкнуть мышью на начальном состоянии.
3. Провести линию перехода к состоянию «Инициализация».
4. Повторив шаги с первого по третий, создать следующие переходы:
- от состояния «Инициализация» к состоянию «Приостановлен»;
- от «Приостановлен» к состоянию «Выполнен»;
- от состояния «Инициализация» к состоянию «Отменен»;
- от состояния «Отменен» к конечному состоянию;
5. от состояния «Выполнен» к конечному состоянию;
6. На панели инструментов нажать кнопку Transition to Self (Переход к себе).
7. Щелкнуть мышью на состоянии «Приостановлен».
Для добавления описания переходов необходимо:
1. Дважды щелкнув мышью на переходе от «Инициализация» к состоянию «Приостановлен», открыть окно спецификации перехода.
2. В поле Event (Событие) ввести фразу «Добавить талон».
3. Щелкнув на кнопке ОК, закрыть окно спецификации.
4. Повторив шаги с первого по третий, добавить событие «Отменить создание талона» к переходу между состояниями «Инициализация» и «Отменен».
5. Дважды щелкнув мышью на переходе от состояния «Приостановлен» к состоянию «Выполнен», открыть окно его спецификации.
6. В поле Event (Событие) ввести фразу «Добавить недостающую информацию».
7. Перейти на вкладку Detail (Подробно).
8. В поле Condition (Условие) введите «нет пустых полей».
9. Щелкнув на кнопке ОК, закрыть окно спецификации.
10. Дважды щелкнуть мышью на рефлексивном переходе (Transition to Self) состояния «Приостановлен».
11. В поле Event (Событие) ввести фразу «Добавить информацию».
12. Перейти на вкладку Detail (Подробно).
13. В поле Condition (Условие) ввести «есть пустые поля».
14. Щелкнув на кнопке ОК, закрыть окно спецификации [1].
На рисунке 7.2 представлена диаграмма компонентов. Она отображает распределение классов и объектов по компонентам при физическом проектировании.
Рисунок 7.2 - Диаграмма компонентов для реализации классов варианта использование «Выдать талон на прием»
Выводы
1. Была создана диаграмма состояний для класса Talon. Согласно этой диаграмме объекты данного класса могут находиться в одном из четырех состояний: инициализации, приостановки, отмены и завершения. Была также разработана диаграмма компонентов, разделяющая систему на 2 компонента: клиент и сервер.
2. Из диаграммы компонентов видно, что разрабатываемая подсистема будет работать по технологии «клиент-сервер». К клиентской части приложения относятся классы DocForm и TalonForm и объекты этих классов. К серверной части приложения отнесены все остальные классы и их объекты.
8. СОЗДАНИЕ ДИАГРАММЫ РАЗМЕЩЕНИЯ
Данная диаграмма служит для моделирования работающих узлов (аппаратных средств, англ. node) и артефактов, развёрнутых на них.
Для заполнения диаграммы размещения необходимо выполнить следующую последовательность действий:
1. Дважды щелкнув мышью на представлении размещения в браузере, открыть диаграмму размещения.
2. Нажать кнопку Processor (Процессор) панели инструментов.
3. Щелкнув мышью на диаграмме, поместить туда процессор.
4. Ввести имя процессора «Сервер БД».
5. Повторив шаги 2-4, добавить следующие процессоры: «Сервер приложения», «рабочая станция №1», «рабочая станция №2».
6. На панели инструментов нажать кнопку Device (Устройство).
7. Щелкнув мышью на диаграмме, поместить туда устройство.
8. Назвать его «Принтер» [4].
Для добавления связей:
1. Нажать кнопку Connection (Связь) панели инструментов.
2. Щелкнуть мышью на процессоре «Сервер БД».
3. Провести линию связи к процессору «Сервер приложения».
4. Повторив шаги 1 ? 3, добавить следующие связи:
- от процессора «Сервер приложения» к процессору «рабочая станция №1»;
- от процессора «Сервер приложения» к процессору «рабочая станция №2»;
- от процессора «Сервер приложения» к устройству «Принтер».
Для добавления процессов:
1. Щелкнуть правой кнопкой мыши на процессоре «Сервер приложения» в браузере.
2. В открывшемся меню выберать пункт New > Process (Создать > Процесс).
3. Ввести имя процесса ? TalonServerExe.
4. Повторить шаги 1 ? 3, добить процессы:
- процесс TalonExe на процессоре «рабочая станция №1»;
- процесс ATMClientExe на процессоре «рабочая станция №2» [2].
Для показа процессов на диаграмме необходимо:
1. Щелкнуть правой кнопкой мыши на процессоре «Сервер приложения».
2. В открывшемся меню выбрать пункт Show Processes (Показать процессы).
3. Повторив шаги 1 и 2, показать процессы на следующих процессорах:
- рабочая станция №1;
- рабочая станция №2.
В результате проведения действий, описанных выше, была создана диаграмма размещения (рисунок 8.1).
Рисунок 8.1 - Диаграмма размещения для информационной подсистемы регистратуры ЦРБ
Выводы
1. Из диаграммы видно, что информационная подсистема регистратуры поликлиники построена на технологии «клиент-сервер». Это позволяет организовать одновременный доступ нескольких работников регистратуры к базе данных.
2. Клиентские программы будут работать в нескольких местах. Через локальную вычислительную сеть поликлиники будет осуществляться сообщение этой части программы с главным сервером системы, с работающим программным обеспечением. В свою очередь, главный сервер посредством локальной сети будет сообщаться с сервером базы данных. С главным сервером соединен принтер.
9. ГЕНЕРАЦИЯ ПРОГРАММНОГО КОДА C++
В RationalRose 2000 предусмотрена возможность генерации программного кода C++.
Для генерации программного кода на стандартном C++ необходимо:
1. Создать компоненты (необязательно).
2. Определить компоненты для классов (необязательно).
3. Установить свойства генерации программного кода
(необязательно).
4. Выбрать класс или компонент для генерации на диаграмме Классов
или Компонентов.
5. Выбрать в меню Tools >C++ >Code Generation(рисунок 9.1)
6. Выбрать в меню Tools >C++ >Browse Header или Browse Body для просмотра сгенерированного программного кода [1].
Первый этап процесса генерации программного кода - создание компонентов для классов. Это файлы с расширениями *. cpp (файл реализации) и *. h (заголовочный файл). В C++ данный этап не является обязательным. Если не описать компоненты, Rational Rose сгенерирует файлы *. cpp и *. h для каждого класса. Тем не менее, настоятельно рекомендуется создавать компоненты, что позволит управлять отображением классов на компоненты и моделировать зависимости между компонентами. После создания компонентов и отображения классов, следующим шагом является установка свойств генерации программного кода для классов, компонентов, операций и других элементов модели [3].
Вывод
1. На основании созданных моделей компонентов, представленных в проекте, была произведена генерация программного кода на языке Visual C++. Сгенерированы файлы с расширениями .chh и .h для каждого класса.
Рисунок 9.1 - Окно генерации кода ANSI C++
ЗАКЛЮЧЕНИЕ
В результате выполнения курсового проекта была разработана объектно-ориентированная модель информационной подсистемы для регистратуры ЦРБ. Работа написана с помощью языка UML, с использованием среды разработки Rational Rose 2000. Общий объем разработанной подсистемы и сгенерированных файлов С++ составляет 2,53 Мбайт.
В результате работы созданы следующие диаграммы:
- прецедентов;
- последовательности;
- сотрудничества;
- классов;
- состояния для классов;
- компонентов;
- размещения.
Основное действующее лицо - Работник регистратуры. Он выполняет четыре основных действия: «Выдать талон на прием», «Добавить пациента в БД», «Изменить данные о пациенте», «Просмотр данных о пациенте». Наиболее важной и сложно реализуемой задачей информационной подсистемы является выдача талонов на прием к врачу-специалисту, так как именно этот вариант использования является основным видом работы регистратуры поликлиники.
Данная информационная подсистема построена на технологии «клиент-сервер». Это позволяет организовать одновременную работу нескольких работников регистратуры к базе данных.
Клиентские программы будут осуществлять функционирование в нескольких местах. Через ЛВС поликлиники будет осуществляться сообщение этой части программы с главным сервером системы, с работающим программным обеспечением. В свою очередь, главный сервер посредством локальной сети будет сообщаться с сервером базы данных. К главному серверу также подключен принтер.
Модель, разработанная в данном курсовом проекте, позволяет добавлять новых пациентов в базу данных, изменять ранее веденную информацию, выдавать талоны на прием к врачам-специалистам.
Дальнейшим развитием работы над созданной подсистемой будет наполнение каркаса кода обработчиками событий.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Буч Г., Рамбо Д., Джекобсон А. Язык UML для пользователя: Пер. с англ. - М.: ДМК, 2000.- 432 с., ил. (Серия «для программистов»).
2. Боггс У., Боггс М.. UML и Rational Rose: Пер. с англ. - М.: Издательство «Лори», 2000.- 581 с., ил.
3. Буч Г., Рамбо Д., Джекобсон А. UML: специальный справочник. - СПб.: Питер, 2002.- 432 с., ил.
4. Ларман К. применение UML и шаблонов проектирования: Пер. с англ. - М.: Издательский дом «Вильямс», 2001. - 496 с., ил.
5. ГОСТ 2.105-95 ЕСКД. Общие требования к текстовым документам
6. ГОСТ 2.004-88 ЕСКД. Общие требования к выполнению конструкторских и технологических документов на печатающих и графических устройствах ввода ЭВМ
7. ГОСТ 2.104-68 ЕСКД. Основные надписи
8. ГОСТ 2.106-68 ЕСКД. Текстовые документы
9. ГОСТ 2.109-73 ЕСКД. Основные требования к чертежам
10. ГОСТ 2.301-68 ЕСКД. Форматы
Приложение А
Листинг сгенерированных кодов для информационной подсистемы bolnica
А1. DBmanager.h
#ifndef DBMANAGER_H_HEADER_INCLUDED_B1FDABDA
#define DBMANAGER_H_HEADER_INCLUDED_B1FDABDA
//##ModelId=4DE4816102D8
class DBmanager
{
public:
//##ModelId=4DE481D003D7
SaveTalon();
//##ModelId=4DE4B79503D8
EnterInfo();
//##ModelId=4E0224750112
CreateT();
//##ModelId=4E0224A302C9
saveTalon();
};
#endif /* DBMANAGER_H_HEADER_INCLUDED_B1FDABDA */
А2. DBmanager.cpp
#include "DBmanager.h"
#include "Talon.h"
//##ModelId=4DE481D003D7
DBmanager::SaveInfo()
{}
//##ModelId=4DE4B79503D8
DBmanager::EnterInfo()
{}
А3. DocForm.h
#ifndef DOCFORM_H_HEADER_INCLUDED_B200EE67
#define DOCFORM_H_HEADER_INCLUDED_B200EE67
// Форма выбора врача
//##ModelId=4DE3F14202F2
class DocForm
{ public:
//##ModelId=4DE3F1A10340
Boolean Create();
//##ModelId=4DE4824302B5
TalonForm *theTalonForm;
private:
//##ModelId=4DE47679006F
String listDoc;
//##ModelId=4DE476A5026A
Long Price;};
#endif /* DOCFORM_H_HEADER_INCLUDED_B200EE67 */
А4. DocForm.cpp
#include "DocForm.h"
//##ModelId=4DE3F1A10340
Boolean DocForm::Create()
{}
А5. Talon.cpp
#include "Talon.h"
//##ModelId=4DE3F3090076
Boolean Talon::CreateT()
{}
//##ModelId=4DE3F317020D
Talon::EnterInfo()
{}
//##ModelId=4DE3F35301C6
String Talon::GetTalon()
{}
А6. Talon.h
#ifndef TALON_H_HEADER_INCLUDED_B200AB9B
#define TALON_H_HEADER_INCLUDED_B200AB9B
//##ModelId=4DE3F2F90026
class Talon
{ public:
//##ModelId=4DE3F3090076
Boolean CreateT();
//##ModelId=4DE3F317020D
EnterInfo();
//##ModelId=4DE3F35301C6
String GetTalon();
private:
//##ModelId=4DE4777E0379
Integer TalonNumber;
//##ModelId=4DE4779301B4
Date DateVidachi;
//##ModelId=4DE477B201C2
Date DateTalon;
//##ModelId=4DE477C0007B
String PatientName;
//##ModelId=4DE477DA029F
String DocName;
//##ModelId=4DE4AEBB02BF
String PolicNum;
};
#endif /* TALON_H_HEADER_INCLUDED_B200AB9B */
А7. TalonForm.cpp
#include "TalonForm.h"
//##ModelId=4DE3F20901DD
Boolean TalonForm::OpenForm()
{}
//##ModelId=4DE3F2240361
String, Date:Date,Time:Date,DateTalon:Date TalonForm::EnterData(Integer TalonNumber, String Name, String Doc)
{}
//##ModelId=4DE3F22A0308
Boolean TalonForm::SaveInfo()
{}
А8. TalonForm.h
#ifndef TALONFORM_H_HEADER_INCLUDED_B2008678
#define TALONFORM_H_HEADER_INCLUDED_B2008678
// Форма создания нового талона
//##ModelId=4DE3F1D200B9
class TalonForm
{
public:
//##ModelId=4DE3F20901DD
Boolean OpenForm();
//##ModelId=4DE3F2240361
String, Date:Date,Time:Date,DateTalon:Date EnterData(Integer TalonNumber, String Name, String Doc);
// Сохранение введенной в форму информации
//##ModelId=4DE3F22A0308
Boolean SaveInfo();
private:
//##ModelId=4DE476C5011E
String Name;
//##ModelId=4DE476D50285
String Doc;
//##ModelId=4DE476EB02AE
String Adress;
//##ModelId=4DE477020356
Date Date;
//##ModelId=4DE47712033B
Date Time;
//##ModelId=4DE47CF402C3
Integer TalonNumber;
//##ModelId=4DE47D050334
Date DateTalon;};
#endif /* TALONFORM_H_HEADER_INCLUDED_B2008678 */
#endif /* TALONITEM_H_HEADER_INCLUDED_B200DEC5 */
А9. Transaction.cpp
#include "Transaction.h"
//##ModelId=4DE3F2E10263
Boolean Transaction::SaveTalon(integer TalonNum)
{}
//##ModelId=4DE3F35A0265
Integer Transaction::SaveInfo()
{}
//##ModelId=4DE4B7E0032C
Transaction::EnterInfo()
{}
А10. Transaction.h
#ifndef TRANSACTION_H_HEADER_INCLUDED_B200E029
#define TRANSACTION_H_HEADER_INCLUDED_B200E029
//##ModelId=4DE3F27F014C
class Transaction
{
public:
//##ModelId=4DE3F2E10263
Boolean SaveTalon(integer TalonNum);
//##ModelId=4DE3F35A0265
Integer SaveInfo();
//##ModelId=4DE4B7E0032C
EnterInfo();
};
#endif /* TRANSACTION_H_HEADER_INCLUDED_B200E029 */
Размещено на Allbest.ru
Подобные документы
Описания порядка генерации программного кода на языке С++ для информационной подсистемы. Исследование добавления деталей к описаниям операций и определения атрибутов классов. Характеристика сбора, хранения, обработки информации о ходе лечебного процесса.
курсовая работа [626,9 K], добавлен 29.06.2011Этапы разработки объектно-ориентированной модели информационной подсистемы приемной комиссии для учета абитуриентов. Создание диаграмм для моделирования процесса обмена сообщениями между объектами. Порядок генерации программного кода на языке С++.
курсовая работа [429,3 K], добавлен 29.06.2011Разработка объектно-ориентированной модели информационной подсистемы учета студентов университета во время экзаменационной сессии с помощью программы Rational Rose 2000, с использованием языка UML. Порядок генерации программного кода на языке С++.
курсовая работа [689,9 K], добавлен 21.06.2011Краткая характеристика предметной области. Создание диаграммы прецедентов, последовательности, сотрудничества, классов, размещения, компонентов. Добавление деталей к описаниям операций и определение атрибутов КЛАССОВ. Генерация программного кода C++.
курсовая работа [185,0 K], добавлен 29.06.2011Разработка объектно-ориентированной подсистемы складского учета для фирмы "КавказЮгАвто". Краткая характеристика предметной области. Построение диаграмм размещения, прецедентов, последовательности, компонентов и классов. Генерация программного кода C++.
курсовая работа [6,6 M], добавлен 26.06.2011Характеристика предметной области и актуальность разработки информационной подсистемы для пункта обмена валюты с помощью программного продукта Rational Rose 2003, с использованием языка UML. Создание программных диаграмм. Генерация программного кода С++.
курсовая работа [646,5 K], добавлен 21.06.2011Разработка объектно-ориентированной модели информационной подсистемы для дилерского пункта продажи косметики. Программа позволяет автоматизировать торговые операции фирмы, снижая нагрузку на персонал компании и оптимизируя процесс обработки заказов.
курсовая работа [1,8 M], добавлен 29.06.2011Методика разработки объектно-ориентированной модели информационной подсистемы необходимой для учета успеваемости студентов факультета, которая спроектирована с помощью программного продукта Rational Rose 2003 и унифицированного языка моделирования UML.
курсовая работа [183,9 K], добавлен 25.06.2011Использование программы Rational Rose 2000 для моделирования информационной подсистемы учета валютных операций с вкладами физических лиц. Создание диаграмм прецедентов, последовательности и сотрудничества. Основные добавленные атрибуты класса "Вклад".
курсовая работа [1,7 M], добавлен 23.06.2011Разработка объектно-ориентированной модели подсистемы "StudentCount" для деканата ВУЗа (автоматизация учета студентов и их успеваемости). Для решения данной задачи использовалось CASE–средство Rational Rose, сгенерирован программный код для языка С++.
курсовая работа [2,4 M], добавлен 28.06.2011