基于领域模型的面向对象分析及uml建模

上传人:j****9 文档编号:47459391 上传时间:2018-07-02 格式:PDF 页数:3 大小:461.06KB
返回 下载 相关 举报
基于领域模型的面向对象分析及uml建模_第1页
第1页 / 共3页
基于领域模型的面向对象分析及uml建模_第2页
第2页 / 共3页
基于领域模型的面向对象分析及uml建模_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于领域模型的面向对象分析及uml建模》由会员分享,可在线阅读,更多相关《基于领域模型的面向对象分析及uml建模(3页珍藏版)》请在金锄头文库上搜索。

1、收稿日期: 2003- 04- 14。张凤英, 讲师, 主研领域: 软件工程。基于领域模型的面向对象分析及 UML 建模张凤英 ?邹咸林( 嘉应学院计算机科学与技术系? 梅州 514015)摘? 要? ? 领域模型是领域知识的一种图形化表示形式, 是领域知识各组成部分的抽象形式, 同时领域模型也表示了领域内各系统 的一些共同特征。因此, 本文通过对领域模型所展示出来的一些特征的分析, 讨论了如何对领域内的系统进行系统分析, 并将分析过程进行UML 建模。通过对分析过程的UML 建模, 可以提高领域内系统的软件重用层次, 改善软件开发过程。关键词? ? 领域模型? 标准建模语言 UML? 面向对

2、象分析OBJECT -ORIENTED ANALYSIS BASED ON DOMAIN MODEL WITH UML MODELINGZhang Fengying ?Zou Xianlin(Department of Computer Science and Technology , Jiaying College, Meizhou514015)Abstract? ? Domain models represent graphical presentation of domain knowledge and derived from the parts of domain, meanwhil

3、e, domain model shows the common characteristics of systems in domain. By analysing these common characteristics, How to analyse the system within domain is diss -cussed in this paper, and the analytical procedure are modeled by way ofUnifiedModeling Language(UML) .Thus, the system ?s software reuse

4、 level is promoted and the software development procedure is improved.Keywords? ? Domain model? Unified modeling language? OOA1? 引? 言1?1 面向对象系统分析 系统分析是软件工程过程的一个重要环节, 如何做好系统 分析一直是人们所关注的问题之一。系统分析方法主要有: 功 能分解法、 数据流法、 信息建模法及面向对象的分析等方法, 目前面向对象的分析是主流的系统分析方法1, 其主要概念包括: 对象与类、 结构与连接、 继承、 封装、 消息通信。它在加强对问题 域的理

5、解和系统责任的理解、 改进交流、 对需求的适应性、 支持软件重用等四个方面表现出比其他方法更好的能力3。随着标 准建模语言UML 2的产生, 系统建模工具就有了一个标准, 该工 具可以用于软件系统的可视化、 说明、 构建和建立文档等方面,UML 还可用于任何软件开发过程, 无论是采用常规的软件生命 周期法、 原形法或 Rational 统一过程, 都可以使用 UML 进行系统分析和设计。 1?2 领域模型 领域是由具有类似用户需求的一组或一族相关系统所组成 的一个系统集, 它展示了现有各系统的共性、 个性和可重用资 源, 并为相似系统的开发提供了参照模型4。领域也是研究软件重用技术的重要基础,

6、 并对软件过程开发范式产生了极大的 影响5。 领域模型是对领域各部分所形成的一种抽象表示形式, 是为了面向对象的软件开发而形成的图形化表示形式。这种图形 化表示为理解领域知识提供了方便, 并为面向对象的开发奠定了基础。领域模型来源于对领域业务逻辑十分了解的领域工程 师, 他们对领域内应用系统的组成、 结构、 运行状态以及应用系统内部的控制流程都很熟悉。领域模型包括: 领域原形模型、 领域功能模型、 领域动态模型、 领域对象模型、 领域信息模型和领 域数据字典。它们从不同的角度揭示了领域知识及其结构。下面就领域模型所表现出来的一些特征, 如何进行面向对象的系 统分析进行讨论。2? 领域模型及相关

