В рамках работы над пилотным проектом углублены знания по программированию в среде Delphi, проектированию баз данных в MS SQL и связи приложения с СУБД.
4 Анализ методов и алгоритмов решений
Рис. 2 Вод в систему
Авторизация пользователя происходим при помощи следующего алгоритма
log:=edit1.text;
pass:=edit2.text;
adoquery1.Close; // закрыть файл-результат выполнения предыдущего запроса
adoquery1.Parameters.Items[0].Value:=log;
adoquery1.Parameters.Items[1].Value:=pass;
adoquery1.Open; // активизируем выполнение запроса
u1:=adoquery1.fieldbyname('status').AsString;
if u1 <> ''
then begin
form1.session1.Active:=true;
if (u1='Администратор')
form1.show;
form1.n10.Enabled:=true;
form7.Hide;
end
else if (u1='Кассир')
form1.n10.Enabled:=false;
else MessageDlg('Неверный логин и пароль', mtError,
[mbOk], 0)
else MessageDlg('Поля не должны быть пустыми', mtError,
end;
procedure TForm7.BitBtn2Click(Sender: TObject);
begin
form1.Close;
form7.close;
После ввода логина и пароля, запрос отправляется серверу СУБД, где ищется запись по условию совпадения логина и пароля. Если в базе есть запись, то проверяется статус пользователя. Если администратор, то открывается главная форма и доступной кнопкой «Администрирование». Если статус «Кассир», то открывается главная форма без функции «Администрирования».
Если пользователь программы работает с базой (вставляет строку, удаляет, изменяет) то после этого происходит начало транзакции, реализованного при помощи следующего алгоритма.
if form1.adoconnection1.InTransaction=true
form1.adoconnection1.CommitTrans;
form1.ADOConnection1.BeginTrans;
Происходит проверка на запуск транзакции, если транзакция уже была, то изменения подтверждаются и начинается другая транзакция.
Данная процедура выполняется при возникновения события beforedelete, beforepost и после открытия другого окна. Данный алгоритм реализует функцию отмены последнего действия.
Резервное копирование базы осуществляется при помощи запроса следующего вида.
BACKUP DATABASE vokzal TO Disk =:back_copy;
Переменной присваивается путь к папке, в которую осуществляется копирование.
Чтобы напечатать билет, оператор при нажатии на клавишу вызывает следующую процедуру.
Wr:=CreateOLEObject('Word.Application'); // Создание OLE объекта
Wr.Documents.add;
Wr.visible:=true;
R1:=Wr.Selection.Range;
Tb:=R1.Tables.Add(R1,7,2,EmptyParam,EmptyParam);
// форматируем таблицу
// первый столбец
Tb.Columns.Item(1).SetWidth(100,'wdAdjustNone');
// второй и т.д.
Tb.Columns.Item(2).SetWidth(150,'wdAdjustNone');
tb.Cell(1,1).Range.Text :='Номер рейса';
tb.Cell(2,1).Range.Text :='Ст. отправления';
tb.Cell(3,1).Range.Text :='Ст. прибытия';
tb.Cell(4,1).Range.Text :='Цена';
tb.Cell(5,1).Range.Text :='Дата';
tb.Cell(6,1).Range.Text :='Время';
tb.Cell(7,1).Range.Text :='Пассажир';
tb.Cell(1,2).Range.Text :=edit1.Text;
tb.Cell(2,2).Range.Text :=edit2.Text;
tb.Cell(3,2).Range.Text :=edit7.Text;
tb.Cell(4,2).Range.Text :=edit3.Text;
tb.Cell(5,2).Range.Text :=datetostr(datetimepicker1.Date);
tb.Cell(6,2).Range.Text :=edit4.Text;
tb.Cell(7,2).Range.Text :=edit6.Text;
Данная процедура осуществляет выгрузку в документ MSWORD данные о рейсе и ФИО пассажира.
При возврате билета, оператор переходит на форму сдачи билета. На форме выбирается из ниспадающих списков станция отправления, назначения, дата и время рейса, после чего кассир ставит галочку фильтровать, и в таблице отобразятся все заказы, которые соответствуют критерию поиска.
Рис. 3 Форма возврата билета
После того, оператор выбирает любую запись и нажимает на кнопку «Удалить текущую запись».
При восстановлении базы администратор должен запустить файл «Восстановление базы.exe» и в окне ввода пароля ввести пароль. Если пароль верный, то открывается окно с настройками(рис. 4)
Рис. 4 Настройка подключения и восстановление базы
Здесь администратор выбирает настройки сервера и делает операции по подключению и восстановлению базы данных, выбрав из окон файлы.
5 Модель базы данных
Рис. 5 Модель базы данных
Все отношения находятся в 3 нормальной форме. Отношение users не имеет связей.
6 Минимальная конфигурация программной системы (ПС)
6.1 Руководство по работе и инсталляции
Чтобы установить программу необходимо запустить файл установки setup.exe. После установки на компьютер будет скопированы следующие файлы:
1. АС Автовокзал\NewProject.cnt;
2. АС Автовокзал\NewProject.hlp;
3. АС Автовокзал\logo.jpg;
4. АС Автовокзал\Востановление базы.exe;
5. АС Автовокзал\database\vokzal_Data.MDF;
6. АС Автовокзал\database\vokzal_Log.LDF;
7. АС Автовокзал\config.ini;
8. АС Автовокзал\Автовокзал.exe;
9. АС Автовокзал\base\Backup_of_personal.bak.
10. АС Автовокзал\Uninstall.exe
6.2 Руководство пользователя по настройке
После установки программы администратор должен запустить файл Восстановление базы.exe и указать настройки сервера MSSQL Server 2000. После этого необходима выбрать файлы базы данных в формате *.mdf и *.ldf, и после этого нажать на кнопку подключить базу. Программа выдаст сообщение об ошибке или об успешном подключении базы. После этого пользователь программы может запустить саму программу АС Автовокзал.exe. Руководство пользователя находиться в Приложении Б.
7 Диаграммы реализации
7.1 Компонентная диаграмма
35
Рис.6 Компонентная диаграмма
7.2 Диаграмма размещения
Рис.7 Диаграмма размещения
7.3 Диаграмма экранных форм
Рис. 8 Диаграмма экранных форм
1. Вендров А. М. Проектирование программного обеспечения экономических информационных систем/ А. Вендров - М.: Финансы и статистика, 2000. - 352 с.
2. Орлов С. А. Технологии разработки программного обеспечения/ С. Орлов - СПб.: Питер, 2002. - 464 с.
3. Ананьев А. И., Федоров А. Ф. Самоучитель Visual Basic 6.0/ А. Ананьев, А. Федоров - СПб.: БХВ-Петербург, 2005. - 624 с.
4. http://msdn.microsoft.com/ - Microsoft Developer Network.
5. http://intuit.ru/ - Интернет Университет информационных технологий.
Приложение А.
Техническое задание
Общие сведения
Настоящий документ, далее именуемый «Техническое Задание», или «ТЗ», является неотъемлемой частью Договора. Все работы по Договору будут выполняться строго в соответствии с настоящим Техническим Заданием.
Все требования к разрабатываемому продукту, не регламентированные в настоящем Техническом задании, должны оформляться дополнительными соглашениями к Договору с одновременной корректировкой общего срока и стоимости работ.
Перед подписанием документа Заказчик вправе потребовать от Исполнителя детального и исчерпывающего разъяснения любого из положений настоящего Технического Задания.
Страницы: 1, 2, 3