· Клиент обнаруживает, что ему не хватает наличных.
2.5 Диаграмма Use Case
2.6 Диаграмма последовательностей
Рис. 1 Диаграмма «Сущность-связь»
3 Характеристика программных продуктов
Delphi — это объектно-ориентированная среда для визуального проектирования Windows-приложений с развитыми механизмами повторного использования программного кода. Основным конкурентом Delphi является среда разработки Microsoft Visual C++, имеющая свои преимущества и недостатки, однако являющаяся более популярной, в основном, в силу того, что разработана именно фирмой Microsoft.
В процессе создания системы я познакомился с принципом работы интерфейса ADO для работы с СУБД MS SQL Server 2000, узнал как отображать данные через сетки DBGRID, как осуществляется поиск и сортировка записей, также узнал как посредством sql запросов осуществляется резервное копирование и восстановление.
MS SQL Server 2000 используется для создания базы данных. Microsoft SQL Server – система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов – Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для небольших и средних по размеру баз данных, и в последние 5 лет – для крупных баз данных масштаба предприятия, конкурирует с другими СУБД в этом сегменте рынка. Выбран по причине высокой совместимости с семейством ОС Windows и средой разработки Visual Studio.
В рамках работы над пилотным проектом углублены знания по программированию в среде 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='Администратор')
then begin
form1.show;
form1.n10.Enabled:=true;
form7.Hide;
end
else if (u1='Кассир')
then begin
form1.n10.Enabled:=false;
form1.show;
form7.Hide;
end
end
else MessageDlg('Неверный логин и пароль', mtError,
[mbOk], 0)
end
else MessageDlg('Поля не должны быть пустыми', mtError,
[mbOk], 0)
end;
procedure TForm7.BitBtn2Click(Sender: TObject);
begin
form1.Close;
form7.close;
После ввода логина и пароля, запрос отправляется серверу СУБД, где ищется запись по условию совпадения логина и пароля. Если в базе есть запись, то проверяется статус пользователя. Если администратор, то открывается главная форма и доступной кнопкой «Администрирование». Если статус «Кассир», то открывается главная форма без функции «Администрирования».
Если пользователь программы работает с базой (вставляет строку, удаляет, изменяет) то после этого происходит начало транзакции, реализованного при помощи следующего алгоритма.
if form1.adoconnection1.InTransaction=true
then begin
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 Модель базы данных
Все отношения находятся в 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 Компонентная диаграмма
Рис.6 Компонентная диаграмма
Рис.7 Диаграмма размещения
Рис. 8 Диаграмма экранных форм
· При добавлении рейса нельзя вводить неправильный формат времени;
· При добавлении расписания в поле номер рейса можно вводить только числа;
· При добавлении расписания в поле цена можно вводить только числа;
· При продаже билета нельзя совершить операцию если внесенная сумма меньше заявленной цены;
· Если настройки подключения к серверу СУБД неверные, то выдается диалог с предложение выбрать другие настройки;
· При введении некорректных данных выдается сообщение об ошибке и возвращается первоначальное состояние.
8.2 Тестирование восстановления
· Если возникли незначительные ошибки (ошибка ввода данных), то выдается сообщение с описание ошибки и после него можно продолжить работать с программой;
· Если возникла ошибка подключения СУБД, то время восстановления равно времени настройки параметров;
· если не найдена база, то время на восстановления равно времени подключения новой базы и восстановления последней копии базы.
В процессе создания информационной системы были изучены материалы по предметной области, также были рассмотрены принципы работы интерфейса ADO для работы с СУБД. В результате было создано приложение, которое включает в себя пакет установки, программу, справку, файлы базы данных.
В заключении можно сказать, что при изучении новой среды разработки Borland Delphi 7.0 для работы с MSSQL Server 2000 Developer Edition было потрачено незначительно времени на то, чтобы узнать возможности работы среды разработки с серверной СУБД. Также хотелось бы отметить, что потраченное время на создание программы отразилась на укреплении приобретенных навыков работы с базами данных и дала новые знания по работе с объектно-ориентированными языками. Используя готовые компоненты, можно создавать сложные программы, работающие в многопользовательском режиме.
1. Вендров А. М. Проектирование программного обеспечения экономических информационных систем/ А. Вендров – М.: Финансы и статистика, 2000. – 352 с.