组件图与类图?

时间:2013-06-30 11:48:29

标签: implementation uml class-diagram component-diagram

类和包图模型软件的逻辑设计

组件图模型实现视图

您能否通过一个非常简短的例子澄清 以上差异

4 个答案:

答案 0 :(得分:9)

答案在于你自己的问题。您如何看待,软件的设计和软件的实施?

在设计方面,我们开发了设计可行软件的蓝图。这个蓝图涉及一个可以翻译成软件的模型,而实现涉及转换 将该模型转换为实际软件即代码。

类似地, 组件通常比类更大,更抽象。一个 class是对象实例的相对低级别的蓝图(设计),a component可以是一组类,它们一起形成一个封装的 然后你接口的模块(实现)。组件甚至可能不包含 班级!

现在,组件图不显示实际代码,但 实际实现的软件组件 之间的依赖关系 >(这些组件可以是可执行文件,文件,文件夹等。例如: -

enter image description here

正如我已经讨论过的那样;类图是UML结构图,它显示了类和接口级别的设计系统的结构,显示了它们的特性,约束和关系 - 关联,概括,依赖等。 类图示例:

enter image description here

我希望我能说清楚。

答案 1 :(得分:4)

在UML组件中可以做与类图相同的事情。

但主要区别在于组件的责任

更强

Kruchten开发了4+1 view model来捕获系统的不同部分。简而言之,它可以帮助您建模系统的不同视图(逻辑,物理,开发,过程,用例)

每个视图都会捕获系统的特定方面

  • 逻辑视图描述 系统由

  • 组成

  • 实施视图(也称为“开发”视图)描述了系统的各个部分组织如何

答案 2 :(得分:2)

习惯上它可以被视为更详细的图表。类图应具有使用特定于实现的类型定义的属性,例如。

Box
 - cats: list<Cat>
 + getCat: Cat
 + addCat: void

该组件是同一事物的不太详细的视图。我不记得有多少细节可见。据我所知,它可能与没有类型的类图相同。

组件图应该用于设计您正在尝试构建的内容的一般概念。类图可能因更多类而不同,因为实现需要使用组件图不必存在的类。

我的话必须带着一丝盐,因为我承认一段时间没有绘制图表。

答案 3 :(得分:0)

类模型是组件模型的基础:

  1. 软件设计人员首先设计逻辑结构,指定逻辑元素(“类”),职责(“方法”),结构(“属性”)以及与其他类的关系(泛化,关联等),而不论(在某种程度上)将要使用的技术。这是类模型

  2. 基于类模型,软件工程师指定他们将编写或购买的软件(“组件”)及其之间的连接(集成,代理等),以实现设计的类模型。这是组件模型。

  3. 然后,部署模型描述了将组件部署在硬件或虚拟硬件上的位置。