[UML]UML系列——用例图中的各种关系(include、extend)
2014-03-14 22:00
274 查看
原文:[UML]UML系列——用例图中的各种关系(include、extend)
参与者与用例之间的通信,也成为关联或通信关系。
二、用例与用例之间的关系
包含关系(include)
扩展关系(extend)
包含关系描述的是一个用例需要某种功能,而该功能被另外一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例。
(2)表示符号<<include>>
再如上篇文章中饮料自动售货机的例子:
在代码中用例的包含关系是什么呢?
控制台程序
用例图:
实例:图书管理系统
图书管理员处理借书或者还书时的用例图,借书与还书都要考虑是否有overtime的书。
实例:订单管理系统
(3)使用场合
a.如果两个以上用例有大量一致的功能,则可以将这个功能分解到另一个用例中,其他用例可以和这个用例建立包含关系(如之前介绍的饮料自动售货机)。
b.一个用例的功能太多时,可以使用包含关系建立若干个更小的用例。(如学生管理系统的用例图)
实例:学生管理系统
(4)意义
它有助于将来实现系统时,确定哪些功能可以重用,在编写代码时就可以实现代码的重用,缩短开发周期。
注意:执行基用例时,每次都必须调用被包含用例。
用一个用例(可选)扩展另一个用例(基本例)的功能。
(2)符号表示<<extend>>
代码中是什么?
控制台程序
用例图
注意:扩展关系的箭头方向
(3)使用场合
对扩展用例的限制规则:将一些常规的动作放在一个基本用例中,将可选的或只在特定条件下才执行的动作放在它的扩展用例中。
a.如果两个以上用例有大量一致的功能,则可以将这个功能分解到另一个用例中,其他用例可以和这个用例建立包含关系(如之前介绍的饮料自动售货机)。
b.一个用例的功能太多时,可以使用包含关系建立若干个更小的用例。(如学生管理系统的用例图)
2.扩展关系
对扩展用例的限制规则:将一些常规的动作放在一个基本用例中,将可选的或只在特定条件下才执行的动作放在它的扩展用例中。
在分析的时候,参考他们的使用场合,你就会豁然开朗......
系列文章:
[UML]UML系列——用例图Use Case
用例图中的各种关系
一、参与者与用例间的关联关系参与者与用例之间的通信,也成为关联或通信关系。
二、用例与用例之间的关系
包含关系(include)
扩展关系(extend)
包含关系
(1) 概念包含关系描述的是一个用例需要某种功能,而该功能被另外一个用例定义,那么在用例的执行过程中,就可以调用已经定义好的用例。
(2)表示符号<<include>>
再如上篇文章中饮料自动售货机的例子:
在代码中用例的包含关系是什么呢?
class coat //外套 { public string name; public double price; public coat(string myName, double myPrice) { name = myName; price = myPrice; } public void pay() { discount(); Console.WriteLine("该件外套的应付款为:{0}", price); } public void discount() { price = price * 0.8; } }
控制台程序
class Program { static void Main(string[] args) { coat myCoat = new coat("劲霸", 1000); Console.WriteLine("该外套的名称为:{0}", myCoat.name); Console.WriteLine("该外套的原价为:{0}", myCoat.price); myCoat.pay(); } }
用例图:
实例:图书管理系统
图书管理员处理借书或者还书时的用例图,借书与还书都要考虑是否有overtime的书。
实例:订单管理系统
(3)使用场合
a.如果两个以上用例有大量一致的功能,则可以将这个功能分解到另一个用例中,其他用例可以和这个用例建立包含关系(如之前介绍的饮料自动售货机)。
b.一个用例的功能太多时,可以使用包含关系建立若干个更小的用例。(如学生管理系统的用例图)
实例:学生管理系统
(4)意义
它有助于将来实现系统时,确定哪些功能可以重用,在编写代码时就可以实现代码的重用,缩短开发周期。
注意:执行基用例时,每次都必须调用被包含用例。
扩展关系
(1)概念用一个用例(可选)扩展另一个用例(基本例)的功能。
(2)符号表示<<extend>>
代码中是什么?
class coat //外套 { public string name; public float price; public coat(string myName,float myPrice) { name = myName; price = myPrice; } public void pay() { if (price > 800) discount(0.9f); Console.WriteLine("该件外套的应付款为:{0}",price); } public void discount(float x) { price = price * x; } }
控制台程序
class Program { static void Main(string[] args) { coat myCoat=new coat ("劲霸",1000); Console.WriteLine("该外套的名称为:{0}",myCoat.name); Console.WriteLine("该外套的原价为:{0}",myCoat.price); myCoat.pay(); } }
用例图
注意:扩展关系的箭头方向
(3)使用场合
对扩展用例的限制规则:将一些常规的动作放在一个基本用例中,将可选的或只在特定条件下才执行的动作放在它的扩展用例中。
怎么区分是包含关系还是扩展关系?
通过上面的例子,怎么区分它们,你心里也有数了,其实在扩展关系中的使用场合也说明了,扩展关系的限制规则:将一些常规的动作放在一个基本用例中,将可选的或只在特定条件下才执行的动作放在它的扩展用例中。在使用的时候,你考虑这点就可以区分它们。总结
1.包含关系a.如果两个以上用例有大量一致的功能,则可以将这个功能分解到另一个用例中,其他用例可以和这个用例建立包含关系(如之前介绍的饮料自动售货机)。
b.一个用例的功能太多时,可以使用包含关系建立若干个更小的用例。(如学生管理系统的用例图)
2.扩展关系
对扩展用例的限制规则:将一些常规的动作放在一个基本用例中,将可选的或只在特定条件下才执行的动作放在它的扩展用例中。
在分析的时候,参考他们的使用场合,你就会豁然开朗......
系列文章:
[UML]UML系列——用例图Use Case
相关文章推荐
- [UML]UML系列——用例图中的各种关系(include、extend)
- UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系--UML一波流系列讲解
- UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系--UML一波流系列讲解
- UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系--UML一波流系列讲解
- UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系--UML一波流系列讲解
- UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系
- UML用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
- UML用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
- UML用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
- UML 用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
- 对UML中的include和extend两个常见用例间关系的理解
- 面向对象系统分析与设计专题<7>__UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系
- UML用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
- UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系--UML一波流系列讲解
- UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系--UML一波流系列讲解
- UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系--UML一波流系列讲解
- UML用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
- UML用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
- UML用例图中包含(include)、扩展(extend)和泛化(generalization)三种关系详解
- UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系