在软件工程中,设计阶段有两个主要概念:abstraction
和decomposition
,但我无法区分它们之间的差异?
答案 0 :(得分:5)
这两个概念都是分析和设计基本技术。在软件开发过程中,它们是相互关联的,通常一起使用。我们使用它们即使我们并不总是意识到它。更深入地理解这些概念有助于在A& D中更加准确和有效。
抽象通常是有意识地忽略正在分析的主题的某些方面的过程,以便更好地理解它的其他方面。换句话说,它是一种主题的简化。特别是在软件中,分析&设计都是关于抽象的。
分解是旧的良好原则的应用"分而治之的"软件开发。它是一种对复杂元素进行分类,结构化和分组的技术,以最终形成更多原子元素,以某种方式组织并更易于管理。在所有阶段都有很多例子:
抽象在某种程度上是比分解更普遍的原则,是所有原则的父亲" :)
答案 1 :(得分:1)
抽象是面向对象编程的基本原则之一。抽象允许我们命名未直接实例化的对象,但作为创建具有某些公共属性或属性的对象的基础。 例如:在计算机附件的上下文中数据存储设备是一个抽象术语,因为它可以是USB笔式驱动器,硬盘或RAM。但USB笔式驱动器或硬盘是具体的对象,因为它们的属性和行为很容易识别,而数据存储设备则不是这种情况,它是计算机配件的抽象对象。因此,抽象用于在设计阶段将对象概括为一个类别。例如,在旅行管理系统中,您可以使用 Vehicle 作为抽象对象或实体,概括您从一个地方到另一个地方的旅行。
分解是一种将系统分解为模块的方法,使每个模块提供不同的功能,但也可能影响其他模块。要非常清楚地理解分解,首先应该理解关联,组合和聚合的概念。