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

Обоснование необходимости создания приложения для общения в Интернете, информационный анализ его структуры. Логическое проектирование чата. Выбор программной платформы, аппаратных средств и среды разработки. Интерфейс программы и руководство пользователя.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 19.06.2013
Размер файла 287,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

«Хакасский государственный университет имени Н.Ф. Катанова»

Институт информационных технологий и инженерного образования

Кафедра Информационные системы и технологии

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

По дисциплине «Программирование в Windows»

На тему: «Разработка интернет-чата»

Выполнил: студент группы 49

Мещеряков В. Е.

Проверил: Семенов А. И.

Абакан 2013

Оглавление

  • Введение
  • Глава 1. Анализ предметной области
  • 1.1 Обоснование использования вычислительной техники для решения данного комплекса задач
  • 1.2 Информационный анализ структуры комплекса
  • 1.3 Характеристика организации обработки информации
  • 1.4 Требования к программе автоматизации
  • Выводы
  • Глава 2. Проектирование программного продукта
  • 2.1 Логическое проектирование программы
  • Выводы
  • Глава 3. Программная реализация программного продукта
  • 3.1 Выбор программной платформы
  • 3.2 Выбор аппаратных средств
  • 3.3 Выбор среды разработки
  • 3.4 Интерфейс проекта
  • Выводы
  • Заключение
  • Список используемой литературы
  • Приложения

Введение

Актуальность работы

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

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

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

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

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

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

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

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

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

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

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

3. Понятное руководство к данному проекту;

4. Приемлемые сроки реализации проекта.

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

Глава 1. Анализ предметной области

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

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

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

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

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

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

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

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

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

· Прием сообщения;

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

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

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

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

· Соединение клиента с сервером

· Прием сообщений

· Передачу сообщений

Выводы

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

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

Глава 2. Проектирование программного продукта

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

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

независимость от средств разработки;

простота модели;

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

В логической модели создаются алгоритмы или иные логические элементы, при помощи которых осуществляется решение прикладной задачи.

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

Размещено на http://www.allbest.ru/

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

Выводы

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

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

Глава 3. Программная реализация программного продукта

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

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

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

Повышенную надежность и масштабируемость;

Низкую стоимость;

Развитые службы Интернета и приложений.

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

Более надежную архитектуру системы;

Уменьшение числа необходимых перезагрузок;

Улучшенную масштабируемость;

Обеспечивает мощное комплексное управление.

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

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

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

· Intel® Pentium® IV / or compatible

· Windows XP, Windows 7;

· 1 GB RAM;

· SVGA or higher resolution (800x600 256 Color);

· Свободный объем на жестком диске - 40 Мб;

· клавиатура, манипулятор типа мышь;

При использовании такой конфигурации гарантирована удобная работа с приложением.

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

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

Borland Delphi 7 - это интегрированная среда для быстрого создания приложений баз данных, настольных и Internet-приложений, построенная на основе разработанной Borland визуальной библиотеки компонентов (Visual Components Library, VCL), включающая в себя средства разработки интерфейса приложений с двусторонней связью с исходным кодом (Two-Way Tools), широкий спектр средств отладки приложений и различных вспомогательных средств. За короткое время с момента выхода первой версии этого продукта, совершившего в некотором смысле революцию в области средств быстрой разработки приложений (Rapid Application Development) - за счет простоты использования, интуитивной понятности интерфейса и широкого набора средств разработки, Delphi собрал под свои знамена огромное число разработчиков со всего мира, что, безусловно, не могло не стимулировать появление поддержки данным продуктом Internet-технологий и разработки соответствующих приложений.

Microsoft Visual Studio 2008. Является средством быстрой разработки приложений (RAD), позволяющим создавать веб-приложения и веб-службы следующего поколения. Visual Studio.NET позволяет разработчикам быстро создавать широкомасштабные веб-приложения для любых устройств и любых платформ. Кроме того, Visual Studio.NET полностью интегрирована со средой разработки Microsoft.NET Framework, предоставляя поддержку нескольких языков программирования и автоматическое решение многих задач программирования, освобождая разработчиков для быстрого создания веб-приложений при помощи того языка, который они считают наиболее подходящим. Visual Studio.NET включает единую интегрированную среду разработки со средствами RAD для построения веб-приложений и бизнес-логики промежуточного уровня, а также RAD XML-средствами для работы с данными.

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 из-за широкого набора средств разработки и простоты интерфейса.

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

