类和包图模型软件的逻辑设计
组件图模型实现视图
您能否通过一个非常简短的例子澄清 以上差异 ?
答案 0 :(得分:9)
答案在于你自己的问题。您如何看待,软件的设计和软件的实施?
在设计方面,我们开发了设计可行软件的蓝图。这个蓝图涉及一个可以翻译成软件的模型,而实现涉及转换 将该模型转换为实际软件即代码。
类似地, 组件通常比类更大,更抽象。一个 class是对象实例的相对低级别的蓝图(设计),a component可以是一组类,它们一起形成一个封装的 然后你接口的模块(实现)。组件甚至可能不包含 班级!
现在,组件图不显示实际代码,但 实际实现的软件组件 之间的依赖关系 >(这些组件可以是可执行文件,文件,文件夹等。例如: -
正如我已经讨论过的那样;类图是UML结构图,它显示了类和接口级别的设计系统的结构,显示了它们的特性,约束和关系 - 关联,概括,依赖等。 类图示例:
我希望我能说清楚。
答案 1 :(得分:4)
在UML组件中可以做与类图相同的事情。
但主要区别在于组件的责任比
更强Kruchten开发了4+1 view model来捕获系统的不同部分。简而言之,它可以帮助您建模系统的不同视图(逻辑,物理,开发,过程,用例)
每个视图都会捕获系统的特定方面
逻辑视图描述 系统由
实施视图(也称为“开发”视图)描述了系统的各个部分组织如何
答案 2 :(得分:2)
习惯上它可以被视为更详细的图表。类图应具有使用特定于实现的类型定义的属性,例如。
Box
- cats: list<Cat>
+ getCat: Cat
+ addCat: void
该组件是同一事物的不太详细的视图。我不记得有多少细节可见。据我所知,它可能与没有类型的类图相同。
组件图应该用于设计您正在尝试构建的内容的一般概念。类图可能因更多类而不同,因为实现需要使用组件图不必存在的类。
我的话必须带着一丝盐,因为我承认一段时间没有绘制图表。
答案 3 :(得分:0)
类模型是组件模型的基础:
软件设计人员首先设计逻辑结构,指定逻辑元素(“类”),职责(“方法”),结构(“属性”)以及与其他类的关系(泛化,关联等),而不论(在某种程度上)将要使用的技术。这是类模型
基于类模型,软件工程师指定他们将编写或购买的软件(“组件”)及其之间的连接(集成,代理等),以实现设计的类模型。这是组件模型。
然后,部署模型描述了将组件部署在硬件或虚拟硬件上的位置。