组件
一:概念
        --->组件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。
        --->组件代表系统中的一部分物理实施。包括软件代码(源代码,二进制代码或可执行代码)或其等价物(如脚本或命令文件)
        --->在UML的定义中,组件之间唯一的关系就是依赖。在Rose中,组件视图中允许的唯一链接也是依赖关系,而依赖意味着一个组件的修改会导致依赖于它的其他组件的修改。
        --->在笔者看来,一个组件应当是一个独立的业务模块,具有完备的功能,可独立部署,一个组建可以看成一个完备的服务。从SOA架构的观点来看,一个SOA服务与其他服务是没有依赖关系的,服务与服务之间仅仅保持着松耦合的通信关系。

二:组建的特点(笔者和UML官方有出入,按笔者建议学习)
        --->完备性
                (1)一个组件应当能够完成一项或一组特定的业务目标(或说功能)
        --->独立性
                (1)独立性是说,组件应当可以独立部署的,与其他组件无依赖关系,最多保持关联关系。
        --->逻辑性
                (1)逻辑性是说,组件是从软件构件设计的观点来定义的。并非从需求中可以直接导出来。组件建立在系统分析和设计的基础上,对已经实现的功能进行逻辑划分。
        --->透明性
                (1)透明性,组件的修改应当只涉及组件的定义以及组件中所包含的类的重新指定,而不应该导致类的修改。

二:组建的使用
        --->分布式应用

--->应用集成

--->第三方系统
        --->SOA服务
                (1)SOA(Service Oriented Architecture)面向服务的架构是目前新兴的软件架构,有人说SOA是下一代软件发展的趋势。它将系统结构划分为粗粒度的服务组件SCA,每个服务组件都遵循一系列标准和规范,通过标准的通信协议与其他服务交互,服务和服务之间是松耦合的。
                (2)在SOA中,系统分析,设计,开发都以服务为主,每个服务都具有上述组件的所有特点。
                (3)组件一般都是在较高的抽象层次定义的。

<十一>面向对象分析之UML核心元素之组件的更多相关文章

  1. <四>面向对象分析之UML核心元素之用例

    一:基本概念        --->用例定义了一组用例实例,其中每个实例都是系统所执行一系列操作,这些操作生成特定主角可以观测的值.        --->所谓用例,就是一件事情,要完成这 ...

  2. <九>面向对象分析之UML核心元素之设计类,类,属性,方法,可见性

    设计类

  3. <五>面向对象分析之UML核心元素之边界

    一:基本概念

  4. <十>面向对象分析之UML核心元素之关系

    关系        --->在UML中关系是非常重要的语义,它抽象出对象之间的联系,让对象构成特定的结构.        一,关联关系(association)

  5. <八>面向对象分析之UML核心元素之分析类

    一:基本概念        ---->在那大数项目中,分析类是被忽视的一种非常有用的元素.        ---->分析类用于获取系统中主要的“职责簇”,他们代表系统的原型类,是系统必须处 ...

  6. <三>面向对象分析之UML核心元素之参与者

    一:版型        --->在UML里有一个概念叫版型.有些书里也称类型,构造型.        --->这个概念是对一个UML元素基础定义的扩展.在同一个元素基础定义的基础上赋予特别 ...

  7. <十二>面向对象分析之UML核心元素之节点和设备

    节点,设备

  8. <七>面向对象分析之UML核心元素之包

    一:基本概念 

  9. <六>面向对象分析之UML核心元素之业务实体

    一:基本概念

随机推荐

  1. PE文件结构详解(六)重定位

    前面两篇 PE文件结构详解(四)PE导入表 和 PE文件结构详解(五)延迟导入表 介绍了PE文件中比较常用的两种导入方式,不知道大家有没有注意到,在调用导入函数时系统生成的代码是像下面这样的: 在这里 ...

  2. uva 757

    贪心  优先队列 #include <cstdio> #include <cstdlib> #include <cmath> #include <map> ...

  3. POJ 1844

    #include <iostream> #define MAXN 20 using namespace std; int value[MAXN]; int place[MAXN]; ]; ...

  4. java.util.Date和java.sql.Date的区别及应用

    java.util.Date 就是在除了SQL语句的情况下面使用java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分它都有getTime方法返回毫秒数,自然就可以直接构建ja ...

  5. 2016年2月---Javascript

    How to Learn JavaScript Properly 如何正确学习JavaScript Learn Intermediate and Advanced JavaScript 书籍: < ...

  6. 独立IP与共享IP的区别

    做网站选择独立IP还是共享IP,相信很多站长都在此纠结过,自己不使用服务器的时候从来没有关心过独立IP和共享IP的究竟有什么具体的差别.但当自己真正用到的时候,才发现:同样都是 IP,差别不是一般的大 ...

  7. Project Euler 87 :Prime power triples 素数幂三元组

    Prime power triples The smallest number expressible as the sum of a prime square, prime cube, and pr ...

  8. 毕向东JAVA视频讲解(第七课)

    构造函数:构建创造对象时调用的函数.作用:可以给对象进行初始化. 创建对象都必须要通过构造函数初始化. 一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数构造函数. 如果在类中定义了指定的 ...

  9. java中什么时候该用static修饰方法?有什么好处或者坏处?

    当一个方法或者变量需要初始化加载,或者是经常被调用的时候可以加上static.用static修饰的方法可以用类名直接调用,不用的一定要先实例化一个对象然后才可以调用比如 person这个类里面有一个方 ...

  10. 深度分析Java的ClassLoader机制(源码级别)

    写在前面:Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中,JVM在加载类的时候,都是通过ClassLoa ...