基于UML及RUP的通用建模过程及案例分析_第1页
基于UML及RUP的通用建模过程及案例分析_第2页
基于UML及RUP的通用建模过程及案例分析_第3页
基于UML及RUP的通用建模过程及案例分析_第4页
基于UML及RUP的通用建模过程及案例分析_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、收稿日期 :2004-01-05; 修订日期 :2004-03-05作者简介 :谢洁锐 (1979- , 男 , 广东揭阳人 , 硕士研究生 , 主要研究方向 :网络通讯、 信息安全、 神经网络 ; 刘才兴 (1963- , 男 , 广东韶关 人 , 副教授 , 主要研究方向 :网络安全、 网络通讯 ; 林丕源 (1963- , 男 , 四川人 , 教授 , 主要研究方向 :图形图像处理、 信息安全、 生物信息 ; 林 毅申 (1980- , 男 , 广东广州人 , 硕士研究生 , 主要研究方向 :图形图像处理、 并行计算、 生物信息 .文章编号 :1001-9081(2004 06Z -03

2、37-02基于 UM L 及 RUP 的通用建模过程及案例分析谢洁锐 , 刘才兴 , 林丕源 , 林毅申(华南农业大学 信息学院 , 广东 广州 510640摘 要 :介绍统一建模语言 UM L 和 Rational 统一过程 RUP 的特点 , 指出在 UM L 建模过程中融合 RUP 进行软件开发的优势 , 并归纳出建模的通用的过程 。 将通用过程成功地应用于车场管理系统的开 发中 , 从而提高建模的效率 。关键词 :UML ;RUP ; 通用建模过程 ; 面向对象 中图分类号 :TP311. 5 文献标识码 :A1引言UM L 1-3是一种定义良好、 易于表达、 功能强大且普遍适应的建模

3、语言 , 它不仅支持面向对象的分析和设计 , 而且支持从需求分析到系统实现的软件开发的整个过程。 但是 ,UM L 只是一种建模语言 , 独立于任何过程。 RUP 4(Rational Unified Process 避免 了早期瀑布模型的致命缺点 , 采用迭代增量式开发、 用例驱动和 面向软件结构体系 , 这使得 RUP 在开发高风险、 开发复杂、 需求多 变的大型系统中有明显的优势。2 UM L &RUP UM L 独立于过程 , 由度 , 的建模过程框架 , , 从而使建模过程 把重点放在对系统的设计上 。 基于 UM L 和 RUP 的通用建模过 程如 :1 需求描述 :建立用户需求和

4、功能模块 ; 2 系统分析 :确定系统中的角色和使用案例 ; 3 系统设计 :扩展和细化各 个模型 , 包括架构设计和详细设计 ; 4 系统实现 :确定系统实 现的结构和环境模型 。3案例分析本文以某停车场管理系统 (ParkSystem 为模型 , 对 UM L建 模 过 程 进 行 分 析 , 采 用 的 建 模 工 具 是 Rational 公 司 的 Rose2002Enterprise Edition 。 利用 Rose 用户可以用图形化的方 式刻画系统的需求和设计 , 自动生成对应的软件框架 , 最后用 户根据实际要求填写代码 。 Rose 可以指导软件的分析 、 设计和 编码 。

5、3. 1系统描述停车场共有 3个分场 , 系统采用 C/S 模式 , 每个分场有一 个客户端 , 并通过局域网连接起来 。 本地业务数据定时通过 Internet 传送到远程经理办公室的备份服务器上 。 系统需求如 下 :1 车辆刷卡入场 , 并作登记 ;2 车辆出场时计算停车费用并收费 ; 3 必须可以挂失 、 停用 , 取消挂失 , 取消停用卡等功能 ;4 必须可以增加新卡 , 注销旧卡 ;5 管理员能够设置读卡器 ; 6 提供数据库维护 、 备份和恢复 ;7 系统必须能够运行于通用的环境 ; 8 系统必须具有友好的用户界面 、 易于维护和扩充 。 3. 2系统分析 3. 2. 1, 用例

6、 。 我们首先确定 4:经理 、 管理员 、 收费员和司机 , 初 , 必须包括业务处理 、 卡管理和数据管 理 , 经过进一步的了解 , 通过细化和发掘 , 最后确定了大约 30个用例 。 图 1只给出业务处理的 4个用例 。图 1Parksystem 用例图3. 2. 2发现业务流程Parksystem 中最主要的业务是车辆的入场登记和出场收费 , 为了更好地发现业务过程 , 捕获业务过程的步骤 , 更好的理解系统的需求和为下一阶段域分析做准备 , 我们对这部分 作了细化 , 并用活动图描述了整个业务的过程 (图略 。 3. 2. 3领域分析分析阶段的另一个主要工作是进行领域分析 , 以列

7、出系 统中特定的类 。 在了解了系统基本要求和对业务进一步了解 后 , 我们可以确定在 Parksystem 中需要处理的关键类 , 如读卡 器 、 卡 、 收费标准 、 收费员 、 车位等都是系统特定的类 。 另外在 活动图中我们可以发掘出相关对象如入场登记记录 。 UM L 中 用类图表示了上述关键类及其关系 , 如图 2所示 。3. 3系统设计设计阶段的任务是以需求建立的模型为基础 , 更深入地第 24卷 2004年 6月计算机应用C omputer ApplicationsVol. 24J une , 2004考虑系统的功能目标 、 技术约束 , 扩展和细化各个模型 , 目的 是指出易

8、于转化为代码的方案 。图 2 Parksystem 类图3. 3. 1架构设计我们利用 UM L 进行系统的高层设计 , 包括定义包 (子系 统 及它们之间的关系和通信机制 。 软件系统要求符合高内 聚低耦合的原则 , 为了使软件有计良好的可扩展的基础 , 必须 考虑应用逻辑和技术逻辑分开 。 在 Parksystem 中 , 我们通过实 施三层结构分离了界面和数据 , 以及应用和数据的关系 , 定义 了 Parksystem 的 4个包及其关系 , 见图 3。图 3 Parksystem 包图 对于包的细化 , 我们把功能类似的类归入同一个包中 :用户接口包处理用户的输入和输出 , 作为和应

9、用层的接 口 。 由于我们采用 Boland 公司的 C+, 包中包含了各种窗体 、 控件和数据窗口等 G UI 类和组件 ; 业务对象包包含了分析阶 段的域类 , 如读卡器 , 车位等 ; 数据库包提供数据库与应用层 的接口以及可以永久存储的数据对象 , 如入场登记记录 、 车位 表和各种接口等 ; 应用包为其他包提供服务的类和组件 , 比如 水晶报表组件 。3. 3. 2详细设计 详细设计阶段对已经引入的包 、 类 、 对象从实现的角度细 化 , 同时使用 UM L 的动态模型描述其特定环境下行为 。 通常 可以借助状态图和其他交互图对类和对象作更详尽的描述 。1 状态图图 4卡的状态图

10、经分析 ,Parksystem 有很多对象存在不同的状态 , 比如缓冲区 、 车位和卡 , 随着条件的不同 , 这些对象从一个状态转移到另一个状态 。 为了描述这些动态的行为 , 我们用 UM L 的状 态图进一步细化对象 , 图 4是卡的状态图 。2 交互图交互图包括顺序图和合作图 , 它们功能相似 , 但顺序图侧 重体现对象消息传递的时间 , 合作图侧重体现对象的协作关 系 。 为了全面体现 Parksystem 业务流程 , 我们将刷卡 、 入场登 记和出场收费三个用例合在一起分析 , 整合后的顺序图和合 作图如图 5。图 5入场登记用例的顺序图3. 4系统实现UM L 为系统实现提供了

11、构件图和配置图 。这个阶段主要目的是对类进行编程 , 我们选用的面向对 象编程工具是 Boland C+, 为了表示系统的组装结构和源代 码的静态结构 , 我们利用 UM L 的构件图表示 , 如图 6所示 。图 6 Parksystem 构件图Parksystem 的实现是基于 TCP/IP 的局域网 , 并与多个外部设 备 连 接 (读 卡 器 、 显 示 屏 、 打 印 机 等 。 系 统 采 用Client/Server 体系结构 , 局网中有一个数据库服务器 , 并配置 Microsoft SQ L Server 为数据库系统 。 车场通过 M odem 与 Internet相连 , 并实现与远程的办公室通信 。参考文献1 (美 Schmuller J. UM L 基础、 案例于应用 M.李虎 , 等译 . 北京 :人民邮电出版社 , 2002.2 (美 Albir SS. UM L 技术手册 M.常晓波 , 译

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论