一、概述
1.面向对象技术
出现于20世纪70年代末,是软件工程领域中重要技术。它是一种程序设计方法,也是一种对现实世界中问题的抽象方式,面向对象建模技术研究的主要成果就是统一建模语言UML。
现实世界 | 面向对象技术 |
事物 | 对象 |
事物之间有共性,可以归纳 | 类是具有想用属性的抽象描述 |
事物具有静态特性和动态特性 | 用属性和方法描述事物的静态和动态特征 |
事物存在联系,需要交流 | 消息和方法 |
事物是一个独立的实体 | 封装性 |
客观世界中事物存在继承关系 | 继承性 |
不同事物收到同样消息时,产生的行为不同 | 多态性 |
复物事务可以看成由多个简单事务组成 | 聚合关系 |
2.软件衡量标准:
外部:正确性、健壮性、性能。
内部:模块性、灵活性、可复用性、可兼容性。
3.建模:
3.1为什么要建模?要生产合格的软件就要有一套关于体系结构、过程和工具的规范。
3.2什么是建模?模型是对现实的简化,就是把复杂系统编程小的系统,采用逐个击破的原则一一解决。
3.3模型的组成:模型是用来描述现实系统的,一般由以下部分组成:系统、目标、组分、约束条件、变量、关系。
3.4建模的原理:分解、抽象、泛化、投影、构件化、形式化。
二、UML
1.UML定义:
统一建模语言是用来设计软件蓝图的可视化建模语言。它支持面向对象系统的分析、设计、实现和交付等各个环节,可用于系统的理解、设计、浏览、维护和信息控制。它是在著名的Booch方法,OMT方法,OOSW方法基础上,广泛发展而来。于1997年11月被OMG组成正式采纳。
它不是一个程序设计语言,它也不是一个形式化语言,它就是一种统一建模语言。
2.UML工具:
RUP:统一软件过程(Rational Unified Process)是Rational公司开发和维护的过程产品,是目前影响较大的、面向对象的软件开发过程。
RUP的三个特点:用例驱动,以架构为中心,采用迭代和增量。
3.软件开发所面临的问题:
1不能满足用户或商业的要求,2不能很好的定位需求,3模块难以集成,4到最后才发现错误,5对于终端用户来说质量较差,6负载时性能差,7没有协调团队的能力,8不断的修改和发布问题。
三、UML结构:事务、关系、图。
事物是对模型中最具有代表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。
1.事物:
结构事物(静态部分) | 行为事物(UML动态部分) | 分组事物(组织部分) | 注记事物(解释部分) |
Class 类 | Intercation 交互 State Mechanism 状态机 |
Package 包 | Notes 注释 |
Interface 接口 | |||
collaboration 协作 | |||
Use Case 用例 | |||
Active Class 主动类 | |||
Components 构建 | |||
Nodes 结点 |
2.图
3.类图的关系:
4种关系 | 英文名称 | 表示方法 | 举例 |
关联 | Association | 一条实线 | 学生和课程 |
依赖 | Dependency | 虚线+箭头 | 成绩依赖学号 |
泛化 | Generalization | 实线+空心三角 | 儿子继承父亲 |
实现 | Realization | 虚线+空心三角 | 类实现接口 |