на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Создание информационной системы "Учебные планы. Вычитка часов"
используемых методов анализа предметной области;

· правил именования и обозначения объектов ПО, атрибутов и связей;

· содержания и формата создаваемых ими документов.

База данных содержит четыре таблицы: Учебные планы, Группы, Предметы и Занятия. Таблицы связаны отношениями «один-ко-многим» как показано на ER-диаграмме:

Даталогическая модель

На этапе даталогического проектирования разрабатывается даталогическая структура БД, соответствующая инфологической модели ПО. Решение этой задачи существенно зависит от модели данных, поддерживаемой выбранной СУБД. Результатом выполнения этого этапа являются схемы БД концептуального и внешнего уровней архитектуры, составленные на языках определения данных (DDL) выбранной СУБД.

На этапе даталогического проектирования строится логическая структура БД. При этом происходит преобразование исходной инфологической модели в модель данных, которая поддерживается конкретной СУБД. После этого производится проверка адекватности даталогической модели, отображаемой предметной области. Конечным результатом даталогического проектирования является описание структуры БД на языке описания данных конкретных СУБД.

Связи между классами, показанные в инфологической модели, в даталогической модели могут отображаться либо за счет совместного расположения связанных элементов, либо путем объявления связей между ними.

Не все виды связи существующие в предметной области можно отобразить даталогической моделью. Так большинство СУБД не обеспечивают поддержание связи типа М:М. В этом случае в даталогической модели вводится вспомогательный элемент, т.е. M:N разбивается на два отношения между исходными элементами и вспомогательными (1:M, 1:N).

Ниже приведен DDL-скрипт для создания базы данных:

SET SQL DIALECT 3;

SET NAMES WIN1251;

CREATE DATABASE 'LOCALHOST:C:\MySoft\UP\up.gdb'

USER 'SYSDBA' PASSWORD 'masterkey'

PAGE_SIZE 16384

DEFAULT CHARACTER SET WIN1251;

CREATE TABLE GROUPS (

ID_G INTEGER NOT NULL,

NAZV VARCHAR(4),

GOD INTEGER,

CHISL INTEGER

);

CREATE TABLE PREDM (

ID_P INTEGER NOT NULL,

NAZV VARCHAR(25)

);

CREATE TABLE ZAN (

ID_Z INTEGER NOT NULL,

ID_UP INTEGER,

D DATE,

T TIME,

VID_Z CHAR(1),

H SMALLINT DEFAULT 2

);

CREATE TABLE UP (

ID_UP INTEGER NOT NULL,

ID_G INTEGER,

ID_P INTEGER,

SEM INTEGER,

H_L INTEGER,

H_P INTEGER,

H_L_CALC COMPUTED BY ((select sum(H) from zan where zan.id_up=up.id_up and vid_z='Л')),

H_P_CALC COMPUTED BY ((select sum(H) from zan where zan.id_up=up.id_up and vid_z='П'))

);

CREATE TABLE PREPODS (

ID_P INTEGER NOT NULL,

FIO VARCHAR(30),

DR DATE

);

/* Check constraints definition */

ALTER TABLE ZAN ADD CHECK (VID_Z IN ('Л', 'П'));

ALTER TABLE UP ADD CONSTRAINT UNQ1_UP UNIQUE (ID_G, ID_P, SEM);

ALTER TABLE GROUPS ADD CONSTRAINT PK_GROUPS PRIMARY KEY (ID_G);

ALTER TABLE PREDM ADD CONSTRAINT PK_PREDM PRIMARY KEY (ID_P);

ALTER TABLE UP ADD CONSTRAINT PK_UP PRIMARY KEY (ID_UP);

ALTER TABLE ZAN ADD CONSTRAINT PK_ZAN PRIMARY KEY (ID_Z);

ALTER TABLE UP ADD CONSTRAINT FK_UP_1 FOREIGN KEY (ID_G) REFERENCES GROUPS (ID_G) ON UPDATE CASCADE;

ALTER TABLE UP ADD CONSTRAINT FK_UP_2 FOREIGN KEY (ID_P) REFERENCES PREDM (ID_P) ON UPDATE CASCADE;

ALTER TABLE ZAN ADD CONSTRAINT FK_ZAN_1 FOREIGN KEY (ID_UP) REFERENCES UP (ID_UP) ON UPDATE CASCADE;

ALTER PROCEDURE ADD_ZAN (ID_Z INTEGER, N INTEGER) AS

declare variable d date;

declare variable t time;

declare variable vid_z char(1);

declare variable h smallint;

declare variable id_up integer;

begin

select id_up, d, t, vid_z, h from zan where id_z =:id_z

