Разработка информационной системы “Гостиница”

Автор работы: Пользователь скрыл имя, 14 Июля 2013 в 17:17, курсовая работа

Описание работы

Использование баз данных и информационных систем становится неотъемлемой составляющей деловой деятельности современного человека и функционирования преуспевающих организаций. В связи с этим большую актуальность приобретает освоение принципов построения и эффективного применения соответствующих технологий и программных продуктов: систем управления базами данных, CASE-средств автоматизации проектирования и других.

Файлы: 1 файл

Proektirovanie_i_razrabotka_informatsionnoy_sist.doc

— 2.28 Мб (Скачать файл)

Если в процессе моделирования  нужно осветить специфические стороны  технологии предприятия, BPwin позволяет переключиться на любой ветви модели на нотацию IDEF3 или DFD и создать смешанную модель.

1.2.1 Диаграммы потоков данных (Data Flow Diagramming)

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

На рис. 6 представлена “Диаграммы декомпозиции в нотации DFD. Резервирование номеров.”, описывающая деятельность по резервированию номеров. На диаграмме представлены:

1) “Клиента” и ”Персонал ” – это внешние ссылки, источник данных из вне модели.

2)  “Устав гостиницы” и ”Данные о номерах гостиницы” – хранилища данных.

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

Рис.  6 Диаграммы декомпозиции в нотации DFD. Резервирование номеров.

 

В отличие от стрелок IDEF0, которые представляют собой жесткие взаимосвязи, стрелки DFD показывают, как объекты (включая данные) двигаются от одной работы к другой. Например, “Заказ” в какой-либо форме (телеф. звонок или электрон. письмо на адрес гостиницы), приходит от клиента и инициирует процедуру “Обработки заказа” . Эту процедуру выполняет “Персонал”, в чьи обязанности это входит. Персонал запрашивает “Данные о номерах” из хранилища данных (гостиничный журнал или электрон. БД) и, согласуясь с “Правилами предоставления номеров” (содержащимися в уставе гостиницы ), отказывает клиенту в резервировании номера  или:

ü     резервирует номер;

ü     после “оформления заказа номера” обновляет данные о номерах – заносит “Обновленные данные о номерах” в хранилище “Данных о номерах гостиницы”.

1.2.2 Диаграммы методологии IDEF3 (Workflow Diagramming)

Для описания логики взаимодействия информационных потоков более подходит workflow diagramming (Маклаков С.В. “Создание информационных систем с AllFusion Modeling Suite”). Диаграммы Workflow могут быть использованы в моделировании  бизнес-процессов для анализа завершенности процедур обработки информации.

На Диаграмме декомпозиции в нотации IDEF3. Проверка счетов. (на рис. 7) иллюстрируется ”Проверка счетов”. Эту деятельность мы почти полностью автоматизируем в нашем клиентском приложении.

Как только счет запрошен, запускаются все последующие  за перекрестком (AND) процессы:

ü     “Формирование счета за тел. переговоры”;

ü     “Формирование счета за услуги”;

ü     запускается “Анализ сроков пребывания” постояльца в гостинице, по окончании которого запускается процесс “Формирования счет за проживание”, учитывающий в своей работе “Результаты анализа”.

“Учет” – это стрелка  отношения (Relational Link). Мы использовали ее  для изображения связи между процессом “Формирования счета за проживание” объектом ссылки “Внесенная предоплата”, учет которого важен для результатов процесса.

Стрелки с двумя наконечниками: “Счет за проживание”, “Счет за тел. переговоры” и “Счет за услуги” – обозначают потоки объектов (Object Flow). В данном случае, мы их применяем  для описания того факта, что эти объекты порождается в одной работе(“Формирование счета…”) и используется в процессе “Формирования итогового счета”.

В ходе курсового проектирования мы автоматизируем работы 2, 3, 4, 5

Рис.  7 Диаграммы декомпозиции в нотации IDEF3. Проверка счетов.

 

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

На рис. 9 представлено итоговое расположение работ в дереве узлов:

