??怎样写具体设计文档

怎样写具体设计文档是一个非常头疼的话题,简单的说是需求文档的升华,也能够说是开发者开发程序的根据,当然根据具体设计文档的粒度进行。好的具体设计文档是需求人员和开发者之间的桥梁,只是眼下好多程序开发都是先开发后,然后为了应付审核,公司制度,文档规范,开发完毕后兴许补上该文档。假设这种方式,具体设计文档的的作用就忽略了。

在大多数软件项目中,要末不作具体设计,要么开发完毕后再补具体设计文档,质量也不容乐观,文档与系统往往不能同步,使具体设计文档全然流于形式,对工作没有起到实际的帮助。

那究竟应不应该写具体设计文档呢,怎么使具体设计文档起到他应有的作用呢,以下就让我们来认识一下具体设计及写具体设计文档的优点和问题。

·            概念

具体设计是相对概要设计而言的,是瀑布开发流程的一个重要环节,在概要设计的高层设计的基础上,从逻辑上实现了每一模块的功能,是编码阶段的主要參考资料,是从高层到低层、逐步精化思想的具体实现。

具体设计文档的内容包含各个模块的算法设计,
接口设计,
数据结构设计,交互设计等。必须写清楚各个模块/接口/公共对象的定义,列明各个模块程序的各种执行条件与期望的执行效果,还要正确处理各种可能的异常。

·       目的

在开发过程中,由需求及设计不对、不完整所导致的问题是项目进度迟延、失败的一个主要因素,而软件系统的一个重要特性就是需求和设计的不断构建和改进,在写具体设计文档过程中, 具体设计实际上是对系统的一次逻辑构建,能够有效验证需求的完整性及正确性。

假设不写具体设计文档,一般就从概设直接进入编码阶段,这时开发者所能參考的资料就是需求规格说明书及页面原型、数据库设计等,不能直接进行开发,须要进行信息的沟通,把页面原型不能体现的设计讲清楚,这样既easy遗忘,也easy发生故障,具体设计文档能够作为需求人员、总体设计人员与开发者的沟通工具,把静态页面无法体现的设计体现出来,包括总体设计对模块设计的规范,体现对设计上的一些决策,比如选用的算法,对一些关键问题的设计考虑等等,使开发者能高速进入开发,提高沟通效率,降低沟通问题。

对于系统功能的调整,后期的维护,详设文档提供了模块设计上的考虑、决策,包含模块与总体设计的关系、模块所引用的数据库设计、重要操作的处理流程、重要的业务规则实现设计等等信息,提供了对模块设计的概述性信息,阐明了模块设计上的决策,配合代码凝视,能够相对轻松读懂原有设计。

·            
问题

要由专门的人写,是比較麻烦的,也是非常须要时间的,会对进度造成压力,也easy形成工作瓶颈,使设计人员负担过重,而开发者无事可作。对于如今一般的以数据库为中心的管理系统而言,这个工作始终是要作的,差别仅仅只是是不是形成专门文档,形成文档可能会多花一两周时间,但相对于规避的风险和问题来说,也是值得的,另外因为如今高级语言的流行,所以更具体的设计应该直接体如今代码的设计上,而文档则仅仅体现设计上的一些决策,协调总体设计与模块设计的关系,把页面原型所不能体现的设计情况文档化,所以所花费的时间是有限的。

设计内容easy过细,但设计阶段是不能考虑特别清楚地,时间也不同意。

对于这个问题,一个对策是上边所提到的,文档仅仅体现设计上的决策,页面原型所不能反映的信息,具体设计仅仅体现整体设计对模块设计的一些考虑,比如对功能的数据库设计等等,而具体的实现实现,则到代码中再去实现,相关的设计也仅体如今代码中。

需求、设计须要不断的被更新、构建,则设计文档须要不断的又一次调整,文档的维护须要跟上,否则文档和系统的同步就非常难得到保障了,且造成多余的工作量。文档的内easy流于形势,质量糟糕,不能成为开发者的參考手冊,一是要建立起相关制度,如有改动,先改文档,后作开发,从工作流程上切实保障文档与系统的同步,二是要规范文档质量,对文档该写什么,不该写什么,标准是什么,粒度是什么,语法应该怎样组织,有明白的标准和考虑,同一时候,建立审计文档评审、审核制度,充分保障系统的使用。

·           步骤

以下讨论怎样写出一个符合要求、有用的具体设计文档。

首先是文档的内容,依据项目和团队的不同,具体设计文档的内容也有所不同,一般说来,粒度不宜过细,不能取代开发者的设计和思考,但要把有关设计的决策考虑进去,包含与其它模块、总体设计的关系、操作的处理流程,对业务规则的设计考虑等,有一个标准为,凡是页面原型、需求规格说明书所不能反映的设计决策,而开发者又须要了解的,都要写入文档。

其次是文档所面向的读者,主要为模块开发者、后期维护人员,模块开发者通过具体设计文档和页面原型来了解所开发的功能,后期维护人员通过实际系统、模块代码、具体设计文档来了解一个功能。

再有就是谁来写文档,由于文档主要考虑的是设计上的决策,所以写文档的人应该为负责、參加设计的技术经理、资深程序猿,依据团队情况和项目规模、复杂度的不同,也有所不同。

还须要保证文档的可读性、准确性、一致性,要建立严格的文档模板及标准,保证文档的可读性及准确性,同一时候建立审核及设计评审制度,来保障设计及文档的质量,另外在工作流程中要强调,要先设计、先写文档,再进行开发。

时间: 2024-11-05 09:30:32

??怎样写具体设计文档的相关文章

为什么要写设计文档