into:id_up,:d,:t,:vid_z,:h;

while (n>0) do

begin

d = d+7;

insert into zan (id_up, d, t, vid_z, h)

values (:id_up,:d,:t,:vid_z,:h);

n=n-1;

end

end

Выбор средств реализации

В современном обществе информационные технологии проникают практически во все сферы человеческой деятельности. Системы хранения и обработки информации стали нормой во всех отраслях производства и услуг, в том числе образовательных. Особенно эта тенденция затрагивает производственные процессы, традиционно связанные с большим количеством информации на бумажных носителях. Эти задачи стали решать с тех пор, как только компьютерные технологии стали доступны для широкого пользования.

Подавляющее большинство задач автоматизации управления решается путем использования систем управления базами данных. По этой причине на рынке программных средств СУБД представлены широким спектром: от бесплатных или условно бесплатных до продуктов, стоимостью в тысячи долларов. Выбор конкретной СУБД для реализации стоящих задач уже сам по себе является достаточной сложной проблемой.

Даже самая дорогая СУБД сама по себе не снимает стоящих проблем. Это лишь инструмент для их решения. Важным фактором является грамотное проектирование базы данных, не допускающее избыточности хранимой информации и нарушения ее целостности и обеспечивающее оптимальные структуры хранения данных.

Однако помимо технических средств и СУБД необходимо осуществить взаимодействие между ними и пользователем. Этот интерфейс должен быть интуитивно понятен и максимально эргономичен, т.е. предоставить пользователю возможность легкой и быстрой модификации данных, выборки данных по запросу, представление данных в определенной форме. Проектирование интерфейса выполняется при помощи современных систем программирования.

В данной курсовой работе в качестве СУБД выступает сервер баз данных Firebird. Firebird является клоном такого известного продукта фирмы Borland, как Interbase. InterBase - сервер баз данных, имеющий 20-летнюю историю (создан в 1985 году). Инновации, предложенные в этом сервере, не только остаются актуальными до сих пор, но и начинают широко внедряться в альтернативных СУБД. Основной особенностью функциональности InterBase является версионность.

Механизм версионности кроме InterBase практически нигде не использовался, и потихоньку начал внедряться в коммерческих серверах не более 10 лет назад. На текущий момент в той или иной степени версионный механизм поддерживают кроме InterBase и Firebird: Oracle, PostgreSQL, а также MS SQL 2005. В 2000 году компания Borland в силу специфических причин выпустила InterBase 6.0 в OpenSource. Когда исходные коды InterBase были опубликованы, группа пользователей скопировала исходные тексты и начала новый проект под названием Firebird. Далее, с версии InterBase 6.5 Borland вернулся к схеме платного сервера с закрытыми исходными текстами, а Firebird продолжил существование как бесплатный для частного и коммерческого использования сервер с открытыми исходными текстами.

Несмотря на расхождения между последними версиями InterBase и Firebird, они оба наследуют все те положительные черты исходной СУБД InterBase, которые обеспечили высокую популярность этого сервера. Более того, здоровая конкуренция между этими серверами по возможностям SQL, производительности и другим параметрам гарантируют пользователям той или иной СУБД интенсивное развитие выбранного ими сервера. Небольшой объем дистрибутива, простой и быстрый процесс установки с моментальной готовностью к работе, минимальные требования к оборудованию, широкий спектр компонент и драйверов для разнообразных сред разработки, возможность обслуживания больших баз данных и большого числа пользователей, а также архитектура многоверсионности, упрощающая логику приложений - все это востребовано как начинающими, так и опытными разработчиками.

Постановка задачи

Приложение призвано обеспечить интерфейс пользователя и СУБД и должно удовлетворять следующим требованиям:

· содержательное название.

· ясные и понятные инструкции.

· логическая обоснованность группировки и последовательности полей.

· легко узнаваемые названия полей.

· согласованная терминология и сокращения.

· согласованное использование цветов.

· визуальное выделение пространств и границ полей ввода данных.

· удобные средства перемещения курсора.

· средства исправления отдельных ошибочных символов и целых полей.

· средства вывода сообщений об ошибках при вводе недопустимых значений.

· особое выделение необязательных для ввода полей.

· средства вывода пояснительных сообщений с описанием полей.

· средства вывода сообщения об окончании заполнения формы.

Для доступа к базе данных и реализации интерфейса пользователя использовалась среда программирования Delphi.

В основе любого приложения баз данных лежат наборы данных, которые представляют собой группы записей (их удобно представить в виде таблиц в памяти), переданных из базы данных в приложение для просмотра и редактирования. Каждый набор данных инкапсулирован в специальном компоненте доступа к данным. В Delphi реализован набор базовых классов, поддерживающих функциональность наборов данных, и практически идентичные по составу наборы дочерних компонентов для технологий доступа к данным. Их общий предок - класс TDataSet.

