软件工程 第八章:组件图

组件图是软件工程中描述系统物理结构的重要工具,它涵盖了逻辑视图和实现视图。组件是系统可替代的物理部分,实现特定接口并提供服务。组件图用于展现组件间的依赖关系和组件的分类,如源代码、二进制和可执行组件。组件化带来可替换性、易于维护和分布式部署的优势。组件与接口的关系体现在实现与输出、依赖与输入上,与类相比,组件更注重物理实现和实际运行行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第八章:组件图

逻辑视图:

  • 描述的内容
    静态结构:类、接口、对象、类图
    动态行为:用例/用例图、交互/交互图、状态机/状态图/活动图
  • 描述的是概念空间中的事物
  • 软件系统的设计建造不能只停留于概念空间

实现视图:

  • 内容
    运行时刻:可执行文件、程序库(dll)、数据文件(数据库、配置文件、求助文件…)
    建造时刻:源程序文件、工程文件
概述:
  • 定义:组件是系统的一个物理的和可替代的组成部分,该组成部分遵循并实现了一组给定的接口。
    通过将软件系统的划分为不同的可执行组件,可以实现软件系统的组件化。
    软件系统在物理上由不同组件构成,有些组件向外部提供由接口规定的服务,有些组件使用这些服务。

  • 表示:
    在这里插入图片描述
    在这里插入图片描述

特性:
  1. 存在于物理世界中:形式:计算机文件
  2. 实现给定的动态行为
  3. 建造时刻:源代码文件: 是设计概念的实现
  4. 运行时刻:可执行文件、运行库:实现给定的动态行为,可替代
分类:

(1)源代码组件
(2)二进制组件
(3)可执行组件

也可以分为:
(1)开发用组件:是开发过程的剩余物(residue),它不参加软件系统的运行。它用来建造软件系统
(2)发布组件:用来组成一个完整的运行系统的组件。例如:DLL、EXE、COM+、Enterprise Java Bean、动态网页、数据库文件
(3)运行用组件:作为一个可执行系统的运行结果而产生的组件。例如:COM+对象,它由DLL实例化而来

作用:

描述代码构件的物理结构以及各种构建之间的依赖关系。

组件化的好处
  • 组件是可替换的:边界清晰、便于维护、升级
  • 组件化的软件系统可以是分布式的:不要求使所有组件都运行于一个结点
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
组件和接口的关系
  1. 实现与输出:
    实现关系:一个组件实现了一个接口。
    输出接口:被一个组件实现的接口是该组件的实现接口
  2. 依赖与输入
    依赖关系:一个组件使用了另一个组件通过接口提供的服务
    输入接口:被一个组件调用的接口是该组件的输入接口
对比
  • 组件VS类
    相同点:
  1. 二者都有名称;
  2. 都可以实现一组接口;
  3. 都可以参与依赖、继承、关联等关系和交互;
  4. 都可以被嵌套;
  5. 都可以有实例。

不同点:

  1. 组件存在于物理空间;类存在于概念空间
  2. 抽象的方式不同;
  3. 抽象的级别不同;
  4. 访问方式不同;

联系:

  1. 组件实现类的结构和动态行为
  2. 接口(类的一种变体)规定组件为外界提供的服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值