1、1,创始人 Booch (OOA/OOD 94) Roumbaugh (OMT 91) Jacobson(OOSE92),第7章 统一建模语言UML,2,7.1 “统一”的含义,统一及合并了已出现的面向对象开发方法; 在软件开发和生命周期方面具有无缝性,使得 开发过程采用相同的一套概念和表示方法; UML适应各种应用领域的建模; 在开发过程中,UML适合软件开发生命周期的 模型。特别是迭代增量的开发模型; 在内部概念方面UML特别注意揭示和表达各种 概念之间的内在联系; 适应各种不同的编程语言和开发平台;,3,7.2 模型,抽象与具体:高层抽象,底层细节. 说明与实现:说明“做什么”,实现“如
2、何做”. 描述与示例:模型描述实例,而实例作为例子 出现在模型中. 解释与变更:每一种模型有多种解释,但出现 在变更点上.,使用某一种工具对同类或其他工具的表达方式. 模型从一个建模观点出发,抓住事务本质,而忽略其他方面.,7.2.1 含义,4,7.2.2 用途,捕获和精确表达项目需求及应用领域的有 关知识(共识);通过模型图使人们了解系统设计的构架和 设计方案;使具体设计细节与需求分开;生成有用的软件产品;利用视图来组织信息;能够经济研究各种问题的解决方案;通过模型把握住复杂的系统,利用模型抽 象到一定程度,便于了解;,5,事物概念,7.2.3 模型内容,用一套逻辑组件表达系统的含义;,语义
3、方面信息,可视化表达方式,7.2.4 UML模型,包含所有组成UML元素(OO概念),解决方案系统建模,对象和实例模型,使人们观察、浏览、编辑的形式展示语义信息;,图71 UML模型,6,图72 UML结构,7.2.5 UML结构,7,7.3 建模语言UML,UML Unified Modeling Language.UML 是一种对软件密集型系统的制品进行下述工作的语言,这些工作包括:可视化(visualizing)详述 (specifying)构造 (constructing)文档化(documenting),8,UML 是可视化语言UML 是图形化语言,图形便于交流UML 是一种可以详细
4、描述的语言所建的模型是精确的,无歧义和完整的UML 是用于构造系统或理解系统的语言UML 既支持正向工程,又支持反向工程 UML 是文档化语言将所建造的系统记录下来便于新程序员跟进开发产品新版本时很有用处,9,7.4 UML视图(view)和图,图73 UML视图,10,Use-Case View,用途:描述系统应该具备的功能,即被称为参与者的外部用户所能观察到的功能。 用例视图是几个视图的核心,它的内容直接驱动其他视图的开发,11,Static View,用途:描述用例视图中提出的系统功能描述系统的静态结构,也描述系统内对象 间的协作关系静态结构在类图和对象图中描述;使用者设计人员开发人员,
5、12,Process View,用途:考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理 可由动态模型描述使用者:主要是开发人员和系统集成人员,13,Component View,用途:描述系统的实现模块以及它们之间的依赖关系组成:组件图使用者:主要是开发人员,14,Deployment View,用途:显示系统的物理部署,并描述位于节点 实例上的运行组件实例的部署情况 组成:配置图使用者:开发人员、系统集成人员和测试人员,15,UML视图(view)和图主要概念,16,7.5 各种类元,是描述行为和结构特征的模型元素,声明变量(命名空间)当作全局对象创建操作,signal,17,
6、7.6 关系的种类,关系:模型元素之间的一种语义连接,18,和关联相关的概念,类和对象关联的标签:任选项,描述类关联的词关联的角色:关联中对象所取上、下文含义关联的多重性指示器: 基数关联中表示概念“多少” 选择性关联中概念“是否需要”双向关联:两个方向转移的关联(互相发送消息)单向关联:仅一个方向转移的关联(单向发送消息)关联的导航性:关联只能在一个方向上遍历 递归关联:关联的两端使用相同的类,19,关联的次序:对多关联的多端对象进行排序关联的限定符:从一组相关的对象中标出 独特的对象有约束的关联:多个关联连到同一个基类,在约束下使基类一个实例与另一个类联系含有子集的关联依赖关联:两个对象不
7、存在持久关联但需要协作关联类:即是个关联又是个类N元关联:一个类在关联的多个位置上出现,20,7.7 依赖关系种类,21,7.8 用例之间关系,22,7.9 事件种类,23,7.10 包的类型 包:组织模型中事物的机制,虚包(facade) 一个包只是其他包的视图。 定义虚包,仅仅是引入而不是拥有,框架(framework 描述一个主要由模式组成的包,桩(stub) 作为另一个包的公共内容代理的包,子系统(subsystem) 整个系统独立部分的包,系统(system) 整个系统的包,24,面向对象方法的未来 2001-2010年体系结构和过程成熟期,关注体系结构和模式(微体系结构) 成熟的Object Oriented开发过程 分布式系统广泛应用 转移到基于组件的系统和遗留系统 基于组件开发,实现真正可重用 更注意业务建模和需求工程 重点从c+转移到Java和其他更安全的语言.,