在概要设计阶段,大家来看看我们是怎么做的。导演,灯光,给大叔一个特写…..
项目背景说明
系统背景:这是一个数据量大,用户数少,外部接口数据多,批处理时间长、子系统多的企业业务管理系统。
技术背景:使用客户端(Browser)+ Web + EJB + 数据源 的四层应用结构
说明:很古老的技术,只用于参考
目标:理解做概要设计的基本步骤和思考要点
参考时间点:准备做概要设计的时候做参考,没做的时候只要知道都有什么内容即可。
摘要
分六步走,依次为总体设计、接口设计、界面总体设计、数据库设计、系统安全设计、系统部署。其中:
总体设计是在选择架构及其各类约定
接口设计是内部、外部接口的协议和约定
界面总体设计是界面的样式、色调的约定
数据库设计是选择数据库、命名、分布、设计原则的约定
系统安全设计是对系统的安全使用的协议和约定
系统部署是如何部署到客户环境下的约定
关键词
约定
前提条件
已经确定使用的框架
已经确定框架的风险
已经做过可行性分析
……
没有这些条件,大家会很失望的发现后续的内容全部都是在谈约定
开始踏步走
第一步:总体设计
1、设计目标
分为2部分
第一部分:需要实现的亮点,按亮点一句话搞定
例如:
满足《需求规格说明书-总论》中项目涵盖范围要求;
实现对大数据量历史数据的管理;
提供良好的架构组织,保证扩展能力,减少功能模块的扩展对核心架构的影响;
提供良好的用户界面;
等等。
第二部分:实现的范围限制,有就写,无略过
2、运行环境
2.1 软件环境。如操作系统、数据库、WEB服务器、应用服务器等等。
2.2 硬件环境。如按客户的规模给出最低配置、推荐配置。
2.3 网络结购。画出系统的网络拓扑结构,然后做简单的说明。
2.4 逻辑结构。画出系统的逻辑结构图,然后做简单的说明。
2.5 总体架构。
以下目录按需要写,使用例子采用的基本架构是J2EE
2.5.1 J2EE整体架构。
客户端(Browser)+ Struts + EJB + 数据源 的四层应用结构,自己画或者用GOOGLE找个类似的图,然后对所列的架构做简单的描述,最后描述文字描述完整的系统调用过程。
(重点就是简单的吹一吹选择的框架合理性)
2.5.2 客户端和WEB层实现
2.5.2.1 概述
客户端:系统的实现方式,如DHTML+javascript+XML+ActiveX
WEB端:采用STRUTS的框架
2.5.2.2 STRUTS架构
画个图表达STRUTS是怎么和业务层、数据层交互;
文字描述一下在STRUTS框架下一个完整的系统调用过程。
2.5.2.3 WEB工程组织结构
WEB部署包的目录结构;
如果有使用自定的标签简单的列出。
2.5.3 EJB层实现
(重要的是要约定输入输出和工程文件的组织结构)
概述
DAO设计模式
系统DAO类结构
公共输入输出对象
(约定输入输出的样式,如果不是公共输入输出,说明组成原则)
DAO实现举例
EJB接口设计
EJB工程组织结构
(这个约定很重要,可以用图来表达)
2.5.4 数据层实现
(就写选择的数据库是什么?本例中使用的是ORACLE)
2.6 非功能性需求的实现
2.6.1 JDBC连接管理
(是不是有使用连接池,有的话在这里申明)
2.6.2 系统参数配置
(申明系统参数配置约定)
2.6.3 统一认证中心和权限控制
(如果包含了很多子系统,就会用到,有的话只要说明一下检验的位置)
2.6.4 日志管理
(列出日志类型、记录内容、记录点、记录介质、调用方法、管理方式。另外配置说明)
2.6.5 系统出错信息与异常处理
(异常处理的约定)
2.6.6 JAVA公共库
(调用自己的公共类简单说明)
2.6.7 JAVA单元测试支持
(单元测试约定)
2.6.8 公共系统平台框架
(在公共系统平台下各个子系统部署和命名的约定)
2.6.9 前端功能实现
浏览器端打印
(控件名称和开发工具约定)
文件上传
(控件名称和开发工具约定)
客户端报表
(报表使用的技术约定)
2.6.10 其它功能实现说明
数据查询
(查询的数据分页约定)
工作流系统
(是否使用工作流,如果使用,则使用工作流机制约定)
2.7 开发工具与环境
(开发工具/软件/组件的版本预定,及其对应的编码规范文件名)
第二步:接口设计
1 内部接口
(内部各层之间的调用约定)
2 外部接口
(与外部系统之间调用的协议和约定)
第三步:界面总体设计
1 总体界面布局
(界面布局约定,一般就是一个主界面图+简单说明)
2 风格设计
(色调约定)
3 用户界面实现
(用户界面使用方法的约定,如JSP)
第四步:数据库设计
1 系统数据库设计原则
(对数据库设计要求的原则约定)
2 数据库环境说明
(使用的数据库名称/版本的约定,如ORACLE 10g)
3 逻辑结构
(建模工具的约定)
(数据库命名,所起的作用、分布方式的约定)
4 物理存储
(数据量测量)
(存储方式、每日数据占用磁盘空间(M)、保存方式、说明)
(数据占用空间说明)
5 数据备份和恢复
(备份和恢复约定)
第五步:系统安全设计
1 数据传输安全性设计
(如果有,则说明数据传输安全性采用方式和约定)
2 应用系统安全性设计
(如果有,则说明应用系统安全性采用方式和约定)
3 数据存储安全性设计
(如果有,则说明数据存储安全性采用方式和约定)
第六步:系统部署
(说明系统是如何给用户部署的)
附录
1 系统配置文件XML格式说明
(系统配置参数的配置约定,可以使用例子来表达)
2 报表接口规范及报表模板设计
(如果使用了专用的报表控件,确定其接口约定,可以使用例子来表达)
等等其它需要具体说的约定附录
总结写概要设计报告的过程:
我们可以想象一下,假设我们有一个框架,卖给一伙人做二次开发,为了满足他们的开发需求。我们就要写一份约定。
首先吹一吹我们的框架多么好。
然后告诉他们怎么使用才是正确的,以及使用该框架的各类约定。
最后是怎么给客户部署的。
附带的做些详细的使用说明附件。