Разработка информационной системы для организации работы склада, учета прихода и расхода продукции

Автор работы: Пользователь скрыл имя, 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 файл

Диплом.docx

— 830.49 Кб (Скачать документ)
    • Сущности – объекты информационной системы;
    • Атрибуты – свойства объектов;
    • Связи – взаимодействие объектов.

3.2.1 Концептуальное (инфологическое) проектирование БД

Определим взаимосвязи  между сущностями:

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.

3.2.2  Логическое (даталогическое) проектирование БД

При преобразовании модели ER-типов в реляционную модель данных использовались следующие правила:

1. Степень связи 1:1, Класс  принадлежности обязат:обязат => Количество  таблиц 1, Первичный ключ (Л или  П);

2. Степень связи 1:1, Класс  принадлежности необязат:обязат => Количество таблиц 2, Первичный ключ (Л, Л или П);

3. Степень связи 1:1, Класс  принадлежности необязат:необязат => Количество таблиц 3, Первичный  ключ (Л, П, Л или П);

4. Степень связи 1:М,  Класс принадлежности обязат:обязат => Количество таблиц 2, Первичный  ключ (Л или П);

5. Степень связи 1:М,  Класс принадлежности обязат(необязат):обязат => Количество таблиц 3, Первичный  ключ (Л, П, П);

6. Степень связи М:М,  Класс принадлежности обязат(необязат): обязат(необязат) => Количество таблиц 2, Первичный ключ (Л, Л, ЛП);

7. М-связей, Класс принадлежности  обязат(необязат): обязат(необязат) => Количество таблиц М+1, Первичный  ключ (К1, К2, ..., КМ, К);

8. Ролевая сущность.                           

Замечание:

Первые семь правил являются бинарными связями. Существует три  типа степени связи: одно-однозначные (1:1), одно-многозначные (1:М) и много-многозначные (М:М). Класс принадлежности может  быть обязательный (обязат) и необязательный (необязат). Первичный ключ здесь  обозначен как: Л - ключ левой сущности (в степени связи и в классе принадлежности стоит слева), П - ключ правой сущности.

Для обеспечения очевидности  фактов дублирования и подмножественного  включения отношений используем следующее правило построения имен отношений:

1)  если отношение  представляет только одну сущность, то оно получает имя этой  сущности - ИмяСущности;

2)  если отношение  представляет собой совокупность  двух сущностей, то   оно   получает   имя,   состоящее   из   имен   этих   сущностей,  перечисленных     через     знак     подчеркивания     по     схеме - ИмяСущности 1_ИмяСущности2;

3)  если отношение  представляет собой совокупность  одной сущности и внешнего  ключа (первичного ключа другой  сущности), то оно получает имя,  состоящее из имени первой  сущности с последующим именем  второй сущности, снабженным префиксом  к по схеме - ИмяСущности 1_кИмяСущности2, буква k при этом символизирует  слово key;

4)  если отношение  представляет собой совокупность  внешних ключей двух сущностей,  то оно получает имя, состоящее  из имен этих сущностей         с         префиксом         k         по         схеме         k ИмяСущности1_кИмяСущности2;

5)  современные СУБД  допускают использование пи11-значений, т.к. данные часто бывают неполными  или неизвестными. Споры о допустимости  использования null-значений ведутся  до сих пор. Использование null-значения  связано с применением трехзначной  логики (three-valuedlogic, 3VL);

6)  средством, позволяющим  однозначно идентифицировать кортежи  отношения, являются потенциальные  ключи отношения;

7)  потенциальный ключ  отношения - это набор атрибутов  отношения, обладающий свойствами  уникальности и не избыточности. Доступ к конкретному кортежу  можно получить, лишь зная значение  потенциального ключа для этого  кортежа;

8)  традиционно один  из потенциальных ключей объявляется  первичным ключом, остальные - альтернативными  ключами;

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

10)    отношения связываются  друг с другом при помощи  внешних ключей;

11)    внешний ключ  отношения - это набор атрибутов  отношения, содержащий ссылки  на потенциальный ключ другого  (или того же самого) отношения;

12)    внешний ключ  не обязан обладать свойством  уникальности. Поэтому, одному кортежу  родительского отношения может  соответствовать несколько кортежей  дочернего отношения. Такой тип  связи между отношениями называется  «один-ко-многим»;

