Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Реализация системы учета заказов в сервисном центре





Создание диаграммы классов

 

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

Классы объектов:

Клиенты (Клиент, Фамилия, Имя, Отчество, Паспортные данные, Комментарий).
Номера (Номер, Количество человек, Комфортность, Цена).
Поселение (Клиент, Номер, Дата поселения, Дата освобождения, Примечание).

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

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

 

Клиенты представлены классом “Client”, который имеет атрибуты:

“code” – уникальный номер, по значению которого можно однозначно идентифицировать объект (ФИО клиентов могут совпадать);

“family” – фамилия;

“name” – имя клиента;

“patronym” – отчество;

“comment” – комментарий;

“passport” – паспортные данные.

Двойной символ подчёркивания в названии атрибута означает, что он приватный, т.е. недоступный вне класса. Доступ к нему осуществляется через специальные функции:

“set” – позволяет изменить значение атрибута (“setfamily”, “setname”, “setpatronym”, “setcomment”, “setpassport”);

“get” – позволяет получить значение атрибута (“getfamily”, “getname”, “getpatronym”, “getcomment”, “getpassport”);

“getfullname” – позволяет получить полное имя (ФИО) клиента.

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

 

Комнаты представлены классом “Room”, который имеет атрибуты:

“code” – уникальный код комнаты;

“number” – номер;

“capacity” – вместимость;

“comfort ” – комфорт;

“ price ” – цена.

Специальные функции:

“setcode ”, “setnumber”, “setcapacity”, “setcomfort”, “setprice”;

“ getcode ”, “getnumber”, “getcapacity”, “getcomfort”, “getprice”.

 

Поселения представлены классом “Accom”, который имеет атрибуты:

“code” – уникальный код поселения;

“Room” – класс Room;

“ date_in ” – дата поселения;

“ date_out ” – дата освобождения;

“clients”=[] –список, содержащий классы типа Client

“notes ” – примечания.

Специальные функции:

“setcode”, “setclients”, “setroom”, “setdate_in”, “setdate_out”, “setnotes”;

“appendclient” – позволяет добавить клиента в список “self.__clients”;

“getcode”, “getclients”, “getroom”, “getdate_in”, “getdate_out”, “getnotes”;

“getcost” – позволяет получить: “код поселения, ФИО клиента, номер комнаты клиента, дата поселения, дата освобождения и цену”.

 

Классе “Hotel”:

datafile='hotel.db – определение файла для считывания данных;

outdata = 'hotel.db'– определение файла для записи данных;

__clients=[] – список, содержащий классы типа Client

__rooms=[] – список, содержащий классы типа Room

__accoms=[] – список, содержащий классы типа Accom

Специальные функции:

“appendclient ”, “appendroom”, “appendaccom” – позволяют добавить клиента,комнату, поселение в списки

“getclients”, “getrooms”, “getaccoms”;

“readdata” – позволяет считывать данные из базы данных SQLite (из таблицы Client в класс Client, из таблицы Room в класс Room, из таблицы Accom в класс Accom);

“writedata” – позволяет записывать данные в базу данных SQLite (из класса Client в таблицу Client, из класса Room в таблицу Room, из класса Accom в таблицу Accom);

“addclient” – позволяет добавлять нового клиента с помощью командной строки;

“delclientbyname” – позволяет определить код клиента по его имени и удалить клиента по его коду(“__delclientbycode”);

“printclients” – позволяет вывести на экран ФИО клиентов с помощью метода “getfullname” из класса Сlient;

“addroom” – позволяет добавлять новую комнату с помощью командной строки;

“delroombycode” – позволяет определить код комнаты и удалить комнату по её коду (“__delroom”);

“printrooms” – позволяет вывести на экран все данные о комнатах из класса Room

“add__accom” – позволяет добавлять новое поселение с помощью командной строки;

“delaccombycode” – позволяет определить код поселения и удалить поселение по его коду (“__delaccom”);

“printaccoms” – позволяет вывести на экран “getcost” из класса Client;

 

2.3 Реализация на языке “Python”

Рассмотрим реализацию системы учёта номеров отеля.

# -*- coding: utf-8 –

В первой строке задаётся кодировка файла программы. Это необходимо, если в тексте программы используются символы кириллицы. В данном случае используется кодировка utf-8

Import itertools,os

Date: 2016-07-25; view: 291; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию