Мегаобучалка Главная | О нас | Обратная связь


Функциональность разработанной системы



2015-12-08 539 Обсуждений (0)
Функциональность разработанной системы 0.00 из 5.00 0 оценок




Правительство Российской Федерации

Государственное образовательное бюджетное учреждение

Высшего профессионального образования

Национальный Исследовательский Университет «Высшая школа экономики»

 

Факультет бизнес-информатика
Кафедра корпоративных информационных систем

Курсовая работа

на тему «Разработка справочной системы расписания самолётов / The Development Of The Help System Of An Aircraft Schedule»

 

 

Студентка группы № 174

Кузнецова Юлия Викторовна

 

Научный руководитель

Грекул В.И.

к.т.н., профессор

 

 

Москва

Оглавление

1. Введение…………………………………………………………………………….…………3

1.1. От автора

1.2. Аннотация

 

2. Область применения…………………………………………………………………………..3

2.1. Описание области автоматизируемой системы

2.2. Описание процессов, составляющих систему

 

 

3. Функциональность разработанный системы………………………………………………..5

3.1. Требования, стоящие перед программистом к создаваемой программе

3.2. Описание разработанной системы

2.2.1.Функции, реализованные в приложении.

2.2.2. Описание интерфейса программы.

 

4. Структура программы……………………………………………………………………...10

4.1. Диаграмма классов

4.2. Диаграмма кооперации

4.3. Описание структуры программы

 

5. Контрольный пример работы программы………………………………………………….13

 

6. Список литературы……………………………………………………………..……………19

 

7. Приложение (исходный код программы)…………………………………………………..19

 

 

Введение

 

1.1. От автора

 

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

И напоследок, приятного пользования!

 

1.2. Аннотация

 

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

 

Характеристика основной темы:

1) созданная система должна быть точной и информативной;

2) разработанное приложение должно носить прикладной характер и быть удобным для пользования всем участникам процесса пассажирской перевозки.

 

Проблемы объекта автоматизации:

1) малая информативность;

2) малая функциональность;

3) программный сбой;

4) человеческий фактор.

 

Результаты: разработана отлаженная система расписания пассажирских перевозок, создано графическое приложение «Система расписания самолётов».

 

Область применения

2.1. Описание области автоматизируемой системы

 

Областью моего изучения в глобальном смысле является гражданская авиация.

 

Гражда́нская авиа́ция [1] — авиация, используемая в целях обеспечения потребностей граждан.

 

К этим целям относится:

· перевозка пассажиров, багажа, груза и почты;

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

· оказание медицинской помощи населению и проведение санитарных мероприятий;

· проведение экспериментальных и научно-исследовательских работ;

· проведение учебных, культурно-просветительных и спортивных мероприятий.

 

Однако, данная работа не охватывает столь широкую область. Более точное направление моей деятельности - это создание системы расписания пассажирских перевозок. Не лишним будет сказать, что данная система должна работать четко и отлаженно, так как ее пользователями являются множество людей. Ежедневно в мире совершаются тысячи пассажирских полетов. В процесс полета в среднем вовлечены не менее 500 человек: экипаж, пилоты, пассажиры и встревающие в аэропорту. Большое скопление людей чревато. Помимо человеческого фактора, это ресурсозатратно. Например, для координации человеческих масс нужен многочисленный штат охранников.

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

 

2.2. Описание процессов, составляющих систему

 

Субъектом деятельности является человек, объектом - информация о рейсе. То есть, все процессы системы направлены на работу с информацией: создание, передачу, сохранение и чтение.

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

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

Подпроцессы сохранения информации в файл: обработка информации о полетах (двоичная сериализация), а также открытие и закрытие потока (рис.3).

Подпроцессами открытие файла являются открытие и закрытие потока, проверка входных данных и преобразование их в информацию для пользователя программы (рис.4).

 

Функциональность разработанной системы

3.1. Требования, стоящие перед программистом к создаваемой программе:

 

1) создание информационной системы расписания пассажирских полетов и написание инструкции к ее применению;

2) функциональность:

· создание базы данных;

· сохранение базы данных в файл;

· чтение базы данных из файла;

· поиск информации, удовлетворяющей критериям поиска;

3) сдержанный дизайн;

4) проверка входных данных;

5) защита информации администратора паролем.

 

3.2 Описание разработанной системы

 

3.2.1. Функции, реализованные в приложении:

 

1) создание базы данных рейсов: добавление новых (чартерных и регулярных), редактирование и удаление уже существующих, а также чтение базы из файла и ее сохранение в любое удобное место на компьютере (деятельность администратора справочной системы);

2) возможность поиска рейсов по интересующим критериям (город вылета, город прилета, дата вылета, или, другими словами, по популярным параметрам поиска рейсов: "откуда", "куда" и/или "когда");

3) защита профиля администратора паролем и возможность его редактирования;

4) проверка корректности входных данных;

5) получение информации о том, как правильно использовать программу, и о ее авторе;

6) сортировка базы данных в алфавитном порядке по номеру рейса.

 

3.2.2. Описание интерфейса программы

 

