使用UML进行面向对象分析和建模课件.ppt

上传人(卖家):ziliao2023 文档编号:5680632 上传时间:2023-05-02 格式:PPT 页数:116 大小:8.96MB
下载 相关 举报
使用UML进行面向对象分析和建模课件.ppt_第1页
第1页 / 共116页
使用UML进行面向对象分析和建模课件.ppt_第2页
第2页 / 共116页
使用UML进行面向对象分析和建模课件.ppt_第3页
第3页 / 共116页
使用UML进行面向对象分析和建模课件.ppt_第4页
第4页 / 共116页
使用UML进行面向对象分析和建模课件.ppt_第5页
第5页 / 共116页
点击查看更多>>
资源描述

1、使用使用UML进行面向进行面向对象分析和建模对象分析和建模第6章Chapter 6OBJECT-ORIENTED ANALYSIS AND MODELING USING THE UML本章内容6.1 面向对象建模方法概述6.2 面向对象建模的基本概念6.3 统一建模语言UML6.4 使用用例建模系统需求6.5 对象分析建模过程6.1 6.1 面向对象建模方法概述面向对象建模方法概述n 面向对象方法学面向对象方法学 采用面向对象的概念及其抽象机制建立应用系采用面向对象的概念及其抽象机制建立应用系统模型,将系统开发视为对象模型的转换和不统模型,将系统开发视为对象模型的转换和不断细化过程断细化过程n

2、 对象建模对象建模 是一种用于辨识系统环境中的对象和这些对象是一种用于辨识系统环境中的对象和这些对象关系的技术关系的技术面向对象的方法学面向对象的方法学n 分析与设计的鸿沟分析与设计的鸿沟 问题域需求分析(系统分析)总体设计(系统设计)详细设计实现计算机测试分析与设计的鸿沟问题域面向对象的分析(OOA)面向对象的设计(OOD)面向对象的实现(OOP)计算机面向对象的测试(OOT)传统方法面向对象方法面向对象的方法学面向对象的方法学n 问题求解问题求解p面向对象设计方法:实现问题空间和问题求面向对象设计方法:实现问题空间和问题求解空间的近似和直接模拟。解空间的近似和直接模拟。意识部分教室物质部分

3、303教室抽象部分教室类具体部分一个对象:教室实例现实问题空间解空间面向对象的软件开发方法n 顺应人类思维习惯,让软件开发人员在解空间中直接模顺应人类思维习惯,让软件开发人员在解空间中直接模拟问题空间中的对象及其行为拟问题空间中的对象及其行为n 支持增量式开发,支持大型软件开发支持增量式开发,支持大型软件开发n 支持软件重用支持软件重用n 改善软件结构改善软件结构(模块化与封装模块化与封装),提高软件灵活性,提高软件灵活性s 抽象抽象软件工程的原则软件工程的原则s 可验证性可验证性s 完全性完全性s 一致性一致性s 模块化模块化(高内聚,低耦合高内聚,低耦合)s 信息隐藏信息隐藏 (局部化局部

4、化)面向对象的软件开发方法面向对象建模方法概述n 面向对象分析(面向对象分析(Object-Oriented AnalysisObject-Oriented Analysis,OOA)OOA)技术用于技术用于 1.1.研究现有对象,看它们是否能够被复用或者研究现有对象,看它们是否能够被复用或者被调整用于新的用途;被调整用于新的用途;2.2.定义各种新对象和修改后的对象,它们将于定义各种新对象和修改后的对象,它们将于现有对象一起组合成一个有用的企业计算应现有对象一起组合成一个有用的企业计算应用系统用系统n 面向对象方法的核心是对象建模技术面向对象方法的核心是对象建模技术面向对象分析设计的基本思路

5、面向对象分析设计的基本思路n 识别对象和类识别对象和类n 通过一组互相关联的模型详细表示类之间的关通过一组互相关联的模型详细表示类之间的关系和对象的行为,并最终描述系统的信息、功系和对象的行为,并最终描述系统的信息、功能和行为能和行为p静态逻辑模型静态逻辑模型p动态逻辑模型动态逻辑模型把系统的开发工作分为两个部分:微观过程和宏观过程。1.确定类和对象4.规范化类和对象的关系2.确定类和对象的语义3.确定类和对象的关系微观过程2.建立理想的行为模型(分析)1.建立核心需要(概念化)5.管理提交以后的模型(维护)3.创建体系结构(设计)4.细化、完善实现模型(进化)宏观过程Booch方法Jocob

