Автор работы: Пользователь скрыл имя, 22 Января 2013 в 13:02, дипломная работа
Современная организация способна существовать и успешно конкурировать на рынке лишь при условии постоянного развития и адаптации под изменяющиеся условия ведения бизнеса.
Это означает, что руководство компании, планируя и достигая определенные цели, постоянно сталкивается с соответствующими управленческими проблемами, одной из которых является эффективное ведение всей учетной документации.
Введение 8
1. Постановка задачи 12
1.1. Анализ предметной области 12
1.2. Состояние проблемы и задачи 12
2. Технико-экономическое обоснование темы. 14
2.1. Актуальность и практическая ценность разработки 14
2.2. Сравнение существующих аналогов 14
2.3. Выбор средств разработки 16
3. Теоретическая часть 18
3.1. Проектирование архитектуры системы 19
3.2. Проектирование базы данных 21
3.2.1 Концептуальное (инфологическое) проектирование БД 22
3.2.2 Логическое (даталогическое) проектирование БД 24
3.2.3 Разработка базы данных 33
3.4 Конструирование пользовательского интерфейса 37
4. Разработка программной документации 40
4.1 Руководство системного программиста 40
4.2 Руководство пользователя 40
5. Тестирование программы. 49
5.1. Общие положения 49
5.2. Приёмочный тест - план 53
6. Экономическая часть 56
6.1 Расчет трудоемкости и построение ленточного графика 56
6.2 Составление сметы затрат на разработку информационной системы 60
6.2.1 Материальные затраты 60
6.2.2 Затраты на оплату труда 61
6.2.3 Страховые взносы 63
6.2.4 Амортизация основных фондов 64
6.2.5 Прочие расходы 65
6.3 Расчет показателей экономического эффекта 67
7. Безопасность и экологичность проекта 71
7.1 Анализ опасных и вредных факторов при работе с ПЭВМ 71
7.2 Организация рабочего места с ПЭВМ 79
7.3 Организация режима труда и отдыха при работе с ПЭВМ 82
7.4 Обеспечение пожарной безопасности при эксплуатации ЭВМ 84
7.4.1 Профилактика пожара 85
Заключение 87
Библиографический список. 88
Приложение 1 Листинг наиболее значемых частей программы 90
Определим взаимосвязи между сущностями:
1. Поставщики – Поставки (рис.). Тип связи один ко многим, класс принадлежности псотавщики – обязательный и тип поставки – обязательный.
Рис.3.2
2. Поставка – Номенклатура (рис.). Тип связи один ко многим, класс принадлежности поставка – обязательный и номенклатура – обязательный.
Рис.3.3
3. Номенклатура – Группы номенклатур (рис.). Тип связи один ко многим, класс принадлежности номенклатура – обязательный и группы номенклатур – обязательный.
Рис.3.4
4. Номенклатуры – Журнал (рис.). Тип связи один ко многим, класс принадлежности номенклатуры – обязательный и журнал – обязательный.
Рис.3.5
5. Склад – Товары (рис.). Тип связи один ко многим, класс принадлежности склад – обязательный и товары – обязательный.
Рис.3.6
6. Операторы – Журнал (рис.). Тип связи один ко многим, класс принадлежности операторы – обязательный и журнал – обязательный.
Рис.3.7
7. Операторы – Подразделение (рис.). Тип связи один ко многим, класс принадлежности операторы – обязательный и подразделение – обязательный.
Рис.3.8
В результате выявления сущностей и связей между ними, была спроектирована ER - диаграмма, представленная на рисунке 3.9.
Рис.3.9
В результате выявления сущностей и связей между ними, была спроектирована ER - диаграмма, представленная на рисунке 3.10.
При преобразовании модели ER-типов в реляционную модель данных использовались следующие правила:
1. Степень связи 1:1, Класс принадлежности обязат:обязат => Количество таблиц 1, Первичный ключ (Л или П);
2. Степень связи 1:1, Класс принадлежности необязат:обязат => Количество таблиц 2, Первичный ключ (Л, Л или П);
3. Степень связи 1:1, Класс
принадлежности необязат:
4. Степень связи 1:М,
Класс принадлежности обязат:
5. Степень связи 1:М,
Класс принадлежности обязат(
6. Степень связи М:М,
Класс принадлежности обязат(
7. М-связей, Класс принадлежности обязат(необязат): обязат(необязат) => Количество таблиц М+1, Первичный ключ (К1, К2, ..., КМ, К);
8. Ролевая сущность.
Замечание:
Первые семь правил являются бинарными связями. Существует три типа степени связи: одно-однозначные (1:1), одно-многозначные (1:М) и много-многозначные (М:М). Класс принадлежности может быть обязательный (обязат) и необязательный (необязат). Первичный ключ здесь обозначен как: Л - ключ левой сущности (в степени связи и в классе принадлежности стоит слева), П - ключ правой сущности.
Для обеспечения очевидности фактов дублирования и подмножественного включения отношений используем следующее правило построения имен отношений:
1) если отношение
представляет только одну
2) если отношение
представляет собой
3) если отношение
представляет собой
4) если отношение
представляет собой
5) современные СУБД
допускают использование пи11-
6) средством, позволяющим
однозначно идентифицировать
7) потенциальный ключ
отношения - это набор атрибутов
отношения, обладающий
8) традиционно один
из потенциальных ключей
9) потенциальный ключ,
состоящий из одного атрибута,
называется простым.
10) отношения связываются друг с другом при помощи внешних ключей;
11) внешний ключ отношения - это набор атрибутов отношения, содержащий ссылки на потенциальный ключ другого (или того же самого) отношения;
12) внешний ключ
не обязан обладать свойством
уникальности. Поэтому, одному кортежу
родительского отношения может
соответствовать несколько
13) связи типа
«много-ко-многим» реализуются
На основе вышеприведённых
ER-отношений и ER-диаграммы осуществляется
следующий переход к
Таблица 3.1
Название сущности |
Атрибуты сущности |
Первичный ключ |
Альтернативный ключ |
Type_aircraft |
id |
+ |
|
Type_aircraft |
|||
Aircraft
|
Aircraft_number |
+ |
|
Serial_number |
|||
Id_tupe |
+ | ||
Id_plant |
|||
Date_issue |
|||
Warranty_resource_hour |
|||
Warranty_resource_landing |
|||
Warranty_resource_year |
|||
Id_tupe_engine |
|||
Aggregate |
Id |
+ |
|
Id_tupe_aggregate |
+ | ||
Id_plant |
|||
Operating_time_B |
|||
Operating_time_PPR |
|||
Count_repair |
|||
Id_plant_repair |
|||
Date_instal |
|||
Id_aircraft |
+ | ||
Engine |
Serial_number |
+ |
|
Id_type |
+ | ||
Id_plant |
|||
Data_issue |
|||
ID_aircraft |
+ | ||
Operating_time |
Id_ |
+ |
|
Aircraft_number |
+ | ||
In_hour |
|||
In_landing |
|||
Data |
|||
Plant |
Id |
+ |
|
Plant |
|||
Repair |
Id |
+ |
|
Date |
|||
Serial_number |
+ | ||
Plant |
+ | ||
Operating_time_on_repair_hour |
|||
Operating_time_on_repair_ |
|||
Afterrepair_resourse_hour |
|||
Afterrepair_resourse_landing |
|||
Subsystem |
Id |
+ |
|
Subsystem |
|||
Id_subsystem |
+ | ||
System |
Id |
+ |
|
System |
|||
Id_type_aircraft |
+ | ||
Type_aggregate |
Id |
+ |
|
Name |
|||
Id_subsystem |
+ | ||
Resource_on_repair |
|||
Type_engine |
Id |
+ |
|
Engine |
Отношения в реляционной модели данных можно привести к такому виду, который обеспечит наилучшие свойства базы данных. Процесс приведения отношений к такому виду называется нормализацией. Нормализация выполняется поэтапно, сначала отношение приводится к первой нормальной форме, затем - ко второй и т.д. Для устойчивой работы базы данных обычно бывает достаточно, если отношения приведены к 3 нормальной форме.
С целью построения реляционной
базы без дублирования данных, с
обеспечением возможности поддержания
целостности при внесении изменений
докажем нормальность полученных отношений
и в случае необходимости приведём
их к четвёртой нормальной форме
с помощью алгоритма
Нормализация - разбиение одной таблицы на две или более, обладающих лучшими свойствами при включении, изменении и удалении данных.
Алгоритм нормализации состоит из следующих этапов:
1. Привести отношение в 1НФ (первая нормальная форма), нужно исключить повторяющиеся группы и многозначные поля (декомпозиция или выравнивание).
2. Чтобы привести
отношение в 2НФ (вторая нормальная
форма), нужно разбить отношения
на проекции для исключения
приводимых функциональных
3. Чтобы привести
отношение в ЗНФ, нужно
4. Чтобы привести
отношение в НФБК (нормальная
форма Бойса-Кодда), нужно разбить
на проекции для исключения
любых функциональных
5. Чтобы привести
отношение в 4НФ (четвёртая нормальная
форма), нужно разбить его на
проекции для исключения
6. Чтобы привести
отношение в 5НФ (пятая нормальная
форма), нужно разбить на проекции
для исключения любых
Проверка полученных итоговых
отношений (табл. 3.1) на принадлежность
к 4НФ с помощью алгоритма
1. Все приведённые отношения находятся в 1НФ, так как не содержат повторяющиеся группы и многозначные поля, то есть удовлетворяют следующим свойствам:
• в отношении нет одинаковых картежей;
• картежи не упорядочены;
• атрибуты не упорядочены и различаются по наименованию;
• все значения атрибутов атомарные.
2. Все приведённые
отношения находятся в 2НФ, так
как находятся в 1НФ, и не
содержит не ключевых
3. Все приведённые
отношения находятся в 3НФ, так
как находятся в 2НФ и все
их не ключевые атрибуты
4. Все приведённые
отношения находятся в НФБК, так
как детерминанты всех
5. Все приведённые отношения
находятся в 4НФ, так как находятся
в НФБК и не содержит
Таким образом, все итоговые отношения, полученные в результате тщательно проведенного анализа, находятся в 4НФ и обеспечивают адекватность предметной области, целостность информации, высокую скорость выполнения процедуры обновления данных, а, следовательно, и гибкую структуру хранимых процедур.