UML期末复习笔记 您所在的位置:网站首页 uml系统设计期末大作业电影院售票系统 UML期末复习笔记

UML期末复习笔记

2023-11-14 05:22| 来源: 网络整理| 查看: 265

1.面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)和面向对象的软件维护(OOSM) 2.面向对象 = 对象 + 类 + 封装 + 继承 + 聚合 + 消息传递在这里插入图片描述

3.组件是比类的粒度更大的软件复用模块。它代表了将系统中的类、接口等元素打包后形成的物理模块,它是一个可替换的系统部分。它通常遵循并且实现了一组接口,这组接口描述了该组件所能提供的服务 4.节点。节点通常是和一个硬件资源对应的、在运行时存在的一个物理元素,例如,计算机、路由器、打印机等。 5.状态机描述了一个对象在生命周期内响应事件所经历的状态转换序列。状态机包括状态、状态之间的转换、触发事件和对应的转换活动。 6.依赖关系,其中一个元素的改变可能会影响另一个元素的语义。【---->】 7.泛化关系也称为继承关系【—▷】 8.实现关系描述一个类为一个接口中的所有方法提供了具体定义。实现关系用一条带空心三角箭头的虚线表示,箭头从源模型指向目标模型,表示源模型元素实现目标元素模型【----▷】 9.聚合关系是一种特殊类型的关联关系,它描述了元素的部分与整体的关系,即一个表示整体的模型元素可能由几个表示部分的模型元素聚合而成。聚合关系用一端带有空心小菱形的直线表示。【—◇】 10.组合关系是在聚合关系之上的更紧密的耦合关系,它同样是描述元素之间部分与整体的关系,但是部分类需要整体类才能存在,当整体类被销毁时,部分类将同时被销毁。组合关系用一端带有实心小菱形的直线表示【—◆】 11.关联关系,双向关联则为直线或者双箭头,单向关联如下图 在这里插入图片描述 12.用例图涉及的线 ① 关联,活动者和用例之间用的 ② 使用“包括”关系可以表明一个用例用于描述另一个用例的一些细节; ③ 箭头方向由基本用例【大的】指向被包含用例【小的】; ④ 扩展一个用例(在某些扩展点extension point上)扩展另一个用例的功能,构成新用例;箭头方向由扩展用例指向被扩展用例(即基本用例); ⑤ “泛化”关系用于表明专用用例是实现由另一个通用用例表示的目标的一种特定方式。箭头应指向通用用例【父类】; 【动态模型】 组件:状态图、时序图、协作图、活动图 优点: 操作和维护模型比操作和维护实际系统容易得多 使用户和开发人员都能更容易地理解构思中的系统 可助于解释状态的改变和降低复杂度 可监视构思中的系统是否存在任何类型的缺陷 【时序图顺序图】 1.定义:显示了在对象生命线上各点之间的对象传递的消息,演示了在时间序列中对象之间的交互 。 2.时序图是一种强调消息时序的交互图,它由活动者(Actor)、对象(Object)、消息(Message)、生命线(Lifeline)和控制焦点(Focus of control)组成。 优点:时序图强调消息事件的发生顺序,更方便于阐述事件流的过程; 缺点:时序图难以表达对象之间的关系。 在这里插入图片描述 3.对象包括三种命名方式: 第一种方式包括对象名和类名; 第二中方式只显示类名不显示对象名,即表示他是一个匿名对象 第三种方式只显示对象名不显示类明。 在这里插入图片描述 4.同步消息=调用消息(Synchronous Message)消息的发送者把控制传递给消息的接收者,然后停止活动,等待消息的接收者放弃或者返回控制。用来表示同步的意义。 异步消息(Asynchronous Message)消息发送者通过消息把信号传递给消息的接收者,然后继续自己的活动,不等待接受者返回消息或者控制。异步消息的接收者和发送者是并发工作的。 返回消息(Return Message)返回消息表示从过程调用返回 【状态图】 1.状态图主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件,以及因状态转移而伴随的动作。 2.一般可以用状态机对一个对象的生命周期建模,状态图用于显示状态机。 3.一个状态机只能有一个初态,因为每一个执行都是从相同的地方开始的。嵌套状态中可以使用新的初态。终态数目可以不确定,也可以没有。 4.缺点:很难清楚地描述动作与对象之间的关系。虽然在活动旁标出对象名或者采用泳道技术可以定义这种关系,但仍然没有交互图简单直接。因此,像大多数建模技术一样,最好把活动图与其他技术结合使用。优点:最适合支持并行行为,而且也是支持多线程编程的有力工具。

外部转换,自转换也是外部转换。 下图为门对象的状态图

