Сделай Сам Свою Работу на 5

Реализация программного обеспечения серверной части





ВВЕДЕНИЕ

В данном курсовом проекте было предложено реализовать клиент-серверное приложение «Бронирование билетов он-лайн».

Клиент-сервер — это вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемыми серверами, и заказчиками услуг, называемыми клиентами. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением.

Приложение будет представлять собой серверную часть (а именно службу) и клиентские модули. Количество клиентов не ограничено. Любой клиент может забронировать билет, выбрав при этом пункт отправления, пункт прибытия, дату отправления, количество мест и класс комфорта и обслуживания.

Данное приложение реализовано на языке программирования С++ и в среде MS Visual Studio 2008. Microsoft Visual Studio — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Visual Studio - интегрированная среда, упрощающая создание, отладку и развертывание приложений. Интегрированная поддержка разработки через тестирование и новые инструменты отладки позволяют быстро и без труда находить и устранять ошибки, обеспечивая высокое качество решений.



АНАЛИЗ ИСХОДНЫХ ДАННЫХ

1.1 Характеристика требований на разработку

Целью данного курсового проекта является реализация программы, которая предоставляет возможность регистрации авиабилетов он-лайн. Для работы с приложением необходимо запустить сервер, а затем запустить клиентское приложение, после чего клиент может выполнить бронирование билетов.

Серверная часть приложения должна быть оформлена в виде службы. Клиентская часть будет создаваться как обычное фоновое приложение.

Так же в рамках курсового проекта должна быть разработана следующая документация:

1. техническое задание (представлено в приложении А);

2. протокол тестирования (представлен в приложении Б);

3. руководство пользователя (представлено в приложении В);

4. диаграмма прецедентов (представлена в приложении Г);



5. диаграмма классов (представлена в приложении Д);

6. диаграмма взаимодействий (представлена в приложении Е);

7. диаграмма компонентов (представлена в приложении Ж);

8. диаграмма развёртывания (представлена в приложении З).

Анализ предметной области

Приложение должно иметь доступ к имеющейся информации обо всех возможных рейсах, которая размещается на сервере. Имеющаяся информация хранится в базе данных MS Access.

Сервер должен быть выполнен в виде службы. Клиент, в свою очередь, должен иметь удобный и понятный для широкого круга пользователей интерфейс.

 

Специальное и общесистемное программное обеспечение

Средой разработки курсового проекта является Microsoft Visual Studio 2008. Язык программирования – C++ на платформе .NET Framework.

Visual Studio — линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом.

.NET Framework — программная платформа, выпущенная компанией Microsoft в 2002 году. Основой платформы является исполняющая среда Common Language Runtime (CLR), способная выполнять как обычные программы, так и серверные веб-приложения. NET Framework поддерживает создание программ, написанных на разных языках программирования.

По сравнению с классическим C++, .NET Framework имеет расширенный набор компонентов для работы со службами и базами данных и содержит большой набор компонентов для построения графического интерфейса. Главной причиной работы с .NET Framework в данном курсовом проекте является работа с базами данных.



 

ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО КОМПЛЕКСА

Информационное обеспечение

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

Диаграмма прецедентов отображает поведение системы или ее части под тем углом, под каким её видит пользователь.Основная задача — представлять собой единое средство, дающее возможность заказчику, конечному пользователю и разработчику совместно обсуждать функциональность и поведение системы. На диаграмме отражены действия, которые может совершать пользователь. Диаграмма представлена в приложении Д.

Диаграмма компонентов - статическая структурная диаграмма, показывает разбиение программной системы на структурные компоненты и связи (зависимости) между компонентами. В качестве физических компонент могут выступать файлы, библиотеки, модули, исполняемые файлы, пакеты и т. п. Диаграмма представлена в приложении Е.

Диаграмма взаимодействия позволяет с разных точек зрения рассмотреть взаимодействие объектов в создаваемой системе Диаграмма представлена в приложении Ж.

Диаграмма развертывания служит для моделирования работающих узлов. Диаграмма представлена в приложении З.

 