Для обеспечения связи набора данных с визуальными компонентами отображения данных используется специальный компонент DataSource. Его роль заключается в управлении потоками данных между набором данных и связанными с ним компонентами отображения данных. Этот компонент обеспечивает передачу данных в визуальные компоненты и возврат результатов редактирования в набор данных, отвечает за изменение состояния визуальных компонентов при изменении состояния набора данных, передает сигналы управления от пользователя (визуальных компонентов) в набор данных. Компонент DataSource расположен на странице Data Access палитры компонентов. С каждым компонентом доступа к данным может быть связан как минимум один компонент DataSource. В его обязанности входит соединение набора данных с визуальными компонентами отображения данных. Компонент DataSource обеспечивает передачу в эти компоненты текущих значений полей из набора данных и возврат в него сделанных изменений.

С одним компонентом DataSource могут быть связаны несколько визуальных компонентов отображения данных. Эти компоненты представляют собой модифицированные элементы управления, которые предназначены для показа информации из наборов данных.

При открытии набора данных компонент обеспечивает передачу в набор данных записей из требуемой таблицы БД. Курсор набора данных устанавливается на первую запись. Компонент DataSource организует передачу в компоненты отображения данных значений необходимых полей из текущей записи. При перемещении по записям набора данных текущие значения полей в компонентах отображения данных автоматически обновляются.

Пользователь при помощи компонентов отображения данных может просматривать и редактировать данные. Измененные значения сразу же передаются из элемента управления в набор данных при помощи компонента DataSource. Затем изменения могут быть переданы в базу данных или отменены.

Реализация проекта

На следующем рисунке приведена главная форма приложения:

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

Все невизуальные компоненты: IBDatabase, IBTransaction, IBDataset, DataSource вынесены в специальный контейнер DataModule:

Для выборки данных, их изменения, удаления и вставки в TIBDataSet используется набор свойств, представляющих собой SQL-запросы для манипулирования данными, - это SelectSQL, DeleteSQL, InsertSQL и ModifySQL.

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

В свойстве SelectSQL указывается запрос на выборку данных (SELECT… FROM…), которые будут доступны для просмотра и, в зависимости от содержимого остальных запросов, для редактирования, удаления и т.д.

В свойствах DeleteSQL, InsertSQL и ModifySQL указываются соответствующие запросы, которые будут вызываться автоматически самим компонентом при вызове методов Delete, Insert и Edit для удаления, вставки и редактирования записей.

Фактически все, что нужно сделать программисту, - это написать нужные запросы, выполняющие нужные операции над записями.

При помощи IBDatabase приложение подключается к базе данных с использованием учетной записи администратора: SYSDBA.

На следующем рисунке приведен вид окна установки параметров подключения:

Компоненты IBDataSetGroups и IBDataSetUP, а также IBDataSetUP и IBDataSetZan находятся с отношении главный-подчиненный (master-detail). Этот режим обеспечивает отбор записей подчиненной таблицы в зависимости от значения ключевого поля текущей записи главной таблицы.

На следующем рисунке представлено окно редактирования текста запроса на выборку компонента IBDataSetUP. Для реализации master-detail используется свойство IBDataSetUP. DataSource:= DataSourceGroups и условие отбора по значению текущей группы:

Компонент DBGrid позволяет гибко настраивать вид таблицы. В частности скрывать столбцы, управлять заголовком (шрифт, цвет, размещение). В проектируемом приложении заголовки столбцов (свойство Title) выполнены полужирным по центру.

При добавлении или изменении текущей записи открывается форма с компонентами редактирования. При этом в первом случае соответствующий набор данных переводится в режим Insert, во втором - в режим Edit.

На формах расположены компоненты редактирования полей текущей записи, т.н. db-aware компоненты. Все они связаны с соответствующими наборами данных, расположенными на главной форме приложения. Внесение изменений при помощи этих компонентов автоматически переводит набор данных в состояние Edit. При добавлении новой записи необходимо перевести набор данных в состояние Insert, вызвав соответствующий метод.

Руководство пользователя

Для работы информационной системы необходимо наличие файла приложения UP.EXE и файла базы данных UP.GDB. Кроме того, на машине пользователя должен быть установлен SQL-сервер Firebird.

На следующем рисунке приведен общий вид приложения:

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

Приложение позволяет пользователю:

· добавлять, изменять, удалять учебные группы

· добавлять, изменять, удалять предметы

· добавлять, изменять, удалять учебные планы

· редактировать сведения о проведенных занятиях