在这里插入图片描述 进程:就绪 运行 阻塞三个状态。就绪状态获得CPU时间片转为运行态;运行态时间片用完转为就绪态;运行态不满足所需资源转为阻塞态,阻塞态若资源满足则回到就绪态 【协作图】 协作图描述系统对象(或活动者)如何共同协作实现用例。有5种关联角色的构造型:1.自我委派消息,2.控制消息,3.嵌套消息和子消息,4.循环,5.并发消息。下面学生下载文件,存款。

在这里插入图片描述 【活动图】 用于描述活动流程的图形称为活动图,是一种特殊的状态图。右图为存款的活动图 【与状态图的区别 活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程;状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。 【活动图可以用作以下目的: 1.描述一个操作执行过程中所完成的工作(动作),这是活动图最常见的用途。2.描述对象内部的工作。显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。3.显示用例的实例如何执行动作以及如何改变对象状态。4.说明一次业务流程中的人(参与者)和对象是如何工作的。

活动图中的状态包括动作状态和活动状态。 动作状态:对象的动作状态是活动图中最小单位的构造块,表示原子动作。 动作状态有三个特性:原子性;不可中断性:瞬时性: 活动状态:表示的是可以分割的动作 特点是:它可以被分解成若干活动状态或动作状态,它能够被中断,占有有限的时间。 分支和合并在图形上都使用同步条来表示,同步条通常用一条粗的水平线表示 下图为机场登记活动图(未分区), 在这里插入图片描述 下图为新增读者活动图(已分区)

在这里插入图片描述 【组件图】 组件图是对面向对象系统的物理方面建模时使用的两种图之一(另一种图是部署图),用于描述软件组件以及组件之间的组织和依赖关系。 【组件图有利于:帮助客户理解最终的系统结构。使开发工作有一个明确的目标。复用软件组件。 帮助开发组的其他人员理解系统。 【构成组件图的元素包括:组件、接口、关系、还可以包括包和子系统,它们有助于将系统中的模型元素组织成更大的组块。 【组件是指类的物理实现,表示将类、接口等逻辑元素打包而形成的物理模块。 它具有很广泛的定义,以下的一些内容都可以被认为是组件:程序源代码、子系统、动态链接库等。 组件的图形表示法是把组件画成嵌套了两个小矩形标签的大矩形。 【接口是一组用于描述类或组件的某个服务的操作 【关系:组件图中使用最多的是依赖和实现关系。 依赖关系使用虚线箭头表示 ,实现关系使用实线表示

在这里插入图片描述 在这里插入图片描述 【部署图】 部署图用于描述系统硬件的物理拓扑结构以及在此结构上运行的软件。构成部署图的元素主要是:节点、组件、关系 【节点是在运行时代表计算资源的物理元素,一般至少拥有一些内存,而且通常具有处理能力,位置。 两种类型的节点:处理器:能够执行软件组件、具有计算能力的节点。设备:没有计算能力的节点,通常是通过其接口为外界提供某种服务,例如打印机、扫描仪等都是设备。 【节点和组件的关系: 组件是参与系统执行的事物,而节点是执行组件的事物。 组件表示逻辑元素的物理模块,而节点表示组件的物理部署。

1.UML提供了一系列的图支持面向对象的分析与设计,其中类图给出系统的静态设计视图;用例图对系统的行为进行组织和建模是非常重要的; 协作图和 顺序图都是描述系统动态视图的交互图,其中顺序图描述了以时间顺序组织的对象之间的交互活动,协作图 强调收发消息的对象的组织结构。UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。其中 类图 是面向对象系统规模中最常用的图,用于说明系统的静态设计视图;当需要说明系统的静态实现视图时,应该选择组件图;当需要说明体系结构的静态实施视图时,应该选择部署图。 2.已知三个类A、B和C,其中类A由类B的一个实类和类C的1个或多个实类构成。请画出能够正确表示类A、B和C之间关系的UML类图。

