Смекни!
smekni.com

Разработка информационной системы Отель (стр. 2 из 4)

Диаграмма деятельности представлена на рисунке 2.

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

На рисунке 3 изображена диаграмма состояния.


2 Проектирование программного обеспечения. Логическое представление

2.1 Спецификации требований. Построение диаграммы классов

Центральное место в проектировании модели информационной системы занимает разработка логической модели статического представления моделируемой системы в виде диаграммы классов.

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

Объектно-ориентированное программирование – это новый подход к созданию программ. По мере развития вычислительной техники возникали разные методики программирования. На каждом этапе создавался новый подход, который помогал программистам справляться с растущим усложнением программ. Первые программы создавались посредством ключевых переключателей на передней панели компьютера. Очевидно, что такой способ подходит только для очень небольших программ. Затем был изобретен язык ассемблера, который позволял писать длинные программы. Следующий шаг был сделан в 1950 году, когда был создан первый язык высокого уровня Фортран.

Используя язык высокого уровня, программисты могли писать программы до нескольких тысяч строк длинной. Для того времени указанный подход к программированию был наиболее перспективным. Однако язык программирования, легко понимаемый в коротких программах, когда дело касалось больших программ, становился нечитабельным (и неуправляемым). Избавление от таких неструктурированных программ пришло после изобретения в 1960 году языков структурного программирования (structuredprogramminglanguage). К ним относятся языки Алгол, Паскаль и С. Структурное программирование подразумевает точно обозначенные управляющие структуры, программные блоки, отсутствие (или, по крайней мере, минимальное использование) инструкций GOTO, автономные подпрограммы, в которых поддерживается рекурсия и локальные переменные. Сутью структурного программирования является возможность разбиения программы на составляющие ее элементы. Используя структурное программирование, средний программист может создавать и поддерживать программы свыше 50000 строк длиной.

Хотя структурное программирование, при его использовании для написания умеренно сложных программ, принесло выдающиеся результаты, даже оно оказывалось несостоятельным тогда, когда программа достигала определенной длины. Чтобы написать более сложную программу, необходим был новый подход к программированию. В итоге были разработаны принципы объектно-ориентированного программирования. OOP (ObjectOrientedProgramming) аккумулирует лучшие идеи, воплощенные в структурном программировании, и сочетает их с мощными новыми концепциями, которые позволяют оптимально организовывать ваши программы. Объектно-ориентированное программирование позволяет вам разложить проблему на составные части. Каждая составляющая становится самостоятельным объектом, содержащим свои собственные коды и данные, которые относятся к этому объекту. В этом случае вся процедура в целом упрощается, и программист получает возможность оперировать с гораздо большими по объему программами.

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

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

Таким образом, объектно-ориентированное программирование основано также и на событиях. Приложение отслеживает события и реагирует на необходимые.

Включать объекты в программу можно вручную, через соответствующие операторы (это делается нечасто), или путем визуального программирования, используя заготовки — компоненты.

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

Nomer
Nomer_mesta: IntegerKlass: StringKolichestvo_mest: IntegerOpisanie: StringStoimost: Integer
Postoyalec
Imya_postoyalca: StringNomer_mesta: IntegerData_zaseleniya:StringData_vuseleniya: StringNomer_ydostovereniya_postoyalca: Integer
Dopolnitelnue_yslygi
Naimenovanie: StringCena: Integer

Рисунок 4 – Диаграмма классов

2.2 Анализ структуры базы данных информационной системы «Отель» и блок-схемы системы

После построения модели, необходимо определить, в какой базе данных её строить: локальной или клиент-серверной.

Автономные (локальные) базы данных хранят все данные на том ПК, на котором установлены, при этом вся сеть не используется.

В данном случае это применимо, так как информационная система разрабатывается для АРМ администратора небольшой отеля. Поэтому, основываясь на специфике информационной системы, решено использовать локальную базу данных.

Клиент-серверную модель базы данных можно построить при дальнейшем усовершенствовании этой системы. Например, при добавлении АРМ бухгалтера, АРМ администратора кафе при отелю и так далее.

Единицей хранящейся в БД информации является таблица. Каждая таблица представляет совокупность строк и столбцов. Строки соответствуют экземпляру объекта, конкретному событию или явлению, а столбцы – атрибутам (признакам, характеристикам, параметрам) этого объекта, события, явления.

Теперь определим состав таблиц и их поля и связи. В данной базе данных используется шесть таблиц.


Таблица 1 – Структура таблицы «Номера» (Nomera.db)

Наименование поля Поле Тип поля Ширина поля
Номер комнаты Nom_kom Short
Класс Klass Alpha 20
Количество мест Kolvo_mest Short
Стоимость Stoimost $
Описание Opisanie Alpha 255

Таблица 2 – Структура таблицы «Постояльцы» (Post.db)

Наименование поля Поле Тип поля Ширина поля
Код постояльца K_post Short
Фамилия Fam Alpha 20
Имя Im Alpha 15
Отчество Otch Alpha 20
Название организации Nazv_org Alpha 20
Номер удостоверения Nom_ydost Alpha 7

Таблица 3 – Структура таблицы «Занятость номеров» (Zan_nom.db)

Наименование поля Поле Тип поля Ширина поля
Номер комнаты Nom_kom Short
Код постояльца K_post Short
Дата заселения Data_zas Date
Дата выселения Data_vus Date
Код занятости K_zan Short

Таблица 4 – Структура таблицы «Архив выбывших постояльцев» (Arhiv.db)

Наименование поля Поле Тип поля Ширина поля
Код постояльца K_post Short
Фамилия Fam Alpha 20
Имя Im Alpha 15
Отчество Otch Alpha 20
Номер удостоверения Nom_ydost Alpha 7
Номер комнаты Nom_kom Short
Срок проживания Srok_proj Short

Таблица 5 – Структура таблицы «Дополнительные услуги» (Dop_ys.db)

Наименование поля Поле Тип поля Ширина поля
Код услуги K_ysl Short
Наименование услуги Naim Alpha 20
Цена Cena Long integer

Таблица 6 – Структура таблицы «Оказание дополнительных услуг» (Okaz_dy.db)

Наименование поля Поле Тип поля Ширина поля
Код услуги K_ysl Short
Номер комнаты Nom_kom Short
Дата оказания Data_okaz Date
Код занятости K_zan Short

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

Также были определены индексы. Индексы отличаются от первичных ключей тем, что не требуют непременной уникальности значений входящих в их состав полей. Они устанавливаются по полям, которые часто используются при поиске и сортировке данных: индексы помогут системе значительно быстрее найти нужные данные или отсортировать их в нужной последовательности.

На рисунке 5 приводится алгоритм основной работы информационной системы «Отель».

На рисунках 6 и 7 отображены соответственно процессы фильтрации таблиц и поиска записей в таблицах.