局域网聊天需求分析修复的.docx
- 文档编号:9875033
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:13
- 大小:263.23KB
局域网聊天需求分析修复的.docx
《局域网聊天需求分析修复的.docx》由会员分享,可在线阅读,更多相关《局域网聊天需求分析修复的.docx(13页珍藏版)》请在冰豆网上搜索。
局域网聊天需求分析修复的
中国矿业大学计算机学院
中国矿业大学计算机学院
软件工程
需求分析
实验名称:
局域网聊天工具
小组名称:
飞翔工作组
班级:
网络工程08—1班
编制时间:
2010-09-25
小组成员:
谷建翔、白键、丁小军
李尧、王爽爽
1.引言
.1课题背景及意义
即时聊天工具是一种可以让使用者在网络上实时通讯的工具,大部分的即时通讯工具提供了状态信息的特性,如显示联络人名单,联络人是否在线及能否与联络人交谈等。
目前在互联网上受欢迎的即时通讯软件包括XXQQ、MSNMessenger、Yahoo!
Messenger、AOLInstantMessenger、NETMessengerService、Jabber、ICQ等。
在本文中将讨论一种基于MFCSocket的局域网通信工具的设计与实现方法。
基于MFCSocket的局域网通信软件可以为局域网提供一种良好、安全、快速的通信机制,在局域网内部通信、教学、讨论等应用中都具有一定的实用价值,它同时很好地诠释了MFCSocket通信的原理。
基于Socket的局域网通信软件应用范围广阔,不但可以处理传统的通信需求,而且也能扩展以适应新型的网络应用,如网络教育,数据影音传输等,拥有广泛的应用前景。
1.2.课题现状
基于局域网的即时通信工具,实际上是互联网即时通信工具的一个小规模版本,广域网上的即时通信工具,如今一般采用UDP或者TCP协议体系来实现,开发技术已经比较成熟,比如较早的ICQ、MSNMessenger、YAHOO通等国外开发的产品,还有国产的有名的QQ、新浪UC、LAVA-LAVA等,这些工具统统都实现了广域网上的即时通信,尽管都是即时通信,实现了即时聊天,以及文件传输的主要功能,但是也各有各的特色,比如ICQ的巨大客户群,MSN的个性化表情,YAHOO通的易操作性等,而QQ也具有一个相当方便的屏幕截图功能,另外就是,所有上述软件都实现了网络即时的视频,语音聊天功能。
这些软件,在使用方面各有特色,在实现方面也各有所长,但由于这些产品正在商业运营阶段,其实现方式属于商业机密,具体细节不可能得知,但是它在大的方面无非就是各种利用各种平台上的网络通信接口,建构基于下层TCP/IP,或者UDP/IP协议的软件产品。
在局域网内,这些功能的实现跟广域网相比更加简单,因为局域网的网络结构本身比广域网要简单,但是可以借此理解网络协议,以及网络通信工具的实现原理,所以仍然极具研究价值。
1.3.WindowsSocket网络编程简介
WindowsSockets规范以U.C.Berkeley大学BSDUNIX中流行的Socket接口为范例定义了一套开放的、支持多种协议的、MicrosoftWindows下的网络编程接口,并不是一种网络协议。
它不仅包含了人们所熟悉的BerkeleySocket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。
WindowsSockets规范本意在于提供给应用程序开发者一套简单的API,使应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。
现在的WindowsSockets已经基本上实现了与协议无关,你可以使用WindowsSockets来调用多种协议的功能,但较常使用的是TCP/IP协议。
Socket实际在计算机中提供了一个通信端口,可以通过这个端口与任何一个具有Socket接口的计算机通信。
应用程序在网络上传输,接收的信息都通过这个Socket接口来实现。
微软为VC定义了WindowsSockets类如CAsyncSocket类和派生于CAsyncSocket的CSocket类,它们简单易用。
1.4.VC++6.0简介
我们通常所说的VisualC++实际上是一个完善的、非常强大的C++程序开发环境,它的名字是MicrosoftDeveloperStudio。
二者之间的细小差别并不重要,通常这两个术语可以互换。
但如果你不围绕DeveloperStudio来进行学习,就不能有效地使用VisualC++(DeveloperStudio听起来很像VisualStudio,但它们之间没有关系)。
它包含:
C++编译器、调试器、应用程序框架生成器、项目管理器、设计和实现菜单等资源的编辑器等等
2.需求分析及可行性研究
需求分析
2.1.客户需求分析
客户要求聊天软件只在局域网内使用,要有美观、易操作的界面,通过拖动鼠标可以隐藏和显示主界面。
在主界面上可以添加好友。
一次可以与多个人聊天,聊天记录可以保存。
分析客户的需求,形成文本需求说明书。
这里只列出比较核心的部分。
(1)只限于局域网内聊天。
(2)美观的操作界面。
(3)主界面可以隐藏和显示。
(4)可以添加好友、网名和表情。
(5)可以同时与多个人聊天。
(6)可以保存和清存聊天记录。
(7)可以语音视屏聊天。
2.2.性能需求分析
(1)可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如网络初始化失败、服务器不在线等,可以提示用户安全退出本程序,在出现不可知的错误以后,可以尽量安全的退出程序。
在程序的设计过程中,要求能尽可能多的设想到用户使用过程中可能发生的事件,并能在判断事件后做出相应的处理,使程序具有较高的容错性能。
(2)宜操作性,程序简单易懂,容易上手使用。
设计界面是,简化界面的复杂性,模拟QQ等现有即时通讯工具的界面,使用户能很容易看懂并使用。
(3)开发文档易理解,保证以后自己二次开发或他人接手开发时,能够清晰的理解整个系统的设计思路和实现细节。
(4)模块化设计此软件的功能,不同的模块实现不同的功能,使得软件易于以后的维护与扩展,在以后可以更好的完善本软件的功能,更方便于在工作中的应用。
2.3.运行需求分析
(1)用户界面
程序较小,启动速度快,无启动界面。
在本地局域网中使用,所以无需进行用户登录,无需认证界面,启动后的应用界面要清爽,设计要简单明了,要具有较高的易用性。
(2)故障处理
在遇到可预知的故障与情况时,能提示用户并自动退出;在遇到不可预知的故障时能安全退出。
3.可行性研究(具体参见可行性研究报告)
3.1.成本可行性
学习研究性开发,暂不考虑成本。
3.2.技术可行性
已有搭建好的基于Windows的软硬件平台,本组对VC开发环境有一定的了解,需继续深入学习VC和Windowssocket编程。
4.系统案例分析
基于上面的需求分析,我们可以列出用户操作的模块,其中的每个模块对应一个功能,如图1所示。
图1UML用例图
5.系统设计
对客户需求进行详细分析以后,接下来就可以进行系统设计了。
5.1系统目标
利用VisualC++实现局域网内的聊天,从而达到沟通和交流的目的。
5.2开发设计思想
(1)采用WinSocket进行局域网编程,具体采用点对点的方式。
(2)通过鼠标事件实现主界面的隐藏和显示。
(3)通过双击方式在线好友聊天
(4)一旦有消息发送过来,右下角的图标不停地闪烁,等待用户响应,只要用户在消息编辑框中输入消息,图标停止闪烁。
(5)将用户添加的网名和表情写入到文件中,下次启动后,自动加入到组合框中。
(6)将聊天记录保存到文件中,保存时的文件名包含系统时间。
5.3.系统功能分析
根据客户的需求,确定了系统的功能。
本系统需要完成的功能如下:
(1)添加好友,其中,必须包含用户的IP地址。
(2)添加自定义的网名。
(3)添加自定义的表情。
(4)发送编辑好的信息。
(5)保存聊天记录。
(6)清除屏幕上的聊天记录。
5.4.系统功能模块设计
在系统功能分析的基础上,我们可以生成如图2所示的系统功能模块图。
5.5系统流程图
5.6.数据流图
5.7.服务器端程序流程图
服务器端程序流程图
启动服务后服务器端开始接收客户端发送过来的初始化信息或确认在线信息,进行判断后作出相应的处理,在最后向客户端返回在线用户列表信息;服务器端使用一个定时器对在线用户列表进行维护。
5.8.客户端程序流程图
客户端程序流程图
客户端也设置一个定时器,定时向服务器发送确认在线信息,并接收服务器返回的在线用户列表信息。
发送用户信息作为单独的模块处理。
5.9.数据字典
6.详细设计及编码实现
此项任务还在进行中,完成后补上
【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 局域网 聊天 需求 分析 修复