面向对象分析的主要内容是:开发一系列模型,以描述计算机软件结构,从而满足客户定义的需求(分析模型)
一、什么是分析模型
分析模型主要包括:描述领域对象(静态结构)的类图,描述对象交互(动态交互)的交互图
- 类图(class diagram):描述了构成一类对象特征的状态和行为(描述软件架构)
- 交互图(interaction diagram):描述对象之间的交互行为(描述系统行为)
与用例不同的是,用例表示的是系统的外观,而类图和交互图分别表示的是系统内部结构和内部行为。
二、如何建立分析模型
1、发现领域对象,定义概念类
确定概念类使,我们可以选择从用例描述中获取。我们可以反复阅读用例说明,筛选出其中的名词,确定为候选对象。
将候选对象分成三类,即显而易见的对象、明显无意义的对象和不确定类别的对象,舍弃明显无意义的名词或短语后,再将不确定类别的对象进行讨论划分
2、识别对象的属性
3、识别对象的关系,包括建立类的泛化关系、对象的关联关系
关联关系 |
是一种结构化关系,通常将一个类的对象作为另一个类的属性,如:老师和学生、丈夫和妻子。 包括双向关联、单向关联、自关联和多重性关联。 |
public class LoginForm{ private JButton loginButton; } public class JButton{ } |
泛化关系 |
即继承关系。用于描述父类与子类之间的关系。例如:植物和树。 通过带空心三角形的直线来表示。 |
public class Person{ protected String name; Protected int age; public void move(){ } Public void say(){ } } Public class Student extends Person{ private String studentNo; public void study(){ } } Public class Teacher extends Person{ private String teacherNo; public void teach(){ } } |
4、建立交互图