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

Posted 琦彦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件概要设计做什么,怎么做相关的知识,希望对你有一定的参考价值。

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

软件设计一般流程:

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 引言


1.1 编写目的
说明编写这份概要设计说明书的目的,指出预期的读者。(对于由多个子系统构成的系统,可以根据需要针对子系统编写单独的软件概要设计说明)

1.2背景
说明:
a. 待开发软件系统的名称;
b. 列出此项目的任务提出者、开发者、用户以及将运行该软件的位置;

1.3术语和缩略语
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。

1.4参考资料
列出有关的参考文件,如:
a. 本项目的经核准的计划任务书或合同,上级机关的批文;
b. 属于本项目的其他已编制文件;
c. 本文件中各处引用的文件、资料,包括所要用到的软件开发标准、专业技术标准。列出这些文件的标题、文件编号、发表日期、出版单位和来源。

2总体设计

2.1需求规定
说明对本系统的主要的输入输出项目、处理的功能性能要求。可以引用软件规格说明文档以避免重复。

2.2运行环境
简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定。

2.3设计思想
2.1.1 系统构思
说明本系统设计的系统构思。
2.1.2 关键技术与算法
说明本系统设计采用的关键技术和主要算法。
2.1.3关键数据结构
简要说明本系统实现中的最主要的数据结构。

2.2系统总体结构
以图表的形式说明本系统的系统元素(各层模块、子模块、公用模块等)的划分,扼要说明各系统元素的标识和功能,分层次说明各系统元素之间的关系。

2.3基本处理流程
2.3.1系统流程图
用流程图的方式说明本系统的主要控制流程和处理流程。
2.3.2 数据流程图
根据需要,用数据流程图说明本系统的主要数据及其流转过程,并说明流转过程中的处理动作。

2.4功能需求与模块的关系
说明各项功能需求的实现同各模块的分配关系。要与软件规格说明中的功能编号相一致。

2.6尚未解决的问题
说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。

3接口设计
3.1外部接口
说明本系统同外界的所有接口设计。包括本系统与硬件之间的接口设计、本系统与各支持软件之间的接口设计、对外提供的接口服务的设计。
3.2内部接口
说明本系统之内的各个系统元素之间的接口的安排。

4性能设计及质量属性考虑
通过设计落实在软件规格说明中的各种性能及质量属性规定。

5数据库设计
说明本系统内所使用的数据结构设计要点及与程序模块间的关系。对数据库表的设计一般以另文方式(数据库设计说明)给出。

内容审核要点:

1.是否全面考虑了软件需求规格说明文档的功能需求;
2.所述功能名称及编号与软件需求规格说明文档是否一致;
3.总体结构是否清晰合理;
4.是否包括对外提供的接口服务的形式化表述和设计内容;
5.数据结构设计内容的全面性及合理性;

软件概要设计模板

《XXX产品软件概要设计书》

《华为软件概要设计模板》

最后提醒:

1、概要设计阶段过于重视业务流程是个误区.

2、概要设计阶段过于重视细节实现是个误区.

以上是关于软件概要设计做什么,怎么做的主要内容,如果未能解决你的问题,请参考以下文章

软件概要设计做什么

设计概要设计-详细设计-到底需要输出什么???

理顺软件开发各个环节-13(开发管理-概要设计和详细设计)

理顺软件开发各个环节-13(开发管理-概要设计和详细设计)

『互联网架构』软件架构-软件系统设计

『互联网架构』软件架构-软件系统设计