阿牛 - 专注.NET开发

如果梦想与实现之间有一道不可逾越的鸿沟,那么“执行力”就是跨越这道鸿沟的桥梁。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

 

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

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

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

 

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

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

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

 

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

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

从需求文档中,

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

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

 

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

 

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

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

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

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

 

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

 

posted on 2009-01-01 17:35  阿牛-专注金融行业开发  阅读(241)  评论(0编辑  收藏  举报