2.3 Задачи каждого исполнителя
· Пассажир - оплатить поездку;
· Кассир – обслужить клиента;
· Администратор – обслуживание системы и базы данных(резервное копирование, восстановление, добавление новых пользователей).
2.4 Основные и альтернативные потоки
Основной поток 1
· Клиент приходи на автовокзал и хочет взять билет на определенную дату;
· Кассир ищет в окне приложения заданный рейс;
· Кассир открывает окно продажи билета и вводит сумму и дату рейса;
· Клиент передает деньги кассиру;
· Кассир делает заказ и отдает билет.
Основной поток 2
· Клиент в силу сложившихся обстоятельств не может совершить поездку на заранее купленный билет;
· Кассир делает отмену заказа и отдает деньги с учетом штрафа.
Альтернативный поток 1
· Клиент приходи на автовокзал и хочет взять билет на определенную дату;
· Кассир обнаруживает, что на данную дату нет мест и предлагает выбрать на другой день.
Альтернативный поток 2
· Клиент приходи на автовокзал и хочет взять билет на определенную дату;
· Клиент обнаруживает, что ему не хватает наличных.
2.5 Диаграмма Use Case
2.6 Диаграмма последовательностей
2.7 Диаграмма сущность-связь
Рис. 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 Модель базы данных
Рис. 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.2 Диаграмма размещения
Рис.7 Диаграмма размещения
7.3 Диаграмма экранных форм
Рис. 8 Диаграмма экранных форм
8 Тестирование ПО 8.1 Тестирование элементов· При добавлении рейса нельзя вводить неправильный формат времени;
· При добавлении расписания в поле номер рейса можно вводить только числа;
· При добавлении расписания в поле цена можно вводить только числа;
· При продаже билета нельзя совершить операцию если внесенная сумма меньше заявленной цены;
· Если настройки подключения к серверу СУБД неверные, то выдается диалог с предложение выбрать другие настройки;
· При введении некорректных данных выдается сообщение об ошибке и возвращается первоначальное состояние.
... изложенным в таблице №8. Установка программного обеспечения так же входит в стоимость поставки комплекта. Таким образом, внедрение системы мониторинга автотранспорта на предприятии ГУП РМЭ "Пассажирские Перевозки" не требует снятия транспорта с линии и появления в структуре организации нового отдела. 5. Безопасность жизнедеятельности при внедрении и использовании системы мониторинга "WEB-GPS ...
... я хотела бы посвятить именно приемному отделению ТК «Жуковка». Я считаю, что будет вполне целесообразно разработать и внедрить на данном предприятии автоматизированную информационную систему планирования сбыта, что в свою очередь ускорит и существенно облегчит работу приемного отделения ТК «Жуковка». План-схема приемного отделения и структура работы службы приема и размещения ТК «Жуковка» ...
... , так и по горизонтали . ПРИНЦИПЫ РАЗМЕЩЕНИЯ И ПРОЕКТИРОВАНИЯ ДОРОЖНЫХ ЗНАКОВ ИНДИВИДУАЛЬНОГО ПРОЕКТИРОВАНИЯ К дорожным знакам индивидуального проектирования относятся маршрутные схемы, а также дорожные знаки 5.23.1, 5.24.1, 5.25, 5.26, 6.9.1, 6.9.2, 6.10.1—6.12, 6.14.1, 6.14.2, 6.17. При этом следует руководствоваться унифицированным рядом размеров типа УЗДО и УЗДП, разработанным ГУГАИ МВД ...
... обслуживания пассажиров при минимальных расходах на эксплуатацию. При анализе рассматривают и сопоставляют расчетные показатели работы подвижного состава с фактическими показателями. Транспортный процесс в пассажирских перевозках – это перемещение пассажиров, включающий в себя продажу билетов, подачу транспортных средств, посадку и высадку пассажиров, возврат автомобилей к месту ...
0 комментариев