在详细设计中,详细设计文档的编写也是重要的一个环节。做好详细设计的文档编写,对详细设计的成功具有十分重要的作用。那么详细设计的文档应该怎么写呢?中培伟业《详细设计与系统架构最佳实践》曾老师在这里进行了详细介绍。
何谓详细设计
详细设计是相对概要设计而言的,是瀑布开发流程的一个重要环节,在概要设计的高层设计的基础上,从逻辑上实现了每一模块的功能,是编码阶段的主要参考资料,是从高层到低层、逐步精化思想的具体实现。
详细设计文档的内容包括各个模块的算法设计, 接口设计, 数据结构设计,交互设计等。必须写清楚各个模块接口公共对象的定义,列明各个模块程序的各种执行条件与期望的运行效果,还要正确处理各种可能的异常。
详细设计的意义何在
在开发过程中,因为需求及设计不正确、不完整所导致的问题是项目进度拖延、失败的一个主要因素,而软件系统的一个重要特性就是需求和设计的不断构建和改进,在写详细设计文档过程中, 详细设计实际上是对系统的一次逻辑构建,可以有效验证需求的完整性及正确性。
在不写详细设计文档的情况下,如果就从概设直接进入编码阶段,这时开发人员所能参考的资料就是需求规格说明书及页面原型、数据库设计等,不能直接进行开发,需要进行信息的沟通,把页面原型不能体现的设计讲清楚。这样既容易遗忘,也容易发生问题,详细设计文档可以作为需求人员、总体设计人员与开发人员的沟通工具,把静态页面无法体现的设计体现出来,包含整体设计对模块设计的规范,体现对设计上的一些决策,例如选用的算法,对一些关键问题的设计考虑等等,使开发人员能快速进入开发,提高沟通效率,减少沟通问题。
对于系统功能的调整,后期的维护,详设文档提供了模块设计上的考虑、决策,包括模块与整体设计的关系、模块所引用的数据库设计、重要操作的处理流程、重要的业务规则实现设计等等信息,提供了对模块设计的概述性信息,阐明了模块设计上的决策,配合代码注释,可以相对轻松读懂原有设计。
详细设计文档应该如何写
详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。 传 统软件开发方法的详细设计主要是用结构化程序设计法。详细设计的表示工具有图形工具和语言工具。图形工具有程序流程图、PAD(Problem Analysis Diagram)图、NS(由 Nassi和 Shneidermen开发,简称 NS)图。语言工具有伪码和 PDL(Program Design Language)等。
主要任务:
1.为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;
2.确定每一模块使用的数据结构;
3.确定模 块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。 在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形成正式文档。交付给下一阶段(编码阶段)的工作依据。
4.要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期 望输出等内容。
详细设计的工具:
1.图形工具利用图形工具可以把过程的细节用图形描述出来。
2.表格工具可以用一张表来描述过程的细节,在这张表中列出了各种可能的操作和相应的条件。
3.语言工具用某种高级语言(称之为伪码)来描述过程的细节。