跟我学UML——UML静态建模中的UML包图

合集下载

跟我学UML静态建模——应用Rational Rose工具设计实现客户关系管理CRM系统的概要设计阶段相关模块类图示例

跟我学UML静态建模——应用Rational Rose工具设计实现客户关系管理CRM系统的概要设计阶段相关模块类图示例

1.1跟我学UML静态建模——应用Rational Rose工具设计实现客户关系管理CRM系统的概要设计阶段相关模块的类图示例(关注类的个数、类之间的关系)1、添加本项目中的与数据访问层组件相关的各个类(1)新建一个类(2)输入类名称以命名该类(3)分别在各个包中输入各个类,最后将产生下面的状态1)持久类:ComplaintInfoPO、ConsumptionInfoPO、CustomersInfoPO、ProductInfoPO和StaffBaseInfoPO2)数据访问类:ComplaintInfoDAO,ConsumptionInfoDAO、CustomersInfoDAO,ProductInfoDAO,StaffBaseInfoDAO、BaseDAO3)数据连接类:DBCPConnectionBean4)异常处理类:WebCRMException5)业务服务层类:StaffLoginService、CustomersFeedBackService、CustomersLevelClassificationService、CustomerInfoAnalysisForecast、CustomerInquiryService、CustomerDataManagementService、BulkMailService6)控制层类:FilterDispatch、ActionSupport、ProductInfoAction、StaffLoginAction、ComplaintAction、ConsumptionAction、CustomersAction7)表示层类:Index、staffLogin、deleteCustomersInfo、addCustomersInfo、updateCustomersInfo、showCustomersInfo、queryCustomersInfo、customerInfoAnalysisForecast2、添加本项目中的与数据访问层组件相关的各个接口(1)新建一个接口(2)输入接口的名称,比如为“ConnectDBInterface”注意:在概要设计中不需要考虑各个类或者接口中的具体的成员定义!这可以将它们留在详细设计中来完成------这也是概要设计和详细设计中的类图中的类差别。

UML包图

UML包图



6.3.1
实例
网上书店中的包图
பைடு நூலகம்
创建包 修改包的属性 将类添加到包中 添加关系

复习思考题


1.包在UML中属于哪一类构造块,其作用是什么? 2.包可以包含的元素有哪些? 3.什么是包的可见性,请举例说明. 4.什么是包的循环依赖,如何解决? 5.请根据第4章习题6的描述,请在Rose中绘出系 统的包图。 6.请根据第4章习题7的描述,请在Rose中绘出系 统的包图。

包的一般表示
显示内容的包

1、名称
简单名,如 domain 路径名,如 com::bookshop::domain


2、拥有的元素

每个包对其所包含的元素来说是一个命名空间,在一个包 的语境中同一种元素的名称必须是唯一的。

3、包的可见性
公有的+(public) 受保护的#(protected) 私有的–(private)
第6章
包图
6.1 包图 6.2 包图的应用 6.3 包图建模实例

面向对象软件开发中,应用系统中包含数量众多的类且 关系很复杂。分解是控制软件复杂度的重要手段,可以 把一个大的系统分解为多个较小的系统,因此要引入包。 包是UML中的分组事物, 用于组织容纳模型中的各 种元素,这些元素可以是 类、用例、接口、构件等、 甚至也可以是包。利用包 可以对语义关联紧密地事 物进行分组,把这些元素 放在一起构成更高层次的 单位,将它们作为一个成 组的元素进行可视化。

AWT
# Form + Window - EventHandler

4、包的构造型

跟我学统一建模语言UML——软件系统概要设计中所涉及的UML包图实现示例

