СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ.. 24
В наши дни любая организация просто не может представить свою работу без решений в сфере ИТ, которые упрощают и ускоряют работу.
Любой рутинный процесс может быть автоматизирован. В наши дни любая уважающая себя организация ведет базу по своей работе в электронном виде, так как это наиболее простой и удобный способ хранения любой информации. Ну а тем более автоматизация не может обойти стороной такой объект, как лабораторный стенд в лаборатории АСУТП на нашей кафедре. Поэтому в данной курсовой работе я наглядно решил продемонстрировать работу базы данных и программного интерфейса для использования при выполнении лабораторных работ.
Целью данной курсовой работы является создание базы данных и программного интерфейса для сбора информации о проводимых лабораторных работах.
Для достижения этой цели, необходимо выполнить следующие задачи:
· создание модуля аутентификации и авторизации пользователей;
· создание модуля отображение и корректировки данных из базы;
· защита от некорректного ввода данных;
· создание отчетной документации;
· создание файла справки.
1. ПОСТАНОВКА ЗАДАЧИ
1.1 Организация работы пользователей с созданным АРМ
Организацию работы пользователей планируется проводить согласно рисунку 1.1, на котором отражено взаимодействие пользователя с программным продуктом.
Рисунок 1.1 – Схема взаимодействияпользователя с созданным АРМ
Рассмотрим задачу более детально. Для того чтобы начать работу с базой данных, пользователь должен авторизоваться, чтобы подтвердить свои полномочия для подобной работы.
База данных лабораторного стенда хранит в себе информацию о проведенных лабораторных работах, а именно: какой студент проводил лабораторную, под чьим руководством и какие были получены результаты.
Все эти данные хранятся в базе, в которую вносятся ответственным лицом – оператором АРМ. В базе эти данные доступны также для корректировки и удаления. Связь с базой осуществляется при помощи интуитивно понятного программного интерфейса.
1.2 Архитектура построения информационной системы
Для выполнения групп функций программы создан свой модуль, который взаимодействует с другими модулями через определенный интерфейс. Архитектура системы показана на рисунке 1.2.
Пользователь программы взаимодействует с ней через графические объекты, которые функционируют под управлением одного из модулей.
Модуль загрузки обеспечивает взаимодействие с базой данных, расположенной на сервере базы данных, открытие и чтение файлов с исходными данными или загрузку данных, определенных по умолчанию, а также осуществляет возможность сохранения файла параметров.
Рисунок 1.2 – Архитектура информационной системыДля того, чтобы начать работу с приложением, пользователю необходимо пройти процесс авторизации, при котором будет указываться имя пользователя, пароль, сервер и название базы данных, которая хранит данные.
После успешно пройденного процесса авторизации пользователя, осуществляется загрузка данных из БД из файла формат *.CSV.
Пользователь данного приложения имеет возможность вносить новые данные в базу данных, корректировать и удалять их. Поскольку все эти данные хранятся в БД, то существует возможность просматривать все внесенные заказы.
После выполнения всех необходимых операций с пользовательскими данными, существует возможность создания отчета с помощью ReportingService, также предусмотрен экспорт этих данных в такие общедоступные форматы, как PDFи MSExcel (*.xls).
Хранение данных организовано при помощи СУБД MSSQLServer 2005. Непосредственная организация данных будет описана далее.
1.3 Разработка функциональной модели
Функциональная модель программного средства ПО «Лабораторный стенд» выполнена по стандарту IDEF0 с использованием CASE-средства BPWin, фрагмент модели изображен на рисунках 1.3, 1.4.
Рисунок 1.3 – Функциональная модель программного средства (главная форма)
Рисунок 1.4 – Функциональная модель программного средства (развернутая форма)
Программное средство должно обеспечивать пять основных функций:
· аутентификация и авторизация пользователя;
· отображение и корректировка данных в базе данных;
· ввод исходных данных;
· создание отчета;
· экспорт отчета в известные форматы (.pdf, .xls).
Программное средство должно производить аутентификацию и авторизацию пользователей. Это необходимо для обеспечения целостности и правильности хранения данных о пользователях беспроводной сети.
Поскольку база находится в режиме постоянного обновления, то требуется корректировать данные, хранящиеся в базе.
2. РАЗРАБОТКА СТРУКТУРЫ ХРАНЕНИЯ ДАННЫХ
2.1 Разработка инфологической модели
Инфологическая модель выполнена в виде ER-диаграмм с использованием CASE-пакета в программе ERWin. Инфологическая модель состоит из четырех таблиц, представленных на рисунке 2.1.
Рисунок 2.1 – Инфологическая модель базы данных
В таблицах 2.1-2.5 представлена спецификация инфологической модели проектируемой системы.
№ поля | Название поля | Тип поля |
1 | id студента | (key)integer |
2 | Имя студента | Nvarchar(50) |
3 | Фамилия студента | Nvarchar(50) |
4 | Группа | Nvarchar(50) |
Таблица 2.1 – T_Students
Таблица T_ Studentsсодержит в себе данные о студентах. Вся информация о лабораторных работах вносятся в таблицу T_ Labs.
№ поля | Название поля | Тип поля |
1 | id сессии | (key)integer |
2 | Дата сессии | smalldatetime |
3 | id параметра | integer |
4 | id студента | integer |
5 | id преподавателя | integer |
Таблица 2.2 – T_Labs
Лабораторные работы проводятся под руководством одного из преподавателей. База должна быть наполнена данными о них (табл. 2.3):
№ поля | Название поля | Тип поля |
1 | id преподавателя | (key)integer |
2 | Фамилия преподавателя | Nvarchar (50) |
3 | Имя преподавателя | Nvarchar (50) |
4 | Отчество преподавателя | Nvarchar (50) |
Таблица 2.3 – T_Prepods
При проведении лабораторных работ результатом являются числовые значения измеряемых технологических параметров. Данные по ним содержатся в таблице T_Parameters(табл. 2.4).
№ поля | Название поля | Тип поля |
1 | id параметра | (key)integer |
2 | Значение параметра | Nvarchar(50) |
3 | Наименование параметра | Nvarchar(50) |
Таблица 2.4 – T_Parameters
2.2 Разработка даталогической модели
Даталогическая модель включает в себя схему данных БД в рамках выбранной СУБД MS SQL Server 2005. Даталогическая модель представлена на рисунках 2.2-2.5.
Рисунок 2.2 – Таблица dbo.T_Labs
Рисунок 2.3 – Таблицаdbo.T_Parameters
Рисунок 2.4 – Таблица dbo.T_Prepods
Рисунок 2.5 – Таблица dbo.T_Students
Для реализации обмена данными между программой и базой данных были написаны соответствующие хранимые процедуры, которые позволяют группировать данные из разных таблиц.
Любое взаимодействие с БД происходит с помощью хранимых процедур. Можно выделить четыре основных типов хранимых процедур, используемых в программе:
- для вставки данных;
- для удаления данных;
- для корректировки данных;
- для выборки данных;
Для реализации задач курсовой работы написано 4 хранимые процедуры. Ниже приведены 2 листинга для процедур dbo.ex_DEL_Studentsи dbo.ex_INS_Students (рисунки 2.6 и 2.7 соответственно).
setANSI_NULLSONsetQUOTED_IDENTIFIERONgo/*----------------------------------------------------------- Пример обработки базы данных в среде Visual Studio 2005 .NET" Входные данные: @id - идентификатор пользователя Пример вызова:EXEC dbo.ex_DEL_Students @id_Stud = 5*/-----------------------------------------------------------ALTERPROC [dbo].[ex_DEL_Students]@id_StudintASSETNOCOUNTOFF-- передавать сообщения о количестве обработанных записейSETANSI_WARNINGSOFF-- отключить вывод предупреждений-- УдалитьзаписьDELETEFROM dbo.T_ StudentsWHERE id_Stud = @id_CustSETNOCOUNTON-- не передавать сообщения о количестве обработанных записей -- Прочитать записьSELECT id_Stud, Name_Stud, Surname_Stud, Group_StudFROM dbo.T_StudentsWHERE id_Stud= @id_StudSETANSI_WARNINGSON-- включить вывод предупреждений |
Рисунок 2.6 – Листинг процедуры dbo.ex_DEL_Students
setANSI_NULLSONsetQUOTED_IDENTIFIERONgoALTERPROC [dbo].[ex_INS_Students] @id_Stud int, @Name_Stud nvarchar(max), @Surname_Stud nvarchar(max), @Group_Stud nvarchar(max)asSETNOCOUNTOFF-- передавать сообщения о количестве обработанных записей-- Проверить существование строки: если не существует, то вставитьIFNOTEXISTS(SELECT 1 FROM dbo.T_Students WHERE id_Stud = @id_Stud )BEGININSERTINTO dbo.T_Students ( id_Stud, Name_Stud, Surname_Stud, Group_Stud)VALUES( @id_Stud, @Name_Stud, @Surname_Stud, @Group_Stud)SETNOCOUNTON-- отключить сообщения о количестве обработанных записей-- Прочитать новую записьSELECT id_Stud, Name_Stud, Surname_Stud, Group_StudFROM dbo.T_Students WHERE id_Stud = @id_StudENDELSESETNOCOUNTON |
Рисунок 2.7 – Листингпроцедуры dbo.ex_INS_Students