Санкт-Петербургский Государственный Электротехнический
Университет «ЛЭТИ»
Кафедра МОЭВМ
Курсовая работа по
Объектно-ориентированному программированию
О Т Ч Е Т
Факультет КТИ
группа 3341
студент Марьяскин Е.
Санкт-Петербург
2006 г.
Постановка задачи.
Содержательная постановка задачи.
Разработать систему классов, позволяющую обмениваться сообщениями. Производится обмен сообщениями строкового типа по схеме
Сервер ->Клиент
В режиме широковещательных и персональных сообщений. Также необходимо реализовать посылку подтверждения о доставке.
Сервером является круглый планшет, разработанный в работе №3, клиентами являются цветные равнобедренные треугольники, находящиеся на этом планшете и разработанные в той же работе. Сервер может передавать клиентам текстовые сообщения и команды на сдвиг, поворот, масштабирование и смену цвета.
Сценарий диалога с пользователем.
Тестирующая программа выполняет необходимые действия по тестированию методов классов и выводит текущие результаты на экран.
Описание программы. Описание алгоритма.
Класс, отвечающий за работу Клиента, является наследником класса цветной, равнобедренный треугольник и класса Клиент. Таким образом, его корректная работа обеспечивается корректной работой разработанных ранее классов. Класс Сервер явлется наследником класса планшет и разработан на основе класса Сервер предыдущей работы, что также обеспечивает его корректную работу. Разработан класс Сообщение, представляющий собой текстовую команду/сообщение и аргументы команды, подаваемой Клиенту.
Классовая структура.
В программе разработаны 4 класса:
Класс «msg» - реализация сообщения.
класс «Sdate» - реализация элемента списка Сервера
класс «trclient» - реализация Клиента. – наследник классовClientиcColTriangle
класс «Server» - реализация Сервера. – наследник классаcMapBoard
В программе использованы классы, разработанные в ходе выполнения предыдущих заданий.
Sdate | |||
члены-данные |
члены-функции | ||
trclient CL |
Клиент |
Sdate |
конструктор |
Int NotReq |
Кол-во сообщений без отчетов о доставке |
void SetCl |
Модификатор Клиента |
|
Client GetCl |
Селектор Клиента | |
|
|
Void Set |
Модификатор элемента Сервера |
|
|
Void SetNReq |
Модификатор NotReq |
|
|
Int GetNReq |
Селектор NotReq |
Сlient | |||
члены-данные |
члены-функции | ||
|
|
Client |
Конструктор |
|
|
Void SetName |
Модификатор имени |
|
|
void SetReq |
Модификатор RequestNum |
|
|
void Set |
Модификатор Клиента |
|
|
void GetName |
Селектор имени |
|
|
int getreq |
Селектор RequestNum |
|
|
void getmsg |
Получить сообщение |
|
|
Int sendrequest |
Отправить отчет |
Server | |||
члены-данные |
члены-функции | ||
Linlist<Sdate> |
Список данных о Клиентах |
Server |
Конструктор |
|
void addClient |
Добавление Клиента по имени | |
|
|
Void delClient |
Удаление Клиента по имени |
|
|
void personalmsg |
Персональное сообщение |
|
|
void broadcastmsg |
Широковещательное сообщение |
|
|
void requestcheck |
Получение отчетов о доставке |
|
|
void workaccount |
Отчет о работе Сервера |
|
|
Void SystemInfo |
Информация о всех Клиентах |
|
|
Void SetBoard |
Селектор размеров планшета |
msg | |||
члены-данные |
члены-функции | ||
Char action[100] |
Команда |
Msg |
конструктор |
Double X1 |
Аргументы команды |
void SetAct |
Модификатор команды |
Double X2 |
Void SetX1(2)(3) |
Модификаторы аргументов | |
Double X3 |
Void GetAct |
Селектор команды | |
|
|
Double GetX1(2)(3) |
Селектор аргументов |