Автор: Пользователь скрыл имя, 10 Сентября 2011 в 22:43, курсовая работа
В данном курсовом проекте объектом исследования является БД промышленных предприятий.
Объектом автоматизации является доступ и хранение информации о производственной деятельности предприятий.
Целью создания БД является:
— надежное хранение информации;
— изменение (добавление, удаление, обновление) информации о предприятиях, цехах и выпускаемой продукции;
— уменьшение времени доступа к необходимой информации по предметной области.
Введение ………………………………………………………………………. 6
1 Описание функционирования промышленных предприятий …………… 7
2 Постановка задачи ………………………………………………………….. 9
3 Концептуальное программирование СУБД ………………………………. 10
3.1 Описание схемы объект-отношение …………………………………….. 10
3.2 Обоснование выбора модели данных …………………………………… 11
3.3 Нормализация таблиц ……………………………………………………. 15
4 Программная реализация СУБД
4.1 Анализ существующих СУБД
4.2 Описание таблиц
4.3 Описание реализованных запросов к БД
4.4 Описание разработанных форм
4.5 Описание сформированных отчетов
4.6 Описание макросов и модулей
4.7 Функционально-логическая схема СУБД
5 Уровни доступа к СУБД
6 Архивация и восстановление данных
6.1 Архивация и восстановление устаревших данных
6.2 Восстановление данных при аппаратных сбоях
Выводы
Список использованных источников
Приложение А Техническое задание
Приложение Б Отчеты
Приложение В Руководство пользователя, инсталляция, реализация
Приложение Г Листинг программных модулей
При условии: [Формы]![Service]![КП] <> 3. Параметры «ЗапускПрограммы»:
— Имя функции: Redirect2Form ("Просмотр планов выпуска")
При условии: [Формы]![Service]![КП] = 3. Параметры «Сообщение»:
— Сообщение: Доступ запрещен!
— Сигнал: Да
— Тип: Предупреждающее!
— Заголовок: Внимание!
2) «ДобавитьМеню». Параметры:
— Название меню: Добавление
— Имя макроса: Подменю - Добавить план
— Текст строки состояния: Добавление
Название макроса: «Подменю – Добавить план».
Макрос содержит в себе команды, которые затем используются в подменю в макросе «Подменю – Планы выпуска».
Макрокоманды с параметрами:
При условии: [Формы]![Service]![КП] <> 3. Параметры «ЗапускПрограммы»:
— Имя функции: Redirect2Form ("Добавление плана - Шаг 1")
При условии: [Формы]![Service]![КП] = 3. Параметры «Сообщение»:
— Сообщение: Доступ запрещен!
— Сигнал: Да
— Тип: Предупреждающее!
— Заголовок: Внимание!
При условии: [Формы]![Service]![КП] <> 3. Параметры «ЗапускПрограммы»:
— Имя функции: Redirect2Form ("Добавление плана - Шаг 2")
При условии: [Формы]![Service]![КП] = 3. Параметры «Сообщение»:
— Сообщение: Доступ запрещен!
— Сигнал: Да
— Тип: Предупреждающее!
— Заголовок: Внимание!
Название макроса: «Смещение».
Макрос выполняет смещение и/или изменение размеров окна, для которого он вызван.
Макрокоманды с параметрами:
— По правому краю: 2см
— По левому краю: 2см
Данный макрос используется для всех форм, в которых происходит добавление данных.
Название макроса: «Уровень доступа».
Макрос
выполняет вывод сообщения о
текущих привилегиях
Макрокоманды с параметрами:
— Сообщение: Внимание! Вы зашли как Администратор! Вам доступно изменение любых данных СУБД "Предприятие"
— Сигнал: Да
— Тип: Предупреждающее!
— Заголовок: Уровень доступа
— Сообщение: Внимание! Вы зашли как Менеджер предприятия! Вы можете изменять и просматривать информацию по собственному предприятию!
— Сигнал: Да
— Тип: Предупреждающее!
— Заголовок: Уровень доступа
— Сообщение: Внимание! Вам доступна только статистическая информация о предприятиях базы!
— Сигнал: Да
— Тип: Предупреждающее!
— Заголовок: Уровень доступа
Макрос выполняется при выходе из формы «Вход в СУБД».
Результат
выполнения макроса показан на рисунке
4.61.
Рисунок
4.61 — Сообщение при входе в СУБД администратором
4.6.2
Модули
В
курсовом проекте реализован один модуль
под названием «myFunctions». Рассмотрим функции,
которые в нем реализованы.
Функция Go2MainForm(). Функция вызывается при нажатии на кнопку «Вход» в форме «Вход в СУБД». Выполняет чтение таблицы «Доступ – Пользователи» и проверку введенных значений «Логин» и «Пароль» с хранящимися в таблице. Если значения не совпали, то код пользователя становится равным «3». Далее происходит открытие формы «Service» и передача параметров код пользователя и код предприятия (если необходимо). Затем сервисная форма скрывается и открывается «Главная форма».
Функция SetFormParams(ChangeFormName As String). ChangeFormName — название формы (строковая переменная). Функция вызывается при открытии форм «Главная форма» и «Работа с предприятиями», в которых выполняет блокирование кнопок в зависимости от уровня доступа.
Функция AppendLookupTable(cbo As ComboBox, NewData As String) As Integer. cbo — элемент типа ComboBox, NewData — новое значение (строковая переменная). Функция выполняет добавление отсутствующего значения в справочную таблицу. Используется для добавления новых значений в таблицы «Город» и «Тип изделия». Функция возвращает идентификатор acDataErrAdded, если значение было успешно добавлено или acDataErrContinue и сообщение об ошибке в противном случае.
Функция Go2Bed. Функция спрашивает у пользователя подтверждение на выход из приложения и в случае положительного ответа завершает работу MS Access.
Функция Redirect2Form(openFormName As String). openFormName – название открываемой формы (строковая переменная). Функция выполняет закрытие текущей и открытие новой формы с названием openFormName. Также в зависимости от значения openFormName, некоторым формам передаются дополнительные параметры.
Функция
CompareDate() As Boolean. Функция выполняет сравнение
дат открытия и реконструкции для добавляемого
цеха (форма «Список цехов – Добавление»),
а также сравнение дат открытия нового
цеха и предприятия, в котором цех открывается.
Если дата открытия предприятия старше
даты открытия цеха или дата открытия
цеха старше даты реконструкции, то функция
возвращает False, иначе — True.
4.7
Функционально-логическая
Функционально-логическая
схема представлена ниже. Все переходы
к формам (кроме открытия форм «… - Добавить»,
«Главная форма», «О программе») происходят
с помощью функции Redirect2Form.
Рисунок
4.62 — Функционально-логическая схема
СУБД
5 УРОВНИ ДОСТУПА К СУБД
На предприятии с СУБД работают различные пользователи. В зависимости от конкретного пользователя соответственно определяются уровни доступа к формам и элементам форм.
Главным пользователем любой СУБД является администратор, которому предоставляется возможность изменять и редактировать любые данные в СУБД и выполнять архивацию устаревших данных. Также в данном ПП реализованы еще два уровня доступа: менеджер предприятия и просмотр статистики. Рассмотрим реализацию подробнее.
При входе в СУБД пользователю предоставляется возможность ввести логин и пароль для входа с одним из двух уровней доступа: «Администратор» или «Менеджер предприятия». При входе происходит проверка логина и пароля по таблице «Доступ – Пользователи» и при нахождении соответствия, считываются уровень доступа и предприятие, если необходимо. При неправильном вводе или отсутствии данных происходит открытие БД с самым низким уровнем доступа.
Для реализации была создана дополнительная форма «Service», в которой хранятся текущий код пользователя и код предприятия. Передача параметров осуществляется функцией Go2MainForm. В процессе работы с приложением эта форма скрыта (параметр Visible = False).
При открытии форм «Главная форма» и «Работа с предприятиями» вызывается функция SetFormParams, которая блокирует на них кнопки в зависимости от уровня доступа:
1)
уровень «Менеджер предприятия»
2)
уровень «Просмотр статистики».
Пользователь
с уровнем доступа «Менеджер предприятия»
может изменять данные, добавлять планы
выпуска и просматривать отчеты только
для своего предприятия (параметры указываются
администратором в таблице «Доступ –
Пользователи»).
6 АРХИВАЦИЯ
И ВОССТАНОВЛЕНИЕ ДАННЫХ
6.1
Архивация и восстановление
На сегодняшний день практически любая СУБД должна быть рассчитана на долгий срок работы. Но при этом размеры хранимых в ней данных значительно увеличиваются день ото дня, и часть этой информации используется все реже и реже. Встает вопрос о целесообразности таких данных. Решением его явилась так называемая архивация данных.
В зависимости от предметной области некоторую информацию архивируют стандартными архиваторами, другую пересылают в новую БД (таким образом, уменьшается время доступа к нужной информации). Новая БД может быть как точной копией оригинала, так и содержать лишь ее часть. Некоторая информация с определенной периодичностью удаляется и из архива, т.к. абсолютно не нужна пользователю. В данной БД была выбрана реализация архивации в специальную таблицу.
Учитывая, что разрабатываемая СУБД содержит необходимую информацию для оперативного учета производительности предприятий, то устаревшими данными можно считать планы выпуска на изделия, которые относятся к прошлым годам, т.к. в данный момент нам необходим учет сведений о текущей производительности предприятий.
Архивация производится в специально предназначенную для этого таблицу «АРХИВ». Данные переносятся из таблиц «План выпуска на месяц» и «План выпуска».
Все
процессы архивации, восстановления и
очистки архива зависят от администратора
СУБД «Предприятия» и выполняются
через форму «Архивация и восстановление».
6.2
Восстановление данных при
Компьютерная техника имеет достаточно сложную структуру и принципы функционирования. И хотя ее создатели стараются сделать периферию как можно надежней, а работу программного обеспечения бессбойной и оперативной, тем не менее, возможны ситуации, когда данные могут быть физически повреждены (вирусная атака; физическое повреждение носителя данных; неаккуратное использование приложения, приведшее к удалению БД). Причины сбоев и поломок могут и не зависеть от разработчиков, например внезапное отключение электроэнергии. Но, создавая БД, необходимо учесть и эти варианты путем сохранения все либо часть таблиц БД.
Общепринятой практикой профилактики от возможных аппаратных сбоев является резервное копирование БД на другие носители данных (оптические диски, flash-память и пр.).