《uml基础教程》ppt课件

上传人:tian****1990 文档编号:74080223 上传时间:2019-01-26 格式:PPT 页数:58 大小:3.06MB
返回 下载 相关 举报
《uml基础教程》ppt课件_第1页
第1页 / 共58页
《uml基础教程》ppt课件_第2页
第2页 / 共58页
《uml基础教程》ppt课件_第3页
第3页 / 共58页
《uml基础教程》ppt课件_第4页
第4页 / 共58页
《uml基础教程》ppt课件_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《《uml基础教程》ppt课件》由会员分享,可在线阅读,更多相关《《uml基础教程》ppt课件(58页珍藏版)》请在金锄头文库上搜索。

1、UML 基础教程,UML定义,统一:表示是一种通用的标准,称为软件工业界的一种标准。UML表述的内容能被各类人员所理解,包括客户、领域专家、分析师、设计师、程序员、测试工程师及培训人员等。 建模:建立软件系统的模型。 语言:表明它是一套按照特定规则和模式组成的符号系统,它用半形式化方法定义,即用图形符号、自然语言和形式语言相结合的方法来描述定义的。,构建一个小狗屋,可以由一个人制造 需求: 最小模型 简单的过程 简单的工具,构造一栋房屋,由一个团体建设,并且需要更高的效率、更精确的时间限制 需求 模型 良好定义的过程 功能强大的工具,构建一个高层建筑,早期的结构,过程 - 有限的理论知识,现代

2、的结构,进步 - 先进的原材料 - 先进的分析,房屋建模,用途: UML可以做软件需求分析 UML可以做软件开发设计 UML可以做系统部署设计 UML也适用非软件领域的系统建模如企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。 能绘制UML图形的工具主要有 Rational Rose PowerDesigner MS Visio ArgoUML StarUML,UML包含的内容,用例图 静态图(类图,对象图,包图) 行为图(状态图,活动图) 交互图(顺序图,协作图) 实现图(组件图,部署图),1. 前言,1.5 各UML图及特征 1.5.1 用例图( Use

3、 Case Diagram ),用例图是从用户角度描述系统功能, 是用户所能观察到的系统功能的模型图,用例是系统中的一个功能单元,类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作) 类图是以类为中心来组织的,类图中的其他元素或属于某个类或与类相关联,1.5.2 类图(Class Diagram),1. 前言,1.5 各UML图及特征 1.5.3 对象图( Object Diagram ),对象图是类图的实例,几乎使用与类图完全相同的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类,1.5.4 顺序图(Seq

4、uence Diagram),顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互 顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或引起状态转换的触发事件,1. 前言,1.5 各UML图及特征 1.5.5 协作图(Collaboration Diagram),协作图描述对象间的协作关系,协作图跟顺序图 相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系. 协作图的一个用途是表示一个类操作的实现,1.5.6 状态图(State Chart Diagram),状态图是一个类对象

5、所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换组成,1. 前言,1.5 各UML图及特征 1.5.7 活动图(Activity Diagram),活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动 活动图描述了一组顺序的或并发的活动,1.5.8 构件图(Component Diagram),构件图为系统的构件建模型构件即构造应用的软件单元还包括各构件之间的依赖关系,以便通过这些依赖关系来估计对系统构件的修改给系统可能带来的影响,1. 前言,1.5 各UML图及特征 1.5.9 部署图(Deployment Diagram),部署视图描述位于节点实例上的运

6、行构件实例的安排。节点是一组运行资源,如计算机、设备或存储器。这个视图允许评估分配结果和资源分配,1.6 各UML图的关系,图之间的关系,1. 前言,1.7 UML语法描述,2.1 用例图概要,2. 用例图,2.2 用例图中的事物及解释,用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。 (UML参考手册) 用例图列出系统中的用例和系统外的参与者,并显示哪个参与者参与了哪个用例的执行 (或称为发起了哪个用例)。 用例图多用于静态建模阶段(主要是业务建模和需求建模)。,2. 用例图,extend,2.3 用例图中的关系及解释,2. 用例图,实例1 参与者之间的泛化关系 参与者:经理,安

7、全主管,保安 用例:管理人事,批准预算,批准安全证书,监视周边 在参与者之间不存在泛化关系的情况下,各个参与者参与 用例的情况分别是:经理参与用例管理人事和批准预算;安全主管参与用例批准安全证书;保安参与用例监视周边。由于安全主管与经理,安全主管与保安之间泛化关系的存在,意味着安全主管可以担任经理和保安的角色,就能够参与经理和保安参与的用例。这样,安全主管就可以参与全部4个用例。但经理或者保安却不能担任安全主管的角色,也就不能参与用例批准安全证书。,实例2 用例之间扩展和包含关系 用例的上下文是:短途旅行但汽车的油不足以应付全部路程。那么为汽车加油的动作在旅行的每个场景(事件流)中都会出现,不

