(转)uml 模型说明了什么

一个模型是一个系统潜在配置的发生器;系统是它的范围,或值。按照模型来进行系统配置是一种理想化的情况。然而,有时模型所要求的种种条件在现实中无法实现。模型还是对系统含义和结构的一般性说明。这种描述是模型的范围,或含义。模型总是具有一定的抽象层次。它包含了系统中的最基本的成分而忽略了其他内容。对模型来说,有以下几方面需要考虑:

 

抽象和具体 模型包含了系统的基本成分而忽略了其他内容。哪些是基本内容哪些不是基本内容需要根据建模的目的来判定。这不是说要把模型所含信息的精度一分为二,即只有精确和不精确两种情况。可能会存在一系列表达精度不同但逐渐提高的模型。建模语言不是程序设计语言。建模语言所表达的内容可能很不精确,因为多余的详细内容与建模目的无关。具有不同精度级别的模型可应用于同一个项目的各个阶段。用于程序设计编码的模型要求必须与程序设计语言有关。典型的情况是,在早期分析阶段使用高层次的,表达精度低的模型。随着开发过程的深入,所用的模型越来越细化,最终所使用的模型包含了大量的细节内容,具有很高的精度。

 

说明和实现 一个模型可以告诉我们“做什么”(说明),也可以告诉我们“一个功能是如何实现的———即怎么做”(实现)。建模时要注意区分这两方面。在花大量时间研究怎么做之前很重要的一点就是要正确分析出系统要做什么。建模的一个重要的侧面是对具体实现细节进行抽象。在说明和实现之间可能有一系列相关关系,其中在某层次中的说明就是对它上一层次的实现。

 

阐述和举例 模型主要是描述性的。模型所描述的是一个个实例,这些实例仅是作为例子才出现在模型中的。大部分实例仅在运行的一部分时间中才存在。有时,运行实例自身是对其他事物的描述。我们把这些混杂对象称做元模型( Metamodel )。更深一层次的看,认为任何事物不是描述性的就是实例性的,这种观点是不符合实际情况的。某一事物是实例还是描述不是孤立区分的,与观察角度有关,大部分事物都可以用多种角度来考察。

 

解释的变更 用一种建模语言对模型可能会有多种的解释。可以定义语义变更点( semantic variation point ) ——— 可能会出现多种解释的地方 ——— 给每一个解释一个语义变更名,以便可以标识究竟使用了哪种解释。例如, Smalltalk 语言的使用者要避免在系统实现模型种出现多重继承关系,因为 Smalltalk 语言不支持多重继承。而其他程序设计语言使用者可能会在模型种使用多重继承。语义变更点支持多种具体的实现过程
posted @ 2006-08-28 11:55  阿东hd  阅读(293)  评论(0编辑  收藏  举报