办公自动化管理系统详细设计说明.doc
【精品文档】如有侵权,请联系网站删除,仅供学习与交流办公自动化管理系统详细设计说明.精品文档.OA办公自动化管理系统详细设计说明书编写: 日期:2013-07-31审核:日期:批准:日期:受控状态:是 发布版次:3.0日期:2013-08-02编号:变更记录日期版本变更说明作者2013/08/021.0初始版本2013/08/031.5模块汇总2013/08/042.0模块功能详细设计2013/08/042.0模块功能详细设计2013/08/052.5对象设计2013/08/083.0升级及审核签字确认系统模块对应章节对应部门负责人签字目 录1引言51.1编写目的51.2背景51.3基线51.4范围51.5定义51.6参考资料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尚待解决的问题161 引言1.1 编写目的本说明书目的在于明确说明系统各功能的实现方式,指导开发人员进行编码。本说明书的预期读者为:项目开发经理、客户项目经理、系统开发人员以及测试人员1.2 背景待开发软件系统的名称:OA办公自动化管理系统此软件系统任务提出者: 此软件系统任务开发者: 此软件系统任务用户: 1.3 范围主要以OA办公自动化管理系统需求分析说明书提出了基本范围,实施目标和功能等信息,供实施开发部门使用。1.4 参考资料OA办公自动化管理系统需求分析说明书 v1.0。OA办公自动化管理系统概要设计说明书 v1.0。OA办公自动化管理系统数据库设计说明书 v1.0。1.5 术语与缩写解释缩写、术语解 释SPP精简并行过程,Simplified Parallel ProcessSD系统设计,System DesignOA办公室自动化。1.6 系统环境1.6.1 操作系统本系统基于ASP.NET+Entity Framework+ajax开发,可运行于支持IIS应用平台的Windows Server 操作系统。1.6.2 数据库本系统采用 MSSQL SERVER 数据库,版本为 2008 R2 。1.6.3 客户端客户端软件为:MS IE、Google Chorme等。2 系统模块命名规范2.1 概述设计、开发人员必须严格按照此套开发规范和标准,并落实到自己的开发当中。命名规范包括:控制器命名规范:模块+Controler例如:AskForLeaveControler,其中AskForLeave为请假管理模块名。行为命名规范:功能名称(参数1,参数2.)例如:Create(),Edit(int id).,GetLezveStatus(int id)。其他函数命名规范:模块名称_函数名称(参数1,参数2)例如:AskForLeave_GetState(int id);编码规范包括:提示:模块设计人员确定本软件的模块命名规则(例如类、函数、变量等),确保模块设计文档的风格与代码的风格保持一致。可以从机构的编程规范中摘取或引用(如果存在的话)。3 对象设计3.1 系统类图结构(总体类图)3.2 关键类定义3.2.1 报销单填写并提交(关系类图)3.2.1.1 描述:功能描述用户使用Account类登录系统,系统通过OA_AllEmployees类并访问OA_BaseInfo类自动读取用户信息。用户填写OA_Reimburse类的属性(OA_Reimburse类通过访问OA_BaseInfo类确定报销类型)并提交,系统自动在OA_ReimburseApprove类生成对应对象。3.2.1.2 逻辑时序图用户输入帐号密码(验证码)等登录信息,OA_Account类通过将查询OA_AllEmployees类验证帐号密码是否正确。正确登录后,系统通过OA_AllEmployees类并访问OA_BaseInfo类自动读取用户性别、婚姻状况信息。用户填写OA_Reimburse类的属性,OA_Reimburse类通过访问OA_BaseInfo类确定报销类型。然后提交报销信息,系统自动在OA_ReimburseApprove类生成报销审批,至此报销提交完成。用户注销退出系统。3.2.2 请假单填写并提交(关系类图)3.2.2.1 描述:功能描述用户使用Account类登录系统,系统通过OA_AllEmployees类并访问OA_BaseInfo类自动读取用户信息。用户填写OA_AskForLeave类的属性并提交,请假申请完成。3.2.2.2 逻辑时序图用户输入帐号密码(验证码)等登录信息,OA_Account类通过将查询OA_AllEmployees类验证帐号密码是否正确。正确登录后,用户填写OA_AskForLeave类的属性,至此请假申请完成。用户注销退出系统。3.2.3 公告发布(关系类图)3.2.3.1 描述:功能描述用户使用Account类登录系统,系统通过OA_AllEmployees类并访问OA_BaseInfo类自动读取用户信息。用户填写OA_Announcement类的属性,通过OA_Department类选择要通知的部门,系统自动将所选择部门与对应公告记录在OA_AnnouncementRange类。3.2.3.2 逻辑时序图用户输入帐号密码(验证码)等登录信息,OA_Account类通过将查询OA_AllEmployees类验证帐号密码是否正确。正确登录后,用户填写OA_Announcement类的属性,通过OA_Department类选择要通知的部门,系统自动将所选择部门与对应公告记录在OA_AnnouncementRange类,至此公告发布完成。用户注销退出系统。3.2.4 人员增加(关系类图)3.2.4.1 描述:功能描述管理员使用Account类登录系统,系统通过OA_AllEmployees类并访问OA_BaseInfo类自动读取个人信息。然后填写要增加的OA_AllEmployees类的属性(OA_AllEmployees类通过访问OA_BaseInfo类确定性别、婚姻状况类型),再选择OA_Department类的DEP_ID确定人员部门归属,按照部门选择OA_Position类的POS_ID确定职位。3.2.4.2 逻辑时序图管理员输入帐号密码(验证码)等登录信息,OA_Account类通过将查询OA_AllEmployees类验证帐号密码是否正确。正确登录后,管理员填写OA_AllEmployees类的属性(OA_AllEmployees类通过访问OA_BaseInfo类确定性别、婚姻状况类型),再选择OA_Department类的DEP_ID确定人员部门归属,按照部门选择OA_Position类的POS_ID确定职位,至此增加人员完成。管理员注销退出系统。3.2.5 权限分配(关系类图)3.2.5.1 描述:功能描述管理员使用Account类登录系统,系统通过OA_AllEmployees类并访问OA_BaseInfo类自动读取个人信息。然后通过访问OA_EmployeePower确定用户已有权限,再通过OA_Power为用户选择新权限。选择完成后系统自动在OA_EmployeePowe中增加用户新权限记录,至此权限分配完成。3.2.5.2 逻辑时序图管理员输入帐号密码(验证码)等登录信息,OA_Account类通过将查询OA_AllEmployees类验证帐号密码是否正确。正确登录后,管理员通过访问OA_EmployeePower确定用户已有权限,再通过OA_Power为用户选择新权限。选择完成后系统自动在OA_EmployeePowe中增加用户新权限记录,至此权限分配完成。管理员注销退出系统。4 模块汇总4.1 模块汇总表提示:这里模块是指相对独立的软件设计单元,例如对象类、函数包等等。OA办公自动化系统模块名称功能简述账户管理模块实现用户对系统的登录、注销、修改密码。同时实现登录页面的公告显示。系统主页模块系统的默认首页,实现公告信息查看,以及动态信息提示。人员管理模块对公司员工的档案进行维护。实现对人员信息的增删查改。部门管理模块可以对该公司的部门信息进行维护,如增加部门,查找部门,修改部门信息,删除部门操作。岗位管理模块可以对该公司的岗位信息进行维护,如增加岗位,查找岗位,修改岗位信息,删除岗位操作。权限管理模块实现对权限的增删查改,以及对员工的授权操作。一个人可以拥有多个权限,一个权限可以分配给多个人。每个人员默认拥有普通员工的权限,包括查看个人信息,修改人个信息,修改登陆密码,申请报销,查看个人报销,请假,查看个人请假,查看公告。个人信息管理模块为员工个人提供包括基本个人信息,岗位信息,密码,联系方式等个人信息的维护公告管理模块该功能允许每个部门的员工登录系统后可以看到公司和所在部门发布的公告。由系统管理员统一管理,进行对公告的增添,删除,修改,查询的操作。请假管理模块本功能为员工在日常生活中遇到一些紧急事项而需要跟部门申请请假。对于普通员工不仅有申请假条的功能,而且还能查看自己申请假条以及假条的审批状态。对于部门经理,能查看所有的请假条,并对请假条给与回执。此模块包括的功能有:申请请假条,查看请假条,审批请假条。报销管理模块员工在工作中,因为工作差旅的关系或者其他而要消耗的金额向公司进行申请报销,在报销过程中,需一层层向上申请,经过部门经理、财务部,直到总经理批准为止,最后由总经理发送允许回执给员工。如果在某一层申请被拒绝,即给与员工一个回执并说明拒绝理由。此模块功能包括:申请差旅报销单,申请其他报销单,查看报销,审批报销。OA办公自动化系统 过滤器模块名称功能简述全局过滤器实现对用户的有效登录进行验证:已登录用户,则允许继续操作。否则,将强制跳转到登录页面。实现对用户的权限进行判断和控制访问:用户每访问任何一个页面,都必须进行权限判断,有权限,则继续访问;无权限,则提示警告,并返回之前页面。4.2 模块关系图提示:参考体系结构设计文档功能层次模块图:权限管理用户登陆个人信息管理请假报销人员信息管理部门信息管理职位信息管理公告管理5 模块功能详细设计5.1 账户管理模块5.1.1 登录系统模块名称账户管理模块功能描述登录系统,进行人员登陆验证,避免无权限使用者进入系统操作流程打开登录页面,页面可查看面向全部部门发出的公告信息员工输入用户名,密码若想重置输入账号、密码,点击“取消”按钮点击“登陆”按钮 账号密码不对登陆成功,进入系统结束业务流程登录页面填写登陆信息验证失败,重新输入登陆信息提交进入数据库验证登陆信息验证成功,进入系统页面输入人员用户名、密码页面输出登录成功,跳转到系统主页;登录失败,跳转回登陆页面。登录页面输出面向全部部门发出的公告信息对应的类Account对应的方法HttpGetLogOn();HttpPost LogOn(LogOnModel model,string returnUrl)方法输入HttpGet人员用户名、密码;HttpPost LogOnModel对象,returnUrl方法输出登录页面输出面向所有部门的公告信息。登录时,进入数据库匹配当前输入的账号密码:验证成功:进入系统主页;验证失败:提示信息。查询条件人员用户名,密码接口设计无数据库表OA_AllEmployees,OA_Announcement表字段OA_AllEmployees:字段名数据类型是否为空默认值备注含义AE_IDInt否主键,自增索引AE_NameNvarchar(30)否员工姓名AE_PasswordNvarchar(6)否123456登陆密码OA_Announcement:字段名数据类型是否为空默认值备注含义AM_IDInt否主键, 自增主键,索引AM_NumberNvarchar(50)否公告编号AM_ThemeNvarchar(100)否公告主题AM_ContentNvarchar(500)否公告内容AM_DatetimeDatetime否NOW()公告时间5.1.2 注销,退出系统模块名称账户管理模块功能描述注销,退出系统。操作流程打开系统任一页面点击右上角的“退出”按钮弹出框询问是否退出,是则点击“确定”按钮是则点击“取消”按钮否 成功退出系统,跳转到登录页面,页面可查看面向全部部门发出的公告信息是结束业务流程打开系统任一页面点击右上角的“退出”按钮弹出框询问是否退出,否成功退出系统,跳转到登录页面是 结束页面输入无页面输出注销成功,跳转回登陆页面对应的类Account对应的方法LogOff()方法输入无方法输出清除Cookie等登录信息(FormsAuthentication.SignOut();)成功退出系统,跳转到登录页面,页面可查看面向全部部门发出的公告信息查询条件无接口设计无数据库表OA_Announcement表字段OA_Announcement:字段名数据类型是否为空默认值备注含义AM_IDInt否主键, 自增主键,无意义AM_NumberNvarchar(50)否公告编号AM_ThemeNvarchar(100)否公告主题AM_ContentNvarchr(500)否公告内容AM_DatetimeDatetime否NOW()公告时间打开系统任一页面5.1.3 修改登录密码模块名称账户管理模块功能描述修改登录密码操作流程员工登陆系统点击导航栏的“个人信息管理”,选择“修改登录密码”,进入修改登录密码页面在编辑界面上填写密码信息点击“提交”按钮,提交数据。结束业务流程普通员工修改登录密码结束页面输入用户的新密码和旧密码页面输出无对应的类Account对应的方法ChangePassword(ChangePasswordModel model)方法输入ChangePasswordModel实体对象方法输出将新的登录密码更新到数据库查询条件根据登录用户的ID进行查询接口设计无数据库表OA_AllEmployees表字段字段名数据类型是否为空默认值备注AE_IDInt否自增主键AE_NameNvarchar(30)否无AE_PasswordNvarchar(6)否1234565.2 系统首页模块5.2.1 首页信息提示模块名称系统首页模块功能描述首页信息提示操作流程员工登陆系统成功登录系统后,即进入系统首页,系统首页有“公告信息”,“动态信息”结束业务流程验证登录成功登录系统后,即进入系统首页,系统首页有“公告信息”,“动态信息”页面输入页面输出首页页面,公告信息,待请假以及报销相关信息对应的类Home对应的方法Index()方法输入人员ID ,OA_Announcement、OA_ AskForLeave、OA_ OA_Reimburse实体对象集合方法输出公告信息,待请假以及报销相关状态信息查询条件无接口设计无数据库表OA_AllEmployees、OA_Announcement、OA_ AskForLeave、OA_ OA_Reimburse表字段OA_AllEmployees:字段名数据类型是否为空默认值备注AE_IDInt否自增主键AE_NameNvarchar(30)否无AE_PasswordNvarchar(6)否123456OA_Announcement:字段名数据类型是否为空默认值备注含义AM_IDInt否主键, 自增主键,无意义AM_NumberNvarchar(50)否公告编号AM_ThemeNvarchar(100否公告主题AM_ContentNvarchar(500)否公告内容AM_DatetimeDatetime否NOW()公告时间OA_ AskForLeave:字段名数据类型是否为空默认值备注含义AFL_IDInt否自增主键主键,无意义AFL _EmployeeIDInt否外键员工IDAFL _ApplicationDateDatetime否NOW()申请日期AFL _StartDateDatetime否开始日期AFL _EndDateDatetime否结束日期AFL _ContentNvarchar(Max)否请假事由AFL _TypeIDInt否外键请假类型AFL _ApproveStatusNvarchar(50)否“批准”或“等待审核”或“不批准”审核状态AFL _ ApproveContentNvarchar(Max)否审核回复AFL _ ApproveDateDatetime否审核时间OA_ OA_Reimburse:字段名数据类型是否为空默认值备注含义RE_IDInt否主键,自增主键,无意义RE_EmployeeIDInt否外键员工IDRE_ApplicationDateDatetime否NOW()申请日期RE_ContentNvarchar(MAX)否申请内容RE_Moneymoney否金额RE_TypeIDInt否外键报销类型IDRE_ApproveStatusNvarchar(50)否报状态5.3 人员信息管理模块5.3.1 增加人员模块名称人员信息管理模块功能描述增加人员操作流程员工登陆系统点击导航栏的“人员信息管理”,选择“增加人员”,进入人员添加页面填写人员编号、姓名、出生年月、联系电话、入职日期、电子邮箱、家庭住址,选择性别、部门、岗位、婚姻状况,上传个人照片,点击”创建”按钮,提交数据。结束业务流程管理员填写人员信息提交跳转到人员信息查看页面页面输入人员编号、姓名、性别、照片、出生年月、部门、岗位、婚姻状况、联系电话、入职日期、电子邮箱、家庭住址页面输出创建成功,跳转到查看人员页面。失败则弹出框提示信息。对应的类OA_AllEmployees对应的方法HttpGetCreate();HttpPostCreate(OA_AllEmployees Employee) 方法输入AllEmployees实体对象方法输出修改成功,则将新增人员数据写入数据库后,重定向到查看人员页面;否则,弹出信息提示。查询条件姓名,部门,岗位接口设计无数据库表OA_AllEmployees表字段字段名数据类型是否为空默认值备注AE_NumberNvarchar(5)否无员工编号AE_NameNvarchar(30)否无AE_SexNchar(1)否男或女AE_BrithdayDatetime否AE_PositionID Int否AE_DepartmentIDInt否AE_TelephoneNvarchar(20)否AE_AddressNvarchar(50)否AE_EmailNvarchar(50)否AE_EntryDateDatetime否AE_MaritalStatusIDInt否AE_PhotoUrlNvarchar(MAX)否5.3.2 删除人员模块名称人员信息管理模块功能描述删除人员操作流程员工登陆系统点击导航栏的“人员信息管理”,选择“删除人员”,进入人员删除页面填写姓名,选择所属部门、岗位,点击”查找”按钮在列表中选择要删除的人员,点击”删除”按钮确认详细信息,点击”删除”按钮删除完成。结束业务流程管理员查找要删除的人员删除将相应信息从数据库中删除跳转到人员信息查看页面页面输入姓名、部门、岗位页面输出删除成功,则跳转到人员列表页面;否则,弹出信息提示。对应的类OA_AllEmployees对应的方法Delete(int id)方法输入AllEmployees实体对象方法输出验证是否有级联信息:有则禁止级联删除,弹出信息提示。无则将删除人员数据从数据库中删除查询条件姓名,部门,岗位接口设计无数据库表OA_AllEmployees表字段字段名数据类型是否为空默认值备注AE_NameNvarchar(30)否无AE_PositionID Int否AE_DepartmentIDInt否5.3.3 查看人员模块名称人员信息管理模块功能描述查看人员操作流程员工登陆系统点击导航栏的“人员信息管理”,选择“查看人员”,进入人员查看页面填写姓名,选择所属部门、岗位,点击”查找”按钮在列表中选择要查看的人员,点击”详细”按钮确认详细信息,点击”关闭”按钮结束业务流程管理员查找到要查看的人员查看页面输入搜索输入:姓名、部门、岗位页面输出人员列表对应的类OA_AllEmployees对应的方法Index()方法输入OA_AllEmployees实体对象集合方法输出符合条件的人员列表查询条件姓名,部门,岗位接口设计无数据库表OA_AllEmployees表字段字段名数据类型是否为空默认值备注AE_NameNvarchar(30)否无AE_PositionID Int否AE_DepartmentIDInt否5.3.4 修改人员模块名称人员信息管理模块功能描述修改人员操作流程员工登陆系统点击导航栏的“人员信息管理”,选择“修改人员”,进入人员修改页面输入姓名、所属部门、所属岗位,点击”查找”按钮在人员列表中选中要修改的人员,点击”修改”按钮重新填写人员编号、姓名、出生年月、联系电话、入职日期、电子邮箱、家庭住址,选择性别、部门、岗位、婚姻状况,上传个人照片,点击”创建”按钮,提交数据。结束业务流程管理员修改人员信息提交将修改后的数据写入数据库跳转到人员信息查看页面页面输入人员编号、姓名、性别、照片、出生年月、部门、岗位、婚姻状况、联系电话、入职日期、电子邮箱、家庭住址页面输出修改成功,则跳转到查看人员页面;否则,弹出信息提示。对应的类OA_AllEmployees对应的方法HttpGetEdit(int id) ;HttpPostEdit(OA_AllEmployees Employee)方法输入AllEmployees实体对象方法输出修改成功,则将修改的人员数据写入数据库后,重定向到查看人员页面;否则,弹出信息提示。查询条件姓名,部门,岗位接口设计无数据库表OA_AllEmployees表字段OA_AllEmployees:字段名数据类型是否为空默认值备注AE_NumberNvarchar(5)否无员工编号AE_NameNvarchar(30)否无AE_SexNchar1)否男或女AE_BrithdayDatetime否AE_PositionID Int否AE_DepartmentIDInt否AE_TelephoneNvarchar(20)否AE_AddressNvarchar(50)否AE_EmailNvarchar(50)否AE_EntryDateDatetime否AE_MaritalStatusIDInt否AE_PhotoUrlNvarchar(MA)否5.4 部门信息管理子模块5.4.1 添加部门模块名称部门信息管理模块功能描述添加部门操作流程员工登陆系统点击导航栏的“部门信息管理”,选择“添加部门”,进入部门添加页面输入部门编号、部门名称、选择部门经理点击”创建”按钮,提交数据。结束业务流程管理员添加部门信息创建将修改后的数据写入数据库跳转到部门信息查看页面页面输入部门编号、部门名称、部门经理页面输出创建成功,跳转到部门查看页面。失败则弹出框提示信息。对应的类OA_Department对应的方法HttpGetCreate();HttpPostCreate(OA_ Department Department)方法输入Department实体对象方法输出修改成功,则将添加的部门数据写入数据库后,重定向到查看人员页面;否则,弹出信息提示。查询条件无接口设计无数据库表OA_Department表字段字段名数据类型是否为空默认值备注DEP_NumberNvarchar(5)否无员工编号DEP_NameNvarchar(50)否无DEP_ManagerIDNvarchar(50)否5.4.2 删除部门模块名称部门信息管理模块功能描述删除部门操作流程员工登陆系统点击导航栏的“部门信息管理”,选择“删除部门”,进入部门删除页面选择要删除的部门点击”删除”按钮,提交数据。系统检测该部门下是否有职位和员工是否禁止删除,弹出提示,需先删除引用删除部门结束业务流程管理员选择要删除的部门系统检测该部门下是否有职位和员工禁止删除,弹出提示,需先删除引用删除部门跳转到部门信息查看页面页面输入选择要删除的部门页面输出删除成功,则跳转到部门查看页面;否则,弹出信息提示。对应的类OA_Department对应的方法Delete(int id)方法输入Department实体对象ID方法输出验证是否有级联信息:有则禁止级联删除,弹出信息提示。无则将要删除的部门从数据库删除查询条件无接口设计无数据库表OA_Department表字段字段名数据类型是否为空默认值备注DEP_NumberNvarchar(5)否无员工编号DEP_NameNvarchar(50)否无DEP_ManagerIDNvarchar(50)否5.4.3 查看部门模块名称部门信息管理模块功能描述查看部门操作流程员工登陆系统点击导航栏的“部门信息管理”,选择“查看部门”,进入部门查看页面选择要查看的部门,点击”详细”按钮点击”关闭”按钮结束业务流程管理员选择要查看信息的部门查看页面输入部门编号、部门名称、部门经理页面输出部门查看页面对应的类OA_Department对应的方法Index()方法输入Department实体对象方法输出部门查看页面查询条件无接口设计无数据库表OA_Department表字段字段名数据类型是否为空默认值备注DEP_NumberNvarchar(5)否无员工编号DEP_NameNvarchar(50)否无DEP_ManagerIDNvarchar(50)否5.4.4 修改部门模块名称部门信息管理模块功能描述修改部门操作流程员工登陆系统点击导航栏的“部门信息管理”,选择“修改部门”,进入部门修改页面选择要下修改的部门,点击”查找”按钮在列表中选择要修改的部门,点击”修改”按钮输入部门编号、部门名称、选择部门经理,点击”保存”按钮点击”关闭”按钮,提交数据结束业务流程管理员选择要修改信息的部门重新填写部门信息将修改后的数据保存到数据库结束页面输入部门编号、部门名称、部门经理页面输出部门查看页面对应的类OA_Department对应的方法HttpGetEdit(int id) ;HttpPostEdit(OA_ Department Department)方法输入Department实体对象方法输出修改成功,将修改后的部门数据更新到数据库后,重定向到查看人员页面;否则,弹出信息提示。查询条件无接口设计无数据库表OA_Department表字段字段名数据类型是否为空默认值备注DEP_NumberNvarchar(5)否无员工编号DEP_NameNvarchar(50)否无DEP_ManagerIDNvarchar(50)否5.5 请假管理模块5.5.1 申请请假模块名称请假管理模块功能描述申请请假操作流程员工