第6章统一建模语言UML与RationalRose工具
《统一建模语言(UML)》Rational Rose 介绍
Rational Rose 介绍
选择实现语言
J2EE J2SE JDK VB6 VC6 Oracle RUP
Rational Rose IDE 环境
浏览器
四个视图
用例视图
业务模型、用例模型、分析模型
逻辑视图
组件视图 部署视图
正向工程
设置默认语言为Java,Tools->Options->Notation-
>default:选择Java。 设置环境变量ClassPath,Tools->Java/j2ee->Project Specification->ClassPath:具体路径设置为正向工程 生成java文件要保存的目录,一般为项目的src目录。 打开设计好的类图,选中要生成的Java文件的类,然后 通过Tools->Java/J2ee->General Code生成java文件.
逆向工程
点击Tools->Java/J2ee->Reverse
Engineer,调出Java Reverse
Engineer对话框。 添加要进行逆向工程的Java文件,并选中,然后点击Reverse按钮即可。
谢谢观看
3. 组件视图
创建具体的实现模型 包含内容
Package Component Component
diagram
4. 部署视图
创建具体的实现模型 包含内容
Processor Device Deployment
diagram
文档窗口
可以为任何当前 UML元素添加注释、 说明或简单定义等。 导出发布模型时, 这里的文字也会自 动输出。
Rational Rose统一建模语言 UML
Rational Rose统一建模语言UML就像一个戏剧导演设计一个剧本一样,一个软件设计师使用Rational Rose,以演员(数字)、使用拖放式符号的程序表中的有用的案例元素(椭圆)、目标(矩形)和消息/关系(箭头)设计个种类,来创造(模型)一个应用的框架。
当程序表被创建时,Rational Rose记录下这个程序表然后以设计师选择的C++,Visual Basic,Java,Oracle8,CORBA或者数据定义语言(Data Definition Language)来产生代码。
编辑本段内容Rational Rose包括了统一建模语言(UML),OOSE,以及OMT。
其中统一建模语言(UML)由Rational公司3位世界级面向对象技术专家Grady Booch、Ivar Jacobson、和Jim Rumbaugh通过对早期面向对象研究和设计方法的进一步扩展而得来的,它为可视化建模软件奠定了坚实的理论基础。
同时这样的渊源也使Rational Rose力挫当前市场上很多基于UML可视化建模的工具,例如有Microsoft的Visio2002,Oracle的Designer2000,还有PlayCase、CA BPWin、CA ERWin、Sybase PowerDesigner等等。
Rational Rose是一个完全的,具有能满足所有建模环境(Web开发,数据建模,Visual Studio和C++)需求能力和灵活性的一套解决方案。
Rose允许开发人员,项目经理,系统工程师和分析人员在软件开发周期内在将需求和系统的体系架构转换成代码,消除浪费的消耗,对需求和系统的体系架构进行可视化,理解和精练。
通过在软件开发周期内使用同一种建模工具可以确保更快更好的创建满足客户需求的可扩展的、灵活的并且可靠的应用系统。
编辑本段特征Rational Rose的两个受欢迎的特征是它的提供反复式发展和来回旅程工程的能力。
UML与Rational Ros
20
Use Case的事件流程
每个Use Case同时也被一个事件流文档化,事件流是Use Case 完成需求的行为的事件的描述。事件流是指示系统要完成什 么, 而不是如何完成。因此,这是由领域语言(即客户的专业语 言)而不是实现语言(如通常的PDL描述语言)写的。 事件流包含: •什么时候Use Case如何开始和结束? •Use Cases和actors之间如何交互? •Use Case需要什么数据?
12
在Rationa rose中创建actors
1. 在Browser中的Use Case视图中单击鼠标右键,显示出弹 出菜单;
2. 选择New:Actor菜单选项,一个叫做New Class的新的 actor出现在浏览器中;
3. 选中这个叫做New Class的actor,更名为设计的名字; 创建好的Actors在浏览器中的显示:
13
Actors文档:在Rose中我们对模型元素都可以(在多数情况下是 必须)添加文档以描述更多的信息。
应该给模型中的每个actor添加摘要描述,摘要描述表示actor和 系统交互的规则。
课程注册系统中actor的摘要描述如下: 1.学生——在学校注册上课的人; 2.教师——在学校被认可上课的人; 3.注册管理员——系统认同的维护人员; 4.收费系统——学生付费的外部系统;
维护课程Use Case的创建课程事件流必须在该Use Cases开始 前执行;
1.2主要事件流; 当教师登录系统并输入口令后这个Use Case开始。系统校验 口令正确后,提示教师选择当前或以后的学期。教师输入预 定的学期。系统提示教师选择动作: ADD,DELETE,REVIEW,PRINT,或QUIT。如果选择了ADD,则 S-1:执行增加可选的课程子流;如果选择了DELETE,则S-2: 执行删除课程子流;如果选择了REVIEW,则S-3:执行预览计 划子流;如果选择了PRINT,则S-4:执行打印计划子流;如果 选择了QUIT,则:Use Case终止; 22
UML及建模工具Rose简介
UML及建模工具Rose在随着面向对象的程序设计的广泛应用,可视化编程遍地开花的今天,编程工作人员的地位一再被动摇,早以不再作为开发中的主流,而软件工程的应用以作为软件开发的质量和效率的重要见证已越来越被重视,针对早期的结构化建模工具的明显不足,ROSE吸取众多建模工具的优点,排除其不足,采用面向对象的成熟技术和双向工程的技巧,为提高软件开发的效率,保证软件开发的质量和可维护性作出了巨大的贡献。
软件工程概述软件开发是一套关于软件开发各阶段的定义、任务、作用的建立在理论上的一门工程学科。
它为解决软件危机,指导人们利用科学、有效的方法来开发软件,提高及保证软件开发的效率和质量取到了一定的作用。
软件开发过程:需求分析(开始阶段)--概要设计(静态结构)--详细设计(动态结构)--编码-测试-维护结构化模型设计方法A.E-R图(实体关系图)实体:客观存在并可区分的事物。
属性:实体所具有的某种特性,一个实体可以有多个属性。
关系:实体之间的对应关系,可分为1:1联系、1:n联系、m:n联系B.数据流图C.功能模块图结构化模型的不足传统的结构化模型的设计所建立的模型不能反应源代码,与程序设计脱节。
模型与代码几乎没什么关系。
这样的模型不能生成代码,代码更不能生成模型,模型大多是画给领导看或拿出作掩盖。
所以不能保证软件的质量,更不易软件的维护,没什么约束力也没有检测的标准,它的弊端是显于易见的。
面向对象的模型设计方法定义:利用面向对象方法,把应用程序分成许多小块(对象),这些对象是独立的,然后组合这些对象,建立程序。
特点:封装、继承、多态。
常用的建模工具:PlayCase, Rational ROSE, Computer Association BPWin , Computer Association ERWin, Oracle Designer/2000, Sybase PowerDesignerUML统一建模语言定义:一种面向对象的统一建模语言。
UML与Rational Rose讲义
UML与Rational Rose讲义2002年8月2日目录目录 (2)1. 第一周:概述 (4)1.1 Rational家族工具和应用方向介绍 (4)1.1.1 用Rational工具和以往的软件开发方式,我们能改变什么? (4)1.1.2 在纵向看:软件的开发过程分为需求、建模、构造、测试、提交五个阶段。
51.1.3 从横行看:主要包括二大部分方法贯穿整个软件开发过程的始终。
(5)1.1.4 利用Rational的成功经验 (6)1.2 OOA&D面向对象的基本原则: (6)1.3 Rational Rose的界面介绍 (10)2. 第二周:静态建模:用例和用例图(Use Case Diagram) (11)2.1 角色和角色之间的关系 (11)2.1.1 角色 (11)2.1.2 发现角色: (11)2.1.3 角色之间的关系 (12)2.2 用例和用例之间的关系 (13)2.2.1 用例的特征: (13)2.2.2 发现用例 (13)2.2.3 用例之间的关系 (14)2.3 举例建立用例图的方法和文档的详细注释 (15)2.3.1 描述用例 (15)2.3.2 测试用例 (16)2.3.3 实现用例 (17)3. 第三周:静态建模:类图和对象图(Class Diagram) (20)3.1 类的定义 (21)3.2 类图的属性、操作和使用方法 (22)3.3 类图之间的关系 (25)3.3.1 关联 (25)3.3.2 依赖性 (26)3.3.3 精化关系 (27)3.3.4 聚合 (28)3.3.5 一般化 (29)3.4 类图的约束和派生规则 (30)3.5 类图的接口、组件、包和模板 (32)3.6 类图怎样生成java代码框架 (33)3.7 类的java代码生成类图 (33)4. 第四周:动态建模:序列图和协作图(Sequence & Callaboration Diagram) (33)4.1 序列图 (35)4.1.1 序列图的格式和并发事件 (35)4.1.2 序列图定义迭代和约束的标签 (37)4.1.3 序列图的递归方式 (38)4.2 协作图 (39)4.2.1 协作图的格式和消息流 (39)4.2.2 协作图的链接 (39)4.2.3 对象的生命周期 (42)4.3 从序列图转换为协作图的方式 (42)4.4 从协作图转换为序列图的方式 (42)5. 第五周:动态建模:状态图/活动图(Statechart / Activity Diagram) (42)5.1 状态图 (42)5.1.1 状态和转移 (42)5.1.2 事件 (44)5.1.3 状态图与子状态 (45)5.1.4 历史指示器 (46)5.2 活动图 (47)5.2.1 活动图的动作和转移 (48)5.2.2 活动图的泳道 (50)5.2.3 活动图的对象 (50)5.2.4 活动图的信号 (51)6. 第六周:图书馆信息系统UML实例 (52)6.1 需求 (52)6.2 分析-用例图 (52)6.3 建模及设计-类图 (52)6.4 建模及设计-状态图 (52)6.5 建模及设计-序列图 (52)6.6 详细设计-类包 (52)6.7 详细设计-详细的类图 (52)6.8 详细设计-关键对象的状态图 (53)6.9 详细设计-关键对象的序列图 (53)6.10 详细设计-关键对象的协作图 (53)6.11 详细设计-组件图 (53)6.12 接口的设计 (53)6.13 转成java并encoding实现 (53)6.14 测试和配置-展开图 (53)6.15 总结 (53)1. 第一周:概述1.1 Rational家族工具和应用方向介绍1.1.1 用Rational工具和以往的软件开发方式,我们能改变什么?●Rational ClearCase:提供版本控制,提供工作空间管理,建立管理和过程控制功能。
UML与Rose软件建模案例教程第6章 业务处理模块建模
(6)添加结束状态 (7)添加状态之间的转换 (8)添加转换的事件 (9)完善状态机图 (10)保存绘制的状态机图
6.3 认识UML的通信图
顺序图主要描述系统各组成部分之间 交互的次序,用于说明系统的动态视图。 通信图则从另一个角度描述系统对象 之间的链接,也是用于说明系统的动态视 图。
6.3.1
UML用状态机对软件系统的动态特征 建模。
利用状态机可以精确地描述对象的行 为:从对象的开始状态起,开始响应事件 并执行某些动作,这些事件引起状态的转 换;对象在新的状态下又开始响应状态和 执行动作,如此连续直到终止状态。 UML的状态机由状态、转换、事件、 动作和活动组成。
6.1.2
状态机图概述
【操作示范与知识讲解】 【实例引导】 固定电话的状态机图如图6-6所示,试 分析各个状态及转换关系。
图6-6
固定电话的状态机图
【试一试】
我们使用电脑工作一般要经过以下几 个状态:开机、电脑启动、工作中、空闲 和关机,绘制状态机图描述电脑如何从启 动状态到关机状态,以及如何从工作状态 到空闲状态。
第 6章 业务处理模块建模
本章主要介绍状态机图、通信图的绘
制。 状态机图用于对系统进行动态建模, 通过对类对象的生存周期建立模型来描述 对象随时间变化的动态行为。
通信图强调发送和接受消息的对象之 间的结构组织,显示对象、对象之间的链 接以及对象之间的消息。
【教学导航】
(1)理解状态机、状态与状态机图的区别 (2)熟悉UML状态机图的组成与描述方法 知识技能 (3)熟悉UML通信图的构成 目标 (4)学会构思状态机图与通信图 (5)学会在Rational Rose 2003中绘制状态机图与通信图 (6)认识UML时序图、交互概况图和组合结构图 (1)状态机、状态与状态机图的区别 (2)UML状态机图的组成 本章重点 (3)UML通信图的构成 (4)在Rational Rose 2003中绘制状态机图与通信图
统一建模语言UML与Rational Rose工具
需求分析阶段应用
01
利用UML用例图描述系统功能和用户需求
02
通过活动图细化业务流程和交互逻辑
构建概念模型,明确系统范围和边界
03
系统设计阶段应用
使用类图和对象图设计系统静态结构 利用时序图和协作图设计系统动态行为 构建包图和部署图,规划系统物理架构
编码实现阶段应用
1
依据设计阶段的UML模型进行编码实现
逆向工程
当代码发生变化时,Rational Rose可以通过逆 向工程将代码同步到UML模型中,保持模型与代 码的一致性。
测试支持
利用Rational Rose的测试工具,可以创建测试 用例、执行测试并生成测试报告,以确保系统功 能的正确性和稳定性。
05
UML与Rational Rose在软件 开发中的应用
提供了版本控制功能
支持多人协作开发,方便团队管理和控制UML模型的版 本。
Rational Rose工具优势
专业的建模工具
Rational Rose是一款经过广泛验证的 专业建模工具,具有高度的可靠性和稳
定性。
良好的兼容性
支持多种操作系统和开发语言,可以 与其他开发工具无缝集成。
强大的功能支持
提供了全面的UML建模功能,并支持 多种UML图的创建和编辑,满足复杂 软件系统的建模需求。
与其他工具的集成
为了更好地支持软件开发过程,未来UML建模工具可能 会与其他开发工具进行更紧密的集成,实现建模、设计、 开发、测试等全流程的自动化。
多领域应用
UML作为一种通用的建模语言,未来可能会应用于更多 领域,如物联网、大数据、云计算等,为这些领域的软件 开发提供可视化建模支持。
标准化和规范化
统一建模语言RationalRose使用
统⼀建模语⾔RationalRose使⽤统⼀建模语⾔⼀:UML统⼀建模语⾔(Unified Modeling Language,UML)是⽤来设计软件蓝图的可视化建模语⾔,1997 年被国际对象管理组织(OMG)采纳为⾯向对象的建模语⾔的国际标准。
它的特点是简单、统⼀、图形化、能表达软件设计中的动态与静态信息。
统⼀建模语⾔能为软件开发的所有阶段提供模型化和可视化⽀持。
⽽且融⼊了软件⼯程领域的新思想、新⽅法和新技术,使软件设计⼈员沟通更简明,进⼀步缩短了设计时间,减少开发成本。
它的应⽤领域很宽,不仅适合于⼀般系统的开发,⽽且适合于并⾏与分布式系统的建模。
UML 从⽬标系统的不同⾓度出发,定义了⽤例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等 9 种图。
⼆:⼯具安装建模⼯具Rational Rose安装配置参考博客:三:常见的UML图类图:类图(ClassDiagram)是⽤来显⽰系统中的类、接⼝、协作以及它们之间的静态结构和关系的⼀种静态模型。
⽤例图:⽤例图(User Case Diagram):站在系统⽤户(系统⾓⾊)的⾓度吻戏系统存在哪些功能.时序图:(Sequence Diagram):描述程序的执⾏过程,⽅法的调⽤过程,⽅法的返回值等信息。
四:画图实操(1)画⼀个类图:1:打开软件--》选择javaee--》ctrl+s 选择保存类图案列的位置--》取名为crm2:在rational Rose⼯具的Logical View⽬录下实现⼀般来说会创建⼀些⽬录⽤来组织这些类图。
重命名为类图创建画布:修改画布名为市场活动添加属性(2)类和类之间的关系包括6种情况泛化关系(is a:Cat is an Animal -->继承) 类和类的继承,接⼝和接⼝的继承实现关系(like a:Cook likes a FoodMenu-->厨师像⼀个菜单)关联关系(has a : I have a Computer)⼀个类中,关联的属性(⾓⾊)要对应它的作⽤,⽐如电脑在程序员中就是coder⼯具,从玩游戏的⼈中看,电脑就是游戏机。
讲座:UML和Ration Rose
One to One to One to One to One to One to One to
one many one or more zero or one a bounded interval,一对有限间隔,如1对5到10 exactly n a set of choices,一对一组
UML中面向对象思想的表达
实现与继承的区别
继承好象是双亲与孩子的关系:双亲遗传了 物理属性给孩子,如眼睛的颜色、头发的颜 色等。同样也会继承双亲的一些行为。 实现好比是孩子和教师之间的关系:教师没 有把物理属性传递给孩子,从是孩子从教师 那里学到了一些行为和过程。
UML和Rational Rose
1.UML概述 2.UML中面向对象思想的表达 3.UML图 4.Rational Rose软件的使用 5.UML实例分析
1.UML概述
UML-Unified Modeling Language,统一建模语 言 面向对象方法不仅是一种软件工程的开发技术, 而且是一种对客观事物进行分析与处理的思想 方法,一种全新的思维方式。 UML的目标就是用对象的概念来构造系统模型, 建立直观的从模型 直至可执行体之间的对应关 系,并且为复杂的系统建立衡量标准,创建一 种对人和机器都适合的语言,这种语言即可以 用人工来描述,又可以用计算机实现。
john doe:Player tyrannosaurs:Team
Player on
UML中面向对象思想的表达
关联的多重性
一支篮球队有5名队员(不包括替补队员),而一个队 员只能为一支球队效力。这就是多重性:某个类有 多少个对象可以和另一个类的单个对象关联。 多重性的表示方法是在类附近注上多重性的数值。 多重性可能存在非常多的情况,如
RationalRose和UML可视化建模基础
RationalRose和UML可视化建模基础为了成功地开发⼀个项⽬,你需要正确的过程、⼯具和符号(注释)。
在本⽂中作者解释了UML是如何为你提供符号、Rational统⼀流程(Unified Process)是如何为你提供正确的流程,以及Rational Rose是如何为你提供使项⽬成功的⼯具的。
什么是可视化建模? 可视化建模(VISUAL MODELING)是利⽤围绕现实想法组织模型的⼀种思考问题的⽅法。
模型对于了解问题、与项⽬相关的每个⼈(客户、⾏业专家、分析师、设计者等)沟通、模仿企业流程、准备⽂档、设计程序和数据库来说都是有⽤的。
建模促进了对需求的更好的理解、更清晰的设计、更加容易维护的系统。
模型通过过虑⾮本质的细节信息,成为描述复杂的问题或结构的本质的抽象(abstraction),她使问题更容易理解了。
抽象是⼀种允许我们处理复杂问题的基本能⼒。
千百年以来,⼯程师、艺术家和⼯匠⼀直在实施某项⼯程之前,先建⽴模型提炼出它的设计⽅案。
软件系统的开发也并不例外。
为了建⽴复杂的系统,开发者必须抽象出系统的不同的视图,使⽤精确的符号建⽴模型,验证这些模型是否满⾜系统的需求,并逐渐添加细节信息把这些模型转变为实现(implementation)。
我们建⽴复杂系统的模型是因为我们没法理解整个系统。
⼈类理解复杂性的能⼒是有限的。
这个观念可以在世界上的建筑中看到。
如果你希望在后院中建⽴⼩屋,你可以⽴即开始建造;如果你希望建⽴新房⼦,你就可能需要⼀张蓝图了;如果你要建⽴摩天⼤楼,你就绝对需要⼀张蓝图。
在软件的世界中这也是⼀样的。
由源代码⾏或Visual Basic中设计的窗体担任主⾓为程序员提供的开发项⽬的全局视图是很微不⾜道的。
构造模型允许设计师集中考虑项⽬中的组成部分如何交互的全局情况,⽽不会陷⼊每个组成部分的具体细节信息的泥沼中。
⾼度竞争的和不断改变的业务环境导致了复杂性不断增加,这为系统开发者带来了独特的挑战。
使用UML和RationalRose建立系统模型
使用UML和RationalRose建立系统模型毕业论文设计课题:使用UML和Rational Rose建立系统模型毕业院系:信息工程学院毕业生姓名:指导老师:毕业设计任务书一.题目:1. 课题:使用UML和Rational Rose设计一个应用系统(图书馆管理系统)模型二.课题来源及选题依据:本课题来自于导师荣胜。
UML是面向对象技术领域占主导地位的标准建模语言。
UML是信息技术行业的蓝图,是详细描述系统结构的方法。
利用这个蓝图,我们建立和维护系统就越来越容易,保证系统能适应需求的改变。
Rational Rose是分析和设计面向对象软件系统的强大的可视化工具,可以用来先建模系统在编写代码,从而一开始就保证系统结构合理。
三.本设计(论文及其它)应达到的要求:本课题要求用统一建模语言(UML)和Rational Rose设计面向对象应用程序的模型主要任务为:1.对图书管理系统用UML和Rose进行项目需求分析、结构规划,用Rose创建活动框图,演示事件流程,处理流程时要利用Sequence和Collaboration框图,此外还要创建组件框图。
2.用Rose创建Sequence,Collaboration,Class,Component与Deployment框图,产生框架代码,创建代码后,通过逆向转出工程代码让软件与模型同步。
3.撰写毕业设计说明书。
4.英文文献的阅读和翻译。
四.接受任务学生:五.开始及完成日期:六.指导老师:摘要UML是由一组不同框图构成的,分别提供系统设计的不同角度。
有些较高级,提供系统功能的信息;有些较详细,包括实现系统时要建立的特定类和组件;还有一些介于中间,从高层角度提供设计细节。
UML(统一建模语言)事实上是面向对象建模语言的工业标准。
他包含了许多和软件系统模型结构相匹配的子语言。
UML语言被作为一种综合性并有在特色的语言在发展,延伸到许多特色领域中。
可视化建模和Rational Rose在软件开发过程的几个阶段很有用。
UML基础与Rose建模案例(第3版)第6章交互图
4. 从引发某个交互的信息开始,在生命线之间按从上向下的顺序画 出随后的消息。
5. 设置对象的激活期,这可以可视化实际计算发生时的时间点、可 视化消息的嵌套。
6. 如果需要设置时间或空间的约束,可以为每个消息附上合适的时 间和空间约束。
➢ 时序图还可以表现对象的激活和去激活情况,但对于 协作图来说,由于没有对时间的描述,所以除了通过 对消息进行解释,它无法清晰地表示对象的激活和去 激活情况。
➢ 添加图书
➢ 删除图书
Admin : 系统管理 员
: DeleteBookInfoForm
: Title
: Item
1: remove item
1: identify_borrower()
6: borrow()
: LendBookForm
7: update() : Title
: Item
: 图书管理员
4: borrow() 5: check_if_max()
: Reservation
3: find(Borrower,Title)
: Borrower
图中对象的概念类似。 2. 链(Link)。协作图中链的符号和对象图中链所用的符号是一样
的,即一条连接两个类角色的实线。 3. 消息(Message)。消息代表协作图中对象间通过链接发送的消
息。
使用协作图对系统建模时,可以遵循如下策略。
1. 设置交互的语境,语境可以是系统、子系统、操作、类、用例或 用例的脚本。
➢ 协作图的重点是将对象的交互映射到它们之间的链上, 即协作图以对象图的方式绘制各个参与对象,并且将 消息和链平行放置。在时序图的对象之间,尽管没有 相应的链存在,但也可以随意绘制消息,不过这样做 的结果是有些逻辑交互根本就不可能实际发生。
Rational Rose建模 第6章 类图和对象图
类图和对象图的概念
4. 对象图在项目开发中的作用
对象图作为系统在某一时刻的快照,是类图中的各个 类在某一个时间点上的实例及其关系的静态写照,可 以通过以下几个方面来说明它的作用: (1)说明复杂的数据结构。对于复杂的数据结构,有时 候很难对其进行抽象成类表达之间的交互关系。使用 对象描绘对象之间的关系可以帮助我们说明复杂的数 据结构某一时刻的快照,从而有助于对复杂数据结构 的抽象。 (2)表示快照中的行为。通过一系列的快照,可以有效 表达事物的行为。
使用Rose创建类图
1. 创建类
(1)在图形编辑工具栏中, 选择 按钮,此时光标变为 “+”号。 (2)在类图中单击选择任意 一个位置,系统在该位置创 建一个新类。系统产生的默 认名称为“NewClass”。 (3)在类的名称栏中,显示 了当前所有的类的名称,我 们可以选择清单中的现有类, 这样便把在模型中存在的该 类添加到类图中。如果创建 新类,将“NewClass”重新命 名成新的名称即可。
类图的组成
1. 类
类是面向对象系统组织结构的核心。类是对一组具有相同属性、操作、 关系和语义的事物的抽象。 在UML的图形表示中,类的表示法是一个矩形,这个矩形由三个部分 构成,分别是:类的名称(Name)、类的属性(Attribute)和类的操 作(Operation)。
类图的组成
类的名称是每个类的图形中所必须拥有的元素,用于 同其它类进行区分。类的名称通常来自于系统的问题 域,并且尽可能地明确表达要描述的事物,不会造成 类的语义冲突。
类图和对象图的概念
在类图中,具 体来讲它一共 包含了以下几 种模型元素, 分别是:类、 接口、依赖关 系、泛化关系、 关联关系以及 实现关系。 类图可以创建 约束、注释和 包等。
软件系统分析与设计工程师——UML、Rational Rose与RUP开发过程培训教学课程
1.1软件系统分析与设计工程师——UML、Rational Rose与RUP开发过程培训教学课程
1、课程简介
UML 是一种定义良好、易于表达、功能强大且普遍适用的建模语言。
它溶入了软件工程领域的新思想、新方法和新技术。
作用域不限于支持面向对象的分析与设计 , 还支持从需求分析开始的软件开发的全过程。
Rational Rose是分析和设计面向对象软件系统的强大的可视化工具。
Rose模型是系统的图形,包括所有框图、角色、使用用例、对象、类、组件和部署。
本课程将通过实际项目开发的案例系统地讲解软件工程的方法、概念,以及UML和ROSE/Visio在项目开发过程的应用。
2、学习基础
本培训课程适宜于想从事软件系统分析与设计的程序员,最好应精通一种OOP的语言,如:C++或者Java等和开发工具:JBuilder、微软.Net或者其它的RAD 工具如PB、Delphi、VC++等。
3、培训目标
使学员经过本培训后能独立地进行应用项目的系统分析与设计,并对软件统一开发过程(RUP)有一定的掌握。
最终培养出具有系统分析和设计能力的高级软件开发人员。
4、培训时间
5天,40学时。
上午(8:30--11:45,4学时)、下午(1:00--4:15,4学时),人手一机,边学边练、逐步深入!强调独立实践操作能力、实例讲解。
5。
UML和Rational Rose共186页文档
11
视图 为了完整地描述一个系统,往往需要描述 该系统的许多方面。用视图可以表示被建 模系统的各个方面,也就是说,从不同目 的出发可以为系统建立多个模型,这些模 型都描述同一个系统,只是描述的角度不
20
(2)对象图:
对象图是类图的实例,它使用几乎与类图完全相同的图示符 号。两者之间的差别在于,对象图表示的是类的多个对象实 例,而不是实际的类。由于对象有生命周期,因此对象图只 能在系统的某个时间段内存在。一般说来,对象图没有类图 重要,它主要用来帮助对类图的理解,也可用在协作图中, 表示一组对象之间的动态协作关系。
12
图 图是用来表达一个视图的内容的,通常, 一个视图由多张图组成。UML语言共定义了 9种不同的图,把它们有机地结合起来就可 以描述系统的所有视图。
13
模型元素 可以在图中使用的概念(例如,用例、类、 对象、消息和关系),统称为模型元素。模 型元素在图中用相应的视图元素(图形符号) 表示。一个模型元素可以用在多个不同的 图中,不管怎样使用,它总是具有相同的 含义和相同的符号表示。
的实例(通过版类化)。这一层的模型通常称为类模型或类
(4) 用户模型(user model) • 由UML模型的例子组成,这一层中的每个概念都是模型层
的一个实例(通过分类),也是元模型层模型的一个实例 (通过版类化)。这一层的模型通常称为对象模型或实例模
5
6
UML的语义描述UML精确的元模型定义,即我们将用什么符号 来表示我们要做的事情。元模型是UML所有元素在语法上提 供的一种标记方法,为我们建立模型提供了简单一致的通用 的方法,开发者可以在语义上为某一个表示取得一致的标准, 从而消除了以往因人而异的表示方法。如对一个操作者,我 们可以表示为一个圆,也可以表示为一个小人。UML给我们 提供了一个标准:用一个小人来代表所有和系统发生关系但 并不是系统的一部分的事物,即actor(操作者)。
Rational Rose建模 第6章 类图和对象图
对象图
2. 创建对象图
在Rational Rose 2003中不直接支持对象图的创建,但是我们可以利用协作图来创 建。在协作图中添加对象的步骤如下: (1)在协作图的图形编辑工具栏中,选择 按钮,此时光标变为“+”号。 (2)在类图中单击选择任意一个位置,系统在该位置创建一个新的对象。 (3)双击该对象的图标,弹出对象的规范设置窗口。 (4)在对象的规范设置窗口中,可以设置对象的名称、类的名称、持久性 和是否 多对象等。 (5)点击“OK”按钮即可。 在协作图中添加对象与对象之间的链的步骤如下: (1)选择工具栏中的协作图图形编辑工具栏中的图标 ,或者选择菜单栏“Tools” (工具)中“Create”(新建)下的“Object Link”选项,此时的光标变为“↑”符 号。 (2)单击需要链接的对象。 (3)将链的线段拖动到要与链接的对象中。 (4)双击链的线段,弹出设置链规范的对话框。 (5)在弹出的对话框中,在“General”选项卡中设置链的名称、关联、角色以及可 见性等。 (6)如需要在对象的两端添加消息,可以在“Messages”选项卡中进行设置。
类图的组成
属性是类的一个特性,也是类的一个组成部分,描述 了在软件系统中所代表的对象具备的静态部分的公共 特征抽象,这些特性是这些的对象所共有的。 在UML中,类的属性的表示语法为([ ]内的内容是可 选的): [可见性] 属性名称 [:属性类型] [=初始值] [{属性字
符串}]
类图的组成
使用Rose创建类图
2. 创建类之间的关系
(1) 创建和删除依赖关系。 (2) 创建和删除泛化关系。 (3)创建和删除实现关系。 (4)创建和删除关联关系。
对象图
1. 对象图的组成
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.1.2 UML的组成及应用
1.UML的模型元素
UML定义了两类模型元素:一类是用于表示模型中的某个概念,如 类、对象、构件、用例、节点、接口、包和注释等;另一类是用于表示 模型元素之间相互连接的关系,其中主要有:关联、泛化、依赖和聚集 等。
答案:用户,气温,时间都是Actor
识别参与者
商品销售系统。顾客通过网络下单之后, 系统计算出总计金额,税金,运费,并 将数目传递给一个外挂的会计系统,该 系统是另外购买的。 有几个Actor?
答案: 顾客(商品销售系统), 商品销售系统(会计系统)
用例 (UseCase)
用例是对一组序列动作的描述,系统执行这些 动作将对用例的参与者产生可以观察的结果。
14
Rose建模环境
Rose 提供了一套十分友好的界面让用户对系统 进行建模。安装完Rose 之后,单击“开始 ”→“程序”→“Rational Software”→“Rational Rose Enterprise Edition” 命令选项,则会出现如图所示的界面,选择 Rose新模型的应用架构(Framework)界面。 开发人员可以选择J2EE,J2SE1.2,J2SE1.3,jfc11等应用框架进行系统分析和设计。
UML简介
UML的全名:Unified Modeling Language 统一建模语言
UML是Booch,Rumbaugh和Jacobson三位著名的 研究面向对象方法的计算机专家的研究成果
UML已被OMG(Object Management Group)采 纳,作为国际标准。
UML是一种用于对软件系统进行建模的语言,独立 于软件开发过程 ,不是一门程序设计语言
UML发展历程
6.1.1 UML的内涵
UML是一种通用的可视化建模语言,用于对软件进行描 述、可视化处理、构造和建立软件系统工件的文档。它记 录了与被构建系统有关的决策和理解,可用于对系统的理 解、设计、浏览、配置、维护及控制系统的信息。UML适 用于各种软件开发方法、软件生命周期的各个阶段、各种 应用领域及各种工具,旨在统一以往建模技术,吸收当今 软件开发的最佳方案从而形成一种标准的方法。
实验1:绘制ATM自动柜员机系统总的用例图
客户
取款 存款 转账
查询余额
修改密码 硬件维护 添加现金
还款
银行官Байду номын сангаас 信用系统
ATM自动柜员机系统总的用例图
实验2:
“学生成绩管理信息系统”功能模块如下,分析教师登记成 绩业务过程,并建立教师登记成绩用例图
6.2.3 Rational Rose基本操作
启动Rational Rose2003
•Create New Model 窗体中给出了许多 开发语言的模型向 导,开发者可以根 据自己所采用的语 言来进行选择
•如果不需要特定的 语言环境,单击 Cancel就可以直接 进入主界面
菜单:集成了系统中几乎所有的操作 浏览器:用于在Rose模型中迅速漫游 文档窗口:用于查看或更新模型元素的文档 工具栏:用于迅速访问常用命令 图窗口:用于显示和编辑一个或几个UML图 日志窗口:用于查看错误和报告各个命令的
6.2 Rational Rose基本应用
6.2.1 Rational Rose简介
Rational Rose是由美国的Rational公司开发的、面向对 象的可视化建模工具。利用Rose工具,可以建立用UML描述 的软件系统模型,它支持UML中的用例框图、活动框图、序 列框图、协作框图、状态框图、组建框图和布局框图等。而 且通过其正向和逆向转出工程代码的特性,可以支持C++、 Java、Visual Basic和XML DTD 的代码生成和逆向转出工程 代码。我们以Rose 2003为基础,掌握其进行UML建模的基 本操作。
13
Rational Rose的作用
质量检测员可以使用用况文档、时序图、协作图获 得测试脚本所需要的信息; 软件开发人员使用类图和状态图,可以获得系 统模块的详细视图以及模块之间的关系; 部署人员在使用组件图和部署图时,就可以明 白哪些是可执行文件或DLL文件,以及其他的 一些组件是如何创建的,这些组件该部署在网 络中哪些地方; 整个团队使用Rose模型,就可以确定从需求到 编码的整个过程,并且从编码到需求这个逆过 程也是可以追踪的。
④扩展用例的执行会改变基础用例的行为,而包含 用例不会。
用例建模
1.创建用例图 (1) 选定浏览器窗口中的【Use Case View】; (2) 单击鼠标右键,在弹出的快捷菜单中选择【New】; (3) 在菜单【New】产生的下级菜单中选择要新建的图——
【Use Case Diagram】。 以上步骤如图2-19所示,生成的用况图,如图6-7所示。
基础用例不必知道扩展用例的任何细节,它仅为其提供扩展 点。
扩展用例的行为是否被执行要取决于主事件流中的判定点。
包含用例与扩展用例的区别
①相对于基础用例,扩展用例是可选的,而包含用 例则不是。
②如果缺少扩展用例,基础用例还是完整的,而缺 少包含用例,则基础用例就不完整了。
③扩展用例的执行需要满足某种条件,而包含用例 不需要。
关系 关联 扩展 包含
功能 参与者与其执行的用例之间的通信路径 在基用例上插入附加的行为,基用例并不知道 在基用例上插入附加的行为,并显示地描述了该插入
符号
《extend》 《include》
用例泛化
一般用例和特殊用例之间的关系,其中特殊用例继承了一般 用例的特征并增加新特征
用例图的内容
用例图的内容:
类 属性 操作
对象 属性 操作
状态
用例
节点
接口
组件 包
依赖
关联
泛化
聚集
6.1.2 UML的组成及应用
2.UML的模型图 UML是用来描述模型的,即描述系统的结构或静态特征,以及行为
或动态特征。为了能支持从不同角度来考察系统,UML定义了五类共9种 模型图。
第一类是用例图,它从用户角度描述系统的功能,并指出各功能的操作者。 第二类是静态图,包括类图、对象图和包图。 第三类是行为图,描述系统的动态模型和组成对象间的交互关系,包括状态图和 活动图。 第四类是交互图,描述对象间的交互关系,包括顺序图和协作图。 第五类是实现图,包括构件图和配置图。
参与者
主角1
用例
登录
泛化、扩展和包含关系
<<extends>>
参与者
用例描述了系统的功能和所提供的服务。面对一个大 系统,要列出所有用例的清单常常比较困难,比较简 单的方法是先找出系统的参与者,分析每个参与者是 怎样使用系统的。
使用以下问题有助于发现系统的参与者 ①谁使用系统? ②谁安装系统、维护系统? ③谁启动系统、关闭系统? ④谁从系统中获取信息,谁提供信息给系统? ⑤在系统交互中,谁扮演了什么角色? ⑥系统会与哪些其他系统相关联?
结果
Rose 2003主要菜单 主菜单和工具栏
任务2
Rose 2003主要菜单 Rose 2003 视图
6.3 用例图
6.3.1 用例图简介
用例图是表示用例模型,其基本组成部件是用例、 参与者和用例关系。
1.参与者 参与者是系统、子系统或类发生与外部用户、进程或其他系统的交互。
2.用例 在系统模型,用例表示主体(功能单元)对外部用户可见的行为。
者通知系统这些外部事件。
识别用例
Email客户端(如: outlook express): A在北京发邮件给深 圳的B,系统提醒B” 你有新邮件”,B收 邮件。 参与者: 用户(A、B)、时间
识别用例
论坛的应用: 用户可以提问, 别人来回答,如果 有自己问题被解答 的话,就给发问者 发一份邮件通知。
泛化举例(二):
包含(include)
包含是指基本用例(base use case)会用到包含用例 (inclusion),具体地讲,就是将包含用例的事件流插入 到基础用例的事件流中。
包含用例是可重用的用例──多个用例的公共用例。
扩展(extend)
将扩展用例的事件流在一定的条件下按照相应的扩展点 插入到基础用例中。
37
用例图
38
用例图的建模符号
选择一项 添加文本框 添加注释 将图中的元素与注释相连 包 参与者 用例 关联关系 依赖和实例化(包括扩展、使用关系等) 泛化关系
实验1:任务解决
ATM终端系统完成以下任务: (1)客户可以通过ATM完成登录、取款、
存款、通过信用系统付款、查询余额、 修改密码、打印凭证等业务。 (2)银行官员登录、修改密码、为ATM添 加现金、维护ATM硬件。 (3)信用系统启动来自客户的付款
注意:发邮件这个用 例可以是单独的用 例,也可以是由回 答用例扩展出来的 用例
用例之间的关系
泛化关系 包含关系 扩展关系
泛化(generalization)
当多个用例共同拥有一种类似的结构和行为的时候 我们可以将它们的共性抽象成为父用例,其他的用例 作为泛化关系中的子用例。 泛化举例(一):
泛化(generalization)
创建系统用例模型
创建系统用例的第一步是确定系统的参与者。ATM自动取款机系统的参 与者包含以下三种:
(1)客户 (2)银行职员 (3)信用系统
创建系统用例模型
1.客户用例图
客户在本系统中可以进行取款、存款、转账、查询余额、修改密码和还款 的相关操作 。
创建系统用例模型
2.银行职员用例图