Разработка интернет-чата

Курсовая работа

На сегодняшний день, когда компьютерные технологии проникают во все сферы человеческой деятельности, в том числе учебные заведения, они переходят на использования компьютерных технологий для автоматизации своей работы, так как преимущества от этого очевидны: это и скорость обработки данных, и расширяемость функций, и гибкость индивидуальной настройки. Для всего этого используется программное обеспечение, которое и выполняет часть функций человека, заменяет бумажные хранилища данных и ускоряет работу.

Постановка проблемы

Одной из наиболее важных проблем является обмен информацией между людьми.

Поэтому было принято решение создать приложение, которое позволяет общаться людям через интернет.

Задачи курсовой работы заключаются:

1. Сбор и обработка информации о своем проекте;

2. Выбор среды разработки проекта;

  • Реализация проекта в выбранной среде разработки.

Требования к проекту с точки зрения заказчика:

1. Удобный и простой интерфейс;

2. Приемлемые системные требования;

  • Понятное руководство к данному проекту;
  • Приемлемые сроки реализации проекта.

Данный проект будет реализован с помощью C#.

Предметная область — это материальная система или система, характеризующая элементы материального мира, информация о которой хранится и обрабатывается. Предметная область рассматривается как некоторая совокупность реальных объектов и связей между ними. Каждый объект обладает определённым набором свойств.

Классификация объектов предметной области.

Постановка проблемы 1

Рис. 1.1. Классификации объектов предметной области

1.1 Обоснование использования вычислительной техники для решения данного комплекса задач

В последнее время общение в сети Интернет занимает большие позиции. Люди не всегда имеют возможность позвонить друг другу или сходить в гости. Общение можно реализовать с помощью интернет-чата.

.2 Информационный анализ структуры комплекса

Информация — обеспечение работы пользователя с передаваемым текстом.

Информационные процессы:

  • Передача сообщения;
  • Прием сообщения;

.3 Характеристика организации обработки информации

Используется отдельное окно сервера и окна клиента — пользователи.

.4 Требования к программе автоматизации

4 стр., 1750 слов

Особенности тушения пожаров и проведения аварийно-спасательных ...

... Особую опасность представляют объекты с массовым пребыванием людей, к числу которых относятся культурно-зрелищные заведения. Пожары в таких зданиях нередко сопровождаются человеческими жертвами. Количество жертв на некоторых пожарах достигало несколько сотен человек. Актуальность проблемы ...

Разработанный программный продукт должен обеспечивать:

  • Соединение клиента с сервером
  • Прием сообщений
  • Передачу сообщений

Выводы

  • Приведены основные причины необходимости разработки данного программного продукта. Причиной послужила необходимость в общении между людьми в интернете.
  • Информационный анализ предметной области позволил построить структуру программы.

.1 Логическое проектирование программы

На этапе логического проектирования описывается организация элементов, составляющих программное решение. Модель, полученная на стадии логического проектирования должна обеспечивать:

  • независимость от средств разработки;
  • простота модели;
  • отражение структуры разрабатываемого программного продукта.

На рис. 2.1. показана диаграмма потоков данных показывающая взаимодействие пользователя и программы.

Рис. 2.1. Логическая модель уровня сущностей

Выводы

1. Построена диаграмма потоков данных интернет чата. Выделены основные сущности программы автоматизации.

2. Описаны наиболее важные принципы работы системы.

Для реализации проекта, необходимо выбрать: операционную систему, среду разработки, с помощью которых будут реализованы модули программы.

.1 Выбор программной платформы

В качестве операционной системы для разработки была выбрана платформа Windows 7, так как она предоставляет стабильность и безопасность, достаточную для функционирования продукта. В то же время данная операционная система является легкой для управления. Организациям любого масштаба новая версия обеспечивает:

  • Повышенную надежность и масштабируемость;
  • Низкую стоимость;
  • Развитые службы Интернета и приложений.

