前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >详细设计写些啥

详细设计写些啥

作者头像
三哥
发布2019-07-30 12:07:31
5.5K0
发布2019-07-30 12:07:31
举报
文章被收录于专栏:java工会

什么是详细设计

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

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

为什么要做详细设计

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

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

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

应该如何写详细设计文档

详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂。 传 统软件开发方法的详细设计主要是用结构化程序设计法。详细设计的表示工具有图形工具和语言工具。图形工具有程序流程图、PAD(Problem Analysis Diagram)图、NS(由 Nassi和 Shneidermen开发,简称 NS)图。语言工具有伪码和 PDL(Program Design Language)等。

主要任务:

1.为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述;

2.确定每一模块使用的数据结构;

3.确定模 块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。 在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形成正式文档。交付给下一阶段(编码阶段)的工作依据。

4.要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期 望输出等内容。

详细设计的工具:

1.图形工具。利用图形工具可以把过程的细节用图形描述出来。

2.表格工具可以用一张表来描述过程的细节,在这张表中列出了各种可能的操作和相应的条件。

3.语言工具用某种高级语言(称之为伪码)来描述过程的细节。

< <详细设计说明书> > 规范 1 引言 1.1 编写目的:阐明编写详细设计说明书的目的,指明读者对象。 1.2 项目背景:应包括项目的来源和主管部门等。 1.3 定义:列出本文档中所用到的专门术语的定义和缩写词的愿意。 1.4 参考资料:   ● 列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源   ●项目经核准的计划任务书、合同或上级机关的批文;项目开发计划;需求规格说明书;概要设计说明书;测试计划(初稿);用户操作手册   ● 文档所引用的资料、软件开发的标准或规范。 2 总体设计 2.1 需求概述 2.2 软件结构:如给出软件系统的结构图。 3 程序描述 3.1 逐个模块给出以下说明:   ● 功能   ● 性能   ● 输入项目   ● 输出项目 3.2 算法:模块所选用的算法。 3.3 程序逻辑:详细描述模块实现的算法,可采用:标准流程图;PDL语言;N-S图;判定表等描述算法的图表。 3.4 接口   ● 存储分配   ● 限制条件 3.5测试要点:给出测试模块的主要测试要求

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java工会 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档