Автор работы: Пользователь скрыл имя, 30 Января 2013 в 10:40, курсовая работа
В процессе выполнения курсового проекта было изучено понятие информационной системы, выявлены основные классификации ИС.
Было проведено исследование уже существующих информационных систем гостиниц и отелей. На их основе мной была создана информационно-поисковая автоматизированная информационная система “Отель”. Программа автоматизирует работу сотрудника отеля. В программе реализованы ввод и хранение информации о постояльцах гостиницы, информация о состоянии номеров, услугах которые предоставляются клиентам гостиницы, также осуществляются функции поиска информации в базе данных по различным критериям. Формируются отчёты о клиенте и суммарной стоимости проживания его в номере.
Содержание
ВВЕДЕНИЕ 2
ГЛАВА 1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ. ПОНЯТИЕ И СТРУКТУРА ИС 4
1.1. ПОНЯТИЕ ИС 4
1.2. КЛАССИФИКАЦИЯ ИНФОРМАЦИОННЫХ СИСТЕМ 7
1.3. ОБЗОР СОВРЕМЕННЫХ АИС ГОСТИНИЦ 10
ГЛАВА 2. ПРАКТИЧЕСКАЯ ЧАСТЬ. РАЗРАБОТКА АИС ГОСТИНИЦЫ 15
2.1. ПОСТАНОВКА ЗАДАЧИ 15
2.2. ВЫБОР СРЕДЫ РАЗРАБОТКИ И ЯЗЫКА ПРОГРАММИРОВАНИЯ 16
2.3. ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЮ 25
2.4. ИНСТРУКЦИЯ ПРОГРАММИСТУ 30
ЗАКЛЮЧЕНИЕ 35
СПИСОК ЛИТЕРАТУРЫ 36
ПРИЛОЖЕНИЕ A 37
ПРИЛОЖЕНИЕ Б 48
- Отсутствие поддержки свойства «=»
- Использование указателей
- Высокая избыточность
В опубликованном Кристофером Дейтом и Хью Дарвеном Третьем Манифесте они излагают принципы СУБД следующего поколения и предлагают язык Tutorial D, который является подлинно реляционным.
Хотя SQL и задумывался как средство работы конечного пользователя, в конце концов он стал настолько сложным, что превратился в инструмент программиста.
Несмотря на наличие международного стандарта ANSI SQL-92, многие компании, занимающиеся разработкой СУБД (например, Oracle, Sybase, Microsoft, MySQL AB), вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом, появляются специфичные для каждой конкретной СУБД диалекты языка SQL.
Ранее диалекты SQL большинства СУБД не предлагали способа манипуляции древовидными структурами. Некоторые поставщики СУБД предлагали свои решения (например, Oracle использует выражение CONNECT BY). В настоящее время в ANSI стандартизована рекурсивная конструкция WITH из диалекта SQL DB2. В MS SQL Server рекурсивные запросы появились лишь в версии MS SQL Server 2005.
C++ — компилируемый статически типизированный язык программирования общего назначения. Поддерживая разные парадигмы программирования, сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования. Название «C++» происходит от языка C, в котором унарный оператор ++ обозначает инкремент переменной.
Являясь одним из самых популярных языков программирования, C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (например, видеоигры). Существует несколько реализаций языка C++ — как бесплатных, так и коммерческих. Их производят Проект GNU, Microsoft, Intel и Embarcadero (Borland). C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.
При создании C++ Бьёрн Страуструп стремился
сохранить совместимость с
Достоинства
C++ — чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения. В частности:
Критика
Операция присваивания обозначается как =, а операция сравнения как ==. Их легко спутать, при этом операция присваивания возвращает значение, поэтому присваивание на месте выражения является синтаксически корректным, а в конструкциях цикла и ветвления появление числа на месте логического значения также допустимо, так что ошибочная конструкция оказывается синтаксически правильной.
Ошибки такого рода трудно выявлять, но во многих современных компиляторах предлагается диагностика некоторых подобных конструкций.
Операции присваивания (=), инкрементации (++), декрементации (--) и другие возвращают значение. В сочетании с обилием операций это позволяет, хотя и не обязывает, создавать трудночитаемые выражения.
Некоторые преобразования типов неинтуитивны. В частности, операция над беззнаковым и знаковым числами выдаёт беззнаковый результат.
Многие конструкции С++ позволяют делать то же самое, что и конструкции C, также присутствующие в С++. Это иногда сбивает с толку новичков.
C++ позволяет пропускать break в ветви оператора switch с целью последовательного выполнения нескольких ветвей. Такой же подход принят в языке Java. Есть мнение, что это затрудняет понимание кода. Например, в языке C# необходимо всегда писать либо break, либо использовать goto case N для явного указания порядка выполнения.
Макросы (#define) являются мощным, но опасным средством. Они сохранены в C++ несмотря на то, что необходимость в них, благодаря шаблонам и встроенным функциям, не так уж велика. В унаследованных стандартных C-библиотеках много потенциально опасных макросов.
Препроцессор, унаследованный от C, очень примитивен. Это приводит с одной стороны к тому, что с его помощью нельзя (или тяжело) осуществлять некоторые задачи метапрограммирования, а с другой, вследствие своей примитивности, он часто приводит к ошибкам и требует много действий по обходу потенциальных проблем. Некоторые языки программирования (например, Scheme и Nemerle) имеют намного более мощные и более безопасные системы метапрограммирования (также называемые макросами, но мало напоминающие макросы C/C++).
Плохая поддержка модульности. Подключение интерфейса внешнего модуля через препроцессорную вставку заголовочного файла (#include) серьёзно замедляет компиляцию при подключении большого количества модулей.
Метапрограммирование на основе шаблонов C++ сложно и при этом ограничено в возможностях. Оно состоит в реализации средствами шаблонов C++ интерпретатора примитивного функционального языка программирования, выполняющегося во время компиляции. Сама по себе данная возможность весьма привлекательна, но такой код весьма трудно воспринимать и отлаживать.
Явная поддержка функционального программирования присутствует только в будущем стандарте C++0x. Данный пробел устраняется различными библиотеками (Loki, Boost), использующими средства метапрограммирования для расширения языка функциональными конструкциями, но качество подобных решений значительно уступает качеству встроенных в функциональные языки решений.
Некоторые считают недостатком языка C++ отсутствие встроенной системы сборки мусора. С другой стороны, средства C++ позволяют реализовать сборку мусора на уровне библиотеки. Противники сборки мусора полагают, что RAII является более достойной альтернативой. С++ позволяет пользователю самому выбирать стратегию управления ресурсами.
Для того чтобы запустить программу необходимо дважды щёлкнуть левой клавишей мыши по ярлыку “Отель”, либо запустить исполняемый файл “Project1.exe” в папке “Отель”. Главное окно программы выглядит следующим образом.
Рис. 3. Главное окно программы “Отель”
В данном окне располагаются две таблицы: таблица “список постояльцев гостиницы” и таблица “услуги оказанные постояльцам”. В первой таблице вводится регистрационная информация о новом постояльце, таблица состоит из следующих полей: Фамилия, имя, отчество, серия и номер паспорта (вводится без пробелов), дата заселения, дата отъезда, вид номера, номер и стоимость проживания. Под таблицей находится панель инструментов, облегчающая работу с таблицей, а именно удаление и добавление записей, пролистывание записей, сохранение и отмена. Также для этой таблицы существует группа полей для осуществления поиска. Поиск по фамилии или виду номера, поддерживают функцию частичного совпадения, что облегчает работу с программой. Поиск по паспорту или по номеру осуществляется только при полном совпадении.
В таблицу “услуги оказанные постояльцам” заносятся данные об дополнительно оказанных услугах, не входящих в стоимость проживания в номере. Таблица содержит следующие поля: ФИО, серия и номер паспорта, услуга, стоимость услуги. У этой таблицы также есть своя панель инструментов, а также две функции поиска: по номеру паспорта и по названию услуги. Поиск по услуге использует метод частичного совпадения.
Теперь рассмотрим более подробно процесс занесения данных в таблицу, начнём с таблицы регистрации. Данные в поля фамилия, имя, отчество, серия и номер паспорта, даты приезда и отъезда вносятся вручную. При выборе вида номера, необходимо щёлкнуть левой клавишей мыши по данному полю перед нами открывается окно в котором содержится таблица “виды номеров”.
Рис. 4. Таблица “Виды номеров”
Таблица состоит из двух полей: вид номера и стоимость проживания в данном номере в сутки. Под таблицей находится уже привычная нам панель инструментов для работы с таблицей. После того как пользователь выбрал нужную ему запись необходимо нажать на кнопку “записать”., после этого форма автоматически закроется. Далее в основной таблице щёлкаем по полю номер и перед нами открывается окно с таблицами свободных номеров.
Рис. 5. Таблицы номера
В окне располагаются таблицы со списком свободных номеров для каждого вида номера. В зависимости от выбранного до этого вида номера, выбираем в соответствующей таблице номер и жмём кнопку записать, после этих действий выбранные номер пропадёт из списка свободных и отобразиться для редактируемой в данный момент записи в основной таблице.
После того, как были заполнены все поля в поле стоимость проживания автоматически вычислится сумма проживания из расчета количество дней, умноженное на стоимость проживания в данном номере в сутки.
В таблицу услуги постояльцам данные вносятся аналогичным образом, подставляемым полем является поле услуга, при нажатии на него откроется окно с таблицей выбора услуги.
Рис. 6. Таблицы “Виды услуг”
После того как вся информация о клиенте была введена наступило время формирования отчёта. Для этого необходимо выбрать в левом верхнем углу пункт таблицы и из выпадающего меню пункт отчёты. Также здесь располагаются пункты позволяющие осуществить переход ко всем таблицам программы.
Рис. 7. Таблица “Отчёты”
Таблица отчёты содержит все поля основной таблицы регистрации, а также поля суммарная стоимость услуг и итого. Для того чтобы сформировать отчёт необходимо ввести в специально отведённое поле под таблицей серию и номер паспорта без пробелов, чтобы однозначно идентифицировать клиента, по которому необходимо создать отчёт. После этого необходимо нажать кнопку сформировать отчёт. Программа произведёт поиск в базе данных и при удачном совпадении, выведет информацию о клиенте, подсчитает стоимость проживания и суммарную стоимость услуг, которыми воспользовался клиент, а также выдаст общую сумму в поле итого.
Информация о работе Разработка автоматизированной информационной системы «Отель»