В таблице УЧЕБНЫЕ ПЛАНЫ пользователь видит планы только той группы, которая является текущей в таблице ГРУППЫ, а в таблице ЗАНЯТИЯ - только те занятия, которые проведены по текущему плану в таблице УЧЕБНЫЕ ПЛАНЫ.

Кроме того, выполняется автоматический подсчет суммарного количества часов проведенных лекционных и практических занятий.

При модификации таблицы ЗАНЯТИЯ, изменения автоматически отражаются в таблице УЧЕБНЫЕ ПЛАНЫ.

При нажатии кнопки Удалить появляется окно, в котором необходимо подтвердить удаление записи. Это необходимо для защиты от непреднамеренной потери данных.

Попытка удалить группу или предмет, которые указаны хотя бы в одном учебном плане, а также учебный план, по которому проведено хотя бы одно занятие приведет к ошибке. Чтобы удалить группу или предмет, нужно предварительно удалить все учебные планы, в которых они задействованы. Аналогично, чтобы удалить учебный план, необходимо предварительно удалить все проведенные по нему занятия.

При нажатии кнопки Добавить или кнопки Изменить кнопочной панели, открывается отдельное окно, в котором можно указать необходимые данные.

Окно редактирования данных группы:

В данном окне доступны для редактирования данные о группе:

· Название группы

· Год поступления группы

· Численный состав группы

Окно редактирования предмета:

Окно редактирования данных о преподавателе:

В данном окне доступны для редактирования данные о преподавателе:

· Фамилия, имя, отчество.

· Дата рождения.

В данном окне доступно для редактирования только название предмета.

Окно редактирования данных об учебном плане:

В данном окне доступны для редактирования данные об учебном плане:

· Семестр.

· Изучаемый предмет.

· Количество лекционных часов.

· Количество практических часов.

· Преподаватель.

Сведения о группе носят справочный характер и не доступны для редактирования. При составлении нового учебного плана, он автоматически наследует ту группу, которая является текущей в таблице ГРУППЫ.

В окно редактирования данных о проведенном занятии доступны для редактирования данные о проведенном занятии:

· Дата и время проведения занятия.

· Вид занятия (лекционное или практическое).

· Количество часов (по умолчанию = 2).

· Преподаватель (по умолчанию = преподаватель по учебному плану).

Сведения об учебном плане носят справочный характер и не доступны для редактирования. При добавлении нового занятия ему присваивается номер учебного плана, который является текущим в таблице УЧЕБНЫЕ ПЛАНЫ.

После внесения изменений окно закрывается нажатием на одну из кнопок OK или Cancel. В первом случае все внесенные изменения сохраняются, во втором - отменяются.

При добавлении записи появляется аналогичное окно с пустыми полями для ввода новых значений. Кнопка OK закрывает окно с сохранением, кнопка Cancel - без сохранения.

Заключение

В результате выполнения курсовой работы были разработаны база данных под управлением сервера Firebird и приложение, обеспечивающее пользовательский интерфейс с базой данных.

Данный проект не является окончательным и будет значительно доработан в рамках предстоящей дипломной работы.

Список используемой литературы

1.
Избачков Ю., Петров В. Информационные системы: Учебник для вузов. 2-е издание, Изд.: Питер, 2006.

2. Аппак М.А., «Автоматизированные рабочие места на основе персональных ЭВМ», М.: 'Радио и связь', 1999 г.

3. Борри Х. Firebird: руководство разработчика баз данных: Пер. с англ. - СПб.: БХВ-Петербург, 2006.

4. Грофф Дж., Вайнберг П. Энциклопедия SQL. 3-е издание. Пер. с англ. - С-Пб.: Питер, 2003.

5. Дейт К. Введение в системы баз данных. - Киев: Диалектика, 1998.

6. Карпова Т.С. Базы данных. Модели, разработка, реализация. - СПб: Питер, 2001.

7. Конноли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация, сопровождение. - М., Вильямс. 2003.

8. Ковязин А., Востриков С. Мир Interbase. Архитектура, администрирование и разработка приложений баз данных в Interbase. - М., Кудиц-Образ, 2002.

9. Ульман Д., Уидом Д. Введение в системы баз данных. - Лори. 2000.

10. Фаронов В.В. Delphi 5. Руководство программиста. Нолидж. 2001.

11. Фаронов В.В. Программирование баз данных в Delphi 7. - СПб: Питер, 2004.

12. Хансен Г., Хансен Д. Базы данных. Разработка и управление. - М., Бином. 2000.

13. Голицына О.Л., Максимов Н.В., Попов И.И. Базы данных: учеб. пособие. - М., Форум: Инфра-М, 2007.

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.