7、的 OOA 活动2?1 领域原形模型( DPM) 领域原形模型获取了应用系统的详细的特定领域知识, 通过问题领域的形式化模型描述来提供一个详细的文档, 由此来 获得需求决策。领域原形模型的主要组成成分有: 用户、 需求、领域工程师、 设计/软件工程师、 领域库、 外部仓库、 产品集成器。 该模型中的核心概念是用户需求及满足用户需求的产品, 并强调在需求驱动下领域工程师与设计/ 软件工程师之间的交流。 因而, DPM 概念说明了用户的一种逻辑, 解释了领域边界和环境内的需求。 因此, 领域原形模型是对特定领域知识最初级和直观的描 述, 注重于客户的需求和用户的功能需求, 指出了领域中的主要活动和

8、参与者, 这可用 UML 的 use case 模型来描述, 这是因为一 个 use case 模型描述了待开发系统的功能需求, 并将系统看作黑盒, 从外部的角度来理解系统, 它驱动了需求分析之后各阶段 的开发工作。在 UML 中一个 use case 模型由若干个 use case 图描述, use case 图的主要元素是 use case 和执行者。第 21卷第 6 期? ? ?计算机应用与软件Vol?21,No?6 2004 年 6 月? ?Computer Applications and SoftwareJun? 2004从领域原形模型出发的 OOA 活动有: ? 发现对象并定义类

9、通过研究问题域和用户需求, 可以较容易地明确系统责任、 确定系统边界, 发现与现实世界问题域特别接近的对象以及一 些对象的基本特征;? 定义活动者 从原形模型中可清楚发现和定义活动者, 如用户、 ( 领域、 设计/软件) 工程师、 以及外部的构件提供商; ? 定义 use case 图如前所述定义 use case 图, 形成 use case 模型; ? 原形开发使用快速原形技术进行原形开发, 以便对风险进行估计, 同 时增加与用户的交流, 测试系统对用户需求的适应性。 2?2 领域功能模型(DFM) 领域功能模型是领域原形模型在功能需求方面的具体体现。DFM 使用了数据流图, 并开发驱使对

10、象经过他们的事件链 所需的过程, 以此来表明系统的特定功能。开发单个对象数据 流图的过程如下: 开发一个对象行为模型 OBM, 它表示一个对象在整个生存期内的行为; 当处于输入状态后, 分析被执行的动 作; 将动作分解为一个过程序列; 将每个过程描述为一个数据流图; 分别画出每个动作的数据流图。 DFM 强调了对对象数据的处理过程, 是以集中式数据处理为核心的, 它有可能包括跨越多个 use case 或多线程的复杂行 为, 也可能跨越多个并发对象, 对象间还可能带有消息接收和发送标志, 因此它比较适合于用 UML 的活动图来进行描述。活动 图是状态图的一种扩展, 它依据对象状态的变化来捕获动

11、作与 动作的结果, 活动图中的一个活动结束以后将立即进入下一个活动, 活动之间的关系可以是顺序关系、 条件选择关系以及并发 关系。从领域功能模型反映出来的 OOA 活动有: 定义对象的内部 特征, 包括:? 定义对象属性 以系统责任为目标进行抽象, 找出每类对象的属性; ? 定义对象服务通过对象状态的一系列转化过程来捕获对象行为; ? 发现对象间的关系由活动的执行过程发现所涉及到的对象。 2?3 领域动态模型(DDM) DDM 说明了领域边界内的对象及对象间联系的生存期或 事件历史。对象的生存期也就是对象生存期间的行为, 一个对象在一个时刻仅具有一个状态, 状态间是相互独立的。DDM 是 对对

