OA协同办公系统详细设计说明书doc.docx
- 文档编号:10428921
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:79
- 大小:4.77MB
OA协同办公系统详细设计说明书doc.docx
《OA协同办公系统详细设计说明书doc.docx》由会员分享,可在线阅读,更多相关《OA协同办公系统详细设计说明书doc.docx(79页珍藏版)》请在冰豆网上搜索。
OA协同办公系统详细设计说明书doc
OA协同办公系统详细设计说明书
变更记录
日期
版本
变更说明
作者
XXXX-XX-XX
1.0
初始版本
XXX
签字确认
系统模块
对应章节
对应部门
负责人签字
1引言
1.1编写目的
本说明书目的在于明确说明系统各功能的实现方式,指导开发员进行编码。
主要为本公司以几份承包方的阅读者,如设计人员、开发人员等。
有时可以包括客户方的阅读者,如:
业务人员、系统管理人员等。
1.2背景:
待开发软件系统的名称:
OA协同办公系统
此软件系统任务提出者:
XXXXXXXX
此软件系统任务开发者:
XXXXXXXX
此软件系统任务用户:
XXXX
1.3基线
OA协同办公系统业务分析报告v1.0
OA协同办公系统需求分析说明书v1.0
OA协同办公系统概要设计说明书v1.0
OA协同办公系统详细设计说明书v1.0
1.4特殊名词定义
缩写、术语
解释
DAO
数据访问对象
SD
系统设计,SystemDesign
CURD
创建(Create)、读取(Read)更新(Update)和删除(Delete)
1.5参考资料
OA协同办公系统业务分析报告v1.0
OA协同办公系统需求分析说明书v1.0
OA协同办公系统概要设计说明书v1.0
Java开发规范
2模块命名规则
包名
命名规则
vo
值对象,其中存放的是每个JavaBean,其中JavaBean的命名是和数据库中的表名称是一一对应的。
dbc
一个有意义的名字+dbc其中的类是来操纵数据库的关闭和打开的
例子:
DatabaseConnection.java
Action
模块名+Action:
是用来给servlet命名的
例子:
LoginAction.java
form
模块名+ActionForm:
是用来给servlet命名的
例子:
LoginActionForm.java
dao
I+有意义的名字+DAO,因为dao包是用来定义接口的,在接口的命名中,在最前面是要加上一个字母“I”的。
包中定义的每一个接口的抽象方法,都是用来让Impl类和Proxy类来实现的。
例子:
IUserDAO.java
Impl
有意义的名字+Impl:
这是用来实现具体的增、删、改、查的操作的真实实现类,不负责数据库的关闭,且直接不会被servlet调用。
例子:
UserBeanImpl.java
Proxy
代理类:
一个有意义的名字+Proxy:
这是用用来实现真实的实现类的,它为实现类实例化,调用实现类的方法,是实现类的孪生兄弟,他负责数据库的关闭工作。
例子:
UserDaoproxy.java
Factory
工厂类:
一个有意义的名字+Factory。
这个类是用来调用dao接口的。
而dao接口通过其子类Proxy实例化。
例子:
UserFactory.java
3模块汇总
3.1模块汇总表
总公司:
系统管理
模块名称
功能简述
后台用户管理
用户的CURD
权限分配
角色权限的CURD
车辆管理
模块名称
功能简述
车辆管理
对车辆信息进行增删改查
班次管理
模块名称
功能简述
班次设置
对班次信息的CURD
处理加急班次
对来自配送点的加急班次申请进行处理
线路管理
模块名称
功能简述
基本线路管理
对基本路线的CURD
运输线路管理
对运输线路的CURD
配送点管理
模块名称
功能简述
配送点基本信息管理
对配送点和现有对应班次的CURD
审查配送费方案
审查各个配送点提交的配送费计算方案
费用管理
模块名称
功能简述
运费计算方案管理
设置或修改以公斤或者体积为标准的运费方案
利润分配方案管理
调整总公司和各个的配送点收益分配比率
收益统计管理
统计总公司以及各个配送点的收益情况
分公司:
订单管理
模块名称
功能简述
订单管理
对订单的CURD
订单审核
对网上下单以及本地下单进行审核
库存订单查询
对库存订单进行查询,方便交接单生成
订单确认
对货物配送的订单进行确认等相关操作
交接单管理
模块名称
功能简述
交接单管理
对交接单的CURD
紧急订单的查询
对紧急订单或者待发订单进行查询,方便交接单生成
班次查询及加急班次设置
查询班次,绑定交接单,申请加急班次,处理紧急订单
异常订单管理
模块名称
功能简述
异常订单登记
登记异常订单的相关信息,方便后期处理
异常订单查询
查询异常订单的处理情况
本地信息设置
模块名称
功能简述
配送价格设置
对配送价格进行设置并进行申报
设置中转线路
对中转线路进行设置,提供查询功能,给出中转选择意见
财务管理
模块名称
功能简述
财务统计
统计一段时间的收益,方便后期申报
财务汇报
定时向总公司申报财务
系统管理
模块名称
功能简述
后台用户管理
对本地后台用户信息的CURD
注册顾客管理
对网上注册顾客信息的CURD
权限管理
对所有系统用户的权限以及角色的分配
公司前台
注册管理
模块名称
功能简述
顾客管理
提供注册、登陆功能,方便顾客网上下单
查询管理
模块名称
功能简述
查询运费价格
向顾客提供运费查询功能,是顾客对费用有预先的了解
查询订单进度
向顾客提供订单查询功能,方便顾客查询进度以及个人订单历史记录
3.2系统架构设计
3.2.1系统架构基本功能实现
1.代码包结构及关系如图例所示。
包结构及关系(图例1)
代码共分成六个包:
base包专门用来存放连接数据库的类
contrl包存放action类即各种业务跳转的控制类
service包存放服务类文件
dao包存放数据持久化类
util包存放一些帮助类文件
vo存放数据封装类
3.3系统模块功能详细设计
3.3.1订单管理模块功能实现
订单管理模块详细类图:
订单管理模块时序图:
时序图展示内容说明:
1,OrderManager通过JSP页面进行CURD操作。
2,JSP页面通过post方式和控制器Servlet交互,提交订单查询请求。
3,OrderService类通过DBConnection类建立和数据库的连接。
4,OrderServlet调用OrderService类的queryOrder()函数进行查询。
5,OrderService类调用OrderDAO类的quryOrder()函数完成查询。
6,OrderDAO类通过OrderVO类获得Order类的数据封装。
7,OrderDAO类调用PageHelp完成分页请求。
8,OrderDAO类将PageHelp对象返回给OrderService类。
9,OrderService类将PageHelp对象返回给OrderServlet类。
10,OrderServlet调用disPatch()函数,将response返回给JSP页面。
11,JSP页面通过post方式和控制器Servlet交互,提交订单添加请求。
12,OrderService类通过DBConnection类建立和数据库的连接。
13,OrderServlet调用OrderService类的addOrder()函数进行添加。
14,OrderService类调用OrderDAO类的addOrder()函数完成添加。
15,OrderDAO类通过OrderVO类获得Order类的数据封装。
16,OrderDAO类将Interger值(代表添加成功与否的判断条件)返回给OrderService类。
17,OrderService类将Interger值(代表添加成功与否的判断条件)返回给OrderServlet类。
18,OrderServlet调用disPatch()函数,将response返回给JSP页面。
19,JSP页面通过post方式和控制器Servlet交互,提交订单删除请求。
20,OrderService类通过DBConnection类建立和数据库的连接。
21,OrderServlet调用OrderService类的delOrder()函数进行删除。
22,OrderService类调用OrderDAO类的delOrder()函数完成删除。
23,OrderDAO类通过OrderVO类获得Order类的数据封装。
24,OrderDAO类将Interger值(代表删除成功与否的判断条件)返回给OrderService类。
25,OrderService类将Interger值(代表删除成功与否的判断条件)返回给OrderServlet类。
26,OrderServlet调用disPatch()函数,将response返回给JSP页面。
附加说明:
本时序图中并没有画出详细类图中的updateOrder()、querystoreOrder()、queryconfirmOrder()这三个功能,因其具体流程和上面描述的过程基本一致。
updateOrder()功能的流程可以复用addOrder()功能的基本流程;querystoreOrder()、queryconfirmOrder()功能的流程都可以复用queryOrder()功能的流程。
3.3.2会员管理模块功能实现
会员管理模块详细类图:
会员管理模块时序图:
时序图展示内容说明:
1,User通过JSP页面进行CURD操作。
2,JSP页面通过post方式和控制器Servlet交互,提交登录请求。
3,MemberService类通过DBConnection类建立和数据库的连接。
4,MemberServlet调用MemberService类的loginValidate()函数进行登录验证。
5,MemberService类调用MemberDAO类的loginValidate()函数完成登录验证。
6,MemberDAO类通过MemberVO类获得Member类的数据封装。
7,MemberDAO类将Interger值(代表登录成功与否的判断条件)返回给MemberService类。
8,MemberService类将Interger值(代表登录成功与否的判断条件)返回给MemberServlet类。
9,MemberServlet调用disPatch()函数,将response返回给JSP页面。
10,JSP页面通过post方式和控制器Servlet交互,提交费用查询请求。
11,MemberService类通过DBConnection类建立和数据库的连接。
12,MemberServlet调用MemberService类的queryCost()函数进行登录验证。
13,MemberService类调用MemberDAO类的queryCost()函数完成登录验证。
14,MemberDAO类通过MemberVO类获得Member类的数据封装。
15,MemberDAO类通过CitylistVO类获得Citylist类的数据封装。
16,MemberDAO类通过CityListVO类获得Citylist类的数据封装。
17,MemberDAO类将Double值(代表费用总计)返回给MemberService类。
18,MemberService类将Double值(代表费用总计)返回给MemberServlet类。
19,MemberServlet调用disPatch()函数,将response返回给JSP页面。
附加说明:
本时序图并没有画出regMember()、queryorderState()这两个功能,因其具体流程和Order类的时序图的某些功能基本的流程类似:
regMember()功能的具体流程可以复用Order类的addOrder()功能的具体流程;queryorderState()功能的具体流程可以复用Order类的queryOrder()功能的具体流程。
3.3.3交接单管理功能实现
交接单管理模块类图:
交接单管理模块时序图:
a)创建交接单
时序图展示内容说明:
1,User通过JSP页面进行Create操作。
2,JSP页面通过post方式和控制器Servlet交互,提交订单添加请求。
3,JoinServlet调用JoinService类的joinCreate()函数进行添加。
4,JoinService类调用JoinDAO类的joinCreate()函数完成添加。
5,JoinDAO类通过JoinVO类获得Join类的数据封装。
6,JoinDAO类将Interger值(代表添加成功与否的判断条件)返回给JoinService类。
7,添加交接单后要建立交接单与订单的联系并更新班次,JoinService调用OrderbyjoinDAO类的obInsert()完成添加交接单与订单联系。
8,OrderbyjoinDAO类通过OrderbyjoinVO类获得Orderbyjoin类的数据封装。
9,OrderbyjoinDAO类将Interger值(代表添加成功与否的判断条件)返回给JoinService类。
10,进行班次信息的更新,JoinService调用ClassDAO类的classUpdate()完成班次信息的更新。
11,ClassDAO类通过ClassVO类获得Class类的数据封装。
12,ClassDAO类将Interger值(代表添加成功与否的判断条件)返回给JoinService类。
13,进行订单信息的更新,JoinService调用OrderDAO类的orderUpdate()完成订单状态信息的更新。
14,OrderDAO类通过OrderVO类获得Order类的数据封装。
15,OrderDAO类将Interger值(代表添加成功与否的判断条件)返回给JoinService类。
16,OrderService类将Interger值(代表添加成功与否的判断条件)返回给OrderServlet类。
17,JoinServlet调用disPatch()函数,将response返回给JSP页面。
b)确认交接单
时序图展示内容说明:
1,User通过JSP页面进行交接单确认操作。
2,JSP页面通过post方式和控制器Servlet交互,提交交接单确认请求。
3,JoinServlet调用JoinService类的joinUpdate()函数进行更新。
4,JoinService类调用JoinDAO类的joinUpdate()函数完成对交接单的更新。
5,JoinDAO类通过JoinVO类获得Join类的数据封装。
6,JoinDAO类将Interger值(代表更新成功与否的判断条件)返回给JoinService类。
7,进行班次信息的更新,JoinService调用ClassDAO类的classUpdate()完成班次信息的更新。
8,ClassDAO类通过ClassVO类获得Class类的数据封装。
9,ClassDAO类将Interger值(代表更新成功与否的判断条件)返回给JoinService类。
10,进行订单信息的更新,JoinService调用OrderDAO类的orderUpdate()完成订单状态信息的更新。
11,OrderDAO类通过OrderVO类获得Order类的数据封装。
12,OrderDAO类将Interger值(代表更新成功与否的判断条件)返回给JoinService类。
13,JoinService类将Interger值(代表更新成功与否的判断条件)返回给JoinServlet类。
14,JoinServlet调用disPatch()函数,将response返回给JSP页面。
c)修改交接单
时序图展示内容说明:
1,User通过JSP页面进行交接单修改操作。
2,JSP页面通过post方式和控制器Servlet交互,提交交接单修改请求。
3,JoinServlet调用JoinService类的joinModify()函数进行更新。
4,JoinService类调用OrderbyjoinDAO类的ojInsert()函数完成对交接单添加订单的更新。
5,OrderbyjoinDAO类通过OrderbyjoinVO类获得Orderbyjoin类的数据封装。
6,OrderbyjoinDAO类将Interger值(代表更新成功与否的判断条件)返回给JoinService类。
7,JoinService类调用OrderbyjoinDAO类的ojDelete()函数完成对交接单删除订单订单的更新。
8,OrderbyjoinDAO类将Interger值(代表更新成功与否的判断条件)返回给JoinService类。
9,JoinService类将Interger值(代表更新成功与否的判断条件)返回给JoinServlet类。
10,JoinServlet调用disPatch()函数,将response返回给JSP页面。
d)查询交接单
时序图展示内容说明:
1,User通过JSP页面进行交接单查询操作。
2,JSP页面通过post方式和控制器Servlet交互,提交订单查询请求。
3,JoinServlet调用JoinService类的joinQuery()函数进行查询。
4,JoinService类调用JoinDAO类的joinQuery()函数完成查询。
5,JoinDAO类通过JoinVO类获得Join类的数据封装。
6,JoinDAO类调用PageHelp完成分页请求。
7,JoinVO将PageHelp对象返回给JoinDAO类。
8,JoinDAO类将PageHelp对象返回给JoinService类。
9,JoinService类将PageHelp对象返回给JoinServlet类。
10,JoinServlet调用disPatch()函数,将response返回给JSP页面。
附加说明:
本时序图中并没有画出详细类图中的classQuery()、transferQuery()、orderQuery()这三个功能,因其具体流程和上面描述的过程基本一致。
以上三个功能的流程均可复用查询交接单流程图。
3.3.4系统管理功能实现
1、用户管理模块类图:
2、角色管理模块类图:
3、权限管理模块类图:
4、用户管理模块类图:
系统管理模块时序图:
1、用户查询:
时序图展示内容说明:
1,User通过JSP页面进行交接单查询操作。
2,JSP页面通过post方式和控制器Servlet交互,提交用户查询请求。
3,UserServlet调用UserService类的UserQuery()函数进行查询。
4,UserService类调用UserDAO类的UserQuery()函数完成查询。
5,UserDAO类通过UserVO类获得User类的数据封装。
6,UserDAO类调用PageHelp完成分页请求。
7,UserDAO类将PageHelp对象返回给UserService类。
8,UserService类将PageHelp对象返回给UserServlet类。
9,UserServlet调用disPatch()函数,将response返回给JSP页面。
2、用户删除:
时序图展示内容说明:
1,User通过JSP页面进行交接单查询操作。
2,JSP页面通过post方式和控制器Servlet交互,提交用户删除请求。
3,UserServlet调用UserService类的userDelete()函数进行删除。
4,UserService类调用UserDAO类的userDelete()函数完成删除。
5,UserDAO类将Interger值(代表删除成功与否的判断条件)返回给UserService类。
6,UserService类将Interger值(代表删除成功与否的判断条件)返回给UserServlet类。
7,UserServlet调用disPatch()函数,将response返回给JSP页面。
3、用户信息修改:
时序图展示内容说明:
1,User通过JSP页面进行用户修改操作。
2,JSP页面通过post方式和控制器Servlet交互,提交用户修改请求。
3,UserServlet调用UserService类的userUpdate()函数进行更新。
4,UserService类调用UserDAO类的userUpdatet()函数完成对用户信息的更新。
5,UserDAO类通过UserVO类获得User类的数据封装。
6,UserDAO类将Interger值(代表更新成功与否的判断条件)返回给UserService类。
7,UserService类将Interger值(代表更新成功与否的判断条件)返回给UserServlet类。
8,UserServlet调用Dispatch()函数,将response返回给JSP页面。
4、创建角色
时序图展示内容说明:
1,User通过JSP页面进行Create操作。
2,JSP页面通过post方式和控制器Servlet交互,提交角色添加请求。
3,RoleServlet调用RoleService类的RoleInsert()函数进行添加。
4,RoleService类调用RoleDAO类的RoleInsert()函数完成添加。
5,RoleDAO类通过RoleVO类获得Role类的数据封装。
6,RoleDAO类将roleVO(代表添加的角色)返回给RoleService类。
7,RoleService调用PermissDAO类的permissInsert()完成添加角色与权限联系。
8,PermissDAO类通过PermissVO类获得PermissRole类的数据封装。
9,PsermissDAO类将Interger值(代表添加成功与否的判断条件)返回给RoleService类。
10,RoleService类将Interger值(代表添加成功与否的判断条件)返回给RoleServlet类。
11,RoleServlet调用disPatch()函数,将response返回给JSP页面。
5、修改角色信息
时序图展示内容说明:
1,User通过JSP页面进行修改操作。
2,JSP页面通过post方式和控制器Servlet交互,提交角色修改请求。
3,RoleServlet调用RoleService类的RoleModify()函数进行添加。
4,RoleService类调用RoleDAO类的RoleUpdate()函数完成角色基本信息的更新。
5,RoleDAO类通过RoleVO类获得Role类的数据封装。
6,RoleDAO类将roleVO(代表更新的角色)返回给RoleService类。
7,RoleService类调用PermissDAO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OA 协同 办公 系统 详细 设计 说明书 doc