UML核心技术学习(一)

来源:互联网 发布:php源码加密原理 编辑:程序博客网 时间:2024/06/11 23:21

 

第一章       UML简介

 

UML(统一建模语言,Unified Modeling Language)是一种建模语言,是第三代用来为面向对象开发系统的产品进行说明可视化编制文档的方法。

1.1   UML的产生和成长

1.2   什么是UML

       UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示

l         不是一种可视化的程序设计语言,而是一种可视化的建模语言

l         不是工具或知识库的规格说明,而是一种建模语言规格说明,是一种表示的标准

l         不是过程,不是方法,但允许任何一种过程和方法使用它

UML目标是:

l         易于使用、表达能力强,进行可视化建模

l         与具体的实现无关,可应用于任何语言平台和工具平台

l         与具体的过程无关,可应用于任何软件开发的过程

l         简单并且可扩展,具有扩展和专有化机制,便于扩展,无需对核心概念进行修改

l         为面向对象的设计与开发中涌现出的高级概念(例如协作、框架、模式和组件)提供支持,强调在软件开发中,对架构、框架、模式和组件的重用

l         与最好的软件工程实践经验集成

l         可升级,具有广阔的适用性和可用性

l         有利于面对对象工具的市场成长

1.2.1   UML的架构

UML是由元模型组成的。UML语法,而元模型则给出的图的意思,是UML语义UML的语义是定义在一个四层(或四个抽象级)建模概念框架中的,分别是:

l         元元模型(meta-metamodel)层:组成UML最基本的元素“事物(Thing”,代表要定义的所有事物

l         元模型(metamodel)层:组成了UML的基本元素,包括面向对象和面向组件的概念,这一层的每个概念都是元元模型中“事物”概念的实例(通过版类化)

l         模型(model)层:组成了UML的模型,这一层中的每个概念都是元模型层中概念的一个实例(通过版类化),这一层的模型通常叫做类模型(class model类型模型(type model

l         用户模型(user model)层:这层中的所有元素都是UML模型的例子,这一层中的每个概念都是模型层的一个实例(通过分类),也是元模型层的一个实例(通过版类化),这一层的模型通常叫做对象模型(object model实例模型(instance model

1.2.2   UML的模型、视图、图与系统架构建模

       UML是用来描述模型的,它用模型来描述系统的结构静态特征、以及行为或动态特征,它从不同的视角为系统的架构建模,形成系统的不同视图(view,包括:

l         用例视图(user case view:强调从用户的角度看到的或需要的系统功能,这种视图也叫做用户模型视图user model view)或想定视图scenario view

l         逻辑视图(logical view:体现系统的静态或结构组成及特征,也称为结构模型视图structural model view)或静态视图static view

l         并发视图(concurrent view:体现了系统的动态或行为特征,也称为行为模型视图behavioral model view)、过程视图process view)、协作视图collaborative view)、动态视图dynamic view

l         组件视图(component view:体现了系统实现的结构和行为特征,也称为实现模型视图implementation model view)和开发视图development view

l         展开视图(depolyment view:体现了系统实现环境的结构和行为特征,也称为环境模型视图environment model view)或物理视图physical view

 

每一种UML的视图都是由一个或多个图(diagram组成的,一个图就是系统架构在某个侧面的表示,它是与其他图一致的,所有的图一起组成了系统的完整视图

UML提供了九种不同的图,分成两类:

l         静态图:包括用例图、类图、对象图、组件图、展开图(配置图)

l         动态图:包括序列图、协作图、状态图、活动图

根据它们在不同架构视图的应用,又分成:

l         在用户模型视图:用例图(Use case diagram,描述系统的功能

l         在结构模型视图:类图(Class diagram,描述系统的静态结构;对象图(Object diagram,描述系统在某个时刻的静态结构

l         在行为模型视图:序列图(Sequence diagram,按时间顺序描述系统元素间的交互;协作图(Collaboration diagram,按照时间和空间的顺序描述系统元素间的交互和它们之间的关系;状态图(State diagram,描述了系统元素的状态条件和响应;活动图(Activity diagram,描述了系统元素的活动

l         在实现模型视图:组件图(Component diagram,描述了实现系统的元素的组织

l         在环境模型视图:展开图(Depolyment diagram,描述了环境元素的配置,并把实现系统的元素映射到配置上

1.3   UML与面向对象的软件分析与设计(OOA&D

1.3.1   标准的表示方法

       UML是一种建模语言,是一种标准的表示,而不是一种方法(或方法学)。UML只定义了一些图以及它们的意义,它的思想与方法无关。无论方法如何变化,它们的基础是UML的图,这就是UML的最终用途为不同领域的人们提供统一的交流标准

1.3.2   与软件开发的成功经验集成

       在众多成功的软件设计与实现的经验中,最突出的两条,一是注重系统架构的开发,一是注重过程的迭代和递增性,尽管UML本身没有对过程有任何定义,但UML对任何使用它的方法(或过程)提出的要求是:支持用例驱动(use-case driven以架构为中心(architecture-centric以及递增(incremental迭代(iterative地开发

       迭代和递增的开发过程反映了项目开发的节奏,不成功的项目没有进度节奏,因为它们总是机会主义的,在工作中是被动的。成功的项目有自己的进度节奏,反映在它们有一个定期的版本发布过程,注重于对系统架构进行持续的改进

1.4    UML的应用领域

1.4.1   在不同类型系统中的应用

常见的应用:

l         信息系统(Information System

l         技术系统(Technical System

l         嵌入式实时系统(Embedded Real-Time System

l         分布式系统(Distributed System

l         系统软件(System Software

l         商业系统(Business System

1.4.2   在软件开发中的不同阶段中的应用

       UML的应用贯穿在系统开发的五个阶段,分别是:

l         需求分析UML的用例视图可以表示客户的需求,通过用例建模,可以对外部的角色以及它们所需要的系统功能建模

l         分析:分析阶段主要考虑所要解决的问题,可用UML的逻辑视图和动态视图来描述:类图描述系统的静态结构,协作图、状态图、序列图、活动图描述系统的动态特征,分析阶段,只为问题领域的类建模不定义软件系统的解决方案的细节(比如用户接口的类、数据库等)

l         设计:把分析阶段的结果扩展成技术解决方案,加入新的类来提供技术基础结构用户接口、数据库操作等,分析阶段的领域问题类被嵌入在这个技术基础结构中设计阶段的结果是构造阶段的详细地规格说明

l         构造:(程序设计阶段),把设计阶段的类转换成某种面向对象程序设计语言的代码。在对UML表示的分析和设计模型进行转换时,最好不要直接把模型转化成代码,因为在早期阶段,模型是理解系统并对系统进行结构化的手段

l         测试:对系统的测试通常分为单元测试、集成测试、系统测试和接受测试几个不同级别。单元测试是对几个类或一组类的测试,通常由程序员进行;集成测试集成组件和类,确认他们之间是否恰当地协作;系统测试把系统当作一个“黑箱”,验证系统是否具有用户所要求的所有功能;接受测试由客户完成;这里使用不用的UML图来进行,单元测试使用类图和类的规格说明;集成测试典型地使用组件图和协作图;系统测试实现用例图来确认系统的行为符合这些图中的定义

 

原创粉丝点击