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图来进行,单元测试使用类图和类的规格说明;集成测试典型地使用组件图和协作图;系统测试实现用例图来确认系统的行为符合这些图中的定义
- UML核心技术学习(一)
- UML核心技术学习(二)
- UML核心技术学习(三)
- UML核心技术学习(四)
- UML核心技术学习(五)
- JAVA2核心技术学习(一)
- Java核心技术学习笔记(一)
- Java核心技术学习笔记(一)
- Java核心技术学习整理(一)
- UML学习(一)
- UML学习(一)
- UML学习(一)
- UML建模学习(一)
- UML学习一
- UML学习一
- 《Java核心技术》学习之路(一)
- Java核心技术卷一学习笔记1
- java核心技术学习笔记(一)
- SAR系统性能检测工具
- 常见日志文件和常用命令
- tcpdump 侦测网络端口数据
- 如何构造一个C#语言的爬虫程序
- VB应用一
- UML核心技术学习(一)
- 注册DLL文件
- 北京信息工程学院网协第十届网络文化节开幕式时间变更通告
- UML核心技术学习(二)
- Option Explicit
- UML核心技术学习(三)
- 两个函数
- UML核心技术学习(四)
- 再谈MySQL升级出现乱码问题的解决