OA办公系统详细设计.docx
《OA办公系统详细设计.docx》由会员分享,可在线阅读,更多相关《OA办公系统详细设计.docx(73页珍藏版)》请在冰点文库上搜索。
OA办公系统详细设计
OA办公自动化管理系统
详细设计说明书
编写:
日期:
2013-07-31
审核:
日期:
批准:
日期:
受控状态:
是
发布版次:
3.0
日期:
2013-08-02
编号:
变更记录
日期
版本
变更说明
作者
2013/08/02
1.0
初始版本
2013/08/03
1.5
模块汇总
2013/08/04
2.0
模块功能详细设计
2013/08/04
2.0
模块功能详细设计
2013/08/05
2.5
对象设计
2013/08/08
3.0
升级及审核
签字确认
系统模块
对应章节
对应部门
负责人签字
1.5定义5
1引言
1.1编写目的
本说明书目的在于明确说明系统各功能的实现方式,指导开发人员进行编码。
本说明书的预期读者为:
项目开发经理、客户项目经理、系统开发人员以及测试人员
1.2背景
待开发软件系统的名称:
OA办公自动化管理系统
此软件系统任务提出者:
此软件系统任务开发者:
此软件系统任务用户:
1.3范围
主要以《OA办公自动化管理系统》需求分析说明书提出了基本范围,实施目标和功能等信息,供实施开发部门使用。
1.4参考资料
OA办公自动化管理系统需求分析说明书v1.0。
OA办公自动化管理系统概要设计说明书v1.0。
OA办公自动化管理系统数据库设计说明书v1.0。
1.5术语与缩写解释
缩写、术语
解释
SPP
精简并行过程,SimplifiedParallelProcess
SD
系统设计,SystemDesign
OA
办公室自动化。
1.6系统环境
1.6.1操作系统
本系统基于ASP.NET+EntityFramework+ajax开发,可运行于支持IIS应用平台的WindowsServer操作系统。
1.6.2数据库
本系统采用MSSQLSERVER数据库,版本为2008R2。
1.6.3客户端
客户端软件为:
MSIE、GoogleChorme等。
2系统模块命名规范
2.1概述
设计、开发人员必须严格按照此套开发规范和标准,并落实到自己的开发当中。
命名规范包括:
控制器命名规范:
[模块]+Controler
例如:
AskForLeaveControler,其中AskForLeave为请假管理模块名。
行为命名规范:
[功能名称](参数1,参数2….)
例如:
Create(),Edit(intid).,GetLezveStatus(intid)。
其他函数命名规范:
[模块名称]_[函数名称](参数1,参数2)
例如:
AskForLeave_GetState(intid){};
编码规范包括:
提示:
模块设计人员确定本软件的模块命名规则(例如类、函数、变量等),确保模块设计文档的风格与代码的风格保持一致。
可以从机构的编程规范中摘取或引用(如果存在的话)。
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
对应的方法
[HttpGet]LogOn();[HttpPost]LogOn(LogOnModelmodel,stringreturnUrl)
方法输入
[HttpGet]人员用户名、密码;[HttpPost]LogOnModel对象,returnUrl
方法输出
登录页面输出面向所有部门的公告信息。
登录时,进入数据库匹配当前输入的账号密码:
验证成功:
进入系统主页;验证失败:
提示信息。
查询条件
人员用户名,密码
接口设计
无
数据库表
OA_AllEmployees,OA_Announcement
表字段
OA_AllEmployees:
字段名
数据类型
是否
为空
默认值
备注
含义
AE_ID
Int
否
主键,自增
索引
AE_Name
Nvarchar(30)
否
员工姓名
AE_Password
Nvarchar(6)
否
123456
登陆密码
OA_Announcement:
字段名
数据类型
是否为空
默认值
备注
含义
AM_ID
Int
否
主键,自增
主键,
索引
AM_Number
Nvarchar(50)
否
公告编号
AM_Theme
Nvarchar(100)
否
公告主题
AM_Content
Nvarchar(500)
否
公告内容
AM_Datetime
Datetime
否
NOW()
公告时间
5.1.2注销,退出系统
模块名称
账户管理模块
功能描述
注销,退出系统。
操作流程
打开系统任一页面
点击右上角的“退出”按钮
弹出框询问是否退出,
是则点击“确定”按钮
是则点击“取消”按钮
否
成功退出系统,跳转到登录页面,页面可查看面向全部部门发出的公告信息
是
结束
业务流程
打开系统任一页面
点击右上角的“退出”按钮
弹出框询问是否退出,
否
成功退出系统,跳转到登录页面
是
结束
页面输入
无
页面输出
注销成功,跳转回登陆页面
对应的类
Account
对应的方法
LogOff()
方法输入
无
方法输出
清除Cookie等登录信息(FormsAuthentication.SignOut();)
成功退出系统,跳转到登录页面,页面可查看面向全部部门发出的公告信息
查询条件
无
接口设计
无
数据库表
OA_Announcement
表字段
OA_Announcement:
字段名
数据类型
是否为空
默认值
备注
含义
AM_ID
Int
否
主键,自增
主键,
无意义
AM_Number
Nvarchar(50)
否
公告编号
AM_Theme
Nvarchar(100)
否
公告主题
AM_Content
Nvarchr(500)
否
公告内容
AM_Datetime
Datetime
否
NOW()
公告时间
打开系统任一页面
5.1.3修改登录密码
模块名称
账户管理模块
功能描述
修改登录密码
操作流程
员工登陆系统
点击导航栏的“个人信息管理”,选择“修改登录密码”,进入修改登录密码页面
在编辑界面上填写密码信息
点击“提交”按钮,提交数据。
结束
业务流程
普通员工
修改登录密码
结束
页面输入
用户的新密码和旧密码
页面输出
无
对应的类
Account
对应的方法
ChangePassword(ChangePasswordModelmodel)
方法输入
ChangePasswordModel实体对象
方法输出
将新的登录密码更新到数据库
查询条件
根据登录用户的ID进行查询
接口设计
无
数据库表
OA_AllEmployees
表字段
字段名
数据类型
是否为空
默认值
备注
AE_ID
Int
否
自增
主键
AE_Name
Nvarchar(30)
否
无
AE_Password
Nvarchar(6)
否
123456
5.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_ID
Int
否
自增
主键
AE_Name
Nvarchar(30)
否
无
AE_Password
Nvarchar(6)
否
123456
OA_Announcement:
字段名
数据类型
是否为空
默认值
备注
含义
AM_ID
Int
否
主键,自增
主键,无意义
AM_Number
Nvarchar(50)
否
公告编号
AM_Theme
Nvarchar(100
否
公告主题
AM_Content
Nvarchar(500)
否
公告内容
AM_Datetime
Datetime
否
NOW()
公告时间
OA_AskForLeave:
字段名
数据类型
是否为空
默认值
备注
含义
AFL_ID
Int
否
自增
主键
主键,无意义
AFL_EmployeeID
Int
否
外键
员工ID
AFL_ApplicationDate
Datetime
否
NOW()
申请日期
AFL_StartDate
Datetime
否
开始日期
AFL_EndDate
Datetime
否
结束日期
AFL_Content
Nvarchar(Max)
否
请假事由
AFL_TypeID
Int
否
外键
请假类型
AFL_ApproveStatus
Nvarchar(50)
否
“批准”或
“等待审核”
或“不批准”
审核状态
AFL_ApproveContent
Nvarchar(Max)
否
审核回复
AFL_ApproveDate
Datetime
否
审核时间
OA_OA_Reimburse:
字段名
数据类型
是否为空
默认值
备注
含义
RE_ID
Int
否
主键,自增
主键,无意义
RE_EmployeeID
Int
否
外键
员工ID
RE_ApplicationDate
Datetime
否
NOW()
申请日期
RE_Content
Nvarchar(MAX)
否
申请内容
RE_Money
money
否
金额
RE_TypeID
Int
否
外键
报销类型ID
RE_ApproveStatus
Nvarchar(50)
否
报状态
5.3人员信息管理模块
5.3.1增加人员
模块名称
人员信息管理模块
功能描述
增加人员
操作流程
员工登陆系统
点击导航栏的“人员信息管理”,选择“增加人员”,进入人员添加页面
填写人员编号、姓名、出生年月、联系电话、入职日期、电子邮箱、家庭住址,选择性别、部门、岗位、婚姻状况,上传个人照片,
点击”创建”按钮,提交数据。
结束
业务流程
管理员
填写人员信息
提交
跳转到人员信息查看页面
页面输入
人员编号、姓名、性别、照片、出生年月、部门、岗位、婚姻状况、联系电话、入职日期、电子邮箱、家庭住址
页面输出
创建成功,跳转到查看人员页面。
失败则弹出框提示信息。
对应的类
OA_AllEmployees
对应的方法
[HttpGet]Create();[HttpPost]Create(OA_AllEmployeesEmployee)
方法输入
AllEmployees实体对象
方法输出
修改成功,则将新增人员数据写入数据库后,重定向到查看人员页面;
否则,弹出信息提示。
查询条件
姓名,部门,岗位
接口设计
无
数据库表
OA_AllEmployees
表字段
字段名
数据类型
是否为空
默认值
备注
AE_Number
Nvarchar(5)
否
无
员工编号
AE_Name
Nvarchar(30)
否
无
AE_Sex
Nchar
(1)
否
‘男’或‘女’
AE_Brithday
Datetime
否
AE_PositionID
Int
否
AE_DepartmentID
Int
否
AE_Telephone
Nvarchar(20)
否
AE_Address
Nvarchar(50)
否
AE_Email
Nvarchar(50)
否
AE_EntryDate
Datetime
否
AE_MaritalStatusID
Int
否
AE_PhotoUrl
Nvarchar(MAX)
否
5.3.2删除人员
模块名称
人员信息管理模块
功能描述
删除人员
操作流程
员工登陆系统
点击导航栏的“人员信息管理”,选择“删除人员”,进入人员删除页面
填写姓名,选择所属部门、岗位,点击”查找”按钮
在列表中选择要删除的人员,点击”删除”按钮
确认详细信息,点击”删除”按钮
删除完成。
结束
业务流程
管理员
查找要删除的人员
删除
将相应信息从数据库中删除
跳转到人员信息查看页面
页面输入
姓名、部门、岗位
页面输出
删除成功,则跳转到人员列表页面;
否则,弹出信息提示。
对应的类
OA_AllEmployees
对应的方法
Delete(intid)
方法输入
AllEmployees实体对象
方法输出
验证是否有级联信息:
有则禁止级联删除,弹出信息提示。
无则将删除人员数据从数据库中删除
查询条件
姓名,部门,岗位
接口设计
无
数据库表
OA_AllEmployees
表字段
字段名
数据类型
是否为空
默认值
备注
AE_Name
Nvarchar(30)
否
无
AE_PositionID
Int
否
AE_DepartmentID
Int
否
5.3.3查看人员
模块名称
人员信息管理模块
功能描述
查看人员
操作流程
员工登陆系统
点击导航栏的“人员信息管理”,选择“查看人员”,进入人员查看页面
填写姓名,选择所属部门、岗位,点击”查找”按钮
在列表中选择要查看的人员,点击”详细”按钮
确认详细信息,点击”关闭”按钮
结束