В приложении есть 5 форм, из которых ключевую роль играют 3: главная форма – окно идентификации пользователя, формы администратора и пользователя.

 

Изначально нам открывается главная форма «Справочная система полетов» (рис.5а), на которой есть 3 кнопки: «Пользователь», «Администратор» и «Автор работы». На фоне – изображение самолета.

Если зафиксировать курсор на «Администраторе», будет показана подсказка, что пользователь выбирает «Создание базы данных», а после нажатия откроется элемент интерфейса passwordbox (рис.5б), при наведении на который выдается подсказка “Введите пароль”. Стандартный пароль – “hsepassword”, который в последствие можно поменять. Если пароль введен верно, то открывается форма администратора (рис.6), в которой можно создавать новые и вносить изменения в уже существующие рейсы.

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

 

Последняя кнопка главной формы – это «Автор», которая после использования открывает форму с информацией об авторе программы (ФИО, ВУЗ, номер группы, год написания), его фотографией и заявлением об авторских правах «All rights reserved©» (рис.8), а также наличием кнопки «Закрыть», которая возвращает пользователя на главную форму.

Форма администратора представляет собой большое окно (1050х500), имеющее 11 textbox'ов, 2 datepicker'a, 2 checkbox’a (для выбора регулярным или чартырным является рейс) и 2 combox (у администратора есть возможность выбора статуса рейса из 4 возможных и одного из 12 месяцев в случае регулярного рейса), в которые можно вводить все характеристики рейса. Также на форме есть панель меню с различным функционалом: кнопка "Файл" представляет собой набор из функций "Назад"(вернуться на главную форму), "Новый" (очистить базу данных системы),"Открыть" (загрузить базу данных из файла) и "Сохранить" (сохранить созданную базу данных в любое место на компьютере) и "Пароль" (сменить пароль для входа в профиль администратора); кнопка "Правка" работает исключительно с данными, ее функционал - это добавление, редактирование и удаление данных из базы данных. Те же функции, что "Правка" выполняет панель кнопок справа от панели textbox'oв.

Чтобы администратору было понятно, как правильно заполнять textbox’ы во время формирования базы, он имеет возможность прочесть сводку об этом (рис. 9) Информационная кнопка находится справа от панели редактирующих данные кнопок.

Вся информация, отсортированная в алфавитном порядке по номеру рейса, выводится на экран через таблицу datagrid внизу формы.

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

Форма (рис. 10), которая вызывается через панель меню ("Файл" - "Пароль") имеет возможность редактирования пароля для входа в систему администратора. Чтобы изменить пароль, нужно ввести старый, и при условии, что он корректен, у администратора будет возможность изменить пароль на новый. Либо же можно просто закрыть форму редактирования пароля и оставить уже существующий.

Форма пользователя также представляет собой большое окно, на котором есть 2 textbox'a, отвечающие за поля город вылета (всплывающая подсказка “Откуда”), город прилета (всплывающая подсказка “Куда”), и datepicker (всплывающая подсказка “Когда”), отвечающий за поле даты вылета. Пользователь вводит нужную информацию и нажимает на кнопку "Поиск". Если вся введенная информация совпадает с характеристиками рейсов, то список, удовлетворяющий условиям поиска, выводится в таблицу datagrid. Также, при нажатии кнопки "Полный список", пользователь сможет увидеть' всю базу данных рейсов. Для удобного ипользования программы на форме есть кнопка "Назад", возвращающая пользователя на главную форму, и кнопка, которая меняет информацию в textbox'ax друг с другом для продуктивного поиска. Если поиск не дал результатов, то будет выдано сообщение, что таких рейсов не существует. На фоне формы – изображение самолета.

 

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

 

Отличительным знаком программы является изображение самолета на иконке проекта (рис.12).

 

Структура программы

 

4.1. Диаграмма классов

 

 

 
 

 

 


 

 

4.2. Диаграмма кооперации

 

 

 

 

4.3 Описание структуры программы

 

 

Прежде всего стоит сказать, что в программе 5 форм и 8 классов. Каждая форма соответственно связана со своим классом, которые выполняют функцию связи интерфейса и функционала. В трех оставшихся классах содержится основная логика программы.

 

Поэтому я начну с описания именно этих классов.

 

1) Utilities.cs выполняет функцию проверки корректности входных данных. Этот класс публичный (public) и содержит 6 публичных статических метода: возвращающие string строки - InputString (проверка string данных), InputDate (проверка DateTime данных в окне Администратора) и InputTime (проверка правильности введенного времени в строковом формате), а также возвращающий DateTime лист дат – InputDayWeek(преобразование строки, номера месяца и года в дату), InputDateUser(проверка DateTime данных в окне Пользователя), InputYear(проверка правильности введенного года).

 

Методы:

· public static string InputString(string stringFormat) – return string data;

· public static string InputDate(string stringFormat) – return string date;

· public static string InputTime(string stringFormat) – return string time;

· public static List <DateTime> InputDayWeek(string stringFormat, int index, int year) - return List <DateTime> WeekDaysDateTime;

