软件的概要设计都需要做什么

最近一直想整理一下软件概要设计文档编写相关的内容,包括文档结构以及注意事项,等等,于是在网上搜索一下,看看前辈们的总结,看到了下面这篇文章,总结了概要设计的精华,比我想要总结的还要全面,所以现在我来继续分享一下,希望更多的人得到帮助!

软件概要设计做什么,怎么做


一、软件设计一般流程:

1、先前的软件需求分析阶段,已经搞清楚了 “要解决什么问题”,并输出了《软件需要说明书》。这时一切都是理想。
2、现在进入概要设计阶段,重点说清楚“总体实现方案”,确定软件系统的总体布局,各个子模块的功能和模块间的关系,与外部系统的关系。有一些研究与论证性的内容。并输出《软件概要设计说明书》。这时一切都是概念。
3、最后进入详细设计阶段,重点说清楚“每个模块怎么做”,是“程序”的蓝图,确定每个模块采用的算法、数据结构、接口的实现、属性、参数。并输出《软件详细设计说明书》。这时一切都是实现。


二、《概要设计说明书》的一般结构:
   1、总述:需求或目标(讲一下事情的起源)、环境、局限;
           ----主要交代背景与大环境。(非重点)
   2、总体设计:从全局的角度说一下 总体结构、功能、处理流程、有哪些模块、模块间的关系;
           ----使读者有“全局”观,为下一步深入各个模块做好准备。
   3、外部接口:总体说明外部用户、软、硬件接口(可用资源);(这个接口不是java的interface) 。
           ----使读者了解可以利用的外部资源。
   4、模块设计:每个模块“做什么”、简要说明“怎么做”(输入、输出、处理逻辑、与其它模块或系统的接口),处在什么逻辑位置、物理位置; (重点)
   5、数据结构:逻辑结构、物理结构(存储在数据表中,还是缓存中); 
   6、容灾设计:出错信息、出错处理; (可选)
   7、监控设计:运行模块组合、控制、时间;(可选)
   8、用户界面设计:(可选)
   9、安全设计:(可选)
   10、其它设计:(可选)
   11、制定规范(附录): 设计原则,代码规范、接口规约、命名规则。--是小组协同开发的基础

三、模块设计是重点,多说几句:

   可以写以下内容:
   1、模块描述:说明哪些模块实现了哪些功能;
   2、模块层次结构:可以使用某个视角的软件框架图来表达;
   3、模块间的关系:模块间依赖关系的描述,通信机制描述;
   4、模块的核心接口:说明模块传递的信息、信息的结构;
   5、处理方式设计:说一些满足功能和性能的算法;


四、怎么使用概要设计:
   1、用来评价总体设计的可行性。
   2、用来检查设计的模块是否完整,保证每一个功能都有对应的模块来实现。
   3、用来评估开发工作量、指导开发计划(在不写详细设计的情况下)。


五、最后提醒:
   1、概要设计阶段过于重视业务流程是个误区.
   2、概要设计阶段过于重视细节实现是个误区.

原创地址: http://elf8848.iteye.com/blog/1582323
相关文章
相关标签/搜索