Автоматизированная система бронирования авиабилетов
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
На параметры поиска налагается одно ограничение: время вылета или прибытия не может быть указано без соответствующей даты. При нарушении этого условия появляется сообщение об ошибке (Рисунок 6).
Рисунок 6 - Сообщение об ошибке
Выбрав рейс, пользователь может сделать заказ на некоторое количество билетов первого и/или второго класса. Для этого ему необходимо на странице Orders указать нужное количество билетов и номер кредитной карты. Информацию о заявке невозможно будет сохранить, пока он не укажет количество билетов, не превышающее число свободных мест заданного класса и корректный номер кредитной карты (16 цифр). В случае неправильного заполнения полей система выводит соответствующие сообщения. (Рисунок 7) Эти надписи остаются видимыми до тех пор, пока ошибка не будет исправлена.
Рисунок 7 - Страница Orders
Если введенная информация корректна, то в таблицу Orders добавляется новая запись, ассоциированная с текущим пользователем системы и выбранным рейсом.
Администратору системы предоставляются расширенные возможности. В частности, он имеет доступ к странице просмотра списка пользователей с возможностью их удаления. Единственное ограничение в данном случае - это попытка удаления самого администратора. При этом выдается сообщение об ошибке. При удачном удалении появляется сообщение об успешном удалении (Рисунок 8)
Рисунок 8 - Удаление пользователя посредством интерфейса страницы Users
Кроме этого администратор может добавлять рейсы - на странице AddingFlight (Рисунок 9) и редактировать информацию по выбранному рейсу на странице EditFlight (Рисунок 10). На этих обязательно заполнение всех полей. Также проверяется, чтобы: не совпадали указанные город вылета и прибытии; значения, введенные в поля цены за билеты были положительными числами; дата прибытии была бы больше даты вылета. Если хотя бы одно из этих условий нарушается, выводится сообщение об ошибке. В случае корректного ввода информация сохраняется в базе данных и система сообщает пользователю об успешно выполненной операции.
Рисунок 9 - Страница добавления рейса
Рисунок 10 - Страница редактирования рейса
Заключение
В рамках данной курсовой работы была разработана система бронирования авиабилетов: спроектирована база данных для MS SQL Server 2005, а так же реализованы слой доступа к данным и WEB-интерфейс. При проектировании базы данных акцент делался на серверную часть. На стороне сервера были применены индексы, хранимые процедуры, функции, триггеры, представления. Клиентская часть была реализована посредством языка С# на платформе.NET. В частности: доступ к данным был обеспечен провайдером ADO.NET, а WEB-интерфейс построен с помощью ASP.NET. Дополнительно при реализации WEB-представления были использованы HTML, CSS, JavaScript, AJAX.
В итоге, в соответствии с поставленной задачей, мы получили систему бронирования авиабилетов. Данное приложение предоставляет удобный, интуитивно понятный интерфейс для клиентов компании. Кроме того, администратор получает возможность выполнять многие операции по сопровождению системы: по добавлению, удалении, редактированию пользователей, рейсов, заказов посредством того же (но уже расширенного в соответствии с его ролью) WEB-интерфейса.
Список использованных источников
1.Жилинский А.А. Самоучитель Microsoft SQL Server 2005 - СПб.: БХВ-Петербург, 2007. - 224 с.
2.Рихтер ДЖ. CLR via C#. Программирование на платформе.NET Framework 2.0 на языке С#. Мастер-класс./ Пер. с англ. - М.: Издательство Русская редакция; СПб.; Питер, 2007. - 656 с.
3.Экспозито Д. Microsoft ASP.NET 2.0. Базовый курс. Мастер-класс/ Пер. с англ. - М. Издательство Русская редакция; СПб.; Питер, 2007. - 688 с.
4.Экспозито Д. Microsoft ASP.NET 2.0. Углубленное изучение/ Пер. с англ. - М. Издательство Русская редакция; СПб.; Питер, 2007. - 592 с.
5.Microsoft Corporation. Проектирование и реализация баз данных Microsoft SQL Server 2000. Учебный курс MCAD/MSCE, MCDMA/ Пер. с англ. - 2-е изд., испр. - М.: Издательско-торговый дом Русская редакция, 2003. - 512с.
Приложение А
Скрипт для создания базы данных
CREATE DATABASE [Group0703b]
GO
USE [Group0703b]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N[dbo].[Companies]) AND type in (NU))
BEGIN
CREATE TABLE [dbo].[Companies](
[CompanyID] [int] IDENTITY(1,1) NOT NULL,
[CompanyName] [nvarchar](40) NULL,
CONSTRAINT [PK_Companies] PRIMARY KEY CLUSTERED
(
[CompanyID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N[dbo].[Users]) AND type in (NU))
BEGIN
CREATE TABLE [dbo].[Users](
[UserID] [int] IDENTITY(1,1) NOT NULL,
[UserLogin] [nvarchar](20) NOT NULL,
[Password] [nvarchar](20) NOT NULL,
[Email] [nvarchar](50) NULL,
CONSTRAINT [PK_Users_1] PRIMARY KEY CLUSTERED
(
[UserID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N[dbo].[Cities]) AND type in (NU))
BEGIN
CREATE TABLE [dbo].[Cities](
[CityID] [int] IDENTITY(1,1) NOT NULL,
[CityName] [nvarchar](40) NULL,
CONSTRAINT [PK_Cities] PRIMARY KEY CLUSTERED
(
[CityID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N[dbo].[Aircrafts]) AND type in (NU))
BEGIN
CREATE TABLE [dbo].[Aircrafts](
[AircraftID] [int] IDENTITY(1,1) NOT NULL,
[AircraftModel] [nvarchar](40) NULL,
[Count1] [int] NULL,
[Count2] [int] NULL,
CONSTRAINT [PK_Aicrafts] PRIMARY KEY CLUSTERED
(
[AircraftID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER