Автор: Пользователь скрыл имя, 28 Апреля 2013 в 12:40, дипломная работа
В ходе дипломного проектирования была детально проработана постановка задачи и обоснован выбор ее решения.
При построении системы использовалась двухзвенная архитектура клиент-сервер, которая предполагает разделение приложения на серверуню и клиентскую части. Серверная часть включает в себя базу данных и обеспечивает управление данными, администрирование, защиту данных. Клиентская часть обеспечивает выполнение пользовательских функций и представляет собой графический интерфейс для работы с базой данных
Введение 8
1 Постановка задачи 11
2 Технико-экономическое обоснование темы. 13
3 Теоретическая часть 17
3.1 Информационные системы. 17
3.2 Базы данных. 18
4 Проектная часть. 20
4.1 Логическое моделирование предмета разработки 20
4.1.1 Модель вариантов исользовния 20
4.1.2 Модель классов системы 22
4.1.3 Поведение предмета разработки 23
4.1.4 Взаимодействие объектов системы по времени 24
4.2 Разработка структуры базы данных 24
4.2.1 Инфологическое проектирование базы данных 24
4.2.2 Выбор модели данных 38
4.2.3 Даталогическое проектирование базы данных 39
4.2.4 Ограничение целостности данных 55
4.2.5 Физическая модель базы данных 57
4.3 Выбор и обоснование СУБД 64
4.4 Выбор и обоснование языка программирования 66
4.5 Разработка информационного обеспечения системы 67
4.5.1 Проектирование серверной части 67
4.5.2 Проектирование клиентской части 68
4.5.3 Проектирование пользовательского интерфейса 70
5 Разработка документации 74
5.1 Требования к оборудованию и программному обеспечению 74
5.1.1 Конфигурация оборудования серверной части 74
5.1.2 Конфигурация оборудования клиентской части 74
5.1.3 Программное обеспечение серверной части 75
5.1.4 Программное обеспечение клиентской части 75
5.2 Общие сведения о программе 75
5.3 Руководство системного администратора 76
5.3.1 Установка серверной части приложения 76
5.4 Руководство пользователя 77
6 Тестирование программного обеспечения 85
6.1 Тестирование методом «белого ящика» 86
6.2 Системное тестирование 88
6.3 Тестирование методом «черного ящика» 88
6.4 Результаты испытаний 90
7 Экономическая часть 91
7.1 Технико-экономическое обоснование проекта 91
7.2 Составление плана-графика разработки 92
7.3 Составление сметы затрат на разработку 94
7.4 Выводы по эффективности использования программы 98
8 Безопасность и экологичность проекта 101
8.1 Введение 101
8.2 Анализ вредных и опасных факторов 101
8.3 Требования к рабочей мебели для снижения психофизиологических перегрузок и эргономические параметры рабочего места оператора ПК 109
8.4 Рационализация режима труда и отдыха для снижения умственного утомления 111
8.5 Обеспечение пожарной безопасности 113
8.6 Экологичность проекта. 116
Заключение 117
Список используемой литературы 118
Приложение. Листинг наиболее значимых частей программы 120
Поддержание целостности включает проверку целостности и ее восстановление в случае обнаружения противоречий. Целостное состояние базы данных описывается с помощью ограничений целостности в виде условий, которым должны удовлетворять данные, хранящиеся в базе (например, ограничения диапазона атрибута).
В связи с этим при проектировании данной системы можно выделить следующие общие правила:
Для проектирования базы данных была выбрана СУБД MS SQL Server 2008 R2. Причины данного выбора будут приведены в параграфе 4.3. Выбор данной системы также накладывает некоторые тонкости ограничения целостности данных. В частности, в данной СУБД отсутствует функция каскадного удаления данных. Эта функция позволяет после удаления записей главной таблицы автоматически стирать связанные записи из подчиненной таблицы.
Для обеспечения контроля целостности данных в MS SQL Server 2008 используются следующие возможности: хранимые процедуры, триггеры, правила и значения по умолчанию.
Хранимые процедуры – это набор команд, хранимых на сервере и выполняемых как одно целое. Бывает нескольких типов: добавление, удаление, модификация и выборка. При добавлении и модификации необходимо иметь в виду, что не допускается ввод в поле внешнего ключа связанной таблицы значения, не содержащегося в ключевом поле главной таблицы. Для предотвращения такой ситуации необходимо ограничить пользователя, то есть запретить ввод с клавиатуры и предоставить выбор из определенного списка. Например, если нам необходимо добавить студента в имеющийся приказ, обязательно нужно следить, чтобы в атрибуте “Номер приказа” была введена информация, отраженная в таблице “Приказ”. Во избежание проблемы некорректного ввода необходимо предоставить пользователю право выбрать из списка приказов нужную информацию, запретив редактирование этого списка.
После завершения этапа проектирования создание базы данных выполняется средствами СУБД, то есть разрабатывается физическая модель. Физическая модель представляет собой набор файлов, расположенных на диске. Для решения этой задачи использовалась система MS SQL Server 2008 R2. Физическая модель таблиц разрабатываемой базы данных представлена в табл. 4.2.
Таблица 4.2
Имя таблицы |
Атрибут |
Тип данных |
Обязатель-ное поле |
Тип ключа |
Приказ |
НомерПриказа |
int |
да |
PK |
ДатаПриказа |
datetime |
да |
||
ТипПриказа |
int |
да |
FK | |
ФормаОбучения |
int |
да |
FK | |
СтатусСтудента |
int |
да |
FK | |
ОсноваОбучения |
int |
да |
FK | |
Курс |
int |
да |
||
Группа |
int |
да |
FK | |
Студент
Студент |
КодКарточка |
int |
да |
FK |
НомерЗачетки |
char(6) |
да |
||
НомерСтуденческого |
char(6) |
да |
||
Фамилия |
char(20) |
да |
||
Имя |
char(20) |
да |
||
Отчество |
char(20) |
да |
||
ДатаРождения |
datetime |
да |
||
Пол |
Char |
да |
||
Страна |
char(20) |
да |
||
Регион |
char(30) |
да |
||
Город |
char(20) |
да |
||
Адрес |
char(50) |
да |
||
Индекс |
char(6) |
да |
||
МестоЖительства |
char(20) |
да |
||
НомерТелефона |
char(15) |
нет |
||
НомерМобильного |
char(11) |
нет |
||
Работодатель |
char(50) |
нет |
Продолжение таблицы 4.2
Имя таблицы |
Атрибут |
Тип данных |
Обязатель-ное поле |
Тип ключа |
Преподаватель |
ТабельныйНомер |
int |
да |
PK |
Фамилия |
char(20) |
да |
||
Имя |
char(20) |
да |
||
Отчество |
char(20) |
да |
||
Образование |
char(20) |
нет |
||
УчЗаведение |
char(20) |
нет |
||
ДатаОкончания |
datetime |
нет |
||
УченаяСтепень |
int |
да |
FK | |
Кафедра |
int |
да |
FK | |
ДатаПриема |
datetime |
да |
||
Должность |
int |
да |
FK | |
Телефон |
char(15) |
нет |
||
Адрес |
char(50) |
нет |
||
ТипПриказа |
КодТипПриказа |
int |
да |
PK |
ТипПриказа |
char(30) |
да |
||
ФормаОбучения |
КодФормы |
int |
да |
PK |
Название |
char(15) |
да |
||
Сокращение |
char(10) |
нет |
||
Основание Приказа |
КодОснование |
int |
да |
PK |
Основание |
char(20) |
да |
||
Комментарий |
char(50) |
нет |
||
ОсноваОбучения |
КодОсноваОбучения |
int |
да |
PK |
Основа |
char(15) |
да |
||
Сокр |
char(10) |
нет |
Продолжение таблицы 4.2
Имя таблицы |
Атрибут |
Тип данных |
Обязатель-ное поле |
Тип ключа |
СтатусСтудента |
КодСтатуса |
int |
да |
PK |
Статус |
char(20) |
да |
||
Сокращение |
char(10) |
да |
||
Описание |
char(50) |
нет |
||
ПриказСтудент |
НомерПриказа |
int |
да |
PK/FK |
Студент |
int |
да |
PK/FK | |
Диплом |
Студент |
int |
да |
PK |
ТемаДиплома |
char(100) |
да |
||
МестоПрактики |
char(50) |
да |
||
Руководитель |
int |
да |
FK | |
Группа |
КодГрупы |
int |
да |
PK |
НомерГруппы |
char(10) |
да |
||
Специальность |
int |
да |
FK | |
ДатаСоздания |
datetime |
да |
||
ФиоСтаросты |
char(50) |
нет |
||
Специальность |
КодСпециальности |
int |
да |
PK |
ШифрСпециальности |
char(10) |
да |
||
Наименование |
char(50) |
да |
||
ВыпускающаяКаф. |
int |
да |
FK | |
СрокОбучения |
int |
да |
||
Кафедра |
КодКафедры |
int |
да |
PK |
Наименование |
char(50) |
да |
||
Сокращение |
char(15) |
да |
||
ЗавКафедрой |
char(50) |
да |
||
Телефон |
char(10) |
нет |
||
ТелефонВнутр |
char(10) |
нет |
Продолжение таблицы 4.2
Имя таблицы |
Атрибут |
Тип данных |
Обязатель-ное поле |
Тип ключа |
УчПланСпеци-альности |
КодУчПлСпециальн. |
int |
да |
PK |
ВидЗанятий |
int |
да |
FK | |
Дисциплина |
int |
да |
FK | |
КолЧасов |
int |
да |
||
НомерСеместра |
int |
да |
||
УченаяСтепень |
КодУчСт |
int |
да |
PK |
Наименование |
char(30) |
да |
||
Сокращение |
char(15) |
да |
||
Должность |
КодДолжности |
int |
да |
PK |
Наименование |
char(20) |
да |
||
ВидЗанятий |
КодВидЗанятий |
int |
да |
PK |
ВидЗанятий |
char(15) |
да |
||
Сокращение |
char(10) |
нет |
||
Дисциплина |
КодДисциплины |
int |
да |
PK |
Наименование |
char(50) |
да |
||
Сокращение |
char(15) |
нет |
||
УчПланИспыта-ний |
КодПланИспытаний |
int |
да |
PK |
УчПлСпециальности |
int |
да |
FK | |
ВидИспытаний |
int |
да |
FK | |
ВидИспытаний |
КодВидИспытаний |
int |
да |
PK |
Название |
char(15) |
да |
||
Сокращение |
char(10) |
нет |
||
НагрузкаЗанятия |
Группа |
int |
да |
PK/FK |
УчПлСпециальности |
int |
да |
PK/FK | |
Преподаватель |
int |
да |
PK/FK |