第一篇:UML复习总结(大全)
1.UML(unified modeling language): 统一建模语言是创建描绘软件系统结构和设计蓝图的标准语言。它用于指定、构造、记录软件系统的工件并使之可视化。~ 的基本组成部分:包括 UML 的静态、动态、包和注释等部分。~ 的构建块包含基本的成分、关系和关系图。基本成分包括结构、行为、分组和注释成分。
2.RUP(rational unified process): 统一开发过程是一种过程框架,有助于使用创建和部署用UML设计的软件。~生命周期分为四个阶段:起始阶段、细化阶段、构造阶段、转换 3.软件开发生命周期(SDLC)是一个规范的、系统的软件开发方法。可分为六个阶段:可行性分析、需求分析和规范说明、设计、编码、测试、维护。软件的开发方法:瀑布方法、原型方法、螺旋方法、双赢螺旋方法、增量方法。在设计阶段,有两种~:①面向功能方法以模块为中心,注重软件的功能。②面向对象(OO)方法支持重用、数据封装、以及继承、抽象和多态性等概念。
4.面向对象分析和设计(OOAD)是指根据对象、类、封装、继承、多态、抽象和动态邦定来分析需求以及设计软件系统。
5.软件系统的各个视图:①用例视图:表示系统为客户提供的功能②设计~:侧重于系统的静态和动态表示③实施~:表示软件系统中组成系统所需的各个文件和组件④部署~:表示将执行软件系统和硬件的组合关系。
6.四种建模技术:①需求建模:包括使用用例关系图描述需求。②静态~:包括使用类、对象和复合结构关系图来描述软件系统的静态成分③动态~:包括使用以下关系图来描述动态成分的行为:活动关系图、状态机关系图、通信关系图、序列关系图、交互概览图、时序关系图④架构~: 描述软件系统的内部结构如何构成:包关系图、主件关系图、部署关系图 7.需求管理是一种持续的系统化方法。~的四个阶段: 需求收集、~分析与协商、~规格化、~验证。需求分析指将需求分类和组织为功能性需求和非功能性需求的过程。功能需求指软件系统需要实现的功能和特性。非功能性需求指软件系统需要达到的性能指标。需求验证是在指定需求规范化后对需求进行验证的活动。需求验证包括:①确定所有的模糊需求②确定每条需求的来源③说明需求数量④确定需求之间的依赖关系⑤验证需求是否简明、可测试并且可跟踪⑥验证需求与软件系统中的约束是否有冲突
8.软件需求规格化(SRS)是详细分析任务后产生的文档。~必须提供信息:软件系统定义、SRS文档的用途、软件系统的范围、功能性需求、非功能性需求、目标软件系统的运行条件 9.角色有关的关系:泛化~: 存在于有类似的行为和特性的角色之间继承关系。关联~: 显示用例与角色之间通信关系。
10.用例关系图:①显示目标软件系统的用例和角色之间的交互关系②显示用例之间或角色之间的关系(如关联和泛化等)。用例可以(文本方式,事件流方式)描述外部角色与软件系统之间的交互过程。用例之间的关系:①扩展:指通过获取其它用例的某些功能来建立当前用例的方式扩展关系的箭头方向指向要被扩展的用例②包含:指一个用例的功能包含在另一个用例的功能中。包含关系里箭头指向被包含在另一个用例中的用例。11.类关系图表示类、接口、以及它们之间的关系。对象关系图表示类的特定实例的属性值以及对象之间的关系。类的属性和操作的可见性是:+ :表示属性或操作对于其它类可见。-:表示属性或操作对其它类不可见。#:表示基类的属性或操作仅对它的派生类可见。~:表示属性或操作只对同一个包里的类是可见的。类和对象之间的关系:①关联:表示两个类的对象之间一般上的逻辑意义上的联系。②聚合:表示两个类之间的整体与局部的关系③组合:表示两个类之间的整体与局部的关系④依赖性:表示两个类的对象之间一般上的动态功能上的联系⑤泛化:表示父类与子类之间派生关系⑥实现:表示类关系图里两个元素之间的语义关系,其中一个元素定义一个协议,另一个元素实现这个协议。12.抽象类是没有任何直接实例的类,继承于抽象类的类可以有直接实例,用于定义一组子类的公共特征和公共行为。接口是一组用于表示由类或组件提供的服务的操作集合,只能提供公共方法的声明,而不能提供这些公共方法的实现,不可以创建接口的对象。两者的相同处:①抽象类和接口都提供方法的规范,但是都不允许您直接创建实例。②抽象类和接口中指定的方法实现都在派生类中提供。不同处:①接口使您能实现多继承,因为一个类可以实现多个接口。但是,抽象类不支持多继承。一个类无法继承多个抽象类②抽象类包含的属性和方法可以是公共的、私有的或受保护的。接口只包含方法③抽象类可提供一部分方法的定义但接口不提供任何定义④抽象类在同一个包内使用,而接口可以跨多个包里实现。接口继承与抽象类继承的区别:①接口继承可多继承,而抽象类继承不行②接口继承中全是抽象方法,不提供定义,而抽象类继承中可有方法定义。
13.交互关系图:描述软件系统的成分如何彼此交互以实现系统用例的功能。~有两个部分:①协作者:描述交互关系图中参与交换的系统静态部分②交互:描述交互关系图中静态部分是怎样参与动态协作的。常用的交互关系图有:①序列关系图:以一组按时间顺序排序的消息的形式表示对象之间的交互②通信关系图:以消息的形式表示对象间的交互
14.包关系图用于描述软件系统的各个包以及包之间的关系。使用包来建模软件系统成分的好处有:①以可视化的方式显示功能组以及它们之间的关系②使得大型软件系统易于管理。用例分包规则:①以可视化的方式显示功能组以及它们之间的关系② 使得大型软件系统易于管理。类分包~:①具有相同继承层次结构的类分组在一个包里②具有复合关系的类分组在一个包里③将相互协作、彼此交互的类分组在一个包里。
15.组件:实现一组规定接口功能的可执行部件。组件实现了一组接口。组件类型:①部署组件:描述可执行系统最终可部署部件②工作产品~:描述工程软件有哪些文件组成③执行~:描述可执行软件有哪些可执行部件组成
16.框架和模式是使软件构件可重用的标准。框架:特定领域中类似应用程序的通用功能的模板,增加可重用性和减少应用程序开发时间。其特性:①类或组件的集合,具有执行一些特定或通用的功能②包含一些预定义规范的抽象和具体类接口③可以可通过子类化来扩展和实现这些抽象类和接口④定义一些抽象方法,这些方法接收系统中预定义的消息。模式:
新建的系统能满足可重用的要求,有助于软件组件之间更好的通信。~类型:通用职责分配软件模式(GRASP)、四人组模式(GoF)单例模式:允许创建它自身的唯一一个实例的类。对于有些类只应许创建一个实例对象。用静态数据成员来定义单件模式,以跟踪所创建对象的生命期。设计模式好处:①可让你创建能满足新需求的可重用的解决方案而无需修改现有系统。②有助于软件组件之间更好的通信。③有助于设计的重用、提供最有效的问题解决方案、给类分配职责。
17.实施质量流程的目的是为了在软件开发过程中检查所开发的软件模型和产品的质量。质量流程包括:①用于开发软件系统的软件开发过程的质量②软件开发过程中使用的软件模型的质量③软件开发过程结束时获得的软件产品的质量④质量流程自身的质量。生产质量过硬的产品时需要考虑的维度是:①技术:描述软件开发过程所需的工具以及生成的输出② 方法:描述软件开发过程期间需要执行以生成输出的操作顺序③社会学:描述软件开发过程所需的人力资源、环境条件和技能。质量保证技术检查:语法:确保软件模型使用正确的语法。语义:确保软件模型表达出目标意图并确保软件模型的表示在项目中一致。美观:确保软件模型对称并且完整。UML提供的三种扩展元素为:构造型:扩展 UML 词汇表约束:扩展 UML 构造块的语义关系。标记值:扩展 UML 构造块的属性
18静态建模:它表示软件系统的静态或结构成分。它包括类关系图和对象关系图。它有助于描绘系统成分之间的关联和依赖性。动态建模:它表示软件系统静态成分的行为过程。它包含交互、活动和状态关系图。它有助于表达系统在一段时间内的行为流程。
第二篇:UML考试复习总结
1, 统一建模语言(Unified Modeling Language),简称UML,是一种通用的可视建模语言,用于说明、可视化、构造并文档化软件系统的体系结构.2, 控制软件复杂度的方法:
1)分解,对复杂问题进行分解,然后分别解决各个子问题。
2)抽象,指抽取系统中的基本特性而忽略非基本的特性,以便更充分地注意与当前目标有关的方面。
3)模块化,指解决一个复杂问题时自顶向下逐层把系统划分成若干模块的过程,并遵循高内聚低耦合的原则。
4)信息隐藏,即封装,指把模块内的实现细节与外界隔离,用户只需知道模块的功能,而不需了解模块的内部细节。3,视图
1)用例视图。
作用:描述系统的功能需求,找出用例和执行者;描述使用的图:用例图和活动图。2)逻辑视图。
作用:描述如何实现系统内部的功能 ;
描述使用的图:类图和对象图、状态图、顺序图、合作图和活动图。3)构件视图。
作用:描述系统代码构件组织和实现模块,及它们之间的依赖关系 ; 描述使用的图:构件图。4)进程视图。
作用:描述系统的并发性,并处理这些线程间的通信和同步 ;
描述使用的图:状态图、顺序图、合作图、活动图、构件图和配置图。5)配置视图。
作用:描述系统的物理设备配置,如计算机、硬件设备以及它们相互间的连接 ; 描述使用的图:配置图。4,基本概念
1)用例是对一个活动者(actor)使用系统的一项功能时所进行的交互过程的一个文字描述序列,是系统、子系统或类和外部的参与者(actor)交互的动作序列的说明,包括可选的动作序列和会出现异常的动作序列。
2)参与者(actor)是指系统以外的、需要使用系统或系统交互的东西,包括人、设备、外部系统等。
3)用例图(use case diagram)以图解的形式概括了系统中的不同参与者和用例,并显示了哪些参与者能够参与哪些用例。
4)类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。5)类间关系
(1)关联(association)是模型元素间的一种语义联系,它是对具有共同的结构特性、行为特性、关系和语义的链(link)的描述。一个关联可以有两个或多个关联端(association end),每个关联端连接到一个类。
(2)聚集和组合:聚集是一种特殊形式的关联。聚集表示类之间整体与部分的关系。聚集关系的实力是传递的,反对称的。组合表示的也是类之间的整体与部分之间的关系,但组合关系中的整体与部分具有同样的生存周期。
(3)泛化关系:泛化定义了一般元素和特殊元素之间的分类关系,类和类之间的泛化关系就是类与类之间的继承关系。
(4)依赖关系:假设有两个元素X和Y,如果修改了X元素的定义可能会导致两一个元素Y的定义的修改,则称元素Y依赖于元素X。6)接口类:只有方法没有属性,且所有方法只有声明没有实现的类。7)边界类控制类和实体类的画法
8)对象图表示一组对象及他们之间的联系。对象图是系统的详细状态在某一时刻的快照,常用于表示复杂的类图的一个实例。9)包就像一个“容器”,可用于组织模型中的相关元素。
10)包之间可以存在依赖关系,但这种依赖关系没有传递性。11)对包的命名有两种方式,即简单包名和路径包名。
12)构件是系统中遵从一组接口且提供其实现的物理的、可替换的部分。
13)构件图则显示一组构件以及它们之间的相互关系,包括编译、链接或执行时构件之间的依赖关系。
14)部署图也成为配置图、实施图,可以用来显示系统中计算节点的拓扑结构和通信路径与节点上运行的软构件等。15)交互图,是用来描述对象之间以及对象与参与者之间协作关系以及动态协作关系以及协作过程中行为次序的图形文档。
16)交互图包括顺序图和协作图两种形式。顺序图着重描述对象按时间顺序的消息交换,协作图着重描述系统成分如何协同工作。
17)顺序图也称时序图,是显示对象之间交互的图,这些对象是按时间顺序排列的。顺序图是二维模型,在顺序图中水平方向为对象维,沿水平方向排列的是参与交互的对象;顺序图中垂直方向为时间维,沿垂直向下方向按时间递增顺序列出各对象所发出和接受的消息。18)顺序图中的消息
(1)调用消息:调用消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息接收者放弃或返回控制。
(2)异步消息:异步消息的发送者通过消息把信号传递该消息的接收者,然后继续自己的活动,不等待接收者返回消息或控制。
(3)返回消息:返回消息表示从过程调用返回。
(4)阻止消息和超时消息:阻止消息是指消息发送者发出消息给接收者,如果接收者无法立即接收消息,则发送者放弃这个消息。超时消息是指消息发送者发出消息给接收者并按指定时间等待。如果接收者无法在指定时间内接收消息,则发送者放弃这个消息。19)协作图是用于描述系统的行为是如何由系统的成分协作实现的图,协作图中包括的建模元素有对象、消息、链等。
20)状态图(statechart diagram)主要用于描述一个对象在其生存期间的动态行为,表现一个对象所经历的状态序列,引起状态转移的事件(event),以及因状态转移而伴随的动作(action)。21)活动(activity)表示的是某流程中任务的执行,它可以表示算法过程中语句的执行。22)状态图可以表现一个对象在生存期的行为、所经历的状态序列、引起状态转移的事件以及因状态转移引起的动作。活动图用来表示完成一个操作所需要的活动,或者是一个用例实例的活动。实际也是一种流程图,描述活动的序列,即系统由一个活动到另一个活动的控制流。
23)泳道(swimlane)是活动图中的区域划分,根据每个活动的职责对所有活动进行划分,每个泳道代表一个责任区。泳道和类并不是一一对应的关系,泳道关心的是其代表的职责,一个泳道可能由一个类实现,也可能由多个类实现。
第三篇:UML考试复习总结
1.在系统模型中为什么要使用多种UML图?
回答:任何系统都有多种风险承担人.每种UML图都提供了用于一种或几种风险承担人对话的视图。
2.那种UML 图给出了系统的静态视图?
回答:下列UML 图提供了系统的静态视图:类图、对象图、构建图 和 部署图。
3.哪种UML 图提供了系统的动态视图(也就是说,描述系统随时间所经历的变化)?
回答: 下列UML 图提供了系统的动态视图:用例图、状态图、顺序图、活动图 和 协作图。
1.什么是对象?
回答: 对象是一个类的实例。
2.对象之间如何协同工作?
回答:对象通过相互发送消息协同工作。
3.多重性说明了什么?
回答: 多重性说明了一个类的多少个对象能够与另一个类的对象发生关联。
4.两个对象之间能够以多种方式关联吗?
回答:可以。例如两个人之间既可以形成朋友关系也可以形成同事关系。
1.如何用UML 表示类?
回答:用一个矩形框来表示一个类。类名位于矩形框的中央,接近框的顶部。
2.类图中可以指明哪些信息?
回答:可以指明类的属性,操作。
3.什么是约束?
回答:约束是类图应该遵循的一个或一组规则,它用一个花括号括起来的文本表示。
4.为什么要对类图标注附加的注释。
回答:可以为类图增加注释,增加一些在属性、操作或职责中没有指明的信息。例如,可以用它来指明一个包含更多信息的文档。
1.多重性怎么表示?
回答:在关联线的一端可以指明多少个远端对象可以和近端多少个对象发生关联。
2.如何发现类之间的继承关系?
回答:在初始模型的类列表中,找出两个或多个具有相同属性和操作的类。其中的一个类可能就是其他类的父亲,或者
可以为这些类新建一个父类。
3.什么是抽象类?
回答:抽象类用做继承层次中的基类,但是它不产生实例对象。
4.限定符有哪些作用?
回答:限定符的作用是将一对多关联化解为一对一关联。
1.聚集和组成之间有什么区别?
回答: 组成和聚集都是整体类和部分之间的整体-部分关联.在聚集中, 部分可能属于多个整体.在组成中, 部分职能属于一个整体.2.什么叫实现?实现和继承有何相似之处?两者又有何不同之处?
回答:实现是类和它的接口之间的关系。可以说成是类实现了它的接口。实现和继承的类似之处在于类可以使用它的接口中的操作也可以操作也可以
从父类中继承操作。两者的不同之处是类不能使用它的接口中的属性但可以继承父类的属性。(?)
3.写出3种可见性层次的名称,并描述每一种可见性的含义?
如果一个类的属性或操作具有public 可见性,在另一个类中可以使用这个类的属性或操作。
如果一个类的属性或操作具有protected 可见性,那么这个类的子类或者其他的子孙可以使用这个类中的属性或操作。
如果一个类的属性或操作具有private 可见性,那么只有拥有它的属性和操作的类才能使用它们。
接口中的操作都具有公用可见性。
1.发起一个用例的外部实体被称为什么?
回答:发起用例的外部实体被称为参与者actor。
2.包含用例是什么含义?
回答:“包含一个用例”的含义是一个用例中某个场景中的一些步骤和另一个用例中某个场景中的一些步骤是相同的。
所以可以不列出用例的所有场景,而只是指明它所包含的用例就可以了。
3.扩展用例是什么含义?
回答:“扩展”一个用例是指在这个用例中增加步骤。这样可以产生一个新的用例。
4.用例和场景是同一个概念吗?
回答:不是。用例是一组场景的集合。
1.举出可视化表示用例的两个优点。
回答:有了可视化表示的用例,就可以(1)将这种图形化的表示给用户,可从用户那里得到更多的相关信息。
(2)可以将这些图与其他类型的图结合起来。
2.说明如何可视化描述本章中学到的用例之间的两种关系:泛化和分组。举出需要对用例分组的两种情况。
在泛化关系中,一个用例继承了另一个用例的含义和行为。分组时将一组用例组织成为一个包。
3.类和用例之间有什么类似之处?又有哪些差异?
回答:相同点:两者都是结构元素。两者都有继承关系。
不同点:类由属性和操作组成。用例由场景组成,每个场景又由一个步骤序列组成。类提供了系统的部分静态视图,用例提供了系统动态的行为视图。
类描述的是系统的内部构成,而用例说明的是从外部看到的系统。
1.状态图在哪些重要方面与类图、对象图或者用例图有所不同?
回答:状态图只是对一个对象的状态建模。类图、对象图或者用例图对一个系统或者至少是一部分建模。
2.给出下列术语的定义:转移、事件和动作。
转移是从一个状态变化到另一个状态。事件是引起一个转移的某件事情的发生。动作是一个可执行的计算,它能引起一个状态变化。
3.什么是无触发器转移?
回答:无触发器转移是由于状态内的活动发生而引起的,不是因为对一个事件的响应而引起的。
4.顺序子状态和并发子状态有什么区别?
子状态是状态内的状态。顺序子状态一个接一个地顺序出现。而并发子状态同时出现。
5.什么是伪状态?请举例说明。
回答:伪状态是没有状态变量和状态内活动的状态。初始状态、终止状态 和 历史状态 都是伪状态的例子。
第四篇:UML实验报告总结
实验一 熟悉Rational Rose及建立用例模型 实验
二、时序图和协作图建模
实习三 UML类图与包图建模(2学时)实验四 状态图和活动图建模 实验五
组件与部署图
实验一 熟悉Rational Rose及建立用例模型
(2学时)
一、实验名称:熟悉(2学时)
二、实验目的与要求:
了解和掌握Rose建模工具的使用 掌握怎样进行案例需求分析; 掌握UML用例图建模技术
三、实验内容:
1、熟悉rose上机环境及设置
2、根据以下谈话设计出用例图
Rational Rose及建立用例模型
四、实验步骤:
见实验说明书
实习二(2学时)
一、实验名称:
时序图和协作图建模(2学时)
二、实验目的与要求:
了解和掌握Rose或Visio建模工具的使用
掌握怎样进行系统分析,并进行UML静态建模分析; 掌握UML时序图和协作图建模技术
三、实验内容:
根据以下谈话设计出时序图和协作图建模。
四、实验步骤:
、UML类图与包图建模(2学时)
一、实验名称:UML类图与包图建模(2学时)
二、实验目的与要求:
了解和掌握Rose或Visio建模工具的使用
掌握怎样进行系统分析,并进行UML动态建模分析;
三、实验内容:
四、实验步骤:
实习四(2学时)
一、实验名称:
状态图和活动图建模(2学时)
二、实验目的与要求:
了解和掌握Rose或Visio建模工具的使用
掌握怎样进行系统分析,并进行UML动态建模分析; 掌握UML状态图和活动图建模技术
三、实验内容:
四、实验步骤:
实习五
组件与部署图与代码生成(2学时)
一、实验名称:
组件与部署图(2学时)
二、实验目的与要求:
三、实验内容:
四、实验步骤:
第五篇:uml报告总结
UML课程设计总结
这几周的课程设计,是对课本知识的总结和巩固,使我对UML的几种图有了更深刻的理解,明白了这些图分别表达的意思以及各图的优缺点,还有它们对于程序设计的作用。熟悉了VS中建模,熟悉了VS中控件的意义,对UML有了更深刻的了解。下面是我在每一个图的学习中的一些心得和体会
在项目设计阶段,我觉得顺序图,活动图,状态图比较重要。顺序图在这些图例里比较直观,用户能很快参与到讨论中,活动图和传统的流程图类似,也是一个补充。状态图在对关键对象是一定要做状态分析的,经常会在做分析的时候发现一些容易被忽视的问题。类图在设计阶段可以用。
深刻体会了UML在建模中关系和作用。UML可以为面向对象的开发系统进行说明,是的复杂的系统和功能,逻辑关系,类之间的关系可视化。用例图帮助我们从宏观上认识了学生选导师系统的软件结构。状态图,时序图,类图帮助我们从微观上认识了这个系统的结构和关系。
画用例图是我第一次使用VS建模,对VS中的一些工具还很生硬,仅仅知道跟着指导书来进行建模。但经过一定的练习,也有了一定的收获和体会,使我了解了用例图的组成,作用以及使用场合;掌握了用例之间的各种关系;知道了用例建模主要要了解各个图形所代表的意义,用例还可以进行下一集的描述,进行下一步的深化。
对于建模过程中遇到的问题通过上网查资料,问同学并和他们进行讨论,得到了比较满意的解决,避免了自己眼高手低,从实践中发现自己的不足,并及时改正。更让我明白,UML的知识是十分丰富的,我现在的认识还不够,我将会在以后的学习中,不断提高自己的UML知识,更好地让UML为将来的编程设计服务。
进一步加强和提高了文档的编写能力
增强了写作能力和团队精神