Сотрудник
отдела кадров
|
1
Изменение записей о врачах и должностях
|
|
2
Формирование запросов
|
Сотрудник
бухгалтерии
|
3
Изменение записей об услугах
|
|
2
Формирование запросов
|
Врач
|
4
Выдача чека
|
|
5
Изменение записей о клиентах и визитах
|
|
6
Поиск ID врача, клиента, услуги
|
|
2
Формирование запросов
|
информационный автоматизированный
база данные
№ варианта использования: Вариант
использования-1
Название варианта использования: Изменение
записей о врачах и должностях
Автор: Топчий О.А.
Дата создания: 20.12.2010
Дата последнего обновления: 20.12.2010
Действующие лица: сотрудник отдела кадров
Описание: сотрудник добавляет, удаляет либо
изменяет информацию о врачах и услугах
Предварительные условия: пользователь
авторизован в системе
Выходные условия: все изменения сразу
отображаются на мониторе
Нормальное направление:
.0 Добавление данных
Пользователь выбирает таблицу, с которой будет
работать
Пользователь нажимает кнопку
"Добавить"
Пользователь вводит новые данные
Пользователь нажимает "Сохранить"
Система сохраняет новую запись
Альтернативное направление:
.1 Пользователь хочет удалить запись (после
пункта 1)
Пользователь нажимает кнопку "Удалить"
Возврат к пункту 4
.2 Пользователь не сохраняет изменения (после
пункта 3)
Пользователь закрывает окно
Система не сохраняет изменения
.3 Пользователь не выбрал таблицу (с пункта 1).
Система выдает сообщение об ошибке
Пользователь закрывает сообщение
Возврат к пункту 1
Приоритет: высокий
Частота использования: 1-2 раза в квартал.
№ варианта использования: Вариант
использования-2
Название варианта использования: Формирование
запросов
Автор: Топчий О.А.
Дата создания: 20.12.2010
Дата последнего обновления: 20.12.2010
Действующие лица: сотрудник отдела кадров,
сотрудник бухгалтерии, врач
Описание: сотрудник формирует запросы к базе
данных
Предварительные условия: пользователь
авторизован в системе
Выходные условия: результат отображается на
мониторе
Нормальное направление:
.0 Формирование запроса
Пользователь выбирает таблицу, к которой
строиться запрос
Пользователь выбирает тип запроса
Пользователь вводит информацию для запроса
Пользователь нажимает "Результат"
Система выдает результат
Альтернативное направление:
.1 Пользователь не выбрал таблицу (в пункте 1)
Система выдает сообщение об ошибке
Пользователь закрывает сообщение
Возврат к пункту 1
.3 Пользователь не выбрал запрос (после пункта
1).
Система выдает сообщение об ошибке
Пользователь закрывает сообщение
Возврат к пункту 2
Приоритет: низкий
Частота использования: 1-2 раза в месяц.
№ варианта использования: Вариант
использования-3
Название варианта использования: Изменение
записей об услугах
Автор: Топчий О.А.
Дата создания: 20.12.2010
Дата последнего обновления: 20.12.2010
Действующие лица: сотрудник бухгалтерии
Описание: сотрудник добавляет, удаляет либо
изменяет информацию об услугах
Предварительные условия: пользователь
авторизован в системе
Выходные условия: все изменения сразу
отображаются на мониторе
Нормальное направление:
.0 Добавление данных
Пользователь выбирает таблицу, с которой будет
работать
Пользователь нажимает кнопку
"Добавить"
Пользователь вводит новые данные
Пользователь нажимает "Сохранить"
Система сохраняет новую запись
Альтернативное направление:
.1 Пользователь хочет удалить запись (после
пункта 1)
Пользователь нажимает кнопку "Удалить"
Возврат к пункту 4
.2 Пользователь не сохраняет изменения (после
пункта 3)
Пользователь закрывает окно
Система не сохраняет изменения
.3 Пользователь не выбрал таблицу (с пункта 1).
Система выдает сообщение об ошибке
Пользователь закрывает сообщение
Возврат к пункту 1
Приоритет: высокий
Частота использования: 1-2 раза в год.
№ варианта использования: Вариант
использования-4
Название варианта использования: Выдача чека
Автор: Топчий О.А.
Дата создания: 20.12.2010
Дата последнего обновления: 20.12.2010
Действующие лица: врач
Описание: сотрудник формирует чек
Предварительные условия: пользователь
авторизован в системе
Выходные условия: чек открывается в приложении
блокнот
Нормальное направление:
.0 Формирования чека
Пользователь нажимает кнопку чек
Система открывает чек в блокноте
Приоритет: низкий
Частота использования: 21-24 раза в день.
№ варианта использования: Вариант использования-5
Название варианта использования: Изменение
записей о клиентах и визитах
Автор: Топчий О.А.
Дата создания: 20.12.2010
Дата последнего обновления: 20.12.2010
Действующие лица: врач
Описание: сотрудник добавляет, удаляет либо
изменяет информацию о визитах и клиентах
Предварительные условия: пользователь
авторизован в системе
Выходные условия: все изменения сразу
отображаются на мониторе
Нормальное направление:
.0 Добавление данных
Пользователь выбирает таблицу, с которой будет
работать
Пользователь нажимает кнопку
"Добавить"
Пользователь вводит новые данные
Пользователь нажимает "Сохранить"
Система сохраняет новую запись
Альтернативное направление:
.1 Пользователь хочет удалить запись (после
пункта 1)
Пользователь нажимает кнопку "Удалить"
Возврат к пункту 4
.2 Пользователь не сохраняет изменения (после
пункта 3)
Пользователь закрывает окно
Система не сохраняет изменения
.3 Пользователь не выбрал таблицу (с пункта 1).
Система выдает сообщение об ошибке
Пользователь закрывает сообщение
Возврат к пункту 1
Приоритет: высокий
Частота использования: 21-24 раза в день.
№ варианта использования: Вариант
использования-6
Название варианта использования: Поиск ID врача,
клиента, услуги
Автор: Топчий О.А.
Дата создания: 20.12.2010
Дата последнего обновления: 20.12.2010
Действующие лица: врач
Описание: сотрудник ищет ID врача, клиента,
услуги
Предварительные условия: пользователь
авторизован в системе
Выходные условия: результат сразу отображаются
на мониторе
Нормальное направление:
.0 Поиск
Пользователь вводит фамилию врача
Система выдает ID врача
Пользователь вводит фамилию клиента
Система выдает ID клиента
Пользователь вводит название услуги
Система выдает ID услуги
Приоритет: высокий
Частота использования: 21-24 раза в день.
Вывод
В ходе данного курсового проекта нами была
разработана информационная система Dentist control system, предназначенная для
улучшения работы стоматологической клиники, а также разработаны документы,
определяющие функциональные, нефункциональные и бизнес-требования к
разрабатываемой системе.
Спроектированная база данных была нормализована
и хранит в себе записи о врачах, их должностях и предоставляемых ими услугах,
клиентах клиники, их визитах и зубах. Это позволяет освободить помещения,
занимаемые бумажными картотеками и увеличить сохранность данных
Спроектированное приложение позволяет не только
просмотреть хранящиеся в базе данные но и манипулировать ими (добавлять,
сохранять, изменять). Также спроектированное приложение предоставляет
возможность формировать запросы к БД, в результате чего пользователь имеет
возможность получить только те данные, которые ему необходимы.
Помимо этого система автоматически формирует чек
после каждого визита клиента и позволяет его распечатать, что значительно
облегчает работу врачей.
Система имеет два уровня доступа: врач и
работник бухгалтерии. Это позволяет ограничить доступ некоторым пользователям к
функциям, на которые он не имеет права
В целом система позволяет улучшить работу
клиники, сделать ее более быстрой, а взаимодействие между отделами - более
организованным. Это все отобразиться на экономическом состоянии клиники.
Список использованной литературы
1 Джаррод Холингворт, Боб Сворт,
Марк Кэшмэн, Поль Густавсон. "Borland C++ Builder 6. Руководство
разработчика", 2004, Вильямс, 976 с.
Джеймс Р. Грофф,
Пол Н. Вайнберг, Эндрю Дж. Опель. "SQL: полный справочник", 2010,
Вильямс, 960 с.
Карл И. Вигерс. "Разработка
требований к программному обеспечению", 2004, Русская редакция, 576 с.
Уэнди Боггс, Майкл Боггс. "UML
и Rational Rose 2002", 2004, 528 с.
А. Н. Калашян, Г. Н. Калянов.
"Структурные модели бизнеса: DFD-технологии", 2003, Прикладные
информационные технологии, 256 с.
Приложение А
Руководство пользователя системой Dentist
control system.
Данное руководство предназначено для
ознакомления с системой Dentist control system и ответов на вопросы,
возникающие в ходе работы программы.
Авторизация
На Рис 1 изображена форма авторизации.
Рис 1. Форма авторизации
В поле "Логин" и "Пароль"
введите логин и пароль, выданные вам системным администратором (по умолчанию -
User, User для врачей и Admin, Admin для бухгалтеров). Если логин и пароль
введены неверно, то появиться сообщение, изображенное на Рис 2.
Рис 2. Неудачная авторизация
В случае правильного ввода логина и пароля
появиться стартовое окно Dentist control system (Рис 3).
Стартовое окно
Рис 3. Стартовое окно.
Кнопка "Авторизация" позволяет
вернуться к форме авторизации
Кнопка "Работа" осуществляет переход к
окну работы с клиентами (Рис 6)
Кнопка "Администрирование"
осуществляет переход к окну для работы с записями о врачах, услугах и
должностях (Рис 4). Кнопка будет неактивна, если вы авторизованы как врач.
Кнопка "Справка" открывает данное
руководство.
Администрирование
Окно администрирования (Рис 4) предназначено для
изменения записей в БД о врачах, услугах и должностях.
Рис 4. Окно администрирования
В выпадающем списке выберите одну из трех таблиц
(Врачи, Должности, Услуги), затем нажмите кнопку "Выбрать". В поле
ниже откроется выбранная таблица(по умолчанию открыта таблица Врачи). Если
нажать кнопку до выбора таблицы, то появиться окно с сообщением об ошибке (Рис
5).
Рис 5. Таблица не выбрана.
Кнопка "Назад" вернет вас в стартовое
окно.
Кнопка "Справка" откроет данное руководство.
Кнопка "Добавить" добавляет строку в
таблицу.
Кнопка "Удалить" удаляет выделенную
строку в таблице.
Кнопка "Сохранить" сохраняет все
изменения. ВНИМАНИЕ!!! Если закрыть приложение или выбрать другую таблицу не
нажав эту кнопку, то все изменения пропадут!!!
Окно работы с клиентами
Окно позволяет работать с записями о клиентах,
их картах и визитах (Рис 6).
Рис 6. Работа с клиентами
В выпадающем списке выберите таблицу, с которой
вы хотите работать (Пациенты, Карты, Приемы) и нажмите кнопку "Выбрать
таблицу". Выбранная таблица отобразиться в поле ниже. Если не была выбрана
ни одна таблица, то появиться окно с сообщением об ошибке (Рис 5).
Кнопка "Назад" вернет вас в стартовое
окно.
Кнопка "Справка" откроет данное руководство.
Кнопка "Добавить" добавляет строку в
таблицу.
Кнопка "Удалить" удаляет выделенную
строку в таблице.
Кнопка "Сохранить" сохраняет все
изменения. ВНИМАНИЕ!!! Если закрыть приложение или выбрать другую таблицу не
нажав эту кнопку, то все изменения пропадут!!!
Кнопки "Найти врача", "Найти
клиента", "Найти услугу" предназначены для поиска ID врача,
клиента и услуги по фамилии (названию), которые следует вводить в поля левее
кнопок (для быстроты и удобства можно вводить только часть фамилии (названия)).
Результат отобразиться в окошках ниже. Данные необходимы для заполнения таблиц
о визите и картах.
Кнопка "Чек" формирует текстовый файл
с чеком для последней записи о визите и открывает его в приложении
"Блокнот". В приложении нажмите Файл->Печать, чтобы распечатать
чек.
Кнопка "Запросы" позволяет перейти к
окну запросов (Рис 7)
Рис 7. Окно запросов
В выпадающем списке выберите таблицу, к которой
хотите построить запрос и нажмите клавишу "Выбрать". Если таблица не
выбрана, появиться сообщение об ошибке (Рис 5). Если таблица выбрана, в окне
появятся элементы для построения запроса (Рис 8).
В выпадающем списке выберите, какие именно
данные вы хотите извлечь. В поле левее введите фамилию интересующего врача,
пациента либо название услуги и затем нажмите кнопку "Результат". В
поле ниже появиться результат запроса. Если поле для фамилии или названия будет
пустым, то выведется информация по всем врачам, клиентам или услугам. Если вы
не выберете данные в выпадающем списке, то появиться сообщение об ошибке (Рис
9)
Рис 8. Выбрана таблица
Рис 9. Данные не выбраны
Кнопка "Назад" возвращает в окно
работы с клиентами.
Кнопка "Справка" откроет данное
руководство.
Приложение В
Диаграмма потоков данных
Рис 1. Концептуальная диаграмма
Рис 2. Первый уровень декомпозиции
Рис 3. Декомпозиция процесса "Запросить
данные"
Рис 4. Декомпозиция процесса "Оформить
визит"
Рис 5. Декомпозиция процесса
"Администрировать"
Приложение С
Диаграмма вариантов использования
Рис 1. Диаграмма вариантов использования
Приложение D
Перечень запросов
select IDClient from client where sername like
'%значение%'
Поиск ID клиента по фамилии.
select IDDantist from Dantist where Sername like
'%значение%'
Поиск ID врача по фамилии.
select IDService from Service where Sname like
'%значение%'
Поиск ID услуги по названию.
Select d.Sername,
c.Sername, v.Date, s.Sname, s.cost from Dantist d, Client c, Service s, Visit v
where d.IDDantist=v.IDDantist and c.IDClient=v.IDClient and
v.IDService=s.IDService and v.IDVisit in (Select max(IDVisit) from Visit)
Формирование чека.
Select Sname, cost
from Service where Sname like '%значение%'
Стоимость услуги по фамилии.
Select Sname, count(IDVisit) from Service a, Visit
b where a.IDService= b.IDService and
Sname like '%значение%' group by a.Sname
Количество визитов, на которых предоставлялась
выбранная услуга.
Select Sername, Pname from Dantist d, Post p
where d.IDPost=p.IDPost and Sername like '%значение%'
Определение должности врача.
Select Sername, Sname from Dantist d, Service s,
Visit v where d.IDDantist=v.IDDantist and v.IDService=s.IDService and Sername
like'%значение%'
Определить услуги, которые оказывал данный врач.
Select Sername, Salary*12 from Dantist d, Post p
where d.IDPost=p.IDPost and Sername like '%значение%'
Определить годовую зарплату врача.
Select Sername, Count(IDVisit) from Dantist d,
Visit v where d.IDDantist=v.IDDantist and Sername like '%значение%' group by
Sername
Определить количество визитов к одному врачу.
Select Sername, Sum(cost) from Client c, Service
s, Visit v where c.IDClient=v.IDClient and s.IDService=v.IDService and Sername
like '%значение%' group by Sername
Сколько клиент всего заплатил больнице.
Select Sername,
count(IDVisit) from Client c, Visit v where c.IDClient=v.IDClient and Sername
like '%значение%' group by Sername
Количество посещений одним клиентом.
Select Sername,
count(IDCard) from Client c, Card ca where c.IDClient=ca.IDClient and Sername
like '% значение %' group by Sername
Количество зубов, которые лечил данный клиент.
Select Sername,Toothnumber, Horisontal,
Vertikal, Description from Client c, Card ca where c.IDClient=ca.IDClient and
Sername like '% значение %'
Описание всех больных зубов клиента.