- •Содержание
- •Введение
- •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. Порядок приема и контроля
- •Приложение б
1.2Постановка задачи
Целью данной работы является создание сетевого текстового чата для обмена сообщениями между пользователями
Необходимо создать программное средство обеспечивающее обмен сообщениями как между двумя и более людьми, так и ТОЛЬКО между двумя людьми (по приватному каналу).
Для достижения цели необходимо выполнить следующие задачи:
создание программы-сервера чата;
создание программы-клиента чата;
создание программы-приватного канала.
1.3 Выводы по главе
В наше время информационных технологий и связи через интернет, потребность в общении легко удовлетворить. В основном для этого используются текстовые мессенджеры. Они дают возможность отправлять сообщения с минимумом нагрузки на систему и соединение. Цель моей работы – создать программное средство, обеспечивающее связь между несколькими людьми, которые находятся на расстоянии друг от друга или имеют проблемы с традиционным способом общения (голосом).
2. Алгоритмическое конструирование
2.1. Структура работы форм
Для разработки программного средства были созданы три формы: программа-клиент, программа-сервер и программа-приватный канал. Для минимизации процесса использовалась подключаемая динамическая библиотека NetworksApi.dll
Программа-сервер обеспечивает работу группового чата. Так же с помощью нее администратор (держатель сервера) может отправлять сообщения от имени администрации всем, отдельным людям, выгонять пользователей по своему усмотрению. Работа сервера представлена в блок-схеме 2.1:
Блок-схема 2.1 – Структура работы сервера
Программа-клиент — это простая форма для общения рядовых пользователей между собой, согласованно с правилами, которые устанавливает администратор. Для входа требуется ввести никнейм, IP-адрес сервера и порт. Работа клиента представлена в блок-схеме 2.2:
Блок-схема 2.2 – Структура работы программы - клиента
Форма приват-канала – самая маленькая и простая на вид форма всей разработки. Она служит для приватного обмена сообщениями ТОЛЬКО между двумя пользователями. Пользователь-субъект – тот, кто подает запрос для общения. Пользователь-объект – тот, кому подается запрос. Работа приват-канальной программы представлена на блок-схеме 2.3:
Блок-схема 2.3 – Структура приват-канальной программы
Взаимодействие между формами программ-клиентов и программы-сервера осуществляется с помощью присоединения к IP-адресу сервера, используя подключаемую динамическую библиотеку NetworksApi.dll. Взаимодействия сервера и клиента показано на рисунке 2.1.
Рис. 2.1 – Модель взаимодействия программ
клиентов и сервера
Приват-канальная программа является отдельной формой, которая может работать отдельно от всех остальных, для ее работы необходимо только знать свои IP-адрес и порт, а также IP-адрес и порт того, к кому будет вестись подключение. Но ее запуск возможен, как через программу-клиент, так и напрямую, через соответствующий значок. На рисунке 2.2 представлена модель работы приват-канальной работы.
Рис. 2.2 – Модель работы приват-канальной программы
Администратор как держатель сервера может:
1) Посылать сообщение всем от имени администратора.
2) Послать сообщение одному конкретному пользователю.
3) Выгнать пользователя, если его действия не соответствуют с правилами чата.
4) Реагировать на запросы пользователей.
– Пользователи могут:
Осуществлять подключение к чату.
Обмениваться текстовыми сообщениями между собой.
Посылать запросы администратору (Н: запрос IP другого пользователя, или просьба выгнать его).
Запускать приватный канал.
