UML之构件图
构件图,英文名曰:Component Diagrams用于描述一组构件之间的组织和依赖关系,用于建模系统的静态实现视图,构件可以是可执行程序、库、表、文件和文档等,她包含了逻辑类或者逻辑类的实现信息,因此结构模型视图和实现之间存在映射关系。
构件图中也可以包括或子系统,她们都用于将模型元素组织较大的组块。构件是系统中逻辑的并且可替代的部分,她遵循并提供对一组接口的实现,好的构件用定义良好的接口来定义灵活的抽象。例如,可以为逻辑模型中的一个类定义一个接口,而这同一个接口将延续到一些实现她的设计构件。接下来,我们一起来学习一下构件图,她在UML中发挥着怎样的作用,又是如何成为我们的得力助手呢?首先,我们来看一下这一章知识的总体蓝图:
接着,我们开始来了解构件图的一些基本知识:
基础知识有利于我们对构件图的理解,可以促进我们对构件图进一步研究,接下来,我们来看看构件图的接口,关系以及有着怎样的要求:
基础知识的掌握,以及接口、关系等的认识,还有重要的一点就是,我们该如何绘制我们的构件图:
纸上得来终觉浅,绝知此事要躬行,理论与实践相结合,方能让知识在尘埃中开出花朵,以学生管理系统选课为例,看看我们的构件图是如何被应用的完美无瑕:
再以我们的机房收费系统为例,我们的构件图:
构件图在我们的生活中也有着广泛的应用,比如当我们建造一所房屋的时候,可能会选择安装一套家庭娱乐系统,这个时候,我们可以购买一个单件套,包括显示器,电视机、DVD、VCR播放器、扬声器等,如果这些满足了我们的要求,当然再好不过,可是理想很丰满,现实很骨感,有时候买一个单件套不够灵活,在购置这一套系统之前,我们还需要把厂商提供的各种特征综合起来考虑。
这个时候,一个比较灵活的办法是把娱乐系统分成单独的部件,每个部件着重一种功能,显示器显示画面,扬声器播放音乐,并且可以放在屋子中能听到声音的任何地方,DVD和VCR都是独立的个体,她们的性能可以根据我们的实际需求来考虑,我们可以把她们放在想放的地方并用电线把她们连接起来,而不是以一种固定的方式把他们锁定在一起,每根线都有适合一个部件的特定插头,因此不会把扬声器的线插到视频的输出端。
我们的软件也是一样,我们可以把应用程序做成一个单一的大单元,但是当需求改变时,她太僵化并很难修改,此外,也无法利用一些现有的功能,即使一个现存的系统有很多我们需要的功能,当然软件不可能完美无瑕,也存在着我们不想要的功能,并且不可能被剔除,这个时候,我们需要把程序做成可灵活连接起来,定义良好的构件,当需求发生变化时,这些构件可以单独被替换,做到真正的以人为本,UML之旅,未完待续......
UML之构件图的更多相关文章
- 【UML】构件图Component diagram(实现图)(转)
http://blog.csdn.net/sds15732622190/article/details/49048887 前言 下面要介绍UML中的构建图,它属于实现图的一种,五种静态图之一. 定义 ...
- UML,构件图与部署图
一.构件图概述 1.概念 用来显示一组构件之间的组织及其依赖关系 2.基本元素 (1)构件:定义了良好接口的物理实现单元. ● 配置构件:形成可执行文件的基础,如:动态链接库(DLL).ActiveX ...
- UML的概念模型
为 了理解UML,需要形成该语言的概念模型,这要求学习建模的3个要素:UML的基本构造块.支配这些构造块如何放在一起的规则和一些运用于整个UML的公 共机制.如果掌握了这些思想,就能够读懂UML模型, ...
- uml系列(八)——部署图与构件图
之前说了uml的设计图,现在说一下uml的最后两种图:构件图.部署图.这两种图之所以放在一起是因为它们都是软件的实现图. 构件图 构件图是描述一组构件之间的组织与依赖关系的模型.那 ...
- ****** 五十 ******、软设笔记【UML分析和意义】-类图、对象图、状态图、活动图、顺序图、协作图、构件图、部署图,动静态模式
一.类图(Class Diagram) 描述一组类.接口.协作已经它们之间的图,用来显示系统中各个类的静态结构图. 类之间的关系(relationship) *依赖(dependency) *泛化(g ...
- 构件图(Component Diagram)—UML图(八)
构件图是显示代码自身结构的实现级别的图表.构件图由诸如源码文件.二进制代码文件.可运行文件或动态链接库 (DLL) 这种构件构成,并通过依赖关系相连接 以下这张图介绍了构件图的基本内容: 以下这张图是 ...
- UML——构件图
宏观导图: 细节探究: 一.What 构件:是一个应用很广的名词,在建筑工程.机械工程.软件工程中等都有该概念.其实,说道底表达的都是一个意思.就像是标准化生产出来的零部件一样,具有可替换性.同质性, ...
- UML课程复习重点
第一章 一.UML图示建模工具 二.UML--统一建模语言,以图形符号为基础,描述软件模型既简洁又清晰.它不是开发方法,是独立于任何开发方法之外的语言.它用于描述软件系统分析.设计和实施中的各种模型. ...
- 浅谈UML的概念和模型之UML九种图
1.用例图(use case diagrams) [概念]描述用户需求,从用户的角度描述系统的功能 [描述方式]椭圆表示某个用例:人形符号表示角色 [目的]帮组开发团队以一种可视化的方式理解系统的功能 ...
随机推荐
- 大数据基础知识问答----spark篇,大数据生态圈
Spark相关知识点 1.Spark基础知识 1.Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架 dfsSpark基于mapredu ...
- XML Condition And
<Target Name="CustomBuildStep" Condition="'@(CustomBuildStep)' != '' and '$(Select ...
- [CSDN_Markdown] 使用LaTeX写矩阵
简介 LaTeX 的公式功能非常强大,一次性讲全不是件容易的事情.将LaTeX 的这些功能分成较小的相互独立的部分来讲,一方面方便大家单独查阅:另一方面,所有[CSDN_Markdown]相关的文章都 ...
- springMVC源码分析--AbstractHandlerMethodMapping注册url和HandlerMethod对应关系(十一)
在上一篇博客springMVC源码分析--AbstractHandlerMethodMapping获取url和HandlerMethod对应关系(十)中我们简单地介绍了获取url和HandlerMet ...
- (Java)微信之个人公众账号开发(一)——进入开发者模式
本篇文章将教大家如何建立微信个人公众账号,(注意:后台全部是用javaweb相关技术开发),大家知道,现在微信公众账号分服务号和订阅号,现在我要讲的主要是个人微信公众账号的建立以及后台的开发,个人公众 ...
- Java之继承深刻理解
1.关于私有成员变量 无论父类中的成员变量是私有的.共有的.还是其它类型的,子类都会拥有父类中的这些成员变量.但是父类中的私有成员变量,无法在子类中直接访问,必须通过从父类中继承得到的protecte ...
- JAVA面向对象-----抽象类注意细节
抽象类可以没有抽象方法(java.awt.*的类就是这样子操作的). 抽象类可以继承普通类与抽象类. 抽象类不能直接使用类名创建实例,但是有构造方法,构造方法是让子类进行初始化. 抽象类一定有构造方法 ...
- Map俩种遍历方式
Map本身没有迭代器因而在遍历其中元素时需要采取新的措施,在JDK中提供了俩种方法 keySet Set<K> keySet() 返回此映射中包含的键的 Set 视图.该 set 受映射支 ...
- Android动态加载入坑指南
曾几何时,国内各大公司掀起了一股研究Android动态加载的技术,两年多过去了,动态加载技术俨然成了Android开发中必须掌握的技术.那么动态加载技术是什么呢,这里谈谈我的个人看法,如有雷同,纯属偶 ...
- Android存储之SharedPreferences
Android数据存储之SharedPreferences SharedPreferences对象初始化 SharedPreferences mSharedPreferences = getShare ...