概要设计

概要设计目的

       软件是实现业务流程的自动化并提供帮助用户执行业务任务的功能,软件的目的也体现概要设计目的。概要设计是满足用户的功能和服务质 量要求,包括性能、可用性、可伸缩性、安全性和完整性要求的设计。它还包括评估并选择运行应用程序所必需的软件和硬件,以及用于开发应用程序的工具和方法。

概要设计作用

       概要设计在软件开发周期中处于需求调研和详细设计之间,所以可以说概要设计是用户需求和详细设计之间的一个桥梁,是在对用户需求的全面理解和深入分析的基础上,提出全面的、概要的解决方案,这个解决方案是后续详细设计的一个蓝图。

概要设计过程和环节

       概要设计过程可以分:

Ø         需求分析,深入分析用户功能需求和非功能需求,因为我们的系统都是针对用户特定需求的,在分析需求的过程中需要从更高的角度看用户需求,为设计一个稳定的架构而努力;

Ø         选择技术路线:在了解了用户要求之后,根据自己对技术的了解,选择适合的技术来实现用户的要求;

Ø         划分系统总体结构:给出硬件、网络、操作系统、其他软件硬件的接口、将要开发软件的主要部件

Ø         划分将要开发软件的业务部件,将要开发的软件业务部件肯定包含多个业务活动和过程,我们应该将其分解出来,减小我们系统开发难度

Ø         定义系统接口:定义上面两个过程中形成的接口

Ø         确定运行模块:

Ø         验证概要设计:

Ø         编写概要设计文档

 

概要设计管理

Ø         概要设计成本管理:够用就好,不要为了设计过于完美的架构而提高了设计成本

Ø         概要设计需要验证:概要设计的想法要能够运行,否则是空想,没有意思

Ø         选择技术路线需要注意学习风险

Ø         概要设计应该是多人参与,一个人的知识毕竟有限

 

技术路线选择要求

Ø         熟悉主流技术框架,如spring、hibernate等

Ø         熟悉其他开源项目,如dwr等

Ø         对于网络、硬件了解

Ø         设计者请求相关技术行家支持,弥补自己的不足

Ø         技术路线方案应该是适合用户要求的

 

划分总体结构要求

Ø         全面理解需求,深入分析需求,提取系统公共和比较独立的部分作为单独部件

Ø         体现MVC结构

Ø         定义不同部件之间接口

 

划分业务部件要求

Ø         根据需求,按照不同业务分离出不同业务部件

Ø         定义不同部件之间接口

 

确定运行架构要求

Ø         用技术手段,以稳健架构为目的,搭建一个运行架构

Ø         掌握设计模式

Ø         反复重构

 

这篇文章想阐述系统架构的任务和如何架构好一个系统,由于本人水平有限,不妥和遗漏之处希望给与指正,不胜感激。