免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2018年下半年 嵌入式系统设计师 上午试卷 综合知识
  第52题      
  知识点:   UML图   建模   统一建模语言
  关键词:   UML   统一建模语言   建模   语言        章/节:   嵌入式系统的项目开发与维护知识       

 
在统一建模语言UML提供的图中,(52)用于系统功能建模,由(53)等元素构成。
 
 
  A.  用例图
 
  B.  状态图
 
  C.  时序图
 
  D.  类图
 
 
 

 
  第53题    2018年下半年  
   53%
在统一建模语言UML提供的图中,(52)用于系统功能建模,由(53)等元素构成。
  第74题    2009年下半年  
   64%
Why is (71) fun? What delights may its practitioner expect as his reward? First is the sheer joy of making things. As th..
 
   知识点讲解    
   · UML图    · 建模    · 统一建模语言
 
       UML图
        图(diagram)是一组元素的图形表示,大多数情况下把图画成顶点(代表事物)和弧(代表关系)的连通图。为了对系统进行可视化,可以从不同的角度画图,这样图是对系统的投影。
        UML 2.0提供了13种图,分别是类图、对象图、用例图、序列图、通信图、状态图、活动图、组件图、部署图、组合结构图、包图、交互概览图和定时图。序列图、通信图、交互概览图和计时图均被称为交互图。
        (1)类图(class diagram)。展现了一组对象、接口、协作和它们之间的关系,如下图所示。在面向对象系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,包含主动类的类图给出了系统的静态进程视图。类图中通常包含类、接口、协作,以及依赖、泛化和关联关系,也可以包含注解和约束。类图通常用于对系统的词汇建模;对简单的协作建模;对逻辑数据库模式建模。
        
        UML类图
        (2)对象图(object diagram)。展现了一组对象以及它们之间的关系,描述了在类图中所建立的事物实例的静态快照。对象图一般包括对象和链。与类图相同,对象些图给出系统的静态设计视图或静态进程视图,但它们是从真实的或原型案例的角度建立的。
        (3)用例图(use case diagram)。展现了一组用例、参与者(actor)以及它们之间的关系,描述了谁将使用系统以及用户期望以什么方式与系统交互,如下图所示。用例图中包含用例、参与者,以及用例之间的扩展关系(<>)和包含关系(<>),参与者和用例之间的关联关系,用例与用例以及参与者与参与者之间的泛化关系。用例图给出系统的用例视图,可用于对系统的语境建模;对系统的需求建模。
        
        UML用例图
        (4)序列图(sequence diagram)。是场景(scenario)的图形化表示,描述了在一个用例或操作的执行过程中以时间顺序组织的对象之间的交互活动,如下图所示。图中对象发送和接收的消息沿垂直方向按时间顺序从上到下放置。序列图中有对象生命线和控制焦点。
        
        UML序列图
        (5)通信图(communication diagram)。强调收发消息的对象之间的结构组织。通信图有路径和顺序号。序列图和通信图都是交互图(interaction diagram)。交互图展现了一种交互,它由一组对象和它们之间的关系组成,包括它们之间可能发送的消息。交互图关注系统的动态视图。序列图和通信图是同构的,它们之间可以相互转换。
        (6)交互概览图(interaction overview diagram)。组合了序列图和活动图的特征,显示了每个用例的活动中对象如何交互。它使用活动图的表示法,描述业务过程中的控制流概览,软件过程中的详细逻辑概览,以及将多个图进行连接,抽象掉了消息和生命线。
        (7)定时图(timing diagram)。是另一种交互图,关注一个对象或一组对象在改变状态时的时间约束条件,描述对象状态随着时间改变的情况,很像示波器,适合分析周期和非周期性任务。当为设备设计嵌入式软件时,定时图特别有用。
        (8)状态图(state diagram)。展现了一个状态机,它由状态、转换、事件和活动组成,用于建模时间如何改变对象的状态以及引起对象从一个状态向另一个状态转换的事件,如下图所示。状态图关注系统的动态视图,它对于接口、类和协作的行为建模尤为重要,强调对象行为的事件顺序。
        
        UML状态图
        (9)活动图(activity diagram)。是一种特殊的状态图,展现了在系统内从一个活动到另一个活动的流程。活动图专注于系统的动态视图。它对于系统的功能建模特别重要,并强调对象间的控制流程。活动图可用于对工作流建模,操作建模。
        (10)组合结构图(composite structure diagram)。用于描述一个分类器(类、组件或用例)的内部结构,分类器与系统中其他组成部分之间的交互端口,展示一组相互协作的实例如何完成特定的任务,描述设计、架构模式或策略。
        (11)组件图(component diagram)。展现了一组构件之间的组织和依赖。组件图专注于系统的静态实现视图。它与类图相关,通常把构件映射为一个或多个类、接口或协作。
        (12)部署图(deployment diagram)。展现了运行时处理结点以及其中构件(制品)的配置。部署图给出了体系结构的静态实施视图。它与构件图相关,通常一个结点包含一个或多个构件。部署图是UML图中唯一用来对面向对象系统的物理方面建模的一种图。
        (13)包图(package)。用于把模型本身组织成层次结构的通用机制,描述类或其他UML构件如何组织成包,以及这些包之间的依赖关系。包可以拥有其他元素,可以是类、接口、构件、结点、协作、用例和图,甚至是嵌套的其他包。拥有是一种组成关系。
 
       建模
        建模是在计算机上创造三维形体的过程,建模是三维动画的基础,没有一个好的模型,其他好的效果都难以表现。三维建模的基本方法主要有:利用二维形体的技术、直接进行三维物体建模、造型组合等。
        利用二维形体进行建模的技术的主要思想是首先创建简单的二维形体,如样条线和形状等,然后对这些创建的二维形体进行挤压、旋转、放样等操作以创建三维造型。
        直接进行三维物体建模的常用方法有多边形建模、面片建模、NURBS建模等。
        造型组合是把已有的物体组合成新的物体,其中布尔运算是最重要的组合技术。
 
       统一建模语言
        UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它融入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
        在这个知识点,要求掌握UML的图形和类之间的关系,以及用例之间的关系。
               UML的图形
               UML2.0包括14种图,分别列举如下。
               (1)类图(Class Diagram):展现了一组类、接口、协作和它们之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。类图给出了系统的静态设计视图。包含主动类的类图给出了系统的静态进程视图。
               (2)对象图(Object Diagram):展现了一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。
               (3)构件图(Component Diagram):展现了一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。
               (4)组合结构图(Composite Structure Diagram):它可以描绘结构化类(例如构件或类)的内部结构,包括结构化类与系统其余部分的交互点。它显示联合执行包含结构化类的行为的部件配置。组合结构图用于画出结构化类的内部内容。
               (5)用例图(Use Case Diagram):展现一组用例、参与者(一种特殊的类)及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模时是非常重要的。
               (6)顺序图和通信图:两者都是交互图。交互图(Interaction Diagram)展现了一种交互,它由一组对象或角色以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图(Sequence Diagram)是强调消息的时间次序的交互图;通信图(Communication Diagram)也是一种交互图,它强调收发消息的对象或角色的结构组织。顺序图和通信图表达了类似的基本概念,但每种图所强调的概念不同,顺序图强调的是时序,通信图则强调消息流经的数据结构。
               (7)状态图(State Diagram):展现一个状态机,它由状态、转移、事件和活动组成。状态图展现了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。
               (8)活动图(Activity Diagram):将进程或其他计算的结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模特别重要,并强调对象间的控制流程。
               (9),部署图(Deployment Diagram):展现了对运行时的处理结点及在其中生存的构件的配置。部署图给出了体系结构的静态部署视图,通常一个结点包含一个或多个部署图。
               (10)制品图(Artifact Diagram):展现了计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理位集合。制品图通常与部署图一起使用。制品也展现了它们实现的类和构件。
               (11)包图(Package Diagram):展现了由模型本身分解而成的组织单元,以及它们的依赖关系。
               (12)定时图(Timing Diagram):是一种交互图,它展现了消息跨越不同对象或角色的实际时间,而不仅仅只是关心消息的相对顺序。
               (13)交互概览图(Interaction Overview Diagram):是活动图和顺序图的混合物。
               用例之间的关系
               两个用例之间的关系可以概括为两种情况:一种是用于重用的包含关系,用构造型include或use表示;另一种是用于分离出不同行为的扩展关系,用构造型extend表示。
               (1)包含关系:当可以从两个或两个以上的原始用例中提取公共行为,或者发现能够使用一个构件来实现某一个用例很重要的部分功能时,应该使用包含关系来表示它们。
               (2)扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事情,则可以断定将这个用例分为一个主用例和一个或多个辅用例进行描述可能更加清晰。
               另外,用例之间还存在一种泛化关系。用例可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。例如,购买飞机票时,既可以通过电话订票,也可以通过网上订票,则订票用例就是电话订票和网上订票的抽象。
               类之间的关系
               (1)关联关系。描述了给定类的单独对象之间语义上的连接。关联提供了不同类之间的对象可以相互作用的连接。其余的关系涉及类元自身的描述,而不是它们的实例。用“”表示。
               (2)依赖关系。有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖于元素X。在UML中,使用带箭头的虚线“”表示依赖关系。
               在类中,依赖由各种原因引起,例如,一个类向另一个类发送消息;一个类是另一个类的数据成员;一个类是另一个类的某个操作参数。如果一个类的接口改变,则它发出的任何消息都可能不再合法。
               (3)泛化关系。泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。继承关系是泛化关系的反关系,也就是说子类是从父类继承的,而父类则是子类的泛化。在UML中,使用带空心箭头的实线“”表示泛化关系,箭头指向父类。
               (4)聚合关系。聚合是一种特殊形式的关联,它是传递和反对称的。聚合表示类之间的关系是整体与部分的关系。例如一辆轿车包含4个车轮、一个方向盘、一个发动机和一个底盘,就是聚合的一个例子。在UML中,使用一个带空心菱形的实线“”表示聚合关系,空心菱形指向的是代表“整体”的类。
               (5)组合关系。如果聚合关系中表示“部分”的类的存在与否与表示“整体”的类有着紧密的关系,例如“公司”与“部门”之间的关系,那么就应该使用“组合”关系来表示这种关系。在UML中,使用带有实心菱形的实线“”表示组合关系。
               (6)实现关系。实现关系将说明和实现联系起来。接口是对行为而非实现的说明,而类之中则包含了实现的结构。一个或多个类可以实现一个接口,而每个类分别实现接口中的操作。实现关系用“”表示。
               (7)流关系。流关系将一个对象的两个版本以连续的方式连接起来。它表示一个对象的值、状态和位置的转换。流关系可以将类元角色在一次相互作用中连接起来。流的种类包括变成(同一个对象的不同版本)和复制(从现有对象创造出一个新的对象)两种。用“”表示。
   题号导航      2018年下半年 嵌入式系统设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第52题    在手机中做本题