软件工程 第八章:组件图

第八章:组件图

逻辑视图:

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

实现视图:

  • 内容
    运行时刻:可执行文件、程序库(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. 接口(类的一种变体)规定组件为外界提供的服务

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年1月15日
下一篇 2019年1月15日

相关推荐