邮件系统设计.doc

上传人:牧羊曲112 文档编号:4297938 上传时间:2023-04-14 格式:DOC 页数:78 大小:1.13MB
返回 下载 相关 举报
邮件系统设计.doc_第1页
第1页 / 共78页
邮件系统设计.doc_第2页
第2页 / 共78页
邮件系统设计.doc_第3页
第3页 / 共78页
邮件系统设计.doc_第4页
第4页 / 共78页
邮件系统设计.doc_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《邮件系统设计.doc》由会员分享,可在线阅读,更多相关《邮件系统设计.doc(78页珍藏版)》请在三一办公上搜索。

1、成员负责模块李进(组长)邮件服务器管理模块、邮件管理之邮件发送模块,其他模块有参与马昌修改用户信息模块,其他模块有参与高宁邮件管理模块(重要)何骥越登录模块王贺注册模块网络邮件系统电子邮件作为Internet最为广泛的应用之一,在人们的工作和生活中扮演着重要的角色,应用的普及使电子邮件技术有了飞速的发展。网络电子邮件系统在当今的互联网上比比皆是,不管是windows上的普及,还linux上的稳定可靠和低廉;不管是分布式系统,还是基于P2P,都离不开邮件系统的基本原理。邮件传输原理在Internet上将一段文本信息从一台计算机传送到另一台计算机上,可通过两种协议来完成,即SMTP(SimpleM

2、ailTransferProtocol,简单邮件传输协议)和POP3(PostOfficeProtocol,邮局协议3)。SMTP是Internet协议集中的邮件标准。在Internet上能够接收电子邮件的服务器都有SMTP。电子邮件在发送前,发件方的SMTP服务器与接收方的SMTP服务器联系,确认接收方准备好了,则开始邮件传递;若没有准备好,发送服务器便会等待,并在一段时间后继续与接收方邮件服务器联系。这种方式在Internet上称为“存储转发”方式。POP3可允许E-mail客户向某一SMTP服务器发送电子邮件,另外,也可以接收来自SMTP服务器的电子邮件。换句话说,电子邮件在客户PC机与

3、服务提供商之间的传递是通过P0P3来完成的,而电子邮件在Internet上的传递则是通过SMTP来实现。如图所示:发送主机服务器B服务器A客户SMTPPOPInternet注:服务器A是发送邮件服务器(SMTP),服务器B是接收邮件服务器(POP3/IMAP)1.电子邮件的发送和接收电子邮件在Internet上发送和接收的原理可以很形象地用我们日常生活中邮寄包裹来形容:当我们要寄一个包裹的时候,我们首先要找到任何一个有这项业务的邮局,在填写完收件人姓名、地址等等之后包裹就寄出而到了收件人所在地的邮局,那么对方取包裹的时候就必须去这个邮局才能取出。同样的,当我们发送电子邮件的时候,这封邮件是由邮

4、件发送服务器(任何一个都可以)发出,并根据收信人的地址判断对方的邮件接收服务器而将这封信发送到该服务器上,收信人要收取邮件也只能访问这个服务器才能够完成。2.电子邮件地址的构成电子邮件地址的格式是“USERSERVER.COM”,由三部分组成。第一部分“USER”代表用户信箱的帐号,对于同一个邮件接收服务器来说,这个帐号必须是唯一的;第二部分“”是分隔符;第三部分“SERVER.COM”是用户信箱的邮件接收服务器域名,用以标志其所在的位置。3.电子邮件的工作原理电子邮件与普通邮件有类似的地方,发信者注明收件人的姓名与地址(即邮件地址),发送方服务器把邮件传到收件方服务器,收件方服务器再把邮件发

5、到收件人的邮箱中。更进一步的解释涉及到以下几个概念:MUA-MailUserAgent,邮件用户代理,帮助用户读写邮件;MTA-MailTransportAgent,邮件传输代理,负责把邮件由一个服务器传到另一个服务器或邮件投递代理;MDA-MailDeliveryAgent,邮件投递代理,把邮件放到用户的邮箱里。整个邮件传输过程如下:目前使用的SMTP协议是存储转发协议,意味着它允许邮件通过一系列的服务器发送到最终目的地。服务器在一个队列中存储到达的邮件,等待发送到下一个目的地。下一个目的地可以是本地用户,或者是另一个邮件服务器。如果下游的服务器暂时不可用,MTA就暂时在队列中保存信件,并在