Повышение общей надежности, расширение возможностей доступа к системе и улучшенная масштабируемость. Наиболее важные усовершенствования обеспечивают:

  • Более надежную архитектуру системы;
  • Уменьшение числа необходимых перезагрузок;
  • Улучшенную масштабируемость;
  • Обеспечивает мощное комплексное управление.

.2 Выбор аппаратных средств

При выборе аппаратных средств важную роль сыграл фактор быстродействия работы ПЭВМ. От него зависят расходы на внедрение программного продукта.

Необходимые параметры для функционирования программного продукта:

  • Intel® Pentium® IV / or compatible
  • Windows XP, Windows 7;
  • 1 GB RAM;
  • SVGA or higher resolution (800×600 256 Color);
  • Свободный объем на жестком диске — 40 Мб;
  • клавиатура, манипулятор типа мышь;
  • При использовании такой конфигурации гарантирована удобная работа с приложением.

.3 Выбор среды разработки

Выбранная среда должна сочетать в себе простоту и легкость разработки, и хорошую поддержку методологии объектно-ориентированного подхода. Далее рассмотрим некоторые средства для разработки.

Borland Delphi

Microsoft Visual Studio 2008.

Omnis Studio 4.2.0.8

  • Кроссплатформенная объектно-ориентированная интегрированная среда быстрой разработки — IDE RAD
  • Интегрирована по ODBC/JDBC с СУБД Oracle, Sybase, DB2, Informix, MySQL и MS SQL Server
  • Платформы development/runtime: Microsoft Windows, Linux, Mac
  • Позволяет разрабатывать универсальный — графический/Web интерфейс пользователя
  • Поддерживает технологии XML,.NET, Java

Из вышеперечисленных сред разработки, выбран Microsoft Visual Studio 2008 из-за широкого набора средств разработки и простоты интерфейса.

12 стр., 5812 слов

Разработка программы паблик рилейшнз: система PR и методы

... работы является изучение системы Паблик Рилейшнз используемой предприятием и определение рекомендаций по ее совершенствованию. Задачи данной работы: Анализ маркетинговой деятельности корпорации "Amway". Определение основных теоретико-методологических аспектов проблемы. Исследование системы PR и методов "Amway" и ...

.4 Интерфейс проекта

Формы

В проекте существует приложение сервер и клиент

 обоснование использования вычислительной техники для решения данного комплекса задач 1

Рис. 3.1. Клиенты

 обоснование использования вычислительной техники для решения данного комплекса задач 2

Рис. 3.2. Сервер

Сервер слушает порт в сети и предоставляет IP-адрес, сервера по нему подключаются и шлют пакеты, сервер их принимает и разносит до клиентов.

Выводы

Для разработки приложения выбран продукт Microsoft Visual Studio 2008, обладающий всеми инструментами, требующимися для разработки программы.

приложение общение интернет чат

  • Реализован программный продукт, позволяющий передавать сообщения по сети Интернет.

— Тестирование программного продукта показало, что программа соответствует требованиям заказчика и пользователей. Программный продукт отвечает основным факторам качества, таким как: понятность, краткость, сопровождаемость, эффективность.

Список используемой литературы

[Электронный ресурс]//URL: https://inzhpro.ru/kursovaya/razrabotka-chata/

1. Г. Шилдт «Самоучитель С#» — СПб.: БХВ-Петербург. 2001. — 670с.

  • А. Мешков, Ю. Тихомиров «Visual C++ и MFC» — СПб.: БХВ-Петербург. 2002 — 1017с.
  • Карпов Б., Баранов Т.

«С++: специальный справочник» — СПб.: Питер, 2001. — 480 с.: ил.

  • Культин Н. «С# в задачах и примерах» — СПб.: БХВ-Петербург, 2002. — 288 с.
  • Петров Б., Алексеев Т.

«С#» — Москва, 2011. — 370 с.: ил.

  • Брагин И. «Построение сетей» — СПб.: Питер, 2010. — 480 с.: ил.

