《OA办公自动化管理系统概要设计说明书7450.docx》由会员分享,可在线阅读,更多相关《OA办公自动化管理系统概要设计说明书7450.docx(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、OA办公自动化管理系统概要设计说明书内部文档OA办公自动化管理系统概要设计说明书编写: 日期:2013-08-01审核:日期:批准:日期:受控状态:是 发布版次:2.0日期:2013-08-02编号:变更记录日期版本变更说明作者2013-08-011.0总体设计2013-08-021.5系统功能设计2013-08-031.6接口设计、运行设计2013-08-031.7系统出错设计、维护设计2013-08-042.0系统功能设计补全2013/08/082.5升级及审核签字确认系统模块对应章节对应部门负责人签字目 录1引言51.1编写目的51.2背景51.3基线51.4范围51.5定义51.6参考
2、资料52总体设计52.1概述52.1.1功能描述52.1.2运行环境62.1.3开发环境62.2设计思想72.2.1系统构思72.2.2关键技术与算法82.2.3关键数据结构92.3人工处理过程93系统功能设计93.1个人办公93.1.1日程安排94系统数据结构设计144.1说明144.2数据结构144.3数据结构与系统元素的关系145接口设计145.1用户接口145.2外部接口146运行设计156.1系统初始化156.2运行控制156.3系统结束157系统出错处理设计157.1出错信息157.2补救措施158系统维护设计168.1检测点的设计168.2检测专用模块的设计169尚待解决的问题1
3、61 引言1.1 编写目的本说明书目的在于明确说明系统各功能的实现方式,指导开发人员进行编码。本说明书的预期读者为:项目开发经理、客户项目经理、系统开发人员以及测试人员1.2 背景待开发软件系统的名称:OA办公自动化管理系统此软件系统任务提出者: 此软件系统任务开发者: 此软件系统任务用户: 1.3 基线OA办公自动化管理系统需求分析说明书 v1.0。1.4 定义OA: 办公室自动化。1.5 参考资料OA办公自动化管理系统需求分析说明书。2 总体设计2.1 概述2.1.1 功能描述各个模块简要的功能描述。2.1.1.1 人员管理对公司员工的档案进行维护。这是员工最全面的信息,只有管理员加入这个
4、员工的档案后其他人才能查询到该人员。1、 人员增加管理员录入新增员工的基本信息(人员编号,姓名,性别、年龄、所属部门、所属岗位、工资),保存进数据库中。2、人员查找可以输入想要查询的人的信息(如姓名,所属部门、所属岗位中单个或者组合),从数据库查找得出符合条件的员工,显示在列表当中。3、人员修改管理员输入查询条件(如姓名,所属部门、所属岗位中单个或者组合),点击确认查询按钮,得到查询结果。可选择想要修改的对象进行修改,点击确认更新按钮,将修改后的内容更新数据库中。4、人员删除管理员输入查询条件(如姓名,所属部门、所属岗位中单个或者组合),点击确认查询按钮,得到查询结果。可选择想要删除的对象,显
5、示该人员的所有信息,点击确认删除按钮,将该数据在数据库中删除。2.1.1.2 部门管理可以对该公司的部门信息进行维护,如增加部门,查找部门,修改部门信息,删除部门操作。1、部门增加新增公司部门信息,由管理员进行操作。2、部门查询管理员输入部门名称,点击查询按钮,从数据库中查找出匹配的部门,显示到列表中。3、部门编辑管理员输入部门名称,点击查询按钮,从数据库中查找出匹配的部门,显示到列表中,可以在列表中选择想要修改的部门,点击修改按钮,修改部门的信息。之后点击保存按钮,保存到数据库中。4、部门删除管理员输入部门名称,点击查询按钮,从数据库中查找出匹配的部门,显示到列表中,可以在列表中选择想要删除
6、的部门,点击删除按钮,系统自动判断该部门下是否存在职位和员工信息,如果存在,则禁止删除!不存在,则在数据库中删除该部门。2.1.1.3 岗位管理可以对该公司的岗位信息进行维护,如增加岗位,查找岗位,修改岗位信息,删除岗位操作。除查找外只有管理员才能执行此操作。1、岗位增加增加公司的岗位,由管理员维护2、岗位查找管理员输入岗位名称,点击查询按钮,从数据库中查找出匹配的岗位,显示到列表中。3、岗位编辑管理员输入岗位名称,或按部门搜索该部门下的岗位,点击查询按钮,从数据库中查找出匹配的岗位,显示到列表中,可以在列表中选择想要修改的岗位,点击修改按钮,修改岗位的信息。之后点击保存按钮,保存到数据库中。
7、4、岗位删除管理员输入岗位名称,或按部门搜索该部门下的岗位,点击查询按钮,从数据库中查找出匹配的岗位,显示到列表中,可以在列表中选择想要删除的岗位,点击删除按钮,系统自动判断该部门下是否存在员工信息,如果存在,则禁止删除!不存在,则在数据库中删除该岗位信息。2.1.1.4 权限管理当系统有新的功能时,就有新的页面,有新的url,就要添加新的权限。一个人可以拥有多个权限,一个权限可以分配给多个人。每个人员默认拥有普通员工的权限,包括查看个人信息,修改人个信息,修改登陆密码,申请报销,查看个人报销,请假,查看个人请假,查看公告。1、增加权限管理员增加新的权限2、查询权限管理员输入权限名称,点击查询
8、按钮,或者按上一级权限菜单查询,从数据库中查找出匹配的权限,显示到列表中。3、编辑权限管理员输入权限名称,点击查询按钮,或者按上一级权限菜单查询,从数据库中查找出匹配的权限,显示到列表中,可以在列表中选择想要修改的权限,点击修改按钮,修改权限的信息。之后点击保存按钮,保存到数据库中。4、删除权限管理员,按上一级权限菜单查询,从数据库中查找出匹配的权限,显示到列表中,可以在列表中选择想要修改的权限,点击删除按钮,删除在数据库中的内容。5、权限分配管理员输入要分配人员的信息(如人员编号,姓名,所属部门中单个或者组合),显示符合条件的人员列表。可以选择列表中的对象,对其分配权限。可分配的权限为当前的
9、所有权限,点击保存按钮,将该人的权限更新到数据库中。2.1.1.5 个人信息管理 为员工个人提供包括基本个人信息,岗位信息,密码,联系方式等个人信息的维护1、个人信息的查看此功能允许员工登录系统后可以查看到自己的个人信息。当员工点击个人信息查询时,显示输出个人的信息 2、个人信息的修改此功能允许员工登录系统后可以更改自己的个人信息,当员工点击个人信息查询时,显示个人的信息,并可以对需要的进行修改的信息进行修改,提交修改后显示修改后的个人信息3、修改密码: 此功能允许员工登陆系统后修改自己的密码。当点击修改密码功能时,输入原密码和新密码,便可修改。2.1.1.6 公告管理该功能允许每个部门的员工
10、登录系统后可以看到公司和所在部门发布的公告。由系统管理员统一管理,进行对公告的增添,删除,修改,查询的操作。1、公告的增添 系统管理员通过此功能可以对每个部门和公司公告信息进行添加操作。系统管理员通过点击添加公告,填入公告信息,提交后显示增添的公告信息。2、公告的删除系统管理员通过此功能可以对每个部门和公司公告信息进行删除操作。管理员通过点击删除公告,并且按照筛选条件对公告信息进行筛选,并对要删除的信息进行删除,删除后显示剩余公告的列表。3、公告的修改 系统管理员通过此功能可以对每个部门和公司公告信息进行修改操作。系统管理员点击修改公告,按照筛选条件对公告信息进行筛选,并对要修改的信息进行修改
11、,显示修改后的公告信息。4、公告的查询 公司的所有员工通过此功能可以对每个部门和公司公告信息进行查询操作。员工通过点击查询公告,按照筛选条件对公告信息进行筛选查询,显示查询的公告信息。 当员工登陆系统后,要提示有新的公告。公告列表要用粗体或者标志区分已读和未读公告。2.1.1.7 请假管理本功能为员工在日常生活中遇到一些紧急事项而需要跟部门申请请假。对于普通员工不仅有申请假条的功能,而且还能查看自己申请假条以及假条的审批状态。对于部门经理,能查看该部门下的所有的请假条,并对请假条给与回执。此模块包括的功能有:申请请假条,查看请假条,审批请假条。1、申请请假条点击申请请假设置链接,弹出一个申请表
12、,并且填写申请表详细信息,完成点击提交。2、审批请假条点击请假条审批链接,弹出所有员工的申请请假表,点击其中的一个申请表即可查看并给与回执。3、查看请假条点击查看假条链接,弹出所有的请假条,员工可以点击查看自己申请的假条。2.1.1.8 报销管理员工在工作中,因为工作差旅的关系或者其他而花费的金额向公司进行申请报销,在报销过程中,需一层层向上申请,经过部门经理、财务部,直到总经理批准为止,最后由总经理发送允许回执给员工。如果在某一层申请被拒绝,即给与员工一个回执并说明拒绝理由。此模块功能包括:申请差旅报销单,申请其他报销单,查看报销,审批报销。1、申请差旅报销单点击申请报销链接后弹出一个申请表
13、,并填入详细信息,完成点击提交。2、申请其他报销单点击申请报销链接后弹出一个申请表,并填入详细信息,完成点击提交。3、查看报销点击查看报销链接,弹出自己的差旅报销申请表和其他报销申请表,可以查看报销单的审批状态。4、审批报销点击审批报销表链接,列出差旅报销申请表和其他报销申请表,点击查看申请表并给与回执,点击提交完成。2.1.2 运行环境2.1.2.1 软件环境分类名称版本语种操作系统Windows Server2000简体中文操作系统的附加功能Server Pack4简体中文数据库平台MSSQL SERVER2008 R2简体中文数据库平台补丁Server Pack2简体中文应用平台IIS6
14、.0简体中文应用平台补丁无无无邮件系统MS Exchange2000简体中文客户端软件MS IE6.0简体中文2.1.2.2 硬件环境服务器最低配置推荐配置应用和数据库服务器1CPU:P4 2.0G1CPU:P4 2.8GMem:512MMem:2GHD:40GHD:120G邮件服务器无无2.1.3 开发环境2.1.3.1 服务器软件环境分类名称版本语种操作系统Windows Server2000简体中文操作系统的附加功能Server Pack4简体中文数据库平台MSSQL SERVER2008 R2简体中文数据库平台补丁Server Pack2简体中文应用平台IIS6.0简体中文应用平台补丁
15、无无无版本控制系统CVS NT2.0.14简体中文目录服务系统MS ActiveDirectory简体中文邮件系统无无无客户端软件MS IE10简体中文2.1.3.2 服务器硬件环境服务器最低配置推荐配置应用服务器、数据库服务器、邮件服务器、目录服务器1CPU:P4 2.0G1CPU:P4 2.8GMem:512MMem:2GHD:40GHD:120G2.1.3.3 开发机器软件环境分类名称版本语种操作系统Windows 88.0简体中文操作系统的附加功能无无无数据库平台MSSQL SERVER2008 R2简体中文应用平台IIS7.5简体中文开发平台Visual studio2012简体中文
16、客户端软件MS IE10简体中文2.1.3.4 开发机器硬件环境分类最低配置推荐配置开发机器1CPU:P4 2.0G1CPU:P4 2.8GMem:512MMem:2GHD:40GHD:120G2.2 设计思想2.2.1 系统构思2.2.1.1 系统硬件部署本系统采用分布部署的方式,在各个实施点都安装一整套独立的服务器,以确保在网络断开的情况下,各实施点的区域公司仍能独立工作。2.2.1.2 系统软件架构根据系统需要,采用MVC+EntityFramework+Ajax开发模式。数据库采用MS SQL Server 2008 R2。2.2.1.3 系统角色分析注意:本系统需求分析要求职位和角色
17、绑定,即职位就是角色,没有独立的角色模块,权限分配也是对个人进行分配。而新增人员默认只给予普通员工权限。本OA办公系统的用户分为普通员工,部门经理,财务部人员,总经理,管理员五类。对于普通员工,不需要有太高的技术水平,能初步了解计算机基本操作即可;他可以查看自己的个人信息,按照流程请假、报销,可查看请假、报销的申请状态,也可以查看公告信息。对于部门经理,不需要有太高的技术水平,能初步了解计算机基本操作即可;他可以审批本部门员工的请假申请与报销申请,并把报销申请提交给财务部人员。对于财务部人员,要熟练掌握财务专业知识,初步了解计算机基本操作即可;他可以审批各部门提交过来的报销申请,并把批准的申请
18、提交给总经理。对于总经理,要熟练掌握财务专业知识,初步了解计算机基本操作即可;他可以审批财务部提交过来的报销申请。对于管理员,需要熟悉本系统,掌握系统各功能流程;他拥有系统的最高权限,可以对人员、部门、职位、权限进行增、删、查、改, 可为各用户分配系统的各权限。还可以向指定部门发公告。图表 21 OA办公系统组织架构总经理部门经理财务部经理系统管理员部门员工部门员工2.2.1.4 系统模块介绍1、人员管理模块对公司员工的档案进行维护。实现对人员信息的增删查改。2、部门管理模块可以对该公司的部门信息进行维护,如增加部门,查找部门,修改部门信息,删除部门操作。3、岗位管理模块可以对该公司的岗位信息
19、进行维护,如增加岗位,查找岗位,修改岗位信息,删除岗位操作。4、权限管理模块当系统有新的功能时,就有新的页面,有新的url,既要添加新的权限。一个人可以拥有多个权限,一个权限可以分配给多个人。每个人员默认拥有普通员工的权限,包括查看个人信息,修改人个信息,修改登陆密码,申请报销,查看个人报销,请假,查看个人请假,查看公告。实现对权限的增删查改,以及对员工的授权操作。5、个人信息管理模块为员工个人提供包括基本个人信息,岗位信息,密码,联系方式等个人信息的维护6、公告管理模块该功能允许每个部门的员工登录系统后可以看到公司和所在部门发布的公告。由系统管理员统一管理,进行对公告的增添,删除,修改,查询
20、的操作。7、请假管理模块本功能为员工在日常生活中遇到一些紧急事项而需要跟部门申请请假。对于普通员工不仅有申请假条的功能,而且还能查看自己申请假条以及假条的审批状态。对于部门经理,能查看所有的请假条,并对请假条给与回执。此模块包括的功能有:申请请假条,查看请假条,审批请假条。8、报销管理模块员工在工作中,因为工作差旅的关系或者其他而要消耗的金额向公司进行申请报销,在报销过程中,需一层层向上申请,经过部门经理、财务部,直到总经理批准为止,最后由总经理发送允许回执给员工。如果在某一层申请被拒绝,即给与员工一个回执并说明拒绝理由。此模块功能包括:申请差旅报销单,申请其他报销单,查看报销,审批报销。2.
21、2.2 关键技术与算法2.2.2.1 Ajax技术AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML)。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。异步更新数
22、据代码示例:function loadXMLDoc()var xmlhttp;if (window.XMLHttpRequest) / code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); else / code for IE6, IE5 xmlhttp=new ActiveXObject(Microsoft.XMLHTTP); xmlhttp.onreadystatechange=function() if (xmlhttp.readyState=4 & xmlhttp.status=200)
23、document.getElementById(myDiv).innerHTML=xmlhttp.responseText; xmlhttp.open(GET,/ajax/demo_get.asp,true);xmlhttp.send();AJAX请求数据2.2.2.2 Entity Framework技术ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主,将数据逻辑层切分为三块,分别为 Conceptual Schema, Mapping Schema 与 Storage Schema 三层,其上还有 Entity Client,Obj
24、ect Context 以及 LINQ 可以使用。概念层结构定义了对象模型 (Object Model),让上层的应用程序码可以如面向对象的方式般访问数据,概念层结构是由 CSDL (Conceptual Schema Definition Language) 所撰写。一份概念层结构定义如下所示:Schema Namespace=Employees Alias=Self xmlns=对应层结构对应层结构负责将上层的概念层结构以及下层的储存体结构中的成员结合在一起,以确认数据的来源与流向。对应层结构是由 MSL (Mapping Specification Language) 所撰写2。一份对应
25、层结构定义如下所示:储存层结构储存层结构是负责与数据库管理系统 (DBMS) 中的数据表做实体对应 (Physical Mapping),让数据可以输入正确的数据来源中,或者由正确的数据来源取出。它是由 SSDL (Storage Schema Definition Language) 所撰写3。一份储存层结构定义如下所示:?xml version=1.0 encoding=utf-8?Schema Namespace=Employees.Store Alias=SelfProvider=System.Data.SqlClientProviderManifestToken=2005xmlns=
26、2.2.2.3 MVC架构MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。视图视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Adobe Flash和像XHTML,XML/XSL,WML等一些标识语言和Web services.MVC好处是它能为应用程序处理很多不同的视图。在视图中
27、其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任
28、何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。账户管理模块关键代码示例:Model: public class ChangePasswordModel Required DataType(DataType.Password) Display(Name = 当前密码) public string OldPassword get; set; Required StringLength(100, ErrorMessage = 0 必须至少包含 2 个字符。, MinimumLength = 6) DataType(DataType.Password)
29、Display(Name = 新密码) public string NewPassword get; set; DataType(DataType.Password) Display(Name = 确认新密码) System.Web.Mvc.Compare(NewPassword, ErrorMessage = 新密码和确认密码不匹配。) public string ConfirmPassword get; set; public class LogOnModel Required Display(Name = 用户名) public string UserName get; set; Req
30、uired DataType(DataType.Password) Display(Name = 密码) public string Password get; set; Display(Name = 记住我?) public bool RememberMe get; set; Control:public class AccountController : Controller public ActionResult LogOn() return View(); HttpPost public ActionResult LogOn(LogOnModel model,string return
31、Url) / 处理代码 return View(model); / / GET: /Account/LogOff public ActionResult LogOff() / 处理代码 return RedirectToAction(LogOn); / / GET: /Account/Register public ActionResult Register() return View(); / / GET: /Account/ChangePassword Authorize public ActionResult ChangePassword() return View(); / / POS
32、T: /Account/ChangePassword HttpPost public ActionResult ChangePassword(ChangePasswordModel model) / 处理代码 return View(model); 2.2.2.4 MVC3 过滤器在ASP.NET MVC 框架中,为我们提供了四种类型的Filter类型包括:IAuthorizationFilter、IActionFilter、IResultFilter、IExceptionFilter,执行顺序如下: IAuthorizationFilter 最先执行的,在这些Filter中,我们可以说它的执
33、行优先级是最高的,用于身份验证并对控制器中的action进行授等进行逻辑处理 IActionFilter 在IAuthorizationFilter之后执行,包含两个方法,在controller中的action执行之前、执行之后进行逻辑处理 IResultFilter 同样包含两个方法,在IActionFilter之后执行,在返回View之前和返回View之后执行逻辑处理 IException 主要用于对异常信息进行处理 通过上述信息我们可以看到各个Filter之间运行的顺序。在我们要对程序运行时候的这四个阶段进行特殊处理的时候,我们可以自己写一个Filter类去实现其中的逻辑处理代码,实现相
34、应的接口就可以进行特殊处理。ASP.NET MVC框架为我们提供了一个抽象类,名为:ActionFilterAttribute,这个抽象类只实现了IActionFilter和IResultFilter这两个接口中的方法,分别是:IActionFilter(OnActionExcuting、OnActionExcuted)、IResultFilter(OnResultExcuting、OnResultExcuted)。如果需要对验证或者异常进行特殊处理的话,还是需要实现IAuthorizationFilter或IException。IAuthorizationFilter 过滤器关键代码示例:p
35、ublic class LogOnAuthorizeAttribute : IAuthorizationFilter public void OnAuthorization(AuthorizationContext filterContext) /登录有效验证,处理代码/权限有效验证,处理代码 2.2.2.5 Jquery技术jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript高手加入其team,包括来自德国的Jörn Zaefferer,罗马尼亚的Stefan Petre等等。jQuery是继prototype之后又一个优秀的Javascrpt框架。其宗旨是WRITE LESS,DO MORE,写更少的代码,做更多的事情。由于目前高校基本尚未开JavaScript的相关课程,目前jQuery的学习,使用,研究都仅限于在职Web程序员之间。用jq的前提,首先要引用一个有jq的文件script type=text/javascript src=这个是jquery官方最新的地址。可用在自己网站里加个这个,就能使用jquery了。 但仍然建议下载到本地服务器上。3 系统功能设计此部分主要对关键
限制150内