ü      диаграмма “Функционирование гостиницы” – 1-ый уровень дерева узлов (top level activity);

ü      диаграммы “Предоставление номеров”, “обслуживание номеров” и “Обеспечение телефонных переговоров” – 2-ой уровень дерева узлов;

ü      диаграммы “Резервирование номеров”, “Оформление поселения”, “Прием предоплаты”, “Проверка счетов”, “Подготовка номеров” – 3-ий уровень;

ü      диаграммы “Обработка заказа”, “Обновление данных о номерах”, “Обработка запроса”, “Обновление данных” и “Оформление въезда” – 4-ый уровень дерева узлов, последний уровень декомпозиции – необходимая в ходе нашего курсового проектирования степень подробности.

Рис.  8 Диаграмма дерева узлов.

 

2. Создание модели данных с помощью AllFusion Erwin Data Modeler 4.1

Информационная модель в нотации  IDEF1X

Для представления информационной модели данных используется CASE-средство ERWin. С его помощью при проектировании модели ИС «Гостиница» была создана физическо-логическая модель базы данных (рис. 9).

Рис.  9 Модель данных в нотации IDEF1X (физический уровень)

БД представлена в виде сущностей, их атрибутов и  связей между ними. Каждая сущность представляет множество подобных объектов, называемых экземплярами. Каждый экземпляр индивидуален и должен отличаться от всех остальных. Атрибут выражает определенное свойство объекта. С точки зрения физической модели БД сущности соответствует таблица (например, “Резервирование”, “Постоялец”, “Телефонные переговоры”), экземпляру сущности – строка в таблице, а атрибуту – колонка таблицы (например, строка “Код резерва” в таблице “Резервирование”). В результате проектирования было выделено шесть сущностей.

Связь на диаграмме  отображает логическую зависимость одной сущности от другой. В IDEF1X различают зависимые и независимые сущности. Тип сущности определяется ее связью с другими сущностями. Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. Экземпляр зависимой сущности определяется только через отношение к родительской сущности. Зависимая сущность изображается на диаграмме прямоугольником со скругленными углами.

На нашей  диаграмме зависимыми сущностями являются: “Оказанные услуги” и “Резервирование”. Родительскими для них являются сущности “Тариф услуг ” и “Апартамент ” соответственно.

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

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

Например, на  рис.9 сущность “Телефонные переговоры” однозначно идентифицирует первичный ключ “ Порядковый номер звонка (РК)”.

При установлении идентифицирующей связи атрибуты первичного ключа  родительской сущности автоматически  переносятся в состав первичного ключа дочерней сущности. Эта операция дополнения атрибутов дочерней сущности при создании связи называется миграцией атрибутов. В дочерней сущности новые атрибуты помечаются как внешний ключ - (FK). Пример такой миграции атрибутов с участием дочерней сущности “Оказанные услуги”, родительской сущности “Тариф услуг” и первичного ключа родительской сущности “Код услуги” представлен на рис. 10 :

Рис.  10 Пример миграции атрибутов

Сущности и атрибуты, определенные в информационной модели представлены в отчете (на рис. 11), сгенерированном с помощью пункта меню Tools/Data Browser/Erwin Repots .

Рис. 11 Отчет , сгенерированный с помощью ERwin

 

3. Модели в нотации языка UML

Помимо этого было проведено моделирование на языке UML в среде Component Modeler, входящей в состав пакета All Fusion Data Modeling Suite (Маклаков С.В. “Создание информационных систем с AllFusion Modeling Suite”). Были спроектированы диаграммы классов, компонентов и размещения.

3.1 Диаграмма размещения (Deployment diagram)

При построении диаграмм размещения используют три  вида основных ус-ловно-графических  обозначений: Processor (процессор), Device (устройство), Connection (соединение). На рис.12 показана диаграмма Deployment, на которой изображена схема сети «Гостиница». Сеть состоит из 4-х компьютеров (администратора, бухгалтера, отдела обслуживания и отдела учета телеф. переговоров), которые соединены с главным компьютером по хранению информации «Сервером». К компьютеру администратора гостиницы подключен принтер, остальные служащие гостиницы могут распечатать информацию по сети.

