Материал: Учет продукции для мебельного производства

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

Рисунок 2.4.1. - Круговая диаграмма.

Рисунок 2.4.2 - Пример отчета

2.5 Описание триггеров и хранимых процедур

учет интерфейс данные запрос

В рамках данного проекта использование триггеров не предусматривается. То же касается и использования процедур для обращения к информации базы данных.

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

Для разработки приложения был использован язык программирования Object Pascal. Среда разработки - Borland Delphi v 7.3.4.3.

.1 Процедура инсталляции

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

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

3.2 Система помощи


.3 Процедуры и функции

В создаваемой СУБД, кроме событий объектов, размещённых на формах, используется лишь одна процедура «OnCreate».

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

4. Справочная система

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

Меню справки показана в соответствии с рисунком 4.1

Рисунок 4.1- Справка.

В справке имеются следующие разделы:

Информация

О программе

Раздел “Информация” содержит подразделы “О проекте”и “Среда разработки”, в которых описана информация о данном курсавом проекте и с посощью какой среды она была разработана.

Раздел “О программе” содержит подразделы “Условия эксплуатации ”и “Системные требования”, в которых описана соответствующая им информация.

К проекту данный файл подключался при помощи API - функции ShellExecute.

Система помощи была разработана при помощи приложения Help & Manual версии 5.2.0 902. Выбор данного инструмента определили количество форматов, для сохранения файла справки, и маленький объём занимаемой памяти для его работы.

5. Отладка и тестирование приложения

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

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

Тестирование проводилось следующими способами:

Методом «Белого ящика» в ходе проектирования СУБД

Методом «Чёрного ящика»

Таблица 1. Результаты по методу «Белого ящика»

Вводимые данные

Ожидаемый результат

Полученный результат

Вывод

Внесение изменений в информацию о записи

Запрет на внесение изменений

Изменения внесены

Исправление ошибки и установка запрета на редактирование

Изменение информации в зависимости от значения DBLookupCombobox

Данные изменяются

Подтверждается изменение данных

Механизм замены информации работает стабильно и правильно

Внесение новой записи

Ошибка внесения данных

Данные успешно внесены

Ошибок не обнаружено

Внесение в поле «№ Заказа» букв

Ошибка ввода

Ошибка ввода

Механизм отлажен


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

Отдельно проводилось тестирование механизма взаимодействия с БД по средствам запросов.

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

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

Важным этапом тестирования является проверка быстродействия системы.

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

Необходимо отметить, что был проведён анализ алгоритмов работы программы наиболее подходящий для взаимодействия с базой данных на основе механизма Jet 4.0 Ole DB.

Как отмечалось выше, было проведено тестирование методом «Чёрного ящика».

Результаты тестирования приведены в Таблице 2.

Таблица 2. Результаты тестирования методом «Чёрного ящика»

Вводимые данные

Ожидаемый результат

Полученный результат

Вывод

Попытка изменения данных на главное форме

Запрет на ввод данных

Ввод данных запрещён

Механизм отлажен

Внесение новой записи

Успешное внесение информации

Информация внесена успешно

Механизм отлажен

Нажатие на кнопку сохранить формы ввода данных

Очистка полей и внесение информации

Информация внесена, но поля не очищены

Необходимо внести изменения в процедуру сохранения данных


В ходе тестирования программа была максимально отлажена.

Заключение

Успешно завершена разработка СУБД для базы данных «Учет продукции» для мебельного предприятия

Завершена отладка и тестирование программы, исправлены выявленные ошибки и неисправности

Завершено написание сопровождающей документации

Успешно систематизирована информация о большинстве видов продукции

Работа над курсовым проектом основывалась на информации, внесённой в базу данных при помощи реляционной БД MS Access. Данная БД проявила себя как надёжная и функциональная, так как проблем с подключением созданных с её помощью таблиц не возникло. Её механизм сохранения данных позволил обеспечить целостность данных и поддерживать её на высоком уровне.

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

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

