Автор работы: Пользователь скрыл имя, 09 Июня 2014 в 00:52, курсовая работа
Целью курсового проекта является приобретение навыков разработки приложения для работы c базой данных, c использованием объектно-ориентированного и визуального программирования.
Задачи, которые необходимо решить при создании программного продукта:
Анализ предметной области;
Проектирование базы данных (БД);
Разработка приложения для взаимодействия c БД.
Введение 3
Сокращения и обозначения 4
Глава 1. Исследовательская часть 5
1.1 Понятие электронный журнал 5
1.2. Выбор среды и языка программирования 7
1.3. Стадии разработки программного продукта 8
Глава 2. Практическая часть 10
2.1. Техническое задание 10
2.2. Разработка базы данных электронного журнала 11
Заключение 17
Список использованной литературы 18
Приложение 1 20
Специальные требования:
Должно быть обеспечено взаимодействие c пользователем (оператором) посредством графического пользовательского интерфейса, разработанного согласно рекомендациям.
Разработка базы данных для электронного журнала будет производиться в утилите Database Desktop, она устанавливается вместе c Delphi (Рисунок 1).
Рисунок 1 – Внешний вид Database Desktop
Возможности данной утилиты велики не смотря не ее внешний вид, она позволят создать базу данных c использованием нужных нам типов данных и создания индексов, произвести создания уникального ключа, так же в данной утилите можно произвести заполнения базы данных нужной нам информацией. [8,c.379]
В данной разработки нами было создано три таблицы, которые имеют такие атрибуты как:
ID – уникальное число обучаемого;
Ucenik - Информация об обучаемом
1-31 – поля для выставления оценок и пропусков.
После завершения работы c таблицами, следующим этапом следует создания псевдонима. Для этого нужно зайти в программу BDE Administrator, она так же поставляется c пакетов Delphi, а данной утилите создаем стандарт и указываем путь к нашим таблицам, после чего сохраняем проект. [1,c.492]
Пришло время для разработки шаблона приложения, переходим в среду программирования Delphi.
Для вывода базы данных, потребуется установить некоторые компоненты после чего произвести их связь. [21,c.459]
Расположен на форме следующие компоненты:
DBGrid, Table, DataSource, MainMenu, Label
Главным компонентом является DBgrid он производит визуальное предоставления данных, которые отображаются в таблице.
В свойствах данного компонента “DataSource” Нужно указать ссылку на компонент DataSource2 он служит для связи таблицы для визуального предоставления, в свойстве “DataSet” Укажем компонент Table2 В котором будет выбран наш псевдоним которым мы создавали ранее, и укажем в свойстве “TableName” интересующую нас таблицу, после соеденения данный компонентов мы будем иметь следующий вид формы(Рисунок 2).
Рисунок 2 Форма программы
Разберем компонент “MainMenu” Он позволяем выводит выпадающие меню c нужными параметрами, в данном случае это предметы, сохранить и выход.
Для того что бы перемещаться по журналу выберем кнопку предметы и увидим выпадающее меня, при нажатии на другой предмет произойдет его открытия, оно осуществляется через следующий код:
procedure TForm1.N2Click(Sender: TObject);
begin
Table2.Active:=false;
// отключаем таблицу
Table2.TableName:='matem.db';
// прописываем адрес таблицы
Table2.Active:=true;
// запускаем таблицу
Label2.Caption:='Математика';
// присваиваем компоненту “Label2” имя предмета
Label4.Caption:='Иванюк Лариса Сергеевна';
// присваиваем Label4 данные преподавателя по данному предмету (Рисунок 3).
Рисунок 3 – конечный вид формы
После изменения данных в таблице следует нажать на кнопку сохранить, для записи данных в таблицу.
Запись происходит благодаря коду:
Table2.Post;
// Записать в таблицу
Для безопасности данных была разработана парольная защита, при запуски программы будет выведено окно(Рисунок 4).
Рисунок 4 – окно ввода пароля
Для создания данной защиты был использован следующий код:
procedure TForm2.FormCreate(Sender: TObject);
begin
Edit2.PasswordChar := '*';
// маскирует вводимые символы в поля Edit2
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
if (Label1.Caption='Vvedite password') and (edit2.Text='123456')then
// Производит сравнения c введенными символами, в случае совпадения открывает программу, иначе выдает сообщения 'Error Password'
Form1.Show
else
ShowMessage('Error Password');
end;
Наличие в программе ошибок приводит к выдаче неверных следствий. Для их обнаружения параллельно c откладкой программы исполняется ее тестирование.
Тестирование называют процесс выполнения программы при разнообразных тестовый наборах данных, c целью находки ошибок:
Имеется два типа тестирования:
При тестировании c употреблением стратегии «белого» ящика тесты пытаются подобрать так, чтобы хотя бы один раз пройти по каждой ветви алгоритма. Эта стратегия имеет основной недостаток: по ней принципиально невозможно обнаружить пропущенный маршрут.
Поэтому при тестировании данной программы применялась стратегия «черный» ящика так как при данном тестировании строения программы считается незнакомой, и тесты подбирают так, чтобы проверить выполнение всех функций программы, а за тем отследить реакцию на ввод некоренных данных.
Программа прошла тестирование и откладку удачно, без каких либо сбоев.
При разработке электронного журнала преподавателя c использованием языка программирования высокого уровня, были изучены средства программирования Delphi и утилита Database Desktop – разработка базы данных
А процессе изучения были проанализированы другие средства программирования, в итоги выбраны самые оптимальные для разработки данного проекта.
Были проанализированы существующие проекты похожего типа, были выявлены недостатки и преимущество, на основе недостатков было разработано данное программное обеспечения которое отвечает всем требованиям заказчика.
Созданная программа позволяет вести электронный журнал преподавателя.
В программе реализованы все поставленные задачи, а именно:
При написании программного продукта были учтены все факторы поведения пользователя c рабочей средой, сделаны соответствующие выводы.
Данный электронный журнал можно внедрить в любую структуру образовательного процесса.
Задачи курсовой работы, считаю, выполнены.
2011. – 320 c.
2009. – 459с.
Фуфаев Д.Э., Фуфаев Э.В. Базы данных. –М.: “Академия”, 2008. –320 c
Form2
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm2 = class(TForm)
Button1: TButton;
Edit2: TEdit;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm2.FormCreate(Sender: TObject);
begin
Edit2.PasswordChar := '*';
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
if (Label1.Caption='Vvedite password') and (edit2.Text='123456')then
Form1.Show
else
ShowMessage('Error Password');
end;
end.
Form1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Menus;
type
TForm1 = class(TForm)
DataSource2: TDataSource;
Table2: TTable;
Table2ID: TAutoIncField;
Table2Ucenik: TStringField;
Table2BDEDesigner1: TStringField;
Table2BDEDesigner2: TStringField;
Table2BDEDesigner3: TStringField;
Table2BDEDesigner4: TStringField;
Table2BDEDesigner5: TStringField;
Table2BDEDesigner6: TStringField;
Table2BDEDesigner7: TStringField;
Table2BDEDesigner8: TStringField;
Table2BDEDesigner9: TStringField;
Table2BDEDesigner10: TStringField;
Table2BDEDesigner11: TStringField;
Table2BDEDesigner12: TStringField;
Table2BDEDesigner13: TStringField;
Table2BDEDesigner14: TStringField;
Table2BDEDesigner15: TStringField;
Table2BDEDesigner16: TStringField;
Table2BDEDesigner17: TStringField;
Table2BDEDesigner18: TStringField;
Table2BDEDesigner19: TStringField;
Table2BDEDesigner20: TStringField;
Table2BDEDesigner21: TStringField;
Table2BDEDesigner22: TStringField;
Table2BDEDesigner23: TStringField;
Table2BDEDesigner24: TStringField;
Table2BDEDesigner25: TStringField;
Table2BDEDesigner26: TStringField;
Table2BDEDesigner27: TStringField;
Table2BDEDesigner28: TStringField;
Table2BDEDesigner29: TStringField;
Table2BDEDesigner30: TStringField;
Table2BDEDesigner31: TStringField;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
Panel1: TPanel;
DBGrid2: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Table2.Post;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
Table2.Active:=false;
Table2.TableName:='matem.db';
Table2.Active:=true;
Label2.Caption:='Математика';
Label4.Caption:='Иванюк Лариса Сергеевна';
end;
procedure TForm1.N3Click(Sender: TObject);
begin
Table2.Active:=false;
Table2.TableName:='rus.db';
Table2.Active:=true;
Label2.Caption:='Русский язык';
Label4.Caption:='Петров Сергей Сергеевич';
end;
procedure TForm1.N4Click(Sender: TObject);
begin
Table2.Active:=false;
Table2.TableName:='bio.db';
Table2.Active:=true;
Label2.Caption:='Биология';
Label4.Caption:='Копылова Виктория Викторовна';
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Table2.Post;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
close;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
end.