日趋一日,程序员能够在更少的时间内完成更多的事情.使用今日的高级编程语言,开发环境,工具和“快速应用开发”思想,程序员和经理都已经习惯于急速的开发周期.今日的程序员更倾向于直接跳入到编码之中,害怕花费在非编码工作中的每一小时,都会导致项目截止日期前的周末多加一个小时班. 编码之前做设计这一过程已经变得过时了,将设计文档化就更罕见了.很多程序员从来没有写过设计文档,面对要写设计文档这一想法都畏缩不前.即使被要求写,通常来说也只是产出了一大堆的交互图和类图,这些图表大多没有表达程序员在设计阶段的思考

SQL书写数据库设计文档

嗨,大家好, 你们平时写数据库设计文档吗? 在写数据库设计文档的时候你烦吗? ? 反正我是很烦写这个文档的 尤其是在出现这样的情况下 ? 需要写数据库清单 表少还可以接受 还有这样的情况 ? 需要写数据库结构 对于这些是不是写的有点疯 ? 嗯嗯 我也很疯 但是实际上可以通过navicat来完成的 ? 首先我们可以去查询数据库表情单 查询SQL可见 数据库表结构查询SQL 我们查询出来的数据如下所示: ? 正好和我们需要导出的数据格式相同. 然后点击右上方的导出按键 如图: ? 选择导出文件格式,

设计文档要如何写——转

一份设计文档的结构大概可以分成Background项目背景.Schedule排期.History版本历史记录.Information Architecture信息架构分析(包括Site Map.Experience Map.Flow等).Framework框架设计.Wireframe线框图和Mockup视觉稿等.取决于实际项目的情况,部分内容可以省略,也可以加入更多,比如Storyboard故事板,Prototype可交互原型等. 在过去,我一度没有什么规范的设计文档写作习惯,用纸笔画完Info

《结对编项目作业名称-设计文档》

项目:关灯游戏,所用软件,pygame 成员:祁昊,刘孝东 关灯游戏设计文档: pygame作为一种游戏编程语言,以其简单性.可移植性等优点,得到了广泛地应用,特别是py使用比c,c++等语言简便,使其成为网络编程首选编程语言.,Pygame是跨平台Python模块,专为电子游戏设计.基于这样一个设想,所有需要的游戏功能和理念都(主要是图像方面)都完全简化为游戏逻辑本身,所有的资源结构都可以由高级语言提供,如Python.工具tile编辑器和一个关卡编辑器.得到广大程序员的接受和认可. "关灯游

Storm项目:流数据监控1《设计文档…

该文档为实实在在的原创文档,转载请注明作者及出处. 类型 详细 备注 2 该文档为原创模拟项目:流数据监控<1>文档<流数据监控设计文档>,相继会给出流数据监控<2>文档<流数据监控代码解析>及其他文档 2  该部分有源码(熬夜写出来的哦) CSDN中相应项目CODE链接:戳这里     相关描述 2  有任何其他想法,可以邮件[email protected] 2 文档及相关资料下载请到个人360云盘http://yunpan.cn/QGf2GDaRFpc

设计文档

在大多数软件项目中,要末不作详细设计,要么开发完成后再补详细设计文档,质量也不容乐观,文档与系统往往不能同步,使详细设计文档完全流于形式,对工作没有起到实际的帮助. 那到底应不应该写详细设计文档呢,怎么使详细设计文档起到他应有的作用呢,下面就让我们来认识一下详细设计及写详细设计文档的好处和问题. 什么是详细设计 详细设计是相对概要设计而言的,是瀑布开发流程的一个重要环节,在概要设计的高层设计的基础上,从逻辑上实现了每一模块的功能,是编码阶段的主要参考资料,是从高层到低层.逐步精化思想的具体实现.

什么是功能需求设计文档

在很多软件公司,特别是一些创业型的团队中,对于这样的情景可能大家都很熟悉:项目经理或者产品经理(产品狗)口头或者简单记录一下软件产品的大致要做的功能,直接就让研发团队的兄弟(程序猿)去狂撸代码.然后他就去喝茶撩妹或者回家陪老婆了... 这种撸起袖子就开干的方式,看似简单高效,便于直接沟通,能够快速迭代.却不知,发现没有一份正规且实时更新的功能需求设计文档,会付出三四倍的代价来弥补. 最终会引发一场产品狗和程序猿之间的"猿狗大战"... WHY - 为什么需要功能需求设计说明书 在没有功

定向数据爬虫和搜索引擎(Directional Spider)设计文档

  定向数据网络爬虫和搜索引擎项目设计 (新闻数据抓取.分析.加工.检索) 版本号:            v 1.0.0 编写人:          张  文  豪 日  期:       2014年6月10日 文档说明:这个文档还在编写之中,文章中很多写在“保留”二字的不是每月东西,而是没有写.虽然没有具体实现,但是我觉得我把我的经验和思考都写进去了.虽然对于读者来说这个文档相当粗糙,但是是我一个很看重的东西.如果真的有人愿意认真阅读这篇文章,我会很开心和大家交流探讨,欢迎留言和联系我. [

炉石传说 C# 设计文档(序)

经过3个月的开发,有很多感触. 以前一直以为技术是开发成败的第一因素,现在发现,等到你代码写的时间够长,经验够丰富,什么功能都能随手完成,对于业务的分析能力变成了第一位. 炉石山寨版的BS版本用到的HTML5的SVG,我看了一个下午的教程,借鉴以前GUI+和HTML的经验,很快就能写点东西出来了. WebSocket,Github上找了一个开源的C#项目,通讯这块也是几个小时就搞定了.Javascript不是很熟悉,当时闭包这样的一些概念也算听说过,Js也是无障碍就写成了. 整个项目的技术壁垒其