资源描述
OA协同办公系统具体设计说明书
编写:XXX
日期:
审核:
日期:
同意:
日期:
受控状态:
是
公布版次:
日期:
编号:
变更统计
日期
版本
变更说明
作者
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
系统设计,System Design
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类permissInsert()函数完成角色对应权限更新。
8, PermissDAO类经过PermissVO类取得Permiss类数据封装。
9, PermissDAO类将Integer(代表更新成功是否)返回给RoleService类。
10, RoleService类调用PermissDAO类permissDelete()函数完成角色修改中删除对应权限更新。
11, RoleDAO类将Integer(代表更新成功是否)返回给RoleService类。
12, RoleService类将Interger值(代表更新成功是否判定条件)返回给RoleServlet类。
13, RoleServlet调用disPatch()函数,将response返回给JSP页面。
6、 角色信息查询:
时序图展示内容说明:
1, User经过JSP页面进行角色查询操作。
2, JSP页面经过post方法和控制器Servlet交互,提交角色查询请求。
3, RoleServlet调用RoleService类RoleQuery()函数进行查询。
4, RoleService类调用RoleDAO类RoleQuery()函数完成查询。
5, RoleDAO类经过RoleVO类取得Role类数据封装。
6, RoleDAO类将roleVO(代表查询角色)返回给RoleService类。
7, RoleService类调用PermissDAO类permissQuery()函数完成角色对应权限查询。
8, PermissDAO类经过PermissVO类取得Permiss类数据封装。
9, PermissDAO类调用PageHelp完成份页请求
10, PermissDAO类将PageHelp对象返回给RoleService类。
11, RoleService类将PageHelp对象返回给RoleServlet类。
12, RoleServlet调用disPatch()函数,将response返回给JSP页面。
7、 创建权限
时序图展示内容说明:
1, User经过JSP页面进行Create操作。
2, JSP页面经过post方法和控制器Servlet交互,提交权限添加请求。
3, PowerServlet调用PowerService类PowerInsert()函数进行添加。
4, PowerService类调用PowerDAO类PowerInsert()函数完成添加。
5, PowerDAO类经过PowerVO类取得Power类数据封装。
6, PowerDAO类将Interger值(代表添加成功是否判定条件)返回给PowerService类。
7, PowerService类将Interger值(代表添加成功是否判定条件)返回给PowerServlet类。
8, PowerServlet调用disPatch()函数,将response返回给JSP页面。
8、 权限信息查询:
时序图展示内容说明:
1, User经过JSP页面进行权限查询操作。
2, JSP页面经过post方法和控制器Servlet交互,提交权限查询请求。
3, PowerServlet调用PowerService类PowerQuery()函数进行查询。
4, PowerService类调用PowerDAO类PowerQuery()函数完成查询。
5, PowerDAO类经过PowerVO类取得Power类数据封装。
6, PowerDAO类调用PageHelp完成份页请求
7, PowerDAO类将PageHelp对象返回给PowerService类。
8, PowerService类将PageHelp对象返回给PowerServlet类。
9, PowerServlet调用disPatch()函数,将response返回给JSP页面。
附加说明:本时序图中并没有画出具体类图中roleDelete()、userInsert()、powerDelete()、powerUpdate()和用户CRUD功效,因其具体步骤和上面描述过程基础一致。roleDelete()、powerDelete()、userInsert()、powerUpdate()这四个模块和powerInsert()步骤一致,用户管理CRUD功效和权限管理CRUD步骤一致。
3.3.5 异常订单登记查询模块功效实现
异常查询模块类图:
异常登记查询模块时序图:
时序图展示内容叙述:
1. 用户进入CURD页面,输入查询条件并提交
2. 查询参数经过form以POST形式传输给后台服务器上ExcOrderServlet
3. ExcOrderServlet依据获取参数condition=”query”判定出查询命令,生成查询SQL语句,调用ExcOrderService查询方法query(sql,currentpage),此处currentpage=1或由javascript得到currentpage值
4. ExcOrderService 获取和建立数据库连接,调用ExcOrderDAO方法query(conn,sql,currentpage)
5. ExcOrderDAO依据传输sql语句和currentpage生成新符合显示条件SQL语句,查询数据库,将查询结果集(待显示)封装进由ExcOrderDAO对象组成LIST中。
6. LIST 传输给Pagehelp 对象
7. ExcOrderDAO返回装载了LISTpagehelp对象
8. pagehelp对象返回到ExcOrderService中
9. pagehelp对象返回到ExcOrderServlet中
10. pagehelp对象返回到ExcOrder.jsp显示页面
11. ExcOrderServlet获取参数condition="add",跳转到ExcOrder_add.jsp页面
12. 获取用户输入添加信息,生成sql添加语句,调用add(sql)
13. 获取Connection对象conn,调用ExcOrderDAO中add(conn,sql),添加到数据库中
14. ExcOrderServlet获取参数condition="delete",获取用户输入删除信息,生成sql添加语句,调用add(sql)
15. 获取Connection对象conn,调用ExcOrderDAO中add(conn,sql),从数据库中删除相关信息
16. ExcOrderServlet获取参数condition="update",获取用户输入更新信息,生成sql添加语句,调用add(sql)
17. 获取Connection对象conn,调用ExcOrderDAO中add(conn,sql),更新数据库中信息
3.3.6 配送费设置和申报模块功效实现
配送费设置和申报类图:
配送费设置和申报模块时序图:
时序图展示内容叙述:
1. Client 输入配送费方案
2. 提交配送费方案到ChargeServlet中
3. ChargeServlet获取配送费信息,生成sql语句,调用ChargeServicechargeSet(sql)
4. ChargeService获取数据库连接对象conn,调用ChargeDAO中chargeSet(conn,sql)
5. ChargeDAO生成配送费方案对象
6. 用户获取配送费方案信息
7. 跳转到ChargeServlet中
8. 获取申报参数,提交
9. 调用ChargeServicechargeApply()
10. 调用ChargeDAOchargeApply(),修改申报状态
3.3.7 中转订单线路选择模块功效实现
中转订单线路类图:
中转订单线路时序图:
时序图说明:
1. 用户进入中转订单线路设置首页
2. 用户进行查询操作
3. queryServlet获取参数"all",调用queryall(sql)
4. queryService 调用DBConnectiongetConn(),建立数据库连接,生成Connection对象conn,调用queryall(conn,sql)
5. queryDAO查询数据库,将要展示内容封装进LIST对象,传输给PAGEHELP
6. queryServlet获取参数"false",调用queryall(sql)
7. queryService 调用DBConnectiongetConn(),建立数据库连接,生成Connection对象conn,调用queryfasle(conn,sql)
8. queryDAO查询数据库,将要展示内容封装进LIST对象,传输给PAGEHELP
9. queryServlet获取参数"true",调用queryall(sql)
10. queryService 调用DBConnectiongetConn(),建立数据库连接,生成Connection对象conn,调用querytrue(conn,sql)
11. queryDAO查询数据库,将要展示内容封装进LIST对象,传输给PAGEHELP
12. 返回pagehelp对象到queryDAO
13. 返回pagehelp对象到queryService
14. 返回pagehelp对象到queryServlet
15. 返回pagehelp对象到query.jsp中,向用户显示查询内容
16. queryServlet获取参数"select"
17. 跳转到generate.jsp页面进行操作
18. 用户选择系统自动生成路线,调用generateService 方法auto(sql)
19. generateService获取对象conn,调用generateDAO方法auto(conn,sql)
20. 用户选择手动设置路线,调用generateService 方法manual(sql)
generateService获取对象conn,调用generateDAO方法manual(conn,sql)
3.3.8 中转订单线路选择模块功效实现
财务管理模块具体类图:
财务管理模块时序图:
时序图展示内容说明:
1, user经过JSP页面进行CURD操作。
2, JSP页面经过post方法和控制器Servlet交互,提交财务查询请求。
3, ProfitsService类经过DBConnection类建立和数据库连接。
4, ProfitsServlet调用ProfitsService类query()方法进行查询。
5, ProfitsService类调用OrderDAO类orderQuery()方法完成查询。
6, OrderDAO类经过OrderVO类取得Order类数据封装。
7, OrderDAO类用List将OrderVO对象数组打包。
8, OrderDAO类将List对象返回给ProfitsService类。
9, ProfitsService类将List对象拆包并对OrderVO对象数组循环操作。
10, ProfitsService类调用profitsDAO类profitsQuery()方法进行查询。
11, ProfitsService经过Profit
展开阅读全文