对象模型技术
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
当然,各模型应该包含哪些属性还存在着一定程度上的 偶然性和模糊性。这是很自然的,因为任何抽象仅仅是对 现实世界粗略的反映,不可避免地存在一些越界的抽象。 系统的某些性质不能通过模型表示,这也是正常的,因为
信息系统分析与设计
没有一个抽象能概括一切。目的是简化系统的描述,而不 希望模型具有很多结构,以至变成大而无助的模型。对那 些模型不能充分说明的事物,自然语言和专门的应用表示 法仍是一种最好的、可接受的描述工具。
信息系统分析与设计
他对象的关系、属性和操作。对象模型提供了动态和功能 模型都适用的基本框架。如果不存在将要改变或转换的事 物的话,那么该改变和转换是没有意义的。对象是现实世 界划分事件的单元,是模型中的组成成分。
构造对象模型的目的是想捕获那些来自实际事件且对应 用很重要的概念。在建立工程问题模型中,对象模型应包 含工程师所熟悉的术语;在建立商业问题的模型中,术语 应该来自商业;在建立用户界面的模型中,术语应该来自 应用领域。除非建立的模型是计算机问题(如编译系统或 操作系统),一个分析模型不应当包含计算机结构。设计 的模型描述如何去解决一个问题,它可以包含计算机结构。
要了解一个系统,首先就要检查系统的静态结构,即了 解系统的对象结构和在某一时刻的对象之间的关系。然而, 我们更需要了解所有时间内对象的变化和对象之间关系的 变迁,这也正是系统所关注的时序关系。这就产生了一种 与静态结构相对应的、与时间有关的和与变化有关的内容, 即动态模型。
信息系统分析与设计
动态模型描述了系统中与时间和操作序列有关的内容,即 标志改变的事件、事件序列、定义事件上下文状态以及事 件和状态的组织。动态模型着眼于“控制”,即描述系统 中发生的操作序列,而不考虑操作做些什么,对什么进行 操作以及如何实现这些操作。
信息系统分析Biblioteka 设计信息系统分析与设计模型是为了在构造事物前理解事物而对事物作出的一种 抽象。由于模型忽略了事物的非本质东西,所以它比原始 事物容易操纵。抽象是人类处理复杂问题的基本能力。
信息系统分析与设计
几千年来,工程师、艺术家和工匠们为了设计产品,在制 作之前都用建立模型进行试探或试验。软件和硬件系统开 发也不例外。在创建复杂系统之前,开发者必需从不同角 度来对系统进行抽象,用精确的符号表示建立模型,校验 该模型能否满足系统的需求。在设计和实现过程中,逐步 添加细节,把该模型逐步完善直至实现成为最终产品。
信息系统分析与设计
功能模型描述了系统与值转换有关的诸方面,即功能、映 象、约束和功能性依赖。功能模型只着眼于系统做什么, 而用不着考虑如何做,什么时候去做。
功能模型用数据流图表示。数据流图表示根据输入值和 函数进行的输出值的计算与值之间的相关性,而不考虑功 能是否执行和什么时候执行。像表达树这些传统的计算机 概念是功能模型的例子。电子数据表格是较新的一个例子。 在动态模型中,功能作为动作被唤醒,而在对象模型中则 作为对对象的操作。 1.4 三种模型的联系 对象模型、动态模型和功能模型都包含了相同的概念、数 据名、顺序和操作,但各种模型都侧重某一特殊方面而忽 略其他方面。这三种模型对一个问题的整体理解是必要的, 虽然它们在模型中的重要性随着应用的不同而不同。
信息系统分析与设计
描述。但决不表示人们可以抛弃它们,可以弃之不用,并 不影响抽象的可用性。抽象的目的是限定我们力所能及的 范围。因此,在建造模型时,你用不着寻找绝对的真实, 而只需找出一些足以说明某一目标的内容就行了。世上不 存在绝对惟一“正确”的模型,仅存在充分或不充分之分。
一个好的模型能够反映问题的主要方面,而忽略问题的 次要方面。例如,大多数计算机语言对建模算法来说基本 是无用的,因为它们强调的是与算法无关的实现细节。一 个包含无关的不必要细节的模型将限制你的设计决策,并 且分散对真正问题的注意力。
我们发现从三个不同但又相关的角度去建立系统模型是 很有用的。这三个角度各自都抓住了系统的一些重要方面, 但对于系统的完整描述来说都是需要的。对象模型技术 (Object Modeling Technique,简称OMT)是综合这三种
信息系统分析与设计
不同观点建立系统模型的方法学。“对象模型”表示系统 的静态的、结构化的数据;“动态模型”表示系统的时态 的、行为的控制方式:“功能模型”则表示了系统的转换 功能。一个典型的软件过程把这三个方面紧密结合在一起: 使用数据结构(对象模型),按时间调整操作顺序<动态模 型)和转换属性值(功能模型)。每种模型都包含了对应于另 外模型中的实体。例如,操作可归并到对象模型中的对象, 但在功能模型中则更充分的展开。
与功能模型的关系:对象模型表示在功能模型中的施动 者、数据存储和流的结构,而动态模型表示了执行这一处 理的序列。
与对象模型的关系:功能模型表示在类上的操作和每个 操作的参数,因此它表示了在类之间的供应者和客户的关 系。动态模型表示了每个对象的状态,以及接受事件和改 变状态时执行的操作。
与动态模型的关系:功能模型表示了底层动作和动态模 型未定义的底层动作以及在动态模型中未定义的活动的定 义。对象模型表示改变了什么状态和经历了什么操作。
动态模型用状态图表示。每一个状态图展示了系统中对 象类所允许的状态和事件序列。状态图也涉及到其他模型, 状态图中的动作对应于功能模型中的功能。状态图中的事 件为对象模型中对对象的操作。 1.3 功能模型
功能模型描述系统内的计算。它和对象模型、动态模型 共同构成系统模型结构的三大支柱。功能模型表示计算中 如何从输入值推导出输出值,而无需考虑被计算值的次序。
对象模型用包含对象类的对象图来表示。类按层次排列, 并共享公共结构和行为特征,类与其他类相关联。类定义 了每个对象实例所取的属性值和每个对象执行的操作。
信息系统分析与设计
对象模型通过描述系统中对象、对象之间的联系、属性以 及刻画每个对象类的属性和操作来表示系统的静态结构。 对象模型是三种模型中最重要的。我们重点用对象来构造 系统,而不是围绕功能来构建系统,因为面向对象模型更 接近实际并容易修改,所以能更快速地对变化作出反应。 对象模型提供一种系统的直观的图形表示,并且文档化系 统结构有利于用户之间进行有价值的交流。 1.2 动态模型
信息系统分析与设计
模型是在实现问题求解之前,为了理解而创建的抽象描述。 所有的抽象都是为特定目的选择的客观事物的子集。
OMT由三种模型组成。对象模型描述一个根据对象和相 对实体关系的系统的静态结构。动态模型是根据事件和状 态描述系统的控制结构。功能模型是根据属性值和功能来 描述系统的计算结构。不同的问题对三种模型的侧重也不 同,但对任何大系统而言,三种模型都是必需的。
OMT技术的三种模型用纵向视图把系统划分为能够用统 一的符号表示和操作。不同的模型并不完全独立,一个系 统肯定比单个独立的聚集包含的内容更多更丰富。但在很 大程度上,每种模型能够通过模型进行测试和理解。不同
信息系统分析与设计
模型间的相互联系是有限的、明确的。当然,也有可能形 成不理想的设计,三种模型交错混合以致不能分离,然而 一个理想的设计能区分一个系统的不同方面并限制了它们 之间的耦合。 在开发周期中,这三种模型的每一种都不断发展。在分析 阶段,应用领域的一种模型不需要涉及实现的构造;在设 计阶段,在原有模型上添加了应用问题的解决方法;在实 现阶段,则对应用领域和解领域的结构都进行了编码。模 型有两层含义,一层是系统的观点(对象模型、动态模型 和功能模型);另一层是开发阶段(分析、设计和实现)。根 据前后关系,它的含义一般是很清晰的。 1.1 对象模型 对象模型描述了系统中对象结构,包括对象的标识、与其
抽象是问题某些方面的选择性检查。抽象的目的主要是 提炼相对某种目的是重要的方面,而忽略次要方面。抽象 总是出于某种目的,因为目的决定了哪些方面是重要的, 哪些方面是次要的。根据不同的抽象目的,同一事物可以 有不同的抽象。
所有抽象都是不完备的和不精确的。现实世界就像一张 无缝的网,我们所谈的和所描述的一切都只是它的片段。 所有人类的词汇和语言都是抽象的,是现实世界不完备的
信息系统分析与设计
这三种模型在方法实现中同时出现。 每种模型描述系统的一个侧面,但包含对其他模型的联系。 对象模型描述了动态模型和功能模型操作的数据结构。对 象模型中的操作对应于动态模型中的事件和功能模型中的 功能。动态模型描述对象的控制结构,它展示了依赖于对 象值并导致改变对象值和唤醒功能的动作的决策。功能模 型描述由对象模型中的操作和动态模型的动作唤醒(产生) 的功能。功能是对象模型指定的数据值上操作,功能模型 给出对象值上的约束。
信息系统分析与设计
信息系统分析与设计
没有一个抽象能概括一切。目的是简化系统的描述,而不 希望模型具有很多结构,以至变成大而无助的模型。对那 些模型不能充分说明的事物,自然语言和专门的应用表示 法仍是一种最好的、可接受的描述工具。
信息系统分析与设计
他对象的关系、属性和操作。对象模型提供了动态和功能 模型都适用的基本框架。如果不存在将要改变或转换的事 物的话,那么该改变和转换是没有意义的。对象是现实世 界划分事件的单元,是模型中的组成成分。
构造对象模型的目的是想捕获那些来自实际事件且对应 用很重要的概念。在建立工程问题模型中,对象模型应包 含工程师所熟悉的术语;在建立商业问题的模型中,术语 应该来自商业;在建立用户界面的模型中,术语应该来自 应用领域。除非建立的模型是计算机问题(如编译系统或 操作系统),一个分析模型不应当包含计算机结构。设计 的模型描述如何去解决一个问题,它可以包含计算机结构。
要了解一个系统,首先就要检查系统的静态结构,即了 解系统的对象结构和在某一时刻的对象之间的关系。然而, 我们更需要了解所有时间内对象的变化和对象之间关系的 变迁,这也正是系统所关注的时序关系。这就产生了一种 与静态结构相对应的、与时间有关的和与变化有关的内容, 即动态模型。
信息系统分析与设计
动态模型描述了系统中与时间和操作序列有关的内容,即 标志改变的事件、事件序列、定义事件上下文状态以及事 件和状态的组织。动态模型着眼于“控制”,即描述系统 中发生的操作序列,而不考虑操作做些什么,对什么进行 操作以及如何实现这些操作。
信息系统分析Biblioteka 设计信息系统分析与设计模型是为了在构造事物前理解事物而对事物作出的一种 抽象。由于模型忽略了事物的非本质东西,所以它比原始 事物容易操纵。抽象是人类处理复杂问题的基本能力。
信息系统分析与设计
几千年来,工程师、艺术家和工匠们为了设计产品,在制 作之前都用建立模型进行试探或试验。软件和硬件系统开 发也不例外。在创建复杂系统之前,开发者必需从不同角 度来对系统进行抽象,用精确的符号表示建立模型,校验 该模型能否满足系统的需求。在设计和实现过程中,逐步 添加细节,把该模型逐步完善直至实现成为最终产品。
信息系统分析与设计
功能模型描述了系统与值转换有关的诸方面,即功能、映 象、约束和功能性依赖。功能模型只着眼于系统做什么, 而用不着考虑如何做,什么时候去做。
功能模型用数据流图表示。数据流图表示根据输入值和 函数进行的输出值的计算与值之间的相关性,而不考虑功 能是否执行和什么时候执行。像表达树这些传统的计算机 概念是功能模型的例子。电子数据表格是较新的一个例子。 在动态模型中,功能作为动作被唤醒,而在对象模型中则 作为对对象的操作。 1.4 三种模型的联系 对象模型、动态模型和功能模型都包含了相同的概念、数 据名、顺序和操作,但各种模型都侧重某一特殊方面而忽 略其他方面。这三种模型对一个问题的整体理解是必要的, 虽然它们在模型中的重要性随着应用的不同而不同。
信息系统分析与设计
描述。但决不表示人们可以抛弃它们,可以弃之不用,并 不影响抽象的可用性。抽象的目的是限定我们力所能及的 范围。因此,在建造模型时,你用不着寻找绝对的真实, 而只需找出一些足以说明某一目标的内容就行了。世上不 存在绝对惟一“正确”的模型,仅存在充分或不充分之分。
一个好的模型能够反映问题的主要方面,而忽略问题的 次要方面。例如,大多数计算机语言对建模算法来说基本 是无用的,因为它们强调的是与算法无关的实现细节。一 个包含无关的不必要细节的模型将限制你的设计决策,并 且分散对真正问题的注意力。
我们发现从三个不同但又相关的角度去建立系统模型是 很有用的。这三个角度各自都抓住了系统的一些重要方面, 但对于系统的完整描述来说都是需要的。对象模型技术 (Object Modeling Technique,简称OMT)是综合这三种
信息系统分析与设计
不同观点建立系统模型的方法学。“对象模型”表示系统 的静态的、结构化的数据;“动态模型”表示系统的时态 的、行为的控制方式:“功能模型”则表示了系统的转换 功能。一个典型的软件过程把这三个方面紧密结合在一起: 使用数据结构(对象模型),按时间调整操作顺序<动态模 型)和转换属性值(功能模型)。每种模型都包含了对应于另 外模型中的实体。例如,操作可归并到对象模型中的对象, 但在功能模型中则更充分的展开。
与功能模型的关系:对象模型表示在功能模型中的施动 者、数据存储和流的结构,而动态模型表示了执行这一处 理的序列。
与对象模型的关系:功能模型表示在类上的操作和每个 操作的参数,因此它表示了在类之间的供应者和客户的关 系。动态模型表示了每个对象的状态,以及接受事件和改 变状态时执行的操作。
与动态模型的关系:功能模型表示了底层动作和动态模 型未定义的底层动作以及在动态模型中未定义的活动的定 义。对象模型表示改变了什么状态和经历了什么操作。
动态模型用状态图表示。每一个状态图展示了系统中对 象类所允许的状态和事件序列。状态图也涉及到其他模型, 状态图中的动作对应于功能模型中的功能。状态图中的事 件为对象模型中对对象的操作。 1.3 功能模型
功能模型描述系统内的计算。它和对象模型、动态模型 共同构成系统模型结构的三大支柱。功能模型表示计算中 如何从输入值推导出输出值,而无需考虑被计算值的次序。
对象模型用包含对象类的对象图来表示。类按层次排列, 并共享公共结构和行为特征,类与其他类相关联。类定义 了每个对象实例所取的属性值和每个对象执行的操作。
信息系统分析与设计
对象模型通过描述系统中对象、对象之间的联系、属性以 及刻画每个对象类的属性和操作来表示系统的静态结构。 对象模型是三种模型中最重要的。我们重点用对象来构造 系统,而不是围绕功能来构建系统,因为面向对象模型更 接近实际并容易修改,所以能更快速地对变化作出反应。 对象模型提供一种系统的直观的图形表示,并且文档化系 统结构有利于用户之间进行有价值的交流。 1.2 动态模型
信息系统分析与设计
模型是在实现问题求解之前,为了理解而创建的抽象描述。 所有的抽象都是为特定目的选择的客观事物的子集。
OMT由三种模型组成。对象模型描述一个根据对象和相 对实体关系的系统的静态结构。动态模型是根据事件和状 态描述系统的控制结构。功能模型是根据属性值和功能来 描述系统的计算结构。不同的问题对三种模型的侧重也不 同,但对任何大系统而言,三种模型都是必需的。
OMT技术的三种模型用纵向视图把系统划分为能够用统 一的符号表示和操作。不同的模型并不完全独立,一个系 统肯定比单个独立的聚集包含的内容更多更丰富。但在很 大程度上,每种模型能够通过模型进行测试和理解。不同
信息系统分析与设计
模型间的相互联系是有限的、明确的。当然,也有可能形 成不理想的设计,三种模型交错混合以致不能分离,然而 一个理想的设计能区分一个系统的不同方面并限制了它们 之间的耦合。 在开发周期中,这三种模型的每一种都不断发展。在分析 阶段,应用领域的一种模型不需要涉及实现的构造;在设 计阶段,在原有模型上添加了应用问题的解决方法;在实 现阶段,则对应用领域和解领域的结构都进行了编码。模 型有两层含义,一层是系统的观点(对象模型、动态模型 和功能模型);另一层是开发阶段(分析、设计和实现)。根 据前后关系,它的含义一般是很清晰的。 1.1 对象模型 对象模型描述了系统中对象结构,包括对象的标识、与其
抽象是问题某些方面的选择性检查。抽象的目的主要是 提炼相对某种目的是重要的方面,而忽略次要方面。抽象 总是出于某种目的,因为目的决定了哪些方面是重要的, 哪些方面是次要的。根据不同的抽象目的,同一事物可以 有不同的抽象。
所有抽象都是不完备的和不精确的。现实世界就像一张 无缝的网,我们所谈的和所描述的一切都只是它的片段。 所有人类的词汇和语言都是抽象的,是现实世界不完备的
信息系统分析与设计
这三种模型在方法实现中同时出现。 每种模型描述系统的一个侧面,但包含对其他模型的联系。 对象模型描述了动态模型和功能模型操作的数据结构。对 象模型中的操作对应于动态模型中的事件和功能模型中的 功能。动态模型描述对象的控制结构,它展示了依赖于对 象值并导致改变对象值和唤醒功能的动作的决策。功能模 型描述由对象模型中的操作和动态模型的动作唤醒(产生) 的功能。功能是对象模型指定的数据值上操作,功能模型 给出对象值上的约束。
信息系统分析与设计