




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告开课学期: 2012-2013学年第2学期 课程名称: 软件工程课程设计 学 院: 信息科学与工程学院 专 业: 计算机科学技术 班 级: 计算机1008 学 号: 20101221149 姓 名: 刘成启 设计题目: 企业内部消息通讯管理系统 任课教师: 马坤 2013 年 3 月 8 日1项目计划31.1引言31.1.1编写目的31.1.2定义31.2项目概述31.2.1 工作内容31.2.2 程序31.2.3 文档31.2.4运行硬件环境:41.2.5验收标准41.3实施计划41.3.1任务分解41.4人员组织及分工42可行性研究42.1经济可行性42.2操作可行性52.3技术可行性53需求分析53.1功能分析53.1.1注册53.1.2登陆53.1.3私聊53.1.4群聊63.1.5创建分组63.1.6创建群63.1.7查找好友并加为好友63.1.8查找群并加入群63.1.9文件共享63.1.10下载文件73.2性能分析74概要设计84.1功能模块图84.2系统总体结构94.3数据库设计105详细设计105.1文件传输客户端界面115.2文件传输服务器端界面116测试计划117总结111项目计划1.1引言1.1.1编写目的模仿腾讯QQ,针对中小企业(200人以下)设计即时通讯系统。系统应包括客户端和服务器端。系统应保存所有的消息通讯记录。系统要考虑局域网通讯的特点,设计大型文件(超过1G)的文件传输、后台管理等机制(参考QQ中转站)。1.1.2定义模仿腾讯QQ,针对中小企业(200人以下)设计即时通讯系统。系统应包括客户端和服务器端。系统应保存所有的消息通讯记录。系统要考虑局域网通讯的特点,设计大型文件(超过1G)的文件传输、后台管理等机制(参考QQ中转站)。1.2项目概述1.2.1 工作内容项目小组根据时间先后安排,分别对项目进行开发:各项主要工作:需求分析需要对各个学生进行调研。负责软件开发的同学对调查结果进行分析,拟订实现方案(如程序结构,流程,数据结构等)。软件编程的同学对软件进行集中开发。软件审核的同学对软件进行评定,审核。1.2.2 程序程序名称:企业内部消息通讯管理系统使用语言:java存储形式:磁盘 1.2.3 文档许提交的文档:01项目计划02可行性研究03需求分析04概要设计05详细设计06测试计划1.2.4运行硬件环境:运行软件环境: Windows xp Eclipse或myeclipse 1.2.5验收标准系统运行流畅1.3实施计划1.3.1任务分解项目计划及可行性研究调研需求分析分析概要设计设计详细设计开发测试计划测试1.4人员组织及分工组长:李宏建开发设计人员:刘成启 宋希宾 徐波 陈强 李宏建 测试人员:刘成启 徐波 2可行性研究 2.1经济可行性:本系统需要一个mysql数据库服务器,由于使用人数比较少,安装一个免费的mysql数据库完全可以应付需要,所以成本就不用考虑了。 2.2操作可行性:只要一台以上计算机连接在同一个局域网内,本系统就可以安装使用,所以操作上完全不存在问题。 2.3技术可行性:本系统采用Java语言,是基于CS架构的。开发这个系统需要开发者对socket编程和java Swing这两方面的技术比较熟。由于本人长期从事于java语言编程,所以技术方面是可行的。3需求分析(系统应具备的主要功能、预期目标)3.1功能分析3.1.1注册服务器收到用户的注册请求,便开始接受客户传递的信息,诸如客户的呢称,性别,籍贯,个人资料等,接受完毕后,便通过Jdbc-Odbc与后台数据库连接,然后向数据库添加记录,如果成功,便向客户返回其号码。客户收到服务器返回的信息后,便打开主登陆窗口。3.1.2登陆在客户端,用户输入其号码和密码,然后建立与服务器的连接,告诉服务器我要登录,服务器收到后,开始通过JdbcOdbc读取数据库,然后与用户输入的信息比较,如果成功,便打开主程序窗口。然后客户向服务器请求读取好友名单,服务器收到该请求,开始读取数据库中的表,得到好友的号码后,再在icq表中读取好友资料,然后向客户端发送这些信息,客户收到后就在主窗口显示好友,并且建立几个矢量(Vector)用以存储好友的呢称,号码。3.1.3私聊私聊就是两个聊天。客户端首先发送消息到服务器端,服务器端根据发送人信息和接收者信息来转发。例如服务器接收到一个A发给B的消息先判断B是否已经在线,如果在线就将信息发送过去。B接收到A发来的信息,如果是未建立对话窗口,就询问是否建立对话,否则就丢弃信息。3.1.4群聊群聊,就是多人一起聊天。过程与私聊差不多。唯一的不同就是服务器会将信息转发给指定群的所有成员。3.1.5创建分组用户注册以后默认的好友分组只有一个。用户在执行添加分组操作以后,客户端分将一个这个动作的信息发送给服务器端(主要是FromClientlisten)。服务器端的fromClientListen接收到这个请求,会进行数据库操作,将要添加的分组信息插入到数据库中。如果成功,则返回这个分组的信息给客户端,否则返回错误提示信息。3.1.6创建群用户注册以后群个数为0。用户在执行添加群操作以后,客户端分将一个这个动作的信息发送给服务器端(主要是FromClientlisten)。服务器端的fromClientListen接收到这个请求,会进行数据库操作,将要添加的群信息插入到数据库中。如果成功,则返回这个群的信息给客户端,否则返回错误提示信息。3.1.7查找好友并加为好友输入要查找的用户ID号,客户端发送一个查询信息给服务器端,如果找到就返回用户服务信息。打开一个用户信息显示界面,该界面会提供一个“添加为好友”按钮,点击后可将此人加为好友。如果未找到,弹出一个信息提示框。3.1.8查找群并加入群输入要查找的群ID号,客户端发送一个查询信息给服务器端,如果找到就返回用户服务信息。打开一个群信息显示界面,该界面会提供一个“加入此群”按钮,点击后可将此人加为好友。如果未找到,则弹出一个信息提示框。3.1.9文件共享在启动文件传输服务器的共享文件功能之前,要设置它的IP号和端口,如果设置不好。好友将无法下看到这些共享的文件。还有一个重要的步骤就是添加共享文件或目录。最后启动文件共享。3.1.10下载文件使用文件传输的客户端要正确配置好服务器的IP和端口号,以及下载好的文件的存放目录。如果其中之一配置不好,文件下载将会失败。设置好以后,点击“连接”按钮,如果配置正确,这时将会看到服务器共享的文件。目前不能支持文件夹下载,当看到一个文件夹以后,可以双击该文件夹并查看文件夹里面的文件。3.2性能分析本系统由于采用免费的mysql数据库软件,连接数最多不能超过200,所以并发访问数据库的人数不能超过200人。用例图系统用例图 4概要设计4.1功能模块图本系统主要由由两个子系统组成:1)文件传输系统;2)聊天子系统。文件传输系统的功能主要有:1)共享文件;2)查看并下载文件。聊天子系统的功能有:1)注册;2)登陆;3)添加群;4)查找群5)私聊;6)群聊;7)查看好友资料;8)查找好友;9)添加好友;10)创建好友分组。JICQ(javaQQ通信系统)通信(聊天)文件传输注册登陆私聊群聊查看好友资料查找好友添加好友查找群添加群创建好友分组共享文件查看共享文件并下载 图一 用户是系统中唯一的活动者,各usecase是系统所提供的服务。QQ初始界面usecase图用户成功登录后的系统顶层usecase图即时聊天子系统usecase图联系人管理子系统usecase图系统设置子系统usecase图安全中心子系统usecase图系统中的对象类及其联系4.2系统总体结构 总体设计阶段主要是确定系统的体系结构和主要模块 ,显然系统分客户端子系统和服务器子系统。系统体系结构如图2所示:收发界面业务逻辑网络通信 聊天服务器监管界面聊天业务处理 数据网络通信 访问客户B客户A客户C数据库/文件TCP/IPTCP/IPTCP/IP 图2 系统体系结构图客户端可以划分成三子层,服务端也可以划分出三个子层,客户和服务器间通信采用的是可靠的TCP协议。基本的聊天过程如下: 0 客户端启动注册、登录后,进入收发界面,此时C/S连接已建立,C处于接收状态。 1 客户A从界面输入消息,确定群发,业务逻辑层从界面获取信息并验证后生成“消息接收请求”消息,再将消息作为参数调用网络通信层的发送函数,发送函数将消息发往服务器,然后等待服务器的消息 2 服务器收到消息,确定是客户A发来的,从消息中分析出是群发,然后从当前客户列表中取出除A以外的与每个客户(B,C)对应的socket,然后通过socket将消息转发给客户B,C。 3 服务器在监控界面上显示:客户A消息 群发 4 服务器生成“消息接收成功”消息,向客户A回发(可省)。 5 客户A收到消息,确定是“消息接收成功”消息后,在界面上显示发送成功。 6 客户B/C的通讯模块接收到消息,分析确认是“消息接收请求”,则在界面上显示:客户A-消息 群发。不向服务器发送消息收到的确认消息。消息收发的简图如下图3所示:接收接收发送3接收消息成功(可以不要)2.2接收消息请求2.1接收消息请求息客户A聊天服务器客户B客户C1接收消息请求 图3 消息收发示意图4.3数据库设计QQ用户表ID账号密码个性签名头像好友分组ID用户ID号分组名用户分组用户群ID分组ID用户IDID群ID用户ID拥有创建拥有创建1111n1n群ID创建人ID群名群公告11留言ID发信人ID收信人ID拥有内容n 系统E-R图5详细设计5.1私聊界面本界面主要用来显示两个人的对话信息以及发送信息。发送的信息可以设置字体,大小,字体颜色。也可以发送一个QQ表情。5.2 群聊界面本界面主要用来显示多人的对话信息以及发送信息。发送的信息可以设置字体,大小,字体颜色。也可以发送一个QQ表情。右边显示的是群公告,可以用来公布一些必要的信息。6测试计划私聊测试1)首先登陆两个账号,如(账号1密码123,账号2密码123)2)打开聊天窗口,如打开两个聊天窗口3)相互发送信息 两人相互发送信息图群聊测试1)首先登陆三个账号,如(账号1密码123,账号2密码123,账号3密码123)2)打开三个对话窗口3)各发一条信息(如:我是某某)结果为:群聊测试图7总结(经过本次课程设计,你有哪些心得与体会;存在的主要问题有哪些;下一步有何打算;有什么意见和建议) 通过本次课程设计,我明白要认真掌握扎实的基础才可以进行流畅的开发,本次试验,我们小组,开始进展很慢,主要是由于软件工程的基本原理,基本过程还不是很
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广安市消防员考试笔试试题(含答案)
- 智能汽车油耗分析软件创新创业项目商业计划书
- 2025年新能源商用车辆市场需求与应用场景下的政策扶持与风险防范报告
- 2025年工业互联网平台边缘计算硬件架构产业投资策略研究报告
- 2025年工业互联网平台边缘计算硬件架构在智能机器人中的应用与优化报告
- 2025年物联网设备安全漏洞防护策略与技术方案报告
- 2025年社交媒体平台舆情监测与危机公关的社交媒体营销策略创新
- 2025年工业机器人柔性制造系统在电子信息设备回收与再利用中的应用优化研究报告
- 2025年广播影视行业融合发展的政策环境与产业风险防范策略研究
- 民法典知识义务培训课件
- 人教版六年级上册数学全册教案教学设计含教学反思
- 《消费心理学》课程教学大纲
- 华为员工股权激励方案
- 返工、返修作业指导书全套
- 《数学新课标》课件
- 跨文化商务交际导论 课件 Unit 1 Culture
- 2024年度企业预算表(制造企业)
- 中西翻译简史-研究的考试课题
- 静脉导管的维护
- 读书分享用兴趣点燃学生的运动细胞PPT模板宣传PPT动态PPT
- 幼儿园红色故事《闪闪的红星》课件
评论
0/150
提交评论