Приложение 1

Руководство пользователя

Назначение программы:

Программа предназначена для обмена сообщениями по сети.

1 Условия выполнения программы, Минимальные требования.

1. Системные требования:

  • Операционной системы Windows ХР, Windows 7;Office XP/2003/2007/2010.

2. Аппаратные требования:

  • Принтер (для печати отчетов и шаблонов справок);
  • Процессор Intel Pentium IV с тактовой частотой 2.0 GHz и выше;

МБ оперативной памяти

Не менее 30 МБ свободного дискового пространства для установки приложения

2 Порядок установки и настройки системы:

  • Распаковываем архив с программой в нужную директорию;
  • Запустите программу;
  • Отправьте тестовое сообщение

Если на данном этапе не возникло ошибок — система корректно установлена и работоспособна, технические требования соблюдены.

2 стр., 947 слов

Технологии анализа данных (Text Mining, Data Mining)

... УДК 004.912 2. А.А. Барсегян, М.С. Куприянов, В.В. Степаненко, И.И. Холод: Технологии анализа данных. Data Mining, Visual Mining, Text Mining, OLAP: БХВ-Петербург, 2007 3. <http://megaputer.ru/data_mining.php> 4. <http://www.compress.ru/article.aspx?id=10290&iid=424> 5. <http://www.iteam.ru/publications/it/section_92/article_1448/> ...

3 Выполнение программы

Запустите и настройте сервер, прописав ему IP вашей сети и нажмите на кнопку Начать прослушку. Сервер начнет прослушку порта.

Запустите клиенты и введите в них IP вашей сети, введите свой никнейм в чате и нажмите на кнопку Connect.

Приложение 2

Документированный листинг

Сервер

using System;

  • using System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;System.Threading;System.Net;System.Net.Sockets;System.IO;ChatServer

{partial class Form1 : Form

{delegate void UpdateStatusCallback(string strMessage);Form1()

{();

}void btnListen_Click(object sender, EventArgs e)

{

// Parse the server’s IP address out of the TextBoxipAddr = IPAddress.Parse(txtIp.Text);

  • // Create a new instance of the ChatServer objectmainServer = new ChatServer(ipAddr);
  • // Hook the StatusChanged event handler to mainServer_StatusChanged.StatusChanged += new StatusChangedEventHandler (mainServer_StatusChanged);
  • // Start listening for connections.StartListening();
  • // Show that we started to listen for connections.AppendText(«Monitoring for connections…\r\n»);

}void mainServer_StatusChanged(object sender, StatusChanged EventArgs e)

{

// Call the method that updates the form.Invoke(new UpdateStatusCallback(this.UpdateStatus), new object[] { e.EventMessage });

}void UpdateStatus(string strMessage)

{

// Updates the log with the message.AppendText(strMessage + «\r\n»);

}

}

}

Клиент

System;System.Collections.Generic;System.ComponentModel;System.Data;System.Drawing;System.Text;System.Windows.Forms;System.Net;System.Net.Sockets;System.IO;System.Threading;ChatClient

