Пример выполнения семестровой работы.ppt
- Количество слайдов: 19
Пример выполнения семестровой работы Проектирование Web-узла для учета бронирования мест на авиарейсы
Постановка задачи • Небольшая авиакомпания, обеспечивающая перелеты на местных авиалиниях, собирается предоставить клиентам возможность просмотра информации о полетах и бронирования мест • Необходимо разработать систему регистрации клиентов и публикации информации о рейсах
Разработка требований • Исходная информация детализируется, вычленяются требования. • Данный этап согласовывается с заказчиком (для семестровой работы – с преподавателем)
Формирование требований • Требования указываются в виде набора коротких предложений, позволяющих детализировать область решения задачи • Требования составляются независимыми друг от друга. Изменение одного требования, не должно влиять на другое. • Требования формулируются полными и достаточно подробными. Все аспекты работы системы должны быть освещены. • Мелкие детали работы системы, не влияющие на основные задачи, описывать не нужно.
Пример функциональных требований к web узлу 1. 2. 3. 4. Посетители, не зарегистрированные на WEB-узле, могут просматривать информацию об авиарейсах, но не могут бронировать места Для бронирования мест посетителям WEB-узла необходимо заполнить регистрационную форму, в которой должны быть указаны следующие данные: имя, почтовый адрес, название компании (для корпоративных клиентов), номер телефона и факса и адрес электронной почты. На WEB-узле могут обслуживаться как корпоративные клиенты (компании), так и физические лица Посетители WEB-узла должны иметь возможность получать информацию о расписании авиарейсов
Пример функциональных требований к web узлу 5. 6. 7. 8. 9. Посетители могут бронировать места в самолете, указав номер рейса и необходимое количество мест После бронирования система должна отправлять клиенту подтверждение по электронной почте Корпоративные клиенты, часто пользующиеся услугами компании, имеют определенную скидку Заказ может быть отменен не позднее чем за неделю до вылета. При этом на счет клиента возвращается 85% стоимости билета Сотрудники компании, занимающиеся продажей авиабилетов, могут просматривать и обновлять информацию о рейсах
Разработка структуры базы данных • Исходя из требований, вырабатывается набор информационных объектов, их свойства и взаимосвязи между ними. • Построенная модель должна удовлетворять всем поставленным требованиям из постановки задачи. То есть для всех поставленных требований должны существовать данные в информационной модели.
Пример структуры реляционной базы данных Клиент Идентификатор Пароль Имя Страна Город Индекс Адрес Телефон E-mail делает (1: n) бронирует (1: 1) Бронь Клиент (ID) Номер брони Дата Рейс Количество мест Номер рейса дополняют Физическое лицо Тип банковской карты Номер карты Корпоративный клиент Название компании Корпоративная скидка Номер банковского счета Авиарейс Номер рейса Дата Пункт отправления Пункт прибытия Время отправления Время прибытия Количество мест Количество свободных мест Стоимость билета
Описание структуры реляционной базы данных • • Таблица «Клиент» хранит информацию о зарегистрированных пользователях. Запросами от их имени осуществляется бронирование информации. Все платежные и адресные данные , а также аутентификация пользователей выполняется на основе содержимого данной таблицы. Таблица «Авиарейс» содержит информацию о запланированных рейсах. Постановка задачи не требует учета приоритетности мест. Все места на один рейс считаются равноправными. При заказе билета или при покупке в кассе соответствующая запись модифицируется. Для учета бронирования мест используется таблица «Бронь» . При запросе клиента на бронь в таблице добавляется запись с уникальным номером. При возможной отмене брони информация из записи используется для проверки прав пользователя (отменить бронь может только сам клиент). Также информация о количестве забронированных мест используется при корректировке количества свободных мест на авиарейс. Объекты «Физическое лицо» и «Корпоративный клиент» дополняют информацию о клиенте. Они могут быть реализованы с помощью дополнительных таблиц с реляционным отношением 1: 1 или в качестве дополнительных полей в таблице «Клиент»
Разработка структуры web узла • Исходя из требований, вырабатывается набор страниц (как статических, так и динамических) и схемы ссылок между ними. • Построенная модель должна удовлетворять всем требованиям из постановки задачи. Т. е. все пункты требований должны быть представлены на схеме.
Пример структуры web узла Главная страница Общая информация об авиаперевозчике 1 Регистрация Форма для ввода данных записи в таблицу «Клиент» 2 Просмотр авиарейсов 3 Таблица, отфильтрованная по дате и, возможно, пункту отправления, пункту прибытия. 4 5 Аутентификация Ввод имени и пароля 6 8 Бронирование Ввод параметров брони для выбранного ранее авиарйса 7 1 Отмена брони Выбор записи для отмены брони
Описание страниц сайта • Ссылки на схеме связей узлов показывают прямые переходы между узлами. Если при переходе необходимо выполнить определенный скрипт - ссылка нумеруется. • Главная страница (статическая) – общая информация о перевозчике, юридический адрес, адрес офисов и касс. Содержит статические ссылки на страницу авиарейсов, регистрации и аутентификации клиентов. • Регистрация (статическая) – содержит форму для ввода данных о новых клиентах.
Описание страниц сайта • Аутентификация (статическая) – содержит форму для ввода логина и пароля. • Просмотр авиарейсов (динамическая) – публикация данных об авиарейсах. Вывод информации из таблицы «Авиарейсы» . Каждая запись содержит ссылки на скрипты, осуществляющие бронирование и отмену бронирования. При вызове этих скриптов им передаются методом GET параметры номера рейса, идентификатора клиента. Дополнительно к записям выводится форма для запроса даты, пунктов отправления и прибытия.
Описание страниц сайта • Бронирование (динамическая) – запрашиваются параметры брони. Часть данных (например идентификатор клиента и номер рейса) передаются скрытыми переменными (type=hidden). • Отмена брони (динамическая) – выдача всех забронированных записей из базы «Бронь» отфильтрованных по параметрам «рейс» и «идентификатор клиента» . Каждая запись выводится в виде ссылки на скрипт, удаляющий бронь, и передает методом GET номер брони. В случае если нет соответствующей брони выводится сообщение об отсутствии у клиента брони на данный авиарейс.
Пример структуры web узла Главная страница Общая информация об авиаперевозчике 1 Регистрация Форма для ввода данных записи в таблицу «Клиент» 2 Просмотр авиарейсов 3 Таблица, отфильтрованная по дате и, возможно, пункту отправления, пункту прибытия. 4 5 Аутентификация Ввод имени и пароля 6 8 Бронирование Ввод параметров брони для выбранного ранее авиарйса 7 1 Отмена брони Выбор записи для отмены брони
Описание переходов 1. Подготовка данных об авиарейсах. Готовится динамическая страница «Просмотр авиарейсов» . Данные из таблица «Авиарейсы» фильтруются на основе входных параметров. Входные параметры: «дата запроса» – используется для фильтрации данных об авиарейсах. Если не указано, по умолчанию используется дата следующего дня. «идентификатор клиента» – используется для передачи между страницами информации о зарегистрированном пользователе. Отсутствие параметра или неверный код свидетельствует об анонимности запросов. Дополнительные параметры: «Пункт отправления» и «пункт прибытия» – используется для дополнительной фильтрации на основе логического «И» . Если дополнительные параметры не указаны, запрос не фильтрует авиарейсы по пункту отправления и прибытия. 2. Проверка регистрационных данных. Введенные пользователем данные проверяются на предмет существования зарегистрированного пользователя, электронного адреса, счета в банке и т. д. Если проверка успешна, запускается переход 1 с параметром – идентификатор клиента» . Если нет, выполняется переход на страницу ввода регистрационных данных. Входные параметры: Данные формы из формы регистрация. Они соответствуют полям таблицы клиент.
Описание переходов 3. Подготовка данных об авиарейсах. Является эквивалентом 1 -ого перехода. Переходы 1 и 3 синонимы. 4. Подготовка формы для бронирования мест. Форма генерируется со скрытыми полями «Идентификатор клиента» и «номер рейса» . Если «идентификатор клиента» или «номер рейса» неверный, генерируется соответствующее сообщение со ссылкой на переход 1 Входные параметры: «Идентификатор клиента» и «номер рейса» . Передаются методом GET по ссылке соответствующей записи о рейсе на странице «Авиарейсы» 5. Выборка записей о существующей брони на данного клиента и выбранного им авиарейса. Если выборка пустая выдается соответствующее предупреждение. Входные параметры: «Идентификатор клиента» и «номер рейса» . Передаются методом GET.
Описание переходов 6. Проверка регистрации клиента и его пароля. Если данные верны вызывается переход 1 для подготовки данных об авиарейсах. Переходу передается найденный «Идентификатор клиента» . Если пароль не удается проверить, переход пересылает на повторный ввод логина и пароля. Входные параметры: «Имя клиента» и «пароль» . Передаются методом POST по ссылке из формы «Аутентификация» . 7. Осуществляет проверку и запись в таблицу «Бронь» . Вычисляется сумма и она списывается со счета клиента. Выдается соответствующее сообщение по электронной почте. После этого вызывает переход 1 для подготовки списка авиарейсов. Входные параметры: Данные из формы «Бронирование» .
Описание переходов 8. Отмена брони. Осуществляет проверку введенных данных о броне. Если данные верны, удаляется запись в таблице «бронь» и корректируется поле «Количество свободных мест» в таблице «Авиарейс» . 85% уплаченной суммы возвращается клиенту. Выдается соответствующее сообщение по электронной почте. После этого вызывает переход 5 для подготовки списка бронирования для данного клиента. Ему передаются параметры о текущем рейсе и клиенте. Входные параметры: «Номер брони» , «Номер авиарейса»
Пример выполнения семестровой работы.ppt