- •Содержание
- •Введение
- •1. Анализ предметной области
- •1.1Обзор предметной области
- •1.2Постановка задачи
- •1.3 Выводы по главе
- •2. Алгоритмическое конструирование
- •2.1. Структура работы форм
- •2.2 Выводы по главе
- •3. Программное конструирование
- •3.1 Обоснование выбора языка программирования
- •3.2 Основные модули программного средства
- •3.2.1 Форма ChatServer
- •3.2.2. Форма ChatClient
- •3.2.3 Форма PrivateChanel
- •3.4. Выводы по главе
- •4. Тестирование программного средства
- •Заключение
- •Приложение а
- •2. Основание для разработки
- •3. Назначение разработки
- •4. Требование к программе
- •5. Требование к программной документации
- •6. Стадии и этапы разработки
- •7. Порядок приема и контроля
- •Приложение б
3.2.2. Форма ChatClient
Эта форма представляет собой интерфейс программы клиента в которой доступны возможности для рядовых пользователей чата: отправка сообщений, подключение к серверу и вызов приватного канала (Элементы: таб. 3.3, классы: таб. 3.4)
Таблица 3.3 – Элементы формы ChatClient
Название объекта (в коде) |
Вид объекта |
Функция в программе |
1 |
2 |
3 |
Никнейм (textBox4) |
Текстовое поле |
Редактируемое Ввод имени клиента |
Сервер (textBox3) |
Текстовое поле |
Редактируемое Ввод IP-адрес сервера |
Порт (textBox5) |
Текстовое поле |
Редактируемое Ввод порта сервера |
Лог (richTextBox1) |
Текстовое поле |
Только чтение Вывод всех сообщений чата |
Сообщение (textBox2) |
Текстовое поле |
Редактируемое Ввод сообщения пользователя |
Вход (button3) |
Кнопка |
Вход в чат по серверу и порту |
Приват-канал (button4) |
Кнопка |
Открыть окно приват- канала |
Отправить (button1) |
Кнопка |
Отправка сообщения из textBox2 в лог |
Очистить (button2) |
Кнопка |
Очистка textBox2 |
Таблица 3.4 – Основные классы ChatClient
Имя класса |
Его методы |
Описание |
Form |
(внешний класс) |
(содержит в себе все классы и объекты) |
client |
client.OnClientConnecting client.OnClientConnected client.OnClientDisconnected client.OnDataReceived client.OnClientError client.Connect client.Send |
Присоединение Реакция на приход других клиентов Реакция на уход клиента Получение сообщений Проверка на ошибки Выполнение соединения Отправка сообщений |
SoundPlayer |
player.Play |
Звуковые оповещения |
3.2.3 Форма PrivateChanel
Данная форма является интерфейсом программной реализации чата между двумя людьми, отдельно от остальной группы. (элементы формы: таб. 3.5, классы: таб. 3.6)
Таблица 3.5 – Объекты формы PrivateChanel
Название поля |
Тип данных |
Дополнительные сведения |
Вы: IP-адрес (textLocalIP) |
Текстовое поле |
редактируемое, IP-адрес пользователя-субъекта |
Вы: Port (textLocalPort) |
Текстовое поле |
редактируемое, порт пользователя-субъекта |
Собеседник: IP-адрес (textFriendsIP) |
Текстовое поле |
редактируемое, IP-адрес пользователя-объекта |
Собеседник: Порт (textFriendsPort) |
Текстовое поле |
редактируемое, порт пользователя-субъекта |
Соединение (button1) |
Кнопка |
устанавливает соединение между пользователями |
Отправить (button2) |
Кнопка |
отправка сообщения |
Лог (listMessage) |
Список |
только чтение, вывод отправленных сообщений |
Таблица 3.6 – Основные классы PrivateChanel
Имя класса |
Его методы |
Описание |
Form |
(внешний класс) |
(содержит в себе все классы и объекты) |
SoundPlayer |
player.Play |
Звуковые оповещения |
Socket |
socket.SetSocketOption socket.BeginReceiveFrom socket.Bind socket.Connect socket.Send socket.EndReceiveFrom |
Отправка данных Получение данных Связка двух пользователей Соединение между пользователями Отправка сообщения Получение сообщения |
3.3 Разработка диаграммы классов
Диаграмма классов - это диаграмма, демонстрирующая классы системы, их атрибуты, методы и взаимосвязи между ними. Диаграмма классов является ключевым элементом в объектно-ориентированном моделировании.
В данной диаграмме класcов демонстрируется взаимодействие 3 форм и их классов: ChatServer, ChatClient, PrivateChanel, с использованием основных методов
Для разработки программного средства была разработана следующая диаграмма классов (Рисунок 3.1):
Рисунок 3.1 – Диаграмма классов
