Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 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
|