OOAD读书笔记(四):分析

有了需求和Use Case之后,接下来就要对需求进行分析.

分析的方法很多种如:E-R模型,概念模型,对象模型. 在这里我们只谈面向对象的分析.

面向对象的分析的过程,就是对象建模的过程.

其产出主要是:类模型图(Class Daigram). 当然还有活动图,时序图等.总之就是要找出系统当中有什么类.类有什么属性和操作.

分析时要从两个方面去看:

1.看对象包含有哪些数据(这是静态方面的分析,反映在类中,它是一个属性或成员变量).如:学生有学号,姓名.班级等属性.

2.对象的动态的操作(这是动态方面的分析,反映在类中,它是一个方法和函数).如学生注册一门课程,学生从学校毕业.

如何找出正确的类是分析中最重要也是最复杂的部分. 它对分析人员要求较高,往往要靠有经验的人带头来做.

这里介绍一种最简单易学的方法:名词或名词短语分析法:

从需求文档中,

1. 找出关键的名词或名词短语,它们中一些通常就是系统中的类(至少也是候选类). 另外一些就是类中的属性

2. 找出关键的动词,它们通常就是类的方法

如:前面提过的,在一个"学生注册系统"中.学生就是系统中的一个类.姓名.班级等都是学生类的属性. 而"学生注册一门课程"这句话中,"注册"这个动词就是学生类的一个方法. 它有一个参数:一门课程.

当类确定下来后,我们还要决定类间关联,决定类是如何交互的.通常采用研究动词短语的方法.

如:学生"选择一个导师",它反映了学生和导师之间的*:1关系.

这里介绍一种,简单易学的方法:关联矩阵法.创建一个n*n的矩阵,n是类的个数.

学生类 导师类 课程类
学生类 被指导   注册
导师类 指导      上课 
课程类   被注册   由导师上

 注:当关联名称比较怪异时,简单地打个勾就行了.

原文地址:https://www.cnblogs.com/rockniu/p/1366626.html