跟我学统一建模语言UML——软件系统概要设计中所涉及的UML包图实现示例
2、包图的应用目的 (1)能够体现出问题的层次关系
使用包图的主要目的是把模型元素组织成组,并为其命名以便作为整体处理。对于一 个大型的软件系统,使用包来组织大量模型元素以便于对软件系统的理解和处理,使之有 很好的层次关系。 (2)通过包可以形成一个高内聚、低耦合的类的集合。 3、某个项目中的各个包的 UML 包图示例
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
1.1 跟我学统一建模语言 UML——软件系统概要设计中所涉及的 UML 包 图实现示例
1.1.1 UML 中的包图 1、UML 中的包图(Package Diagram) (1)包图是保持软件系统整体结构简明、清晰的重要工具
软件系统的开发人员通过给出包可以列出各个包之间的关系。包图由包和包之间的联 系构成,它是维护和控制软件系统总体结构的重要建模工具。
private String Name; private int Age; public OutObj Eat( Food someOneFood){
OutObj someOneOutObj =new OutObj(); return someOneOutObj; } public void Step( ){ } } class OutObj{ } class Food{ }
(2)在 Rose 中包图是通过类图来体现的
(3)应用示例 在下面的例中的 myPerson 包中包含有 Person、Food 和 OutObj 等三个程序类
杨教授大学堂,版权所有,盗版必究。 1/3 页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
package myPerson; public class Person{
杨教授大学堂,版权所有,盗版必究。 2/3 页

UML静态模型

UML静态模型

UML静态建模—类图与对象图
关系
关联(Association)
关联用于描述类与类之间的连接。由于对象是类的实例,因此类与 类之间的关联也就是其对象之间的关联。
泛化(Generation)
又称继承,A generalization is a relationship between a more general and a more specific element。
9.
{
10.
employee = p;
11.
}
12. }
13. class Person
14. {
15.
… (略)
16. }
UML静态建模—类图与对象图
关系—组合聚合(composition Aggregation)
如果构成整体类的部分类完全隶属于整体类,则这样 的聚合称为复合聚合。换句话说,如果没有整体类则 部分类也没有存在的价值,部分类的存在是因为有整 体类的存在。
关系—共享聚合(Shared aggregation)
1. // 主程序 2. Person p = new Person(); 3. Team t = new Team(p);
4. class Team
5. {
6.
Person employee;
7.
// Constructor
8.
public Team(Person p)
由名称、属性 、方法构成
对象是类的实例。
类之间的关系一共有四种:关联、泛化、依赖、 实现化。 包(Package) 用来分类、组织类。
关联:用于表示类的对象之间的关系。其特殊
user
形式有组成关联和聚集关联。

静态视图—类图对象图和包图

静态视图—类图对象图和包图

1.1 类图概述——重要性
类图表述系统中类的静态结构,不仅描述 了系统中的类,还表示了类之间的各种关 系,比如:关联、依赖、泛化、实现等
James Rumbaugh对类的定义:类 (Classs)是具有相似结构、行为和关系 的一组对象的描述符 类 + 类的关系 = 类图
1.2 类图概述——类图的作用
salary:Dollars
Student
major:String
3.5 关联关系(Association)
关联是一种结构关系,它指明一个类与 另一个类在类间的联系,表示类之间的 连接,它使一个类的可见属性和方法被 另一个类使用
关联关系包括:双向关联,单向关联, 聚合和反射关联
除聚合关系外,关联关系通常使用实线 +箭头的方式表示
3.2 依赖关系(Dependency)
如果有两个类A与B,当我们修改A类时 会引起B类的修改,我们称类B依赖于类 A。
依赖关系可能由各种原因引起,比如一 个类向另一个类发送消息;一个类是另 一个类的数据成员,一个类是另一个类 的某个操作参数等(use a关系)
UML中包含了4种依赖关系:使用(Usage) 依赖,抽象(Abstraction)依赖,授权 (Permission)依赖和绑定(Binding)依赖
3.3.1 泛化关系的表示
在UML语言中,采用空心箭头+实线 (如果父类是接口,则采用虚线)的 方式表示泛化关系,箭头指向父类
类的继承
接口的继承
3.3.1 泛化关系的表示举例
BankAccount
owner:String balance:Dollars deposit(amount:Dollars) withdrawl(amout:Dollars)

UML之包图

UML之包图

UML之包图包图的基本概念: 包图是⽤来描述模型中的包和所包含元素的组织⽅式的图,是维护和控制系统总体结构的重要内容。

包图能够组织许多UML中的元素,不过其最常⽤的⽤途是⽤来组织⽤例图和类图。

包图中包含包元素以及包之间的关系。

与其他图类似,包图中可以创建注解和约束。

包的概念: 包是⽤于把模型组织成层次结构的通⽤机制,它不能执⾏。

包名:包有简单名、路径名包中的元素:包中可以容纳各种⾼级的模型元素,如类和类的关系、状态机、⽤例图、交互、协作等,甚⾄是⼀个完整的UML图。

另外,包中还可以含有包,这被称为包的嵌套。

包元素的可见性:控制包外元素对包内元素的访问权限。

公有(+):只要当前包被引⼊,包内的公共元素即对引⼊者可见。

保护(#):仅对当前包的⼦包可见。

私有(-):仅对该包可见,外部⽆法访问。

另外,如果某元素对于⼀个包是可见的,则它对于嵌套在这个包中的任何包都是可见的。

包的构造型:可以使⽤构造型来描述包的种类。

UML预定义了⼀些构造型,⽤户也可⾃⾏定义新的构造型。

⾼内聚,低耦合:在外部观察包时,可以将内部元素视作⼀个整体,⽅便将多个元素⼀同处理。

包内部的元素应该保证有相似、相同的语义,或者其元素有同时更改和变化的性质。

注:在实际应⽤中,包对包含的元素的作⽤相当于C++和C#中命名空间的概念或Java中的包概念。

和这些概念不同的是,UML包中的内容不限于类和接⼝,包中的元素种类要丰富的多。

元素的分包原则:1)元素不能“狡兔三窟”:树形结构的⼀个节点不能同时拥有两个⽗节点,⼀个元素也不允许在两个包中重复出现。

2)相同包内元素不能重名:包所具有的命名空间的作⽤要求⽤⼀个包中的同种类元素名称必须是唯⼀的。