Формы

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

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

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

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

Выводы

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

Заключение

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

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

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

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

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

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

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

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

5. Петров Б., Алексеев Т. «С#» - Москва, 2011. - 370 с.: ил.

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

Приложение 1

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

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

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

1 Условия выполнения программы

Минимальные требования.

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

Операционной системы Windows ХР, Windows 7;

MS Office XP/2003/2007/2010.

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

Принтер (для печати отчетов и шаблонов справок);

Процессор Intel Pentium IV с тактовой частотой 2.0 GHz и выше;

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

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

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

· Распаковываем архив с программой в нужную директорию;

· Запустите программу;

· Запустите клиенты на разных машинах;

· Отправьте тестовое сообщение

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

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

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

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

Приложение 2

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

Сервер

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Threading;

using System.Net;

using System.Net.Sockets;

using System.IO;

namespace ChatServer

{

public partial class Form1 : Form

{

private delegate void UpdateStatusCallback(string strMessage);

public Form1()

{

InitializeComponent();

}

private void btnListen_Click(object sender, EventArgs e)

{

// Parse the server's IP address out of the TextBox

IPAddress ipAddr = IPAddress.Parse(txtIp.Text);

// Create a new instance of the ChatServer object

ChatServer mainServer = new ChatServer(ipAddr);

// Hook the StatusChanged event handler to mainServer_StatusChanged

ChatServer.StatusChanged += new StatusChangedEventHandler (mainServer_StatusChanged);

// Start listening for connections

mainServer.StartListening();

// Show that we started to listen for connections

txtLog.AppendText("Monitoring for connections...\r\n");

}

public void mainServer_StatusChanged(object sender, StatusChanged EventArgs e)

{

// Call the method that updates the form

this.Invoke(new UpdateStatusCallback(this.UpdateStatus), new object[] { e.EventMessage });

}

private void UpdateStatus(string strMessage)

{

// Updates the log with the message

txtLog.AppendText(strMessage + "\r\n");

}

}

}

Клиент

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Net;

using System.Net.Sockets;

using System.IO;

using System.Threading;

namespace ChatClient