{partial class Form1 : Form

{

// Will hold the user namestring UserName = «Unknown»;StreamWriter swSender;StreamReader srReceiver;TcpClient tcpServer;

  • // Needed to update the form with messages from another threaddelegate void UpdateLogCallback(string strMessage);
  • // Needed to set the form to a «disconnected» state from another threaddelegate void CloseConnectionCallback(string strReason);Thread thrMessaging;IPAddress ipAddr;bool Connected;Form1()

{

// On application exit, don’t forget to disconnect first.ApplicationExit += new EventHandler(OnApplicationExit);();

}

// The event handler for application exitvoid OnApplicationExit(object sender, EventArgs e)

{(Connected == true)

{

// Closes the connections, streams, etc.= false;.Close();.Close();.Close();

}

}void btnConnect_Click(object sender, EventArgs e)

{

// If we are not currently connected but awaiting to connect(Connected == false)

{

// Initialize the connection();

}// We are connected, thus disconnect

{(«Disconnected at user’s request.»);

24 стр., 11706 слов

Автоматизация рабочего места диспетчера по транспорту

... получения необходимой информации. Актуальность данной работы заключается в необходимости комплексной автоматизации рабочих мест диспетчеров. Целью дипломной работы является разработка и внедрение модуля ... 1С: Управление Автотранспортом». «1С: Управление Автотранспортом» обеспечивает комплексную поддержку бизнес-процессов в транспортных организациях и подразделениях, позволяет получать и использовать ...

}

}void InitializeConnection()

{

// Parse the IP address from the TextBox into an IPAddress object= IPAddress.Parse(txtIp.Text);

  • // Start a new TCP connections to the chat server= new TcpClient();.Connect(ipAddr, 1986);
  • // Helps us track whether we’re connected or not= true;
  • // Prepare the form= txtUser.Text;
  • // Disable and enable the appropriate fields.Enabled = false;.Enabled = false;.Enabled = true;.Enabled = true;.Text = «Disconnect»;
  • // Send the desired username to the server= new StreamWriter(tcpServer.GetStream());.WriteLine(txtUser.Text);.Flush();
  • // Start the thread for receiving messages and further communication= new Thread(new ThreadStart(ReceiveMessages));.Start();

}void ReceiveMessages()

{

// Receive the response from the server= new StreamReader(tcpServer.GetStream());

  • // If the first character of the response is 1, connection was successfulConResponse = srReceiver.ReadLine();

// If the first character is a 1, connection was successful(ConResponse[0] == ‘1’)

{

// Update the form to tell it we are now connected.Invoke(new UpdateLogCallback(this.UpdateLog), new object[] { «Connected Successfully!» });

}// If the first character is not a 1 (probably a 0), the connection was unsuccessful

{Reason = «Not Connected: «;

  • // Extract the reason out of the response message. The reason starts at the 3rd character+= ConResponse.Substring(2, ConResponse.Length — 2);
  • // Update the form with the reason why we couldn’t connect.Invoke(new CloseConnectionCallback(this.CloseConnection), new object[] { Reason });

}

// While we are successfully connected, read incoming lines from the server(Connected)

{

// Show the messages in the log TextBox.Invoke(new UpdateLogCallback(this.UpdateLog), new object[] { srReceiver.ReadLine() });

}

}

// This method is called from a different thread in order to update the log TextBoxvoid UpdateLog(string strMessage)

{

// Append text also scrolls the TextBox to the bottom each time.AppendText(strMessage + «\r\n»);

}

// Closes a current connectionvoid CloseConnection(string Reason)

{

// Show the reason why the connection is ending.AppendText(Reason + «\r\n»);

  • // Enable and disable the appropriate controls on the form.Enabled = true;.Enabled = true;.Enabled = false;.Enabled = false;.Text = «Connect»;
  • // Close the objects= false;.Close();.Close();.Close();

}

// Sends the message typed in to the servervoid SendMessage()

{(txtMessage.Lines.Length >= 1)

{.WriteLine(txtMessage.Text);.Flush();.Lines = null;

  • }.Text = «»;

}

// We want to send the message when the Send button is clickedvoid btnSend_Click(object sender, EventArgs e)

47 стр., 23239 слов

Автоматизированное проектирование натяжных потолков

... Основанием для разработки программы, автоматизирующей проектирование натяжных потолков, является задание на дипломный проект, выданное учреждением образования " ... стоимость заказа (долл.); сумма задатка (долл.). Результаты работы программы должны выводиться на экран монитора и по ... Для написания данной программы был выбран язык программирования Object Pascal в среде программирования Borland Delphi 7.0 ...

{();

}

// But we also want to send the message once Enter is pressedvoid txtMessage_KeyPress(object sender, KeyPressEventArgs e)

{

// If the key is Enter(e.KeyChar == (char)13)

{();

}

}

}

}