Автор: Пользователь скрыл имя, 19 Декабря 2012 в 07:18, курсовая работа
Целью данной работы является разработка приложения для работы с базой данных по учёту за успеваемостью студентов, поступивших в ВУЗ, необходимо создать наиболее удобный интерфейс для пользователя при работе с разрабатываемой базой данных. Для выполнения цели курсовой работы необходимо обозначить следующие задачи. Они включают в себя:
- ознакомление с программами, предназначенными для создания баз данных и форматом баз данных dBase;
- работу с особым набором компонентов предназначенных для создания и редактирования базы данных;
- ознакомление с подобными базами данных используемых в магазинах одежды;
- ознакомление с принципами действия в магазине;
- разработку программного кода для выполнения определенных действий с базой данных таких как: добавление, удаление, поиск, сортировка, фильтрация данных.
Глава 1. Теоретическое исследование предметной области…………………...4
1.1. Анализ аналогичных информационных систем ……………………...4
1.2. Характеристика организационной структуры предметной области…………………………………………………………………………….6
1.3. Назначение и цели создания системы…………………………………7
Глава 2. Описание информационной системы………………………………….8
2.1. Схема функциональной структуры системы с кратким описанием…………………………………………………………………………8
2.2. Описание информационных функций и комплекса решаемых задач……………………………………………………………………………….9
2.3. Разработка решений по специальному математическому обеспечению ИС…………………………………………………………………………………14
Заключение………………………………………………………………….18
Библиографический список………………………………………………...19
ПРИЛОЖЕНИЯ
Приложение 1. «Руководство оператора»……………………………………20
Приложение 2. «Листинг исходного кода ИС»………………………………25
Рис 2.7 Структура поля таблицы Prepodavateli
Рис 2.8 Структура поля таблицы Disziplina
Рис 2.9 Структура поля таблицы Groops
Таблица 1.
Используемые типы данных.
Тype |
Тип |
Описание |
A |
Alpha |
Текстовое поле указанной длины |
$ |
Money |
Денежное поле |
I |
Long Integer |
Целые числа в диапазоне от -2147483648 до + 2147483648 |
D |
Data |
Дата в диапазоне от 01.01.0000 до 31.12.9999 |
S |
Short |
Целые числа в диапазоне от -32768 до +32767 |
T |
Time |
Время с точностью до миллисекунд |
+ |
Avtoincrement |
Автоинкрементное поле |
2.3 Разработка приложения
Создадим
псевдоним для нашей базы
Запустите Delphi и начните новый проект. Зрительно разделим форму на 2 части, в поместим 3 панели TРanel. На эти панели поместите 2 сетки DBGrid и а на 3-ю поместим кнопку навигатора БД TDBNavigator (вкладка Data Controls). На 2-ю панель помимо DBGrid поместим Image (вкладка Additional) .
В программе нам понадобится 6 компонентов TDataSourse, и 6 компонента TTable. Разместим их в отдельном модуле данных, чтобы эти компоненты не загромождали основное окно. Выберите команду File > New > Other и на вкладке New дважды щёлкните на значке Data Module. Назовём модуль DM. Затем свяжите созданный модуль с проектом.
Чтобы данные из таблиц отображались в сетках DBGrid, их нужно связать с помощью специального компонента TDataSource .Для этого в свойствах DataSource таблиц выбираем компоненты DataSource, рассположенные на модуле данных, соответственно Dm.DataSource1 и Dm.DataSourse2. Далее в свойствах DataSet компонентов DataSourse выбираем компоненты TTable. Теперь свойствам Active в каждом компоненте TTable присваивается значение true.
Наборы данных Sessia и ZdachaSessii связаны отношением один ко многим: единственной записи в первой таблице соответствует несколько записей во второй. Чтобы программа согласованно отображала данные, её нужно предварительно подготовить к этому. Перейдите на вкладку Diagram в окне кода модуля данных и с помощью мыши перетащите компоненты Sessia и ZdachaSessii из окна дерева объектов на вкладку Diagram. Перетаскивание реализуется классическим способом Drag&Drop. Для установления связи между таблицами щёлкните на кнопке Master Detail панели инструментов, подведите указатель мыши в виде перечёркнутого круга к нижней кромке верхней таблицы (в этот момент указатель превратится в крестик), нажмите левую кнопку мыши и, удерживая её нажатой, прочертите линию к верхней кромке нижней таблицы, после чего отпустите кнопку. На экране появится окно конструктора связей. Чтобы установить связь, нужно указать связанные поля этих 2-х таблиц. Выбрав связываемые поля (Nomer и Nomer) щёлкните на кнопке Add. Щелчком ОК закройте окно конструктора связей. После выполнения этих действий между таблицами Sessia и ZdachaSessii устанавливается связь по полю ZSessia, о чём свидетельствует вид окна Data Diagram на рис. 2.10.
Рис. 2.10 Связь между таблицами
Создадим 4 новые формы, на каждой
из которых разместим панель TP
Рис. 2.11. Изображение пунктов меню.
Создаем отчет. Для этого нам потребуются компоненты QRLable, QRDBText, QRBand с вкладки QReport
Рис. 2.13 Результат оформления отчета
ЗАКЛЮЧЕНИЕ.
В данной курсовой работе представлен процесс разработки информационной системы сдача сессии.
Создавая модель информационной системы сдача сессии, я произвел:
Возможны следующие пути будущих исследований:
Созданная система является открытой и может быть модифицирована лицами, владеющими навыками программирования (создания баз данных) в среде Delphi .
Таким образом, все цели и задачи, поставленные в данной курсовой работе, выполнены полностью, а полученные результаты могут быть использованы в реальности.
Библиографический список
- Информатика. Учебное пособие /Под ред. В.Г. Кирия. – Иркутск: ИрГТУ, 1998 часть 2. – 382с.
- Карпова Т.С. "Базы данных: модели, разработка" - СПб.: Питер, 2001, 304 с.
ПРИЛОЖЕНИЕ 1.
Руководство оператора.
При запуске программы Sessia на экране появляется главная форма, содержащая кнопки для перехода к таблицам «Сессия» и «Здача сессии» (рис.1).
Рис.1 Главная форма fmSessia
При нажатии пункта в меню «Личные данные студента» появится форма с данными о студентах (рис.2).
Рис.2 Личные данные студентов
При
нажатии кнопки добавить
Рис.3 Добавление студента. Рис.4 Изменение данных о студенте
При
нажатии пункта в меню «
Рис.5 Преподавательский состав
При
нажатии кнопки добавить
Рис.6 Добавление преподавателя
При
нажатии пункта в меню «
Рис.8 Дисциплины
При
нажатии кнопки добавить
Рис.9 Добавление
предмета
При нажатии пункта в меню «группы» появится форма с данными о группах (рис.11).
Рис.11 Группы
При нажатии кнопки добавить появится форма (рис.12) для добавления информации. А при нажатии кнопки изменить появится форма (рис.13) для изменения данных о группах.
Рис.12 Добавление группы Рис.13 Замена Группы
Для удаления какой-либо строки из выше перечисленных таблиц нужно нажать кнопку «Удалить» и в появившемся окне выбрать нужный вариант.
Рис.14 Удалить
Приложение 2
Листинг исходного кода ИС
unit fmSessiaU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DBCtrls, Grids, DBGrids, ExtCtrls, Menus;
type
TfmSessia = class(TForm)
Panel1: TPanel;
Splitter1: TSplitter;
Panel3: TPanel;
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
Panel2: TPanel;
DBGrid2: TDBGrid;
Image1: TImage;
procedure N6Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure N8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fmSessia: TfmSessia;
implementation
uses dmSessiaU, fmStudentU, fmDisziplinyU, fmPrepodU, fmGroopU, fmLookUpU,
fmPrintU;
{$R *.dfm}
procedure TfmSessia.N6Click(Sender: TObject);
begin
fmSessia.Close;
end;
procedure TfmSessia.N4Click(Sender: TObject);
begin
fmStudent.Visible:=true;
end;
procedure TfmSessia.N3Click(Sender: TObject);
begin
fmDisziplina.Visible:=true;
end;
procedure TfmSessia.N2Click(Sender: TObject);
begin
fmPrepod.Visible:=true;
end;
procedure TfmSessia.N7Click(Sender: TObject);
begin
fmGroop.Visible:=true;
end;
procedure TfmSessia.FormActivate(Sender: TObject);
var k1,k2:integer;
begin
while not DM.SESSIA.Eof do
begin
k1:=0;k2:=0;
while not DM.ZDACHASESSII.Eof do
begin
k1:=k1+1;
if (DM.ZDACHASESSIIZOcenka.Value > 2) then k2:= k2+1;
DM.ZDACHASESSII.Next;
end;
DM.SESSIA.Edit;
DM.SESSIA['SKolCHel']:=k1;
DM.SESSIA['SKolSdav']:=k2;
DM.SESSIA.Post;
DM.SESSIA.Next;
end;
end;
procedure TfmSessia.N8Click(Sender: TObject);
begin
fmPrint:= TfmPrint.Create(Self);
fmPrint.QuickRep1.Preview;
fmPrint.Free;
end;
end.
unit fmStudentU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, StdCtrls;
type
TfmStudent = class(TForm)
Panel2: TPanel;
DBGrid1: TDBGrid;