Файл: С каждым днём компьютер всё больше и больше внедряется в нашу деятельность и находит применение в любой её области.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.12.2023
Просмотров: 199
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
WHERE Students.GroupId =:GroupId.
Аналогичным образом визуализируется все приложение. При этом в процессе разработки требуется создать следующие запросы:
-
для выборки данных о дисциплинах соответствующей группы (названия дисциплины, количества часов, количества аудиторных часов):
SELECT
Hours.*,
SubjectNames.SubName,
Groups.GroupName
FROM Groups INNER JOIN (SubjectNames INNER JOIN Hours ON
SubjectNames.SubId = Hours.SubId) ON Groups.GroupId =
Hours.GroupId
WHERE Hours.GroupId = :GroupId;
-
для выборки информации о курсовых работах соответствующего студента (наименования курсовой работы, оценки):
SELECT
CoursWorks.*,
MarkNames.MarkName
FROM MarkNames INNER JOIN CoursWorks ON
MarkNames.MarkNameId =CoursWorks.MarkNameId
WHERE CoursWorks.StudentId = :StudentId;
-
для выборки информации о пройденных практиках соответствующего студента (наименования практики, количества недель прохождения практики, оценки):
SELECT
Practice.*,
MarkNames.MarkName,
PracticeNames.PracticeName
FROM PracticeNames INNER JOIN (MarkNames INNER JOIN
Practice ON
MarkNames.MarkNameId = Practice.MarkNameId) ON
PracticeNames.PracticeNameId = Practice.PracticeNameId
WHERE Practice.StudentId = :StudentId;
-
для выборки информации о сданных государственных экзаменах соответствующего студента (наименования экзамена, оценки):
SELECT
StateExaminations.*,
MarkNames.MarkName
FROM MarkNames INNER JOIN StateExaminations ON
MarkNames.MarkNameId = StateExaminations.MarkNameId
WHERE StateExaminations.StudentId = :StudentId;
-
для выборки информации о выполненной выпускной квалификационной работы соответствующего студента (наименования работы, количество недель для выполнения, оценки):
SELECT
DiplomWorks.*,
MarkNames.MarkName
FROM MarkNames INNER JOIN DiplomWorks ON
MarkNames.MarkNameId =DiplomWorks.MarkNameId
WHERE DiplomWorks.StudentId = :StudentId
-
для выборки информации об оценках по дисциплинам соответствующего студента (наименования дисциплины, оценка):
SELECT
Marks.*,
SubjectNames.SubName,
MarkNames.MarkName
FROM MarkNames INNER JOIN (SubjectNames INNER JOIN Marks ON
SubjectNames.SubId=Marks.SubId) ON
MarkNames.MarkNameId=Marks.MarkNameId
WHERE Marks.StudentId = :StudentId;
-
для выборки информации о специальности (наименования специальности, кода специальности, наименования специализации, наименования квалификации):
SELECT
Specialities.*,
Qualifications.QualificName,
Specialisations.SpecialName
FROM Specialisations INNER JOIN (Qualifications INNER JOIN
Specialities ON
Qualifications.QualificId=Specialities.QualificId) ON
Specialisations.SpecialNameId
=Specialities.SpecialisationNameId
ORDER BY SpecId.
4.2 Описание процесса реализации манипуляций с данными
Следующим шагом после проектирования структуры приложения является разработка программного обеспечения по заполнению таблиц данными
, редактированию и удалению информации из них. Для достижения поставленной цели следует воспользоваться компонентом TDBNavigatorRau, который представляет собой усовершенствованный TDBNavigator. Преимущество использования именно компонента TDBNavigatorRau заключается в том, что при написании незначительного кода на проектируемой форме в желаемом месте устанавливается желаемое количество кнопок с функциями «добавить», «удалить», «редактировать», которые визуально украшают интерфейс. Чтобы воспользоваться данным компонентом, следует:
-
создать объект класса TDBNavigatorRau (DBNavigator:= TDBNavigatorRau.Create(panTools); -
определить его месторасположение на форме (DBNavigator.Parent); -
установить параметры размещения (DBNavigator.Top, DBNavigator.Left); -
показать на форме (DBNavigator.Visible:= True); -
установить диалоговую форму, для которой компонент будет использоваться (DBNavigator.DialogForm); -
выбрать картинки, отображаемые на кнопках компонента (DBNavigator.TitleImages); -
установить источник данных (DBNavigator.DataSource).
При установлении такого компонента и прописи соответствующих свойств для таблиц разрабатываемого приложения, которые подразумевают добавление, редактирование и удаление данных, получаем систему, уже способную хранить и обрабатывать данные, при этом у пользователя нет необходимости в проверке правильности отображаемой информации – все данные связаны между собой посредством ключевых полей.
4.3 Описание процесса реализации вывода данных на бланк документов
Разработанное приложение предоставляет возможность пользователю манипулировать данными. Однако система пока ещё не выполняет главной задачи – не выводит собранной информации на бланк выписки, прилагаемой к диплому, или бланк академической справки. Это – завершающий шаг разработки.
На основании анализа технического задания следует всю собранную информацию о конкретном студенте вывести в документ MS Excel. Для этого первоначально следует такой документ подготовить стандартными средствами MS Excel. В результате получаем документ Document.xls с двумя листами, который представлен в Приложении Г.
Поскольку приложение должно манипулировать с MS Excel, то следует настроить систему на среду MS Excel. Далее все действия реализуются с использованием средств автоматизации MS Excel.
Приложения Microsoft Office предоставляют контроллерам автоматизации доступ к своей функциональности с помощью своей объектной модели, представляющей собой иерархию объектов. Объекты могут предоставлять доступ к другим объектам посредством коллекций. В общем случае контроллер автоматизации должен выполнять следующие действия:
-
проверить, запущена ли копия приложения-сервера; -
в зависимости от результатов проверки запустить копию автоматизируемого приложения Office либо подключиться к уже имеющейся копии; -
сделать окно приложения-сервера видимым (в общем случае это не обязательно); -
выполнить какие-то действия с приложением-сервером (например, создать или открыть документы, изменить их данные, сохранить документы и пр.); -
закрыть приложение-сервер, если его копия была запущена данным контроллером, или отключиться от него, если контроллер подключился к уже имеющейся копии[18].
Для подключения к уже запущенной копии приложения-сервера или запуска новой, если сервер не запущен, следует воспользоваться функциями GetActiveOleObject и CreateOleObject, что приводит к тому, что в вариантную переменную помещается ссылка на объект Application соответствующего сервера.
Объект Application является основным в объектной модели Excel, содержащий коллекцию Workbooks объектов типа WorkBook. Каждый объект типа WorkBook содержит коллекцию WorkSheets-объектов типа WorkSheet, Charts типа Chart и др. Манипуляция рабочими книгами, их листами, ячейками, диаграммами реально осуществляется путем обращения к свойствам и методам этих объектов.
Для разрабатываемого приложения потребуется изучить методы открытия документа MS Excel, заполнения ячеек документа данными и форматирования данных. Рассмотрим эти процессы подробнее.
Для открытия уже существующего документа следует воспользоваться методом Open коллекции WorkBooks.
Обращение к листам рабочей книги производится с помощью коллекции WorkSheets объекта WorkBook. Обращение к отдельным ячейкам листа производится с помощью коллекции Cells объекта WorkSheet. Здесь первая из координат ячейки указывает на номер строки, вторая — на номер столбца. Очистить ячейку можно с помощью метода ClearContents. Форматирование текста в ячейках производится с помощью свойств Font и Interior объекта Cell и их подсвойств. Помимо обращения к отдельным ячейкам, можно манипулировать прямоугольными областями ячеек с помощью объекта Range.
На основании вышеизложенного произведена автоматизация MS Excel и настройка всех ячеек на ввод необходимых данных. Вся работа прописана в обработчике события при выборе пункта меню, закрепленного за кнопкой кнопки «Экспорт в MS Excel». При печати документа информация, характеризующая введённые данные, должна быть скрытой. Для этого реализовано копирование шаблона документа в новый документ, в котором визуально заголовки полей также присутствуют, однако памяти хранятся только данные для печати.
Итак, приложение полностью соответствует основной цели, которое оно должно выполнять.
4.4 Организация комплекса защиты программного приложения и данных
Технологический аспект связан с различными видами ограничений, которые поддерживаются структурой СУБД и должны быть доступны пользователю. К ним относятся:
-
ограничение обновления определенных атрибутов с целью сохранения требуемых пропорций между их старыми и новыми значениями; -
ограничения, требующие сохранение значений поля показателя в некотором диапазоне; -
ограничения, связанные с заданными функциональными зависимостями.
Обычно в СУБД в язык манипулирования данными уже закладываются необходимые компоненты реализации указанных ограничений.
Проблема обеспечения санкционированного использования данных является неоднозначной, но в основном охватывает вопросы защиты данных от нежелательной модификации или уничтожения, а также от несанкционированного их чтения. Можно выделить три обобщенных механизма управления доступа к данным: идентификация пользователя, непосредственная (физическая) защита данных и поддержка прав доступа пользователя к данным с возможностью их передачи.
Идентификация пользователей определяет шкалу доступа к различным базам данных или частям баз данных (отношениям или атрибутам). Физическая защита данных больше относится к организационным мероприятиям, хотя отдельные вопросы могут касаться непосредственно данных, например, их кодирование. И, наконец, средства поддержки и передачи прав доступа должны строго задавать характер дифференцированного общения с данными[19].
Существует несколько методов защиты комплекса программ и данных, среди наиболее распространенных можно выделить следующие:
-
метод защиты при помощи паролей; -
метод защиты при помощи шифрования данных.
Согласно методу защиты при помощи паролей, реализуемому программными средствами, процедура общения пользователя с ЭВМ построена так, что запрещается доступ к операционной системе ЭВМ до тех пор, пока не будет введен пароль. Пароль держится пользователем в тайне и периодически меняется, чтобы предотвратить несанкционированное его использование. Метод паролей является самым простым и дешевым, однако не обеспечивает надежной защиты.
Метод шифрования данных – один из наиболее эффективных методов защиты. Он может быть особенно полезен для усложнения процедуры несанкционированного доступа, даже если обычные средства защиты удалось обойти. Для этого источник информации кодирует ее при помощи некоторого алгоритма шифрования и ключа шифрования. Получаемые зашифрованные выходные данные не может понять никто, кроме владельца ключа[20]. Стоит, однако, отметить, что такой метод защиты данных не является необходимым при разработке данного комплекса программ.
Для организации защиты комплекса программ от несанкционированного доступа достаточно использовать пароль для входа в программу, что и применяется к разрабатываемой программным обеспечением. Такая мера является достаточной для обеспечения защиты данных, поскольку используемая база данных является локальной, то есть располагается на одном компьютере, и разрабатывать меры по защите данных в сети не представляется необходимым. Значение пароля установлено в соответствии с требованием заказчика.
Однако пользователь имеет доступ к записям таблиц базы данных, разработанных в MS Access, а, следовательно, и возможность изменять их. Для предотвращения этого на все таблицы базы данных был установлен пароль, который знает только разработчик программы. При запуске программа автоматически освобождает пользователя от ввода этого пароля.
4.5 Описание программных модулей
В результате разработанная программное обеспечение состоит из следующих программных модулей:
-
uMain – главный модуль системы, содержащий форму, которая представляет собой основной и удобный интерфейс приложения, позволяет выбирать различные опции меню, дополнять базу данных новой группой, отображает список групп, данные о которых уже хранятся, и список студентов выбранной группы. -
uAutorize – модуль, отвечающий за авторизацию приложения; -
uData – модуль, который хранит настраиваемые компоненты ADO для работы с базой данных; -
uGroupData – модуль, содержащий форму «Сведения о группе», которая позволяет пополнять базу сведениями о группах и редактировать уже имеющиеся данные; -
uStudents – модуль, содержащий форму «Сведения о студентах», которая позволяет пополнять базу сведениями о студентах и редактировать уже имеющиеся данные; -
uHours – модуль, содержащий форму «Количество часов для дисциплин», которая позволяет пополнять базу сведениями о новой дисциплине; -
uReferences – модуль, содержащий форму «Справочники», которая содержит сведения об имеющихся специальностях, наименованиях специализаций, квалификаций, практик, оценок, дисциплин, документов об образовании и выданных документов; -
uRefEdition – модуль, содержащий форму, которая позволяет пополнять базу сведениями об имеющихся специальностях, наименованиях специализаций, квалификаций, практик, оценок, дисциплин, документов об образовании и выданных документов; название формы и содержимое каждый раз меняется в зависимости от темы информации, которую следует вводить («Практики» – для ввода наименований практик и т.п.); -
uWorkEdition – модуль, содержащий форму, которая позволяет пополнять базу сведениями о выполненных работах студента; как и в предыдущем случае, название формы и содержимое каждый раз меняется в зависимости от темы информации, которую следует вводить; -
uMarkEdition – модуль, содержащий форму «Оценки», которая позволяет пополнять базу сведениями об оценках студента по конкретной дисциплине.