一般软件开发可分为如下阶段。
1.需求分析
2.概要设计
3.详细设计
4....
其中概要设计,我觉得起到的作用,就是从需求过度到详细设计阶段的一个中间过程。这种划分方式,不是从软件开发本身的需要出发的,而是按实际的项目过程控制需要划分的。因为不同的项目,需求在理解难度上、抽象程度上,千差万别。因此到达实际的产品功能设计和程序设计(即详细设计),所需要的信息,也差别很大。需求分析阶段侧重于从用户那获取原始需求。而所谓概要设计,就是要把到达详细设计中间缺少的信息补全。
所以,所谓概要设计文档,内容是五花八门的,没有确定性质的内容。有人还在找概要设计的模板,这实在可笑。而后文列举的一些原因将导致概要设计文档内容更加混乱。
注意: GB8567-88 概要设计模板 是过时的。在概要设计上中国已经超过了IBM、微软、HP等大牛公司,搞出了自己的标准,只是太久不维护了。
这种划分方法,和按软件开发工件内容性质划分的开发阶段,是两种维度。一个是管理角度,一个是软件开发的客观规律的角度。
概要设计文档,有时也作为用户了解系统实现的文档。这时,概要设计的作用就是给用户一个大体的方案介绍。对开发本身来说,只是一个参考。
我觉得这样的阶段性划分,是迎合一般用户理解能力的划分方法。实际编写的概要设计文档,也未必能满足,上文我对概要设计阶段的作用的要求。要么概要设计文档,就是个摆设,常常出现很多辅助文档。要么就是概要设计抢详细设计的活,里边有界面设计,有库表设计等。悲剧的是,有的公司生搬硬套开发过程,要求写概要设计文档。写文档的人,只好把认为有用的内容都向文档里塞。这样的文档体系是混乱的。开发过程也是混乱的。
概要设计文档里的长见内容比较难理解,也比较尴尬。
1.界面设计。这个最麻烦。这时还不到明确详细界面的时候。放的都是拍脑门的界面设计或从别处拷贝来的图片,表达的是需求,界面是不能当真的。可是文档的读者程序员,如何知道是否应该对界面当真呢?这种极其混淆的表达方法,常常让读文档的人不知如何是好。
需求的表达有专业的表示工具,用例。可是会用的太少了。用胡乱的界面表达需求,能传达的有用信息是很少的。
2.实际的界面设计。在抢详细设计的饭碗。
3.库表设计。 又在抢详细设计的饭碗。
4.程序流程图。 抛开实际代码的流程图,只是帮助梳理程序思路,却不得不明确程序的运行过程,这些脱离实际的过程设计,对于实际的代码编写基本是多余的。在我看来,应该采用靠近代码的设计方法,这样才有实际意义。而这个,是详细设计的内容。
5.架构设计。 合理的内容。
6.功能模块设计。 合理内容。
...
因此,概要设计阶段,必要时要有,但不必写概要设计文档(用户不要求的情况下),按实际的需要编写工件,才是正确的。这样,拿到的文档才都是有效的。
-------------------
这帖子说的有意思:
http://www.kaixin001.com/repaste/94351869_5296386792.html?uid=94351869&urpid=5296393564
说明了这个领域的模糊和随意性。
--------------------
概要设计相关的内容,在以前应该是正统的方法。(具体没做过考据)
但是,现代的开发方法,迭代式开发是主流方法。但是,开发方法是一个没有统一标准的领域。很多公司,根本就是简单的把任务分配到人头就不管了。开发任务能否做好,是完全不进行管理的。这样的团队,不可能做出好的软件。软件开发不是一件简单的事,找来10个工人,简单的告诉他们,每人负责盖一层楼,是盖不出楼房的。
吃过亏的公司会试图改革,引入一些开发管理。而传统的开发过程的划分,看上去很美(因为简单,好管理等等),实践起来,是另一回事。因此,形式上不得不按大家认可的过程开发,但实践上,却不得不采用迭代式开发方法,这是由需求的不稳定性决定的。
分享到:
相关推荐
本压缩包“概要设计和详细设计文档模板.zip”包含了一系列模板,旨在帮助开发者按照规范有效地进行这两个阶段的工作。 **概要设计** 概要设计,也称为系统设计或高层设计,是对软件系统的整体架构和主要功能的规划...
《软件概要设计文档规范详解》 软件概要设计文档是软件开发过程中的关键环节,它将需求分析阶段得出的数据流图(DFD)转化为软件的结构和数据结构,构建出系统的逻辑模型,而不涉及具体的计算机硬件或操作系统。...
《概要设计文档模板》是软件工程领域中一个至关重要的环节,它在软件开发的初期阶段起到承上启下的作用,连接需求分析与详细设计。本文档主要关注的是如何有效地编写概要设计文档,以及其在软件开发流程中的地位和...
这份"概要设计实例文档"压缩包包含了两个关键文件:《概要设计说明书实例.doc》和《概要设计文档最佳实例.doc》,这些文档对开发者来说无疑是宝贵的参考资料。 概要设计,也称为初步设计或高层设计,主要目标是将...
《软件概要设计文档》是软件开发过程中的关键文档,它基于需求分析阶段的结果,为后续的详细设计、编码和测试提供指导。文档的主要目的是通过架构层面的描述,明确系统的主要组成部分、交互方式和约束条件,确保开发...
### DEMO系统概要设计文档知识点解析 #### 一、引言 **1.1 目的** 本文档旨在明确DEMO系统的总体架构和技术实现方案,重点在于介绍系统的层次划分和核心机制的设计。 **1.2 背景** DEMO系统作为一款面向特定业务...
2. 概要设计文档:在需求分析之后,开发者会进行概要设计,确定软件的整体架构和主要模块。这份文档会概述系统的组织结构、接口设计、数据流和控制流程、模块划分以及主要的数据结构和算法。概要设计文档为详细设计...
这份“快速编写概要设计文档”旨在帮助开发者们更有效地完成这一阶段的工作,确保文档规范、清晰,避免无谓的混乱和冗余。 概要设计的目标是将需求转化为可实施的系统架构,它主要关注以下几个方面: 1. **系统...
在软件开发过程中,文档、详细设计、概要设计和数据库设计是至关重要的环节,它们构成了一个完整项目的基础架构。下面将分别对这些概念进行详细解释,并探讨它们在实际开发中的应用。 1. 文档:在软件工程中,文档...
概要设计说明书是软件工程中的一项关键文档,它旨在为软件系统的后续详细设计与编码阶段提供全面的设计指导。通过该说明书,设计团队能够清晰地定义软件的架构、功能划分、接口设计及异常处理机制等,确保软件的开发...
《糖尿病管理系统概要设计文档1.21》 在当今社会,糖尿病已成为全球性的公共卫生问题。我国糖尿病患者数量已超过9240万,占据全球四分之一的份额,且这个数字仍在持续增长,形势严峻。尽管目前尚未找到根治糖尿病的...
系统概要设计文档模板详解 作为一个系统设计文档的模板,系统概要设计文档模板提供了一个详细的指导,帮助开发者和项目经理更好地设计和实现软件系统。下面是该模板中一些重要的知识点: 1. 引言部分 在系统概要...
软件开发概要设计模板是一个重要的文档,用于记录软件开发项目的总体设计和接口设计。通过阅读该文档,我们可以了解软件开发项目的概要设计、总体设计、接口设计、用户接口设计等方面的知识点。 概要设计是软件开发...
概要设计模板概要设计模板概要设计模板概要设计模板
本压缩包包含的五个关键文档分别是:详细设计文档、概要设计文档、需求说明文档、数据库说明文档和模板概述,每个都有其特定的作用和内容。 1. **详细设计文档**:详细设计文档是对软件各个模块的详细描述,它涵盖...
系统概要设计文档是软件开发过程中的重要环节,它详细阐述了系统的主要功能、架构以及设计原则,为后续的详细设计和实现提供了基础。以下是对该文档内容的详细解析: **1. 引言** 在引言部分,文档通常会说明编写的...
本《软件系统概要设计说明书》是软件开发过程中的关键文档,它在《软件需求规格说明书》的基础上建立,详细阐述了软件系统的整体设计思路、结构和功能,确保了设计与用户需求的一致性。这份文档的改动必须经过用户的...
### 概要设计阶段——数据库...通过以上分析,我们可以看出《概要设计阶段——数据库设计说明书》不仅是一份技术文档,更是连接需求分析、设计、开发和维护团队的桥梁,对确保数据库项目成功实施具有至关重要的作用。
在软件开发过程中,项目开发需求和概要设计文档是至关重要的环节,它们为整个项目的实施提供了清晰的指导和蓝图。本资源包含了一套完整的项目开发常用模板,特别适合那些需要进行需求分析和概要设计的团队参考使用。...