Главная страница

ПЗ Авиакасса. Основные задачи проекта


Скачать 1.27 Mb.
НазваниеОсновные задачи проекта
АнкорПЗ Авиакасса
Дата13.10.2021
Размер1.27 Mb.
Формат файлаdocx
Имя файлаPZ_AviaKassa27_12_16.docx
ТипРеферат
#247097
страница5 из 7
1   2   3   4   5   6   7

Выходная информация




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

В данном проекте, выходной информацией являются:

  • результат поиска рейсов;

  • информация о рейсе;

  • результат поиска бронирования;

  • электронный билет;

  • посадочный билет.



  1. РАЗРАБОТКА ПРОГРАММНЫХ МОДУЛЕЙ



    1. Запрос на поиск рейсов




Данный программный код реализует поиск рейсов на основании введённых данных.

$DataOverJS = $_POST["dataPHP"];

$cart = json_decode($DataOverJS, true);
$query = "SELECT

`Passage`, `Departures_table`.`numDeparture`,`Plane_table`.`AirLanerName`,`DepartureAirport`, DATE_FORMAT(`Departures_table`.`DepartDate`, '%e-%c-%Y') as `DepartDate`, TIME_FORMAT(`Departures_table`.`DepartTime`, '%H:%i') as `DepartTime`, `ArrivalAirport`, DATE_FORMAT(`ArrivalDate`, '%e-%c-%Y') as `ArrivalDate`, TIME_FORMAT(`ArrivalTime`, '%H:%i') as `ArrivalTime`, TIME_FORMAT((CASE WHEN DepartTime > ArrivalTime THEN ADDTIME(TIMEDIFF('24:00:00', DepartTime), ArrivalTime) ELSE TIMEDIFF(ArrivalTime, DepartTime) END), '%H:%i') AS TravelTimes, `Economy`, `Economy_Flexible`, `Business`

FROM `Voyage_table`, `Departures_table`,`Plane_table`

WHERE Voyage_table.Passage = Departures_table.numPessage AND Voyage_table.DepartureAirport LIKE '{$cart["departure"]}%' AND Departures_table.AirLaner = Plane_table.AirLaner GROUP BY Departures_table.numDeparture";
$result = $db->query($query);

echo '





';

foreach ($result as $row) {

echo '














    1. Запрос на поиск занятых мест


C помощью данного запроса происходит обращение к базе данных, результатом которого является номера, а также количество занятых и забронированных мест.

$Depart = $_GET["number"];
$PlaceChairArr = array();

$queryChair = "SELECT Tickets_table.Chair AS Chair FROM `Tickets_table` WHERE Tickets_table.numDepart = '$Depart' AND Tickets_table.Chair IS NOT NULL";

$resultChair = $db->query($queryChair);
$Arr = array();

$i = 0;

foreach ($resultChair as $row) {

$Arr[$i] = $row["Chair"];

$i++;

}

$row_cnt_chair = array();

$row_cnt_chair[0] = $resultChair->num_rows;
$queryReserve = "SELECT * FROM `Tickets_table` WHERE Tickets_table.numDepart = '$Depart' AND Tickets_table.CodeReserv IS NOT NULL";
$resultReserve = $db->query($queryReserve);

$row_cnt_reserve = array();

$row_cnt_reserve[0] = $resultReserve->num_rows;

var_dump($result);

echo $result;

$PlaceChairArr["row_cnt_chair"] = $row_cnt_chair;

$PlaceChairArr["row_cnt_reserve"] = $row_cnt_reserve;

$PlaceChairArr["chair"] = $Arr;

echo json_encode($PlaceChairArr);
    1. Функция вывода занятых мест




Данная функция на основании запроса отмечает на графической схеме уже занятые места.

function Places(sectionReserve) {

var numDeprt;

if (sectionReserve){

var Selector = ".Reserve ";

ReserveNumDepart = $("#ID-reserve").data("info-reserve");

if (ReserveNumDepart != undefined) {

numDeprt = ReserveNumDepart.numDepart;

}

}

else {

var Selector = "#SelectChair ";

if (Total_Info.Depart != undefined) {

numDeprt = Total_Info.Depart.numDeparture;

}

}

$.ajax({

url: "/Places.php",

type: "GET",

data: ({

number: numDeprt

}),

dataType: "json",

success: function (data) {

var ArrayPlaces = data["chair"];

var countReserve = data["row_cnt_reserve"];

var countChair = data["row_cnt_chair"];

for (var i = 0; i < ArrayPlaces.length; i++) {

$(Selector+'.places-list li').eq(ArrayPlaces[i] -1).addClass("busy-place");

}

$(Selector+'.num-reserve').html('

Кол-во забронированных: '+countReserve+'
Билеты с местом: '+countChair+'

');

$(Selector+'.num-reserve').delay(1700).fadeIn('slow');

$(".places-count").append(data);

}

});

if (numDeprt == undefined){

$(Selector+'.num-reserve').html("

Не выбран рейс

");

}

}

    1. Функция выбора места




При помощи данной функции осуществляется выбор места для пассажира.

$('#SelectChair .places-list li').on('click', function () {

if (Number(Total_Info.col_passengers) >= pl) {

if (!$(this).hasClass("busy-place") && !$(this).hasClass("seat-selection")) {

$(this).addClass("seat-selection");

ArraySeats['#inp-seat_'+pl+''] = $(this).text();

AssignPlace();

pl++;

} else {

if ($(this).hasClass("seat-selection")) {

$(this).removeClass("seat-selection");

FindPL = $(this).text();

var delPL = $('.pas-seats :input').filter(function(){return this.value==FindPL}).attr('id');

ArraySeats['#'+delPL] = " ";

AssignPlace();

pl--;

}

}

} else {

if ($(this).hasClass("seat-selection")) {

$(this).removeClass("seat-selection");

FindPL = $(this).text();

var delPL = $('.pas-seats :input').filter(function(){return this.value==FindPL}).attr('id');

ArraySeats['#'+delPL] = " ";

AssignPlace();

$('.pas-seats :input').filter(function(){return this.value==FindPL }).val("");


  1. ПРОГРАММА И МЕТОДИКА ИСПЫТАНИЙ




    1. Функциональное тестирование




Тестирование программы включает в себя проверку её работы в различной среде и разных условиях с целью выявления ошибок и проверки корректности её работы.

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

Функционально тестирование можно проанализировать в тест прецеденте (таблица 4.1).
Таблица 4.1 - Тест кейсы
'.$row["DepartTime"].''.$row["ArrivalTime"].''.$row["TravelTimes"].'Прямой
Подробнее





























Действие

Ожидаемый результат

Результат теста

Тестирование авторизации

После ввода логина и пароля, должен появится дополнительный функционал.

Тестирование прошло успешно. Дополнительные функции доступны.

Тестирование функции поиска рейса

После ввода страны вылета и прибытия, должна отобразится таблица существующих рейсов

Тестирование прошло успешно. Таблица с полной информацией о рейсы была показана

Тестирование выбора рейса.

При выборе рейса и вида места, на итоговой странице должна отобразится информация о выбранном рейсе

В ходе тестирования были обнаружены ошибки. Тестирование проводилось до тех пор, пока ошибки не были устранены полностью.

Тестирование бронирования

После заполнения формы и оплаты билета, будет сгенерирован код бронирования

Тестирование прошло успешно. Код сгенерирован

Тестирование печати электронного билета

После заполнения формы и оплаты, будет вызвана печатная форма

Тестирование прошло успешно. Печать форма с данными о пассажире отображена
1   2   3   4   5   6   7


написать администратору сайта