UML基础与应用
UML概述
第一部分
内容提纲
1、 面向对象技术
2、 模型与可视化模型
3、 什么是UML
4、 UML发展历史
5、 软件工程
6、 UML工具
7、 UML的构成
8、 UML示例
9、 UML在软件开发各个阶段的应用
面向对象技术
面向对象技术
1、 面向对象技术出现于20世纪70年代末,是软件工程领域中的重要技术。
2、 是一种程序设计方法
3、 是一种对现实世界中问题的抽象方式
4、 对面向对象建模技术的研究的主要成果就是统一建模语言UML
软件质量衡量指标
外部
1、 正确性(correctness)
2、 健壮性和可靠性(Robustness and reliability)
3、 性能(performance)
内部
1、 模块性(Modularity)
2、 灵活性和可扩展性(Flexibility/Extensibility)
3、 可复用性(Reusability)
4、 可兼容性(compatibility ,viastandard/uniform interfaces)
面向对象技术提高了软件质量
为什么要建模?
建立大厦和建立茅草屋的区别在于:建立茅草屋不需要设计。
要生产合格的软件就要有一套关于体系结构、过程和工具的规范。
什么是建模
模型:模型是对现实的简化。就是把复杂系统变成小的系统,采用“逐个击破”的原则逐一解决。
为什么要可视化建模
一幅图顶的上千言万语(A Picture is worth a thousand Word)
模型的组成
模型是用来描述现实系统的,一般由下列几个部分组成:
系统:即描述的对象
目标:系统的目标
组分:构成系统的各种组分或子系统。
约束条件:系统所处的环境及约束条件。
变量:表述各组分的量的变化,它分内部变量(系统内部)、外部变量(系统外部和环境)及状态变量。
关系:表述不同变量之间的数量关系。
模型的表示
模型可以用一个6元组表示:
M={O,G,T,V,R,S},其中:
O:表示模型的对象集;
G:表示模型的目标集;
T:表示模型系统所处的环境及约束条件集;
V:表示模型的变量集,包括内部变量、外部变量及状态变量
R:表示模型变量之间的关系集;
S:表示模型的状态集,从初态到终态。
建模的原理
分解
抽象
泛化
投影/视图
构件化
形式化
什么是UML
UML(Unified Modeling Language)统一建模语言是用来设计软件蓝图的可视化建模语言。
它支持面向对象系统的分析、设计、实现和交付等各个环节,可以用于系统的理解、设计、浏览、维护和信息控制。
在著名的Booch方法、OMT方法、OOSE方法基础上,广泛民主的发展而成。
于1997年11月被OMG组成正式采纳。
什么是UML
UML不是一个程序设计语言。
UML不是一个形式化语言。
UML发展历史
1、1994年10月,Rational公司的Booch和Rumbaugh决定将其Booch方法和OMT方法综合成一个新的建模语言,并于1995年10月公布Unified Method 0.8。
2、1995年秋季,Jacobson及其OOSE(面象对象软件工程)方法加入Rational公司,决定将OOSE方法与Unified Method进行综合,更名为UML,并分别于1996年6月和10月公布了UML0。9和UML0.91。
3、1996年,DEC、HP、1-Logix、itellicorp、IBM、ICON、MCI、Microsoft、Oracle、Ratonal、Ti、Unisys发起成立了UML成员协会,于1997年1月推出UML 1.0,并向OMG申请将其作为一种标准语言。
4、1997年9月产生了UML1.1,11月被OMG正式采纳。
5、1999年6月,OMG发布了UML1.3
6、1999年7月,UML RealTime随Rose RealTime推出。
7、2001年9月,OMG发布了UML1.4
软件危机的主要特征
1、 软件开发周期大大超过超过规定日期;
2、 软件开发成本严重超标;
3、 软件质量难于保证。
软件开发面临的问题?
1、 不能满足用户或商业的要求
2、 不能很好的定位需求
3、 模块难于集成
4、 到最后才发现错误
5、 对于终端用户来说质量较差
6、 负载时性能差
7、 没有协调团队的努力
8、 不断地修改—发布问题
软件过程
UML是一种建模语言,在实际软件项目中,要和具体的软件开发过程结合起来才能更好的发挥作用。
▪软件过程
—美国CMM/TSP/PSP
—ISO9000系列
—ISO/SPICE标准
—RUP(统一软件过程)
—XP(极限编程)
统一软件过程RUP
Rational Unified Process(RUP)是Rational公司开发和维护的过程产品,是目前影响较大的、面向对象的软件开发过程。
RUP的三个特点:用例驱动、以架构为中心、采用迭代和增量
统一软件过程框架
RUP认为:一个软件产品开发过程应该包括多次循环。每个循环包含四个阶段:初始,细化,构造,移交。
每个阶段又包括多个迭代过程。
RUP迭代式开发
RUP软件开发生命周期
什么是Rational Rose?
Rational Rose是一种工具,它可以是Rose建模中提供建立、视图、修改和操作组件的能力。
Rose运行环境(window NT,Windows95,UNIX(Solaris,HP/UX,AIX,DEC Unix))
Rose支持Unified 、Booch、OMT标记法
小结:
什么是UML
UML发展历史
RUP
回顾:UML
UML是一种可视化的面向对象建模语言。
UML描述了一个系统的静态结构和动态行为。
UML用图形方式表现典型的面向对象系统的整个结构。
UML从不同的角度为系统建模,并形成系统的不同视图。这些图包括:类图(它以继承结构、关联、组成和聚集为特色)、时序图、协作图和状态图等。