Rose的 一些简单说明--类与类之间的关系、用例与用例之间的关系

Rose的 一些简单说明--类与类之间的关系、用例与用例之间的关系

 (674)  (0)  举报  收藏

1、uml中图的放置位置

 

注释:

用例视图


用例视图中包括了系统中的所有参与者、用例和用例图,必要时还可以在用例视图中添加顺序图、活动图等

逻辑视图


逻辑系统关注系统是如何实现用例中所描述的功能的,主要是对系统功能性需求提供支持,即为用户提供服务方面,系统所应提供的功能。逻辑视图下的模型元素包括类图、顺序图和状态图等


组件视图


组件视图用来描述系统中各个实现模块以及它们之间的关系。组件视图包括模型代码库、执行文件、运行库和其它组件信息,按照内容来划分有包、组件和组件图组成。


部署视图


部署图显示系统的实际部署情况,它是为了便于理解系统在一组处理节点上的物理分布。部署视图中包括进程、处理器和设备。

 

较为重要的概念:

 

1、由参与者、用例以及用例与用例之间的关系构成的用于描述系统功能的动态视图称为用例图


参与者

2、参与者(Actor)是指存在于系统外部并直接与系统交互的人、系统或设备等。

参与者按是否使用系统核心功能可分为主要参与者与次要参与者。


用例

 

4、用例是系统为参与者提供的功能。

对于对用例的命名,我们可以给用例取一个简单、概括性的名称,一般为带有动作性的词。

用例在画图中用椭圆来表示

实线箭头,在用例图中用于连接参与者与用例,箭头方向指向用例。


5、用例关系

 

用例之间的关系包括:
 ① 包含关系(include)

包含(include)关系指的是两个用例之间的关系,

其中一个用例(称作基本用例,base use case)的行为包含了另一个用例(称作包含用例,inclusion case)的行为


 ② 扩展关系(extend) 

扩展(extend)关系:将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(Extension Point)上进行扩展,从而使基用例行为更简练和目标更集中 


 ③ 泛化关系(generalization)

泛化(generalization)代表一般与特殊的关系。
 在泛化关系中,子用例继承了父用例的行为和含义。 下图为购买彩票的简单实现方式


用例图练习

注意:用例之间的关系尤为重要,结合软件分析。

 

2、选择编程语言

 

3、 添加符号

 

4、uml中图的分类

类型 包含图


1、静态图 类图、对象图、包图

2、行为图 状态图、活动图 

3、用例图 用例图


4、交互图 顺序图、协作图 

5、实现图 组件图、部署图 

5、Rose主页视图说明

 

 

 

类图:

 

 

 

 

Rose中类生成java代码:正向工程

 

左键选中类->Tool->Java/J2EE->Generate Code->

 

 

由代码生成图形:逆向工程

Reverse Engineer

 

类与类之间的关系:

1、泛化关系

2、实现

3、关联

4、依赖

 

1、依赖(Dependency)

类一方的改动将引起另一方的变动。这是一种典型的临时关系,代表了类之间的一种短暂的交互。依赖关系在 Java 语言中体现为局部变量、方法的参数或者对静态方法的调用,
依赖用虚线箭头,箭头指向依赖的类。
java 中. 依赖关系体现为: 局部变量, 方法中的参数, 和对静态方法的调用.

 

如工具类,现实生活中人与锤子。 


2、泛化(Generalization)


Java中此类关系通过关键字extends明确标识,依赖的特例

泛化定义了一般元素和特殊元素之间的分类关系,如果从面向对象程序设计语言的角度来说,类与类之间的泛化关系就是平常所说的类之间的继承关系。如人与男人和女人的关系

 

使用空心箭头标示泛化,箭头指向基类。

 

3、实现(Realization)
Java中此类关系通过关键字implements明确标识,依赖的特例

实现是一种类与接口的关系, 表示类是接口所有特征和行为的实现
实现用带三角箭头的虚线表示,箭头指向接口  


4、关联(Association)

关联关系是类与类之间的联结,它使一个类知道另一个类的属性和方法 ,关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。在 Java 中,关联关系是通过使用成员变量来实现的。 如人与身份证  

 

双向关联:可以用两个箭头,也可以用不带箭头的实线。

 


5、聚合(Aggregation):

聚合关系描述的是部分与整体关系的关联,描述了“has a”的关系,汽车整车与发动机、座椅的关系

聚合关系是关联关系的一种,是更强的关联关系。
聚合是整体和部分之间的关系,例如汽车由引擎、轮胎以及其它零件组成。
聚合关系也是通过成员变量来实现的。但是,关联关系所涉及的两个类处在同一个层次上,而聚合关系中,两个类处于不同的层次上,一个代表整体,一个代表部分。

箭头指向到部分

汽车报废了可能发动机还完好无损

 

 

6、组合(Composition):

组合关系是一种更强形式的关联,整合控制成员的生命周期,如公司与部门的关系

UML类图关系中合成关系是关联关系的一种,是比聚合关系还要强的关系。

代表整体的对象负责代表部分对象的生命周期。

 

公司能创建部门

 

 

数据分装成类

类与类之间的关系

 

上面的关系可以用正向工程和逆向工程呈现

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用例用例之间的包含关系表示一个用例包含了另一个用例,即一个用例可以由另一个用例展开。被包含用例是一个可选的步骤或分支,只在满足特定条件时才执行。包含关系是一种具有可替代性的关系。 例如,在一个在线购物系统中,用户可以选择支付方式,包括信用卡、支付宝、微信支付等。其中,信用卡支付是一个可选步骤,只有用户选择信用卡支付时才会展开。 用例用例之间的扩展关系表示一个用例可以在特定条件下扩展为另一个用例,即一个用例可以由另一个用例扩展。扩展用例是一种可选的、不是必需的步骤或分支,只在特定条件下才会执行。 例如,在一个学生选课系统中,如果学生选课数量超过了规定的上限,系统会提示学生进行删除操作。这个删除操作就是一个扩展用例,只在学生选课数量超过上限时才会执行。 用例用例之间的泛化关系是一种通用与特殊的关系,表示一个用例是另一个用例的特殊情况。泛化关系有时也称为继承关系。 例如,在一个汽车销售系统中,轿车和越野车都是车辆的特殊情况。轿车和越野车都具有车辆的基本属性和行为,但它们也有各自的特殊属性和行为。因此,轿车和越野车与车辆之间存在泛化关系,车辆是泛化的概念,而轿车和越野车是具体的实现。 以下是三个用例图: 1. 包含关系用例图: ![包含关系用例图](https://i.imgur.com/cy5J6Sj.png) 在这个用例图中,"支付订单"用例包含了"信用卡支付"用例,"支付宝支付"用例和"微信支付"用例。被包含的用例是可选的,只在用户选择相应的支付方式时才会执行。 2. 扩展关系用例图: ![扩展关系用例图](https://i.imgur.com/Nnpyi7K.png) 在这个用例图中,"选课"用例可以扩展为"删除课程"用例。"删除课程"用例是一个可选的、不是必需的步骤或分支,只在学生选课数量超过上限时才会执行。 3. 泛化关系用例图: ![泛化关系用例图](https://i.imgur.com/6F0qc6L.png) 在这个用例图中,"车辆"用例是一个泛化的概念,而"轿车"和"越野车"是具体的实现。"轿车"和"越野车"都继承了"车辆"的基本属性和行为,同时也有各自的特殊属性和行为。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值