一、关于UML
二、开发过程
- 瀑布模型:是根据活动来分解项目的。一般将整个项目分解成分析、设计、编码、测试四个阶段。
- 迭代模型:是根据功能子集来分解项目的。如一个一年的项目,可以分成三个月一次的迭代。在第一次迭代中,选取四分之一的功能需求,并对其进行一次软件生命全周期:分析、设计、代码和测试。这样在第一次结束之后,就有了一个四分之一功能的系统,然后开始第二次、第三次、第四次迭代直到完成100%的功能。
三、类图(class):用来表示各个对象的类型以及相互间的各种静态关系
- 特性Property:表示类的结构特征,包括属性和关联两种
- 属性,位于类框中第二行
可见性 名:类型 重做 = 默认 {特性串}
例子:
- 名:String[1] = "Untlitled" {readOnly}
- 关联Association:是两个类间用一条实线表示,方向是从源类到目标类。特性名连同其重置数置于目标端。属性中大多数信息都可以通过关联来细化
- 重数Multiplicity:应该具有该特性的对象数目
- 双向关联Bidirectional:是一对联系在一起,互为其逆的特性。车(Car)类具有属性owner:Person[1]。 人(Person)类具有属性cars:Cars[*]。

- 操作(Operation):是类知道要执行的动作,最明显的是对应于类中的方法。
操作的格式:
可见性 名(参数表):返回值{特性串}
参数格式:
方向 名:类型=默认值
改态操作:把改变系统状态的操作
获取方法:get method
置送方法:set method
- 泛化(generalization): 典型的例子就是涉及业务的个人客户和公司客户。可以把两者的类似之处的放入一个通用的类(超类),它以个人用户和公司客户为其子类
- 注释:可以用连续单横线来指明

- 依赖(Dependency):如果一个类的改动会影响另外一个类的改动,我们说这两个类之间存在着依赖关系。依赖使类的变动变得复杂,所以因尽可能的减少依赖关系。
- 聚合:聚合是整体—部分关系(一般不使用)。
- 组合:组合是安值拥有的特性、值对象的特性,或者对其它成分具有强烈并稍微有排他的拥有性等特性的好方法。
- 抽象和接口示例图

四、顺序图(sequence)
- 对象间交互,着重顺序:比较适用于表示一个用例的不同对象间的调用、反馈等相互交互关系。

五、包图(packet)
六、用例(use case)
- 用户在系统中如何交互
七、活动图(Activity)
- 过程行为与并行行为
八、其他工具图(对象图、部署图deployment、通信图Communication 、构件图Component、交互概观图Interactive overview、定时图)
十、相关概念解释
- MDA:模型驱动体系结构
- RUL(Rational Unified Proces): 统一软件过程