6、son方法(OOSE方法)用户标识标识系统的用户和他们的整体责任建造需求模型定义参与者和他们的责任;为每个参与者标识用例;准备系统对象和关系的初步视图;应用用例作为场景去复审模型以确定有效性建造系统模型使用参与者交互的信息来标识界面对象;创建界面对象的结构视图;表示对象行为;分离出每个对象的子系统和模型;使用用例作为场景去复审模型以确定合法性用例(use case)驱动,它建立的所有模型都是以用例模型为基础的。用例用以描述用户和系统间如何交互的场景 RambaughRambaugh方法(方法(OMTOMT方法)方法)对问题范围的陈述建造对象模型标识和问题相关的类;定义属性和关联;定义对象链接;

7、用继承来组织对象类开发动态模型准备场景;定义事件并为每个场景开发一个事件轨迹;构造事件流图;开发状态图;复审行为的一致性和完整性构造系统的功能模型标识输入和输出;使用数据流图表示流变换;为每个功能开发PSPEC;规定约束和优化标准创建三个模型:对象模型(对象类、层次和关系的表示)、动态模型(对象和系统行为的表示)和功能模型(高层的类似DFD的系统信息流的表示)主要分为分析、设计和实现三个阶段。主要分为分析、设计和实现三个阶段。分析阶段:确定分析阶段:确定对象模型、动态模型和功能模型对象模型、动态模型和功能模型设计阶段:设计阶段:系统设计和对象设计系统设计和对象设计实现阶段的细节和具体的实现环境

8、有关实现阶段的细节和具体的实现环境有关OMTOMT方法突出的特点是在分析阶段,它可以较为方法突出的特点是在分析阶段,它可以较为全面地描述系统的静态结构,所以全面地描述系统的静态结构,所以0MT0MT方法适合方法适合于数据密集型的信息系统的开发。于数据密集型的信息系统的开发。Rambaugh方法(OMT方法)统一建模语言(UML)统 一 建 模 语 言统 一 建 模 语 言(UML)(UML)是一套建模是一套建模规则,它使用对规则,它使用对象说明或描述软象说明或描述软件系统件系统UML 并未规定一并未规定一种系统开发方法,种系统开发方法,它只是一种广泛它只是一种广泛接受的对象建模接受的对象建模标

9、准的符号体系。标准的符号体系。统统一一建建模模语语言言的的发发展展过过程程本章内容6.1 面向对象建模方法概述6.2 面向对象建模的基本概念6.3 统一建模语言UML6.4 使用用例建模系统需求6.5 对象分析建模过程6.2 6.2 面向对象的基本概念面向对象的基本概念n 基本概念与特点基本概念与特点对象对象(Object)(Object)消息消息(Message)(Message)类类(Class)(Class)实例实例(Instance)(Instance)继承继承(Inheritance)(Inheritance)封装封装(Encapsulation)(Encapsulation)多态多

10、态(Polymorphism)(Polymorphism)面向对象的世界观面向对象的世界观n 把客观世界从概念上看成是一个由相互配合而把客观世界从概念上看成是一个由相互配合而协作的对象所组成的系统协作的对象所组成的系统n 面向对象面向对象=对象对象+分类分类+继承继承+通信通信n 一个实例一个实例椅子椅子对象:桌子价格尺寸重量位置颜色类:家具对象:椅子一个面向对象的实例椅子价格尺寸重量位置颜色买卖移动买卖移动买卖移动价格尺寸重量位置颜色对象对象n 对象对象(Object)(Object)对象是用来描述客观存在的事物,它是构成系统对象是用来描述客观存在的事物,它是构成系统的基本单位,是对客观世界

11、中事物的抽象描述。的基本单位,是对客观世界中事物的抽象描述。对象对象 行为(功能、方法、服务)行为(功能、方法、服务)属性(数据)属性(数据)属性属性行为行为接口接口对象对象对象对象对象对象6.2面向对象的基本概念n 对象是由私有数据(属性)及作用于其上的一组操作对象是由私有数据(属性)及作用于其上的一组操作(行为)所构成的一个封闭整体(行为)所构成的一个封闭整体p由于对象的数据是私有的,所以要想访问其数据的由于对象的数据是私有的,所以要想访问其数据的正确方法是向该对象发送消息,让对象自身选择其正确方法是向该对象发送消息,让对象自身选择其内部相应的操作以完成对该项数据的访问内部相应的操作以完成

