即时通讯毕业设计++.docx_第1页
即时通讯毕业设计++.docx_第2页
即时通讯毕业设计++.docx_第3页
即时通讯毕业设计++.docx_第4页
即时通讯毕业设计++.docx_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计说明书企业内部即时通讯系统的设计与实现电子与计算机科学技术学院海南社区学生姓名: 学号: 学 院: 网络工程专 业: 指导教师: 2015年6月企业内部即时通讯系统的设计与实现摘 要随着计算机网络应用的逐渐普及,网络已经成为人们掌握信息、交流信息以及管理信息必不可少的重要工具。实时通信的出现给人们带来了极大的便捷,同时也带来了时间和经济上的节省。如今,网络即时通信已经逐步发展成为应用于各行各业的信息交流工具。通过设计和实现一款集即时通信与人事管理于一体的网络应用程序,讨论并分析在TCP/IP协议的基础上设计并实现一个C/S结构的即时通信系统的详细过程。首先,介绍网络即时通信开发的必备技术知识,包括常用的即时通信系统的客户端和服务器端的通讯协议,以及即时通信系统的功能设计、系统结构模式设计、数据信息设计等。其次,分析和设计客户端与服务器端之间的通信协议,以规范系统中端与端的数据传输过程。然后,对系统中最重要的部分即网络传输控制模块,进行详细的设计说明以及简单的实现方案的阐述。最后,描述即时通信系统整体的逻辑处理流程,以及该系统在人事管理方面的功能实现,以及其他部分已通过测试服务器程序测试的客户端程序代码。即时通信系统的设计与实现在企业建立自己特色的集信息管理和即时通信为一体的内部应用软件方面具有一定的应用前景。关键词:即时通信,网络应用程序,TCP/IP,通信与办公系统Design and Implementation of Enterprise Instant Messaging SystemAbstractAs the widespread of web application, internet has become the indispensable tool for information acquisition,communication and management.The advent of real-time communication has brought people great convenience as well as saving time and money. Nowadays, web-based real-time communication has been developed to a communication tool for many fields.Analyzes and discuss the process of designing and implementing a real-time communication system of C/S structure based on TIP/IP protocol, through designing and implementing a network application combined the functions of instant communication tool and also a personnel management tool. First, to introduce some necessary technical knowledge and the functional designing、system structure module designing and data information designing of development of the IM system. Second, analyze and design the communication protocol between Client and Server of the system to regular the data transportation process between ports. Third, describe the designing and implementation of the most important part of the system which is the web transportation controlling module. Finally, introduce the logic processing of the whole IM system and some client programs or code which have passed the testing of server program.Designing and implementing of IM system has a definite applying prospect in the aspect of building an interior and own application which gather instant messaging and information managing.Key words:Instant Messaging,Network Application,TCP/IP,IM in Office中北大学2015届毕业设计说明书目 录1 引言11.1 课题的背景与意义11.2 相关技术知识简介21.2.1 基于SOCKET的网络编程21.2.2 UDP协议与TCP协议的简单介绍21.2.3 WINSOCK套接字API调用的简单流程32 系统的相关分析与总体设计42.1 设计目标42.2 需求分析42.2.1 功能性需求分析42.2.2 系统用例分析42.3 概要设计原则52.4 系统安全与分析设计62.5 数据库结构设计72.6 系统开发环境和运行环境92.6.1 系统的开发环境92.6.2 系统的运行环境93 系统详细设计与实现103.1 系统登录界面103.2 系统主界面133.3 系统聊天通讯界面153.4 查找好友界面183.5 个人设置界面213.6 密保安全界面234 系统测试264.1 软件测试介绍264.2 软件测试过程264.3 本系统所进行的测试26第I页 共II页总 结27参考文献28致 谢30第II页 共II页1 引言1.1 课题的背景与意义随着计算机网络的发展,人类的通信方式也发生了翻天覆地的变化。网络通信早已取代传统的纸质信件,电话网络的地位也在这个年代受到了来自计算机网络的挑战。总之,网络通信在我们的生活和企业中可以说已经必不可少,企业内部即时通讯就是其中的重要组成部分1。目前,中国市场上的企业级即时通信工具主要包括:易睦网络的imo云办公室、叮当旺业通、Anychat、网络飞鸽、汇讯WiseUC、大蚂蚁Bigant、上海盈硕的蚁傲、腾讯RTX、FastMsg、263EM、IBM的Lotus Sametime、点击科技的GKE、中国移动的企业飞信、华夏易联的e-Link、网络飞鸽QuickDove等2。相对于个人即时通信工具而言,企业级即时通讯工具更加强调安全性、实用性、稳定性和扩展性,同时更可根据应用的实际能按需定制,随着企业信息化进程的不断演进,企业即时通讯在企业中的应用将越来越广泛。企业内部即时通讯系统是企业员工在工作时经常要与其他同事进行协同工作和跨部门合作,全方位地利用有限资源协同完成更多工作,因此各部门同事间需要进行即时的沟通。采用JMS (Java Message Service)技术实现企业内部的即时通讯系统。使该系统为使用者提供即时消息、网络会议、文件传输、系统公告等功能,可实现使用者与各部门同事间协同办公的要求,满足企业内部进行更加高效沟通的需求,为企业提供一种公共的、可靠的内部沟通方式。企业内部即时通讯系统的好处: (1)提高工作效率:在与公司客户与同事沟通时能够达到提高工作效率。 (2)快速解决沟通问题。 (3)可以迅速知道对方是否在线。 (4)与邮件、移动短信结合更是威力无穷。当适合公司的即时通讯系统广泛应用于工作后,交流渠道便于扁平化管理,业务上的平等交流;因为是书面交流,有利于理清头绪,明晰表达;而且,办公室人与人之间的关系变得更加真诚和紧密。 所以纵上所述,如果企业要用即时通信,最好用专用的企业即时通讯系统,而最好不要用个人即时通讯3-5。1.2 相关技术知识简介1.2.1 基于SOCKET的网络编程SOCKET在英文中的意思是插座,在网络编程中,其实际意义可以理解为网络通信连接的插座,通常称之为套接字。如果将网络连接的各终端类比为电话,则SOCKET即相当于电话线插座,为各终端提供或创建与其他终端通信连接的桥梁或通道。所有的终端都必须接通此“插座”来完成与其他终端的连接或通信,否则,它将独立于网络之外6。由此可以知道知道,SOCKET是终端间建立连接的核心对象。那么,对于一个SOCKET对象,它到底具备什么样的功能呢?通常,用WINSOCK库来创建和使用SOCKET,运用WINSOCK库的基本API,就可以实现简单的数据输入和输出(即发送数据和接受数据)。在创建一个SOCKET对象后,通过指定IP地址来确定该SOCKET与哪台机器发生交流,通过指定机器端口号(一般为1024以上)确定与该机器上哪个应用程序进行交流。在确定了交流对象后,便可以使用SOCKET与对象机器上的应用程序进行数据的传输和信息的交流。在面向连接的网络通信中,还必须使用SOCKET进行连接的监听和创建,只有创建了稳定的连接后,才开始进行数据的传输7。由于交互方式的不同,SOCKET也分为两种,一种是无连接的数据报形式的,一种则是面向连接的流式套接字,这也是接下来两小节要阐述的内容8。1.2.2 UDP协议与TCP协议的简单介绍UDP协议是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。这与面向流字符的协议不同,如TCP,应用程序产生的全体数据与真正发送的单个IP数据报可能没有什么联系9。UDP不提供可靠性:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地,其过程可以比做投递信件,它只关心信件确实投放到信箱,至于对方是否正确、按时收到信件,UDP并不关心10。尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务11。面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁并与之开始对话12。1.2.3 WINSOCK套接字API调用的简单流程本论文所要讨论的即时通信系统则是通过WINSOCK库的应用来设计和实现基于TCP的C/S结构的网络即时通信程序。这里,用图的方式简单的表示出对WINSOCK库提供的API函数调用过程13。2 系统的相关分析与总体设计2.1 设计目标本系统主要是为中小型企业内部使用的带有简单人事管理功能的局域网即时通信系统,由于要存储并管理用户相关信息的数据,同时要限制普通用户对数据信息的管理权限,比较合适的设计是采用C/S模式的系统架构,数据由数据库进行存储,由服务器对数据库进行直接操作,而客户端则通过对服务器发出请求得到相应的数据或者告知服务器对数据库进行何种操作14。2.2 需求分析2.2.1 功能性需求分析本系统这实现了企业内部网络聊天工具所具备的基本功能,即注册、登录、查找好友,添加好友、更改个人资料、查看好友资料、添加删除分组、各分组之间转移好友、发送消息、接收消息、接收系统消息等,还添加了一些特色功能,如隐身,头像的变化,系统管理员可以向每个客户端发送系统消息,上线下线在好友客户端都有提示,密码丢失可以通过密码找回功能通过设置的密保问题找回密码,并可以判断密码的安全等级等。本系统实现了一个与Tencent QQ相似的友好操作界面,简单,易用,适合用户的操作习惯15。谢谢海南社区支持: 该系统具备了网络聊天工具所具备的基本功能,系统或许存在一些未知的Bug,还需要进一步的改进和测试。在以后的研究中,我们还会研究安全通信协议,保障通信的安全,提高系统的实用性等16。2.2.2 系统用例分析 (1)系统普通用户用例分析登录界面查看好友信息更改个人信息添加删除分组发送信息密保设置接受信息分组转移好友背景更改 普通用户图2.1 系统普通用户用例图查找好友 (2)系统管理员用例分析操作数据库查看操作日志发布系统公告系统管理员图2.2 系统管理员用例图2.3 概要设计原则 企业内部即时通讯系统总体设计目的是加强对需求分析阶段的功能性需求和非功能性需求的综合考虑和理解,系统建设中我们将采用基于C/S模式构建。这些技术的应用实现系统应用的安全、稳定及扩展要求以及开放的跨平台能力和兼容性17。实现了操作界面、应用逻辑、业务数据相对独立,使本系统的实施更加方便、灵活、易于扩展18。为了进一步的规划详细的系统解决方案做准备,本系统在设计过程中注重考虑了以下几个特性: (1)实用性本系统的现实需求就是针对企业内部工作交流不便,浪费时间,数据传送效率低等特点,希望提出一个实用的能满足系统的功能要求和实际应用的需要的企业内部即时通讯系统。所以尽量选择成熟实用的技术,使得整个系统有一个安全、稳定的运行环境19。 (2)可扩展性为使系统能有良好的兼容性和可扩展性,系统在设计时充分考虑了数据库设计容量与处理能力等方面的扩充与升级的可能,不仅充分保护了原有投资,还保证了以后系统功能升级的方便20。 (3)安全性系统对数据的完整性和安全性具有很高的要求。为了保障系统平稳正常的运行,整个系统必须具有很高的安全可靠性,因此,在企业内部即时通讯系统应充分利用数据库的维护工具,便于数据备份、恢复,从而提高系统的安全性21。 (4)可维护性企业内部即时通讯系统的设计要本着“简单易用”的原则,方便用户的使用。对于用户来说,只要掌握基本的计算机操作,便可完成整个操作对于管理员来说,设计时以可维护性为主,做到故障易于排除,日常管理操作简便22。 (5)完整性系统的完整性,涉及到友好的用户界面,高效的信息处理,安全可靠的数据管理,以及优化的网络设计23。2.4 系统安全与分析设计 由于本系统的的安全界面中,分为:“安全概述”,“常见欺诈”,“修改密码”,“修改密保”; (1)安全概述分析设计:主要是描述飞狐2013系统当前帐号的安全状况 if (设置密保并且密码等级为良好以上) 安全状况良好请继续保持良好的习惯 可立即完成设置密码 else if (设置密保并且密码等级为中等以下) 安全状况存在隐患请定期修改密码 立即完成设置密码 else 安全状况危险请立刻设置密保问题 立即完成设置密保 (2)常见欺诈 常见的集中欺诈方式:钓鱼网址,视频欺诈,中奖欺诈,冒充好友欺诈; (3)修改密码 修改密码之前请确保设置密保;如果没有设置密保问题,请先设置密保问题,以确保该账户的安全性。如果设置了密保问题,请先输入原密保问题,核对用户身份。密保正确才可以修改,如果错误,则不能修改密码。 (4)修改密保 如果没有设置密保问题,设置密保问题。如果设置了密保问题,请先输入原密保问题,核对用户身份。密保正确才可以修改,如果错误,则不能修改密保。2.5 数据库结构设计本系统数据库采用 mysql5.6,系统主要需要维护3张数据表:名称登录信息描述用户登录时的账号密码检测来源用户去处服务器用户表组成ID+密码 表2.1 登录信息表表2.2 好友信息表名称取值类型长度昵称Char8IDInt6到8位密码Char6-16问题NOInt1-2问题答案Char20登录状态Int1 年龄Smallint0-99 地区Char20性别Char2签名Char100说明Char255问题详细Char20好友IDInt6-8好友类型Int1好友分组Int1备注char10好友类型详细Char6好友分组详细Char10日期Date内容Char255表2.3 注册信息名称注册信息描述注册新账号来源用户去处服务器用户表组成密码+个人资料表2.4 机位信息表名称聊天信息描述用户聊天时发送信息来源用户去处聊天记录表组成发送方IP+接收方IP+消息内容2.6 系统开发环境和运行环境2.6.1 系统的开发环境本系统开发平台选择考虑到以下几个方面的因素:硬件环境、数据的安全性以及技术支持等等。因此选择操作系统:Windows 7、Windows XP;开发工具:Eclipse;数据库:MySQL6.0;开发语言:Java。2.6.2 系统的运行环境本系统由两部分组成:置于个用户PC机上的飞狐2013客户端,以及置于实验室高性能服务器上的数据库服务器。根据调研得知客户端的计算机配置Pentum4级别以上,服务器PC应配备更高的配置,在Windows xp环境下运行。3 系统详细设计与实现3.1 系统登录界面系统用户登录时,先打开登录页面,然后填写用户和密码信息,并选择状态,点确定后连接数据库,检验用户名密码是否正确,正确则进入到系统主界面。不正确则提示输入的密码有误,请重新输入。输入密码选择状态输入的密码是否正确登录成功跳转到主页面其它操作图3.1 用户登录流程图YN输入用户名图3.2 软件登录界面核心代码:private void jb_loginactionPerformed(ActionEvent e) throws UnknownHostException, IOException, InterruptedExceptionif (jt_user.getText().equals()JOptionPane.showMessageDialog(null, 请输入账号后再登陆, 提示, JOptionPane.INFORMATION_MESSAGE);else if(jt_user.getText().length() 20)JOptionPane.showMessageDialog(null, 请输入正确的账号,账号可以位数字或Email地址。, 提示, JOptionPane.INFORMATION_MESSAGE);else if (jp_password.getText().equals()JOptionPane.showMessageDialog(null, 请输入密码后再登陆, 提示, JOptionPane.INFORMATION_MESSAGE);elselogin_message lmessage = new login_message(jt_user.getText(), jp_password.getText(), 0, 0, 0, 0, jco_status.getSelectedIndex() + 1);MainInterface main = new MainInterface(lmessage);this.dispose();private void jb_loginactionPerformed(KeyEvent e) throws UnknownHostException, IOException, InterruptedExceptionif (jt_user.getText().equals()JOptionPane.showMessageDialog(null, 请输入账号后再登陆, 提示, JOptionPane.INFORMATION_MESSAGE);else if (jt_user.getText().length() 20)JOptionPane.showMessageDialog(null, 请输入正确的账号,账号可以位数字或Email地址。, 提示, JOptionPane.INFORMATION_MESSAGE);else if (jp_password.getText().equals()JOptionPane.showMessageDialog(null, 请输入密码后再登陆, 提示, JOptionPane.INFORMATION_MESSAGE);elselogin_message lmessage = new login_message(jt_user.getText(), jp_password.getText(), 0, 0, 0, 0, jco_status.getSelectedIndex() + 1);MainInterface main = new MainInterface(lmessage);this.dispose(); 冯武宝 海南社区 ./3.2 系统主界面图3.3 系统主界面核心代码:class loginFounction extends Threadpublic void run()trylogin_message lm = new login_message(lmessage.qq, lmessage.password, sys_port, main_port, alive_port, transmit_port, lmessage.status);loginClientThread loginThread = new loginClientThread(lm);loginThread.join(30000);if (loginThread.changed = 1)sendHeartbeatThread_main_temp.start();load();changed = 1;else if (loginThread.changed = 2)/ 当账号和密码不匹配时JOptionPane.showMessageDialog(null, 您的账号和密码不匹配!, 提示, JOptionPane.INFORMATION_MESSAGE);System.exit(0);else/ 当登录超时的情况JOptionPane.showMessageDialog(null, 系统繁忙,请稍后再试!, 提示, JOptionPane.INFORMATION_MESSAGE);System.exit(0);catch (Exception e)class receiveMainInfoThread extends ThreadServerSocketserver;Socketclient;public receiveMainInfoThread()server = getAvailableServerSocketFunction.getServerSocket(main_port);main_port = server.getLocalPort();3.3 系统聊天通讯界面图3.4 聊天通讯界面核心代码:public void actionPerformed(ActionEvent e)if (e.getActionCommand() = 表情)Point p = MouseInfo.getPointerInfo().getLocation();final expression ex = new expression(p.x, p.y);ex.addWindowListener(new WindowAdapter() public void windowActivated(WindowEvent e)/ 当窗口不活跃的时候,自动关闭该窗口public void windowDeactivated(WindowEvent e)ex.dispose(););ex.setVisible(true);else if (e.getActionCommand() = 粗体)if (countBold+) % 2 = 0)jt_recive.setUnBold();elsejt_recive.setBold();else if (e.getActionCommand() = 斜体)if (countItaic+) % 2 = 0)jt_recive.setUnItalic();elsejt_recive.setItalic();else if (e.getActionCommand() = 颜色)color = JColorChooser.showDialog(null, 选择颜色, Color.black);/ 显示调色板color1 = color.getRed();color2 = color.getGreen();color3 = color.getBlue();jt_recive.setColor(new Color(color1, color2, color3);jt_send.requestFocus();else if (e.getActionCommand() = 关闭)MainInterface.map_portLocal.remove(anotherQQ);MainInterface.map_chatWindows.remove(anotherQQ);dispose();else if (e.getActionCommand() = 发送)if (!jt_send.getText().equals()text = jt_send.getText();jt_recive.insert_text2(myname + + time.gettime();transformToReceive(addSize(addColor(text);jt_send.setText();jt_recive.selectAll();jt_recive.setCaretPosition(jt_recive.getSelectedText().length();jt_recive.requestFocus();jt_send.requestFocus();3.4 查找好友界面 图3.5 查找好友界面核心代码:void action()int mark = 1;if (tabNum = 0) / tabNum = 0查找联系人if (jr_1.isSelected() / 查找联系人 - 精确查找sign = 1; if (jt_user.getText().equals() & jt_nickname.getText().equals()JOptionPane.showMessageDialog(null, 请至少填一个查询条件, 警告, JOptionPane.WARNING_MESSAGE);mark = 0;if (!jt_user.getText().equals()user = jt_user.getText();elseuser = null;if (!jt_nickname.getText().equals()nickname = jt_nickname.getText();elsenickname = null;else if (jr_2.isSelected() / 查找联系人 - 条件查找sign = 2; country = item_countryjc_country.getSelectedIndex();if (country.equals(中国) province = item_provincejc_province.getSelectedIndex();if (province.equals(山东)if (!item_cityjc_city.getSelectedIndex().equals(-)city = item_cityjc_city.getSelectedIndex();elsecity = null;else if (province.equals(北京)if (!item_cityjc_city.getSelectedIndex().equals(-)city = item_city1jc_city.getSelectedIndex();elsecity = null;else if (province.equals(-)province = null;city = null;else if (country.equals(美国)if (!province.equals(-)province = item_province1jc_province.getSelectedIndex();else if (province.equals(-)province = null;city = null;city = null;3.5 个人设置界面图3.6 个人设置界面核心代码:public information(personalInfo pinfo, Container c_temp1, MainInterface mainFrame)this.pinfo = pinfo;c_temp_mainInterface = c_temp1;this.main_frame = mainFrame; Image image = Toolkit.getDefaultToolkit().getImage(pic/face/b.jpg);setIconImage(image);screenSize = Toolkit.getDefaultToolkit().getScreenSize();frameSize = this.getPreferredSize();/ 保持弹出窗口居中this.setLocation(screenSize.width - frameSize.width) / 5, (screenSize.height - frameSize.height) / 6);Container container = getContentPane();/ 设置背景图片jl_down = new JLabel();/ 把背景图片显示在一个标签里面jl_down.setIcon(new ImageIcon(pic/background/2.jpg);jl_down.setSize(600, 450);c = (JPanel) container;c.add(jl_down);c.setOpaque(false);c.setLayout(null);jp_left = new JPanel();jp_left.setBounds(0, 0, 150, 380);jp_left.setLayout(null);jp_left.setOpaque(false);c.add(jp_left);jl_head = new JLabel();jl_head.setBounds(25, 10, 100, 100);jl_head.setIcon(new ImageIcon(s1 + pinfo.headImage + _4 + s2);jp_left.add(jl_head);jb_head = new JButton();jb_head.setBounds(30, 115, 90, 20);jb_head.setText(更换头像);jb_head.setActionCommand(更换头像);jb_head.addActionListener(this);jp_left.add(jb_head);3.6 密保安全界面图3.7 帐号密保界面核心代码: jp2_1.setLayout(null);jp2_1.setOpaque(false);jp2_1.setBorder(new LineBorder(Color.gray);jl2_9 = new JLabel();jl2_9.setIcon(new ImageIcon(pic/safe/key.png);jl2_9.setBounds(20, 30, 40, 40);jl2_9.setFont(new Font(宋体, Font.PLAIN, 14);jp2_1.add(jl2_9);jl2_10 = new JLabel();jl2_10.setText(验证密保修改密保);jl2_10.setBounds(65, 40, 150, 20);jl2_10.setFont(new Font(宋体, Font.PLAIN, 14);jp2_1.add(jl2_10);/ 问题一jl2_11 = new JLabel();jl2_11.setBounds(20, 80, 300, 20);jl2_11.setFont(new Font(宋体, Font.PLAIN, 14);jp2_1.add(jl2_11);/ 答案一jl2_12 = new JLabel();jl2_12.setText(答案一:);jl2_12.setBounds(20, 110, 60, 20);jl2_12.setFont(new Font(宋体, Font.PLAIN, 14);jp2_1.add(jl2_12);jt2_1 = new JTextArea();jt2_1.setBounds(77, 110, 200, 20);jt2_1.setBorder(new LineBorder(Color.gray);jp2_1.add(jt2_1);/ 如果为空输出“空”jl2_17 = new JLabel();jl2_17.setBounds(280, 110, 100, 20);jl2_17.setFont(new Font(宋体, Font.PLAIN, 14);jl2_17.setForeground(Color.red);jp2_1.add(jl2_17);/ 问题二jl2_13 = new JLabel();jl2_13.setBounds(20, 140, 300, 20);jl2_13.setFont(new Font(宋体, Font.PLAIN, 14);jp2_1.add(jl2_13);/ 答案二jl2_14 = new JLabel();jl2_14.setText(答案二:);jl2_14.setBounds(20, 170, 60, 20);jl2_14.setFont(new Font(宋体, Font.PLAIN, 14);jp2_1.add(jl2_14);jt2_2 = new JTextArea();jt2_2.setBounds(77, 170, 200, 20);jt2_2.setBorder(new LineBorder(Color.gray);jp2_1.add(jt2_2);4 系统测试4.1 软件测试介绍软件测试是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。测试的目标是以较少的用例、时间和人力找出软件中潜在的各种错误和缺陷,以确保系统的质量24。谢谢海南社区支持:在软件实现过程中,要编写规范化的程序代码,而且要对程序代码进行单元测试,即模块测试或部件测试,然后,进行集成测试和验收测试。测试方法为宏观上采取黑盒方法。微观上采取白盒方法:大的功能模块采用黑盒测试,小的构件采用白盒测试。在开发企业内部即时通讯系统时,每增加一个构件采用白盒测试,通过白盒测试后把该构件集成到系统中,当所有构件集成完毕后,进行黑盒测试25。4.2 软件测试过程测试评价可靠性纠错预期的结果测试结果软件测试构造错误正确错误率数据可靠性预测图4.1 软件测试过程4.3 本系统所进行的测试 (1)用户注册功能的测试。 (2)普通用户的基本功能测试(包括登录、查找好友、更改个人信息、更该背景)。 (3)普通用户的添加和删除分组的功能测试。 (4)用户的聊天通讯功能测试(包括发送信息、接受信息)。 (5)用户安全功能测试(包括密保设置、密保强度检测和通过密保修改密码)。 (6)系统管理员发送系统信息功能的测试。总 结本论文详细的介绍了一个即时通信系统的设计和实现方案,该系统是一个针对中小型企业的集人事管理和内部交流与一体的即时通信系统。在论文中,从系统各个方面依次阐述其设计思想和实现方案,主要包括了以下几个方面的内容: (1)系统功能的设计以及与功能相关的用户信息数据的设计,在功能上尽可能作到完善且实用,在数据信息上尽量全面、没有遗漏。 (2)充分发挥面向对象的思想,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论