Рис. 12 Диаграмма размещения

3.2 Диаграмма компонентов (Component diagram)

Диаграмма компонентов  показывают, как выглядит модель на физическом уровне. На ней изображаются компоненты программного обеспечения  системы и связи между ними. При этом выделяют два типа компонентов: исполняемые компоненты и библиотеки кода.  Диаграмма компонентов представлена на рис. 13: 

 

Рис.  13 Диаграмма компонентов

У каждого класса имеется свой собственный заголовочный файл и файл с расширением *.СРР, так что каждый класс преобразуется в свои собственные компоненты на диаграмме. Например, класс Client преобразуется в два компонента: client.h и client.cрp. Вместе эти компоненты представляют тело и заголовок класса Client. Компонент Hotel.exe представляет поток обработки информации (thread of processing). В данном случае поток обработки — это исполняемая программа.

3.3 Диаграмма классов (Class diagram)

На рис. 14 представлена диаграмма классов:

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

На диаграмме  представлены 4 класса.  У каждого  из них есть методы (operations) – некоторые действия, которые описывают поведение методов класса. Так у класса Client есть методы: Delete() – для удаления данных о клиенте, CostRoom() – для подсчета итоговой стоимости проживания в гостинице. В классе Phone есть класс для выяснения времени разговора (Time()) и номера , по которому звонили (Number()).

 

4. Связь с СУБД Access

Далее средствами ERwin была проведена генерация файла базы данных программы Microsoft Access. В окне выбора баз данных выбираем СУБД Access. Затем производим подключение через меню Файл/Подключение.  (рис. 15)

В открывшемся окне  необходимо прописать имя сервера, имя пользователя, пароль, а также название базы данных, с которой необходимо установить связь. После подключения созданная база данных станет доступна в СУБД Access.

Рис. 15 Осуществление доступа к выбранной СУБД 

 

Далее проводим генерацию  схемы доступа в выбранную  базу данных(рис. 16):

Рис.  16 Генерация базы данных 

 

После нажатия  кнопки Generate генерируется база данных в выбранной СУБД.

 

5. Разработка экранных форм

Для написания приложения для работы с базой данных гостиницы  был использован язык C#. С его помощью были созданы следующие формы:

    • "Гостиница. Постояльцы" – главная форма, на ней представлены список постояльцев, поля для редактирования записей и управляющие кнопки. Из неё открывается доступ к другим формам (Рис. 17);
    • "Апартаменты" – список всех апартаментов (Рис. 18);
    • "Услуги" – список всех услуг, предоставляемых гостиницей (Рис. 19);
    • "Оказанные услуги" – список услуг, оказанных постояльцам (Рис. 20);
    • "Телефонные переговоры" – список телефонных переговоров постояльцев (Рис. 21);
    • "Резервирование" – список зарезервированных апартаментов (Рис. 22).

Рис.  17 Форма "Гостиница. Постояльцы"

Код формы:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

 

namespace Hotel

{

       public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

            // TODO: данная строка кода позволяет загрузить данные в таблицу "dBHOTELDataSet.Guest". При необходимости она может быть перемещена или удалена.

            this.guestTableAdapter.Fill(this.dBHOTELDataSet.Guest);

            dataGridView1.Columns[0].HeaderText = "Код постояльца";

            dataGridView1.Columns[1].HeaderText = "Фамилия";

            dataGridView1.Columns[2].HeaderText = "Имя";

            dataGridView1.Columns[3].HeaderText = "Отчество";

            dataGridView1.Columns[4].HeaderText = "Номер апартаментов";

            dataGridView1.Columns[5].HeaderText = "Вид документа";

            dataGridView1.Columns[6].HeaderText = "Номер документа";

            dataGridView1.Columns[7].HeaderText = "Пост. место жительства";

Информация о работе Разработка информационной системы “Гостиница”