12、对该项数据的访问p对象的动作取决于外界给对象的刺激,这就是消息,对象的动作取决于外界给对象的刺激,这就是消息,消息告诉对象所要求它完成的功能。对象具有一定消息告诉对象所要求它完成的功能。对象具有一定的智能功能,即的智能功能,即“知道知道”如何选择相应的操作来处如何选择相应的操作来处理对象所接收的消息理对象所接收的消息n 从设计人员的角度看,对象是一个完成特定功能的程从设计人员的角度看,对象是一个完成特定功能的程序块序块n 从用户的角度看,对象为他们提供了所希望的行为从用户的角度看,对象为他们提供了所希望的行为6.2 面向对象的基本概念n对象(Object)p对象标识p对象生命周期p对象的分类

13、一般对象 主动对象 永久对象6.2 面向对象的基本概念n 类类(Class)(Class)p一个对象类描述具有相似性质(属性)的一一个对象类描述具有相似性质(属性)的一组对象,这组对象具有一般行为(操作),组对象,这组对象具有一般行为(操作),一般的关系(对象之间)及一般语义。一般的关系(对象之间)及一般语义。p类是对象类的缩写,类中的对象有着相同的类是对象类的缩写,类中的对象有着相同的属性、行为模式。属性、行为模式。将事物进行归纳划分成不同的一些类是人们认识客观世界的基本思维方法。这种方法依据的原则是抽象,它忽略了客观事物非本质特性,将客观事物所具有的共同点,即本质特性划分为一类,形成对事物

14、的本质认识,得出事物的抽象结果。6.2面向对象的基本概念n 类(Class)数据结构数据项数据项数据项数据项处理方法(函数)处理方法(函数)处理方法(函数)对象数据项数据项数据项数据项处理方法处理方法结构化程序设计面向对象的程序设计6.2 6.2 面向对象的基本概念面向对象的基本概念6.2面向对象的基本概念n 消息消息(Message)(Message)p对象之间的联系是通过传递消息来实现的。对象之间的联系是通过传递消息来实现的。p是对象之间进行通讯的一种数据结构。是对象之间进行通讯的一种数据结构。p消息统一了消息统一了“数据流数据流”和和“控制流控制流”。数据方法消息到达6.2面向对象的基本

15、概念n消息消息 -消息传送与函数调用的区别消息传送与函数调用的区别函数调用可以带或不带参数,但是消息至少带函数调用可以带或不带参数,但是消息至少带一个参数,它表明接收该消息的对象,消息中一个参数,它表明接收该消息的对象,消息中告诉对象做什么的部分称为消息操作;告诉对象做什么的部分称为消息操作;消息操作名类似于函数名,其本质区别在于:消息操作名类似于函数名,其本质区别在于:函数名代表一段可执行的代码,但消息操作名函数名代表一段可执行的代码,但消息操作名具体功能的选定还取决于接收消息的对象本身具体功能的选定还取决于接收消息的对象本身函数调用是过程式的(如何做),消息传送是函数调用是过程式的(如何做

16、),消息传送是说明式的(做什么),具体如何做,由对象根说明式的(做什么),具体如何做,由对象根据收到的消息自行确定。据收到的消息自行确定。n实例实例(Instance)(Instance)属于某类的具体对象就是该类的实例。一个属于某类的具体对象就是该类的实例。一个类的不同实例必定具有:类的不同实例必定具有:p相同的操作(或行为)的集合相同的操作(或行为)的集合p相同的信息结构或属性定义,但可以有不同相同的信息结构或属性定义,但可以有不同的属性值的属性值p不同的对象标识不同的对象标识6.2面向对象的基本概念6.2面向对象的基本概念n实例(Instance)类(描述)数据项处理方法处理方法数据项数

17、据项数据项实例数据项数据项数据项数据项实例数据项数据项数据项数据项实例化实例化6.2面向对象的基本概念n继承继承(Inheritance)(Inheritance)p是自动共享类、子类和对象中的方法和数据的机制。是自动共享类、子类和对象中的方法和数据的机制。是实现从可重用成分构造系统的最有效的特性是实现从可重用成分构造系统的最有效的特性图封闭图开放图多边形椭圆线梯形矩形五边形圆n封装封装(Encapsulation)(Encapsulation)p封装是一种信息隐蔽技术,就是把对象的属封装是一种信息隐蔽技术,就是把对象的属性和行为相结合构成一个独立的基本单位,性和行为相结合构成一个独立的基本单