· public static string InputDateUser(string stringFormat) – return string date;

· public static int InputYear(string stringFormat) – return int year.

 

2) Manager.cs выполняет всю обратку информации в приложении. Именно в этом классе подсчитываются, формируются и добавляются данные, а также осуществляется их поиск в массиве рейсов.

 

Методы:

· public void AddFlight(Flight newFlight) – выполняет функцию проверки наличия рейса в базе данных, при отрицательном результате добавляет его в базу данных;

· public void NewFile(bool answer) – выполняет функцию очистки базы данных;

· public void Delete(int index) – выполняет функцию удаления выбранного рейса из базы данных;

· public void Save(Stream stream) – выполняет функцию сохранения (двоичная сериализация) базы данных в определенный файл в проекте;

· public void Open(Stream stream) – выполняет функцию открытия (двоичная десериализация) базы данных из файла, находящегося в любой папке на рабочем компьютере с помощью OpenFileDialog;

· public void Search(string cityD, string cityA, string date) – выполняет функцию поиска рейсов по заданным критериям;

· public void NewPassword(string newPassword) – выполняет функцию обработки и сохранения нового пароля;

· public void LoadPassword() – выполняет функцию загрузки рабочего пароля администратора из бинарного файла;

· public string Password() – метод, возвращающий действующий пароль администратора;

· public List<Flight> SearchFlights – метод, возвращающий массив найденных по критериям поиска рейсов,

· public List<Flight> Flights – метод, возвращающий массив базы данных рейсов.

Библиотеки, которые используются в этом классе (помимо автоматически сгенерированных):

· using System.IO (потоковое сохранение);

· using System.Runtime.Serialization.Formatters.Binary (двоичная сериализация).

 

3) Flight.cs – публичный класс, который формирует базу данных рейсов. В нем есть 12 полей всех характеристик рейса и соответствующие им 12 свойств, которые можно увидеть на рисунке № 14. Также в нем есть 2 метода:

· public Flight(string number, string aircraft, string airline, string cityD, string airportD, string timeD, string dateD, string cityA, string airportA, string timeA, string dateA, string status) – конструктор рейса;

· public static int CompareByNumber(Flight flight1, Flight flight2) – сортировка рейсов в алфавитном порядке по номеру.

 

Библиотеки, используемые в этом классе (помимо автоматически сгенерированных):

· using System.Collections – использование системных коллекций;

· using System.Runtime.Serialization – сериализация данных;

 

4) В моей программе есть 5 форм, интерфейс которых прописан на языке разметки XAML: Administrator.xaml, Author.xaml, Identification.xaml, Password.xaml и User.xaml.

 

Логика всех объектов интерфейса соответственно прописана в публичных partial классах, которые автоматически создаются при добавлении новой формы.

 

Характеристика Administrator.xaml.cs:

· 4 поля, среди которых логические (bool) переменные flag, visible и invisible для правильной работы интерфейса, а также ссылка на класс Manager;

· 16 методов, которые можно увидеть на рисунке № 14, они обрабатывают события элементов интерфейса, в их составе есть как private, так и public void методы, private – автоматически создаваемые методы во время присвоения элементу интерфейса события (функции), остальные – public (инициализирующий форму Administrator и созданные автором программы методы с целью красивого представления окна модератора администратору системы), delegate void SerializeFunction (приимает на вход поток и определяет функцию сериализации или десериализации).

 

Характеристика Author.xaml.cs:

· 2 методов, которые можно увидеть на рисунке № 14, Exit_Click обрабатывает событие нажатия на кнопку Exit (private void), а Author инициализирует форму.

 

Характеристика Identification.xaml.cs:

· 1 поле - ссылка на класс Manager;

· 6 методов, которые можно увидеть на рисунке № 14, они обрабатывают события элементов интерфейса, в их составе есть как private, так и public void методы (private – автоматически создаваемые методы во время присвоения элементу интерфейса события (функции), остальные – public (MainWindow инициализирует форму, остальные 5 созданы с целью красивого представления главной формы пользователю программы)).

 

Характеристика Password.xaml.cs (NewPassword):

· 1 поле - ссылка на класс Manager;

· 4 метода, которые можно увидеть на рисунке № 14, 2 из них (Edit_Click и Grid_KeyDown) обрабатывают события элементов интерфейса: кнопки и считывание текста при нажатии кнопки Enter соответственно (private void), и 1 public метод NewPassword, инициализирующий форму Password и 1 public void EditPassword метод для обработки правильности формата введенных паролей.

 

Характеристика User.xaml.cs:

· 1 поле - ссылка на класс Manager;

· 13 методов, которые можно увидеть на рисунке № 14, они обрабатывают события элементов интерфейса (кнопок) – private void, инициализируют форму – public User, связывают логику и интерфейс - public и private void, а также delegate void SerializeFunction (приимает на вход поток и определяет функцию десериализации).

 

 



2015-12-08 539 Обсуждений (0)
Функциональность разработанной системы 0.00 из 5.00 0 оценок









Обсуждение в статье: Функциональность разработанной системы

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (539)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)