工程管理软件系统
详细设计说明书
审计署信息化建设办公室
北京中软国际信息技术有限公司
2006年 9 月
成文信息 | |||||||||
主题词: | 详细设计说明书 | ||||||||
作 者: | 付世铭 | 文档类别: | 详细设计说明书 | ||||||
审 核: | 程丕钢、付世铭 | ||||||||
批 准: | 文档性质: | 正式稿 | |||||||
主 送: | ICSS | 存档日期: | 2006年9月20日 | ||||||
抄 送: | 发布日期: | 2006年9月20日 | |||||||
签收信息 | |||||||||
发送方 | 接收方: | 接收方: | 接收方: | ||||||
代表人: | 代表人: | 代表人: | 代表人: | ||||||
日期: | 日期: | 日期: | 日期: | ||||||
变更信息 | |||||||||
版本 | 原因 | 作者 | 日期 | ||||||
060920 | 新建 | 付世铭 | 2006年09月20日 | ||||||
一.1 编写目的
1、编写本详细设计的目的是:在工程管理软件需求细化分析的基础上,完成系统的结构设计,划分系统模块并明确模块之间的关系,同时给出相关的用户界面设计。
2、本文的预期读者为:
工程管理软件的设计、开发人员。
工程管理软件的验收、评审人员。
一.2 背景
待开发的软件为工程管理软件。
此项目由中华人民共和国审计署信息化建设办公室提出,中软国际信息技术有限公司共同设计和开发。软件将在审计机关的审计专网环境上部署、运行,本软件属于OA平台的支持服务系统,用于提高对项目及合同预算及执行情况的管理。
一.3 定义
一.3.1 专门术语
1、OA平台:审计管理系统平台。
2、WebSphere: 系统所使用的应用服务器(Appication Server)。
3、DB2 8.1: 系统所使用的数据库管理系统(DBMS)。
4、SQL: 一种用于访问查询数据库的语言。
5、事务流:数据进入模块后可能有多种路径进行处理。
6、主键:数据库表中的关键域,值在表中唯一。
7、外部主键:数据库表中与其它表主键关联的域。
8、ROLLBACK:数据库的错误恢复机制。
9、审计:是检查会计账目,监督财政、财务收支真实、合法、效益的行为。
一.3.2 缩略词
1、软件:若未特别指出,统指工程管理软件。
2、平台:若未特别指出,特指软件集成平台。
3、SQL:Structured Query Language(结构化查询语言)。
一.4 参考资料
1、《软件系统需求规格说明书》。
2、《软件概要设计说明书》
3、《UML用户指南》Booch、Rumbaugh、Jacobson 机械工业出版社。
第二章 总体设计
二.1 需求规定
二.1.1 对功能的规定
二.1.1.1 项目管理
项目管理模块中包括两方面内容:项目基础信息管理和项目相关文档管理。
1、项目基础信息管理
项目基础信息管理主要是对项目名称、责任人、开始日期、项目承担部门、备注等要素信息的维护。
2、项目相关文档管理
项目的相关文档通常包括立项申请文件、批复文件、需求报告、需求分析报告、需求任务书、签报、会议纪要、工程实施资料、试运行资料、验收资料等文档资料,文档管理就是提供对这些文档进行组织和管理的功能。
二.1.1.2 工期设置
工期设置模块主要是用户登录时需选择所要设置的工期,默认选择最新的工期信息,设置好工期后,用户在本软件中进行的所有操作,包括项目管理、合同管理等等,都将是基于当前工期的。
二.1.1.3 后台管理系统
本软件提供一套类似R1平台的后台管理系统,包括应用注册、模块组注册、模块注册、人员管理、角色管理、权限管理等功能,使用此后台管理系统,可使工程管理软件于R1平台而使用,提高软件的可移植性。
二.1.2 输入/输出要求
1、在数据输入的相关Web页面,须提供页面数据合法性校验,包括:对数据类型的检查、对日期类型数据的检查、对特定字符转码和字符长度的检查。
2、使用Web页面输出数据,包括页面显示的数据、可供下载或在线浏览的文档。对这类数据没有特殊要求。
二.1.3 故障处理要求
1、软件支撑环境运行错误。
2、Websphere运行环境错误,此时平台无法正确运行,管理员参考相关产品手册。
3、数据库运行错误:系统无法使用,平台将提供错误提示页面,并记录日志。
4、OA平台错误:由平台提供错误提示页面,相关错误应记录在平台日志。
5、应用系统错误:由本应用系统提供错误提示页面,程序运行错误记录在平台日志中,数据运行错误记录在应用系统日志中。
二.2 其它专门要求
1、先进性:采用先进成熟的技术,确保系统的先进性、经济性和实用性。
2、安全可靠:平台提供的应用框架及平台本身提供应用安全保证,并可以和第三方安全手段,如认证、加密、电子签名等进行集成。必须保证数据的安全性和保密性。对于基于平台开发的应用系统,只允许有权限的人员进行操作和浏览信息。必须有安全的手段来进行权限控制。
3、开放互连:系统应对各类业务系统、数据库系统、WEB信息等具有通用的或可定制的接口策略和连接方法。
4、平台无关:系统应该与操作系统平台和数据库系统无关,至少应该支持WINDOWS2000、UNIX、LINUX等操作系统和ORACLE、DB2、MS SQL SERVER等数据库。
5、规范性:开发过程控制、开发技术、系统编码、文档应规范化,并遵循相应的国内外标准。开发结束时,需要提供必要的文档资料。
6、可靠性:保证系统的可靠运行和在升级过程中的方便快捷。
7、可扩充性:系统应当可以根据需求的变化,方便地进行功能的调整、增减,模块的升级和系统架构的逐步完善。提交相应的系统规范文档,应用单位能够进行必要的二次开发。
8、界面友好、操作方便:操作界面要直观、简单、贴近实际,操作过程应当尽量简化,符合实际过程。身份认证过程即要保证安全,也要尽量简化认证过程。
9、可维护性:系统维护应当简单。
10、集成性:平台应对基于平台开发的应用模块、权限控制、界面进行集成。
二.3 支持软件
审计复核系统将运行在审计署、各特派办的机关局域网环境之中,应用的支撑环境由机关辅助办公系统平台以及它的支撑环境(基础平台和基础服务)构成。
二.3.1 基础平台
基础平台的逻辑结构如下图:
图 支撑环境基础平台
二.3.1.1 网络平台
审计网络系统是一个基于Internet技术的大型网络环境,基本的通讯协议就是采用了TCP/IP协议,不同的审计机关都将分配统一规划的IP地址段。在这里TCP/IP协议就是应用平台的网络底层平台。
二.3.1.2 操作系统平台
本应用可与机关现有其他系统部署在一起,使用相同的R1系统,服务器可以选择现有的Windows2000 Server操作系统。客户端的操作系统由于对安全性的要求相对较弱,一般选择Windows操作平台。
二.3.2 基础服务
应用平台支撑环境的第二层是基础服务层,这一层是由操作系统提供的服务加上一些第三方软件进行集成所形成的各种基于基础平台上的底层服务。该层被设计处于基础平台的上面一层,是站在服务集成的角度上,在这一层基本上是由各种系统软件连同相应的硬件,构筑在操作系统平台之上的各种资源服务和底层应用程序接口(API)调用服务。
二.3.2.1 操作系统自带的服务
在平台里应该有的服务支持包括:
1、物理上的分布式计算支持。
2、域名解析服务(DNS):提供TCP/IP协议下的按照域名解析IP地址的服务。
3、代理服务:提供对机关局域网接入Internet的代理网关服务功能。
4、系统管理服务:提供利用工具在本地或者远程进行系统管理的接口或者服务功能。
二.3.2.2 第三方软件提供的服务
对上层应用框架的底层支持除了操作系统有限的服务之外,很多都需要集成第三方的软件来提供支持。
1、关系数据库
图2-5 应用访问数据情况
在本平台之上的应用不是直接访问数据库,而是通过应用框架服务层提供的数据库访问组件来访问数据库。
2、Web服务器
Web服务器(或称HTTP服务器)提供HTTP服务。本来Web服务器只提供“静态”内容,即返回在URL里指定的文件的内容,一般具备将URL名映射到文件名的功能,并能实施某种安全策略。Web服务是建立B/S结构应用的基础。Web服务在系统中的作用如图2-6:
图2-6 Web服务器
Web服务以Web服务器的形式出现,主要的功能是提供静态的Http服务,即提供静态的Html页面。同时,Web服务还需要有诸如负载均衡、页面缓冲等功能。Web服务器通常需要和应用服务器相配合,提供动态的Http服务,应用服务器可以和数据库相配合提供动态Html页面。
3、应用服务器
将应用服务器放在这一层,可以形成这样一个平台,它为应用的业务逻辑提供了一个运行环境。它可以提供企业级的组件支持环境,支持分布式网络环境下应用软件的快速开发和部署。应用组件在应用服务器的服务上运行,并利用网络基础架构提供的目录和安全服务。这些组件还可以利用数据库、事务处理和群集等设施。
应用服务器软件层为开发和支撑运行在Web应用服务器上的机关辅助办公应用系统的业务逻辑提供了核心功能。基本要包括下列服务:
●群集服务:它提供一个丰富的共享的虚拟工作间,并支持业务工作流程的协调;
●数据库访问接口:它将一个数据库的特性及功能与Web应用服务器集成起来;
●事务处理服务:它通过提供一个高可用的、健壮的、可扩充的、安全的事务处理应用执行环境来扩展Web应用服务器的功能;
●消息发送服务:它提供健壮的异步通信和消息代理设施来支持通信的发表/订阅模型和消息转换;
●支持分布式:对分布式网络环境下的应用采用分布式技术提供很好的支持;
●LDAP服务:在机关辅助办公应用平台的用户身份认证部分中谈到了人员的统一管理和一次登录问题,这要求将所有的人员标识码存放在一个地方。
机关辅助办公系统内需要有一个LDAP系统,来解决人员的统一标识和登录问题。Ldap系统中存放整个审计署系统内常用、不经常更新而又结构简单的数据信息,如果信息发生变更,由Ldap服务系统负责全局复制,保障全局一致。
目前,机关辅助办公系统需要放入的信息有:全局的组织结构信息、存放全局的人员账号信息、全局服务器设置信息、PKI认证方式的CA证书信息等。 这些信息,是其他应用软件的数据基础,Ldap服务系统通过机关辅助办公系统平台对外提供访问接口,给各级审计机关的业务系统和人力资源系统提供服务。
系统网络管理:系统网络管理工具或者解决方案是对网络上的可管理设备进行监测,包括对网络设备(路由器、交换机)、接入服务设备、应用系统及用户端设备的监测。了解网络性能和现状,为网络管理维护提供依据。
采集多种信息进行分析处理,便于改进网络结构,为网络投资提供技术和领导决策的依据。掌握网络运行负荷及设备运行状态,对异常情况进行分析,以便采取改进措施来有效利用网络资源,并向用户提供优质服务。对应用系统的重要数据采取实时备份或定时备份的保护措施。
采用分布式-集中控制及处理相结合的原则,对网络设备系统进行统一管理及配置。能够迅速地找到网络故障的根源,并协助网络管理人员进行网络增长的计划和网络变化的设计。
二.3.2.3 辅助办公系统平台提供的服务
辅助办公系统平台(下面简称平台)提供的基础服务包含:
1、应用管理
平台中的应用管理能够接受任何外来应用进行注册并通过配置应用,模块组,模块,资源来建立一个完整的应用结构。在配置中按照需求填写各项信息,以保证所注册的应用能够正确运行。
2、组织人员管理
包括人员管理、组织管理、职务(位)管理、职级管理。管理了整个平台上所有的人员与组织的信息,为所有被平台整合的应用提供统一的信息来源。
3、权限管理
包括角色管理、用户组管理、权限分配和权限禁用。
4、日志管理
对平台上的数据访问,修改维护,登陆系统等动作进行留痕处理。
5、数据传输
平台内部集成一个消息中间件,通过中间件传递数据,并对外提供一个经过封装的接口,让架构在平台上的应用能够方便的实现数据传输。
6、加解密
平台提供一套统一的对字串、数字和文件的加解密API。
二.4 接口
参见接口设计。
二.5 控制
暂无。
二.6 基本设计概念和处理流程
二.6.1 设计原则
1、采用面向对象技术进行设计和开发。
2、应用中间件技术,保证了系统的开放性和对技术发展的适应性。
3、采用组件技术进行开发,提高系统可扩展性。
5、科学划分信息块,方便快速查询,提高使用性。
二.6.2 软件目的
本软件是对工程中的项目、合同、预算执行、财务收支、资产情况、档案情况进行管理,并将这些情况定期汇总、发布。
运行环境,为审计署及其特派员办事处的局域网。
目标用户,为审计机关对计算机操作有一定了解并具有工程管理系统平台账号的全体人员。
软件主要功能,主要是提供对项目、合同、财务、资产、档案、预算等情况的管理,并提供汇总及发布功能。
二.6.3 技术架构
技术架构基于机关辅助办公系统平台(以下简称OA平台),采用J2EE技术进行开发。CyberWord控件采用VB开发,支持在线阅读Word及复核意见书生成等。
二.6.4 软件系统整体流程
二.6.5 部署模型
系统将基于J2EE架构进行开发,所以在部署结构上,本系统将形成一个单独的部署WAR包,通过设计上与部署配置上遵循审计管理系统平台标准。系统的加入将不会影响原有应用系统的功能。
第三章 功能系统设计
三.1 项目管理
三.1.1 结构
功能划分:
1、项目基础信息管理
项目基础信息管理主要是对项目名称、责任人、开始日期、项目承担部门、备注等要素信息的维护。
2、项目相关文档管理
项目的相关文档通常包括立项申请文件、批复文件、需求报告、需求分析报告、需求任务书、签报、会议纪要、工程实施资料、试运行资料、验收资料等文档资料,文档管理就是提供对这些文档进行组织和管理的功能。
三.1.2 对象关系与类结构
三.1.3 功能需求与程序的关系
功能需求 | 程序 |
添加/修改/删除项目 | ProjectAction |
添加/修改/删除项目资料维护 | PrjMaterialsAction |
功能入口资源 | 功能描述 |
/emis/project.do?todo=showList | 显示项目管理列表 |
序号 | 功能 | 角色 |
1 | 项目管理添加/删除/修改 | 工程管理软件使用人员 |
工程管理软件使用人员可点击项目管理菜单,可增加、修改和删除项目信息,如下图:
点击【添加】按钮可添加新的工程信息,选择任意一工程信息,点击【修改】按钮修改该工程信息,选择任意一想【删除】的工程信息点击删除按钮,删除该工程信息。点击【维护资料】按钮可维护该项目下的所有资料,显示如下
三.1.7 类设计
1、总体结构
2、详细描述
1)项目列表(维护项目信息)
控制类: ProjectAction项目列表(维护项目信息)。
业务类: IEmProjectService.java 项目维护的基本操作功能的业务逻辑方法。
实体类: IEmProjectDAO.java 项目信息实体,所有项目基本信息的内容。
视图类: prjList.jsp 项目列表的页面。
2)维护资料(维护资料信息)
控制类: PrjMaterialsAction资料列表(维护资料信息)。
业务类: IEmDataService.java维护资料的基本操作功能的业务逻辑方法。
实体类: IEmDataDAO.java维护资料实体,所有项目基本信息的内容。
视图类: prjMaterials.jsp 项目列表的页面。
三.1.8 接口
调用的外部接口:
import com.icss.emis.web.action.BaseAction; action基类。
import com.icss.emis.business.IEmProjectService; 工程类
import com.icss.emis.business.IEmDataService; 资料类。
三.1.9 存储分配
所有项目、复核文书信息及复核流程都存储在数据库中,涉及的表有项目信息表(EM_PROJECT),资料表(EM_DATA)
三.1.10 注释设计
无
三.1.11 条件
无
三.1.12 测试计划
见《软件测试计划》中的相关内容
三.1.13 尚未解决的问题
无
第四章 接口设计
四.1 外部接口
四.1.1 用户界面
在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。
总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用。
四.1.2 软件接口
与其他软件通过遵循统一的数据格式标准达到数据共享或数据传递的目的。
四.1.3 硬件接口
四.2 内部接口
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
第五章 运行设计
五.1 运行控制
运行控制以用户与系统进行交互为主。
五.2 运行时间
对于系统初始化,运行时间不应超过20秒;对于用户进行页面提交,等待时间应该不超过5秒。
第六章 系统数据结构设计
六.1 概念结构设计
六.1.1 库表关系图
六.1.2 库表描述
名称 | 代码 |
项目信息表 | EM_PROJECT |
合同(专项)信息表 | EM_CONTRACT |
财务信息表 | EM_FINANCING |
资产信息表 | EM_CAPITAL |
档案信息表 | EM_FILE |
工期信息表 | EM_PRJTIME |
建设内容表 | EM_CONTENT |
会计科目表 | EM_ACCOUNTING_SUBJECT |
基础数据版本管理 | EM_BASEDATA_VERSION |
基础数据表 | EM_DATADICT |
工期设定表 | EM_PRJTIME_COOKIE |
资料表 | EM_DATA |
数据字典 | EM_DICT |
预算中间表 | EM_MID_BUDGET |
第七章 系统出错处理
七.1 出错信息
1、程序在运行时主要会出现两种错误:(1)由于输入信息,或无法满足要求时产生的错误,称为软错误。(2)由于其它问题,如网络传输超时等,产生的问题,称为硬错误。
2、对于软错误:须在操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。
3、对于硬错误:可在出错的相应模块中输出简单的出错语句,并将程序重置,返回输入阶段。
4、出错信息必须给出相应的出错原因。
七.2 补救措施
1、服务器安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。若真断电时,客户机上将不会有太大的影响,主要是服务器上:在断电后恢复过程可采用 DB2 8.1 的日志文件,对其进行ROLLBACK 处理,对数据进行恢复。
在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。
2、在硬件方面要选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。
3、对于一个应用系统来说,无论它的硬件设备再好,程序质量再高,在当今运行环境高度复杂,软件应用体系庞大繁杂的情况下,由于操作不当或者不可预料的原因,难免出现各种各样的异常、故障,导致系统不能正常运转,甚至造成重大损失。如何减小这种故障发生的几率,并提供事后弥补的措施,对保障系统正常运行是非常重要的。
4、数据操作的一致性保障。
5、在应用对数据库进行操作时,如:增加、删除、更新等使用事务,保证在操作发生异常时可以恢复到事务开始的起点。
6、在审计系统各机关局域网环境中进行分布式数据传输的时候也要保证某一点传输出现严重错误时恢复其他已传输点的数据状态,保证全局的数据一致性。
第八章 维护设计
主要为对服务器上的数据库数据进行维护。可使用 DB2 8.1 的数据库维护功能机制。例如,定期为数据库进行Backup,维护管理数据库死锁问题和维护数据库内数据的一致性等。