分享

概要设计和详细设计的区别

 东北十三少 2020-10-16

一些刚实施GJB5000A组织的开发人员,不是很理解概要设计和详细设计的区别。这里再次解读下这个问题。

一般地说,概要设计又叫结构设计、部件设计,它主要是描述软件由哪些部件或模块构成的,以及这些部件或模块之间的关系。而详细设计则是具体描述每个部件或模块的实现方法。

除此之外,概要设计和详细设计还有以下不同点:

  • 编写者不同

概要设计承接软件需求,所以概要设计可以由需求分析人员(熟悉软件需求)编写或者设计人员(站在设计的角度)来编写,而详细设计下后续软件实现,它可以由设计人员(站在设计的角度)编写,也可以由实现人员(站在实现的角度)来编写。

  • 设计依据不同

概要设计依据软件需求进行设计,而详细设计不仅依据软件需求,更要依据概要设计的成果。

  • 对应的测试级别不同

概要设计对应于集成测试,是设计集成测试用例的主要依据;而详细设计对应于单元测试,是设计单元测试用例的主要依据。

  • 可裁剪性不同

概要设计给出了软件由哪些部件组成以及它们之间的关系,是最基本的设计要求,所以概要设计文档必须具备,不能裁剪;而详细设计用于指导代码实现的,详细设计文档可以合并到概要设计文档中,甚至在敏捷开发中,还可以用代码注释及可读性好的代码代替代详细说明。

  • 设计文档内容不同

设计方法概要设计详细设计
结构化设计系统的体系结构、系统的技术路线、系统的模块划分、系统模块之间的接口关系、系统的内外部接口关系、系统的数据结构、系统复用设计、界面风格设计、设计约定实现的功能、输入输出数据、实现算法、数据结构、交互界面
面向对象设计系统结构划分、静态模型(有哪些类、类之间的静态关系、类的类型,主要通过类图的形式来表达)、动态模型(描述类与类之间是如何交互的,主要通过顺序图来表述,也可以采用协作图、活动图等)、设计约定、复用设计、界面风格设计、持久对象设计类的具体责任、类的外部接口、类的属性与方法定义、方法的逻辑设计
  • 描述的详细程度不同

在面向对象设计中,概要设计要将软件拆分到包和类。虽然并不一定能覆盖所有的类,但是包对外的接口类一定要覆盖,包内部的核心类要覆盖。在结构化设计中,概要设计要详细到模块,即函数的上级系统元素。而详细设计则要详细到完成方法或函数的逻辑设计。

这正是:

两种设计大不同,一为结构一详细

前定框架为基础,后描组件怎实现

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多