面向对象技术
面向对象技术出现于20世纪70年代末,是软件工程领域中的重要技术
是一种程序设计方法
是一种对现实世界中问题的抽象方式
对面象对象建模技术的研究的主要成果是统一建模语言UML
软件质量衡量指标
外部
⦁ 正确性(Correctness)
⦁ 健壮性和可靠性(Robusness and reliablility)
⦁ 性能(Performance)
内部
⦁ 模块性(Modularity)
⦁ 灵活性和可扩展性(Flexibility/Extensibility)
⦁ 可复用性(Reusability)
⦁ 可兼容性(Compatibility,viastandard/uniform interfaces)
模型与可视化建模
为什么?
⦁ 建立大厦和建立茅草屋的区别在于:建立茅草屋不需要设计
⦁ 要生产合格的软件就要有一套关于体系结构、过程和工具的规范
什么是建模?
模型:模型是对现实的简化,就是把复杂系统变成小的系统,采用逐个击破的原则逐一解决。
模型的组成
系统:即描述的对象
目标:系统的目标
组分:构成系统的各种组分或自系统
约束条件:系统所处的环境及约束条件
变量:表述各组分的量的变化,它分内部变量(系统内部),外部变量(系统外部和环境)及状态变量境
关系:表述不同变量之间的数量关系
模型的表示(6个元组)
M={O,G,T,V,R,S}
O: 表示模型的对象集
G:表示模型的目标集
T:表示模型系统的变量集,包括内部变量,外部变量及状态变量
R:表示模型变量之间的关系集
S:表示模型的状态集,从初态到终态
建模的原则
⦁ 分解
⦁ 抽象
⦁ 泛化
⦁ 投影/视图
⦁ 构件化
⦁ 形式化
什么是UML
1.统一建模语言是用来设计软件蓝图的可视化建模语言
2.它支持面向对象的系统分析,设计,实现和交付等各个环节,可以用于系统的理解,设计,浏览,维护和信息控制
3.在著名的Booch方法,OMT方法,OOSE方法基础上,广泛民主的发展而成
4.于1997年11月被OMG组成正式采纳
UML不是一个程序设计语言
UML不是一个形式化语言
软件过程
软件危机
⦁ 软件开发周期大大超过规定日期
⦁ 软件开发成本严重超标
⦁ 软件质量难于保证
软件过程
⦁ 美国CMM/TSP/PSP
⦁ ISO9000系列
⦁ ISO/SPICE标准
⦁ RUP(统一软件过程)
⦁ XP(极限编程)
统一软件过程RUP
特点:
1.用例驱动
2.以架构为中心
3. 采用迭代和增量
框架:
1.RUP认为:一个软件产品开发过程应该包括多次循环。每个循环包含四个阶段:初始,细化,构造,移交
2.每个阶段又包括多个迭代过程
UML工具
Rational Rose是一种工具,它可以在Rose建模中提供建立、视图、修改和操作组件的能力
Rose运行环境
-Windows NT,Windows95
-UNIX(Solaris,HP/UX,AIX,DECUnix)
-Rose支持Unified、Booch、OMT标记法