`
gdpglc
  • 浏览: 92217 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

尴尬的概要设计文档

阅读更多
一般软件开发可分为如下阶段。
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个工人,简单的告诉他们,每人负责盖一层楼,是盖不出楼房的。

吃过亏的公司会试图改革,引入一些开发管理。而传统的开发过程的划分,看上去很美(因为简单,好管理等等),实践起来,是另一回事。因此,形式上不得不按大家认可的过程开发,但实践上,却不得不采用迭代式开发方法,这是由需求的不稳定性决定的。
1
1
分享到:
评论

相关推荐

    2-软件概要设计文档模板.docx

    软件概要设计文档模板 软件概要设计文档模板是项目管理文档之一,旨在为软件开发提供指导和规范。该文档模板涵盖了软件概要设计的各个方面,包括设计概述、系统逻辑设计、系统组织设计、系统结构设计、系统接口设计...

    概要设计文档、详细设计文档

    在软件开发过程中,概要设计文档和详细设计文档是至关重要的两部分,它们构成了系统设计的核心内容。这两份文档不仅帮助开发团队理解项目的需求和结构,还为项目的实施提供了清晰的蓝图。 概要设计文档(High-Level...

    概要设计和详细设计文档模板.zip

    本压缩包“概要设计和详细设计文档模板.zip”包含了一系列模板,旨在帮助开发者按照规范有效地进行这两个阶段的工作。 **概要设计** 概要设计,也称为系统设计或高层设计,是对软件系统的整体架构和主要功能的规划...

    概要设计实例文档

    这份"概要设计实例文档"压缩包包含了两个关键文件:《概要设计说明书实例.doc》和《概要设计文档最佳实例.doc》,这些文档对开发者来说无疑是宝贵的参考资料。 概要设计,也称为初步设计或高层设计,主要目标是将...

    ERP完整的概要设计文档

    ERP完整的概要设计文档,实际中应用,不骗人

    概要设计文档模板

    ### 概要设计文档模板知识点解析 #### 一、引言 **1.1 编写目的** - **目的:** 明确概要设计文档的编写目的是为了指导后续的详细设计与开发工作,并确保所有参与项目的人员都能理解设计意图与目标。 - **预期读者:*...

    概要设计文档1.21

    《糖尿病管理系统概要设计文档1.21》 在当今社会,糖尿病已成为全球性的公共卫生问题。我国糖尿病患者数量已超过9240万,占据全球四分之一的份额,且这个数字仍在持续增长,形势严峻。尽管目前尚未找到根治糖尿病的...

    腾讯智能制造云平台-概要设计文档v1.01

    【腾讯智能制造云平台-概要设计文档v1.01】 引言: 1.1 编制目的 腾讯智能制造云平台的概要设计文档旨在为项目团队提供清晰的指导,明确系统开发的目标、架构和主要功能,以确保平台能够有效地支持制造业的数字化...

    概要设计文档

    ### 概要设计文档知识点详解 #### 一、概要设计的基本概念 概要设计,又称总体设计,是在系统分析的基础上,对整个系统的结构、模块的划分、模块间的调用关系、接口关系等方面做出的设计。它是软件开发过程中的一...

    概要设计文档模板模板文件+实例文件

    概要设计文档是软件开发过程中的重要组成部分,它在需求分析之后、详细设计之前进行,目的是将需求转化为可实现的系统架构和模块设计。这份压缩包文件提供了“概要设计文档模板”以及“实例文件”,旨在帮助开发者或...

    软件概要设计方案模板.doc

    【软件概要设计方案模板】 软件概要设计是软件开发过程中的关键阶段,它在软件项目的初期扮演着承上启下的角色。此模板适用于计划阶段的软件系统设计或软件的概要设计,无论是在后台软件还是纯软件产品中,都能作为...

    需求、概要、详细设计文档参考

    接下来,**概要设计文档**是基于需求规格说明书的高层次设计,它将大体上定义系统的架构和主要组件。"中国行政区划信息管理系统概要设计说明书.doc"可能包括了系统的模块划分、数据流图、类与对象的高层关系、接口...

    软件开发概要设计文档

    ### 软件开发概要设计文档 - 电商系统 #### 一、概要 本文档旨在为快乐买网上商城的软件开发提供一套全面而详尽的概要设计指南。通过对项目的整体架构、功能模块、界面设计、数据库设计等多个方面进行细致规划,...

    微服务概要设计说明书模板

    文档:概要设计文档,可以帮我们处理程序性能瓶颈,程序移植性短板,也方便后期维护拓展,文档输出也方便后期交付和交接。 项目目录: 1 文档简介 1.1 编写目的 1.2 文档范围 1.3 缩略语 2 项目概述 2.1 建设...

    软件概要设计文档模板

    ### 软件概要设计文档模板解析 #### 1. 引言 **1.1 编写目的** 编写本软件概要设计文档的主要目的是为了明确软件项目的整体设计思路和技术方案,确保所有参与项目的成员对项目的理解一致,并为后续的详细设计、...

    IT项目概要设计.doc

    IT项目概要设计是软件开发过程中的重要环节,它为项目的后续实施提供了明确的蓝图和指导。本设计说明书遵循了国家标准《概要设计说明书(GB8567-88)》,确保了设计的规范性和专业性。以下是文档中涉及的主要知识点...

    某项目技术文档(概要详细设计部分)

    以下是针对"某项目技术文档(概要详细设计部分)"中提及的三个主要文档——概要设计说明书、详细设计说明书和软件设计说明书的详细说明: 1. **概要设计说明书**: 概要设计说明书是软件开发过程中的前期文档,它...

    图书管理系统概要设计文档

    【图书管理系统概要设计文档】 引言 图书管理系统是一个用于高效管理高校图书馆资源的重要工具,旨在简化图书借阅、归还、查询等操作,提高图书馆的服务质量和效率。本概要设计文档将详细介绍该系统的功能需求、...

    概要设计说明书提纲 说明概要设计说明书的编写要点

    概要设计说明书是软件工程中的一项关键文档,它旨在为软件系统的后续详细设计与编码阶段提供全面的设计指导。通过该说明书,设计团队能够清晰地定义软件的架构、功能划分、接口设计及异常处理机制等,确保软件的开发...

Global site tag (gtag.js) - Google Analytics