18、位,用户只能见到对象封装界面上的信息,对象用户只能见到对象封装界面上的信息,对象内部对用户是隐蔽的。内部对用户是隐蔽的。p封装的目的在于将对象的使用者和对象的设封装的目的在于将对象的使用者和对象的设计者分开,使用者不必知道行为实现的细节,计者分开,使用者不必知道行为实现的细节,只需使用设计者提供的消息访问对象只需使用设计者提供的消息访问对象6.2面向对象的基本概念PosPosColorColor 公有公有消息消息私有私有消息消息存储结构存储结构方法方法协协.议议一个对象一个对象6.2 6.2 面向对象的基本概念面向对象的基本概念6.2面向对象的基本概念n 多态多态(Polymorphism)(

19、Polymorphism)即一个即一个名字具有多种语义名字具有多种语义。p同一对象接收到不同消息采用不同的行为方式同一对象接收到不同消息采用不同的行为方式p不同对象收到相同消息时产生不同的动作不同对象收到相同消息时产生不同的动作p重载(重载(overloadoverload)p动态绑定动态绑定p类属类属本章内容6.1 面向对象建模方法概述6.2 面向对象建模的基本概念6.3 统一建模语言UML6.4 使用用例建模系统需求6.5 对象分析建模过程p Unified Modeling Language(UML)是一套建模规则,它使用对象说明或描是一套建模规则,它使用对象说明或描述软件系统。述软件系

20、统。p UML 并未规定一种系统开发方法,它并未规定一种系统开发方法,它只是一种广泛接受的对象建模标准的符只是一种广泛接受的对象建模标准的符号体系。号体系。pOMG于于1997年采纳为国际标准。年采纳为国际标准。6.3 统一建模语言UML对象、属性和实例表示一个对象实例,表示一个对象实例,对象实例的名称为:对象实例的名称为:412209;分类为:分类为:Customer。表示一个对象实例的表示一个对象实例的属性。对象实例的名属性。对象实例的名称是唯一表示该对象称是唯一表示该对象的属性值。的属性值。对象类表示一个对象类,主表示一个对象类,主要包含三部分:对象要包含三部分:对象类的名称、属性名称、

21、类的名称、属性名称、方法名称。方法名称。继承InheritanceInheritance the concept wherein methods and/or attributes defined in an object class can be inherited or reused by another object class.继承(cont.)概化、特化概化概化/特化特化 是一种技术,其中几类对象类的公共属性是一种技术,其中几类对象类的公共属性和行为被组合成类,称为超类,超类的属性和方法可被和行为被组合成类,称为超类,超类的属性和方法可被子类(即上述对象类)继承。子类(即上述对象类)

22、继承。超类超类 是包含一个或多个对象子类的公共属性和行为是包含一个或多个对象子类的公共属性和行为的实体,也称为抽象类或父类。的实体,也称为抽象类或父类。子类子类 是一个对象类,它从一个超类继承属性和行为,是一个对象类,它从一个超类继承属性和行为,并可能包含自身所特有的属性和行为。如果它位于继承并可能包含自身所特有的属性和行为。如果它位于继承层次的最底层,也称为实类层次的最底层,也称为实类.UML Representation of Generalization/Specialization对象对象/类的关联关系类的关联关系 对象对象/类的关联关系类的关联关系 是一种存在于一个或多个对象/类之间

23、的自然业务联系。连线表示类之间的关联关系:连线表示类之间的关联关系:places 关联关系是双向的关联关系是双向的 一个客户提交零一个客户提交零个或多个订单个或多个订单 一个订单由一个一个订单由一个且仅有一个客户提且仅有一个客户提交交重数重数:定义重数:定义一个对象一个对象/类类对应相关对对应相关对象类的一个象类的一个实例关联可实例关联可能的最小出能的最小出现次数和最现次数和最大出现次数大出现次数.聚合关系聚合关系聚合关系:是一个较大的聚合关系:是一个较大的“整体整体”类饱含一个或多个较小的类饱含一个或多个较小的“部分部分”类之间的关系。类之间的关系。合成关系合成关系合成关系:是合成关系:是一

24、种特殊的聚一种特殊的聚合关系,其中合关系,其中“整体整体”负责负责其其“部分部分”的的创建和销毁,创建和销毁,如果整体不存如果整体不存在,部分也不在,部分也不存在存在.消息消息请求:包消息请求:包括请求行为名括请求行为名称和对象所需称和对象所需属性名称属性名称多态多态:不同对象可多态:不同对象可以以不同的形式响以以不同的形式响应同样的消息应同样的消息.重载:是一种技术,重载:是一种技术,其中子类使用它自其中子类使用它自己的属性或行为,己的属性或行为,而不是从父类继承而不是从父类继承属性或行为。属性或行为。UML Diagramsn 用例模型图(用例模型图(Use-Case Model Diag

25、ramsUse-Case Model Diagrams)n 静态结构图(静态结构图(Static Structure DiagramsStatic Structure Diagrams)p类图(类图(Class diagramsClass diagrams)p对象图(对象图(Object diagramsObject diagrams)n 交互图(交互图(Interaction DiagramsInteraction Diagrams)p顺序图(顺序图(Sequence diagramsSequence diagrams)p协作图(协作图(Collaboration diagramsColla

26、boration diagrams)n 状态图(状态图(State DiagramsState Diagrams)p状态图(状态图(StatechartStatechart diagrams diagrams)p活动图(活动图(Activity diagramsActivity diagrams)n 实现图(实现图(Implementation DiagramsImplementation Diagrams)p组件图(组件图(Component diagramsComponent diagrams)p部署图(部署图(Deployment diagramsDeployment diagrams)

27、是一种用于建模需求的是一种用于建模需求的技术技术.它以图形化的方式它以图形化的方式描述系统与外部系统和描述系统与外部系统和用户的交互。用例描述用户的交互。用例描述也用于以文本化的方式也用于以文本化的方式描述每个交互步骤的顺描述每个交互步骤的顺序序描述系统的对象结构描述系统的对象结构.它们它们显示构成系统的对象类,显示构成系统的对象类,以及对象类之间的关系以及对象类之间的关系.建模实际的对象实例建模实际的对象实例描述在一个用例或操作描述在一个用例或操作的执行过程中对象如何的执行过程中对象如何通过消息互相交互,说通过消息互相交互,说明了消息如何在对象之明了消息如何在对象之间被发送和接受以及发间被发

28、送和接受以及发送的顺序。送的顺序。类似于顺序图,但重点类似于顺序图,但重点不是消息的定时或不是消息的定时或“顺顺序序”,相反,它以一种,相反,它以一种网络格式表现对象之间网络格式表现对象之间的交互(或协作)的交互(或协作)建模一个特定对象的动态行为,建模一个特定对象的动态行为,说明了一个对象的生命周期说明了一个对象的生命周期对象可以经历的各种状态,对象可以经历的各种状态,以及引起对象从一个状态向另以及引起对象从一个状态向另一个状态转换的事件。一个状态转换的事件。描述活动的序列流描述活动的序列流用于描述系统的软件组用于描述系统的软件组件的组织和依赖关系件的组织和依赖关系描述系统中硬件和软件的描述

29、系统中硬件和软件的物理架构,用以说明构成物理架构,用以说明构成系统架构的运行时软件组系统架构的运行时软件组件、处理器和设备的配置。件、处理器和设备的配置。使用使用UML进行面向进行面向对象分析和建模对象分析和建模第6章Chapter 6OBJECT-ORIENTED ANALYSIS AND MODELING USING THE UML本章内容6.1 面向对象建模方法概述6.2 面向对象建模的基本概念6.3 统一建模语言UML6.4 使用用例建模系统需求6.5 对象分析建模过程6.4 6.4 使用用例建模系统需求使用用例建模系统需求n 对于信息系统开发来说,最主要的挑战就是能对于信息系统开发来

30、说,最主要的挑战就是能够从相关人员那里提取出够从相关人员那里提取出正确的确实需要的系正确的确实需要的系统需求统需求,并以这些相关人员可以理解的方式进,并以这些相关人员可以理解的方式进行说明,以便需求可以得到验证和证实。行说明,以便需求可以得到验证和证实。构造一个软件系统最困难的部分是正确地构造一个软件系统最困难的部分是正确地确定要构造什么。确定要构造什么。Fred Brooksn传统抽取需求的方法传统抽取需求的方法.p 数据和过程模型数据和过程模型,原型系统原型系统,需求规范需求规范.p 设计者易于理解,而用户难以明白设计者易于理解,而用户难以明白.p 导致范围蔓延、进度蔓延和费用超支导致范围

31、蔓延、进度蔓延和费用超支.6.4 6.4 使用用例建模系统需求使用用例建模系统需求Standish Group Standish Group 报告的项目成功率报告的项目成功率Source:The Standish Group International,Inc.,“Chaos:A Recipe for Success”canceled before completionOver budget,late,or without needed features以用户为中心的开发和用例建模以用户为中心的开发和用例建模以用户为中心的开发以用户为中心的开发 (User-centered developme

32、ntUser-centered development)是一个系统开发过程,该过程基于对是一个系统开发过程,该过程基于对关联关联人员的需求人员的需求以及对以及对开发系统的原因开发系统的原因的充分理解之的充分理解之上上.Davidson,W.H.Beyond re-engineering:The three phases of Davidson,W.H.Beyond re-engineering:The three phases of business transformation.IBM Systems Journal 32(1)1993.business transformation.IBM

33、 Systems Journal 32(1)1993.(reprinted in 38(2&3)1999 pp.485-499.)(reprinted in 38(2&3)1999 pp.485-499.)http:/ 以用户为中心的开发和用例建模以用户为中心的开发和用例建模用例建模(用例建模(Use-case modelingUse-case modeling)是使用是使用业务事件、发起业务事件的人、以及系统如何响业务事件、发起业务事件的人、以及系统如何响应这些事件来建模系统功能的过程应这些事件来建模系统功能的过程.p用例建模来源于面向对象建模技术用例建模来源于面向对象建模技术.p由于在与用

34、户沟通方面的优势,使之在非面向对象由于在与用户沟通方面的优势,使之在非面向对象开发环境也广为流行开发环境也广为流行.p弥补了传统系统分析和设计工具的不足,提供了架弥补了传统系统分析和设计工具的不足,提供了架构决策和用户界面设计决策的基础构决策和用户界面设计决策的基础.用例建模的优势用例建模的优势n 提供了提供了捕捉功能需求捕捉功能需求的工具的工具n 有助于将系统范围分解成更易管理的小块有助于将系统范围分解成更易管理的小块n 提供了与用户以及其他关心系统功能的关联人员进行交流提供了与用户以及其他关心系统功能的关联人员进行交流的工具的工具n 提供了确定、分配、跟踪、控制和管理系统开发活动的手提供了

35、确定、分配、跟踪、控制和管理系统开发活动的手段段n 辅助估计项目范围、投入和进度辅助估计项目范围、投入和进度n 为为定义测试计划和测试用例定义测试计划和测试用例提供了一个基准提供了一个基准n 为用户帮助系统和手册以及系统开发文档提供了一个基准。为用户帮助系统和手册以及系统开发文档提供了一个基准。n 提供了提供了需求跟踪需求跟踪的工具的工具n 提供了确定数据对象或实体的起点提供了确定数据对象或实体的起点n 提供了设计用户和系统提供了设计用户和系统接口的功能规格说明接口的功能规格说明n 提供了定义数据库访问需求的手段提供了定义数据库访问需求的手段n 提供了驱动系统开发项目的一个框架提供了驱动系统开

36、发项目的一个框架用例建模的概念用例建模的概念用例用例(Use caseUse case)是一个行为上相关的步骤是一个行为上相关的步骤序列(一个场景),即可以是自动的也可以是手序列(一个场景),即可以是自动的也可以是手工的,其目的是完成一个单一的业务任务工的,其目的是完成一个单一的业务任务.p用例是从外部用户的观点并以他们可以理解的用例是从外部用户的观点并以他们可以理解的方式和词汇描述了系统功能方式和词汇描述了系统功能.用例图用例图(Use-case diagramUse-case diagram)是描述系统与是描述系统与其他外部系统以及用户之间交互的图形。其他外部系统以及用户之间交互的图形。p

37、用例图以图形的方式描述了谁将使用系统,用用例图以图形的方式描述了谁将使用系统,用户希望以什么方式与系统交互户希望以什么方式与系统交互.用例描述用例描述(Use-case narrativeUse-case narrative)是业务事是业务事件以及用户如何同系统交互以完成任务的文字描件以及用户如何同系统交互以完成任务的文字描述述.简单的用例图简单的用例图基本的用例符号用例(用例(Use caseUse case)全部系统功能的子全部系统功能的子集集p一个用例代表了系统的一个单一目标一个用例代表了系统的一个单一目标.参与者(参与者(ActorActor)代表了需要同系统交代表了需要同系统交互以交

38、换信息的任何事物互以交换信息的任何事物.p可以是人、组织、另一个信息系统、一可以是人、组织、另一个信息系统、一个外部设备或是时间个外部设备或是时间.时序事件(时序事件(Temporal eventTemporal event)是由时是由时间触发的系统事件间触发的系统事件.p一个时序事件的参与者是时间一个时序事件的参与者是时间.四种类型的参与者四种类型的参与者n 主要业务参与者主要业务参与者 p主要从用例执行中获得好处主要从用例执行中获得好处.pe.g.e.g.用户从支付系统接收工资用户从支付系统接收工资n 主要系统参与者主要系统参与者p直接同系统交互发起或触发业务或系统事件的关联人员直接同系统

39、交互发起或触发业务或系统事件的关联人员.pe.g.e.g.银行出纳员处理一个存款事务银行出纳员处理一个存款事务n 外部服务参与者外部服务参与者 p响应来自用例的请求的关联人员响应来自用例的请求的关联人员.pe.g.e.g.信用卡部门认证一个信用卡支付信用卡部门认证一个信用卡支付n 外部接收参与者外部接收参与者p不是主要参与者但从用例接收某些可度量的或可观察的价值不是主要参与者但从用例接收某些可度量的或可观察的价值.pe.g.e.g.当顾客下了一个订单后,仓库收到一个打包单准备发货。当顾客下了一个订单后,仓库收到一个打包单准备发货。关联关系关联关系(关联关系(AssociationAssocia

40、tion)是一个参与者与一是一个参与者与一个用例发生交互的关系个用例发生交互的关系.p关联关系是用一条连接参与者和用例之间的关联关系是用一条连接参与者和用例之间的实线来建模实线来建模.p有箭头的关联关系表示参与者发起用例有箭头的关联关系表示参与者发起用例.p无箭头的关联关系表示用例与外部服务者或无箭头的关联关系表示用例与外部服务者或接受参与者交互接受参与者交互.p关联关系可以是单向的,也可以是双向的关联关系可以是单向的,也可以是双向的.关联关系扩展关系扩展用例(扩展用例(Extension use caseExtension use case)是一个由从是一个由从某个更复杂的用例中提取出来的步

41、骤构成的用例,某个更复杂的用例中提取出来的步骤构成的用例,以便简化原始用例并扩展其功能以便简化原始用例并扩展其功能.p扩展用例与原用例之间的关系称作扩展关系扩展用例与原用例之间的关系称作扩展关系.p一个用例可以有多个扩展关系,但一个扩展用一个用例可以有多个扩展关系,但一个扩展用例只能被它扩展的用例调用例只能被它扩展的用例调用.p每一个扩展关系可用一个标记为每一个扩展关系可用一个标记为 “.”.”的有向箭头线来表示。的有向箭头线来表示。扩展关系生成仓库打包订单提交新会员订单计算订单总额和销售税使用关系抽象用例(抽象用例(Abstract use caseAbstract use case)通过组

42、合几通过组合几个用例中公共的步骤降低用例之间的冗余个用例中公共的步骤降低用例之间的冗余.p抽象用例可以被另一个需要使用它的功能用例抽象用例可以被另一个需要使用它的功能用例访问访问.p抽象用例和使用它的用例之间的关系称为使用抽象用例和使用它的用例之间的关系称为使用关系(包含关系)关系(包含关系).p使用关系表示成一个箭头线,起点是原始用例,使用关系表示成一个箭头线,起点是原始用例,箭头指向它使用的用例箭头指向它使用的用例.p每个使用关系标记为每个使用关系标记为“useuse”提交新会员订单使用关系提交通信地址改变修改通信地址依赖关系依赖关系(依赖关系(Depends OnDepends On)用

43、以说明系统的用以说明系统的用例之间的依赖性用例之间的依赖性.p有助于确定用例之间的开发顺序有助于确定用例之间的开发顺序.p用一个标记为用一个标记为“depends ondepends on”的有向箭的有向箭头线表示头线表示依赖关系建立银行帐户取款存款继承关系继承关系(继承关系(InheritanceInheritance)当几个参与者共当几个参与者共享同样的行为时,即发起同样的用例,可将这些享同样的行为时,即发起同样的用例,可将这些公共行为分配给一个新的抽象参与者,以便降低公共行为分配给一个新的抽象参与者,以便降低与系统通信的冗余与系统通信的冗余.p其他参与者可继承抽象参与者的交互行为其他参与

44、者可继承抽象参与者的交互行为.继承关系申请会员查询库存借书申请会员借书查询库存抽象参与者抽象参与者继承关系继承关系需求用例建模过程需求用例建模过程n 构造构造p表述用户需要什么表述用户需要什么.p不涉及系统将如何构造和实现的特定细节不涉及系统将如何构造和实现的特定细节.n 为了有效地估计和调度项目,模型可能需要包含为了有效地估计和调度项目,模型可能需要包含初始的初始的“系统实现假设系统实现假设”n 产生需求用例模型的步骤产生需求用例模型的步骤1.1.确定与业务相关的参与者确定与业务相关的参与者.2.2.确定业务需求用例确定业务需求用例.3.3.构造用例模型图构造用例模型图.4.4.记录业务需求

45、用例描述记录业务需求用例描述.需求用例建模过程需求用例建模过程1)速度是关键;)速度是关键;2)迭代和增量式开发)迭代和增量式开发3)保证基本的体系结)保证基本的体系结构正确构正确Step 1:确定与业务相关的参与者n 通过如下问题寻找参与者通过如下问题寻找参与者:p谁或什么为系统提供输入谁或什么为系统提供输入?p谁或什么接收系统的输出谁或什么接收系统的输出?p需要与其他系统接口吗需要与其他系统接口吗?p是否存在在预定的时间自动触发的事件是否存在在预定的时间自动触发的事件?p谁将维护系统中的信息谁将维护系统中的信息?重点在于如何使用重点在于如何使用系统,参与者决定系统,参与者决定了系统需求的完

46、整了系统需求的完整性性Sample List of Actors 专业术语 同义语 描述Step 2:确定业务需求用例n 在需求分析阶段,仅仅确定和记录在需求分析阶段,仅仅确定和记录最关键最关键、最最复杂复杂和和最重要最重要的用例,这些用例也被称作基本的用例,这些用例也被称作基本用例用例.n 通过以下用例确定问题通过以下用例确定问题:p参与者的主要任务是什么参与者的主要任务是什么?p参与者需要系统什么信息参与者需要系统什么信息?p参与者为系统提供什么信息参与者为系统提供什么信息?p系统需要通知参与者发生的变化和事件吗系统需要通知参与者发生的变化和事件吗?p参与者需要通知系统发生的变化和事件吗参

47、与者需要通知系统发生的变化和事件吗?一个上下文图的示例上下文图是分析参上下文图是分析参与者和发现潜在用与者和发现潜在用例的极好来源。例的极好来源。通过看图可确定系通过看图可确定系统的主要输入和输统的主要输入和输出,以及确定潜在出,以及确定潜在的用例。的用例。用例字典示例continued1、触发组织内的业务事件的主要输、触发组织内的业务事件的主要输入将被确定为用例;提供这些输入的入将被确定为用例;提供这些输入的外部各方被认为是参与者;外部各方被认为是参与者;2、用例使用输入的名称前加一个行、用例使用输入的名称前加一个行动动词来命名。动动词来命名。用例字典示例(continued)continu

48、ed用例字典示例(continued)Step 3:Step 3:建造用例模型图建造用例模型图用例被组合成业务用例被组合成业务子系统,子系统表子系统,子系统表示了业务过程的逻示了业务过程的逻辑功能区。辑功能区。Step 4:Step 4:记录业务需求用例描述记录业务需求用例描述n 当准备用例描述时,首先在高层记录,以便尽当准备用例描述时,首先在高层记录,以便尽快理解系统的事件和量级快理解系统的事件和量级.n 然后,再回到每个用例,扩展它以完全地记录然后,再回到每个用例,扩展它以完全地记录业务需求描述业务需求描述.p包括用例的典型事件序列和异常情况下的事包括用例的典型事件序列和异常情况下的事件序

49、列件序列.下新订单用例描述的高层版本下新订单用例描述的高层版本下新订单用例描述的扩展版本下新订单用例描述的扩展版本continued下新订单用例描述的扩展版本下新订单用例描述的扩展版本(cont)continued下新订单用例描述的扩展版本下新订单用例描述的扩展版本(cont)用例与项目管理用例与项目管理n 用例模型可以驱动整个系统开发活动用例模型可以驱动整个系统开发活动.n 项目经理或者系统分析员可使用业务需求用例项目经理或者系统分析员可使用业务需求用例计划(估计和安排进度)项目的构建周期计划(估计和安排进度)项目的构建周期.p一个构建周期包括系统分析、设计和构造活一个构建周期包括系统分析、

50、设计和构造活动,主要根据用例的重要性和用例的构造时动,主要根据用例的重要性和用例的构造时间进行框定间进行框定.p一般会在每个构造周期开发几个用例,最初一般会在每个构造周期开发几个用例,最初实现一个简化版本,然后再在以后的周期中实现一个简化版本,然后再在以后的周期中逐步实现完全的版本逐步实现完全的版本用例与项目管理用例与项目管理n 为确定用例的重要性为确定用例的重要性:p用例分级和评估矩阵用例分级和评估矩阵p用例依赖图用例依赖图用例分级和评估矩阵用例分级和评估矩阵n 在大多数项目中,最重要的用例最早开发在大多数项目中,最重要的用例最早开发.用例分级和评估矩阵(用例分级和评估矩阵(Use-case

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(使用UML进行面向对象分析和建模课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|