项目案例2-概要设计说明书_第1页
项目案例2-概要设计说明书_第2页
项目案例2-概要设计说明书_第3页
项目案例2-概要设计说明书_第4页
项目案例2-概要设计说明书_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

*有限公司 *XXXX2.0*XXXX2.0 概要设计说明书 XXXXXX 2007 年 12 月 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 版本修订人修订说明批准人发布日期 XXX 初稿,20080118 通过同行评审。 XXX20080131 说说 明明 本文档中所包含的信息属于商业机密信息,如无本文档中所包含的信息属于商业机密信息,如无*有限公司的书面许可,任何人都无有限公司的书面许可,任何人都无 权复制或利用。权复制或利用。 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 I 目录 1引言1 1.1编写目的1 1.2背景1 1.3定义1 1.4法律法规和参考资料1 2总体设计1 2.1需求概述1 2.2系统分析1 2.3模块的层次结构图1 2.4模块与需求对应表2 3运行设计2 3.1运行模块组合2 3.2运行控制2 4接口设计2 4.1用户界面2 4.2外部接口2 4.3内部接口2 5系统数据结构设计3 5.1设计要点3 5.2详细设计3 5.3数据结构和模块的关系3 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 1 页 共 39 页 (机密) 1引言 1.1编写目的编写目的 在完成需求分析的基础上,为了更好的明确平台需求、以及指导程序员的开发工作, 编写了这份概要设计说明书,该说明书主要对需求进行分析、设计、框架的整体设计, 以及部分实现方案,接近详细设计,程序员通过该设计便可以进行开发工作。 预期读者:编码人员、测试人员、设计人员,上级领导,各产品部技术同行等。 1.2背景背景 产品名称 *XXXX2.0 产品简称XXXX2.0英文缩写 XXXX 项目编号P20070035版本号2.0 任务提出者XXXX 开发者XXXX 等 用户金融内部 J2EE 相关项目开发人员 同其他系统 的关系 各个产品的 J2EE 二次开发平台 1.3定义定义 列出本文中用到的术语及其定义。 版本声明:版本声明: Spring 版本:2.5 Hibernate 版本:3.2.2 Jdk 版本:1.4x Ireport:2.0.2 JaspReport:2.0.2 1.4法律法规和参考资料法律法规和参考资料 XXXX2.0 需求说明书 J2EE 设计模式 2总体设计 2.1需求概述需求概述 整合各产品部现有的框架和组件,形成统一规范的二次开发平台,适合各产 品部开发需求;提供统一的权限定制平台、业务逻辑控制、底层组件等。 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 2 页 共 39 页 (机密) 2.2系统分析系统分析 XXXX 系统功能图:系统功能图: 管理平台功能框架图 业务管理框架 产产品品升升级级管管理理 业业务务基基础础框框架架管管理理 数数据据字字典典维维护护 监监控控管管理理 权权限限管管理理 报报表表管管理理 用用户户登登录录安安全全管管理理 组组织织机机构构管管理理 日日志志管管理理 系系统统参参数数管管理理 业业务务产产品品(实实际际业业务务开开发发的的项项目目) 技术框架 控控制制/业业务务逻逻辑辑层层 MainServlet封封装装业业务务逻逻辑辑基基类类封封装装 Spring封封装装公公用用组组件件 通通讯讯组组件件 展展现现层层 Js函函数数组组件件标标签签类类库库 持持久久层层 JDBC封封装装 Hibernate封封装装 持持久久层层基基类类封封装装 XXXX 框架分为业务框架和技术框架,业务框架给开发项目提供公用业务支持如 权限管理、报表管理等;技术框架为开发人员提供技术开发模版,并在开发过程中提供 相关类库、组件;整个框架提高了代码的复用性、技术框架和业务框架的复用性,提高 了开发效率和产品的整体性能,也便于统一版本管理。 XXXX 系统架构图:系统架构图: 系统框架以基本的 MVC 为基础、根据公司的实际情况进行扩展,前台以 Jap/html 或者 Applet 的形式展现业务数据,通过 Servlet 服务入口和中间业务逻辑框架交互;业 务逻辑框架采用模版框架设计模式,以封装基本业务为基类,有子类根据实际情况分别 继承和扩展;在业务层如果涉及到银行核心数据,则通过 Socket 和通讯机交互;一般 的业务逻辑处理通过 Spring 的 Ioc 原理和持久层交互;开发人员根据实际情况可分别采 用 hibernate 或 jdbc 框架开发,这两个框架 XXXX 自动封装成类库;XXXX 和具体业务 的框架通用。 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 3 页 共 39 页 (机密) 业务逻辑框架 Http协协议议 Jsp/html/ajaxApplet Servlet(包括业务MainServlet、监控Servlet、缓存监听Servlet等) 其它 Spring 持久层(hibernate框架/jdbc 框架) 通讯机(gaps或其它) Tcp协议 银行核心帐务系统 DB 系统设计框架图 2.3模块的层次结构图模块的层次结构图 采用面向结构的设计方法:用一系列图表标出本系统内的每个程序(包括每个模块 和子程序或重要函数)的名称、标识符和它们之间的层次结构关系。 采用面向对象的设计方法:使用对象模型图及功能模型图表示整个系统的对象结构。 2.3.8业务基础框架管理模块设计说明(模块编号:业务基础框架管理模块设计说明(模块编号:M001) 包:包:com.teexi.tamcx.systemcom.teexi.tamcx.system 业务功能菜单定义模块设计说明(模块编号:业务功能菜单定义模块设计说明(模块编号:M00101M00101) 模块描述模块描述: 定义 XXXX 框架的业务菜单,菜单以功能树的方式展现,在界面的左方,分为一 级菜单和向下扩展菜单。一级菜单可展开,合拢,向下可下挂多级子菜单。 菜单可为分两大类,即根菜单和功能菜单。只有根菜单下才可再挂叶子菜单(功能 菜单) ,根菜单不对应具体的操作,只可做打开叶子菜单和收起叶子菜单操作。叶子菜 单与具体的功能 URL 对应,点击,进入具体的业务功能界面。 模块结构图(流程图):模块结构图(流程图): 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 4 页 共 39 页 (机密) 进入菜单 配置 增加菜单配置 以树形展现菜单结 构 修改菜单配置 删除菜单及子菜单 配置 刷新,初始化装载 菜单 菜单定义结束 模块设计图(相关类图):模块设计图(相关类图): 模块接口说明:模块接口说明: TreeMenu: getAllMenu():获得所有菜单信息。以层的方式获得所有配置的菜单信息。即根 菜单下面下挂子菜单,子菜单下再下挂子菜单,以此类推。 getShowMenu():获得用户应显示的全部菜单的信息; getRoleMenu():获得此角色拥有的菜单权限信息; getUserMenu():获得用户单独分配的菜单权限信息; getSubMenu():获得传入菜单节点下的子菜单的权限信息。 对应的数据表:对应的数据表: 功能菜单配置表:t_ywty_menu 业务交易配置模块设计说明(模块编号:业务交易配置模块设计说明(模块编号:M00102M00102) 模块描述模块描述: 定义交易基本配置,业务流程的主交易码。主交易码与业务菜单挂勾,一个业务菜 单对应一个主交易码,主交易码下可挂多个子交易码。 模块结构图(或流程图):模块结构图(或流程图): 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 5 页 共 39 页 (机密) 开始配置 交易信息 增加交易配置信息 结束交易配置 修改交易配置信息 删除交易配置信息 查询交易配置信息 初始化/刷新交易配 置信息 增加子交易配置信 息 修改子交易配置信 息 删除子交易配置信 息 查询子交易配置信 息 模块设计图(相关类图):模块设计图(相关类图): 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 6 页 共 39 页 (机密) 模块接口说明:模块接口说明: Trans: Init():初始化交易配置和子交易配置信息。将初始化的交易配置信息,放置在 HashMap 信息中,并保证数据的同步安全。 getCtlClass():传入交易码,子交易码,得到此交易的控制类(CTL)信息; getTranName():传入交易码,子交易码,得到此交易的交易名称; getSubTranName():传入交易码,子交易码,得到此交易的子交易名称; getReturnPage():传入交易码,子交易码,得到此交易的成功返回页面; isTranExist():传入交易码,子交易码,判断此交易是否存在配置中。 TranCtl: doControl():判断子交易码,调用不同的子交易方法处理; addTran():增加交易配置信息; edtTran():修改交易配置信息; uptTran():更新交易配置信息; delTran():删除交易配置信息; 对应的数据表:对应的数据表: 交易信息配置表:t_ywty_tran 业务子交易信息配置模块设计说明(模块编号:业务子交易信息配置模块设计说明(模块编号:M00103M00103) 模块描述模块描述: 主交易流程必需和子交易流程结合起来用,方为有效。业务提交必须既有主交易码, 也有子交易码,由此定位此交易的:交易名、交易类型、交易装载类(CTL)、交易返回 页面。 选中主交易信息,增加、修改、删除、查询此主交易信息对应的子交易信息。 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 7 页 共 39 页 (机密) 模块结构图(或流程图):模块结构图(或流程图): 同 流程图 模块设计图(相关类图):模块设计图(相关类图): 同 类图 模块接口说明:模块接口说明: addSubTran():增加子交易配置信息; edtSubTran():修改子交易配置信息; uptSubTran():更新子交易配置信息; delSubTran():删除子交易配置信息; 对应的数据表:对应的数据表: 子交易信息表 T_ywty_sub_tran 交易与子交易关系表 t_ywty_tran_relation 子流程公共返回信息配置模块设计说明(模块编号:子流程公共返回信息配置模块设计说明(模块编号:M00104M00104) 模块描述模块描述: 子流程执行完成,默认有一个返回页面,这在子流程参数中配置。子流程还可以根 据程序执行的情况不同,选择不同的返回页面,选择主交易配置,子流程返回页面配置, 可对子流程的返回页进行,增加、修改、删除等配置。 模块结构图(或流程图):模块结构图(或流程图): 选中交易 信息增加 返回页面 增加返回页面配置修改返回页面配置 删除返回页面配置查找返回页面结束配置 模块设计图(相关类图):模块设计图(相关类图): 同 模块接口说明:模块接口说明: 同 对应的数据表:对应的数据表: 子交易信息表 T_ywty_sub_tran 交易与子交易关系表 t_ywty_tran_relation 2.3.9组织机构管理模块设计说明(模块编号:组织机构管理模块设计说明(模块编号:M002) 包:包: 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 8 页 共 39 页 (机密) 机构管理模块设计说明(模块编号:机构管理模块设计说明(模块编号:M00201M00201) 模块描述模块描述: XXXX 管理的的机构有上下级关系,总级机构下挂一级机构,一级机构下挂 N 级 机构,以此类推。设计上可考虑 9 级以内的机构,对机构进行树形展示,设置一个虚拟 机构供开发时 admin 使用,虚拟机构下挂总级机构。 选择机构信息,可修改、删除、查询此机构相关信息,同时可以以此机构为根,增 加其下属机构信息。 模块结构图(或流程图):模块结构图(或流程图): 开始机构 维扩 展示机构树 显示/修改机构信息删除机构信息增加下级机构信息 结束配置 模块设计图(相关类图):模块设计图(相关类图): 模块接口说明:模块接口说明: 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 9 页 共 39 页 (机密) OrgManageCtl: findOrg():查找当前用户下所属的机构信息,并以机构树形展现; addOrg():增加选中机构的子机构信息;、 edtOrg():获得要修改的机构的原信息; uptOrg():更新修改过的机构的信息; delOrg():删除选中的机构及其子机构的相关信息; 对应的数据表:对应的数据表: 机构信息表机构信息表:t_ywty_org 操作员管理模块设计说明(模块编号:操作员管理模块设计说明(模块编号:M00202M00202) 模块描述模块描述: 对操作员以列表的形式展现,可根据操作员的 ID,姓名,机构号,岗位进行查询, 其中对姓名的查询为模糊查询,其它都为决对定位查询。操作员管理可新增、修改、删 除操作员信息。 模块结构图(或流程图):模块结构图(或流程图): 开始操作 员维扩 展示操作员列表 显示/修改操作员信 息 删除操作员信息增加操作员信息 结束配置 模块设计图(相关类图):模块设计图(相关类图): 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 10 页 共 39 页 (机密) 模块接口说明:模块接口说明: UserManageCtl: findUser():查找当前用户所属的机构及下属机构的用户的信息,以机构列表展现; addUser():增加新的用户信息; edtUser():获得要修改的操作员信息,本操作员不可操作自己; uptUser():更新修改过的操作员的信息; delUser():删除选中的操作员的相关信息; 对应的数据表:对应的数据表: 用户信息表:t_ywty_user 。 。 。 。 。 。略 2.3.8报表管理模块设计说明(模块编号:报表管理模块设计说明(模块编号:M008) 包:包:com.teexi.tamcx.system.reportcom.teexi.tamcx.system.report 报表设计工具模块设计说明(模块编号:报表设计工具模块设计说明(模块编号:M00801M00801) 模块描述模块描述: 使用开源 IREPORT 做辅助工具对报表进行图形化的制作,在 IREPORT 编译后的 文件格式为:*.jasper 在制作的过程需要在 IREPORT 里配置对应的数据源连接,数据源连接方式有: Jdbc connectionxml file datasourcejavabeans set datasourcecustom JRDatasourcefile CSV datasourceJRDatasource provider 项目中需要的类库包括: iReport-*.*.*.jar(*.*.*为版本号) itext-*.*.jar(*.*为版本号) iTextAsian.jar 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 11 页 共 39 页 (机密) itext-xml-*.*.jar(*.* 为版本号) jasperreports-*.*.*.jar(*.*.*为版本号) 模块结构图(或流程图):模块结构图(或流程图): 无 模块设计图(相关类图):模块设计图(相关类图): 无 模块接口说明:模块接口说明: 无 对应的数据表:对应的数据表: 无 报表发布模块设计说明(模块编号:报表发布模块设计说明(模块编号:M00802M00802) 模块描述模块描述: 报表发布也就是报表的系统配置。配置报表系统模块分报表文件的添加、报表文件 的查询、报表条件的维护等 首先添加报表文件功能,添加条件: 报表名称、报表 ID、报表文件上传(*.jasper) 、报表显示条数、报表种类、报表 格式、存储过程名、备注 报表文件的查询维护,显示信息: 报表名称、报表 ID、报表文件上传(*.jasper) 、报表显示条数 报表条件添加 报表文件查询里可以对每个报表进行条件添加,添加条件的条件要与 IREPORT 里定制的参数对应名称 报表 ID,报表参数 ID,报表参数名称,参数类型(1:文本框 2:选择框 3:日期 4: 机构列表 5:万能如万能类型需配置继承了万能类型接口类的类全名) , ,是否为空, 条件序号,默认值,选择字典(必须选择是 XML 配置字典配置字典名和数据库 字典数据库表名和 KEY 字段、名称字段、条件约束 SQL) ,备注 报表条件维护 报表条件要有删除与更新功能 更新条件: 报表参数名称,参数类型(如选择自定义,请在备注中填写自定义的代码) ,是否 为空,条件序号,默认值,选择字典,备注 报表菜单添加 在报表配置信息中获得需要配置报表的报表文件对应的报表 ID,在添加菜单中 填入报表 ID 号,其他条件与添加菜单相同,会自动在相应菜单上生成 1 个报表菜单 模块结构图(或流程图):模块结构图(或流程图): 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 12 页 共 39 页 (机密) 模块设计图(相关类图):模块设计图(相关类图): 模块接口说明:模块接口说明: BbpzCtl.java def 为查询报表文件配置信息 del 为删除报表文件,需要参数报表文件配置信息 ID BbcsCtl.java def 为查询参数条件 del 为删除参数条件,需要参数报表参数 ID upt 为更新参数条件,需要参数 报表 ID,报表参数名称,参数类型,是否为空,条件序号,默认值,选择字典, 备注 对应的数据表:对应的数据表: T_YWTY_REPORT_COND 报表条件表 T_YWTY_REPORT 报表登记表 报表展现模块设计说明(模块编号:报表展现模块设计说明(模块编号:M00803M00803) 模块描述模块描述: 报表的展现是对报表的数据的展示、分页、打印、导出等操作。 在业务报表菜单中对每个报表有一个菜单选项,选择相应的报表会显示报表的查询 条件报表的条件分为:文本框,下拉条(字典/机构) ,时间框,或自定义层显示(可以 是一个自定义的控件,也可以是一个连接从另外业务中获得数据)还有 2 个功能按钮分 别是直接导出(可以导出为 EXCEL 格式与 PDF 格式)与分页查看(可以分页查看 报表数据并对每页进行打印的功能) 报表的查询结果 在报表查询结果页面左上角显示 打印预览打印预览 首页首页上一页上一页下一页下一页尾页尾页跳转跳转 第几页第几页共多少页共多少页等信息 页面中间显示查询的报表分页信息 报表导出可以直接导出配置文件的格式报表 模块结构图(或流程图):模块结构图(或流程图): 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 13 页 共 39 页 (机密) 模块设计图(相关类图):模块设计图(相关类图): 模块接口说明:模块接口说明: BbdcCtl.java del() : 获得报表条件 report():报表导出实现 select():报表查询分页显示 对应的数据表:对应的数据表: 无无 2.3.9监控管理模块设计说明(模块编号:监控管理模块设计说明(模块编号:M009) 说明:说明:为了便于管理,下面的监控服务,是作为一个独立的服务在服务器端运行; 采用客户端定时机制扫描业务监控表、交易监控日志表数据,以及定时访问第三方连接 库等,获取实时、有效数据。 所在包声明所在包声明: : 客户端包:客户端包:com.teexi.tamcx.system.monitor.* 服务器端包服务器端包: com.teexi.tamcx.system.monitor.server.* 监控服务器设计:监控服务器设计: 类图类图 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 14 页 共 39 页 (机密) 设计说明:设计说明:首先设计一个 HsMonitorServer 的 Server 作为入口服务,客户端通 过 URLConnection 类库和该服务建立数据传输通道(走 Http 协议) ,服务本身 实现线程安全类 SingleThreadModel,并通过业务工厂,处理相应的业务; MonitorFactory 为业务工厂处理类,根据不同的业务类型获取不同的业务操作 类;现有的业务操作类有业务数据监控操作类(BunessMonitorCtl) 、系统参数 监控操作类(SystemMonitorCtl) 、通讯监控操作类(CommuMonitorCtl)。 业务数据的监控(模块编号:业务数据的监控(模块编号:M00901M00901) 模块描述模块描述:提供业务监控表订制页面即监控表的名称、要监控的表字段、对应的英 文字段;提供监控页面定时向服务端发送消息,获取表的实时数据。 模块结构图(流程图):模块结构图(流程图): 管理平台 业务数据订制模块 业务数据监控模块监控服务 Http/tcp 模块设计图(相关类图):模块设计图(相关类图): 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 15 页 共 39 页 (机密) 设计说明:设计说明:业务流程监控定制前台通过 jsp 页面展现,中间层继承业务框架,通过 BunessMonitorCtl 实现具体的业务操作;业务流程监控,可通过 BunessMonitorClient 继 承 Applet 来实现(由于要实时刷新数据,为了减轻服务器负担,可以用 Applet 方式来 实现) ,MyTimeTask 为时间定时器,可以作为 BunessMonitorClient 内部类来实现,在 run 方法中设定具体的任务,并通过 BunessMonitorClient 的初始化方法加载 upMytask 方法类实现; 客户端和服务器可以采用 URLConnection 类库实现通讯。 模块接口说明:模块接口说明: 无外部接口。 对应的数据表:对应的数据表:业务监控系统表。 交易监控(模块编号:交易监控(模块编号:M00902M00902) 模块描述模块描述:业务开发人员,把要进行交易的业务模块记录日志(业务日志和交易日 志要加以区别) ;交易监控模块从志表中获取当天交易信息加以展现,并定时刷新。 模块结构图(流程图):模块结构图(流程图): 管理平台 交易监控模块监控服务日志表数据 Http/tcp 模块设计图(相关类图):模块设计图(相关类图): 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 16 页 共 39 页 (机密) 设计说明:设计说明:交易监控,可通过 CommunMonitorClient 继承 Applet 来实现(由于要 实时刷新数据,为了减轻服务器负担,可以用 Applet 方式来实现) ,MyTimeTask 为时 间定时器,可以作为 CommunMonitorClient 内部类来实现,在 run 方法中设定具体的任 务,并通过 CommunMonitorClient 的初始化方法加载 upMytask 方法类实现;客户端和 服务器可以采用 URLConnection 类库实现通讯。 模块接口说明:模块接口说明: 无外部接口。 对应的数据表:对应的数据表:系统日志表。 系统监控(模块编号:系统监控(模块编号:M00903M00903) 模块描述模块描述: 监控 web 服务器的内存、CPU 的使用频率,以及远程数据库的进程数; 监控服务可以调用第三方语言(如 C)的连接库,来实现系统参数的获取。 模块结构图(流程图):模块结构图(流程图): 管理平台 系统监控模块 监控服务 第三方连接库 Http/tcp 模块设计图(相关类图):模块设计图(相关类图): 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 17 页 共 39 页 (机密) 设计说明:设计说明:系统监控,可通过 SystemMonitorClient 继承 Applet 来实现(由于要实 时刷新数据,为了减轻服务器负担,可以用 Applet 方式来实现) ,参数的展现可通过柱 状图来实现,MyTimeTask 为时间定时器,可以作为 SystemMonitorClient 内部类来实现, 在 run 方法中设定具体的任务,并通过 SystemMonitorClient 的初始化方法加载 upMytask 方法类实现;客户端和服务器可以采用 URLConnection 类库实现通讯;系统参 数的获取为了通用性,可以通过第三方语言如 C 来获取,java 封装接口,通过 jni 调用 C 的动态链接库。 模块接口说明:模块接口说明: Java客户端接口C的动态链接库 web系统cpu、内存 数据库进程 Local Local Http/tcp 接口调用主要是 java 获取 web 服务器上的 cpu、内存使用情况,以及远程数据库 的进程数,中间可通过 C 的动态链接库来实现,java 通过本地接口调用 C 的连接库, 并展现数据。 对应的数据表:无。对应的数据表:无。 2.3.10 业务逻辑框架设计说明(模块编号:业务逻辑框架设计说明(模块编号:M010) 包:包:com.teexi.tamcx.basecom.teexi.tamcx.base 模块描述模块描述: 保证业务提交按框架设计的流程运行,即通过对*.hs 类提交的过滤,保证表单提交 按业务流程配置运行。通过一个主控 MainServlet 来达到,流程控制和预处理的目的。 模块结构图(流程图):模块结构图(流程图): 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 18 页 共 39 页 (机密) 表单提交 MainServlet初始化 处理完成 根据tranCode和 subTranCode调用 相应的CTL 执行doBefore 执行doControl 执行doAfter 是否找到对应 的CTL 是 查找错误,无此流程,或异常 模块设计图(相关类图):模块设计图(相关类图): 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 19 页 共 39 页 (机密) 模块接口说明:模块接口说明: 业务开发流程必须继承 BaseCtl 类扩展的子类,JdbcBaseCtl 类是处理纯 jdbc 访问数 据库的接口类,HibernateBaseCtl 类是处理以 jdbc 方式访问数据库,并同时以 hibernate 方式访问数据库的接口类。BaseCtl 是业务扩展的基类,包含了对业务处理基础流程的 控制、session 超时检查处理、基本数据初始化处理等公用方法。主流程按先执行 doBefor 方法,再执行由业务子类实现的 doControl 方法,最后调用结束方法 doAfter。 Base: 基本业务流程接口,定义了基本业务运行需要的参数,以及基本业务流程运行的方 法: doBefore()方法,业务流程在调用之初执行的预处理方法,此方法可加载一些公用 信息,如用户信息,session 检查等; 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 20 页 共 39 页 (机密) doControl()方法,具体业务流程的实现方法,此方法为抽像方法由具体的业务应用 子类去扩展; doAfter()方法,业务流程执行后操作,在正常业务执行完了以后的公共处理方法, 如对缓存日志的输出; getParameter()方法,提取表单参数,为 null 的直接处理成“”,并左右去掉空格; flushLog()方法,输出缓存日志。 BaseCtl: 实现接口 Base 的所有方法,并增加一些公共调用的方法。 JdbcBaseCtl: 扩展 BaseCtl 基类,增加数据库访问的操作,使用 jdbc 直连数据库的方法实现,封 装对 SQL 的操作,如增,删,改,查,存储过程等: Select()方法,以 sql 语句查询数据库数据,返回 list 或 Object 对象; Insert()方法,以 sql 语句插入数据库记录; Delete()方法,以 sql 语句删除数据库记录; upAndDel()方法,更新或删除数据库记录,做为批量事务控制,任一条失败,将导 致全部回滚。 exeProc()方法,执行存储过程操作; setDatasource()方法,设置数据源名称; getDatasource()方法,获得数据源名称; HibernateBaseCtl: 扩展 JdbcBasectl 基类,增加对 hibernate 访问数据库的封装,同时也支持对数据库 直接 jdbc 的操作; saveObj()方法,存储 hibernate 映射对象,可存入单个对象或对象 list; exeHQL()方法,执行 HQL 语句,可单个执行 HQL,也可以执行 HQL 的 list,以事 务的方式执行,出错全部回滚; saveAndDelAndUpt()方法,执行存储 hibernate 对象,同时执行更新或删除 HQL 语 句,以事务的方式处理,出错全部回滚; findList()方法,查询 HQL 语句,返回 list 对象数组; 对应的数据表:对应的数据表: 无 2.3.11 系统参数管理模块设计说明(模块编号:系统参数管理模块设计说明(模块编号:M011) 包:包:com.teexi.tamcx.system.paramcom.teexi.tamcx.system.param 模块描述模块描述: 业务开发中的关键词可放入到数据字典表中进行统一管理。可新增数据字典表的 ID、字典描述,字典类别、字典类别描述。修改、删除字典信息。 模块结构图(或流程图):模块结构图(或流程图): 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 21 页 共 39 页 (机密) 进入系统 参数维护 菜单 查询系统参数信息 参数管理结束 增加系统参数修改系统参数删除系统参数 模块设计图(相关类图):模块设计图(相关类图): 模块接口说明:模块接口说明: SysParamCtl: findSysParam():查询系统参数列表; edtSysParam():获得系统参数值,修改系统参数; uptSysParam():更新系统参数值; delSysParam():删除系统参数; addSysParam():增加新的系统参数。 SysParam: getInstance():获得系统参数实例; init():初始化系统参数; getParam():根据系统参数名,获得系统参数值 参数 ID、参数名称、参数类型、参数内容 对应的数据表:对应的数据表: 系统参数表:t_ywty_sys_param 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 22 页 共 39 页 (机密) 2.3.12 持久层框架设计说明(模块编号:持久层框架设计说明(模块编号:M012) 包:包:com.teexi.tamcx.databasecom.teexi.tamcx.database 模块描述模块描述:利用 Spring 的 Ioc 原理封装 jdbc 和 hibernate 类库,提供添加、删除、查 询、批量更新等接口。 模块结构图:模块结构图: 持久层结构图 持久层公用接口 JDBC数据操作封装Hibernate操作封装 Spring文件配置模块 对外接口实现 Jdbc基本接口 Jdbc基类实现 Jdbc辅助类 Hibernate基本接口 Hibernate基类实现 Hibernate辅助类 活动图:活动图: 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 23 页 共 39 页 (机密) BaseDao基本接口 设计 JdbcBaseDao接 口设计 HibernateBas eDao jdbc基类封装 Springjdbc类库 jdbc接口实现 hibernate接 口实现 spring配置文 件实现 公用接口调用 springhibernat e类库 hibernate基类 封装 模块设计图(相关类图):模块设计图(相关类图): 所属包:所属包:com.teexi.tamcx.database,com.teexi.tamcx.database.util 整体类图:整体类图: 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 24 页 共 39 页 (机密) 公用类图说明:公用类图说明:公用接口 BaseDao 定义数据库操作的公用方法,如入据库保存 (save) 、数据库连接获取(getConnect) 、存储过程执行(exeProc)等;类图如下: Hibernate 类图封装数据说明:类图封装数据说明: 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 25 页 共 39 页 (机密) HibernateBaseDao 继承数据库基本接口 BaseDao,并声明自己独有的操作方法,如 数据库更新方法(exeHQL) 、结果集查询方法(findObjs)等;为了实现程序的松耦合, 通过 HiberDaoSupports 作为桥梁和 Hibernater 操作类 HibernateDaoSupport 对接; HibernateDaoSupport 类是 Spring 对 hibernate 的进一步封装;hibernate 接口实现类 HibernateDaoImpl 继承桥梁类,并通过 spring 的 Ioc 机制作为业务层的操作入口。 jdbc 类图封装数据说明:类图封装数据说明:由于 Spring 封装的 jdbc 类库不支持分页,所以要设计公用的 分页类库并集成到,Spring 中;Jdbc 设计数据库操作接口 JdbcBaseDao 并继承基本接口 BaseDao,JdbcTemplet 为 Spring 封装的数据库操作类,可以通过桥梁类 JdbcDaoSupport 实现编码类库和 Spring 类库的对接,实现松耦合;JdbcDaoImpl 作为基本的数据库接口 实现类,间接继承 JdbcTemplet 进行数据库操作,并利用 Spring 的 Ioc 机制,提供数据 库为操作唯一接口。 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 26 页 共 39 页 (机密) Jdbc 分页实现原理:分页实现原理:在 jdbcDaoSupport 查询方法中把 sql 语句、当前记录、每页显 示的记录数作为输入参数,进行分页;首先根据 spring 操作原理,声明 RoMaper 实例 (主要是对单记录的封装) ,并通过具备即插即用功能的 RowMappersResultSetExtractor 类加载,该类在 extractData 中实现公用分页。 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 27 页 共 39 页 (机密) 模块接口说明:模块接口说明: 持久层利用 Spring 的 Ioc 原理提供 jdbcDaoImplBSProxy 参数获取 JdbcBaseDao 数据 库操作实例,通过 hibernateDaoImplBSProxy 参数获取 HibernateBaseDao 数据库操作实 例。Jdbc 实例和 hibernate 实例获取后,便可以对数据库进行操作;范例如下: JdbcBaseDao jdbcDAO = (JdbcBaseDao) HelpConfig.getBean(“hs“, “jdbcDaoImplBSProxy“); HibernateBaseDao jdbcDAO=(HibernateBaseDao)HelpConfig.getBean(“hs“, hibernateDaoImplBSProxy“); 说明:hs 为系统文件的扩展名,如 hs-hibernate-context.xml。 对应的数据表:对应的数据表: 2.3.13 通讯模块设计说明(模块编号:通讯模块设计说明(模块编号:M013) 。 。 。 。 。 。略 2.3.14 公用组件模块说明(模块编号:公用组件模块说明(模块编号:M014) 。 。 。 。 。 。略 2.3.15 前台前台 jsjs 函数模块设计说明(模块编号:函数模块设计说明(模块编号:M015) 普通公用组件普通公用组件 public.jspublic.js 判断输入框内是否为空 checkNull(obj); 判断输入框里面的内容是否符合 Email 格式标准 checkEmail(obj) 验证 IP 地址格式 checkIp(obj) 验证电话号码 checkTel(obj); 判断只能输入数字 mustNumber(obj); 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 28 页 共 39 页 (机密) 判断只能输入中文 mustChinese(obj); 判断只能输入英文和数字 mustChAndNum(obj) 判断输入框里面的内容字数长度是否符合限制 checkLength(obj,max,min) 打印当前页 printPage(); 将数字金额转换为中文金额 transMoney(obj) 对于一组 checkbox 的全选 selectAll() 对于一组 checkbox 的全不选 unSelectAll() 对于一组 checkbox 的反选 changeSelect(); AjaxAjax 公用组件公用组件 ajax.jsajax.js 发送 Ajax 请求 sendRequest(url,processFunction); 得到 Ajax 返回 getAnswer(); 2.42.4模块与需求对应表模块与需求对应表 说明各项功能需求的实现同各模块的对应关系: 模块 编号 模块名 重要 模块 功能说明 功能 编号 M001 业务基础管理 模块 提供业务菜单注册、交易配置等界面 M001 M002 组织机构管理 模块 管理机构和用户的信息 M002 M003 权限管理模块 对业务模块按角色或操作员分配 M003 编制部门编制部门EPG TEEXI 批准日期批准日期2007/9/12 受控 第 29 页 共 39 页 (机密) M004 用户登录安全 管理模块 管理用户登录信息、 、限制等安全信息 M004 M005 产品升级管理 模块 提供业务升级菜单配置界面 M005 M006 日志管理模块 按级别和类别对相关业务记录日志 M006 M007 数据字典模块提供字典的基本配置界面 M007 M008 报表管理模块 提供报表定制、发布、管理以及应用平 台 M008 M009 监控管理模块提供业务监控、通讯数据监控等界面 M009 M010 业务逻辑框架 提供业务开发的基本框架 M010 M011 系统参数管理提供系统参数的基本配置界面 M011 M012 持久层框架 提供 Hibernate 和封装 M012 M013 通讯模块封装基本的通讯模式以及报文等 M013 M014 公用组件 封装公用组件如数据加解密、文件的上 传下等 M014 M015 前台 js 函数对前台交验函数统一封装 M014 【注:若模块为重要模块,请在重要模块栏标注 ; 功能编号,指需求规格说明书中的功能编号。 】 2.5开发目录约定:开发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论