- •Содержание
- •Введение
- •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. Порядок приема и контроля
- •Приложение б
2.2 Выводы по главе
Разработанные модели помогают интуитивно понять принципы работы каждой формы, которая будет использована. Кратко: администратор запускает сервер, пользователи подключаются к нему, общаются в групповом чате и способны открывать окно приватного канала, администратор занимается мониторингом всей системы.
3. Программное конструирование
3.1 Обоснование выбора языка программирования
Для реализации поставленных задач был выбран следующий язык программирования: С#.
C# — компилируемый статически типизированный язык программирования общего назначения.
Поддерживает такие парадигмы программирования как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции.
Одно из преимуществ языка C# является наличие конструированных форм, и задача событий для элементов форм, что упрощает процесс программирования и делает его интуитивно понятным даже для начинающих. Так же он объединяет достоинства таких языков как Java и C++
В качестве программной среды была выбрана Visual Studio из-за ее способности поддерживать множество языков программирования, подключать дополнительные динамические библиотеки и структурированное отображение проекта.
3.2 Основные модули программного средства
Для решения поставленной задачи были сконструированы следующие формы:
ChatServer;
ChatClient;
PrivateChanel;
3.2.1 Форма ChatServer
ChatServer – форма, организующая запуск сервера и мониторинг со стороны администратора. Элементы формы представлены в таблице 3.1. Классы в таблице 3.2
Таблица 3.1 – Элементы формы ChatServer
Название объекта (в коде) |
Вид объекта |
Функция в программе |
1 |
2 |
3 |
Лог
(richTextBox1) |
Текстовое поле |
только чтение, показывает сообщения клиентов |
Сообщение администратора
(textBox2) |
Текстовое поле |
редактируемое, поле для ввода сообщения от администрации |
Пользователь (listBox1) |
Поле списка |
выводит никнеймы пользователей в сети |
IP-адрес (listBox2) |
Поле списка |
выводит IP-адреса пользователей в сети |
Приватное сообщение
(button1) |
Кнопка |
Отправить сообщение выбранному пользователю |
Послать сообщение всем (button2) |
Кнопка |
Отправить сообщение всем пользователям в чате |
Выгнать пользователя
(button3) |
Кнопка |
Выгнать пользователя из чата по усмотрению администратора |
Таблица 3.2 – Основные классы ChatServer
Имя класса |
Его методы |
Описание |
server |
server.OnClientConnected server.OnClientDisconnected server.OnDataReceived server.OnServerError server.Start server.Broadcast |
Присоединение пользователя Отключение пользователя Обновление полученных данных Проверка на ошибки Запуск сервера Отправка сообщений |
SoundPlayer |
player.Play |
Звуковые оповещения |
listbox1 |
listBox1.SelectedIndex ChangeListBox |
Выделение никнейма клиента Изменение списка (доб/удал) |
listbox2 |
listBox2.SelectedIndex ChangeListBox |
Выделение порта клиента Изменение списка (доб/удал) |
Form |
(внешний класс) |
(содержит в себе все классы и объекты) |