8、加油就不会完成旅行。吃饭则可以由司机决定是否进行,不吃饭不会影响旅行的完成。,2.4 例子,2. 用例图,实例3. 航空售票的用例图 参与者(actor):clerk,监督员,信用卡服务商,用户 用例(use case): Buy tickets, Make charges, Survey sales 参与者Clerk参与(或称发起)Buy tickets。这个用例的事件流都包含Makecharges用例(包含关系)。 系统由:Buy tickets, Make charges, Survey sales组成。 该系统主要包含:Buy tickets, Make charges, Survey

9、 sales这几个功能。 该系统主要面向的用户(参与者):clerk,监督员,信用卡服务商,用户。,用例图,老师在线答疑系统需求描述 一个用于老师和学生之间进行即时沟通的系统。 系统由老师使用的老师端,学生使用的学生端和一个有公网地址的登陆服务端组成。 老师登陆系统后会在老师列表中出现,并显示出他的专业、姓名、专长和状态是否忙等信息。也可以看到其他所有登录的老师的信息。 学生登陆后可以看到所有已经登录的老师列表。 学生可以选择一个不忙的老师进行问题咨询,和选择的老师建立连接后就可以通过语音加白板和老师进行交流。此时其他学生将看到该老师处于忙的状态。,用例图,3. 类图,3.2 类图中的事物及解

10、释 3.2.1 类 从上到下分为三部分,分别是类名、属性和操作。类名是必须有的 类如果有属性,则每一个属性都必须有一个名字,另外还可以有其它的描述信息,如可见性、数据类型、缺省值等 类如果有操作,则每一个操作也都有一个名字,其它可选的信息包括可见性、参数的名字、参数类型、参数缺省值和操作的返回值的类型等,3.1 类图概要 类图以反映类的结构(属性、操作)以及类之间的关系为主要目的,描述了软件系统的结构,是一种静态建模方法 类图中的“类”与面向对象语言中的“类”的概念是对应的,是对现实世界中的事物的抽象,3. 类图,抽象类,3.2 类图中的事物及解释 3.2.2 接口 一组操作的集合,只有操作的

11、声明而没有实现 3.2.3 抽象类 不能被实例化的类,一般至少包含一个抽象操作 3.2.4 模版类 一种参数化的类,在编译时把模版参数绑定到不同的数据类型,从而产生不同的类,3. 类图,聚合关系 特殊关联关系,指明一个聚集(整体)和组成部分之间的关系 组合关系 语义更强的聚合,部分和整体具有相同的生命周期,3.3 类图中的关系及解释 3.3.1 关联关系 描述了类的结构之间的关系。具有方向、名字、角色和多重性等信息。一般的关 联关系语义较弱。也有两种语义较强,分别是聚合与组合,3. 类图,3.3.3 实现关系 对应于类和接口之间的关系,类Circle、Rectangle实现了接口Shape的操

12、作,关联、泛化、实现、依赖都是一种关系,类、接口都是一种事物,3.3.2 泛化关系 在面向对象中一般称为继承关系,存在于父类与子类、父接口与子接口之间,3.3.4 依赖关系 描述了一个类的变化对依赖于它的类产生影响的情况。有多种表现形式, 例如绑定(bind)、友元(friend)等,模板类Stack定义了栈相关的操作;IntStack将参数T与实际类型int绑定,使得所有操作都针对int类型的数据,类Memento和类Originator建立了友元依赖关系,以便Originator使用Memento的私有变量state,3. 类图,C+代码 class Vehicle public: vir

13、tual int Start() = 0; virtual int Stop() = 0; virtual int Run(float fSpeed) = 0; private: float fMaxSpeed; ;,Java代码 public abstract class Vehicle public abstract int Start(); public abstract int Stop(); public abstract int Run(float fSpeed); private float fMaxSpeed; ,3.4 类图与代码的映射 3.4.1 类的映射,3. 类图,3.

14、4.2 关联关系的映射,C+代码 class Dialog private: Button btnOK; Button btnCancel; TextBox txtInfo; ; class Button ; class TextBox ;,组合关系,代码表现为Dialog的属性有Button和TextBox的对象,3.4.3 泛化关系的映射,Java代码 public class SavingsAccount extends Account ,C+代码 class SavingsAccount : public Account ;,3. 类图,C+代码 class Shape public:

15、 virtual void Draw() = 0; ; class Circle : public Shape public: void Draw(); private; Point ptCenter; int nRadius; ;,Java代码 public interface Shape public abstract void Draw(); public class Circle implements Shape public void Draw(); private Point ptCenter; private int nRadius; ,在C+语言里面,使用抽象类代替接口,使用泛

16、化关系代替实现关系 在Java语言里面,有相应的关键字interface、implements,3.4.4 实现关系的映射,3.4.5 依赖关系的映射,绑定依赖,C+代码 template class Stack private: int size; public: int Push(T elem); int Pop(); const T,C+代码(编译器生成) class FloatStack private: int size; public: int Push(float elem); int Pop(); const float,3. 类图,Graphics: 基本图形和组合图形的父类,声明了所有图形共同的操作,如Draw;也声明了专用于组合图形管理子图形的操作,如Add、Remove Line、Rectangle: 基本图形类 GroupGraphics: 组合图形类,与父类有组合关系,从而可以组合所有图形对象(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号