




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精选优质文档-----倾情为你奉上精选优质文档-----倾情为你奉上专心---专注---专业专心---专注---专业精选优质文档-----倾情为你奉上专心---专注---专业课程设计课程名称软件工程课程设计题目名称实时通讯系统的设计与实现专业班级2013级网络工程(1)班学生姓名姚孝祥、王立军、俞志平尹加久、孙军、李田学号、、、、指导教师储德锋二○一六年六月十二日蚌埠学院计算机科学与技术系本科课程设计成绩评定表项目权重分值具体要求得分文献阅读与调查论证0.20100能独立查阅文献和从事其它调研活动;有收集、加工各种信息的能力设计质量0.30100设计合理、功能齐备,程序运行正常,实验数据准确可靠;有较强的实际动手能力论文撰写质量0.20100设计说明书完全符合规范化要求,用A4复印纸打印成文学习态度0.20100学习态度认真,科学作风严谨,严格按要求开展各项工作,按期完成任务学术水平与创新0.10100设计有创意,有一定的学术水平或实用价值总分评语:存在问题:等级:指导教师:年月日蚌埠学院计算机科学与技术系课程设计任务书课程软件工程班级2013级网工1班指导教师储德锋题目实时通讯系统的设计与实现完成时间2016年5月26日至2016年6月17日主要内容要求:本软件主要是针对企业内部职工的通讯与交流进行设计,目的是方便职工之间的交流,以提高工作效率。设计报告要求1.封面:2.课程设计任务书3.分工协作说明4.课程设计说明书⑴总体方案⑵主要功能、及设计思路⑶主要步骤⑷测试结果⑸心得体会和参考资料说明:学生完成课程设计后,提交课程设计报告及软件,要求文字通畅、排版规范,文字不少于5000字,并装订成册。版面要求题目用黑体三号,段后距18磅(或1行),居中对齐;标题用黑体四号,段前、段后距6磅(或0.3行);正文用小四号宋体,行距为1.25倍行距;标题按“一”、“㈠”、“1”、“⑴”顺序编号。课程设计时间安排星期周次一二三四五六日第14周-第17周13网工1班3、4节13网工1班3、4节指导时间地点课程设计教学计划时间(A502)分工协作说明课题名称学生姓名学号所做的主要工作实时通讯系统的设计与实现姚孝祥总体分工,实验整体设计王立军查找资料及文档俞志平设计说明书排版尹加久总体程序的设计孙军程序运行及测试李田程序运行及测试备注最后总结调试,由所有组员共同完成目录TOC\o"1-3"\h\u摘要近年来,各种企业内部通讯系统得到了飞速发展,它可以不用连接Internet,直接在局域网内实现信息通讯、工作交流、提交计划等业务。这种通讯系统广泛应用于中小型企业的内部通讯,可以大大提高职工的工作效率,在方便企业内部职工交流的同时,也创造了一个安静的工作环境。在现代企业内部通讯软件是不可缺少的工具。本软件主要是针对企业内部职工的通讯与交流进行设计,目的是方便职工之间的交流,以提高工作效率。本课程设计说明书共五章。第一章为可行性分析,主要讨论该系统技术、经济、社会方面的可行性。第二章为需求分析,主要明确该系统应具备的一些基本功能。第三章和第四章为概要设计和详细设计,主要讲述系统的设计和实现。第为测试,主要是对该系统进行简单的功能测试。 本系统采用JavaSwing和JavaDB进行开发,主要思想是面向对象的设计策略,界面友好、操作方便,用户可以轻松的掌握各种操作。因本人水平有限加之时间仓促,本课程设计说明书中难免有不妥之处,还望老师批评更正。第一章可行性研究(一)引言企业实时通信系统是针对企业内部职工的通讯与交流进行设计,目的是方便职工之间的交流,以提高工作效率。(二)可行性研究的前提可行性研究的要求1、实现员工之间的实时通信。2、当软件拥有新版本时,使用升级功能进行升级。3、可以对系统的用户界面、用户名称、公共路径等进行设置。4、可以对用户按指定IP段进行搜索。5、可以访问企业内部公共路径中的资。可行性研究的目标系统实现后,提高企业内部员工在工作时进行交流的效率,以达到员工之间可以利用工作的计算机进行实时通讯、而不必离开工作位置完成交流,从而提高工作效率。可行性研究的条件硬件条件:pc机。运行环境:Windows或Linux、Java数据库:JavaDB(三)可行性分析1、经济可行性分析本项目属于非盈利项目。由于Java本身属于开源的开发环境,所以所有的软件不需要额外的花费,只需要将软件的运行环境部署到工作计算机即可。2、技术可行性根据客户提出的系统功能、性能及实现系统的各项条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术以较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发。3、法律可行性研究开发此系统的过程并未涉及到合同侵权责任以及各种与法律相抵触的问题。本系统适用于各种中小型企业。运用此系统进行员工之间的内部交流,给企业员工的通讯带来极大的方便。4、结论意见企业内部通讯系统必须提供网络通讯功能、在通讯过程中禁止使用聊天表情、文件传送等功能,避免资料外泄,或因发送错误而导致上级资料的丢失以及其他损失。最重要的是必须适应任何操作系统,也就是实现跨平台技术,因为企业内部的工作需要,工作环境中使用了多个操作系统来完成不同的工作。另外,系统不需要使用服务器中转和记录通讯内容,可以独立完成通讯任务,排除职工对领导监视工作进度等逆反心理。第二章需求分析(一)引言信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续采用人工执行。为了适应现代社会人们高度强烈的时间观念,企业内部通讯系统为企业员工的交流提供了极大方便。该软件是以Java语言为实现语言,其功能在系统内部有源代码直接完成。操作人员只需利用一些基本的计算机操作,即可达到自己的目标。(二)目标系统概述1、目标企业内部通讯系统以提供网络通讯功能为目标,应该能适应任何操作系统,也就是实现跨平台技术,因为企业内部的工作需要,工作环境中使用了多个操作系统来完成不同的工作。另外,系统不需要使用服务器中转和记录通讯内容,可以独立完成通讯任务。2、用户简介该系统的用户是中小型企业中各种职位的员工。3、组织结构和职责本系统采用MVC模式开发,有dao、frame、userlist三个主要的包。系统的组织结构比较简单,主要是单层结构,利用单独的客户端即可完成工作。(三)需求规定1、功能需求:对企业通讯系统进行分析,初步分析该系统应具备以下的主要功能。(1)信息通讯,员工可通过软件进行实时通讯;(2)系统升级,实现软件版本更新;(3)系统设置,用于设置系统界面、公共路径、IP段等;(4)用户搜索,实现用户添加、删除等管理;(5)访问公共资源,实现共享文件资源;2、功能需求点列表(1)用户管理:用户管理主要负责用户信息的管理,如通讯对象的添加、删除、改名等。(2)系统设置:系统设置主要负责用户对系统的相关设置,如用户界面、系统路径、IP范围等。(3)数据管理:数据管理包括对用户窗体的属性、用户的相关属性、通讯方的相关记录等的存储与管理。3、系统性能需求(1)时间性能要求: 在实际应用中由于通讯业务的要求,需要软件的响应时间应该尽可能缩短,对于有特殊需求的业务,还要求达到实时响应。(2)储存性能要求: 根据应用中实际情况配置适当容量的存储设备,由于本系统的存储要求不高,所以只要求存储设备能够稳定工作即可。(3)稳定性安全性要求: 要求软件尽可能的稳定,对于一般的应用系统,对安全性要求不高,但是对于通讯软件来说,在安全性方面应该加以保证。4、系统运行需求 由于本系统使用JavaDB数据库,所以只需要供软件运行的多台PC机即可,PC机应组成相应的局域网,并搭载Java运行环境。第三章概要设计(一)引言 经过了需求分析阶段的工作系统必须“做什么”的问题已经清楚了,现在是决定“怎么做”的时候了。在这里要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。(二)总体设计1、层次图: 根据本次设计需要,整个企业内部通讯系统可以分成信息通讯、系统设置、用户管理等3个模块。系统的层次图如下[图1]所示:[图1]企业内部通讯系统层次图2、各模块功能及相互关系(1)信息通讯模块: 通讯模块是企业内部通信系统的核心模块,它用于不同职工之间的通讯,这种通讯方式能够实现多个职工之间的通话,而不存在类似电话的占线问题,增加了任务分配的新方式,从而提高了企业的工作效率。该模块可以使用UDP协议和系统信使两种方式发送通讯信息。(2)系统设置模块: 系统设置模块用于管理企业内部通讯系统的相关设置,比如窗体大小,用户名、通讯对象、IP段、公共路径等,在企业内部通讯系统有新版本提示时,可以使用系统升级功能直接升级到最新版本,而不用重新安装。(3)用户管理模块: 用户管理模块类似聊天软件的好友列表,它包含了所有用户信息,具有更名、添加用户、删除用户、信使群发等功能。第四章详细设计(一)引言系统运用共享数据结构技术及多线程技术,通过I/O端口与用户进行通讯,实现了数据转发功能。首先,程序进行初始化,利用JavaDB数据库中存放的数据初始化用户主界面,并读取通讯对象的相关信息。当用户利用通讯窗体发送信息时,创建相关线程处理业务。当用户对通讯对象作出相关更改时,将结果保存至数据库,使得系统使用的数据与数据库中的数据保持一致,直至程序结束。在开始进行聊天通信前,需要先初始化系统,系统的初始化过程如下[图2]所示:[图2]系统初始化流程图当系统初始化完毕之后,就可以进行具体的通讯业务了(即普通通讯和信使通讯)。(二)各个模块的具体流程 当用户启动系统后会出现一个主窗体,如下[图3]所示:[图3]主窗体界面 [图4]通讯子窗体主窗体中包含了各种子窗体,如用户列表窗体、系统设置窗体和用户搜索窗体,以切换卡的方式进行切换。1、通讯模块设计: 当用户用鼠标双击选中[图3]中用户列表中的某个用户时,会创建一个通讯子窗体,如[图4]所示,此时可以按照如下[图5]所示的流程进行通信业务:[图5]通讯业务流程图2、系统设置模块设计:当用户使用切换卡切换到系统设置界面时,如下[图6]所示,可以进行系统相关配置的设置,具体业务流程如下[图7]所示:[图6]系统设置界面 [图7]系统设置业务流程3、用户管理模块设计: 操作用户可以使用多种途径对用户列表进行管理,比如在用户列表单击右键,在弹出菜单中按指定IP添加用户,或者选中删除用户。也可以在用户搜索面板中按指定的IP范围进行批量搜索添加,如下[图8]所示,用户管理业务的流程如[图9]所示: [图8]用户搜索面板 [图9]用户管理流程(三)关键代码分析1、通信模块关键代码: 通讯模块使用UDP进行通讯,利用Java听过的包中的相关API进行编程设计,利用MVC设计模式,将一个监听器绑定在发送按钮对象上,当用户点击发送时发送消息框中的消息。关键代码及注释如下:classsendActionListenerimplementsActionListener{ publicvoidactionPerformed(finalActionEvente){ StringsendInfo=getSendInfo(); if(sendInfo==null) //对消息进行判断 return; insertUserInfoToReceiveText(tree); //将操作用户的信息插入发送文本 appendReceiveText(sendInfo+"\n",null); byte[]tmpBuf=sendInfo.getBytes(); DatagramPackettdp=null; try{ tdp=newDatagramPacket(tmpBuf,tmpBuf.length, newInetSocketAddress(ip,1111)); //初始化数据报包对象包装信息 ss.send(tdp); //发送消息 }catch(SocketExceptione2){ e2.printStackTrace(); }catch(IOExceptione1){ e1.printStackTrace(); JOptionPane.showMessageDialog(TelFrame.this,e1 .getMessage()); } sendText.setText(null); //清空消息框,为再次输入准备 sendText.requestFocus(); //使消息框获得焦点,减少操作 if(messageMode.isSelected()) setState(ICONIFIED); }}2、系统设置模块关键代码:系统设置模块设计的关键在于与JavaDB数据库的交互,关键代码与注释如下:publicvoidupdateLocation(Rectanglelocation){//更新窗体位置 Stringsql="updatetb_locationsetxLocation=?,yLocation=?,width=?,height=?"; try{ PreparedStatementpst=conn.prepareStatement(sql); pst.setInt(1,location.x); //插入窗体位置数据 pst.setInt(2,location.y); pst.setInt(3,location.width); pst.setInt(4,location.height); pst.executeUpdate(); //更新数据库信息 pst.close(); //关闭连接 }catch(SQLExceptione){ e.printStackTrace(); }}publicRectanglegetLocation(){ //获取窗体位置 Rectanglerec=newRectangle(100,0,240,500);//创建rec对象并设置默认数据 Stringsql="select*fromtb_location"; try{ Statementstmt=conn.createStatement(); ResultSetrs=stmt.executeQuery(sql); if(rs.next()){ //若存在,则重设rec属性 rec.x=rs.getInt(1); rec.y=rs.getInt(2); rec.width=rs.getInt(3); rec.height=rs.getInt(4); } rs.close(); stmt.close(); }catch(SQLExceptione){ e.printStackTrace(); } returnrec;}3、用户管理模块关键代码: 用户管理模块使用了树的数据结构,这样一来对用户对象的搜索插入操作就和对树的插入删除操作一样了,关键代码如下:publicvoiddelUser(){ //删除用户 TreePathpath=getSelectionPath(); if(path==null) return; Useruser=(User)((DefaultMutableTreeNode)path .getLastPathComponent()).getUserObject(); //获取节点中的用户对象 intoperation=JOptionPane.showConfirmDialog(this,"确定要删除用户:"+user +"?","删除用户",JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); //给出提示信息以确认删除 if(operation==JOptionPane.YES_OPTION){ dao.delUser(user); //调用删除方法 root.remove((DefaultMutableTreeNode)path.getLastPathComponent()); //删除该节点 treeModel.reload(); }}第五章测试分析(一)测试方案 在测试过程中,采用黑盒测试,即检查程序功能是否能按要求进行,是否适当的接收数据产生正确的输出,并保持外部信息的完整性。(二)测试用例 在测试中使用采用在局域网中的多太计算机进行如下情况下的通讯:1、当网络连接正常和不正常时,即断开网络时的通讯。2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国甘肃版信息技术四年级下册新授课 第9课巧用智能设备 教学设计
- 尊老敬老做个孝心好少年重阳节活动总结(17篇)
- 五年级下册心理健康教育表格式教案-第10课道德储蓄 长春版
- 销售部简单辞职报告范文(5篇)
- 家教工作计划(13篇)
- 幼儿园大班工作计划范文(15篇)
- 挖掘语文教学中的科学资源
- 眼科医院见习心得感言(4篇)
- 2025年“双百”活动专场报告会直播观后感(16篇)
- 《一次性物品巧“变身”》第二课时教案-四年级劳动北师大版
- 初中期末家长会模板
- 驾驶员安全管理培训
- 道路交通运输生产安全事故责任追究典型案例(企业专题:安全管理人员尽职免责篇)
- 书香致远阅读启智-2025世界读书日主题班会教案
- 南京盐水鸭的制作方法培训
- 2023国家粮食和物资储备局直属事业单位招聘【35人】笔试参考题库附带答案详解
- GB/T 27060-2025合格评定良好实践指南
- 企业研究方法知到智慧树章节测试课后答案2024年秋华东理工大学
- 公司安全事故隐患内部举报、报告奖励制度
- 小区网球可行性方案
- 红日歌词 粤语发音修正版
评论
0/150
提交评论