6、以后尝试发送。关于邮件系统的其他一些技术,我们暂且不考虑。如下所示:邮件服务器提供了邮件系统的基本结构,包括邮件传输、邮件分发、邮件存储等功能,以确保邮件能够发送到Internet网络中的任意地方。目前邮件服务器有两种不同的应用群体:ISP提供商和企事业单位。Web邮件技术,使邮件用户可以在任何地方使用浏览器登录邮件服务器收发邮件,而不用配置邮件客户端程序。多域邮件服务是一台物理服务器为多个独立注册Internet域名的企业或单位提供电子邮件的服务,在逻辑上,这些企业和单位拥有自己独立的邮件服务器(企业邮局),也可以称为虚拟邮件服务器技术。对于ISP提供商和企业集团公司来说,多域邮件服务器的支

7、持能力是选择邮件服务器的一个重要考虑因素。它可以方便地扩展其横向邮件服务能力。使用Linux作为邮件服务器,可以与Sendmail、MySQL等开源软件共同使用,在满足用户需求的基础上降低了系统价格。邮件服务器的安全防护,包括数据身份认证、传输加密、垃圾邮件过滤、邮件病毒过滤、安全审计等的多项安全技术。身份认证主要指SMTP发信认证,此项功能对于邮件服务器是一个可选功能,主要目的是防止黑客利用自己的服务器攻击其他邮件服务器。完善SMTP身份认证不仅可以制止黑客的恶劣行为,同时可以保证自己的邮件服务器的各种资源可以充分地应用到日常的邮件处理过程中,不会造成服务器的系统崩溃和资源浪费。无论是POP

8、3协议还是SMTP协议,由于其在设计之初的缺陷,全部使用明码进行消息的传递,因此很容易造成信息的泄漏。可以通过两种方式提高系统的安全性:链路加密和端对端加密。链路加密是使用加密工具(软硬件工具)对传输的线路进行数据加密,需要网络设施的支持。端对端加密是邮件客户端到邮件客户端的加密,是邮件服务器应当提供的功能,目前较为流行的方式是使用SSL/TLS进行传输加密。垃圾邮件大多是一些带有商业性质的广告等宣传品。据估计,仅仅商业性垃圾邮件一项,每封垃圾邮件所抵消的生产力成本就在1美元左右。单是下载垃圾邮件所花费的上网费与电话费,每年就要花掉全球网民94亿美元。此外,许多病毒以及身份证和信用卡盗用案例也

9、与垃圾邮件有关。因此,需要邮件服务器具有垃圾邮件处理的功能,抵御大部分垃圾邮件的攻击。黑客攻击和病毒本来是两个相对独立的技术体系,但是随着网络的不断发展,网络工具与病毒越来越趋于融合,比如尼姆达病毒既是病毒,也是网络攻击的一种方式,而应用广泛的电子邮件,也成了病毒传播的主要方式之一。目前,大多数邮件服务器都具有了基本的病毒防护的能力。目前的邮件服务器,仅中文就有若干字符集,如GB-2312、Big5等等,虽然我们可以统一标准,但是,在实际的过程中,我们不可能统一所有的邮件客户端,因此我们只能要求邮件服务器支持多语言的环境。由于目前许多邮件服务器处于电信托管等方式(服务器托管、服务器租用),不可

10、能经常进行本地操作,因此目前邮件服务器均提供了远程邮件监控的功能。可以通过Web方式,监控邮件服务器的工作状态,包括在线用户数、邮件处理数量和速度、存储空间使用率等,并且可以随时对出现的发信高峰和网络攻击进行远程处理。电子邮件系统应该具备无限的扩展能力,Internet网络的一个特性是变化无常,需要应对随时而来的应用尖峰。因此,需要电子邮件系统具有无限的可扩展能力,这个能力主要体现在邮件的处理能力和邮件的存储能力上。为了能够使邮件的处理能力可以无限扩展,就需要引入集群和负载均衡技术,使应用平台可以在需要的时候无限扩充,满足长期或临时的业务需要。对于2000万以上的邮件用户来说,每天发送的邮件量

