设计概要

概要设计模板

公司

2010年12月9日

文档修订记录

日期

版本

说明

作者

2010-12-9 

1.0 

创建 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

评审记录

日期

内容

结果

评审人

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

目录

1     引言... 3

1.1         概述... 3

1.2         专有名词定义... 3

1.3         参考资料... 3

2     总体设计... 3

2.1         模块关系... 4

2.2         业务流程... 4

2.3         软件包结构... 5

2.4         部署结构... 5

2.5         类说明... 5

3     实体类说明... 6

4     依赖说明... 6

4.1.1       子系统依赖... 6

4.1.2       技术组件依赖... 6

5     模块设计... 7

5.1         公共模块... 7

6     对外接口设计... 7

7     数据库设计... 7

8     性能设计... 7

8.1         性能指标... 7

8.2         性能瓶颈... 7

1    引言

1.1  概述

[简要介绍本文档的内容,阅读对象,阅读条件]

1.2  专有名词定义

[列出本文件中用到的专门术语的定义、缩略语的详细定义、外文首字母组词的原词组]

例如:

*RMCS:*风险管理控制系统的简称。

*风险场景:*风险场景主要用于RMCS判断一个事件是否为风险的依据。风险场景是由基本信息和一个以上的场景条件和处理动作组成,如果所有的场景条件都被满足,则结果是一个风险。 

1.3  参考资料

[列出有关的参考文件]

例如:

2    总体设计

[本章节作为架构设计向概要设计过渡的承接文档,内容主要来自系架构设计和系统需求,在整体上对子系统进行模块的切分和介绍]

2.1  模块关系

[以图形的方式展示子系统内部的逻辑模块划分,相关关系,以及和外部的依赖关系]

2.2  业务流程

[对子系统的关键业务流程进行技术性的描述,以模块为主体,描述各模块间如何协作完成关键用例]

例如:以模块为涌道,描述异步事件处理流程中每个模块所做的事情 
 

2.3  软件包结构

[具体的项目工程jar包说明,一般情况下一个模块对应一个jar,也可能一个模块对应对个jar]

2.4  部署结构

[具体的应用war的部署结构说明,对数据库的使用情况,和外部系统的调用关系,以及每个应用和jar包的对应关系]

2.5  类说明

[总体的类介绍图,各模块中关键类的相互依赖关系,可选]

3    实体类说明

[实体类的关系图,类的属性描述,类的状态描述,在实体管理工具开发完成后本章节除了关系图以外的内容可以去掉,直接引用外部链接]

4    数据库设计

[对数据源的使用情况描述,使用那些数据库服务器,是否有存储过程,数据库函数,表的数据量级,分表策略,归档策略,是否有复制,初始化数据;

每个实体类对应的表,字段,索引,在实体管理工具开发完成后本章的内容可以去掉,直接引用外部链接]

5    依赖说明

5.1.1  子系统依赖

[对其他子系统的依赖,描述依赖对方的哪些服务,概述即可,不需要详细到接口,需要描述如果对方出现不可访问故障时己方会有什么问题,以及是否有特殊应对方案]

5.1.2  技术组件依赖

[是否有对缓存,消息,资源管理,DAL,以及其他不在架构设计中的特殊技术组件依赖,是否有特殊的故障应对方案]

6    模块设计

[本章节为概要设计中最重要的部分,需要详细描述每个子系统的职责,业务规则,业务约束,实现逻辑,业务异常,技术模型] 

6.1  XX模块

6.1.1   模块类图

[所有接口,关键实现类,领域类,类之间的关系]

6.1.2   类描述

[类的业务职责,类的方法,每个方法需要实现的业务规则,业务约束;

对外的接口方法需要描述时序流程,接口方法需要细到参数,返回,异常,以及出现异常的条件;]

6.1.3   关键算法

[关键方法需要描述算法逻辑,复杂的模型需要描述使用到的模式(扩展点)] 

7    容错设计

[当外部系统或者内部系统出现故障时是否采用了容错方案,而不只是抛出异常] 

7.1  XX容错设计

7.1.1  出错场景

[描述故障的背景]

7.1.2  容错方案

[容错的实现方案,包括系统的自动补偿,异常事件,以及人工的恢复流程] 

8    接口列表

[罗列出所有子系统对外接口,如果在模块设计中已经描述过,直接复制到这里即可]

9    产品组件设计

[对于包含产品组件的子系统,需要以类似描述模块的方式来描述组件职责,内容待定]

9.1  XX组件

10       应用功能设计

[内部的管理后台,属于产品层,内容待定]

11       性能设计

11.1    性能指标和评估方式

[是否对于一些服务接口有特定的性能要求,以及相应的测试数据]

例如:

交易成功接口平均响应时间1秒以内,单应用服务器并发容量50次/秒,总容量300次/秒

11.2    性能瓶颈

[列出子系统可能存在或者已经存在的性能瓶颈]

例如:

当前交易表并发访问量高,存在性能瓶颈

11.3    解决方案

[列出子系统已实现的对于性能瓶颈的解决方案]

例如:

当前交易表按过期日期进行分区,每天凌晨移除整个过期分区

12       运维支撑设计

12.1    监控设计

【通用的监控指标不在这里描述,只说明对监控平台提供的定制接口,对监控平台的定制需求,监控规则(监控指标,报警机制,监控异常之后处理机制),其中监控规则需要按监控平台规定的模板进行描述】 

12.2    运维CheckList

类型

确认项

其它服务器

是否需要共享存储,请列出共享的主机列表,存储的内容,安全要求,共享目录名,共享的空间大小,月增长率,IO大小,增长率 

需要的服务器数量,配置 

网络

预计将新增多大的网络流量或PV? 

是否有大量的邮件发送需求?或者可能造成某一小段时间内邮件发送接受量激增? 

是否需要专线或者VPN还是公网服务支持 

预计每秒将新增多大流量、PV或者session数 

负载均衡提供哪些服务端口,是否需要做成80跳转443 

是否需要session保持 

TCP服务是否为长连接,连接保持多长时间 

是否需要做SSL卸载 

是否有特殊的安全访问控制 

安全

是否通过安全QA测试和代码review测试,VMXSS;session token 防CSRF 

是否有外部跳转存在,跳转是否给出白名单,参数传递清单? 

是否使用了加密机制-加密算法是什么? 

域名

是否需要新域名?外部域名?内部域名?是否需要ssl证书? 

是否存在由于全局域名所带来的版本不一致问题? 

是否存在预发布、正式发布环境域名需要分别配制的情况 

支撑环境

应用系统是否需要新单独部署(即新增web服务器)? 

是否需要对JDK,JBOSS,APACHE,Linux环境进行升级(如在etc目录下需要加入特殊的配置)? 

预发布环境与生产环境是否存在差异? 

权限

是否需要修改权限控制配置文件? 

 

13       遗留问题

[列出子系统设计上的遗留问题]

例如:

代收费子系统的分布式架构暂不实现 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值