新闻动态
对象的审查和筛选
https://www.sytm.net 发布日期:2013/11/29 13:23:16

对于每一个候选对象,需求分析工程师均要面对一个核心问题:如何最终确定一个候选对象是否应该作为一个对象存在。判断的标准就是在问题域中考察候选对象的内涵,看其是否同时具有状态和行为两种特征。因为标识特征基本上都是会存在纳,所以通常需要考察的就是判断候选对象是否同时具有状态和行为两种特征。

如果候选对象既维持一定的状态,义依据状态表现一定的行为,那么它就应该是个独立存在的对象。如果候选对象只有状态没有行为.那么就要分析它的状态是否是系统需要的数据。

如果系统需要它的状态数据,那么该候选对象就应该作为其他对象的属性出现在最终的模型中。

否则,该候选对象应该被摒弃。如果候选对象只有行为没有状态、那么往往意味着需求倍息的遗漏,因为行为的表现总是要以状态为基础的。此时就需要重新进行需求的获取。既没有状态也没有行为的候选对象很少会出现,即使出现也很容易被摒弃。

另外,在对候选对象进行审查过程中还要关注两个问题:属性的复杂度问题和单值属性对象问题。

对于属性的复杂度问题,对象的属性往往是以二维关系表的形式表达出来,因此人们就会使用“二维”形式来限制对象的属性。例如,在对象出现组合属性或者多值属性时,这些属性就会超出二维的限制,以至于无法被实现为一个对应的父系表。就常常会被独立为单独的对象。其实这种二维的限制本来就不该出现在对象建模中,它应该是数据设计需要考虑的内容,而不是对象分析。在面向对象分析中,这种限制本来就不应该存在。例如,在ATM系统中描述“储蓄卡”对象时,需要“账户信息”的信息。假设“账户信息”的信息比较复杂,包括姓名、省份证号、联系方式等很多内容,而且这些信息仅仅是被用来描述储蓄卡。按照“二维”形式的对象建模思想。具有复杂结构的“账户信息”自然应该是独立的对象。但是如果将“账户信息”作为候选对象进行考察,那么依据对象的含义进行判断,“账户信息”具有系统需要的状态数据但是没有独立的行为。它就自然应该被抽象为“储蓄卡”对象的属性,是“储蓄卡”对象的一个复杂属性。


更多阅读
返回列表
© 2010 TianMei Technology All rights reserved. ICP:辽B2-20150138辽公网安备 21010202000010号  目录概览