Построение отчётов велось на основе технологии Rave Reports. Использование этой технологии позволило спроектировать отчёт типа «Отчет по продукции». Большое количество отлично продуманных и спроектированных инструментов данной среды формирования отчётов сделало процесс конструирования отчёта максимально удобным.

Таким образом, все поставленные перед курсовым задачи выполнены, а использование тех или иных средств разработки полностью оправдано.

Список использованных источников

Нормативная документация

Дейтел. X. М. Как программировать на Delphi 7 / X. М. Дейтел, П. Дж. Дейтел. - М. : Бином. 2003. - 1151 с.

Демидович, Е. М. Основы алгоритмизации и программиро­вания. / Е. М. Демидович. - Мн.: Бестпринт, 2004. - 3S0 с.

Основная литература

Оформление курсовых и дипломных проектов : метод, ука­зания /сост. И. М. Снежкова. - Мн. : МГВРК, 2003. - 32 с.

Страуструп, Б. Язык программирования Delphi 7/ Б. Страуструп. - М.: Бином, 2002. - 1098 с.

Дополнительная литература

Архангельский. А. Я. Программирование в С++ Builder 7 / Л. Я. Архангельский. - М. : Бином, 2002.

Леоненков. Л. В. Самоучитель по Delphi/ Л. В. Леоненков. СПб. : БХВ-Петербург, 2002. - 304 с.

Тимофеев. В. В. Программирование в С++ Builder 5 / В. В. Тимофеев. - М. : Бином. 2000. - 360 с.

Дейтел. X. М. Как программировать на Delphi 7 / X. М. Дейтел, П. Дж. Дейтел. - М. : Бином. 2003. - 1151 с.

Демидович, Е. М. Основы алгоритмизации и программиро­вания. / Е. М. Демидович. - Мн.: Бестпринт, 2004. - 3S0 с.

Приложение А. Листинг программы

Листинг 1 - Модуль Main.pas

unit main;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DB, ADODB, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, Menus, ShellAPI;= class(TForm): TGroupBox;: TGroupBox;: TRadioButton;: TRadioButton;: TRadioButton;: TLabel;: TEdit;: TButton;: TDBGrid;: TDBNavigator;: TDataSource;: TDataSource;: TDataSource;: TADOConnection;: TADOTable;: TADOTable;: TADOTable;: TIntegerField;: TWideStringField;: TWideStringField;: TWideStringField;: TIntegerField;: TIntegerField;: TWideStringField;: TWideStringField;: TWideStringField;: TIntegerField;: TIntegerField;: TIntegerField;: TIntegerField;: TWideStringField;: TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;RadioButton1Click(Sender: TObject);RadioButton2Click(Sender: TObject);RadioButton3Click(Sender: TObject);N1Click(Sender: TObject);N7Click(Sender: TObject);N8Click(Sender: TObject);SQL1Click(Sender: TObject);N3Click(Sender: TObject);N5Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm1;cat, ot4, Diag, SQL;

{$R *.dfm}TForm1.RadioButton1Click(Sender: TObject);RadioButton1.Checked then.DataSource :=DSVP;RadioButton1.Checked then.DataSource :=DSVP;;TForm1.RadioButton2Click(Sender: TObject);RadioButton2.Checked then.DataSource :=DSKli;RadioButton2.Checked then.DataSource :=DSKli;;TForm1.RadioButton3Click(Sender: TObject);RadioButton3.Checked then.DataSource :=DSZac;RadioButton3.Checked then.DataSource :=DSZac;;TForm1.N1Click(Sender: TObject);.show;;TForm1.N7Click(Sender: TObject);.QuickRep1.Preview;;TForm1.N8Click(Sender: TObject);.show;;TForm1.SQL1Click(Sender: TObject);.show;;TForm1.N3Click(Sender: TObject);;;TForm1.N5Click(Sender: TObject);(Handle,'open','Help.chm',nil,nil,SW_SHOW);.

