• 热门标签

当前位置: 主页 > 航空资料 > 计算机 >

时间:2010-08-09 13:05来源:蓝天飞行翻译 作者:admin
曝光台 注意防骗 网曝天猫店富美金盛家居专营店坑蒙拐骗欺诈消费者

如果你曾经设计过关系型数据库,可能对规格化属性值有一定的研究:你应该明白表格中
的所有特性值应该是原子的,如果发现非原子特性,你的本能将驱使你为它创建一个新的表格。
在X M L设计中,最好忘记这些规则。复合特性值不是X M L设计中需要避免的问题。复合特性值
的例子有:由数字值和测量单位(如:米或加仑)构成的测量结果,或者由钱数和货币单位构
成的货币值。另外还有地址、地理位置和薪水历史。最终,你会将它们分为各个组成部分,但
是层次化模型的最大特点是你可以将它们组合在一起。这也
意味着你可以暂时不考虑详细的内部结构,而将它留至设计
过程的后续阶段,这种方式有助于保持高层模型的清晰度,
并且使之易于理解。
在U M L中,你可以将对象的特性放在描述对象的框中,
如图4 - 3所示。根据我自己的经验,我认为文本形式的特性列
表通常更加易于维护,例如将它们存储在电子表格中。然而,
为了便于解释,有时也需要在示意图中放入几个特性,以便
说明该对象所代表的信息类型:
因此,在第4步的结尾,我们终于完成了静态信息模型:
我们已经确定了系统中各个对象类型的定义,它们之间的关
系,以及它们的特性。
现在,我们将转向信息建模的另一个重要方面:动态建
模,它将描述系统运行过程中对信息可能执行的操作。
4.1.5 动态建模:对数据进行哪些处理
到目前为止,我们已经了解了静态信息模型。如果你希望使用X M L表示系统中流动的消息,
第4章数据建模与XML使用87 下载
图4-3
还需要理解以下问题:我们将对数据进行哪些处理,这些数据来自何方,下一步要送往何处。
动态建模可以采用以下几种方法。在一个项目中可能不会用到所有方法,因此我们不准备
像介绍静态建模那样提供简单的按部就班的方法。在本节中,我们将列举一些可选的技术,你
可以根据自己项目的特点选择适当的方法。我们将介绍的内容有:
• 处理模型和工作流模型
• 数据流模型
• 对象模型
• 对象生存周期历史
• 使用案例
• 对象交互图
记住,我们的目标是争得大家的同意,获得众人正确的理解:创建模型有助于大家理解系
统预期的功能。你只需要将系统中比较困难的部分模型化,而不必为系统的各个部分建立模
型。
1. 处理模型和工作流模型
处理模型和工作流模型侧重于人和企业在完成任务过程中所扮演的角色,信息存储和处理
阶段是相对次要的。例如,处理模型将描述旅游者在度假过程中遇到事故时怎么办:它定义了
旅游胜地的当地代理、本国的代理和总公司的职责,它明确了谁应该负责安排医疗、安排返程
和通知亲属。为了使整个过程顺利进行,它可能还规定了要填写和传递的各种表格,它或许根
本不包含任何计算机系统。处理模型通常集中于角色、责任,以及系统中各方参与者的任务,
而工作流模型更多地关注于在参与者之间传送的文档。
2. 数据流模型
数据流模型与处理模型非常类似,但是它更多地侧重于信息系统,而不是业务。数据流模
型描述了数据存储、处理器和数据流。数据存储规定了将信息永久性地保留在何处(例如:
计算机数据库,或者仅仅放在档案柜中);处理器将对数据进行操作;数据流是指将数据从
一个处理器或数据存储传送到另一个处理器或数据存储。数据流模型极其依赖于静态信息模
型;静态模型通过旅游者或旅馆等概念的定义描述了它们的含义,但是它没有说明信息的存
储。相反地,数据流模型将说明有关假期的信息会一直保留在预订数据库中,直至假期结束
并结清所有帐目,此时,关于假期详细情况的总结将转移到市场信息系统,其余内容将传送
到归档存储。
3. 对象模型
对象模型包含动态部分和静态部分。对象定义的动态部分或称行为部分侧重于每个对象能
够做什么,它通过一组操作或方法定义了对象的行为。
就我个人而言,我并不认为行为对象模型对建模有很大的价值;它更适合作为设计工具。
因为许多事件都是与多个对象相关的(例如:旅游者到旅馆登记),到底将它与其中的哪个对象
相关联纯粹属于设计决策。
4. 对象生存周期历史
对象生存周期历史( U M L称之为对象生命线)也关注于单个的对象,但是它是从整体角度
88使用XML 高级编程
下载
考虑的:它描述了每个对象在生存周期内所执行的操作—如何创建对象,在对象的生存周期
中能够发生哪些事件,对象如何响应这些事件,什么情况使得它最终被清除。
我发现对象生存周期历史对于测试模型的完整性非常有价值。人们常常会特别注意一些事
件,而忽视另一些事件—例如,模型可能描述了如何处理假期预订,而忽略了如何处理取消
预订或要求退款的情况。只有定义了每个对象如何进入系统,以及如何从系统中删除,你才会
发现原来的考虑可能存在着纰漏。
5. 使用案例
使用案例分析了特定的用户任务是如何完成的,例如:预订了假期的人如何取消订单?使
用案例可以与处理模型非常类似,但是它通常侧重于特定用户的活动。
在将业务模型化和描述I T系统的内部行为方面,用户案例都非常有用。但是,这两个层次
有可能混淆;你最好将这两者分离,因为它们是针对不同的听众的。虽然如何发挥使用案例的
作用要根据实际情况而确定,但是我所见过的最有价值的实例是将使用案例主要应用于用户与
系统的交互—描述对话框,例如:“用户通过在地图上点击说明所希望的度假地点。系统将据
此提供旅馆列表,每个旅馆都配以一幅照片,并且注明了旅馆的名称和价目表。用户可以点击
任何旅馆,进一步了解有关该旅馆的信息。屏幕上显示的信息中将包含一个按钮,用户可以通
过它进行预订⋯⋯”,等等。
U M L为描述使用案例提供了图形表示法,但是最好的方法是通过交互式原型,人们常常称
它为s t o r y b o a r d。
 
中国航空网 www.aero.cn
航空翻译 www.aviation.cn
本文链接地址:XML高级编程上(37)