- •1 Цели и задачи курсового проектирования
- •2 Этапы курсового проектирования
- •3 Структура пояснительной записки
- •4 Описание предметной области
- •4 Проектирование автоматизированной информационной системы с использованием uml
- •4.1 Диаграмма вариантов использования (use case diagram)
- •4.2 Диаграмма классов (class diagram)
- •4.3 Диаграмма состояний (statechart diagram)
- •4.4 Диаграмма активности (activity diagram)
- •4.5 Диаграмма взаимодействия (interaction diagram)
- •4.5.1 Диаграмма последовательности действий (sequence diagram)
- •4.5.2 Диаграмма сотрудничества (collaboration diagram)
- •4.6 Диаграмма компонент (component diagram)
- •5 Указания к оформлению материалов курсового проекта
4 Описание предметной области
Начальным этапом в курсовом проектировании является выбор и описание предметной области на естественном языке. В качестве примера приведем описание предметной области «Система электронного бронирования билетов Ж/Д».
Тема: Объектно-ориентированный анализ и проектирование программного обеспечения системы электронного бронирования билетов Ж/Д.
Билетная касса "railway.ua" представляет собой web-сайт системы бронирования билетов на различные поезда.
Для начала работы с системой клиенту необходимо зарегистрироваться на сайте системы, указав свои данные (ФИО, телефон, адрес электронной почты). Для доступа к системе используется логин (в качестве логина - адрес электронной почты) и пароль, который клиент указывает при регистрации.
Войдя в систему, клиент может просмотреть свои заказы или забронировать новый билет. Бронирование билета начинается с указания начальной станции. Затем клиент получает список курсирующих по ней поездов. Далее он выбирает подходящий поезд и указывает количество и тип необходимых мест. Если заказ успешно зарегистрирован в системе, клиент получает уникальный код заказа, по которому затем может выполнить покупку билета непосредственно на вокзале.
Заказ билетов осуществляется на маршруты, до отправления которых осталось не более 45 суток и не менее 2 часов.
Клиент может получить информацию обо всех своих забронированных билетах с web-страницы кассы. В каждой заявке указаны: сведения о клиенте, сведения о поезде, количество и тип забронированных билетов с их стоимостью, дата заявки на бронирование, статус (забронирован / бронь аннулирована). По истечении 12 месяцев с момента создания брони данные автоматически удаляются из системы.
Система бронирования предоставляет пользователю исчерпывающую информацию о наличии мест в вагонах с учетом типа требуемых мест. В случае нехватки вагонов, происходит автоматическое добавление вагона требуемого типа (для этого на вокзале пункта отправления содержится информация о количестве запасных вагонов каждого типа).
Для каждого поезда указывается его тип (скорый/обычный), комфортабельность (с повышенной комфортабельностью/обычный), количество и типы вагонов (общий/плацкарт/купе/спальный вагон). Перечень станций маршрута с указанием времени прибытия, стоянки и отправления. Каждое место имеет параметры: номер, расположение (нижнее/верхнее/люкс).
В случае если до отправления поезда остается 2 часа и статус билета остается «забронирован» - происходит безвозвратная смена статуса на «бронь аннулирована» и забронированное место передается в обычную кассу для дальнейшей продажи.
Необходимо предусмотреть управление заявками в ручном режиме работниками администрации системы. В случае непредвиденного аннулирования брони, необходима возможность уведомления клиента об этом действии.
После описания предметной области, необходимо по методу Аббота сформировать словарь предметной области (см. табл. 4.1) и объектно-ориентированный словарь (см. табл. 4.2).
Таблица 4.1 – Пример оформления словаря предметной области
Существительное |
Глагол |
Прочее |
касса система билет клиент телефон адрес маршрут поезд место … |
зарегистрироваться просмотреть забронировать выбирает получает предоставляет … |
начальной курсирующих подходящий необходимый уникальный … |
После формирования словаря предметной области, на основе её данных строится объектно-ориентированный словарь предметной области. Следует учесть, что некоторые классы, свойства или методы можно ввести независимо от наличия соответствующих существительных и глаголов в предметной области. Примером может служить добавление в табл. 4.2 класса «Пользователь».
Таблица 4.2 – Пример оформления ОО словаря предметной области
Класс (сущность, актер) |
Свойство (состояние) |
Метод (функция) |
Система бронирования
|
Время хранения заказов Количество дней, за сколько разрешено бронирование Время до отправления поезда для отмены брони |
Регистрация клиента Авторизация клиента Удаление клиента Поиск заказов клиента Новая бронь Информация о поездах Выбор поезда Информация о местах Выбор места Добавление вагона Очистка базы от старых заказов Сохранение новой брони Аннулирование брони |
Пользователь |
Фамилия Имя Отчество Номер телефона Пароль доступа |
|
Продолжение таблицы 4.2
Класс (сущность, актер) |
Свойство (состояние) |
Метод (функция) |
Клиент |
Идентификатор |
Заказы клиента Новая бронь Отмена заказа |
Администратор |
Идентификатор Права доступа |
Расписание работы |
… |
… |
… |
Класс «Пользователь» был введен как базовый для классов «Клиент» и «Администратор». Необходимость в выделении базового класса вызвана тем, что и администратор и клиент имеют общие свойства. Таким образом, оптимальным вариантом является выделение базового класса, содержащего общие методы и свойства, что было и сделано при создании ОО словаря.
