版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、详细设计说明书总体设计一、引言(一)编写目的详细设计的目标是确定应该具体地实现所要求的系统,得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。详细设计的任务是根据系统需求分析报告和系统概要设计报告中对业务功能的定义,以及系统框架的要求,进而实现更进一步的具体设计。详细设计报告中将从业务的具体实现功能方面入手,从用户界面的设计、类的详细定义、成员变量的使用,到过程调用的输入输出参数等多方面进行规范、定义、说明。根据概要设计书,整个程序分为六大模块:用户信息管理,求租管理,员工信息,出租管理,系统管理和帮助模块,本文将对每个模块具体如何实现进行描述。(二
2、)系统说明项目的开发需求方是XX房屋中介公司,由XX软件公司与XX学校软件专业共同承接开发任务,预期用户是中介行业内部操作人员、库存管理人员,公司经理等。(三)术语表1.1 术语定义缩写、术语解释库存管理根据零部件识别码或标号,对其出库入库进行追踪统计,并对零件进行信息统计,以便更好的对供货商信息以及顾客信息进行统计并生成报表。管理员管理机械零部件库存管理系统,管理角色分配,用户添加基础功能MVC三层框架MVC三层框架,指视图层、控制层、逻辑层三层架构,M:Model,V:View,C:ControlSSH在J2EE项目中表示了3种框架,即 Spring + Struts +Hibernate
3、Struts是Java领域中的一个开源框架技术,采用MVC三层结构Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架Hibernate是一个开放源代码的对象关系映射框架TomcatJava Web 应用中的Web服务器的一种,为系统提供Web容器功能(四)参考资料表1.2 参考资料序号资料名文件编号发表日期出版单位1软件工程国家标准文档GB85678820012软件工程概论2009清华大学出版社二、软件结构(一)软件功能结构图房屋中介管理系统用户信息管理求租管理员工信息系统管理出租管理帮助人员信息控制房源查询设置房源状态查询退出系统清理无效信息求组人员信息设置出租人员信
4、息设置求租意向设置录入员工信息所有员工信息房间信息设置楼层设置幢座设置装修程度设置朝向设置用途设置帮助文件图 软件功能结构图(二)模块清单表2.1 模块清单序号模块名称编号模块说明1用户信息管理01负责所有用户的详细资料添加负责所有用户的详细资料修改负责所有用户的详细资料删除2求租管理02负责房源查询负责查询房源状态负责添加求租人员所有意向负责修改求租人员所有意向负责添加求租人员所有意向3员工信息管理03负责所有员工的详细资料添加负责所有员工的详细资料修改负责所有员工的详细资料删除4出租管理04负责查询房屋信息负责查询房屋的楼层信息负责查询房屋幢/坐信息负责查询房屋装修信息负责查询房屋朝向信息
5、负责查询房屋用途信息5系统管理05负责对访问管理系统的用户分配角色类型并设置访问权限负责添加用户并为用户分配角色类型负责对数据进行备份并且可以对数据进行初始化以及恢复6帮助模块06负责所有用户登录系统时的帮助说明操作三、技术设计路线(一)技术路线SSH组合框架设计的目标就是要为企业级的软件开发提供简介完善的Web框架,并且根据SSH组合框架的特性提高组件之间的复用,是程序开发人员的开发效率得到提高并且在系统后期维护时能够更加方便,当系统需要扩展时能够有足够便捷的接口使系统扩展。UI LayerStruts-MVCStruts ActionActionForm, JSPStruts-config
6、.xmlect.Business LayerSpringTransactionHibernate SessionManagementBusiness ServiceClassesPersistence LayerHibernateData SourceConnection PoolQuery LanguageSupport and otherHibernate servicesServiceLocatorDAOClassesDomain Model Business Object图3.1 SSH组合框架结构图在Struts+Spring+Hibernate的系统中,对象的调用流程是:JSPAc
7、tionServiceDAOHibernate,数据的流向是ActionFormBean接受用户的数据,Action将数据从ActionFormBean中取出,封装成VO或PO,再调用业务层的Bean类,完成多种业务处理后再Forward。业务层Bean收到这个PO对象之后,会调用DAO接口方法,进行持久化操作。(1)Struts显示层配置ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页,在struts-config.xml中定义,ActionServlet会加载。(2)Spring业务逻辑层配置Service为Action提供统
8、计的调用接口,封装持久层的DAO,并集成了Hibernate,Spring可对JavaBean和事物进行统一管理。(3)Hibernate数据逻辑层配置Hibernate负责持久化层,完成数据库的CRUD操作。Hibernate提供OR/Mapping,它有一组hbm.xml文件和POJO,是与数据库中的表相对应的,然后定义DAO,这些是与数据库打交道的类,它们会使用PO。(二)配置文件1.数据库连接配置用户数据访问由BaseDAO.java与BasedaoImpl.java文件,是负责数据访的问接口模块,在业务逻辑与数据库资源中间,仅在用户需要与数据源进行交互时使用接口。数据库配置如下图3.
9、2所示。图3.2 数据库连接驱动配置统一数据访问接口实现关键代码如下:public Connection getConnection() return getHibernateTemplate().getSessionFactory().getCurrentSession().connection();从连接池取得一个JDBC连接。public void saveOrUpdateAll(Collection collection) getHibernateTemplate().saveOrUpdateAll(collection);数据批量保存、修改。public void callProce
10、dure(String call) SQLQuery query = this.getSession().createSQLQuery(call); query.executeUpdate();调用存储过程。2.Struts配置文件struts.xmlstruts.xml文件是Struts 2框架的核心,定义了Struts的系列Action,为了便于分开维护,本系统将struts配置的xml文件struts.xml放置在“configs”子目录下,如下图3.3所示。图3.3 Struts配置文件主要配置文件源码如下: /exception.jsp/jsp/main/tologin.htm/lo
11、gin.jsp/jsp/main/index.jsp3.Spring核心配置文件spring-basic.xmlSpring的配置文件spring-basic.xml,本系统bean的配置也被分离成两个文件,分别为spring-basic.xml以及spring-bean.xml,放置在“configs”子目录下,如图3.4所示,spring-basic.xml关键代码如下。图3.4 Spring配置文件(三)软件开发包说明本系统软件开发包说明如下表所示:表3.1 机械零部件库存管理系统开发报说明序号软件包包功能说明1com.cxstock.action零部件系统操作处理2com.cxstoc
12、k.action.chushou零部件系统商品销售出库操作处理3com.cxstock.action.jinhuo零部件系统商品进货操作处理4com.cxstock.action.kucun零部件系统商品库存报损溢操作处理5com.cxstock.action.power零部件系统权限管理操作处理6com.cxstock.action.tongji零部件系统销售金额统计操作处理7com.cxstock.action.ziliao零部件系统原始资料录入操作处理8.chushou零部件系统商品出售业务逻辑9.chushou.imp零部件系
13、统商品出售业务逻辑实现10.jinhuo零部件系统商品进货业务逻辑11.jinhuo.imp零部件系统商品进货业务逻辑实现12.kucun零部件系统商品库存查询报损溢业务逻辑13.kucun.imp零部件系统商品库存查询报损溢业务实现14.kucun.dto零部件系统商品商品库存数据传输对象类15.power零部件系统权限管理业务逻辑16.power.dto零部件系统权限管理数据传输对象
14、类17.power.imp零部件系统权限管理业务实现18.tongji零部件系统销售金额统计业务逻辑19.tongji.dto零部件系统销售金额统计数据传输对象类20.tongji.imp零部件系统销售金额统计业务逻辑实现21.ziliao零部件系统原始资料录入业务逻辑22.ziliao.dto零部件系统原始资料录入数据传输类23.ziliao.imp零部件系统原始资料录入业务逻辑实现2
15、4com.cxstock.dao零部件系统数据访问接口25com.cxstock.dao.impl零部件系统数据访问接口实现26com.cxstock.pojo零部件系统所有数据使用的基本类27com.cxstock.utils.filter为系统提供超时检查、安全过滤的基本类28com.cxstock.utils.pubutil为系统提供分页、树形目录的基本类29com.cxstock.utils.system为系统提供数据备份恢复等处理的基本类零部件系统操作处理软件包所包含的类(接口)说明如下表3.2所示。表3.2 软件包com.cxstock.action说明序号类(接口)名字类说明1B
16、aseAction分页操作零部件系统商品出库操作处理软件包所包含的类(接口)说明如下表3.3所示。表3.3 软件包com.cxstock.action.chushou说明序号类(接口)名字类说明1XsAction销售出库操作零部件系统商品进货操作处理软件包所包含的类(接口)说明如下表3.4所示。表3.4 软件包com.cxstock.action.jinhuo说明序号类(接口)名字类说明1JhAction进货操作零部件系统商品库存报损溢操作处理处理软件包所包含的类(接口)说明如下表3.5所示。表3.5 软件包com.cxstock.action.kucun说明序号类(接口)名字类说明1BsyA
17、ction报损益操作2SearchAction单据查询操作零部件系统权限管理操作处理软件包所包含的类(接口)说明如下表3.6所示。表3.6 软件包com.cxstock.action.power说明序号类(接口)名字类说明1DataCopyAction数据备份操作2RoleAction角色分配操作3UserAction用户添加操作零部件系统销售金额统计操作处理软件包所包含的类(接口)说明如下表3.7所示。表3.7 软件包com.cxstock.action.tongji说明序号类(接口)名字类说明1TongjiAction销售金额统计操作零部件系统原始资料录入操作处理软件包所包含的类(接口)说
18、明如下表3.8所示。表3.8 软件包com.cxstock.action.ziliao说明序号类(接口)名字类说明1GysAction供应商统计操作2KcAction初期库存统计操作3KhAction客户统计操作4SpdwAction商品单位设置操作5SplbAction商品列表创建修改操作6SpxxAction商品信息录入操作零部件系统商品出售业务逻辑软件包所包含的类说明如下图3.9所示。表3.9 软件包.chushou说明序号类名字类说明1XsBiz销售业务逻辑模型定义零部件系统商品出售业务逻辑实现软件包所包含的类说明如下图3.10所示。表3.10 软件包co
19、.chushou.imp说明序号类名字类说明1XsBizImpl销售业务逻辑模型实现操作零部件系统商品进货业务逻辑软件包所包含的类说明如下图3.11所示。表3.11 软件包.jinhuo说明序号类名字类说明1JhBiz进货业务逻辑模型定义零部件系统商品进货业务逻辑实现软件包所包含的类说明如下图3.12所示。表3.12 软件包.jinhuo.imp说明序号类名字类说明1JhBizImpl进货业务逻辑模型实现操作零部件系统商品库存查询报损溢业务逻辑软件包所包含的类说明如下图3.13所示。表3.13 软件包com.
20、.kucun说明序号类名字类说明1BsyBiz报损溢业务逻辑模型定义2SearchBiz当前库存查询业务逻辑模型定义零部件系统商品库存查询报损溢业务实现软件包所包含的类说明如下图3.14所示。表3.14 软件包.kucun.dto说明序号类名字类说明1DqkcDTO当前库存数据传输对象定义零部件系统商品商品库存数据传输对象类软件包所包含的类说明如下图3.15所示。表3.15 软件包.kucun.imp说明序号类名字类说明1BsyBizImpl报损溢业务逻辑实现2SearchBizImpl查询业务逻辑实现零部件系统
21、权限管理业务逻辑软件包所包含的接口说明如下图3.16所示。表3.16 软件包.power说明序号接口名字接口说明1RoleBiz用户角色接口2UserBiz用户数据接口零部件系统权限管理数据传输对象类软件包所包含的类说明如下图3.17所示。表3.17 软件包.power.dto说明序号类名字类说明1RoleDTO用户角色接口数据传输对象定义2UserDTO用户数据接口数据传输对象定义3UserMenuDTO用户菜单接口数据传输对象定义零部件系统权限管理业务实现软件包所包含的类说明如下图3.18所示。表3.18 软件包com.cxsto
22、.power.imp说明序号类名字类说明1RoleBizImp用户角色接口实现2UserBizImp用户数据接口实现零部件系统销售金额统计业务逻辑软件包所包含的类说明如下图3.19所示。表3.19 软件包.tongji说明序号类名字类说明1TongjiBiz金额统计业务逻辑模型定义零部件系统销售金额统计数据传输对象类软件包所包含的类说明如下图3.20所示。表3.20 软件包.tongji.dto说明序号类名字类说明1DjmxDTO明细统计信息数据传输对象定义零部件系统销售金额统计业务逻辑实现软件包所包含的类说明如下图3.2
23、1所示。表3.21 软件包.tongji.imp说明序号类名字类说明1TongjiBizImpl金额统计业务逻辑实现零部件系统原始资料录入业务逻辑软件包所包含的类说明如下图3.22所示。表3.22 软件包.ziliao说明序号类名字类说明1GysBiz供应商业务逻辑定义2KcBiz库存业务逻辑定义3KhBiz客户业务逻辑定义4SpdwBiz商品单位业务逻辑定义5SplbBiz商品列表业务逻辑定义6SpxxBiz商品信息业务逻辑定义零部件系统原始资料录入数据传输类软件包所包含的类说明如下图3.23所示。表3.23 软件包com.cxst
24、.ziliao.dot说明序号类名字类说明1GysDTO供应商数据传输对象定义2KcDTO库存数据传输对象定义3KhDTO客户数据传输对象定义4SpdwDTO商品单位数据传输对象定义5SplbDTO商品列表数据传输对象定义6SpxxDTO商品信息数据传输对象定义零部件系统原始资料录入业务逻辑实现软件包所包含的类说明如下图3.24所示。表3.24 软件包.ziliao.imp说明序号类名字类说明1GysBizImp供应商业务逻辑实现2KcBizImp库存业务逻辑实现3KhBizImp客户业务逻辑实现4SpdwBizImp商品单位业务逻辑实现5SplbB
25、izImp商品列表业务逻辑实现6SpxxBizImp商品信息业务逻辑实现零部件系统数据访问接口软件包所包含的类(接口)说明如下图3.25所示。表3.25 软件包com.cxstock.dao说明序号类(接口)名字类(接口)说明1BaseDAO基础数据访问接口2DqkcDAO当前库存数据访问接口零部件系统数据访问接口实现软件包所包含的类说明如下图3.26所示。表3.26 软件包com.cxstock.dao.impl说明序号类名字类说明1BaseDAOImpl基础数据访问接口实现2DqkcDAOImpl当前库存数据访问接口零部件系统所有数据使用的基本类软件包所包含的类说明如下图3.27所示。表3
26、.27 软件包.pojo说明序号类名字类说明1Bsd报损单操作2Bsdsp报损单商品操作3Byd报溢单操作4Bydsp报溢单商品操作5Ckd库存单操作6Ckdsp库存单商品操作7Gys供应商操作8Jhd进货单操作9Jhdsp进货单商品操作10Kh客户操作11Menu菜单操作12Role角色操作13Rolemenu角色菜单对应操作类14RolemenuId角色菜单对应类定义15Spdw商品单位操作16Splb商品列表操作17Spxx商品信息操作18Thd退库单操作19Thdsp退库单商品操作20Tkd客户退货单操作21Tkdsp客户退货单商品操作22Users用户表
27、操作23Vusermenu用户菜单对应操作为系统提供超时检查、安全过滤的基本类软件包所包含的类说明如下图3.28所示。表3.28 软件包com.cxstock.utils.filter说明序号类名字类说明1LoginedCheckInterceptor登录过期验证操作2ReqEncodingFilter请求响应过滤操作3SecurityFilter安全过滤验证为系统提供分页、树形目录的基本类软件包所包含的类说明如下图3.29所示。表3.29 软件包com.cxstock.utils.pubutil说明序号类名字类说明1ComboData数据清除操作2Page分页操作3TreeNode树形目录操
28、作4TreeNodeChecked树形目录节点检查操作为系统提供数据备份恢复等处理的基本类软件包所包含的类说明如下图3.30所示。表3.30 软件包com.cxstock.utils.system说明序号类名字类说明1Constants信息接收操作2DataCopy数据拷贝操作3DataTime数据时间记录操作4DoubleMath计算工具操作5Tools工具服务操作四、Hibernate实现(一)创建持久化类数据库中的表数据对应分别创建持久化类,负责将数据内容持久化到数据库中,如下商品分类对应的持久化类。package com.cxstock.dao;import java.io.Seria
29、lizable;import java.sql.Connection;import java.util.Collection;import java.util.List;public interface BaseDAO public void save(Object obj); /* 保存指定的持久化对象 */public void saveOrUpdate(Object obj); /* 保存或更新指定的持久化对象 */public void deleteById(Class clazz, Serializable id); /* 删除指定ID的持久化对象 */public void del
30、ete(Object obj); /* 删除指定ID的持久化对象 */public Object loadById(Class clazz, Serializable id); /* 加载指定ID的持久化对象 */public Object loadObject(String hql); /*加载满足条件的持久化对象*/public List findByHql(String hql); /* 查询指定类的满足条件的持久化对象 */public List findInProperty(String clazz, String propertyName, String value);public
31、 List findLikeProperty(String clazz, String propertyName, String value);public List findByProperty(String clazz, String propertyName, Object value);public List findByProperty(String clazz, String propertyName, Object value);public List listAll(String clazz);public int update(String hql);public int c
32、ountAll(String clazz);public int countQuery(String hql);public List findInProperty(String clazz, String propertyName, String value, int start, int limit);public List findLikeProperty(String clazz, String propertyName, String value, int start, int limit);public List findByProperty(String clazz, Strin
33、g propertyName, String value, int start, int limit);public List findByProperty(String clazz, String propertyName, Object value, int start, int limit);public List listAll(String clazz, int start, int limit);public List findByHql(String hql, int start, int limit);public Connection getConnection();publ
34、ic void saveOrUpdateAll(Collection collection);public void callProcedure(String call);(二)Hibernate的配置Hibernate使用Java编写,是一个高度可配置的软件包,通过两种配置文件格式进行配置。(1)hibernate.cfg.xml:启动时,Hibernate查询这个XML的属性进行操作,如数据库连接字符串和密码、数据库方言,以及映射文件位置等。Hibernate在类路径中查找这个文件。(2)*.hbm.xml:映射描述文件,告诉Hibernate如何将特定的Java类和一个或多个数据库表格中
35、的数据进行映射。MyEclipse提供了工具进行这两种配置文件的处理,并能将映射文件、数据库数据和Java类进行同步。实体映射文件的命名为:实体名.hbm.xml。它告诉Hibernate怎么来做对象映射、向哪个表插入数据、每个属性的数据类型,以及对应数据表里的列名。一般来说,一个实体对应一个配置文件。每个持久化Java类都需要创建单独的映射描述文件,映射描述文件(文件扩展名为*.hbm.xml)将告诉Hibernate如何将特定的Java类和一个或多个数据库表中的数据进行映射。该文件名为Message.hbm.xml,把类Message映射到表tb_message,其中id为主键,prope
36、rty告诉Hibernate类和表中元素的对应关系。Category.hbm.xml代码如下:!DOCTYPE hibernate-mapping PUBLIC -/Hibernate/Hibernate Mapping DTD 3.0/EN 五、Spring业务层实现(一) Action接口定义软件包com.cxstock.dao放置了机械零部件库存管理系统数据访问的业务接口,其文件列表如下:BaseDAO:基础数据访问接口下面以商品实体操作接口BaseDao .java的定义阐述其如何定义。BaseDao .java接口定义了机械零部件库存管理系统的数据统一访问接口,包括:保存指定对象、更新指定对象、删除指定ID、加载指定ID、加载满足条件的ID、条件更新、商品统计、分页等。主要定义代码如下:package com.cxstock.dao;import java.i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年陕西学前师范学院单招职业技能考试题库及答案详解1套
- 2026年长沙幼儿师范高等专科学校单招职业技能考试题库及完整答案详解1套
- 2026年驻马店职业技术学院单招职业适应性考试题库及参考答案详解1套
- 2026年宁波工程学院单招职业技能测试题库及参考答案详解
- 2026年西南交通大学希望学院单招职业倾向性考试题库及答案详解一套
- 2026年陕西工业职业技术学院单招职业适应性考试题库及答案详解一套
- 2026年安庆医药高等专科学校单招职业技能测试题库及参考答案详解
- 2026年安徽黄梅戏艺术职业学院单招职业适应性考试题库及参考答案详解一套
- 2026年北京北大方正软件职业技术学院单招职业适应性考试题库及参考答案详解1套
- 2026年浙江省丽水市单招职业适应性考试题库及完整答案详解1套
- 酒驾恢复合同范本
- 销售合同审批流程(附流程表单)
- 2025年中国铁路郑州局集团有限公司招聘本科及以上学历毕业生614人(一)(公共基础知识)综合能力测试题附答案解析
- 2025陕西陕煤澄合矿业有限公司招聘570人(公共基础知识)综合能力测试题附答案解析
- 3+《实践是检验真理的唯一标准》课件++2025-2026学年统编版高二语文选择性必修中册
- 社保局笔试题目及答案
- 2026届陕西省高三上学期适应性检测(一模)英语试卷
- 甘肃省兰州新区2024-2025学年六年级上学期期末考试数学试题
- 2025年酒店工程部年终总结样本(四篇)
- 北京市顺义区2024-2025学年八年级上学期期末生物试题
- 公交车站设施维护管理方案
评论
0/150
提交评论