11、至少在几千万封,为了便于邮件存储,需要高性能的邮件存储解决方案,最为理想的应该是SAN技术在邮件服务器领域的应用。常见邮件协议:SMTP(SimpleMailTransferProtocol):SMTP主要负责底层的邮件系统如何将邮件从一台机器传至另外一台机器。POP(PostOfficeProtocol):目前的版本为POP3,POP3是把邮件从电子邮箱中传输到本地计算机的协议。IMAP(InternetMessageAccessProtocol):目前的版本为IMAP4,是POP3的一种替代协议,提供了邮件检索和邮件处理的新功能,这样用户可以完全不必下载邮件正文就可以看到邮件的标题摘要,从

12、邮件客户端软件就可以对服务器上的邮件和文件夹目录等进行操作。IMAP协议增强了电子邮件的灵活性,同时也减少了垃圾邮件对本地系统的直接危害,同时相对节省了用户察看电子邮件的时间。除此之外,IMAP协议可以记忆用户在脱机状态下对邮件的操作(例如移动邮件,删除邮件等)在下一次打开网络连接的时候会自动执行。本系统主要从简单的邮件客户端来探讨一个邮件系统。利用JavaMail来实现。以下是关于JavaMail的一些基本知识:JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出

13、类似于MicrosoftOutlook的应用程序。虽然JavaMail是Sun的API之一,但它目前还没有被加在标准的java开发工具包中(JavaDevelopmentKit),这就意味着你在使用前必须另外下载JavaMail文件。除此以外,你还需要有Sun的JavaBeansActivationFramework(JAF)。JavaBeansActivationFramework的运行很复杂,在这里简单的说就是JavaMail的运行必须得依赖于它的支持。在Windows2000下使用需要指定这些文件的路径,在其它的操作系统上也类似。JavaMail是可选包,因此如果需要使用的话你需要首先从

14、下载。目前最新版本是JavaMail1.4,使用JavaMail的时候需要JavabeanActivationFramework的支持,因此你也需要下载JAF。安装JavaMail只是需要把他们加入到CLASSPATH中去,如果你不想修改CLASSPATH的话,可以直接把他们的jar包直接copy到JAVA_HOME/lib/ext下。这样JavaMail就安装好了。JavaMail包中用于处理电子邮件的核心类是:Session,Message,Address,Authenticator,Transport,Store,Folder等。Session定义了一个基本的邮件会话,它需要从Prope

15、rties中读取类似于邮件服务器,用户名和密码等信息。Javax.mail.Session:Session类定义了一个基本邮件会话(session),是JavaMailAPI最高层入口类。所有其它类都是经由这个session才得以生效。Session对象用Java.util.Properties对象获取信息,如邮件服务器、用户名、密码及整个应用程序中共享的其它信息。Javax.mail.Message:一旦获得Session对象,就可以继续创建要发送的消息。这由Message类来完成。因为Message是个抽象类,必需用一个子类,多数情况下为Javax.mail.internet.MimeMe

16、ssage。MimeMessage是个能理解MIME类型和头的电子邮件消息,正如不同RFC中所定义的。虽然在某些头部域非ASCII字符也能被译码,但Message头只能被限制为用US-ASCII字符。Javax.mail.Address:一旦您创建了Session和Message,并将内容填入消息后,就可以用Address确定信件地址了。和Message一样,Address也是个抽象类。您用的是Javax.mail.internet.InternetAddress类。Javax.mail.Authenticator:与J类一样,JavaMailAPI也可以利用Authenticator通过用户

17、名和密码访问受保护的资源。对于JavaMailAPI来说,这些资源就是邮件服务器。JavaMailAuthenticator在Javax.mail包中,而且它和J中同名的类Authenticator不同。两者并不共享同一个Authenticator,因为JavaMailAPI用于Java1.1,它没有J类别。要使用Authenticator,先创建一个抽象类的子类,并从getPasswordAuthentication()方法中返回PasswordAuthentication实例。创建完成后,您必需向session注册Authenticator。然后,在需要认证的时候,就会通知Authenti

18、cator。您可以弹出窗口,也可以从配置文件中(虽然没有加密是不安全的)读取用户名和密码,将它们作为PasswordAuthentication对象返回给调用程序。Javax.mail.Transport:消息发送的最后一部分是使用Transport类。这个类用协议指定的语言发送消息(通常是SMTP)。它是抽象类,它的工作方式与Session有些类似。仅调用静态send()方法,就能使用类的缺省版本:Transport.send(message);或者,读者也可以从针对自己的协议的会话中获得一个特定的实例,传递用户名和密码(如果不必要就不传),发送消息,然后关闭连接。Javax.mail.St

19、ore:Store类实现特定邮件协议上的读、写、监视、查找等操作。通过Javax.mail.Store类可以访问Javax.mail.Folder类。Javax.mail.Folder:Folder类用于分级组织邮件,并提供照Javax.mail.Message格式访问email的能力。具体用法大家可以查看JavaMailAPI。简单示例:packagefss.base;importjava.util.*;importjavax.mail.*;importjavax.mail.internet.*;importjava.util.Date;importjavax.activation.*;im

20、portjava.io.*;publicclassMail/把本程序所用变量进行定义。具体在main中对它们赋植。privateMimeMessagemimeMsg;/MIME邮件对象privateSessionsession;/邮件会话对象privatePropertiesprops;/系统属性privatebooleanneedAuth=false;/smtp是否需要认证privateStringusername=;/smtp认证用户名和密码privateStringpassword=;privateMultipartmp;/Multipart对象,邮件内容,标题,附件等内容均添加到其中后

21、再生成/MimeMessage对象publicMail(Stringsmtp)setSmtpHost(smtp);createMimeMessage();publicvoidsetSmtpHost(StringhostName)System.out.println(设置系统属性:mail.smtp.host=+hostName);if(props=null)props=System.getProperties();/获得系统属性对象props.put(mail.smtp.host,hostName);/设置SMTP主机publicbooleancreateMimeMessage()trySys

22、tem.out.println(准备获取邮件会话对象!);session=Session.getDefaultInstance(props,null);/获得邮件会话对象catch(Exceptione)System.err.println(获取邮件会话对象时发生错误!+e);returnfalse;System.out.println(准备创建MIME邮件对象!);trymimeMsg=newMimeMessage(session);/创建MIME邮件对象mp=newMimeMultipart();/mp一个multipart对象/Multipartisacontainerthatholds

23、multiplebodyparts.returntrue;catch(Exceptione)System.err.println(创建MIME邮件对象失败!+e);returnfalse;publicvoidsetNeedAuth(booleanneed)System.out.println(设置smtp身份认证:mail.smtp.auth=+need);if(props=null)props=System.getProperties();if(need)props.put(mail.smtp.auth,true);elseprops.put(mail.smtp.auth,false);pu

24、blicvoidsetNamePass(Stringname,Stringpass)System.out.println(程序得到用户名与密码);username=name;password=pass;publicbooleansetSubject(StringmailSubject)System.out.println(设置邮件主题!);trymimeMsg.setSubject(mailSubject);returntrue;catch(Exceptione)System.err.println(设置邮件主题发生错误!);returnfalse;publicbooleansetBody(S

25、tringmailBody)trySystem.out.println(设置邮件体格式);BodyPartbp=newMimeBodyPart();bp.setContent(+mailBody,text/html;charset=GB2312);mp.addBodyPart(bp);returntrue;catch(Exceptione)System.err.println(设置邮件正文时发生错误!+e);returnfalse;publicbooleanaddFileAffix(Stringfilename)System.out.println(增加邮件附件:+filename);tryB

26、odyPartbp=newMimeBodyPart();FileDataSourcefileds=newFileDataSource(filename);bp.setDataHandler(newDataHandler(fileds);bp.setFileName(fileds.getName();mp.addBodyPart(bp);returntrue;catch(Exceptione)System.err.println(增加邮件附件:+filename+发生错误!+e);returnfalse;publicbooleansetFrom(Stringfrom)System.out.pri

27、ntln(设置发信人!);trymimeMsg.setFrom(newInternetAddress(from);/设置发信人returntrue;catch(Exceptione)returnfalse;publicbooleansetTo(Stringto)System.out.println(设置收信人);if(to=null)returnfalse;trymimeMsg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to);returntrue;catch(Exceptione)returnfalse;publ

28、icbooleansetCopyTo(Stringcopyto)System.out.println(发送附件到);if(copyto=null)returnfalse;trymimeMsg.setRecipients(Message.RecipientType.CC,(Address)InternetAddress.parse(copyto);returntrue;catch(Exceptione)returnfalse;publicbooleansendout()trymimeMsg.setContent(mp);mimeMsg.saveChanges();System.out.print

29、ln(正在发送邮件.);SessionmailSession=Session.getInstance(props,null);Transporttransport=mailSession.getTransport(smtp);/?transport.connect(String)props.get(mail.smtp.host),username,password);transport.sendMessage(mimeMsg,mimeMsg.getRecipients(Message.RecipientType.TO);/transport.send(mimeMsg);System.out.p

30、rintln(发送邮件成功!);transport.close();returntrue;catch(Exceptione)System.err.println(邮件发送失败!+e);returnfalse;publicstaticvoidmain(Stringargs)Stringmailbody=用户邮件注册测试欢迎光临啦ABC;Mailthemail=newMail();themail.setNeedAuth(true);if(themail.setSubject(邮件测试)=false)return;/邮件内容支持html如欢迎光临啦ABCif(themail.setBody(mail

31、body)=false)return;/收件人邮箱if(themail.setTo(shengshuai)=false)return;/发件人邮箱if(themail.setFrom(shengshuai)=false)return;/设置附件/if(themail.addFileAffix(#)=false)/return;/附件在本地机子上的绝对路径themail.setNamePass(用户名,密码);/用户名与密码if(themail.sendout()=false)return;一 需求分析电子邮件作为Internet最为广泛的应用之一,在人们的工作和生活中扮演着重要的角色,应用的普

32、及使电子邮件技术有了飞速的发展。不仅在普通人的日常生活中,而且,已经成为现代企业内外信息交流的必备工具,据统计Internet上有30%的业务是与电子邮件有关的。企业拥有自己的邮件系统,不仅能够提升企业形象,而且更重要的是能为企业带来实际效益。当然作为一个邮件系统要考虑多方面,比如稳定性、安全性等其他一些因素,但由于某些原因,在此只实现最基本的客户端功能。Java为实现这种功能提供了丰富的类库,借此,在老师的指导下,我们开始了网络邮件系统的开发。邮件客户端让用户可以方便地管理邮件服务器上自己的邮件,方便地发送邮件。要达到这个目的,要把用户的相关个人信息数据,相关的邮件服务器信息(收发邮件的服务

33、器的域名、拥护登陆邮件服务器的帐号等)保存到邮件客户端所在的服务器上的文件或者数据库里。为了提高客户端的响应速度,需要把用户的邮件保存下来,这样以后就不用每次都连接到邮件服务器上去获取邮件了。通过上面的分析,邮件客户端的主要功能需求分析描述如下:1.注册新用户由于是一个支持多用户的应用,在使用的时候需要有一个登陆的过程,而在应用刚开始提供给使用者使用的时候,不应该规定使用者将以什么样的帐号登陆,所以需要在登陆界面上提供一个给使用者自己注册新用户的功能,这样可以创建应用的用户,保存用户的信息,为登陆做好准备。2.用户登陆用户登陆后,进入邮件客户端的主界面,如果用户设置了默认邮件服务器,则列出用户

34、默认邮件服务器上收件箱的所有邮件,在该列表上用户可以选择只显示已读邮件或者未读邮件,或者删除邮件。3.新增邮件服务器用户第一次使用客户端的时候,至少要添加一个邮件服务器来收发邮件。邮件服务器的信息包括:服务器名称、登陆帐号(用户名和密码)、pop3(收邮件)服务器域名、smtp(发邮件)服务器域名、是否在该服务器上保留接受过的邮件。提供一个服务器列表,在列表上可以修改、删除服务器信息。4.修改个人信息提供一个修改用户个人信息的界面。个人信息有:用户ID(登陆邮件客户端的用户名)、密码、真实姓名、默认邮件服务器。5.接收邮件用户登陆的时候自动从默认邮件服务器上收取新邮件,之后再在指定的间隔时间后

35、自动接收新邮件,同时提供一个按扭,用于用户手动接收邮件。6.发送邮件提供一个邮件发送界面,在该界面上可以让用户输入邮件发送、抄送、密送地址,如果有多个,多个地址间用英文分号隔开,可以编辑上传附件个数,可以让用户把邮件保存为草稿,也可以直接发送邮件。7.数据修改实时生效一部分用户数据将保存在客户端的会话里,当用户通过界面修改这部分数据时,要刷新会话里保存的相应数据。8.同时支持IE和Firefox二 能在MicrosoftInternetExplorer正常显示和使用的网页,不一定能在Firefox上正常显示和使用,这是在制作网页的时候需要注意的。系统设计从模拟用户的角度进行分析,对于一个邮件的

36、客户端,首先要确定其功能是什么,也就是用户想要系统做什么工作。有以上需求分析可确定需要建立的模块有:用户注册、用户登录、用户管理、邮件服务器信息管理、邮件管理等。由此分析如下模块图:WEB邮件客户端用户注册用户登陆用户管理邮件服务器管理邮件管理登陆注册新用户修改个人信息发送邮件收取邮件删除邮件查看邮件列表增加服务器信息删除服务器信息修改服务器信息根据以上分析描述,基本确定了邮件客户段应该要包括的模块,下面详细地来分析每一个模块所要实现的功能。1. 用户注册模块该模块通过点击登录界面的“注册新用户”按钮进入,在用户注册界面,要求用户输入:1 登录ID,及登录用户名,必填,在邮件客户端中,该ID是

37、唯一的2 登录密码,必填,长度为18位3 显示名,即阿松邮件时,接收人将看到的名字,一般是真实姓名,长度为1255个字节2. 用户登录模块该模块的界面就是登录界面了,该模块是已注册用户进入邮件客户端的唯一入口。在这里要求用户输入登录ID和密码,输入完成后直接按回车键或点击“登录“按钮来提交登录信息。对提交来的用户名进行校验,如果校验不通过,则弹出对话框提示用户输入的用户名或者密码有误;如果校验通过,则在会话中保存用户的登录ID,进入邮件客户端的主界面,并在主界面上提供退出系统的入口。3. 用户管理模块用户管理模块提供给用户修改个人信息的功能,可修改的个人信息有:登录密码、显示名和默认邮件服务器

38、。修改这些信息后,需要更新会话中保存的数据,让修改实时生效。4. 邮件服务器信息管理该模块提供一个当前用户已有的邮件服务器列表,让用户添加、修改、删除邮件服务器信息,实现接收多个服务器上邮件的功能。添加邮件服务器时,需要用户输入:1. 服务器名,必填,用户给该服务器起的名称,以便于识别,最大航渡为32字节2. 登录服务器的用户名,必填,最大长度为255字节3. 登录服务器的密码,必填,最大长度为255字节4. pop3服务器域名,必填,最大长度为255字节5. smtp服务器域名,必填,最大长度为255字节6. 是否在邮件服务器保留邮件备份,即是否在邮件服务器上删除已经接收下来的邮件,默认为否

39、上述信息都可以修改,修改后需要更新会话中保存的数据,让修改实时生效。5. 邮件管理模块该模块主要包括以下几个功能:1. 提供撰写并发送邮件的邮件编辑页面,在改界面上,用户需要填写收件人的邮件地址、邮件主题及内容,可以填写要抄送或者密送的邮件地址,也可以上传一个或者多个邮件附件,可以进行发送邮件或者保存邮件为草稿的操作,可以在发送邮件的同时把邮件保存为已发送邮件。2. 提供一个收件箱列表,该列表以粗体字体显示未读邮件,可以让用户选择只列出所有邮件、未读邮件或者已读邮件。在该列表上用户可以选择多个邮件,可以进行删除多个邮件的操作,在列表上对于每个邮件提供查看邮件详细内容的连接。3. 提供查看邮件详

40、细内容的界面,在该界面上显示邮件的发件人、主题、邮件的正文及附件文件名、文件大小并提供下载连接。在该界面上用户可以进行删除邮件,写回复邮件或者返回收件箱邮件列表的操作。4. 提供一个草稿邮件列表,在该列表上用户可以选择多个邮件,同时删除多个邮件,对于米格邮件提供进入邮件编辑界面。UML设计(软件工程流程)Uml设计基本遵循课堂上老师所讲各图规格,由于篇幅所致,部分图样显示不理想,请多包含。1. 用例总图2.用例描述用例名称:邮件系统注册用例表识号:1参与者:用户简要说明:用户填写自己的基本注册信息,提交注册成功返回给用户自己已填写的信息。前置条件:用户用浏览器进入本系统,并且是未注册用户。基本

41、事件流:1. 用户进入本系统点击“用户注册”2. 显示出一个文本框用户填写自己的邮箱地址3. 确定后点击“注册”4. 注册成功后返回给用户自己的邮箱地址5. 用例终止其他事件流A1:在按“注册”按钮之前,用户随时可以按“返回”按钮,文本框的内容不保存。返回主页异常事件流:2. 注册未成功返回错误信息,用户确认。3. 返回到本系统主页。后置条件:用户的信息被保存到系统数据库。注释:无用例名称:修改个人信息用例标识号:2参与者:用户简要说明:用户点击“用户管理”可以修改自己的信息,点确定后重新写入数据库信息前置条件:用户已登录本邮件管理系统基本事件流:1. 用户登录后点击用户管理。2. 根据用户的

42、需求填写自己要修改的信息内容。3. 修改确认后点击保存。4. 返回给用户修改后的信息。5. 用例终止。其他事件流A1:在按“保存”按钮之前,用户随时可以按“返回”按钮,文本框的内容不保存。返回用户的邮箱首页异常事件流:1. 用户输入的修改信息不合法,系统提示其错误。2. 返回用户邮箱首页后置条件:用户新信息被保存到数据库。注释:无用例名称:登陆用例标识号:3参与者:用户简要说明:用户登陆到他的邮箱前置条件:用户已注册基本事件流:1、 用户注册之后,可点击“登陆”进入登陆页面2、 用户输入登陆ID,密码3、 点击登陆按钮,进入自己的邮箱4、 用例终止其他事件流:1、 用户可在此界面,进行注册2、

43、 用户取消登陆异常事件流:1、 提示输入错误,用户确认2、 返回到登陆页面后置条件:用户输入信息正确,进入自己的邮箱注释:无用例名称:发送邮件用例标识号:4参与者:用户简要说明:用户发送邮件给收件人前置条件:用户已登录基本事件流:1、单击”写信”按钮2、进入发送邮件页面3、用户在文本框内编辑收件人,主题,内容信息4、点击”发送”按钮,发送邮件5、用例终止其他事件流:1、可以任意添加或删除附件2、若发送的邮件占用空间太大,则添加不上3、收件人文本框里必须填写正确的邮箱地址异常事件流:1、提示错误信息,用户确认2、返回到发送邮件页面后置条件:xx给xx的邮件发送成功再写一封注释:无用例名称:接收邮件用例标识号:5参与者:用户简要说明:用户收取邮件,并查看邮件信息前置条件:用户登录基本事件流:1、 点击”收信”按钮2、 进入查看邮件页面3、 点击某行发送的邮件主题,则跳转到显示邮内容页面件4、 阅读邮件内容5、 返回6、 用例终止其他事件流:若邮件发送的是附件,打开或下载压缩包到服务器是异常事件流:1、 提示错误信息,用户确认2、 返回到发送邮件页面后置条件:无注释:无用例名称:删除邮件用例标识号:6参与者:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号