构件图,英文名曰:Component Diagrams用于描述一组构件之间的组织和依赖关系,用于建模系统的静态实现视图,构件可以是可执行程序、库、表、文件和文档等,她包含了逻辑类或者逻辑类的实现信息,因此结构模型视图和实现之间存在映射关系。

构件图中也可以包括或子系统,她们都用于将模型元素组织较大的组块。构件是系统中逻辑的并且可替代的部分,她遵循并提供对一组接口的实现,好的构件用定义良好的接口来定义灵活的抽象。例如,可以为逻辑模型中的一个类定义一个接口,而这同一个接口将延续到一些实现她的设计构件。接下来,我们一起来学习一下构件图,她在UML中发挥着怎样的作用,又是如何成为我们的得力助手呢?首先,我们来看一下这一章知识的总体蓝图:

接着,我们开始来了解构件图的一些基本知识:

基础知识有利于我们对构件图的理解,可以促进我们对构件图进一步研究,接下来,我们来看看构件图的接口,关系以及有着怎样的要求:

基础知识的掌握,以及接口、关系等的认识,还有重要的一点就是,我们该如何绘制我们的构件图:

纸上得来终觉浅,绝知此事要躬行,理论与实践相结合,方能让知识在尘埃中开出花朵,以学生管理系统选课为例,看看我们的构件图是如何被应用的完美无瑕:

再以我们的机房收费系统为例,我们的构件图:

构件图在我们的生活中也有着广泛的应用,比如当我们建造一所房屋的时候,可能会选择安装一套家庭娱乐系统,这个时候,我们可以购买一个单件套,包括显示器,电视机、DVD、VCR播放器、扬声器等,如果这些满足了我们的要求,当然再好不过,可是理想很丰满,现实很骨感,有时候买一个单件套不够灵活,在购置这一套系统之前,我们还需要把厂商提供的各种特征综合起来考虑。

这个时候,一个比较灵活的办法是把娱乐系统分成单独的部件,每个部件着重一种功能,显示器显示画面,扬声器播放音乐,并且可以放在屋子中能听到声音的任何地方,DVD和VCR都是独立的个体,她们的性能可以根据我们的实际需求来考虑,我们可以把她们放在想放的地方并用电线把她们连接起来,而不是以一种固定的方式把他们锁定在一起,每根线都有适合一个部件的特定插头,因此不会把扬声器的线插到视频的输出端。

我们的软件也是一样,我们可以把应用程序做成一个单一的大单元,但是当需求改变时,她太僵化并很难修改,此外,也无法利用一些现有的功能,即使一个现存的系统有很多我们需要的功能,当然软件不可能完美无瑕,也存在着我们不想要的功能,并且不可能被剔除,这个时候,我们需要把程序做成可灵活连接起来,定义良好的构件,当需求发生变化时,这些构件可以单独被替换,做到真正的以人为本,UML之旅,未完待续......

