• [转载]详细设计写些啥


    原文链接:

    http://blog.sina.com.cn/s/blog_684304990100jhoi.html


     什么是详细设计

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

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

     

    为什么要做详细设计

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

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

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

     

    应该如何写详细设计文档

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

    主要任务:

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

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

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

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

    详细设计的工具:

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

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

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

    < <详细设计说明书> > 规范 

      引言 
    1.1   编写目的:阐明编写详细设计说明书的目的,指明读者对象。 
    1.2   项目背景:应包括项目的来源和主管部门等。 
    1.3   定义:列出本文档中所用到的专门术语的定义和缩写词的愿意。 
    1.4   参考资料: 
      ●   列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源 
      ●项目经核准的计划任务书、合同或上级机关的批文;项目开发计划;需求规格说明书;概要设计说明书;测试计划(初稿);用户操作手册 
      ●   文档所引用的资料、软件开发的标准或规范。 

      总体设计 
    2.1   需求概述 
    2.2   软件结构:如给出软件系统的结构图。 

      程序描述 
    3.1   逐个模块给出以下说明: 
      ●   功能 
      ●   性能 
      ●   输入项目 
      ●   输出项目 
    3.2   算法:模块所选用的算法。 
    3.3   程序逻辑:详细描述模块实现的算法,可采用:标准流程图;PDL语言;N-S图;判定表等描述算法的图表。 
    3.4   接口 
      ●   存储分配 
      ●   限制条件 
    3.5测试要点:给出测试模块的主要测试要求

    收住自己的心 一步一个脚印 做好自己的事
  • 相关阅读:
    [LeetCode] 226. Invert Binary Tree
    [LeetCode] 101. Symmetric Tree
    [LeetCode] 100. Same Tree
    [LeetCode] 104. Maximum Depth of Binary Tree
    [LeetCode] 280. Wiggle Sort
    [LeetCode] 42. Trapping Rain Water
    [LeetCode] 190. Reverse Bits
    [LeetCode] 144. Binary Tree Preorder Traversal
    [Leetcode] 58. Length of Last Word
    [LeetCode] 16. 3Sum Closest
  • 原文地址:https://www.cnblogs.com/GodMode/p/5817894.html
Copyright © 2020-2023  润新知