您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 第2次课 UML概述 UML 语言体系概述 RUP概述
IntroductiontoUML主要内容•RUP概述•UML概述•UML语言体系•UML工具RUP概述软件工程的要素•软件工程在一定意义上就是使用某些工具,采用某种方法,按照某种过程开发软件系统。方法过程工具质量焦点软件过程的含义•AProcessdefineswhoisdoingwhatwhenandhowtoreachacertaingoal.–(软件过程描述了什么时候,什么人,做什么事,以及怎样实现某一特定的目标)什么是RUP•RationalUnifiedProcess–Rational统一过程–统一软件过程–统一过程–UnifiedProcessRUP统一过程•统一过程–是软件的开发过程,是将用户需求转化为软件系统所需的活动的集合–是一个通用的过程框架–使用统一建模语言UML来制定软件系统的蓝图–是一种特别适用于UML的软件生命周期模型RUP的历史6个昀佳开发经验•迭代式开发•管理需求•使用基于构件的体系结构•可视化软件建模•验证软件质量•控制软件变更迭代式开发•大型软件系统非常复杂,很难按照定义整个问题、设计整个系统、实现软件、测试产品的顺序线性进行•迭代允许通过不断地细化来加深对问题的理解•迭代可以降低项目的风险系数•迭代容易容纳需求的变更•每个迭代过程以可执行版本告终,有利于鼓舞开发团队的士气管理需求•RUP描述了如何提取、组织的系统的功能和约束条件,并将其文档化•用例和脚本的使用已被证明是捕获系统功能性需求的有效方法使用基于构件的体系结构•构件使得重用称为可能•基于独立的、可替换的、模块化构件的体系结构有助于管理复杂性,提高重用率可视化软件建模•对软件系统建立可视化模型有助于开发人员提高管理软件复杂性的能力验证软件质量•软件质量低下是影响软件使用的昀重要的因素•质量评估被内建于过程所有的活动,包括全体成员,使用客观的度量和标准,并且不是事后型的或单独小组进行的分离活动控制软件变更•RUP描述了如何控制、跟踪、监控、修改以确保成功的迭代式开发RUP软件开发生命周期•核心工作流RUP的基本特征•用例驱动•以软件体系结构为中心•受控的迭代式增量开发用例驱动•采用用例来捕获对目标系统的功能需求•采用用例来驱动软件的整个开发过程,保证需求的可跟踪性,确保系统所有功能均被实现需求分析与设计实现测试用例驱动以软件体系结构为中心•软件体系结构刻画了系统的整体设计,它去掉了细节部分,突出了系统的重要特征•在开发过程的早期形成良好的软件体系结构,有利于对系统的理解、支持重用和有效的组织软件开发•在后续阶段中对已形成的体系结构框架进行不断细化,昀终实现整个系统“4+1”视图模型逻辑视图LogicalView实现视图ImplementationView进程视图ProcessView部署视图DeploymentView用例视图UseCaseView受控的迭代式增量开发•将软件开发过程分为一系列小的迭代过程,在每个迭代过程中逐步增加信息、进行细化•根据具体情况决定迭代的次数、每次迭代延续的时间以及迭代工作流•每次迭代都选择目前对风险影响昀大的用例进行,以分解和降低风险RUP的裁剪•RUP裁剪可以分为以下几步:–确定本项目需要哪些工作流–确定每个工作流需要哪些输入制品,进行加工后,需要输出那些制品–确定4个阶段之间如何演进–确定每个阶段内的迭代计划–规划工作流内部结构RUP带来的观念上的变化•更强的计划性–迭代开发意味着要有更强的预见性和计划性,阶段的划分、阶段内的迭代都需要仔细规划。这要求项目管理者承担更大的责任,而所换来的则是开发任务的具体化和可预见性•坦然面对迭代过程中部分中间制品的推倒重来–不要恐惧这样的现实,由于迭代过程的细化和相应工具的支持,其影响是可以控制的RUP带来的观念上的变化•尽早进行困难的工作–强调与实现的关系密切,而将困难工作放在开发后期进行是十分有害的,会使开发后期突然遇到“集成地狱”而使开发过程失去控制•加强开发过程监控与量化管理–项目管理者要注重对各种变化与扰动的测量与监控,应先示范,后发布文档,以使得开发人员信服ChaosReportofStandishGroupChaos2004StandishReport2009RUP小结•RUP基本概念•RUP发展历史•RUP软件开发生命周期•RUP的特征RUP讨论•RUP是什么,说说你是如何理解的•RUP的主要特点是什么•RUP和UML的关系是什么•RUP的核心工作流有哪些•为何要裁剪RUP统一过程UML概述主要内容•UML的定义•UML发展历史•UML中的图•UML的主要特点•UML的应用领域•建模与UML什么是UML•UnifiedModelingLanguage–是对软件密集型系统中的制品进行可视化、详述、构造和文档化的语言•Booch,TheUnifiedModelingLanguageUserGuide为什么要学UML•Apictureisworthathousandwords–一图值千字•使用模型可以更好地理解问题•使用模型可以加强人员之间的沟通•使用模型可以更早地发现错误或疏漏的地方•使用模型可以获得设计结果•模型为昀后的代码生成提供依据•UML统一了各种不同的软件分析和设计的建模语言,成为系统建模语言的事实上的标准UML的发展历史其它方法Booch'91OMT-1OOSEBooch'93OMT-2UnifiedMethod0.8UML0.9&0.91UML1.0UML1.1UML1.2UML1.3UML1.4UML1.5UML2.0UML合作伙伴意见UML三友•BoochJacobson•RumbaughUML中的图•结构图•行为图结构图•类图•构件图•对象图•部署图•组合结构图•包图•用例图类图•是使用UML建模时昀常用的图•展示了系统中的静态事物、它们的结构以及它们之间的相互关系•典型用法是描述系统的逻辑设计和物理设计构件图•展示一组构件的组织以及构件彼此间的依赖关系•说明系统如何实现以及软件系统内构件如何协同工作对象图•展示系统中的一组对象•是系统在某一时刻的快照•是类图在某一时刻的快照部署图•展示物理系统运行时的架构•描述系统中的硬件和硬件上驻留的软件用例图•描述系统外部参与者如何使用系统提供的服务UML2.0新增的结构图•组合结构图–展示模型元素的内部结构•包图–描绘包之间的依赖关系行为图•活动图–显示系统内的活动流•状态图–显示一个对象的状态和状态之间的转换•合作图–突出对象之间的合作与交互•顺序图–强调一个系统中不同元素间传递消息的时间顺序•时间图–描绘与交互元素的状态转换或条件变化有关的详细时间信息•交互概观图–用于从总体上显示交互序列之间的控制流不同阶段可能会用到的图•请注意–在实际进行系统建模时,几乎没有人使用UML标准中定义的所有图。其中的一些可能永远也不会用到•描述需求,根据需求建立系统的静态模型–用例图,类图,对象图,组建图,配置图•描述系统的行为–状态图,活动图,顺序图,合作图UML的主要特点•统一的标准,已经被OMG接受为标准建模语言•面向对象,支持面向对象开发•可视化,表示能力很强大•独立于开发过程,可以适用于不同软件过程•概念明确,表示简洁,结构清晰,容易学习和掌握UML的应用领域•软件系统建模•描述非软件系统模型•模型就是对一个对象或物体的简化表示•在软件开发工程中,模型主要用来描述问题域和软件域–问题域:业务、业务规则、业务流程、工作流程–软件域:软件组成、软件结构、软件部署UML可建立的模型种类•按产生模型的阶段性分类–业务模型–需求模型–设计模型–实现模型–数据库模型UML可建立的模型种类•按模型的用途分类–功能模型•用例图–对象模型•类图–动态模型•序列图,活动图,状态图提问•什么是UML•软件开发过程中为什么要使用UML•功能建模与哪些UML图有关,对象模型,动态模型呢?•UML与编程语言的区别UML语言体系主要内容•UML的构成•UML中的图•UML的4+1视图模型UML的构成基本构造块basicbuildingblock事物thing结构事物(structuralthing)行为事物(behavioralthing)分组事物(groupingthing)注释事物(annotationalthing)关系relationship图diagram规则rule通用机制commonmechanism行为事物:交互(interaction)和状态机(statemachine)结构事物:类、接口、协作、用例、主动类、组件和结点分组事物:包(package)注释事物:注解(note)UML的构成基本构造块basicbuildingblock事物thing关系relationship图diagram依赖(dependency)关联(association)泛化(generalization)实现(realization)规则rule通用机制commonmechanism关联:两个类存在结构上的关系,如一个公司有许多员工,公司与员工之间具有关联关系。依赖:A类的方法使用了B类对象(作为参数),则A类依赖B类。泛化:定义了一般元素与特殊元素之间的分类关系。实现:一个类实现了一个接口,一个协作实现了一个用例。UML的构成基本构造块basicbuildingblock事物thing关系relationship图diagram配置图(deploymentdiagram)规则rule通用机制commonmechanism用例图(usecasediagram)顺序图(sequencediagram)协作图(collaborationdiagram)类图(classdiagram)对象图(objectdiagram)状态图(statechartdiagram)活动图(activitydiagram)构件图(componentdiagram)UML的构成基本构造块basicbuildingblock规则rule通用机制commonmechanism范围(scope)可视性(visibility)完整性(integrity)执行(execution)命名(name)命名:一个标识符。1、所取字符集;2、长度;3、命名空间(如类)中唯一。范围:指起作用的范围,相当于程序设计时的变量的“作用域”可视性:模型元素是否在命名空间外部可见。完整性:事物如何正确、一致地相互联系。执行:运行或模拟动态模型的含义是什么。规则:不能简单地把UML的构造块按随机的方式放在一起。UML有一套规则,这些规则描述了一个结构良好的模型看起来应该象什么。一个结构良好的模型应该在语义上是前后一致的,并且与所有的相关模型协调一致。UML的构成基本构造块basicbuildingblock规则rule通用机制commonmechanism规格说明specification修饰adornment通用划分commondivision扩展机制extensibilitymechanism通用机制:通过与具有公共特征的模式取得一致性,使模型更为简单和协调。规格说明:UML不只是一种图形语言,在其图形表示法背后都有一个规格说明,其提供了对构造块的语法和语义的文字叙述。修饰:图形元素的某些规格说明的细节通过标准图形的变化来反映。如抽象类名和抽象方法名用斜体,属性和方法前的+-#。通用划分:指元素/元素实例、接口/实现这样的划分方法。如:类/对象,组件/组件实例,接口/组件,接口/类。扩展机制:UML提供了一种绘制软件蓝图的标准语言,为了表示出各种领域的各种模型在不同时刻所有可能的细微差别,以受控方法扩展该语言。从三个方面:UML的构成基本构造块basicbuildingblock规则rule通用机制commonmechanism规格说明specification修饰adornment通用划分commondivision扩展机制extensibilitymechanism标记值:扩展了UML构造块的特性,允许创建元素的新信息。约束:扩展了UML构造块的语义,它允许增加
本文标题:第2次课 UML概述 UML 语言体系概述 RUP概述
链接地址:https://www.777doc.com/doc-6017862 .html