UML之构件图的更多相关文章

  1. 【UML】构件图Component diagram(实现图)(转)

    http://blog.csdn.net/sds15732622190/article/details/49048887 前言 下面要介绍UML中的构建图,它属于实现图的一种,五种静态图之一. 定义 ...

  2. UML,构件图与部署图

    一.构件图概述 1.概念 用来显示一组构件之间的组织及其依赖关系 2.基本元素 (1)构件:定义了良好接口的物理实现单元. ● 配置构件:形成可执行文件的基础,如:动态链接库(DLL).ActiveX ...

  3. UML的概念模型

    为 了理解UML,需要形成该语言的概念模型,这要求学习建模的3个要素:UML的基本构造块.支配这些构造块如何放在一起的规则和一些运用于整个UML的公 共机制.如果掌握了这些思想,就能够读懂UML模型, ...

  4. uml系列(八)——部署图与构件图

    之前说了uml的设计图,现在说一下uml的最后两种图:构件图.部署图.这两种图之所以放在一起是因为它们都是软件的实现图. 构件图           构件图是描述一组构件之间的组织与依赖关系的模型.那 ...

  5. ****** 五十 ******、软设笔记【UML分析和意义】-类图、对象图、状态图、活动图、顺序图、协作图、构件图、部署图,动静态模式

    一.类图(Class Diagram) 描述一组类.接口.协作已经它们之间的图,用来显示系统中各个类的静态结构图. 类之间的关系(relationship) *依赖(dependency) *泛化(g ...

  6. 构件图(Component Diagram)—UML图(八)

    构件图是显示代码自身结构的实现级别的图表.构件图由诸如源码文件.二进制代码文件.可运行文件或动态链接库 (DLL) 这种构件构成,并通过依赖关系相连接 以下这张图介绍了构件图的基本内容: 以下这张图是 ...

  7. UML——构件图

    宏观导图: 细节探究: 一.What 构件:是一个应用很广的名词,在建筑工程.机械工程.软件工程中等都有该概念.其实,说道底表达的都是一个意思.就像是标准化生产出来的零部件一样,具有可替换性.同质性, ...

  8. UML课程复习重点

    第一章 一.UML图示建模工具 二.UML--统一建模语言,以图形符号为基础,描述软件模型既简洁又清晰.它不是开发方法,是独立于任何开发方法之外的语言.它用于描述软件系统分析.设计和实施中的各种模型. ...

  9. 浅谈UML的概念和模型之UML九种图

    1.用例图(use case diagrams) [概念]描述用户需求,从用户的角度描述系统的功能 [描述方式]椭圆表示某个用例:人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能 ...

随机推荐

  1. Maven之(六)setting.xml配置文件详解

    setting.xml配置文件 maven的配置文件settings.xml存在于两个地方: 1.安装的地方:${M2_HOME}/conf/settings.xml 2.用户的目录:${user.h ...

  2. Sqoop-1.4.6 Merge源码分析与改造使其支持多个merge-key

    Sqoop中提供了一个用于合并数据集的工具sqoop-merge.官方文档中的描述可以参考我的另一篇博客Sqoop-1.4.5用户手册. Merge的基本原理是,需要指定新数据集和老数据集的路径,根据 ...

  3. ERROR: In <declare-styleable> MenuView, unable to find attribute android:preserveIconSpacing

    eclipse  sdk从低版本切换到高版本sdk的时候   v7包会包这个错ERROR: In <declare-styleable> MenuView, unable to find ...

  4. C/C++与Matlab混合编程初探

    ================================================================== % 欢迎转载,尊重原创,所以转载请注明出处. % http://b ...

  5. Java 拓展之调用其他语言

    目前而言,编程语言真的是太多了.每一种都是一种智慧的结晶,但是每个都存在其缺点.网上经常能看到一些程序员争论"XX是世界上最好的语言"之类的话题.其实我们大可不必这样.语言本身只是 ...

  6. Android开发学习之路--RxAndroid之lambda

      RxJava的简单使用基本上也了解了,其实还有一个比较好玩的就是java8才有的lambda了. lambda在android studio下的环境搭建 下载java8   下面就来搭建下这个环境 ...

  7. Objc中处理数组越界的一种办法

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) Objc的数组如果在访问时索引非法,则会抛出NSRangeEx ...

  8. 1.Android中解析json程序代码

    Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包.测试代码如下: @Override protected void onCreate(Bundle savedI ...

  9. SpringMVC源码分析--容器初始化(五)DispatcherServlet

    上一篇博客SpringMVC源码分析--容器初始化(四)FrameworkServlet我们已经了解到了SpringMVC容器的初始化,SpringMVC对容器初始化后会进行一系列的其他属性的初始化操 ...

  10. 5.创建表,使用alter进行表信息的增删改,Oracle回收站,集合运算

     1  Oracle基于用户的管理方案 2 DDL语句可以管理数据库的对象有:视图   索引  序列  同义词   约束 3  创建一个表,有2个条件(1 有权限:2有表空间) Oracle给你提 ...