收藏 分销(赏)

RUP开发过程与UML建模.ppt

上传人:仙人****88 文档编号:14760266 上传时间:2026-11-14 格式:PPT 页数:106 大小:1.12MB 下载积分:10 金币
下载 相关
RUP开发过程与UML建模.ppt_第1页
第1页 / 共106页
RUP开发过程与UML建模.ppt_第2页
第2页 / 共106页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,RUP,开发过程与,UML,建模,1,软件开发的几个指导原则及模型的概念,2,统一软件开发过程(,RUP,),3,UML,概述,4,UML,结构,5,UML,中的图,11/14/2026,1,软件开发过程,是,指为生产某个软件产品或系统,需要什么人在什么时候以何种方式进行何种活动的集合。,11/14/2026,2,软件开发项目失败的共同症状:,对于最终用户的需求理解得不够精确。,不能处理需求变更。,模块之间不兼容。,软件不易维护和扩展。,对项目的严重缺陷发现较晚。,软件质量低劣。,软件性能无法令人接受。,团队中人员按各自的开发方式工作,这使得对谁在何时、何处做什么不完全清楚,系统更改与重构难以进行。,一个不可靠的构造和发布过程。,11/14/2026,3,尽管各个项目失败的原因是不同的,但是基本上大多数项,目失败是由于以下几个原因的组合造成的:,需求管理非规范。,模糊和不精确的交流。,脆弱的架构。,系统过度复杂。,未检测出需求、设计和实现中的不一致。,测试不足。,对项目状况的评估过于主观。,未解决存在的风险。,无法控制变化的传播。,自动化程度不足。,11/14/2026,4,1,软件开发的几个指导原则及模型的概念,1,、软件开发的三个指导原则:,分阶段进行(定义、开发、运行维护),大开发任务划分成独立的小块任务(模块化)高内聚,(,模块内各元素彼此紧密结合,),低耦合(模块间互联程度低),从抽象到具体逐步深入解决问题(逐步求精),2,、模型的概念:,是人们对现实世界理解的表达,(一般对应一些图表),11/14/2026,5,2,统一软件开发过程,RUP,1,统一过程概述,2,统一过程的四个工作阶段,3,统一过程的五个核心工作流,4,统一软件开发过程的生命周期,5,RUP,开发过程的特点,11/14/2026,6,1,统一过程概述,Rational,公司的,RUP,发展而来的一套软件工程方法,是目前最有效的软件开发过程模型。,基于构件的,用,UML,制定软件系统所有蓝图,突出特点:用例驱动、架构优先、迭代和增量过程,四个阶段:初始、细化、构造、移交,强调开发过程,五个核心工作流:需求捕获、分析、设计、实现、测试,11/14/2026,7,在,RUP,中,项目生命周期被划分为四个阶段:,(,1,)初始阶段,(,Inception,),(,2,)细化阶段,(,Elaboration,),(,3,)构造阶段,(,Construction,),(,4,)交付阶段,(,Transition,),每个阶段开始时都有特定的目标,结束时有里程碑。在每个阶段中存在一个或多个迭代。在每个迭代中,可以有多个工作流。,2,统一过程四个工作阶段,11/14/2026,8,1),初始阶段,初始阶段的目标:,确定项目的软件范围和边界条件,识别出系统的关键用例,展示系统的侯选架构,估计整个项目需要的费用和时间安排评估项目风险,初始阶段的主要活动:,建立系统的业务模型,捕获系统的基本需求,确定系统的边界,识别关键任务,确定系统验收标准,进行项目风险评估,进行项目资源的估计与效益分析,制定项目开发计划与重要里程碑。,11/14/2026,9,初始阶段的里程碑,生命期目标,初始阶段的制品:,项目蓝图文档:系统的核心需求、关键特性与主要约束,初始的用例模型(完成,10,20,),初始的项目术语表,业务用例模型,包括商业环境、验收标准和财政预测,初始的风险评估,一个可以显示阶段和迭代的项目计划,一个或多个原型,初始的架构文档,初始阶段的重点:,初始阶段的重点是需求分析与系统分析。如果需要构造原型系,统,则需做一些设计与实现。,11/14/2026,10,可以用如下标准来评价初始阶段是否成功:,风险承担者是否赞成项目的范围定义、成本以及进度估计。,是否通过主要用例证实对需求的理解。,成本与进度预测的评估以及优先级、风险和开发过程的可信度。,所开发软件原型的深度和广度。,实际开支与计划开支的比较。,架构的轮廓是否合理,如果无法达到这些标准,可能取消项目或重新对项目进行仔细的考虑。,11/14/2026,11,2,)细化阶段,-,最关键的阶段,细化阶段的目标:,迅速定出实用的架构,规划完成项目的活动,估算完成项目所需资源,细化初始阶段模型,为构造阶段定出高精确度的计划,细化阶段的主要活动:,细化构想,建立对大多数关键用例的确定理解,分析问题域,建立坚实的架构,细化架构并选择组件,捕获,80%,的功能需求用例,精化风险评估,建立可执行的软件原型,定义非功能需求,制定过程迭代计划和迭代的评价标准,11/14/2026,12,细化阶段的里程碑,生命期架构,细化阶段的主要制品:,系统架构基线,UML,静态模型,UML,动态模型,UML,用例模型,修订的风险评估,修订的用例,修订的项目计划,可执行的原型,细化阶段的重点:,细化阶段主要关注需求、分析和设计工作流。每个工作流关注如下各项。,需求,精化系统范围和需求,分析,确定构造什么,设计,创建稳定的架构,实现,构造架构基线,测试,测试架构基线,11/14/2026,13,细化阶段的评价是通过回答下述问题来完成的:,软件的构想是否稳定?,架构是否稳定?,可执行的原型是否表明风险要素已被处理并可靠地解决了?,构造阶段的计划是否足够详细和精确?是否有可靠的基础?,如果在当前架构上下文中执行计划并开发出整个系统,是否所有的风险承担人都同意系统达到了当前的需求?,实际的费用支出与计划支出是否可以接受?,如果无法达到这些标准,可能取消项目或对项目进行重新考虑。,11/14/2026,14,3,)构造阶段,构造阶段的目标:,实现管理层和用户达成共识的产品的所有用例,一个移交阶段的高精度计划,关键特性和核心功能得到实现,产品发布的验收标准,初步的用户手册,产品质量的详细分析,构造阶段的主要活动:,资源管理、资源控制和过程优化,完成组件开发并根据已定义的评价准则进行测试,利用构想制定的准则对发布的产品进行评估,构造阶段的重点:,构造阶段主要关注系统的实现工作流。每个工作流关注如下各项。,需求,揭示任何遗漏的需求,分析,完成分析模型,设计,完成设计模型,实现,构造初始运作功能,测试,测试初始运作功能,11/14/2026,15,构造阶段的里程碑,初始运作功能,构造阶段的制品:,可运行的软件系统,UML,模型,测试用例,用户手册,发布描述,构造阶段的结束是项目开发的第三个重要的里程碑。这个阶段产生的版本通常被称为,版,。,评价构造阶段需要回答以下问题:,软件是否足够稳定和成熟,从而可以发布给用户?,是否所有的风险承担人都准备好了向用户交付软件产品?,实际费用与计划费用的对比是否仍可被接受?,如果项目无法达到这些要求,必须推迟进入交付阶段。,11/14/2026,16,4,)交付阶段,交付阶段的目标:,试用产品并改正试用中发现的缺陷,制作安装版并培训用户,提供在线支持,交付阶段的主要活动:,将软件系统部署到用户环境,修复软件的缺陷,编制用户手册和其它文档,培训用户和维护人员,提供用户咨询,交付阶段的重点:,交付阶段主要关注系统的测试和配置工作流。每个工作流关注如下各项。,设计,如果,测试中出现问题,修改设计。,实现,为用户场地裁减软件,修复在,测试中发现的问题。,测试,测试及其在用户现场验收测试。,配置,将软件系统部署到环境中,并配置相应参数。,11/14/2026,17,交付阶段的里程碑,产品发布,交付阶段的制品:,可运行的软件产品,用户手册,用户支持计划,评价交付阶段需要回答以下问题:,用户是否认可系统已经成功部署?,用户是否积极使用该软件产品?,用户是否认可产品支持策略?,如果项目无法达到这些要求,必须推迟交付。,11/14/2026,18,工作流,(规程)是由活动构成的活动序列。沿着过程组件轴,开发过程可以被划分为五个,核心工作流,。,(,1,)需求捕获,建立待开发系统的用例模型,多次迭代完善;进行初步用户界面设计。用来描述系统的功能性需求和非功能性需求。,(,2,)分析,对需求捕获阶段所描述的用例模型进行精细化和组织,目的是为了更精确地理解需求,得到一个易维护且有助于确定系统结构的需求描述。,(,3,)设计,构造系统,获得实现了所有需求的系统组织。设计的目的是通过考虑实现环境,将分析阶段的模型扩展和转化为可行的技术实现方案。,(,4,)实现,实现工作流活动是用编程语言来实现系统,同时对已建立的模型作相应的修正。,(,5,)测试,测试工作流活动的目的是使用测试用例对系统软件进行验证与确认工作。,3,统一过程的五个核心工作流,11/14/2026,19,统一开发过程的一次迭代包括,五个,核心工作流,。,每个阶段经过多次迭代,但每个阶段侧重点不同,4,统一过程的生命周期,11/14/2026,20,5RUP,开发过程的特点,RUP,综合,了以前的多种软件开发过程的优点,全面考虑了软件开发的技术因素和管理因素,,它是,一种良好,的开发过程模式,。,RUP,的主要特点如下,:,1,)面向对象,从技术角度,,RUP,开发,是基于,面向对象技术,即它使用,和支持面向对象技术的概念和方法。,RUP,要求建立的设计模型、实现模型都是对象模型。,2)Use Case,驱动,系统的开发从,问题领域的,Use Case,模型开始,,Use Case,模型表达了系统的需求,以后的各种工作围绕着如何实现这个,Use Case,模型展开。,RUP,推荐,Use Case,驱动的软件开发方法,当然也不排斥按常规方法进行,需求分析和直接从对象模型,着手进行开发工作。,11/14/2026,21,3),以架构为中心(架构优先),在系统的开发过程中,软件架构是系统开发的基本制品,系统的概念化、构造和管理都是围绕着系统的架构进行的。,4),增量和迭代的开发过程,RUP,遵循原型法的思想,开发过程由一连串迭代开发活动组成,渐增、循环重复,以及往返工程构成了,RUP,的过程特色。,11/14/2026,22,5),以质量控制和风险管理为目标,质量控制贯穿于开发的全过程。在,RUP,中的每一个阶段或循环中,都要进行质量评估,用质量目标和质量指标衡量软件系统的质量。,从软件项目立项之初便尽可能地认识项目开发将面临的风险,风险管理贯穿于软件开发的全过程。,6),与,UML,配套,UML,本身只是一种建立模型的语言,,UML,的概念和表示法与,RUP,相结合将形成一种强大的、高效的软件系统开发方法和技术。当然,,RUP,也可以与其他的面向对象表示工具相结合使用。,7,)适用性强,RUP,适用于各类软件系统的开发。从规模上说,,RUP,可用于大、中、小型软件系统,从个人开发到数百人的团队开发都可以使用,RUP,开发过程。从种类上说,常规的信息管理系统、分布式系统、并行系统、实时系统和基于,Web,的系统都可以使用,RUP,开发过程。,此外,,RUP,开发过程采用管理与技术相结合的二维方法,特别适合处理需求易变动的高风险项目。,11/14/2026,23,3,统一建模语言,UML,概述,1,、关于,UML,:,统一建模语言表达能力强,发展过程如下,UML,0,UML 1.2,UML 1.1,UML1.0,UML 0.9,Unified Method,0.8,UML 1.3,UML 1.4,1995,文档版类,1996,精华相关,1997,年,1,月最,初提交给,OMG,1997,年,9,月最后,提交给,OMG,1998,1999,2000,年,(,计划的较小修订,),2001,年,计划的重要修订,文字上的修改,没有显著的技,术变化,11/14/2026,24,2,、为何要建模,软件系统建模:指用某种抽象方法对软件系统的描述。模型是对现实的简化。,系统建模:构造系统模型的过程,建模的目的:,帮助我们按实际情况或所需样式对系统进行可视化,允许详细说明系统结构和行为,给出构造系统的模版,对决策文档化,3,、什么是,UML,统一建模语言(,UML,)是一个用于,描述、可视化、构造和文档化,软件系统的建模语言。它统一了,Grady,Booch,、,Jim,Rumbangh,、和,Ivar,Jacobson,三位大师的面向对象建模描述语言,(,Booch,OMT,、,OOSE),,并对其做了进一步的发展,最终成为广泛接受的面向对象建模语言。,UML,已被,OMG,所采用,目前成为业界的标准。,11/14/2026,25,4,、,UML,的认识,不是一门程序设计语言,只是一种建模语言。,从面向对象的角度对系统建模,提供了简洁的表达面向对象中的各种概念和模型元素。,可视化、表示能力强。系统的逻辑模型或实现模型均可用,UML,模型图形清晰表示,并提供用户的扩展支持。,独立开发过程。可支持其他面向对象开发和传统的软件开发过程。,11/14/2026,26,4UML,结构,构造块,这些是基本,UML,建模元素(事物、关系和图),公共机制,达到特定目标的公共,UML,方法。,构架,系统构架的,UML,视图。,11/14/2026,27,1,、,UML,构造块,物件,(,事物,),这些是建模元素本身。,(,结构、行为、分组、注释,),关系,这些把物件联系在一起,关系说明两个或多个物件是如何语义相关的。,(,依赖、关联、泛化、实现,),图,这些是,UML,模型的视图,它们展现物件的集合。(,9,种),11/14/2026,28,1,),UML,物件,UM L,物件可以分成:,结构物件,UML,模型的名词,如类、接口、协作、用例、活动类、组件、节点。,行为物件,UML,模型的动词,如交互、状态机。,分组物件,包,它用于把语义上相关的建模元素分组为内聚的单元。,注解物件,注解,它附加到模型以捕获特殊信息。,11/14/2026,29,结构事物:,类,(Class),:,是具有共同结构特征、行为特征、联系和语义的对象,集合的抽象形式。,类,在,UML,中通常以实线矩形框表示,矩形框中含有若干,分隔框,分别包含类的名字、属性、操作、约束以及其他成分等,,如下图所示。,11/14/2026,30,11/14/2026,31,接口:描述了一个类或是一个构件的服务的操作集,定义操作的,特征标记,而不是实现。在,UML,中用带有名字的圆表示。,协作:定义了一个交互,由一组共同工作以提供某种协作行为的,角色和其他元素构成的一个群体。表示为包含名称的虚线椭圆,用例:一对动作序列的描述。表示为包含名称的实线椭圆,主动类:其对象至少包含一个进程或线程,能启动控制活动的类。,其表示和类相似,只是外边框粗黑线。,构件:系统中物理的、可替代的部件,表示为带小方框的矩形。,结点:运行时存在的物理元素,用带名字的立方体表示。,11/14/2026,32,行为事物:,交互:是一组对象之间为完成某一任务而进行的一系列消息交换的行为说明。表示为有向线。,状态机:描述了一个对象或交互在生命期内响应事件所经历的状态序列。状态用带名称的圆角矩形表示,分组事物:,包:是模型元素的集合,是概念上的,无真正意义。表示为左上角带有一个小矩形的大矩形。,注释事物:,注解:依附于一个元素或一组元素之上,对它进行约束或解释的简单符号。表示为右上角是折角的矩形。,属性,用例,包,结点,状态,组件,类,操作,对象,属性,操作,接口,注释,11/14/2026,33,2,),UML,关系,关联,组合,聚合,依赖,细化,(,实现,),泛化(继承),11/14/2026,34,4.3,用,UML,对系统建模,1,、,UML,中的图:,用例图、类图、对象图、状态图、序列图、协作图、活动图、构件图、部署图共九种,用例图:用于显示若干角色,以及这些角色与系统提供的用例之间的连接关系。,类图:用来表示系统中的类和类之间的关系,它是对系统静态结构的描述。,对象图:是类图的变体,两者之间的差别在于,对象图表示的是类的对象实例,而不是真实的类。对象图是类图的一个范例。,状态图:是对类所描述事物的补充说明,它显示了类的所有对象可能具有的状态,以及引起状态变化的事件。,序列图:用来反映若干个对象之间的动态协作关系,也就是随着时间的流逝对象之间是如何交互的。,协作图:和序列图的作用一样,反映的也是动态协作,除了显示消息变化称为交互,外,协作图还显示了对象和它们之间的关系,称为上下文有关。由于协作图或序列图都反映对象之间的交互,所以建模者可以任意选择一种反映对象间的协作,如果需要强调时间和序列,最好选择序列图,如果需要强调上下文相关,最好选择协作图。,活动图:反映一个连续的活动流,相对于描述活动流来说,活动图更常用于描述某个操作执行时的活动状况。,构件图:用来反映代码的物理结构,部署图:用来显示系统中软件和硬件的物理架构,11/14/2026,35,4.3,用,UML,对系统建模,2,、,UML,模型:,包含用例模型,静态模型,动态模型共三种,用例模型:从用户角度描述系统需求,是所有开发活动的指南。包含:一或者多张用例图,静态模型:描述系统的元素与元素间的关系。包括:类图,对象图,构件图,部署图,动态模型:描述系统随时间发展的行为。包含:状态图,序列图,协作图,活动图,11/14/2026,36,3,、,UML,视图,一个系统应从不同的角度进行描述,从一个角度观察到的系统称为一个视图(,view,)。,视图由多个图,(,Diagrams,),构成,它不是一个图表,(,Graph,),而是在某一个抽象层上,对系统的抽象表示。,如果要为系统建立一个完整的模型图,需定义一定数量的视图,每个视图表示系统的一个特殊的方面。另外,视图还把建模语言和系统开发时选择的方法或过程连接起来。,11/14/2026,37,设计视图,实现视图,配置视图,过程视图,Use case,视图,Use case View,描述系统的外部特性、系统功能等。,Implementation View,表示系统的实现特征,常用构件图表示。,Design View,描述系统设计特征,包括结构模型视图和行为模型视图,前者描述系统的静态结构,(,类图、对象图,),,后者描述系统的动态行为,(,交互图、状态图、活动图,),。,Process View,表示系统内部的控制机制。常用类图描述过程结构,用交互图描述过程行为。,Deployment View,配置视图描述系统的物理配置特征。用配置图表示,。,UML,常用,视图,11/14/2026,38,5,UML,中的图,5.1,UML,规则,5.2,类图,5.3,对象图,5.4,用例图,5.5,顺序图,5.6,协作图,5.7,状态图,5.8,活动图,5.9,构件图,5.10,实施图,5.11,绘制,UML,图,11/14/2026,39,5.1,UML,规则,1,、,UML,的规则:,命名,范围,可见性,完整性,执行,省略,不完全性,不一致性,11/14/2026,40,5.1,UML,规则,2,、,UML,中的公共机制:,规格说明,修饰,通用划分,扩展机制,11/14/2026,41,1,)规格说明,11/14/2026,42,2,)修饰,修饰是用来在图中建模元素加上某个要点。,11/14/2026,43,3,)通用划分,抽象和实例划分,接口和实现的分离,11/14/2026,44,4,)扩展机制,11/14/2026,45,类图和对象图,面向对象的开发方法的基本任务是建立对象模型,是软件系统开发的基础。,UML,中的对象类图,(Class Diagram),与对象图,(Object Diagram),表达了对象模型的静态结构,能够有效地建立专业领域的计算机系统对象模型。,一、类图,,是面向对象模型的最基本的模型元素,用类图来描述。,类图,(Class diagram),由系统中使用的类以及它们之间的关系组成,是描述系统的一种图式,,分为长式和短式。类及类型名均用英文大写字母开头,属性及操作名为小写字母开头。常见类型有:,Char,Boolean,Double,Float,Integer,Object,Short,String,等。,类图是构建其它图的基础。,11/14/2026,46,小汽车,注册号:,String,日期:,Cardata,速度:,Integer,方向:,Direction,属性:类型,类名,操作,类名,对象是对象类的实例,(instance),用对象图来描述。对象图亦分长式和短式。,对象名,:,类名,属性,操作,对象名,类图与对象图,丁,一:作家,姓名,=,丁一,年龄,=30,丁一办公室中的,PC:,计算机,名称,=Dell 466,内存,=64,丁一家里的,PC:,计算机,名称,=,长城,PII MMX,内存,=64,对象图,11/14/2026,47,(1),属性,(,attribute,),属性用来描述类的特征,表示需要处理的数据。,属性定义:,visibility attribute-name:type=initial-value property-string,可见性 属性名:类型,=,缺省值,约束特性,其中:可见性,(,visibility),表示该属性对类外的元素是否可见。,分为:,public,(,+,),公有的,即模型中的任何类都可以访问该属性。,private,(,-,),私有的,表示不能被别的类访问。,protected,(,#,),受保护的,表示该属性只能被该类及其子类访问。,如果可见性未申明,表示其可见性不确定。,11/14/2026,48,(2),操作,对数据的具体处理方法的描述则放在操作部分,操作说明了该类能做些什么工作。操作通常称为函数,它是类的一个组成部分,只能作用于该类的对象上。,操作定义:,visibility operating-name(parameter-list):return-type property-,string,可见性 操作名(参数表):返回类型,约束特性,其中:可见性同上。,参数表:参数名:类型,,Parameter-name:type=default-value,返回类型:操作返回的结果类型。,类图的描述,11/14/2026,49,二、类的识别,是面向对象方法的一个难点,但又是建模的关键。常用的方法有,:,1,、,名词识别法,2,、系统实体识别法,3,、从用例中识别类,4,、利用分解与抽象技术,关键是要定义类的“属性”及“操作”。,11/14/2026,50,UML,中类的关系有关联,(association),、,聚集,(aggregation),、,泛化,(generalization),、,依赖,(depending),和细化,(refinement),。,一、关联,关联是类之间的连结,分为:,1,、常规关联,(,图,A),2,、多元关联,3,、有序关联,4,、受限关联,5,、或关联,(,图,B),6,、关联类,(,图,C),公司,员工,0.,*,顾 佣,0.*,工作于,管理,1.,*,工人,老板,0.1,图,A,顾佣关联,图,B,或关联,用户,工作站,授权,*,*,授权,优先级,特权,开始一个时间片,图,C,关联类,UML,中类之间的关系,保险公司,保险合同,人,公司,*,*,*,or,11/14/2026,51,7,、其它关联,递归关联,(Recursive association),即一个类到自身的关联。,节点,连接,*,*,图,A,递归关联,人,治疗,病人,医生,图,B,带有职责的递归关联,11/14/2026,52,二、聚集,(aggregation),聚集是一种特殊的关联,它指出类间的“整体,-,部分”关系。又分为:,1,、共享聚集,(shared aggregation),其“部分”对象可以是任意“整体”对象的一部分。当“整体”端的重数不是,1,时,称聚集是共享的。,整体类,部分类,、组合聚集,(composition aggregation),其“整体”,(,重数为,0,、,1),拥有它的,“,部分”。部分仅属于同一对象,整体与部分同时存在。,整体类,部分类,窗口,工具框,显示区,标题,共享聚集,窗口,标题,工具框,显示区,组合聚集,项目,人员,11/14/2026,53,三、泛化,泛化指出类之间的“一般与特殊关系”,即继承关系。父类与子类之间构成,类的分层结构,。,一般类,特殊,人员,教师,学生,抽象类,指没有实例的类,定义一些抽象的操作,即不提供实现方法的操作,只提供操作的特征。并附以,abstract,。,交叠泛,化,在继承树中,若存在某种具有公共父类的多重继承,称为是交叠,(overlapping),的。否则是,不交,的,(disjoint),。,完全泛,化,一般类特化出它所有的子类,称为完全泛化,记为,complete,。,不完全泛,化,即未特化出它所有的子类,称为是,不完全泛化,的,表示为,incomplete.,11/14/2026,54,三、泛化,complete,人,女人,男人,性别,完全泛化,交通工具,drive,(),汽车,drive,(),轮船,drive,(),drive,(),启动,轮子转动,drive,(),启动,螺旋浆,Person,驾驶,drive,(),是,抽象操作,泛化中的多态性,及带识别名称的泛化,propulsion,propulsion,overlapping,交通工具,重叠泛化,汽车,船,水陆两栖车,11/14/2026,55,继承性的实例,泛化关系,图 形,abstract,颜 色,中心位置,笔的粗细,移 动(),旋 转(),显 示(),abstract,2,维,abstract,定位,填充类型,缩放,填充,多边形,边数,顶点数,显示,园,直径,显示,旋转,线,端点,显示,0,维,abstract,点,显示,样条,控制点,显示,弧,半径,起始角,弧度角,显示,1,维,abstract,定位,缩放,维数,11/14/2026,56,OrderLine,Quantity:Integer,isSatisfied,1,*,1,*,1,*,Customer,name,address,CreditRating,(),Order,dataReceived,isPrepaid,number:String,dispatch,(),close,(),Personal Customer,creditCard,Corporate Customer,contactName,creditRating,creditLimit,remind,(),billForMonth,(),Employee,Product,0.1,+,LineItem,泛化关系,11/14/2026,57,5.4,用例图,1992,年由,Jacobson,提出了,Use case,的概念及可视化的表示方法,Use case,图,受到了,IT,界的欢迎,被广泛应用到了面向对象的系统分析中。用例驱动的系统分析与设计方法已成为面向对象的系统分析与设计方法的主流。,用例模型由,Jacobson,在开发,AXE,系统中首先使用,并加入由他所倡导的,OOSE,和,Objectory,方法中。用例方法引起了面向对象领域的极大关注。自,1994,年,Ivar,Jacobson,的著作出版后,面向对象领域已广泛接纳了用例这一概念,并认为它是第二代面向对象技术的标志。,11/14/2026,58,用例建模技术,用于,描述系统的,功能需求,。,在宏观上给出模型的总体轮廓。,通过对典型用例的分析,使开发者能够有效地了解用户的需求。,5.3.1,用例建模概述,贸易经理,风险分析,设置边界,进行交易,交易估价,更新帐目,使用,使用,扩展,营销人员,超越边界,评价,记帐系统,销售人员,用例图,11/14/2026,59,3.3.2,用例模型,(Use case model),用例模型描述的是外部执行者,(,Actor,),所理解的系统功能。它描述了待开发系统的功能需求。,它驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统,从而影响到开发工作的各个阶段和,UML,的各个模型。,用例模型,由,若干个,用例图构成,用例图中主要描述执行者和用例之间的关系。,在,UML,中,构成用例图的主要元素是用例和执行者及其它们之间的联系。,创建用例模型的工作包括:,定义系统、确定执行者和用例、描述用例、定义用例间的关系、确认模型。,11/14/2026,60,一、执行者,(Actor),执行者是指用户在系统中所扮演的角色。执行者在用例图中是用类似人的图形来表示,但执行者可以是人,也可以是一个外界系统。,注意:用例总是由执行者启动的。,如何确定执行者:,1,、谁使用系统的主要功能,(,主执行者,)?,2,、谁需要从系统获得对日常工作的支持和服务?,3,、需要谁维护管理系统的日常运行,(,副执行者,),?,4,、系统需要控制哪些硬件设备?,5,、系统需要与其它哪些系统交互?,6,、谁需要使用系统产生的结果(值)?,供货,买饮料,取货款,客户,供货人,收银员,自动售货系统,11/14/2026,61,二、用例,二、用例,(use case),从本质上讲,一个用例是用户与计算机之间的一次典型交互作用。在,UML,中,用例被定义成系统执行的一系列动作(功能)。,用例有以下特点,:,用例捕获某些用户可见的需求,实现一个具体的用户目标。,用例由执行者激活,并将结果值反馈给执行者。,用例必须具有功能上的完整描述。,如何确定用例:,1,、与系统实现有关的主要问题是什么?,2,、系统需要哪些输入,/,输出?这些输入,/,输出从何而来?到哪里去?,3,、执行者需要系统提供哪些功能?,4,、执行者是否需要对系统中的信息进行读、创建、修改、删除或存储?,二、用例,11/14/2026,62,用例图的元素,5.3.3,用例图,用例图描述了系统的功能需求,它是从执行者的角度来理解系统,由“执行者”、“用例”和“用例之间的关系”,3,类模型元素构成,。,图中还有另外两种类型的连接,即,使用,和,扩展,关系,是两种不同形式的泛化关系。,用例,2,用例,A,用例,执行者,用例,1,用例,3,用例,B,使用,使用,扩展,(a),(b),(c),Use,表示一个用例使用另一个用例。,Extend,通过向被扩展的用例添加动作来扩展用例。,11/14/2026,63,用例图实例,用例图实例,应用生命周期用例图,金融贸易系统,贸易经理,风险分析,设置边界,进行交易,交易估价,更新帐目,使用,使用,扩展,营销人员,超越边界,评价,记帐系统,销售人员,应用设计者,应用提供者,改变,应用,运行,应用,实现,应用,应用操作者,设计,应用,11/14/2026,64,例,1,建立项目与资源管理系统的,Use case,图,系统的主要功能是:项目管理,资源管理和系统管理。项目管理包括项目的增加、删除、更新。资源管理包括对资源和技能的添加、删除和更新。系统管理包括系统的启动和关闭,数据的存储和备份等功能。,1,、分析确定系统的执行者,(,角色,),项目管理员、资源管理员、系统管理员、备份数据系统。,项目管理,资源管理和系统管理。,2,、确定用例,3,、对用例进行分解,画出下层的,Use case,图,对上层的用例进行分解,并将执行者分配到各层次的,Use case,图,中。,角色:,角色职责:,角色职责识别:,角色描述模板,还,应画出,相应的执行者描述模板及用例描述模板。,11/14/2026,65,例,1,项目与资源管理系统(,PRMS,),添加技能,删除技能,更新技能,资源管理员,添加资源,删除资源,更新资源,查找技能,Use,查找资源,Use,Use,Use,把技能指,定给资源,从资源中,清除技能,Extend,Extend,资源管理,Use Case,图,Use Case,图可以自顶而下不断精化,抽象出不同层次的,Use Case,图。,系统管理员,项目管理员,资源管理员,资源管理,项目管理,系统管理,备份系统,PRMS,高层,Use Case,图,11/14/2026,66,例,1,项目与资源管理系统(,PRMS,),项目,管理员,添加项目,删除项目,更新项目,添加活动,删除活动,更新活动,查找项目,Use,添加任务,Use,把技能指,定给资源,从资源中,清除技能,Extend,Extend,删除任务,更新任务,Extend,Extend,Extend,Extend,Extend,Extend,项目管理,Use Case,图,系统管理员,系统管理,Use Case,图,添加技能,存储数据,启动系统,关闭系统,查找技能,Use,Use,Use,备份资,源数据,备份项,目数据,Extend,Extend,Use,备份数据,备份系统,11/14/2026,67,作 业,现有一医院病房监护系统,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,定期更新病历,当病症出现异常时,系统会立即自动报警,并实时打印病人的病情报告,立及更新病历,。,要求根据现场情景,对医院病房监护系统进行需求分析,建立系统的,Use case model,。,11/14/2026,68,顺序图存在两个轴,:,水平轴表示一组对象,垂直轴表示时间。,顺序图中的对象用一个带有垂直虚线的矩形框表示,并标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。,对象间的通信通过在对象的生命线之 间消息来表示,消息的箭头类型指明消息的类型。,5.5,顺序图,顺序图,(Sequence Diagram),用来描述对象之间动态的交互行为,着重体现对象间,消息传递的时间顺序,。,对象图,一、,概述,简单消息,(simple),异步消息,(asynchronous),同步消息,(synchronous),11/14/2026,69,当收到消息时,接收对象立即开始执行活动,即对象被激活了,通过在对象生命线上显示一个细长矩形框来表示激活。,二、,消息,控制信息,条件控制信息如:,重复控制信息如:,1.n,简单消息,(simple),:,表示消息类型不确定或与类型无关。或者是一同步消息的返回消息。,同步消息,(synchronous),:,表示发送对象必须等待接收对象完成消息处理后,才能继续执行。,异步消息,(asynchronous),:,表示发送对象在消息发送后,不必等待消息处理后,可立即继续执行。,消息,延迟:,用倾斜箭头表示。,消息串:,包括消息和控制信号,控制信息位于信息串的前部。,11/14/2026,70,有两种使用顺序图的方式:一般格式和实例格式。,实例格式详细描述一次可能的交互。没有任何条件和分支或循环,它仅仅显示选定情节(场景)的交互(图,5.49,)。,而一般格式则描述所有的情节。因此,包括了分支,条件和循环。,三、,顺序图的形式,:Customer Win,:Customer,1:Chang,Customer data),2:Update,Customer(CustomerData,),3:,顺序图,11/14/2026,71,:Computer,:Printer Server,:Printer,:Queue,Print(file),Printer free,Print(file),Printer busy,Store(file),带分支的顺序图,:C1:c,:D1:D,:D2:D,Op(),Op2(),Op3(),Op4(),有循环标记的顺序图,Send message op2,until,11/14/2026,72,呼叫者,交换,接受者,拿起,话筒,响,拨号声,拨号码,路由,选择,鸣响音,停音,响铃声,接,电话,停,铃声,A,B,C,D,E,B-A1S,C-B10S,通过网络选择通话路径,E-D,保险服务器,保险系统配置,配置,保险系统的配置图,配置图各
展开阅读全文

开通  VIP、SVIP  下载更划算
下载10份以上建议开通 VIP 会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        关注我们

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服