{

public partial class Form1 : Form

{

// Will hold the user name

private string UserName = "Unknown";

private StreamWriter swSender;

private StreamReader srReceiver;

private TcpClient tcpServer;

// Needed to update the form with messages from another thread

private delegate void UpdateLogCallback(string strMessage);

// Needed to set the form to a "disconnected" state from another thread

private delegate void CloseConnectionCallback(string strReason);

private Thread thrMessaging;

private IPAddress ipAddr;

private bool Connected;

public Form1()

{

// On application exit, don't forget to disconnect first

Application.ApplicationExit += new EventHandler(OnApplicationExit);

InitializeComponent();

}

// The event handler for application exit

public void OnApplicationExit(object sender, EventArgs e)

{

if (Connected == true)

{

// Closes the connections, streams, etc.

Connected = false;

swSender.Close();

srReceiver.Close();

tcpServer.Close();

}

}

private void btnConnect_Click(object sender, EventArgs e)

{

// If we are not currently connected but awaiting to connect

if (Connected == false)

{

// Initialize the connection

InitializeConnection();

}

else // We are connected, thus disconnect

{

CloseConnection("Disconnected at user's request.");

}

}

private void InitializeConnection()

{

// Parse the IP address from the TextBox into an IPAddress object

ipAddr = IPAddress.Parse(txtIp.Text);

// Start a new TCP connections to the chat server

tcpServer = new TcpClient();

tcpServer.Connect(ipAddr, 1986);

// Helps us track whether we're connected or not

Connected = true;

// Prepare the form

UserName = txtUser.Text;

// Disable and enable the appropriate fields

txtIp.Enabled = false;

txtUser.Enabled = false;

txtMessage.Enabled = true;

btnSend.Enabled = true;

btnConnect.Text = "Disconnect";

// Send the desired username to the server

swSender = new StreamWriter(tcpServer.GetStream());

swSender.WriteLine(txtUser.Text);

swSender.Flush();

// Start the thread for receiving messages and further communication

thrMessaging = new Thread(new ThreadStart(ReceiveMessages));

thrMessaging.Start();

}

private void ReceiveMessages()

{

// Receive the response from the server

srReceiver = new StreamReader(tcpServer.GetStream());

// If the first character of the response is 1, connection was successful

string ConResponse = srReceiver.ReadLine();

// If the first character is a 1, connection was successful

if (ConResponse[0] == '1')

{

// Update the form to tell it we are now connected

this.Invoke(new UpdateLogCallback(this.UpdateLog), new object[] { "Connected Successfully!" });

}

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

{

string Reason = "Not Connected: ";

// Extract the reason out of the response message. The reason starts at the 3rd character

Reason += ConResponse.Substring(2, ConResponse.Length - 2);

// Update the form with the reason why we couldn't connect

this.Invoke(new CloseConnectionCallback(this.CloseConnection), new object[] { Reason });

// Exit the method

return;

}

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

while (Connected)

{

// Show the messages in the log TextBox

this.Invoke(new UpdateLogCallback(this.UpdateLog), new object[] { srReceiver.ReadLine() });

}

}

// This method is called from a different thread in order to update the log TextBox

private void UpdateLog(string strMessage)

{

// Append text also scrolls the TextBox to the bottom each time

txtLog.AppendText(strMessage + "\r\n");

}

// Closes a current connection

private void CloseConnection(string Reason)

{

// Show the reason why the connection is ending

txtLog.AppendText(Reason + "\r\n");

// Enable and disable the appropriate controls on the form

txtIp.Enabled = true;

txtUser.Enabled = true;

txtMessage.Enabled = false;

btnSend.Enabled = false;

btnConnect.Text = "Connect";

// Close the objects

Connected = false;

swSender.Close();

srReceiver.Close();

tcpServer.Close();

}

// Sends the message typed in to the server

private void SendMessage()

{

if (txtMessage.Lines.Length >= 1)

{

swSender.WriteLine(txtMessage.Text);

swSender.Flush();

txtMessage.Lines = null;

}

txtMessage.Text = "";

}

// We want to send the message when the Send button is clicked

private void btnSend_Click(object sender, EventArgs e)

{

SendMessage();

}

// But we also want to send the message once Enter is pressed

private void txtMessage_KeyPress(object sender, KeyPressEventArgs e)

{

// If the key is Enter

if (e.KeyChar == (char)13)

{

SendMessage();

}

}

}

}

Размещено на Allbest.ru


Подобные документы

  • История возникновения чата. Виды программной реализации чатов. Описание приложения TCP/IP, построенного на клиент-серверной архитектуре. Особенности создания многопользовательского чата (Multy-user on-line). Листинг программного продукта онлайн общения.

    курсовая работа [657,0 K], добавлен 01.03.2010

  • Изучение информационной базы клиента "Управление торговлей". Выбор и изучение платформы для построения сайта. Выбор технологии и среды разработки. Разработка основных алгоритмов решения задач и хранения данных. Проектирование интерфейса пользователя.

    дипломная работа [1,1 M], добавлен 20.05.2017

  • Требования, предъявленные к полноценному локальному чату. Протокол передачи данных TCP. Описание программы сервера. Этапы разработки программного продукта. Функция приема сообщений от сервера. Принятие и отправка сообщений всем пользователям чата.

    курсовая работа [447,0 K], добавлен 21.01.2016

  • Обоснование необходимости разработки программы для игры "Тетрис". Математическая и графическая части алгоритма. Выбор языка и среды программирования. Отладка текста программы, разработка интерфейса пользователя. Тестирование, руководство пользователя.

    курсовая работа [1,5 M], добавлен 17.01.2011

  • Разработка веб-приложений на основе Servlet API. Основные способы передачи данных от пользователя. Краткая справка по необходимым программным компонентам. Составление программы интернет-чата на основе протокола HTTP. Диаграмма классов веб-приложения.

    лабораторная работа [1,1 M], добавлен 01.05.2014

  • Быстрая загрузка, простая установка и автоматическое обновление чата. Поддержка форматирования текста. Аутентификация и различные пиктограммы пользователей. Установка и настройка чата под Linux. Подготовка к инсталяции чата. Безопасность на хостинге.

    лекция [3,4 M], добавлен 27.04.2009

  • Анализ предметной области создания программы организации, предоставляющей услуги проката DVD и CD дисков. Описание информационных процессов, обоснование необходимости автоматизации. Разработка приложения, среда реализации и пользовательский интерфейс.

    курсовая работа [43,6 K], добавлен 23.03.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.