“UML应用实作细节”(by Think, UMLChina)复习笔记(5)——分析类的识别

 分析类的识别
 从这一步开始,看待系统的视角,要从外部转向内部了,也就是关键的从需求向设计的映射的第一步。不过,这里识别出来的分析类,仍然是抽象的,或者说是理想的,还用不考虑实现时的诸多细节,如性能等。
 分析类的识别可以分为三步:
 1.识别类及其属性
  1)从用例文档中抽取名词(这一操作方法本身就说明了找到的应该是实体类)
  2)分类整理名词,抽取合适的类和属性。这里要注意识别哪些名词不是系统要保存或管理的
  事实上,这是最困难的一步,没有简单的原则可以遵循,需要分析人员依靠经验和逻辑能力得出答案。在识别属性时,有几个思路可以帮助我们避免错误,我们可以对照每个属性,问自己以下问题:
  1)属性是否描述类对象的特征——如果不是,考虑转移到其他类中去,或者提取新类
  2)属性是否存在冗余——如果是,合并属性
  3)是否有复杂结构的属性——如果是,考虑展开为多个属性,或者提取新类
  4)是否有一对多的属性——如果是,考虑提取新类
  5)属性是否对类的所有对象都有意义——如果是,转移属性到子类
 2.识别类之间的泛化
  注意泛化代表了集合之间的关系,即如果A的集合包含B的集合,或者说B是一种A,则A与B之间是泛化关系。如下图所示:
       泛化.png
 3.识别类之间的关联
  关联代表了一个类对另一个类之间的静态依赖关系,聚合作为一种特殊的关联,往往代表着B是A的一部分。在分析阶段,不必追究聚合与组合的细微差别,但聚合与普通关联还是要区分的。聚合的突出特征在于,代表整体部分的类往往成为代表部分类的职责代言人。这有点类似于公司与员工,球队与球员之间的关系。
  注意:
  1)两个类之间可以存在多种关联
  2)一个类可以与自身关联
  3)关联本身可以有属性和操作,即可以形成一个类,当然,这个类必须是有业务意义的。如下图:
关联.png
   

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值