物流管理系统详细设计说明书

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

编写:XXX日期:2010-11-01审核:日期:批准:日期:受控状态:是发布版次:1.0日期:2010-11-01编号:OA协同办公系统详细设计说明书变更记录日期版本变更说明作者2010-11-011.0初始版本王振国签字确认系统模块对应章节对应部门负责人签字1引言1.1编写目的本说明书目的在于明确说明系统各功能的实现方式,指导开发员进行编码。主要为本公司以几份承包方的阅读者,如设计人员、开发人员等。有时可以包括客户方的阅读者,如:业务人员、系统管理人员等。1.2背景:待开发软件系统的名称:OA协同办公系统此软件系统任务提出者:中软国际培训中心此软件系统任务开发者:中软国际蜗牛项目小组此软件系统任务用户:暂无1.3基线OA协同办公系统业务分析报告v1.0OA协同办公系统需求分析说明书v1.0OA协同办公系统概要设计说明书v1.0OA协同办公系统详细设计说明书v1.01.4特殊名词定义缩写、术语解释DAO数据访问对象SD系统设计,SystemDesignCURD创建(Create)、读取(Read)更新(Update)和删除(Delete)1.5参考资料OA协同办公系统业务分析报告v1.0OA协同办公系统需求分析说明书v1.0OA协同办公系统概要设计说明书v1.0Java开发规范2模块命名规则包名命名规则vo值对象,其中存放的是每个JavaBean,其中JavaBean的命名是和数据库中的表名称是一一对应的。dbc一个有意义的名字+dbc其中的类是来操纵数据库的关闭和打开的例子:DatabaseConnection.javaAction模块名+Action:是用来给servlet命名的例子:LoginAction.javaform模块名+ActionForm:是用来给servlet命名的例子:LoginActionForm.javadaoI+有意义的名字+DAO,因为dao包是用来定义接口的,在接口的命名中,在最前面是要加上一个字母“I”的。包中定义的每一个接口的抽象方法,都是用来让Impl类和Proxy类来实现的。例子:IUserDAO.javaImpl有意义的名字+Impl:这是用来实现具体的增、删、改、查的操作的真实实现类,不负责数据库的关闭,且直接不会被servlet调用。例子:UserBeanImpl.javaProxy代理类:一个有意义的名字+Proxy:这是用用来实现真实的实现类的,它为实现类实例化,调用实现类的方法,是实现类的孪生兄弟,他负责数据库的关闭工作。例子:UserDaoproxy.javaFactory工厂类:一个有意义的名字+Factory。这个类是用来调用dao接口的。而dao接口通过其子类Proxy实例化。例子:UserFactory.java3模块汇总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订单管理模块功能实现订单管理模块详细类图:contrservicedaoutilbasevo调用依赖订单管理模块时序图:时序图展示内容说明: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,添加交接单后要建立交接单与订单的联系并

1 / 96
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功