版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于java的邮件系统的设计与实现PAGEI1绪论1.1研究背景与意义近些年来,由于现代科学信息技术的飞速发展,网络视频通信在现代人们日常的信息交流中已经变得越来越流行。其中企业电子商务邮件系统作为目前我国现代社会网络上的信息通讯中非常重要的组成部分,它完全替代了原来各种纸质邮件,使新技术下的信息发送更便捷,极大不同程度的便利和方便了我国现代社会中人们的工作和日常生活。跟随着国际电子的不断进步发展,电子商务邮件在基本结构和应用功能上也已经有了新的重大突破。电子邮件现在已经成为互联网上使用最广泛的一种信息服务功能,已经发展成为公司服务于客户的有力工具、现代网络与用户之间最方便、可靠、性价比最高的沟通手段。现在许多学院和大学也使用电子邮件发送和接收承相关教学文档和作业。现如今60%以上的互联网活动与电子邮件有关。随着环境资源不断被破坏,为了促进环境保护。公司和每一位员工都知道应该努力地减少对于这些纸张的直接损坏和使用以及尽量采取通过电子邮件这种方式直接来进行传递信息,这不但能够有效保护环境,而且还甚至可以大大提高其人的工作效率和信息安全性。1.2国内外研究现状及发展趋势经过调研分析,在目前国内外当前流行目前常见的邮件管理系统有以如下几种:“WindowsLiveMailDesktop”,它将桌面编辑软件的实际使用功能性与基于WEB的移动网络电子邮件的实际使用灵活性完美地结合在一起,方便随时自动接收到新闻群和电子邮件RSS资料以及RSS源,并在离线工作状态下随时进行编写、删除和重新管理邮件;随时随地添加有关任何个人资料的WindowsLiveMailDesktop上网络日志。“Koomail”功能支持自动分割用户发送较大的信件,并在用户收到后自动进行合并。它还可以支持邮件断点,并支持继续通过邮件共享方式发送的所有电子信箱邮件,电子邮件主题模板功能支持并为主题添加附件等功能具有停止发送邮件密码加密管理功能为了使电子邮件更安全,实现电子邮件的密码过滤和加密规则管理功能:停止发送垃圾邮件无须使用smtp邮件服务器,具有多种电子邮件编码功能支持各行异国多种语言多个字符让收集邮件彻底与乱码邮件告别;它还可以自动选择先接收较大或较小的邮件从而自动优化接收到的邮件地址列表;它还能定时停止发送垃圾邮件。“Foxmail”它是是一款国内领先的专业化、优质的邮件服务器和客户端管理软件。新的foxmail邮件系统功能具备强大的邮件反垃圾电子邮件管理功能。它可以使用不同的电子技术手段来准确区分各种电子垃圾邮件,可以准确地用来识别标准垃圾邮件和非标准垃圾邮件。垃圾邮件发送能自动进行分类发送到手机垃圾邮件发送邮箱中,有效地大大减少了对手机用户的各类垃圾邮件发送干扰,并大大减少了用户处理各类垃圾邮件的花费时间。foxmail5.0支持数字签名和数据加密验证等功能,确保所有电子商务邮件的信息真实性和数据保密性。发送和处理接收用户电子商务邮件的方式SSL(安全套接层)协议在用户接收和处理发送电子邮件时对用户传输数据信息进行严格安全加密,有效保护防止网络黑客攻击并有效确保用户数据安全。1.3研究内容本论文的主要研究内容如下:1.登录与注册用户注册是当一个新用户想要登录本平台时,首先需注册成为该平台的使用者.在注册时,需填好相关用户信息:账号、用户名和密码。用户登录这一界面显示是指当该注册用户已经注册成为这一登录软件的注册使用者之后,用户只用在这一登录界面的账号输入框输入用户名与密码输入框输入对应密码进行用户登录,就可以进入邮件系统进行相关操作。2.主界面功能的实现(1)发送邮件。用户可以选择向好友发送邮件,发送邮件的同时可以选择其他文件作为附件一并发送;(2)接收邮件。用户可以收到其他用户发送的邮件,可选择对其进行查看,未读的邮件会在首页上显示未读篇数;(3)删除邮件。用户可以在收件箱、发件箱、草稿箱对已存在的邮件进行删除处理。(4)转发邮件。用户可以对进行已经收到的邮件进行转发处理;(5)查找邮件。用户可以在收件箱根据邮件的名称关键词、发件人和邮件状态来查找所需邮件;(6)草稿箱。草稿箱可以用来保存已完成编写但未发送或未写完需保存的电子邮件,方便用户存储并进行下一次的处理;(7)添加或删除好友。用户可以根据用户名搜索好友,不用对方通过直接完成添加;用户也可以在现有好友中删除好友;2系统需求及可行性分析可行性分析,是项目决策者在决定采取重大经济改革或对外投资政策措施之前通过分析和设计证明一个重大项目的决策必要性和项目可行性的一项技术工作。可行性评价研究在国家开发新技术产品、基础配套设施、工业、交通、商业基础设施等对外投资建设项目的许多重要领域都已经得到广泛应用。在我们采取开发性的行动之前,有必要为用户所陈述的目标提供必要的理由。可行性结构分析研究是对系统结构进行初步设计研究后针对发展的系统必要性和潜在可能性情况进行的分析研究,因此也可以称之为可行性分析研究。信息技术系统还认为应在信息技术应用可行性、经济可行性和经济社会管理可行性三个方面分别进行理性论证。2.1系统可行性分析Java是开源的,免费的,而Java中的电子邮件系统就是基于Java的。除此之外,系统所使用的Tomcat服务器、POP3协议、SMTP协议和MySQL数据库服务器都与Java一样是开源免费的,成本极大程度地减少。现有大型邮件系统的许多功能很少被使用。对于普通邮件管理系统来说,绝对完全没有必要为此花费较多时间资金精力来重新开发很少有人使用的一些功能。基于Java的电子邮件系统只设计了基本的电子邮件功能,降低了系统开发成本,提升了开发效率。所以该系统对用户开发是可行的。3系统需求分析3.1功能需求分析电子邮件系统的主要业务功能之一是促使普通用户可以发送和管理接收各类电子商务邮件,本系统的用户角色仅适用于普通用户。用户要求系统的主要功能用户在未注册的情况下可以使用在线注册系统,注册完成后由用户使用新账号登录。登录后可以收发邮件。用户对系统的基本要求(如图3.1所示)如下:(1)用户对好友的要求。用户在进入邮件系统之后应可以在通讯录随时查看所有的好友联系人,并且可以随时添加、删除好友。为了我们能够迅速的通过查找并得到一个好友及其用户体验要求我们能够快速的通过搜索找到好友。(2))满足用户自身信息的管理要求。用户能够做到在自己第一次登录邮件系统后就可以修改身份信息和密码。(3)用户发送邮件的基本要求。系统要求能够发送普通的信件给好友或根据账号发送,同时也应该能够选择文档作为附件一同发送。(4)用户接收邮件的基本要求。用户可以接收到其他用户发送的电子邮件,并可以查看,如果所收到的电子邮件中有附件应可以下载邮件中所携带的附件。图3.1用户简单用例图用户可对系统进行的详细操作(如图3.2所示)如下:注册新用户:用户可以使用该系统注册一个新的系统用户。管理自己的个人信息:用户可以随时修改自己的个人信息,包括用户名、账号和密码。管理邮件信息:可以随时进行收发、查看搜索、转发邮件和存入草稿箱的操作。用户同时也可以在网上接受到其他用户发送的电子邮件,用户可以在网上查看自己已经接受到的电子邮件,并可以在网上对已接受到的电子邮件信息进行删除或者重新处理,在邮件较多的时候可以根据关键字、发件人和邮件状态来进行邮件查找。同时用户也可以发送新的电子邮件给其他用户,用户可以在发送邮件时以附件的形式发送文件,未写完的邮件可以存入草稿箱以便下次编写,还可对已收到的邮件进行转发处理。管理联系人信息:可以进行添加、删除并快捷发送邮件的操作。用户可以进入通讯录通过搜索需要添加的好友账号来添加好友,无需对方同意。也可以进入通讯录直接删除好友。在通讯录内可以直接选择好友进行邮件发送。图3.2用户详细用例图3.2性能需求分析电子邮件系统因为通信便捷,用户群体大多是普通用户,所以在该系统结构设计上设计上必须严格遵循以下几点设计基本准则:(1)邮件的易用性:这个简单的电子邮件系统应用能够让我们像别人一样使用自己的留言板或者是电话一样,在自己方便的情况下会自动做出处理所有记录下来的邮件请求,通过这个简单的电子邮件系统能够方便地发送各种文字、图片、报告、及其他各种计算机应用程序。(2)邮件的快捷性:是指当某个用户已经发送了一封或多个以上的电子邮件时候,收件方就会迅速地接收到该个用户所发送的一封电子邮件,当有紧急的文件需要快速传送时就可以立马收取到。并且当收件方未收到邮件,发件方因发送失败未能发出时,邮件系统也应该给出相应的错误提示信息。以确保由于其它原因导致的电子邮件未能迅速地发送至收件方的邮箱。(3)需要保证邮件的安全性:过去的电子邮件所需要对应的是手写传送信件,现在的电子邮件所对应的是互联网在线电子信件。由于国际互联网的巨大不确定性,电子邮件必须充分保证其在网上直接进行信息传送时的安全。进行通用电子邮件系统结构设计时,应该要充分明确的考虑到所使用的电子邮件的安全。(4)信息的实时性:由于网络中电子邮件用户量大以及使用者的时间差异较小,因此网络中的电子邮件系统服务器一定要采用全天候的开始运行服务。方便了电子邮件系统用户进行实时的发送和管理。3.3数据库需求分析本系统采用mysql数据库,用于数据信息的存储,以下是需要数据库参与的场景分析:(1)为了实现对用户的登录,需要在系统中输入自己的用户帐号和密码。(2)新用户必须进行注册才能登录,注册时按照用户要求详细填写自己的注册用户名和帐号、密码、确认密码等基本的与用户有关的信息。(3)用户的联系人,联系人信息包含编号、邮箱账号、姓名等基本信息。(4)一个用户可以拥有多个联系人,属于一对多关系。经过对该系统主要功能的大量数据进行分析与总结,我最终设计得到了一个如下所示的数据项和其他的数据结构:用户基础资料:包括用户账号、用户密码、用户姓名。联系人基本信息:邮箱账号、姓名。从本系统中规划与用户密切相关的实体包括:用户基础信息、联系人基础信息。通过分析对系统的数据库基础信息及其他用户的基本要求等因素进行综合分析,我们就可以获取出该系统在网络上的用户和联系之间存在着密切相互影响的E-R图如图3.3所示。用户基本信息实体属性图如图3.4所示。图3.3用户与联系人关系E-R图图3.4用户登录信息实体属性图4概要设计与详细设计4.1逻辑结构设计逻辑结构设计的一个核心任务就是将在概念上进行逻辑结构设计的各个阶段所已经设计好的E-R图直接转化成与其相应的关联性模式,从而迅速地完成了逻辑结构的设计,为后期数据库实现工作做好了准备。本文在系统数据库中所采用的方法是MySQL数据库,数据库的标题为email。用户登录关系模式(主键用下划线标出):jamesuser(name,alg,enable,password,version)用户基本信息关系模式:userinfo(id,pwdEmail,user_id)联系人信息关系模式:linkman(id,name)4.2系统功能结构设计电子邮件系统的主要交互使用管理人员主要是一些普通用户,通过对系统使用需求的统计分析我们可以准确获得以下几种用户在邮件系统中能运行的操作。(1)用户登录。(2)注册新用户。(3)添加好友。(4)删除好友。(5)查询好友。(6)收发邮件(7)查看邮件。(8)查找邮件。(9)设置邮件状态。(10)删除邮件。(11)邮件草稿箱。(12)转发邮件。(13)修改用户信息。系统功能结构图如图4.1所示。图4.1电子邮件系统功能结构图4.2.1用户登录邮件系统的工作过程及实现(1)用户登录系统(login.jsp页面,如图4.2所示),在登录页面输入并提交自己的账号和密码。图4.2系统登录页面(2)系统根据用户提交的信息将数据传送到业务逻辑类。(3)业务逻辑类再按照提交的账号信息访问数据访问类。(4)数据访问类根据账号信息在数据库中查找用户并确认密码。(5)查找并确认完毕后将确认结果返回到登录页面面上显示。(6)如果查找确认成功即可进入首页(成功页面如图4.3所示),未查找确认成功,需重新登录或退出(登录操作序列图如图4.4所示,用户登录系统操作协作图如图4.5所示)。图4.3登录成功界面图4.4用户登录操作序列图图4.5用户登录操作协作图(7)登录核心代码如下://用户登录@RequestMapping("/login")publicStringlogin(Useruser,HttpServletRequestrequest,HttpSessionsession){//校验用户的输入if(user.getUserid()==null||user.getUserid().equals("")||user.getUserid().length()<3||user.getUserid().length()>20||user.getUserid().indexOf(".")!=-1||user.getUserid().indexOf("")!=-1||user.getUserid().indexOf("@")!=-1){request.setAttribute("error","您的账号不正确!请重新输入");return"login";}if(user.getPassword()==null||user.getPassword().trim().equals("")){request.setAttribute("error","请输入正确的密码!");return"login";}//这里检测账号是否存在StringuserId=user.getUserid();booleanflag=userService.checkItExist(userId+"@163.com");if(flag!=false){request.setAttribute("error","该账户不存在,请先注册");return"login";}UserdbUser=userService.getUserByUserid(userId+"@163.com");if(!user.getPassword().equals(dbUser.getPassword())){request.setAttribute("error","密码不正确!请重新登录");return"login";}//如果登录成功,则跳到主页面,并保存到sessionrequest.setAttribute("user",user);session.setAttribute("user",dbUser);//获取当前用户intcount=emailService.getCountsNoReaded(user.getUserid());System.out.println(count);session.setAttribute("count",count);return"main";}4.2.2注册新用户信息的工作流程与实现(1)用户点击注册,填写用户账号、用户名、密码并提交(如图4.6所示)。图4.6注册页面(2)该系统把用户提交的登录信息都封装在一个对象中,并把这些数据传递到相应的业务逻辑类。(3)业务逻辑类根据提交的信息判断是否符合注册信息标准。(4)确认信息符合后,再将提交的注册信息传递给各数据库访问类。(5)数据库访问类访问数据库,找到用户数据库并将用户提交的注册信息存入到用户数据库中。存入成功后返回成功信息给业务逻辑类。(6)业务逻辑类根据数据访问类返回的信息显示到注册页面(注册新用户序列图如图4.7所示,注册新用户协作图如图4.8所示)。图4.7注册新用户序列图图4.8注册新用户协作图(7)注册核心代码如下://用户注册@RequestMapping(value="/regist",method=RequestMethod.POST)publicStringregist(Useruser,Stringrepassword,HttpServletRequestrequest){//校验用户的输入if(user.getUserid()==null||user.getUserid().equals("")||user.getUserid().length()<3||user.getUserid().length()>20||user.getUserid().indexOf(".")!=-1||user.getUserid().indexOf("")!=-1||user.getUserid().indexOf("@")!=-1){request.setAttribute("error","您的账号输入有误!请重新注册");return"regist";}if(user.getPassword()==null||user.getPassword().trim().equals("")){request.setAttribute("error","请输入正确的密码!");return"regist";}if(!user.getPassword().equals(repassword)){request.setAttribute("error","两次输入的密码不一致!请重新注册");return"regist";}//这里检测账号是否存在StringuserId=user.getUserid();booleanflag=userService.checkItExist(userId+"@163.com");if(flag==false){request.setAttribute("error","该账号已存在!请重新输入账号");return"regist";}//如果检测全部通过,将用户信息添加到数据库,之后跳到登录界面进行登录request.setAttribute("userId",user.getUserid());user.setUserid(user.getUserid()+"@163.com");userService.addUser(user);request.setAttribute("success","注册成功!");return"login";}4.2.3用户添加好友信息工作流程与实现(1)首先用户登录并进入系统。(2)用户点击并进入通讯录(如图4.9所示)。图4.9用户添加好友页面(3)用户输入要添加的好友账号并提交。(4)将用户提交的好友账号信息封装成一个对象,传送到业务逻辑类,业务逻辑类检查账号信息是否符合账号标准。(5)检查通过后将账号信息提交到数据访问类,找到好友数据库并将账号信息添加到数据库中。(6)添加信息成功户将信息又重新提交到业务逻辑类,业务逻辑类将成功添加好友的信息返回给用户。(7)通讯录页面随之显示添加成功的联系人(用户添加好友序列图如图4.10所示,用户添加好友协作图如图4.11所示)。图4.10用户添加好友序列图图4.11用户添加好友协作图(8)添加好友核心代码如下//添加朋友@RequestMapping("/add")publicStringadd(HttpServletRequestrequest,HttpSessionsession,StringfriendId){Useruser=(User)session.getAttribute("user");List<Friend>lists=friendService.getAllFriends(user.getUserid());for(Friendfriend:lists){if(friend.getFriendId().equals(friendId)){request.setAttribute("error","该用户已经存在通信录中!请勿重新添加");List<Friend>list=friendService.getAllFriends(user.getUserid());request.setAttribute("friends",list);return"friend";}}Friendfriend=newFriend();friend.setUserid(user.getUserid());friend.setFriendId(friendId);Userfri=userService.getUserByUserid(friendId);if(fri==null){List<Friend>list=friendService.getAllFriends(user.getUserid());request.setAttribute("error","您要添加的用户不存在!");request.setAttribute("friends",list);return"friend";}friend.setFriendName(fri.getUsername());friendService.add(friend);List<Friend>list=friendService.getAllFriends(user.getUserid());request.setAttribute("success","添加成功!");request.setAttribute("friends",list);return"friend";}4.2.4用户发送电子邮件工作流程与实现(1)首先用户登录系统并进入首页。(2)用户点击写信进入编写邮件界面(写信页面如图4.12所示),进入成功后填写要发送的邮件信息并提交。图4.12用户发送电子邮件(3)业务逻辑分类根据所提交的邮件资料来判断有无附件并需要进行发送,如有则把附件直接添加到其他电子邮件中一并进行发送。(4)业务逻辑类调用发送邮件类发送所提交的电子邮件。当发送成功后返回成功信息。并返回给用户发送成功页面(用户发送电子邮件序列图如图4.13所示,用户发送电子邮件协作图如图4.14所示)。(5)当发送一个带有附件的信息或邮件时,附件应首先从网站上传送给已发出的邮件服务器,再从网站上加载附件发送给已经接收到的信息或邮件中。图4.13用户发送电子邮件序列图图4.14用户发送电子邮件协作图(6)发送邮件核心代码如下:@RequestMapping(value="/upload/{type}",method=RequestMethod.POST)publicStringupLoad(Emailemail,Savesave,Stringuserid,HttpServletRequestrequest,HttpSessionsession,@PathVariableinttype,@RequestParam(value="file")MultipartFilepic){Useru=(User)session.getAttribute("user");if(u==null)return"login";//检查收件人地址是否为空if(email.getAddresserId()==null||email.getAddresserId().trim().equals("")){request.setAttribute("error","请输入收件人邮箱");return"send";}//检查收件人地址是否存在booleanflag=userService.checkItExist(userid);if(flag==true){request.setAttribute("error","该收件人不存在!");return"send";}if(email.getTitle()==null||email.getTitle().trim().equals("")){request.setAttribute("error","主题填写不完整!");return"send";}StringoriginalFileName;Stringpath;if(pic==null||pic.getSize()==0){originalFileName="无附件";path="";}else{//获取文件的原始名称originalFileName=pic.getOriginalFilename();//上传文件,返回的path是存放在服务器中的文件路径path=upLoadFile(pic);//所有检验完毕后把email信息填写完整之后添加到数据库}if(type==0){Datedate=newDate();email.setAddresseeId(u.getUserid());email.setTime(date);email.setFilename(originalFileName);email.setFilepath(path);//获取IDintid=emailService.getTheLastId();email.setId(id);email.setReaded(0);emailService.addMail(email);}else{Datedate=newDate();save.setAddresseeId(u.getUserid());save.setTime(date);save.setFilename(originalFileName);save.setFilepath(path);//获取IDintid=saveService.getTheLastId();save.setId(id);save.setReaded(0);saveService.addSave(save);}request.setAttribute("success","操作成功!");request.setAttribute("email",null);request.setAttribute("save",null);return"send";}//附件上传方法publicStringupLoadFile(MultipartFilefile){Stringpath=null;//首先获取文件原始名称,目的在于获取上传文件的后缀名StringoriginalName=file.getOriginalFilename();//获取文件后缀名,要求是png、jpg、gif、jpegStringsuffix=originalName.substring(originalName.lastIndexOf('.'));if(suffix.equalsIgnoreCase(".bat")||suffix.equalsIgnoreCase(".exe")){returnnull;}//创建新的文件名StringnewFileName=UUID.randomUUID()+originalName.substring(originalName.lastIndexOf('.'));SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");Filef;//设置路径//创建文件夹路径,创建的文件夹路径有级数限制。注意path="D:\\TomcatFile\\"+sdf.format(newDate())+"\\";Filepat=newFile(path);pat.mkdirs();path=path+newFileName;f=newFile(path);try{file.transferTo(f);}catch(Exceptione){e.printStackTrace();}returnpath;}4.2.5用户查看电子邮件工作流程与实现(1)用户登录系统并进入首页。(2)选择收件箱(如图4.15所示)。进入收件箱后系统会加载该邮箱中的所有邮件。图4.15用户查看电子邮件(3)业务逻辑类根据收件箱的信息访问数据访问类。(4)数据访问类根据选择查看的收件箱信息加载收件箱中的所有邮件信息。然后返回所有的邮件信息列表给业务逻辑类。(5)接着根据返回的信息返回收件箱邮件信息列表。(6)在收件箱页面中显示所有的邮件信息列表。(7)用户在收件箱中选择一封要查看的邮件具体信息。(8)将信息提交给业务逻辑类,再由业务逻辑类将这些数据传递给查看电子邮件类。(9)查看电子邮件类返回用户选择的邮件具体信息给业务逻辑类。(10)随后再将所选邮件的具体信息返回给邮件页面并显示(用户查看电子邮件序列图如图4.16所示,用户查看电子邮件协作图如图4.17所示)。(11)草稿箱、收件箱的工作流程同上。图4.16用户查看电子邮件序列图图4.17用户查看电子邮件协作图(12)查看邮件核心代码如下:@RequestMapping("/myReceive/{userid}")publicStringmyReceive(HttpSessionsession,HttpServletRequestrequest,@PathVariableStringuserid){//检查用户是否已经注销,或者浏览器已清除用户缓存,如果清除,则需要重新登录Useru=(User)session.getAttribute("user");if(u==null)return"login";System.out.println(userid);//获取指定收件人的所有邮件List<Email>list=emailService.selectByErId(userid+".com");List<Email>finalList=newArrayList<Email>();for(Emailemail:list){if(email.getReaded()!=2){finalList.add(email);}}//按已读和未读来排序,未读的优先显示finalList.sort(newComparator<Email>(){publicintcompare(Emailo1,Emailo2){returno1.getReaded()-o2.getReaded();}});request.setAttribute("emails",finalList);return"receiveEmail";}/**该方法完成邮件查看的功能***/@RequestMapping(value="/look/{id}",method=RequestMethod.GET)publicStringlook(@PathVariableintid,HttpSessionsession,HttpServletRequestrequest){//检查用户是否已经注销,或者浏览器已清除用户缓存,如果清除,则需要重新登录Useru=(User)session.getAttribute("user");if(u==null)return"login";Emailemail=emailService.getEmailById(id);request.setAttribute("email",email);return"email_info";}4.3数据库的实现通过对以上所有的数据资料信息都进行了分析,将所有的数据基础信息经由mysql来实现。用户信息表的设计如图4.18所示。图4.18用户信息表用户信息表是用来存储用户的基本信息。每一个注册用户基础信息都是相对于一个注册用户的登录基础信息,有了这些资料用户的信息才能算完整。联系人信息表的设计如图4.19所示。图4.19联系人信息表4.4邮件服务器设置 系统采用163SMTP服务器,网易邮箱可以通过以下方式开启(如图4.20所示):首先登录网页邮箱,点击邮箱页面上方的“设置”,选择“POP3/SMTP/IMAP”,再根据实际需求开启POP3/IMAP或者SMTP/IMAP服务,并根据页面提示进行短信验证操作。(注:取消勾选,既可关闭成功图4.20更改协议设置5测试系统5.1功能测试5.1.1登录打开页面,http://localhost:8080/emailSys/login,输入账号:liufykxxd@163.com密码:123456,点击登录(如图5.1所示),跳转主页(如图5.2所示)。图5.1登录图5.2首页5.1.2写信、收件箱、已发送点击左侧边栏写信,收件人:zhangsansguk@163.com,主题:测试写信(如图5.3所示),附件:点击上传timg.jpg文件,内容填写:这个一个测试写信邮件,点击发送,发送成功(如图5.4所示)。登录zhuangsansguk@163.com账号,密码123456,查看收件箱,查看收到刚才邮件。接收成功(如图5.5所示)。图5.3写信图5.4发送邮件图5.5收件5.1.3我的草稿箱点击左侧边栏写信(如图5.6所示),收件人:zhangsansguk@163.com,主题:草稿邮件,点击存草稿,然后到我的草稿箱查看刚才保存邮件(如图5.7所示)。图5.6编写草稿邮件图5.7保存草稿邮件5.2集成测试渐增式测试模式是本系统主要采用的模式,所谓的渐增式测试是把一个要测试的系统模块和已经测试好无任何问题的模块结合起来进行测试,测试完以后再按照同样的方法对下一个模块进行测试。该测试方法采用的是系统从下到上的整体集成方法。系统集成测试的步骤见下图。图5.8整体集成测试示意图图5.9通讯录集成测试示意图图5.10基本功能集成测试示意图图5.11联系人信息管理集成测试示意图图5.12发送邮件集成测试示意图图5.13邮件管理集成测试示意图图5.14搜索邮件集成测试示意图5.3系统测试对该系统进行压力测试如下:(1)本系统测试机配置Intel酷睿i58250U四核3.4GHz,内存8GB,64位的Windows10操作系统。(2)在网上进行系统调试时同时需要执行的应用软件:Tomcat服务器、idea、MySQL数据库和谷歌网页浏览器。由于软件是离线系统,计算机配置中等且同时运行多个不同的软件,最终系统的压力测试结果可以维持在多人同时使用该系统。对该系统进行性能测试如下:(1)软件系统的自动响应运行能力:在各种系统负载运行压力的情况下,该离线软件系统的自动响应时间长度可以充分满足管理员的需求。(2)提高系统的吞吐率:通过这种系统的应用可以使得系统能够在一个单位工作的时间范围之内完成一个系统所需要的交易量。(3)系统的负载能力:离线系统只能支持单个用户运行系统,所以在正常的业务响应工作时间中,系统负载满足要求。6结语在我的大学生活和毕业设计工作的过程中,我不断地发现自己面临着各种问题,然后分析问题的原因并试图去解决它们。一方面,系统设计正在逐步改善,另一方面,我还在学习软件开发技能。其中一些更深层次的经验,先开发后套软件,用来调整自己的开发软件时间和工作流程,严格按照时间和流程,分统分析应该干什么,开发系统的关键是需求分析,早开发阶段,要充分了解系统的工作流程,需要实现用户的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年六月夏季招聘计划方案
- 2026年危险化学品教育考试试题及答案解析
- 2026届江西省共青城市第一中学等校高三下学期5月高考适应性检测历史试题(含答案)
- 区位优势练习题及参考答案
- 大学生个人总结思想方面(3篇)
- 第一季度员工思想动态分析报告(3篇)
- 乡村安全知识测试题及答案
- 五年级下册数学北师大含答案 确定位置(一)
- 教师理论知识试题及参考答案
- 药物养生考卷题目及答案
- TCPPIA 16-2022交联聚乙烯(PE-X)管用加强环冷扩式管件(扫描版)
- 六年级音乐上册《猜调》-云南汉族民歌的节奏游戏与即兴创编教学设计
- 七年级语文下册第二单元整合-殷殷之情系华夏寸寸丹心许家国 课件
- 瑶族美食教学课件
- 2026年初级会计(初级会计实务)自测试题及答案
- 铁缺乏性贫血预防与干预培训指南
- 2025年第二届玻璃基板TGV暨板级封装产业高峰论坛:微镜阵列高速变焦系统在TGV测试系统的应用
- 男装店长核心职责培训
- 银行从业人员法律培训大纲
- 弥漫性大B细胞淋巴瘤病例讨论
- T/CSWSL 007-2019饲料原料酵母水解物
评论
0/150
提交评论