Листинг 2 - Модуль SQL.pasSQL;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, DB, ADODB, Grids, DBGrids;= class(TForm): TDBGrid;: TDataSource;: TADOConnection;: TADOQuery;: TLabel;: TMemo;: TButton;: TButton;: TGroupBox;FormCreate(Sender: TObject);Button1Click(Sender: TObject);Button2Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm5;

{$R *.dfm}TForm5.FormCreate(Sender: TObject);.Clear;;TForm5.Button1Click(Sender: TObject);.close;.SQL.Clear;Memo1.Lines[0] <> '' then.SQL.Add(Memo1.Text)('Не был введен SQL-запрос', mtError, [mbOK], 0);;;.Open;e : EDatabaseError do (e.message,mtError,[mbOK],0);;;TForm5.Button2Click(Sender: TObject);;;.


Листинг 3 - Модуль ot4.pasot4;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, QRCtrls, QuickRpt, ExtCtrls, Grids, DBGrids, DB, ADODB;= class(TForm): TDataSource;: TADOConnection;: TADOTable;: TDBGrid;: TQuickRep;: TQRBand;: TQRSubDetail;: TQRLabel;: TQRDBText;: TQRLabel;: TQRLabel;: TQRLabel;: TQRDBText;: TQRDBText;: TQRLabel;: TQRLabel;: TQRDBText;: TQRDBText;

{ Private declarations }

{ Public declarations };: TForm3;

{$R *.dfm}.

Листинг 4 - Модуль Diag.pasDiag;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, TeEngine, Series, TeeProcs, Chart, StdCtrls, ExtCtrls;= class(TForm): TPanel;: TButton;: TChart;: TPieSeries;Button1Click(Sender: TObject);FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm4;

{$R *.dfm}TForm4.Button1Click(Sender: TObject);;;TForm4.FormCreate(Sender: TObject);= 5;= 5;= 5;= 5;= 5;= 5 ;= 5 ;= 5 ;: word;Series1 do;(A1, 'Смирнов В.Н.', clYellow);(A2, 'Гвязда Н.С.', clBlue);(A3, 'Степук Е.И.', clRed);(A4, 'Лаврухин С.А.', clPurple);(A5, 'Никифоров В.В.', clGreen);(A6, 'Андреев А.А.', clPurple);(A7, 'Асташкевич А.А.', clBlack);(A8, 'Шевченок О.В.', clGray);;i := 0 to 100 do;;.

Листинг 5 - Модуль cat.pascat;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, ScktComp, StdCtrls;= class(TForm): TLabel;: TLabel;: TMemo;: TEdit;: TEdit;: TButton;: TButton;: TClientSocket;: TGroupBox;Button1Click(Sender: TObject);Button2Click(Sender: TObject);FormCreate(Sender: TObject);ClientSocket1Connecting(Sender: TObject;: TCustomWinSocket);ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);

{ Private declarations }

{ Public declarations };: TForm2;

{$R *.dfm}TForm2.Button1Click(Sender: TObject);.Socket.SendText(Edit2.Text+': '+Edit1.Text);.Clear;;TForm2.Button2Click(Sender: TObject);;;TForm2.FormCreate(Sender: TObject);.Port:=4321;.Address:='127.0.0.1';.Active:=true;.clear;.Clear;.Clear;;TForm2.ClientSocket1Connecting(Sender: TObject;: TCustomWinSocket);.Lines.Add('Подключено!');;TForm2.ClientSocket1Read(Sender: TObject;: TCustomWinSocket);.Lines.Add(Socket.ReceiveText);;.

Листинг 6 - Модуль avtor.pasavtor;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ExtCtrls;= class(TForm): TPanel;: TLabel;: TLabel;: TButton;Button1Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: TForm6;

{$R *.dfm}TForm6.Button1Click(Sender: TObject);

begin;;.

Приложение Б. Структурная схема

Рисунок Б - Структурная схема


Приложение В. Функциональная схема



























Рисунок В - Функциональная схема

Приложение Г. Диаграмма компонентов

Рисунок Г - Диаграмма компонентов

Приложение Д. Диаграмма вариантов использования

Рисунок Д - Диаграмма вариантов использования