3)包内元素要紧密联系:分在同⼀个包中的元素应该具有某些相同的性质,即包的⾼内聚性。

4)包与包尽可能保持独⽴:包和包之间需要尽可能减少耦合度,要求包内元素与外部元素有尽可能少的依赖关系。

包的依赖关系:包之间的依赖关系实际上是从⼀个更⾼的层次来描述包内某些元素之间的依赖关系。

uml建模第五章 包图

uml建模第五章 包图
第5章 包图
5 .1 包图的概念
5.2 包的表示 5.3 包图中的关系 5.4 阅读包图
5.5 创建包图 5.6 包图建模
精选2021版课件
1
5.1 包图的概念
1.包 包就像一个“容器”,可用于组织模型中
的相关元素,以便容易理解。 将相关的各种类型的模型元素组织成组的
通用机制。 包的实例没有任何语义。 仅在建模时有意义,而不必转换到可执行
精选2021版课件
23
设计包的原则
设计包时,应遵循以下原则:
① 重用等价原则 ② 共同闭包原则 ③ 共同重用原则 ④ 非循环依赖原则
精选2021版课件
24
设计包的原则
① 重用等价原则
② ——把类放入包中时,应考虑把包作为可重 用的单元。
② 共同闭包原则
——把那些需要同时改变的类放在同一个包中。
若一个类的行为或结构的改变要求另一个类做相应的 改变;
5.4 创建包图
绘制包图的基本步骤如下:
① 分析系统的模型元素(通常是对象类),把概念 上或语义上相近的模型元素归入同一个包。
② 对于每一个包,标出其模型元素的可视性,确定 包内每个元素的访问属性,是公共、保护或私有。
③ 确定包与包之间的依赖联系,特别是“引入”关 系。
④ 确定包与包之间的泛化关系。 ⑤ 绘制包图。
1.包的符号表示 嵌套包及其表示
✓一个包可以包含其他 的包; ✓嵌套包可以访问自身 的元素; ✓应尽量避免使用嵌套 包,一般2-3层最好。
Library Users Librarian Borrower
嵌套包
精选2021版课件
7
5.2 包的表示
1.包的符号表示 嵌套包及其表示

跟我学在MyEclipse工具中如何设计UML静态建模中的各个UML图

跟我学在MyEclipse工具中如何设计UML静态建模中的各个UML图

1.1跟我学在MyEclipse工具中如何设计UML静态建模中的各个UML图1.1.1在UML透视图中实现UML静态建模中的各个图
1、包图—--通过类图来实现
(1)新建一个包
(2)并且命名该包
(3)添加其它的包
(4)设置包与包之间的父子关系---直接将子包建在父包里面
2、创建类图
(1)新建一个类,并且命名该类
(2)在该类中添加属性,并且设置各个属性的数据类型
(3)最后设置各个类之间的关系
(4)将类添加到对应的包中---拖动目标类到包图中的包中
(5)原来在类图中所创建的各个类之间的关系继续保留下来。

3、UML to Java(UML类图中的各个类与Java代码之间的转换)
4、将Java程序类转化为UML类图(Java-UML)(1)编程待转换的Java程序类
(2)按F5
(3)应用反向工程工具
(4)显示出成员
(6)设置类之间的关系
5、将所画的UML图导出为图像文件
6、改变项目中的UMR的根nameSpace名称(由default----com.px1987)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3、在UML中包的图示形式 (1)其图形表示为一个矩形框左上方带一个小矩形
(2)并且包的名字可以在大矩形或者小矩形内图
4、为什么要采用包 (1)实际系统的复杂性
当对大型系统进行建模时,经常需要处理大量的类、接口、 组件、节点和图等模型元素 这时就有必要将这些模型元素进行分组,即把那些语义相 近并倾向于一起变化的元素组织在一起并加入到同一包中。
(2)包的组成
包中可以包括类、接口、组件、节点、用例等内容(UML 中的包甚至还可以包含其他的包——子包) 因此,所有的UML模型元素都可以放入包中
2、如何划分包 (1)按构造形式(组成关系)来组织
如服务器程序类放入一个包、客户端的放入一个包或者按 照分层。
(2)按功能划分来组织包
如一个图书管理系统,将进书管理、销售管理、库存管理分 别组织成包
(2)包的主要作用
其作用不仅仅是为模型元素分组 它还为所拥有的模型元素构成一个命名空间
(3)应用UML包所应该注意的要点
模型元素依赖于包---包不存在了,其中的模型元素也随 之消失。 不同包中的模型元素名字可以同名,但在同一个包中的模 型元素不可以同名
5、UML中的包图(Package Diagram) (1)什么是UML包图
包与包之间存在的依赖通 常是指这两个包所含的模型 元素之间存在一个或者多个 依赖。 如在一个包中使用另一个包,此时我们认为它们之间存在 依赖。
(2)依赖关系的图示
包的依赖关系的图形表示同样是虚箭线,方向为从依赖包 指向被依赖包。 包的依赖关系不具有传递性(而继承具有传递性)。
7、包图中的包之间的泛化关系 (1)包之间的泛化
注意:在Rose中的包的泛化
关系的表示形式
本讲的简要回顾
1、子曰:“学而不思则罔,思而不学则,好之者不如乐之者”
3、子曰:“三人行,必有我师焉”
4、子曰:“我非生而知之者,好古,敏以求之者也”
5、师者:“传道、授业和解惑”
包与包之间存在父子关系,反映在Java中则表明它们存在 父子包的关系。 因此,如果包之间存在继承关系,则可以采用泛化关系来 表示。(但在Rose中不支持!如果某个包为其它包的子包, 则应该将子包放入到父包的里面)
(2)包之间的泛 化关系在UML中的 图示
8、在Rose中包图是通过类 图来体现的
UML静态建模中的UML包图
UML静态建模中的UML包图
在本讲您能了解如下内容
静态建模中的UML包图 在UML中包的图示 如何划分包和各种关系 在Rose中实现包图示例
1、UML中的包(Package) (1)UML中的包
利用包可以组织和管理系统中的各个模块,从而使得整个 系统的各个对象模型呈现出一种树形的层次结构 在UML中把这种分组机制称为包
表示系统中的各个包及彼此之间关系的UML图,使用包图的 目的是表示复杂的模型元素和便于对系统的理解和处理。
(2)UML包图的主要作用
在概要设计阶段,可以用包图建立系统的体系架构(分层 设计)。在详细设计阶段可以利用类图建立相应的体系结构 。
6、包图中的包之间的依赖关 系 (1)什么是包之间的依赖关 系
相关文档
最新文档