- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UML功能模型.ppt
6.5.6 其他范型 数据流图。数据流图的使用恰好与数据库应用独特的方法是对立的。没有理由用这种重点在于处理和显示数据的方法来设计数据库。 决策表。决策表对离散逻辑提供了有用的表示。在决策表中,行是专用规则,而列是依附于规则的属性(前提和推断)。图6-10表示了对应于决策表的对象模型。 图6-10 数学方程式。数学方程式提供了一个对一些应用表达功能性的媒介。在分析阶段,方程式说明描述了需求是什么;在设计阶段,如果这个软件是可用的,那么方程式能够直接地求出解来。 6.5.7 实践技巧 考虑多个范型 避免过程分解 小心使用伪码 不要编写含糊的伪码 避免歧义的决策表 为功能模型提供文件 6.6 功能模型的实例(飞行模拟机装置) 这节描述飞行模拟机装置(f1ight simulator)的功能模型。图6-11表示了飞行模拟机装置的顶层数据流图。 图6-11 调整控制处理的扩充如图6-12所示,可以看到三种不同的控制比较:升降、副翼和风门(油门)。 图6-12 力的计算处理综合了几何和空气动力学的计算,扩充如图6-13所示。主合力是由牵引力、提升力、推冲力和重力的向量之和计算而得到的。 图6-13 6.7 功能模型与对象模型和动态模型的关系 功能模型表示了系统“必须要做什么”。底层(相当于叶子部分)处理是在对象上操作。对象模型表示“执行者”——对象本身,每个处理是用某个对象的方法来实现的。 与功能模型的关系:对象模型表示在功能模型中的施动者、数据存储和流的结构,而动态模型表示了执行这一处理的序列。 与对象模型的关系:功能模型表示在类上的操作和每个操作的参数,因此它表示了在类之间的供应者与客户的关系。动态模型表示了每个对象的状态,以及接受事件和改变状态时执行的操作。 与动态模型的关系:功能模型表示了底层动作和动态模型未定义的底层动作以及在动态模型中未定义的活动的定义。对象模型表示改变了什么状态和经历了什么操作。 小结 本章主要论述了面向对象的功能模型,介绍了功能模型的定义以及数据流图的概念,分辨处理和数据流、施动者之间的关系,确定数据存储,掌握控制流等,以及约束,数据库应用中的功能模型。 方法签名——一种方法是类操作的实现。用以下代码来指定方法签名: 类名::操作名 (参数表) 返回 域 方法引用——用“对象名#方法名(参数表)”表示方法的引用。要避免在程序设计语言以及值引用和参照引用之间的低层区分中使用此种表示法 。 功能返回——保留字return是一个方法执行的终结,并返回一个值。 局部变量——如果要保持方法简单,就应少用局部变量,隐含定义局部变量并且不用显式声明。 内含方法参数——根据面向对象语言的习惯,一个方法有执行该方法的对象的内含参数。 6.5.2 ONN的伪代码 用导航对象模型表示扩展伪码,这种表示称为对象导航表示ONN。 ONN的伪码能够详细说明要做什么,而不是如何实现什么。因此,可以很方便地实现具有许多数据库语言的ONN。 ONN有以下几个优点: (1)能把功能模型和对象模型紧紧系在一起。 (2)提高软件生产率。 (3)便于检查。 (4)促进面向对象的思维能力。 6.5.3 ONN的构造 简单二元关联遍历 1)ObjectOrSet.targetRole 这种构造按照目标角色来遍历关联。该目标角 色可以是一个角色名,或者当无二义性时,可 以是一个类名。在图6-5中用aCity.Airport表 示机场为城市服务。 ONN构造有以下含义: (1)在objectOrSet中对每个对象进行迭代。 (2)对每个对象寻找关联对象。 (3)返回关联对象关联共用体(union)。 图6-5 2)objectOrSet.~sourceRole 用“.~”两个操作符组合从源角色开始遍历二元关联。这种源角色可以是一个角色名,或当无二义性时,可以是一个类名。例如,图6-6中用aCity.~City表示机场为城市服务 。 图6-6 资格关联遍历 1)objectOrSet.role 在图6-7中anAirline.FlightDescription表示一条航线有多个航班描述。 图6-7 2)objectOrSet.role[qualifier=value] 资格符不仅改善对象模型的结构,而且使得导航该模型变得容易。可以指定较小的,比没有资格符更精确的对象关联集合。 概括遍历 1)objectOrSet:superclass 例如,在图6-8中aTravelAgent:Agent从TravelAgent子类开始,导航到Agent超类。 图6-8 2)objectOrSet:subclass
文档评论(0)