Функциональная структура программы

Приложение разделено на две части – серверную и клиентскую. Серверная часть устанавливается на компьютер, который будет предоставлять всю необходимую информацию для бронирования билетов. Клиентская часть запускается на компьютере-клиенте. Серверная часть должна находится во включенном состоянии и ожидать подключения к ней клиента.

Сервер должен предоставлять клиенту всю необходимую информацию для бронирования билетов.

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

Передача данных в приложении осуществляется поочерёдно. Причём эти данные представляют собой строку, в которой первый бит для сервера – это результат выполнения операции (положительный либо отрицательный), а для клиента – номер операции, которую необходимо выполнить серверу. Остальная часть строки – параметры.

Параметрами для сервера является информация, которую он предоставляет клиенту (например, список городов, рейсов).

Параметрами для клиента является в одном случае строка условия для постановки в запрос выборки (при получении списков рейсов), в другом – данные о пассажирах (при сохранении данных о пассажирах).

Алгоритмическое обеспечение

Интерфейс программного комплекса и реализованные в нем алгоритмы должны иметь следующий вид. Сначала запускается сервер. После запуска он должен ожидать подключения к нему клиента. Сервер не имеет никакого графического интерфейса и его работа должна быть абсолютно не заметной для пользователя компьютера.

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

Шаг 1. Выбор пункта отправления, пункта прибытия, даты вылета, количество мест и класс комфорта и обслуживания.

Шаг 2. Выбор наиболее подходящего рейса (время отправления и время прибытия, цена за общее количество билетов, компания, предоставляющая услуги авиаперевозок).

Шаг 3. Регистрация пассажиров (Фамилия, имя, отчество, паспортные данные, место жительства).

Для завершения сеанса необходимо отключиться от сервера.

РАЗРАБОТКА И ТЕСТИРОВАНИЕ ПРОГРАММНОГО КОМПЛЕКСА

Детальная реализация функциональных частей программного обеспечения

Реализация шла на языке программирования C++ на платформе .NET Framework в среде Microsoft Visual Studio 2008. Использовались стандартные функции и библиотеки для .NET Framework.

Реализация программного обеспечения серверной части

Основу серверного приложения составляют 2 класса:

− SocketServer (класс, реализующий логику сервера);

­ DataBase (класс для работы с базой данных).

Рассмотрим каждый из них подробно. Объявление класса SocketServer

выглядит следующим образом:

public ref class SocketServer

{

private:

Socket^ listener;

IPEndPoint^ ipPoint;

int port;

DataBase^ db;

void readConfig();

public:

SocketServer();

void ServerInitialize();

void Start();

void Stop();

};

Поясним каждое из полей класса:

1. Socket^ listener - Сокет для реализации сервера;

2. IPEndPoint^ ipPoint; - Порт для прослущивания;

3. int port – номер порта;

4. DataBase^ db - Класс, реализующий работу с базой данных;

5. SocketServer() - конструктор;

6. void ServerInitialize() - Метод инициализации сервера;

7. void Start() - Метод, реализующий старт сервера;

8. void Stop() - Метод, реализующий остановку сервера;

 

Объявление класса DataBase выглядит следующим образом:

ref class DataBase

{

private:

String^ connectionString;

OleDbConnection^ myOleDbConnection;

OleDbCommand^ myOleDbCommand;

public:

DataBase(void);

void InitConnection()

void SetConnectionString(String^ value)

String^ GetCities()

String^ GetFlights(String^ param)

}

Поясним каждое из полей класса:

1. String^ connectionString - Строка подключения к базе данных;

2. OleDbConnection^ myOleDbConnection - класс для связи с базой данных;

3. OleDbCommand^ myOleDbCommand - для выполнения команд;

4. void InitConnection() - Инициализация соединения;

5. void SetConnectionString(String^ value) - установления значения строки подключения;

6. String^ GetCities() - получение списка городов;

7. String^ GetFlights(String^ param) - получение списка маршрутов;

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.