Лица, взаимодействующие с системой




Постановка задачи.

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

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

Состав инструментальных средств определим заранее. В качестве серверной СУБД выбираем сервер Oracle 8i, клиентские приложения реализуем в среде Delphi.

Анализ требований к системе

Формализуем задачу, определив систему бизнес-правил, которым подчиняется предметная область, в данном случае автовокзал. Считаем, что эти правила согласованы с заказчиком (администрацией автовокзала) и не подлежат обсуждению.

 

1. Автовокзал имеет определенный парк автобусов нескольких различных марок (Икарус, ПАЗ и т.д.). Автобусы каждой марки имеют определенное число мест и определенный уровень комфортности (класс). Все автобусы одной марки принадлежат одному классу и имеют одинаковое число мест. Время от времени автобусный парк обновляется.

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

3. Имеется строго регламентированный набор автобусных маршрутов, по каждому маршруту выполняется определенное количество рейсов в неделю в соответствии с расписанием (каждую неделю одно и то же количество рейсов). Все рейсы одного и того же маршрута имеют одни и те же остановки, т.е. посещают одни и те же населенные пункты, и едут по одной и той же дороге. Маршруты изменяются довольно редко.

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

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

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

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

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

9. В момент отправления каждого рейса диспетчер обнуляет количество билетов на этот рейс и начинается продажа на рейс, который состоится ровно через неделю. Таким образом, на каждый рейс можно купить билеты за неделю.

 

Лица, взаимодействующие с системой

Основные пользователи системы — кассиры. Все кассиры работают с одним и тем же приложением. Их основные требования к интерфейсу — максимальная простота и удобство работы, обеспечение приемлемой скорости, сведение к минимуму количества возможных человеческих ошибок.

Администратор базы данных (он же может быть и администратором автовокзала) обязан поддерживать данные в актуальном состоянии. Для него должно быть создано отдельное приложение, особых требований к интерфейсу не предъявляется.

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

Любой из пассажиров мог бы воспользоваться электронным справочником, отрабатывающим запросы о расписании автобусов и о наличии билетов на конкретные рейсы. Разумеется, приложение-справочник должно работать с базой данных в режиме «только для чтения».

Анализ функций системы

Многочисленные функции администратора можно разбить на 3 группы:

1. Своевременное обновление информации об автобусном парке

2. Изменение данных о населенных пунктах, маршрутах и рейсах

3. Корректировка расценок за километр

Функции кассира:

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

2. Определение, имеется ли в наличии необходимое число билетов на выбранный рейс. Если билетов нет, поиск другого подходящего рейса, на который есть билеты

3. Продажа билетов с фиксацией в базе данных

4. Возврат билетов

Функции диспетчера

Единственная функция— обнуление количества проданных билетов.

Функции, необходимые пассажирам, — быстрый поиск доступной для них информации из базы данных.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: