版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 本科毕业设计(论文)基于微信企业号的 OA 系统的设计与实现Design and Implementation of OA Systembased on Enterprise Wechat Account学院: 软件学院 专业: 软件工程 学生姓名: XXX学号 : XXXXXXXX指导教师: XXX北京交通大学2016 年 5 月 学士论文版权使用授权书本学士论文作者完全了解北京交通大学有关保留、使用学士论文的规定。特授权北京交通大学可以将学士论文的全部或部分内容编入有关数据库进行检索,提供阅览服务,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。 (保密的学位论文在后适用本授权
2、说明)学位论文作者签名:指导教师签名:签字日期:年月日签字日期:年月日 北京交通大学毕业设计(论文)中要中要摘要: 随着客户需求日益多样化和复杂化,企业不仅需要依靠降低产品的成本和提高响应速度以确保在激烈的竞争环境下站稳脚跟,更需要提高创新能力以及深化协同工作以获取成功。 绿盟科技移动端 OA 系统是帮助企业员工和管理者高效利用时间碎片的最佳选择。本人负责企业号中内网邮件系统和手机话费申报系统的开发工作。整个开发过程的工作遵循软件工程的思想。先是对项目进行可行性分析,然后梳理整体的业务流程,最终确定了移动端和 WEB 端的功能性需求和非功能性需求、权限划分。在设计阶段,对项目的整体架构和数据等
3、方面进行设计,划分了 PC 端(主要是模块并给出相关的流程图、类图及界面设计。 管理模块)和移动端的系统的代码实现阶段的重难点在于数据方面的交互,数据的加密传输和存储,以及和与微信企业号接口的对接。系统对安全方面的要求较高,包括对数据的加密方案和服务器的架构方案,本文对此方面也进行了详细的说明。 在本文的最后对绿盟科技移动端 OA 系统的分析、设计和具体开发进行了总结,对 用现代化信息技术优化企业员工办公效率的工作进行展望。 关键词:移动办公;Exchange Web Service;JavaEE;微信企业号i 北京交通大学毕业设计(论文)英要ABSTRACTABSTRACT:As the d
4、emand of customer becomes diversified and complicated increasingly, the enterprise not only need to rely on to reduce the cost of product and improve the response speed to ensure a firm foothold in the fierce competition environment, but also need to improve innovation ability and deepen the work to
5、gether in order to get success.Mobile OA system is a wonderful choice that is to help employees and managers to usetime pieces of work efficiently. The whole workflow follows the ideas ofsoftwareengineering development process. The first is project feasibility analysis, then combing the whole busine
6、ss process; finally determine the mobile client and the functional requirements and non-functional requirements of the system. In the design phase, we design the system architecture, data structure and database of this project. In addition, we divide the system into PC-end (mainly the administrator
7、management module included) and client-end .We give relevant class diagram and interface design as well.In the Implementation phase, it is difficult to handle the interactive data, data encryption transmission, data storage, and the interface docking with WeChat enterprises. According to the require
8、ments of higher safety that comes from our company, we designed the data encryption scheme and the server architecture scheme; this paper will also carry on the detailed instructions.At the end of this article for the mobile OA system analysis, I draw a conclusion on the design; implementation and s
9、hortcomings of the program .We will use modern informationtechnology to optimize the efficiency of office work.KEYWORDS:mobile office automation; Exchange Web Service; JavaEE; WeChat publicplatform for enterpriseii 北京交通大学毕业设计(论文)目录目录中要IABSTRACTII目录III引言1项目背景1项目意义1本人工作..4可
10、行性及需求分析2概要设计和详细设计2代码开发3测试与维护31.4论文组织结构3相关技术422.1 EXCHANGE WEB SERVICE42.1.1EWS API 中 Item 和 Folder 类的继承关系42.2 STRUTS2 框架.2Struts2 工作原理5Struts2 返回 result 的类型72.3微信企业号接口.2OAuth2.0 验证7管理微信成员接口82.4 JODCONVERTER 和 OPENOFFICE.ORG.2OpenO 简介9工作流程92.5 MYBATIS.2MyB
11、atis 简介10MyBatis 框架架构图103企业号应用需求分析11iii 北京交通大学毕业设计(论文)目录3.13.2软件整体功能11功能性需求.2内网邮件系统12手机话费申报模块263.3非功能性需求3...6易用性需求管理34实用性需求34稳定性需求34可扩展性需求34快速响应需求34安全性需求344系统概要设计364.1整体架构设计3.2移动端内网邮件系统总体架构图36手机话费申报系统总体架构图374.2数据库设计3.2内网邮件系统数据库设计37手机话费申报系统数据库设计3
12、85系统整体设计与实现415.1内网邮件系统的分析与实现4..45.1.5登录验证模块41展示邮件模块43发邮件模块44检索邮件模块46在线预览附件模块485.2手机话费申报系统的分析与实现485.2.1 用户填写话费详单模块486结论51参考文献52致附谢53录54附录 A内网邮件系统程序代码结构图54iv 北京交通大学毕业设计(论文)目录附录 B 附录 C附录 D手机话费申报系统程序代码结构图55外文文献56文献翻译61v 北京交通大学毕业设计(论文)正文1 引言课题来源于本人在实习公司北京神州绿盟信息安全科技股份有限公司的移动端微信公众企业号 OA 系
13、统的项目。该章节主要对项目的背景、意义进行了阐述,并对本人的主要工作内容做出总结。在本章结尾处,对论文的整体组织结构进行了介绍。 1.1项目背景随着手机操作系统和 CPU 的持续升级,随着无线 wifi 的普及和手机带宽的持续扩容,通过手机、平板电脑实现随时随地的办公已经成为可能,尤其是高层管理者,通过移动端实现对时间碎片的高效应用成为关注点。 企业已进入互联网化时代,而传统的移动 APP 难以满足企业员工和管理者的实际需求,近几年来公司投资的多个移动 APP 的安装数值和使用频率并不高,多数都已经被废置。2015 年以来,拥有数亿活跃用户及充分开放接口的微信企业号逐渐成为帮助企业实现互联网化
14、的最佳选择。微信企业号1能帮助企业建立与员工、上下游供应链及内部 IT 系统间的连接,并能有效地简化管理流程、提高信息的沟通和协同效率、提升对一线员工的服务及管理能力,具有高度集成化,这将改变 OA 系统单一存在的局面。 同时,公司是一家做信息安全的公司,对网络安全等方面的安全要求要高于其他项目。腾讯及微信已建立的业界一流的安全保障体系、高可靠的系统实现机制,以及企业号完善的安全特性,为企业信息安全提供了全方位的安全保障。 项目来自于公司员工实际工作中的需求,需要开发者随时进行需求跟进,如果选择外包给其他软件公司,后期的维护成本将会不可控。综上所述,公司决定自行开发微信 端 OA 系统以满足公
15、司内部员工的实际需要。 1.2项目意义在企业流程管理上,常面对这样的一些困境:沟通方式传统单一,沟通工具匮乏单调;制度无法清晰的被理解和贯彻,导致很多的管理制度形同虚设。 企业号推出后,各大厂商将自己的 OA 系统与微信企业号对接,企业用户也多选择了此类的 OA 系统,微信企业号的优势在于: 企业内部具备沟通的简易化。 移动集成化,以往的 OA 中,移动仅限 OA 系统本身,也可以和其它的 ERP、CRM 高度集成,实现在微信端的企业信息共享,这将改变 OA 系统单一存在的局面.1 北京交通大学毕业设计(论文)正文企业号的开发将使工作变得轻松便捷,让企业的各项流程在规范下顺利的进行。1.3本人
16、工作在该项目中,本人根据软件工程2的研究过程,参与了系统的需求分析,概要设计和详细设计,以及 WEB 前端的开发,并独立完成项目的代码开发,并进行了不同形式的测试,以及项目的部署和部分维护工作。企业号包含商保福利系统,会议系统,内网邮件系统,手机话费申报系统,ERP 系统,报价系统,工作周报等多个应用,本人负责其中的会议系统,内网邮件系统,手机话费申报系统。 1.3.1 可行性及需求分析通过大量查阅资料及与公司内部员工及各个应用的负责人进行交流,明确了应用开发的目的和意义,总结出应用的业务需求。随之,进行各种调研,对应用开发的技术可行性、经济可行性以及社会可行性进行分析,经过分析确定可行后,对
17、整体业务流程进行了深入的了解,完成对业务流程的梳理,各个功能模块需求的采集,并反复和应用负责人进行交流,进行需求的修改和完善。在此基础上完成了需求规格说明以及相关文档, 并定义了系统的边界。 1.3.2 概要设计和详细设计概要设计阶段主要包含以下几个方面的设计,第一是制定规范,包含信息编码形式, 命名规则等各种规范。其次是系统整体构架设计,确定系统的基本结构,以获得有关系统创建的总体方案。然后是软件结构和数据结构的设计,用于定义构造各应用的功能模 块、模块接口,以及数据结构、数据库结构等。除此之外,还有安全性方面的设计,主要包含操作权限管理设计、操作日志管理设计、文件以及数据加密方案的设计等,
18、并从技术角度出发做出专门的安排。最后是可维护性方面的设计,包含改正软件错误、扩充软件功能等,预计今后需要进行功能扩充的模块,并对这些接口进行专门定义,以方便日后的维护。详细设计主要包括每个模块内部的算法设计,并画出类图,以及模块内的数据结构 设计,对概念性的数据类型进行确切的定义。 2 北京交通大学毕业设计(论文)正文1.3.3 代码开发项目中多数用户操作都是在移动端完成,也包含一些管理功能需要在 PC 端完成。在系统中,本人负责协助前端开发人员进行移动端部分页面的实现,以及所有功能的实现,PC 端功能的前后端实现。 1.3.4 测试与维护本人负责对软件进行单元测试,集成测试,并协助公司安全部
19、门进行安全测试和渗 透测试,并完成代码审计和配置检查。 1.4论文组织结构本文以本人实习期间的工作内容为基础,分为七个章节,主要内容安排如下: 第一章:引言。该章节对课题的来源、背景以及项目的意义进行了阐述,并对本人的工作内容做出了总结,最后简单陈述论文的组织结构。 第二章:相关技术。该章节对项目中所使用的相关技术进行了介绍,并对关键技术进行了简要的对比和分析。 第三章:需求分析。该章节主要描述应用的整体业务流程和功能结构,并对其功能性需求和非功能性需求进行阐述。 第四章:系统概要设计。该章节主要阐述各个应用的概要设计,包含系统架构设计和数据库设计。 第五章:系统整体设计与实现。该章节对内网邮
20、件系统、手机话费申报系统两大系统进行细致的划分,重点阐述本人参与实现的部分,并给出对应的类图和前端页面。 第六章:总结。该章节进行实习以及毕业设计的回顾以及总结。 3 北京交通大学毕业设计(论文)正文2 相关技术该章节主要对项目开发过程中使用到的相关技术进行简介。2.1Exchange Web serviceExchange Web service 是 EWS 的全称,它提供了 Exchange 资源的全新接口,公司的内外网邮箱均使用 Exchange 服务,为了保持兼容性,移动端内网邮件系统将要在 EWS 基础上进行开发。 EWS 基于 SOAP 协议,提供了 EWS 资源的统一访问,并且与
21、 Outlook 拥有一致的逻辑,同时可以支持远程访问。 EWS API 是一个完全面向对象的 API,它基于 WES XML 协议,提供了非常容易学习、使用和维护的开发接口。 2.1.1 EWS API 中 Item 和 Folder 类的继承关系如图 2-1 所示,每一个类就对应一个 Exchange 中的给定的类型,例如:EmailMessage类就代表邮件消息,内网邮件系统主要使用的就是 EmailMessage 类。 MeetingCancell Class MeetingMessageMeetingRequest Class MeetingMessageMeetingRespons
22、e Class MeetingMessage图 2-1Item 类 如图 2-2 所示,是 EWS 中 Folder 类的继承关系。每一个 Item 和 Folder 都一个唯一的标识,Item 和Folder 都有一个 Id 的属性对应这个唯一的标识,Item 的 Id 类型是ItemId,folder 的 Id 类型是 FolderId,可以使用 bind 方法来获取对应的 Item 对象和 Folder 对象。4MeetingMessage Abstract Class Email MessageDistributionList Class ItemAppointment Class I
23、temEmail Message Class ItemTask Class ItemPostItem Sealed Class ItemContact Class ItemItem类ClassServiceObject 北京交通大学毕业设计(论文)正文MeetingCancellClass MeetingMessageMeetingRequestClass MeetingMessageMeetingResponseClass MeetingMessage图 2-2Folder 类2.2Struts2 框架Struts24设计的第一目标就是使 MVC模式应用于 web 程序设计。它有两方面的技术
24、优势,一是 Struts2 应用程序基于 Client/Server HTTP 的交换协议,同时 Java Servlet是 Java API 的一个子集,这样我们可以在项目的业务逻辑部分使用功能强大的 Java 语言进行程序的设计。二是它提供了对 MVC 的一个清晰的实现,这一实现包含了很多关、OGNL 表达式语言、堆栈。 键的组件,如:Struts2 以 WebWork 优秀的设计思想为核心,吸收了 Struts1 的部分优点,建立了一个兼容 WebWork 和 Struts1 的 MVC 框架,Struts2 的目标是希望可以让原来使用 Struts1、WebWork 的开发人员,都可以
25、平稳的过渡到使用 Struts2 框架。Struts2 的架构简单,易 于扩展,使用起来方便,性能稳定5。 2.2.1 Struts2 工作原理本项目使用的是 Stuts2-2.3.20 版本。Stuts2 处理 HTTP 请求的过程6如图 2-3 所示:5MeetingMessage Abstract Class Email MessageCalendarFolder Class FolderTasksFolder Class FolderSearchFolder Class FolderContactsFolder Sealed Class FolderFolder ClassServic
26、eObject 北京交通大学毕业设计(论文)正文图 2-3Struts2 工作原理主要分为以下几个步骤: 1. 当 Web 容器收到一个请求(HTTPServlet Request),它将请求传递给一个标准的过滤链,包括(ActionContextCleanUp)过滤器。 2. 经过 Other filters(SiteMesh, etc),需要调用 FilterDispatcher 核心控制器,然后它调用 ActionMapper 确定请求哪个 Action,ActionMapper 返回一个收集 Action 详细信息的 ActionMaping 对象。 3. FilterDispatch
27、er 将控制权委派给 ActionProxy,ActionProxy 调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml), 然后创建ActionInvocation 对象。 4. ActionInvocation 在调用Action 之前会依次调用所用配置(Interceptor N),一旦执行结果返回结果字符串 ActionInvocation 负责查找结果字符串对应的(Result)然后执行这个 Result Result 会调用一些模版(JSP)来呈现页面。 (Interceptor N)会再被执行(顺序和 Action 执行之前
28、相反)最后响应 (HTTPServletResponse)被返回在 web.xml 中配置的那些过滤器和核心控制器 (FilterDispatcher)。 5.6 北京交通大学毕业设计(论文)正文2.2.2 Struts2 返回 result 的类型开发人员可以根据自己的需要,指定不同的返回类型。以下是对几种常见的返回类型的简介。 1. Dispatcher:result stype 的默认属性,用来转向页面,通常用来处理 JSP。 2. Stream:向浏览器发送 InputStream 对象,通常用来处理文件的下载,还可用于向前端页面返回 AJAX 数据。 3. Chain:处理 Acti
29、on 链。当一个 action 执行完以后,跳转到另一个 action,前后两个 action 之间共享 HTTPServletRequest,需要传递数据时会用到 ChainingInterceptor。 4. Redirect:重定向到一个 URL,与 chain 跳转不同,它的源地址和目标地址使用 不同的HTTPServletRequest,目的地址也无法通过 ValueStack 来获取源Action 中的数据。 2.3微信企业号接口企业号中的内网邮件系统和会议室系统的功能都在移动端,手机话费报销系统的普通用户的操作在移动端和 PC 端,微信企业号7接口连接。 管理员的操作在 PC 端
30、。移动端的功能都需要与2.3.1 OAuth2.0 验证OAuth2.08是一个开放协议,允许用户让第三方应用以安全且标准的方式获取该用户在某一网站、移动或桌面应用上存储的私密的资源(本项目中主要是用户的个人信息),而无需每次将该用户的用户名和提供给第三方应用,在不存储包含用户名和的 cookie 的前提下实现免登录。OAuth2.0 是 OAuth 协议的下一版本,但不向后兼容 OAuth1.0。OAuth2.0 关注客户端开发者的简易性,同时为 Web 应用、桌面应用和手机等设备提供专门的认证流程9。 OAuth2.0 定义了以下四种授权方式:授权码模式(authorization cod
31、e),简化模式 (implicit),模式(resource owner password credentials)和客户端模式(clientcredentials)。项目中使用到的是授权码模式,其工作流程如图 2-4 所示。 如图所示: (A) 微信用户(关注绿盟科技的企业号之后的用户)访问 OA 系统中的某应用的服务器,后者将前者导向至微信的认证服务器。 (B) 本项目中采用的授权类型是 snsapi-base,又称为静默授权,无需用户再次确认是否授权。 7 北京交通大学毕业设计(论文)正文(C)微信的认证服务器将该用户导向至应用的管理员(开发人员)事先指定的重定向 URI(redirec
32、tion URI),同时附上一个授权码,名为 CODE。 UserAPPAuth_svr访问回调授权 重定向到第三方 请求accesstoken返回accesstoken 图 2-4微信 OAuth2.0 授权协议过程 (D)架设在公司里的应用服务器收到该授权码,附上(C)中提到的重定向 URI,向微信认证服务器申请令牌,名为 Accesstoken。这一步是在应用的器上完成的,对用户不可见。 的服务(E) 微信的认证服务器核对了授权码 CODE 和重定向 URI,确认无误后,向应用服务器发送访问令牌。 (F) 应用服务器收到微信认证服务器发来的令牌,附上(C)中提到的授权码, 向微信认证服务
33、器再次发出请求,获得用户的 userId 和 deviceId。 在上述步骤中,令牌(Accesstoken)的有效期为 7200 秒,超期后需要再次授权, 的;Accesstoken 除了用来向微信认证服务器请求再一定程度上可以防止用户信息,还能判定此次 HttpRequest 请求是否来自微信服务器,从而过滤一些的;deviceId 是微信用户在安装微信时产生的一个唯一标识,升级微信此 Id 不发生改变,删除安装会改变;整个过程采用 HTTPS 协议,通过在 TCP 和 HTTP 层增加一个 SSL(Secure Socket Later)来增加安全性。以上措施,在一定程度上提高了此认证过
34、程的安全性,授权码模式是 OAuth2.0 四种认证模式能最完整、流程最严密的授权模 式。它的特点就是通过移动应用的服务器,与服务提供商的认证服务器进行互动。 2.3.2 管理微信成员接口在企业号的内网邮件系统中,需要有的功能,方便发件人选择,缩减用户查找和手动输入同事的手机号的时间。此功能的实现需要调用微信提供的管理成员8用户授权 北京交通大学毕业设计(论文)正文接口,可以查找单个成员的信息,也可以查找某个部门所有成员的信息(邮件用该接口)。整个工作流程采用 HTTPS 协议,提高数据传输过程中的安全性。 时调 2.4Jodconverter 和OpenO在内网邮件系统中,
35、使用了 Jodconverter 和OpenOffice 完成对附件的在线预览功能。2.4.1 OpenO 简介OpenO 是一套跨平台的办公室软件套件,能在 Windows、Linux、MacOS X (X11)和 Solaris 等多种操作系统上执行,与各个主要的办公室软件套件兼容。Jodconverter 是一个基于 Java 的 OpenDocument 文件转换器,可以进行许多文件格式(txt、html、doc、ppt、xls)的转换10。它依赖于 OpenO 或者 LibreOffice 提供的服务来进行转换。将 Jodconv
36、erter 内嵌在 Java 应用程序里,也可以单独作为命令行由脚本调用,更可以应用为网页程序或者 Web Service 以供网络应用,本项目中属于第二种用法。项目中结合 使用两者完成对邮件附件的在线预览功能。 2.4.2 工作流程使用流程主要包含以下几个步骤: (A) 下载并安装 OpenOffice 3 服务。 (B) 启动服务,主要包含两种: 1.手动启动。2.程序中的转换类中调用启动openoffice 服务。第一种方式较为繁琐,而且长期占内存,本项目采用的是第二种启动方式。 (C) 启动服务后,把邮件附件从邮件服务器临时下载到移动端内外邮件系统的服务器上,然后调用 jodconve
37、rter 接口完成文件格式的转换。 把各种格式的文件转换成 html 格式后,在用户通过浏览器完成在线预览后,再删除临时存储的附件。本项目使用定时器功能,每两天清理一次移动端内外邮件系统服务器上存储的临时文件。这样既可以提高邮件附件的安全性,又可以提高服务器响应速度, 缩减用户从发出请求到实现在线预览附件的时间。 2.5MyBatis在手机话费申报系统中,使用了 MyBatis 数据库技术。9 北京交通大学毕业设计(论文)正文2.5.1 MyBatis 简介MyBatis 是一个支持普通 SQL 查询、存储过程和高级映射的优秀持久层框架,其消除了几乎所有的 JDBC 代码和参数的手工设置以及结
38、果集的检索,使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录1213。相比 Hibernate,MyBatis 是半自动的,其仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写 SQL 来实现和管理,但也因此使得在 SQL 的优化上,MyBatis 比 Hibernate 更有优势14。 MyBatis 是一个十分强大的数据访问工具,主要由 DAO 组件和 SQL Map 组件组成,并且有 Log 管理等常用工具。 2.5.2 MyBatis 框架架构图MyBa
39、tis 的 DAO 组件15主要是将应用程序的数据访问层以及持久层的位置和表示方式进行抽象化,将其与应用程序的业务逻辑隔离。而 SQLMap 组件则是使用 XML 配置文件把 XML、JavaBean、Map 映射 SQL 语句,通过执行 SQL 语句进行这些对象的获取。SQL Map 使得访问数据库的代码大大减少。如图 2-5 所示是 MyBatis 的架构图。 图 2-5MyBatis 框架架构图10 北京交通大学毕业设计(论文)正文3 企业号应用需求分析该章节将对绿盟科技移动端 OA 系统中各应用的建设目标进行阐述,对系统的用户进行组织划分,针对与公司员工和应用负责人的交流,对系统的功能
40、性需求、非功能性需求及权限管理进行详细的分析。 3.1软件整体功能如图 3-1 所示,整个移动端 OA 系统主要包括商保福利系统、内网邮件系统、会议系统、手机话费申报系统和 ERP 系统五大模块,这些模块是整个微信企业号里的应用。本人主要负责手机话费申报系统和内网邮件系统、会议系统三个模块,下文会对手机话费系统和内网邮件系统这两个模块的详细内容进行介绍。 内网邮件系统:该系统主要进行与内网邮件相关的操作,包含用户登录及账号验证、发邮件、收邮件、回发邮件、删除邮件、检索邮件、草稿邮件、附件在线预览等子模块,需要与 PC 端 OutLook(或 FoxMail)保持数据同步和兼容,系统用户都是普通
41、用户,无权限划分。 手机话费申报系统:该系统主要进行与手机话费报销相关的功能,用户分为两类: 普通用户和管理员。普通用户的操作均在移动端,包含登录模块、提交话费详单、查看话费申报历史模块。管理员的操作在 PC 端,主要包含查看登录模块、最新季度话费申报情况,检索话费申报记录,设置不同层级员工话费核定额度,修改未报销的话费记录,导出最新季度话费申报记录数据等子模块。 图 3-1软件整体功能图11 北京交通大学毕业设计(论文)正文3.2功能性需求本章节将分别介绍内网邮件系统、手机话费申报系统两个系统的功能性需求。3.2.1 内网邮件系统在整个开发过程中,本人主要负责所有子模块的个功能模块。 代码开
42、发,下文将详细介绍每 用户登录及账号验证模块该模块主要有两个功能点:1.检查用户内网账号是否已经更新,是否能够通过EWS 验证。2.用户输入账号是该模块的功能用例描述。 进行登录验证。图 3-2 是该模块的用例图,表 3-1、3-2公司员工图 3-2用户登录及账号验证模块用例图 发邮件模块该模块主要有四个功能点:初始化一封邮件并发送,发送草稿箱里再编辑的邮件,转 发邮件,回复邮件。图 3-3 是该模块的用例图,表 3-3、3-4、3-5、3-6 是该模块对应的功能用例描述。 12用户登录及账号验证模块验证用户内网账号 用户登录验证 北京交通大学毕业设计(论文)正文
43、公司员工图 3-3发邮件模块用例图表 3-1验证用户内网账号功能用例描述13用例名称 验证用户内网账号 用例 IDSJ-01优先权 高 主要业务参与者 已关注微信企业号的用户 前置条件 管理组成员设置该应用对此用户可见,用户拥有使用权限 触发条件 用户点击在企业号应用列表页点击进入“内网邮件系统”应用 基本流 参与者动作 系统响应 无 1. 根据微信企业认证服务器传过来的用户唯一标识,判断用户是否首次登录本系统。 2. 如果该用户不是首次登录,判断该用户的账号是否有效。 3. 如果该用户的账号有效,则进入收件箱列表页面,并请求邮件数据。 替代流程 替代 2.该用户是首次登录 2.1 跳转到登录
44、页面,让用户进行登录验证。 替代 3.用户的账号失效(3 个月更新一次内网) 3.1 跳转到登录页面,让用户进行修改账号,重新进行登录验证。 后置条件 该用户登录成功 业务规则 无 特殊需求 用户从微信认证服务器以外的浏览器链接进行访问,不能够登录 发邮件模块初始化邮件并发送编辑草稿箱中邮件并发送转发邮件回复邮件 北京交通大学毕业设计(论文)正文表 3-2用户登录验证功能用例描述14用例名称 用户登录验证 用例 IDSJ-02优先权 高 主要业务参与者 已关注微信企业号的用户 前置条件 管理组成员设置该应用对此用户可见,用户拥有使用权限 触发条件 用户是首次登录或重置内网导致原账号失效 基本流
45、 参与者动作 系统响应 1.用户填写邮箱地址和,点击 “登录”按钮。 2.先判断该用户是否是首次登录本应用。 2. 如果是首次登录本应用,再校验用户输入的邮箱地址是否已被其他用户使用,并录入到数据库中。 4. 校验成功后,更新数据库中的数据,然后跳转到收件箱列表 页面,并请求邮件数据。 替代流程 替代 2.该用户不是首次登录 2.1 先校验用户填入的邮箱地址和数据库中的邮箱地址是否一致,如果不一致, 提示用户“您的邮箱地址发生变化,请输入正确的邮箱地址,或者联系管理员进行重置”,返回到登录页面,让用户进行再次登录验证。 替代 3.该用户输入的账号已被其他用户使用过 3.1 提示用户“该邮箱地址
46、已被其他账号使用过,请输入正确的邮箱地址,或者联系管理员进行重置”,返回到登录页面,让用户进行再次登录验证。 替代 4.EWS 校验不成功 4.1 提示用户“您输入的账号地址和不匹配,请输入正确的邮箱地址”,返回到登录页面,让用户进行再次登录验证。 后置条件 该用户登录成功,数据库更新成功 业务规则 无 特殊需求 用户不能够使用多个微信号重复登录验证一个账号;用户在一个微信号上不能够更换自己的邮箱地址。 北京交通大学毕业设计(论文)正文表 3-3发送初始化邮件功能用例描述15用例名称 发送初始化邮件 用例 IDSJ-03优先权 高 主要业务参与者 已登录用户 前置条件 用户成功登录并通过 EW
47、S 验证,并进入到写邮件页面 触发条件 无 基本流 参与者动作 系统响应 1.用户填写收件人、抄送人、密送人的过滤后的邮箱账号(省去内网邮箱地址的统一后缀。),邮件主题、邮件正文,点击“发送”。 5.用户在已发送邮件列表中查看到自 己按照时间序排列的已发送邮件,包 含收件人、发送时间、邮件主题信息, 点击第一封已发送邮件。 2. 前端进行空值校验,主要包括收件人、正文和主题的空值校验。 3. 进行空值校验后,执行发送动作,发送此邮件到邮件服务器,并返回发送结果。4.提示用户发送成功,跳转至已发送文件夹,显示已发送邮件列表。 6.系统接收到第一封邮件的 ID,显
48、示刚发 送邮件的详细信息。 替代流程 替代 2.空值校验失败 2.1 如果是正文或主题为空,弹出对话框则提示用户“正文(或主题)为空,是否继续进行”,用户选择“是”则继续知行第 3 步,选择“否”返回到写邮件页面,鼠标聚焦在正文(或主题)文本框内。 2.2 如果是收件人为空,则提示用户“收件人为空,该邮件无法发送,请填写收件人地址”,返回到写邮件页面,鼠标聚焦在收件人文本框,待用户输入收件人邮箱账号。 替代 4.邮件发送失败 4.1 如果服务器发生错误,导致邮件发送失败,则提示用户“发送失败,请退出该应用后重新登录”。 后置条件 邮件发送成功,邮件收件人、抄送人、密送人收到此邮件 业务规则 无
49、 特殊需求 在登录后和执行发送邮件动作间修改内网,则邮件不能发送 北京交通大学毕业设计(论文)正文表 3-4发送草稿箱里再编辑的邮件功能用例描述16用例名称 发送草稿箱里再编辑的邮件 用例 IDSJ-04优先权 中 主要业务参与者 已登录用户 前置条件 用户成功登录并通过 EWS 验证,并进入到草稿箱列表页面 触发条件 用户点击某一个草稿邮件 基本流 参与者动作 系统响应 2.用户查看到该草稿邮件的详细内容之后,对草稿邮件进行再编辑,包括收件人、抄送人、密送人、邮件主题和正文,点击“发送”按钮。 6.用户在已发送邮件列表中查看到自 己按照时间序排列的已发送邮件,包 含收件人、发送时间、邮件主题
50、信息, 点击第一封已发送邮件。 1.根据前端传过来的该草稿邮件的唯一标识,从邮件服务器获取该邮件的详细信息,返回给用户。 3. 前端进行空值校验,主要包括收件人、正文和主题的空值校验。 4. 进行空值校验后,执行发送动作,发送此邮件到邮件服务器,同时删除草稿箱里此封草稿邮件,然后返回发送结果。 5. 提示用户发送成功,跳转至已发送文件夹,显示已发送邮件列表。 7.系统接收到第一封邮件的 ID,显示刚发 送邮件的详细信息。 替代流程 替代 3.空值校验失败 3.1 如果是正文或主题为空,弹出对话框则提示用户“正文(或主题)为空,是否继续进行”,用户选择“是”则继续知行第 3 步,选择“否”返回到
51、写邮件页面,鼠标聚焦在正文(或主题)文本框内。 3.2 如果是收件人为空,则提示用户“收件人为空,该邮件无法发送,请填写收件人地址”,返回到写邮件页面,鼠标聚焦在收件人文本框,待用户输入收件人邮箱账号。 替代 5.邮件发送失败 4.1 如果服务器发生错误,导致邮件发送失败,则提示用户“发送失败,请退出该应用后重新登录”。 后置条件 邮件发送成功,邮件收件人、抄送人、密送人收到此邮件 业务规则 无 特殊需求 在登录后和执行发送邮件动作间修改内网,则邮件不能发送 北京交通大学毕业设计(论文)正文表 3-5转发邮件功能用例描述17用例名称 转发邮件 用例 IDSJ-05优先权 中 主要业务参与者 已
52、登录用户 前置条件 用户成功登录并通过 EWS 验证 触发条件 无 基本流 参与者动作 系统响应 1.用户在展示邮件详细内容的页面, 点击“转发邮件”按钮。 3.用户进行编辑收件人、抄送人、密送人、正文(此操作为可选),点击 “发送”按钮。 7.用户在已发送邮件列表中查看到自己按照时间序排列的已发送邮 件,包含收件人、发送时间、邮件 主题信息,点击第一封已发送邮件。 2.跳转到写邮件页面,此时将自动把原始邮件,主题文本框自动置为“Fo:+原始邮件的主题”,正文文本框自动置为原始邮件的所有内容(包括每次发送动作的发件人、收件人、发送时间、抄送人和正文)。 4. 前端进行空值校验,主要包括收件人、正文和主题的空值校验。 5. 进行空值校验后,执行发送动作,发送此邮件到邮件服务器,并返回发送结果。 6. 提示用户发送成功,跳转至已发送文件夹,显示已发送邮件列表。 8.系统接收到第一封邮件的 ID,显示刚发送 邮件的详细信息。 替代流程 替代 4.空值校验失败 4.1 如果是正文或主题为空,弹出对话框则提示用户“正文(或主题)为空,是否继续进行”,用户选择“是”则继续知行第 3 步,选择“否”返回到写邮件页面,鼠标聚焦在正文(或主题)文本框内。 4.2 如果是收件人为空,则提示用户“收件人为空,该邮件无法发送,请填写收件人地址”,返回到写邮件页面,鼠标聚焦在收件人文本框,待用户
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/Z 10062.32-2025锥齿轮承载能力计算方法第32部分:锥齿轮和准双曲面齿轮的ISO评价体系胶合承载能力算例
- 2026北京印钞有限公司招聘26人考试参考试题及答案解析
- 2026传奇腾芳幼儿园公开招聘5人考试参考题库及答案解析
- 2026年1月广西百色市田阳区城镇公益性岗位工作人员招聘1人考试备考试题及答案解析
- 2026重庆医科大学编外聘用人员招聘(第2轮)考试备考试题及答案解析
- 2026江西吉安市井冈山垦殖场农产品开发有限责任公司面向社会招聘3人考试参考试题及答案解析
- 2026广西南宁马山县人民法院招聘1人考试备考题库及答案解析
- 胺碘酮的儿科应用
- 2025浙江杭州余杭水务有限公司招聘36人考试备考题库及答案解析
- 2026江西晶昊盐化有限公司专业技术技能人才(第二次)招聘6人考试备考试题及答案解析
- 移动电源生产工艺流程
- 动静脉内瘘术后护理查房规范
- 核安全事故培训课件
- 码头泊位改造试运行方案
- 2025年中考英语真题分类汇编(全国)专题04 时态、语态、三大从句及常识和情景交际(原卷版)
- 【语文】北京市朝阳外语小学小学二年级上册期末试卷(含答案)
- 追女生的聊天技巧
- 船舶代理与货运作业指导书
- 药物配置错误不良事件
- 员工技能矩阵管理办法
- 2024年西藏林芝县人民医院公开招聘护理工作人员试题带答案详解
评论
0/150
提交评论