13)    связи типа  «много-ко-многим» реализуются использованием  нескольких отношений типа «один-ко-многим».

На основе вышеприведённых ER-отношений и ER-диаграммы осуществляется следующий переход к предварительным  отношениям, выделяются вторичные ключи  и другие атрибуты сущностей. Сущности и их атрибуты, полученные в результате исследования ER-отношений и ER-диаграммы, а так же на основе изучения предметной области, представлены в таблице 3.1.

Таблица 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_landing

   

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.  Чтобы привести  отношение в ЗНФ, нужно получившееся  отношение разбить на проекции  для исключения транзитивных  функциональных            зависимостей.                Функциональная зависимость R.X(p)R.Y называется транзитивной, если существует  такой атрибут Z, что имеются  функциональные зависимости R.X(p) R.Z и R.Z(p)R.Y и отсутствует - R.Z →  R.X.

4.  Чтобы привести  отношение в НФБК (нормальная  форма Бойса-Кодда), нужно разбить  на проекции для исключения  любых функциональных зависимостей, в которых детерминант не является  ключом. Детерминант - любой атрибут,  от которого полностью функционально  зависит некоторый другой атрибут.

5.  Чтобы привести  отношение в 4НФ (четвёртая нормальная  форма), нужно разбить его на  проекции для исключения многозначных  зависимостей. При этом атрибуты (множества атрибутов) Y и Z многозначно  зависят от X (X→→Y|Z), тогда и только тогда, когда из того, что в отношении R содержатся кортежи rl = (x,y,zl) и r2 = (x,yl,z) следует, что в отношении R содержится также и кортеж к rЗ = (x,y,z)

6.  Чтобы привести  отношение в 5НФ (пятая нормальная  форма), нужно разбить на проекции  для исключения любых зависимостей  соединения, которые не подразумеваются  потенциальными ключами. Имеют  место зависимости специального  вида, когда отношение не может  быть подвергнуто декомпозиции  без потерь на две проекции, но может быть декомпозировано  на большее число проекций. Такие  зависимости называются зависимостями  соединения и являются обобщением  понятия многозначной зависимости.  На практике приводить отношения  к 5НФ необязательно.

Проверка полученных итоговых отношений (табл. 3.1) на принадлежность к 4НФ с помощью алгоритма нормализации показала следующие результаты:

1.  Все приведённые  отношения находятся в 1НФ, так  как не содержат повторяющиеся  группы и многозначные поля, то  есть удовлетворяют следующим  свойствам:

•    в отношении  нет одинаковых картежей;

•    картежи не упорядочены;

•    атрибуты не упорядочены  и различаются по наименованию;

•    все значения атрибутов атомарные.

2.  Все приведённые  отношения находятся в 2НФ, так  как находятся в 1НФ, и не  содержит не ключевых атрибутов,  зависящих от части сложного  ключа. Отметим, что если первичный  ключ отношения является простым,  то отношение автоматически находится  в 2НФ.

3.  Все приведённые  отношения находятся в 3НФ, так  как находятся в 2НФ и все  их не ключевые атрибуты взаимонезависимы. Атрибуты называются взаимонезависимыми, если не один из них не является функционально зависимым от другого.

4.  Все приведённые  отношения находятся в НФБК, так  как детерминанты всех функциональных  зависимостей являются потенциальными  ключами. Если отношение находится  в НФБК, то оно автоматически  находится в 3НФ. Если отношение  имеет два не только первичный,  но и потенциальный ключ, и  других атрибутов в нём нет,  то для анализа отношения можно  ограничиться анализом 3НФ и не  прибегать к НФБК.

5. Все приведённые отношения  находятся в 4НФ, так как находятся  в НФБК и не содержит нетривиальных  многозначных зависимостей.

Таким образом, все итоговые отношения, полученные в результате тщательно проведенного анализа, находятся  в 4НФ и обеспечивают адекватность предметной области, целостность информации, высокую  скорость выполнения процедуры обновления данных, а, следовательно, и гибкую структуру  хранимых процедур.

Информация о работе Разработка информационной системы для организации работы склада, учета прихода и расхода продукции