用例图的组成:用例、活动者、关系、注解等。 四种类型的依赖:使用依赖、抽象依赖、绑定依赖和授权依赖。 转换的五要素:源状态、目标状态、触发事件、监护条件、动作。 结构事物。共有七种,类、接口、协作、用例、活动类、组件和节点。 动作事物:包括交互和状态机。 交互,交互是在特定上下文中的一组对象,为共同完成一定的任务而进行的一系列消息交换所组成的动作。交互包括消息、动作序列(消息产生的动作)、对象之间的连接。在UML中消息表示为带箭头的直线,直线上标注操作的名字。 状态机,状态机描述了一个对象在生命周期内响应事件所经历的状态转换序列。状态机包括状态、状态之间的转换、触发事件和对应的转换活动。 分组事物:用来组织UML模型元素。最主要的分组事物称为包。包是将UML元素分组的机制,结构事物、动作事物都可以放进包中,同时包也是可以嵌套的。包只存在于设计概念中,它的图形表示如右图所示。 注释事物:UML模型的解释部分,任何元素都可以附加注释。 UML的特点: (1)统一的标准,已经被OMG接受为标准建模语言; (2)面向对象,支持面向对象开发; (3)可视化,表示能力强; (4)独立于开发过程,可以适用于不同软件过程; (5)概念明确,表示简洁,结构清晰,容易学习掌握。 理解系统的行为和状态的典型图有: (1)用例图:用例为一系列事务,其中的每个事物是从系统外部调用的,需要与内部对象合作,以便在对象与系统周围之间创建关联; (2)类图:此图是系统的静态结构,也是类以及这些类表示的关系的集合; (3)时序图:时序图是通过展示系统与其环境之间的交互,描述系统行为的简单而直观的方法; (4)协作图:协作图表示特定环境和交互中一系列关联的对象; (5)状态图:状态图展示方法执行的状态和对象执行的活动; (6)活动图:活动图是状态机图的变更或特例。在状态机图中,状态是展示执行操作的活动,操作完成后将触发转换。 怎样确定用例的粒度:(1)用例的粒度可大可小,一般一个系统控制在20个左右,但没有严格规定;(2)用例是系统级的、抽象的描述,不是细化的;(3)对复杂的系统可以划分为若干个子系统处理。 UML视图 (1)用例视图。用例视图强调从系统的外部参与者看到的或需要的系统功能。用例是系统的一个功能单元,可以认为用例是参与者与系统之间的一次交互。 (2)逻辑视图。逻辑视图从系统的静态结构和动态行为角度显示如何实现系统的功能。它主要是为设计和开发人员准备的,主要关注系统内部的具体实现。 (3)组件视图。组件视图显示代码组件的组织结构。组件是封装良好的、定义了接口的代码模块。使用组件视图的主要是开发人员。 (4)并发视图。并发视图显示系统的并发性,解决在并发系统中存在的通信和同步问题。 (5)配置视图。配置视图显示系统的具体部署。部署是指将系统配置到硬件设备上。 动态模型的优越性: (1)使用户和开发人员都能更容易地理解构思中的系统; (2)可助于解释状态的改变和降低复杂度; (3)可监视构思中的系统是否存在任何类型的缺陷; (4)操作和维护模型比操作和维护实际系统容易得多。 动态模型的组件:时序图、活动图、协作图、状态图。 UML由以下几个部分构成。 (1)视图。视图是表达系统某一方面特征的UML建模元素的子集。视图由一个或多个图组成,它是从某个角度对软件系统的抽象。 (2)图。UML 2.1提供了13种图,它们是在不同层次上对系统的抽象,把这些基本图结合起来就可以描述系统的所有视图。 (3)模型元素。UML中的模型元素包括事物和事物之间的联系。事物描述了一般的面向对象的概念。事物之间的关系可以把事物联系在一起,组成有意义的模型结构。 (4)通用机制。通用机制可以为模型元素提供额外的注释、信息或语义。同时,它还提供了对UML的扩展机制,允许用户根据自己的实际情况对UML语言进行扩展。 模型表示系统静态和动态的行为、这种表示形式可为同一系统提供不同的视角; 静态模型展示了构思中的系统结构方面; 动态模型是系统的表示形式,也就是过程和行为的集合;动态模型着重于描述系统的控制逻辑,考察在任何时候对象及其关系的改变,描述时序和状态的改变; 采用动态建模的优点:明确性、可视性、简易性; 自关联消息:表示方法的自身调用以及一个对象内的一个方法调用另外一个方法。 协作图描述系统对象(或活动者)如何共同协作实现用例; 强调的是参与交互的对象的组织; 通常顺序图和交互图可以相互转换; 先画顺序图,再转成协作图更容易。

活动图与状态图的区别 ①活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的流程。一般是一个结束后,自动转入下一个活动。②状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。③活动图是一种特殊的状态图,如果在一个状态图中的大多数状态是表示操作的活动,而转移是由状态中动作的完成来触发,即全部或绝大多数的事件是内部产生的动作完成的,这就是活动图。 活动图与流程图的区别 ①流程图着重描述处理过程,它的主要控制结构是顺序、分支和循环,各个处理之间有严格的顺序和时间关系;而活动图描述的则是对象活动的顺序关系所遵循的规则,它着重表现的是系统的行为,而非系统的处理过程。②活动图能够表示并发活动的情形,此时活动图给了我们选择做事顺序的自由,而流程图对活动顺序的描述固定。③活动图是面向对象的,流程图是面向过程的。 协作图和顺序图的区别 协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有