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

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

На параметры поиска налагается одно ограничение: время вылета или прибытия не может быть указано без соответствующей даты. При нарушении этого условия появляется сообщение об ошибке (Рисунок 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