12、象在其生命周期中的一种形式化表示, 包括状态、 事件、 变迁和动作四个部分, 每个动态对象都有一个 DDM, 建立 DDM 包 括如下活动: 分析和记录模型实例的生命周期; 记录实例的各种状态; 标明对象的所有关系的状态; 定义动作; 标记非终结状态; 标识事件; 延伸生成这些事件的动作。 很显然, DDM 可以用 UML 的状态图来描述, 因为状态图描述一个特定对象的所有可能状态及其引起状态转移的事件, 表 示单个对象在其生命周期中的行为。DDM 的四个组成部分为:状态、 事件、 转移和动作, 它们之间存在一定的逻辑关系, 因而用 UML 的状态图来描述 DDM, 可以对 DDM 的建立活动

13、进行标准化, 同时有助于对对象行为的规范化表示和理解。 若要反映一组对象以及这些对象间的相互作用, 以确定整个系统的行为, 可以用 UML 的交互视图来描述。交互视图是对 象间合作关系的模型, 用顺序图来描述对象之间动态的交互关系, 着重体现对象间消息传递的时间序列, 合作图用于描述相互 合作的对象间的交互关系和链接关系。领域模型虽然强调了标 识领域对象和对象间的关系, 但对对象间的交互关系的体现不充分, 运用UML 来讨论领域模型, 正好弥补了领域模型自身的 不足, 使领域模型自成一个完整的体系。从领域动态模型所反映出来的OOA 活动有: 识别对象的行 为及对象间的协作与交互。?建立实例连接

14、 对象间静态关系;?建立消息连接 对象间动态关系; ?定义 use case, 建立交互图系统行为描述。 2?4 领域对象模型( DOM) DOM 使用了来自面向对象和结构化方法中的概念, 包括抽 象数据类型, 继承以及耦合与内聚模块。DOM 用具有适当文档的图形化模块来表示, 这些文档将需求从一个阶段转到另一个 阶段, 以利于实现。DOM 支持面向对象分析( OOA)和面向对象设计(OOD) 的软件需求, OOD 可由任何适当的面向对象的编程 语言来实现。DOM 包含了所有理解用户需求的分析, 还包含了与所有外部接口相关的信息, 这些接口与外部系统相连接。 因而 DOM 是对领域的最高层的认

15、识, 包括整个领域的配置状况以及领域内系统的实现环境, 通常可用机器接口表示领域 硬件支持环境, HQ: 办公接口表示领域中的特定应用系统或性 能支持环境, 人员接口表示领域操作环境, 系统则表示领域软件。因此我们可以用 UML 的构件图和配件图来描述 DOM。 从领域对象模型所反映出来的OOA 活动有: 定义对象的静态结构。 ?建立一般- 特殊结构表示对象间的分类关系; ?建立整体- 部分结构 表示对象间的组成关系。2?5 领域信息模型( DIM) DIM 标识了问题的概念性实体, 并把它们形式化成对象与 属性, 并以对问题进行完整的、 清楚的理解为目标。DIM 还标识 了与问题相关的一些事

16、物以及它们之间的关系, 这些事物和联系也在此建模。模型十分简单、 易读、 易理解。主要强调的是对 象间关系的形式化, 模型以图形化的方式描述。文本化描述用于模型语义定义。 建立 DIM 的主要活动如下: 确立问题中相似的事物( 行为一样并由相同的特征来刻划) 并组织成一个集合; 把一个集合命 名成一个对象; 确立集合中所有元素的公共特征, 并命名为该集合的属性, 属性可以是描述性的、 命名性的和引用性的; 确立问 题中事物之间的联系, 因为这些联系应反映在模型中; 确立对象 之间联系( 1: 1, 1: m, m: m)。DIM 仍然是对领域知识的静态表示, 因而可以用 UML 的静 态建模机制来描述 DIM。在 UML 中, 对象是类的实例, 通常用对象来描述客观世界中某个具体的实例, 而类则是对一类具有 相同特征( 属性和行为) 的对象的描述。虽然在 DIM 中没有明显地指出行为特征, 但在确立事物的相似性时其依据是行为, 因 此用UML 中的类来描述 DIM 中的对象, 用类来描述 DIM 中对象? 第 6 期? ? ?张凤英等: 基于领域模型的面向对象分析及

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号