APP下载

建立对象模型中确定属性的设计研究

2014-12-23樊学东

山东工业技术 2014年13期
关键词:性质关联对象

樊学东

(西安外事学院,西安 710000)

建立对象模型中确定属性的设计研究

樊学东

(西安外事学院,西安 710000)

在建立对象模型时,我的方法是先确定类、对象和关联,对于大型复杂问题,需要进一步划分出多个主题;再给类和关联增补进一步描述的属性;随后利用继承关系适当合并和组织类。确定属性是基本问题,本文就对象建模确定属性做些探讨。

对象模型;属性;对象

1 引言

在建立对象模型时,我的方法是先确定类、对象和关联,对于大型复杂问题,还要进一步划分出多个主题;然后给类和关联增补进一步描述的属性;随后利用继承关系适当的合并和组织类。因为动态模型和功能模型更准确地描述了类中所提供的服务的需求,所以,类中操作(服务)需等到建立了这两个模型之后再确定。属性是建模中的核心要素。确定属性是建模的基本问题。

2 确定属性

对象是用属性来描述的,如果有些名词只是其他对象的属性的描述,则应该把这些名词从候选类-&-对象中去掉。当然,若某个性质具有很强的独立性,则把它作为类而不是作为属性,这可以当做准则。在ATM系统中, “支票”、“现金”、“账单”、“密码”、“取款额”、 “余额”、“分行代码”、“卡号”和“类型”等,都应该作为属性而不是作为类。在分析人员考虑不周的地方,该准则能帮助他合理筛选出潜在的对象。

2.1 为什么确定属性

属性是用来描述类-&-对象的特性的。一个属性是一个数据项(状态信息),类中对象都有相应的值(状态)。目前,面向对象分析模型越来越专门化,而且更加详细,每个类-&-对象都由属性描述,而属性则按照类-&-对象的规范来描述。属性放在类-&-对象表示符号的中间部位。

在面向对象分析中,“属性”用来反映问题域和系统的任务。属性能帮助我们更深入、更具体的认识类-&-对象和结构,换句话说,属性能为“类-&-对象”以及“结构”提供更多的细节,因此,在一个系统中,确定属性是非常重要的。

2.2 如何确定属性

选择属性的过程包括分析和选择两步。一般来说,分析强调对象的外观或功能,选择则强调目标系统的需求。

属性是对象的性质,通常用名词词组和形容词来表示。首先,在需求陈述中找出属性或通过分析找出属性。这些属性必须是问题域中对象的基本性质,而且在目标系统中是必要的。也就是说,只考虑与目标系统相关的属性,不考虑超出目标系统范围的属性。然后,删除不正确的和不必要的属性,选择正确的和必要的属性。最后,恰当的给属性命名。

删除属性的标准如下:

2.2.1 区别对象和属性

对象是在应用领域内具有自身性质的实体。若某个实体的独立存在相当重要,而相比之下它的值不那么重要,则应把它作为一个对象而不是对象的属性。同一个实体在不同的应用领域中是作对象还是作属性,需要根据应用需求具体分析而定。例如,在邮政目录中,“城市”是一个属性,而在人口普查中,“城市”却看作为对象。

2.2.2 区别链属性和属性

在分析过程中,不应该把链属性作为对象的属性。若某个性质依赖于某个关联链的存在,则该性质是链属性而不是属性。链属性在多对多关联中很明显,在整个开发过程中,不要把它作为两个关联对象中任意一个的属性。

2.2.3 区别限定词和属性

当属性固定下来后,能减少关联的阶数时,则可将该属性重新定义成为一个限定词。如ATM系统中,分行代码、聘员号、账号和站号等都是限定词,而不要把它误认为属性。再如,“分行代码”不但可作为关联“分行组成总行”上的限定词,也可作为关联“中央计算机”与“分行计算机”的限定词,这样,就将该关联的一对多的通信关系减少为一对一的通信关系

2.2.4 区别内部值和属性

若某个性质是对象的非公开的内部状态时,则应该将这个属性从对象模型中删掉。

2.2.5 避免细化

一个对象的属性不能过于细化,在分析过程中,应去掉那些对大多数操作没有影响的属性。

例如:经过精选后,确定的ATM系统中的各个类的属性又增补了一些限定词。

1) “卡号”:前面的分析过程中,遗漏了“分行发放现金兑换卡”这一关联,现在发现了,因而就把“卡号”这个限定词补上。

2) “账号”是关联“分行保管账号”上的限定词。

3) “聘员号”是关联“分行聘用营业员”上的限定词。

4) “站号”是关联“分行拥有营业终端”、“营业终端与分行计算机通信”和“中央计算机与ATM通信”等上的限定词。

3 结论

面向对象方法以对象为基础来构造系统,不是以功能为基础来构造系统。这是一个基本认识。

属性是用来描述类-&-对象的特性的。一个属性是一个数据项(状态信息),类中对象都有相应的值(状态)。

属性能帮助我们更深入、更具体的认识类-对象和结构。

确定属性应注意方法,分清关联、范围限定和内涵性质是确定属性的基本思想。

[1] 孙涌.软件工程教程[M].机械工业出版社,2010,04.

[2] 张海藩.软件工程导论[M].清华出版社,第三版,2011,1.

樊学东,副教授,西安外事学院教师,长期从事软件开发和单片机、嵌入式等科研工作。

猜你喜欢

性质关联对象
弱CM环的性质
彰显平移性质
随机变量的分布列性质的应用
晒晒全国优秀县委书记拟推荐对象
“一带一路”递进,关联民生更紧
攻略对象的心思好难猜
奇趣搭配
智趣
区间对象族的可镇定性分析
试论棋例裁决难点——无关联①