免费智能真题库 > 历年试卷 > 软件设计师 > 2021年下半年 软件设计师 下午试卷 案例
  第3题      
  知识点:   类图   用例图   背景   编辑器   计时器

 
【说明】某游戏公司欲开发一款吃金币游戏。游戏的背景为一种回廊式迷宫(Maze),在迷宫的不同位置上设置有墙。迷宫中有两种类型的机器人(Robos):小精灵(PacMan)和幽灵(Ghost)。游戏的目的就是控制小精灵在迷宫内游走,吞吃迷宫路径上的金币,且不能被幽灵抓到。幽灵在迷宫中游走,并会吃掉遇到的小精灵。机器人游走时,以单位距离的倍数计算游走路径的长度。当迷宫中至少存在一个小精灵和一个幽灵时,游戏开始。
机器人上有两种传感器,使机器人具有一定的感知能力。这两种传感器分别是:
(1)前向传感器(FrontSensor),探测在机器人当前位置的左边、右边和前方是否有墙(机器人遇到墙时,必须改变游走方向)。机器人根据前向传感器的探测结果,决定朝哪个方向运动。
(2)近距离传感器(ProxiSesor),探测在机器人的视线范围内(正前方)是否存在隐藏的金币或幽灵。近距离传感器并不报告探测到的对象是否正在移动以及朝哪个方向移动。但是如果近距离传感器的连续两次探测结果表明被探测对象处于不同的位置,则可以推导出该对象在移动。
另外,每个机器人都设置有一个计时器(Timer),用于支持执行预先定义好的定时事件。
机器人的动作包括:原地向左或向右旋转90°;向前或向后移动。
建立迷宫:用户可以使用编辑器(Editor) 编写迷宫文件,
建立用户自定义的迷宫。将迷宫文件导入游戏系统建立用户自定义的迷宫
现采用面对家分析与设计方法开发该游戏,得到如图3-1所示的用例图以及图3-2所示的初始类图

 
问题:3.1   (3分)
根据说明中的描述,给出图3-1中U1~U3所对应的用例名。
 
问题:3.2   (4分)
图3-1中用例U1~U3分别与哪个(哪些)用例之间有关系,是何种关系?
 
问题:3.3   (8分)
根据说明中的描述,给出图3-2中C1~C8所对应的类名。
 
 
 

   知识点讲解    
   · 类图    · 用例图    · 背景    · 编辑器    · 计时器
 
       类图
        类图(Class Diagram)展现了一组对象、接口、协作及其之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。
        类图给出了系统的静态设计视图,包含主动类的类图给出了系统的静态进程视图。作为模型管理视图还可以含有包或子系统,二者都用于把模型元素聚集成更大的组块。类图用于对系统的静态视图建模。这种视图主要支持系统的功能需求,即系统要提供给最终用户的服务。当对系统的静态设计建模时,通常以下述3种方式之一使用类图:对系统的词汇建模;对简单的协作建模;对逻辑数据库模式建模。
        作为静态视图的类图可以包含依赖、关联、泛化、组合、实现关系以及注解和约束等。
        (1)依赖关系是两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义。
        (2)关联关系是一种结构关系,它描述了一组对象之间的链接关系。其中有一种特殊类型的关联关系,即聚集关系,它描述了整体与部分的结构关系。
        (3)泛化关系是一种一般—特殊关系,利用这种关系,子类可以共享父类的结构和行为。
        (4)实现关系是类之间的语义关系,其中的一个类制订了另一个类保证执行的契约。实现关系用于两种情况:在接口和实现它们的类或构件之间;在用例和它们的协作之间。
        (5)组合是聚集关系的变种,表示元素间更强的组合关系。各种关系图例如下图所示。
        
        各种关系图例
 
       用例图
        用例图(Use Case Diagram)展现了一组用例、参与者(Actor)以及两者之间的关系。用例图通常包括用例、参与者、扩展关系、包含关系。用例图用于对系统的静态用例视图进行建模,主要支持系统的行为,即该系统在它的周边环境的语境中所提供的外部可见服务。当对系统的静态用例视图建模时,可以用下列两种方式来使用用例图:对系统的语境建模;对系统的需求建模。
 
       背景
        .项目的承担者。
        .用户。
        .本项目和其他系统或机构的关系和联系。
 
       编辑器
        从理论上来说,任何一个文本编辑器都可以用来编写源代码。但是为了提高编程的效率,一个好的编辑器应该具备如下一些特点:
        (1)支持C语言、汇编语言等程序设计语言的语法高亮显示;
        (2)支持文件管理操作(如打开文件、保存文件、关闭文件等)、文件编辑操作、文件打印、文本查找等功能;
        (3)编辑窗口可以同时作为调试时源代码执行的跟踪窗口;
        (4)通过“编译结果输出窗口”可以直接定位到相应的源代码编辑窗口;
        (5)提供一系列辅助编辑工具;
        (6)编辑器可以同时打开多个窗口进行编辑,可编辑的文件大小理论上无限制;
        (7)编辑器的编辑命令和编辑操作最好与标准的Windows编辑器功能一致,以便熟悉Windows的用户使用。
        在各种集成开发环境中,一般都会提供一个功能强大的编辑器。UltraEdit和Source Insight是两个常用的独立编辑器。
        UltraEdit是一个功能强大的文本编辑器。它可以取代记事本,用来编辑文本文字,也可以用来编写各种语言的源代码。它内建英文单词检查、C++及Visual Basic语法加亮显示,可同时编辑多个文件。即使打开一个很大的文件,速度也不会慢。UltraEdit附有HTML Tag颜色显示、搜寻替换以及无限制的还原功能。它支持二进制和十六进制编辑,可以用来直接修改EXE或DLL文件。
        Source Insight是一款面向工程项目的源码编辑和查看软件,其用户界面友好,变量和函数名都以特定的颜色表示出来,非常直观。对于各种语言的源文件,如C/C++、C#和Java,它能自动解析程序的语法结构,动态地保持符号信息数据库,并主动显示有用的上下文信息。Source Insight不仅是一个功能强大的程序编辑器,它还能显示参考树、类继承图和调用树等信息。它具有快速源代码导航功能,用户可以使用各种搜索命令,在各个源文件的不同函数和变量定义之间来回跳转,非常方便,因此它很适合于编辑大型软件。
 
       计时器
        计时器是实时嵌入式系统的一个组成部分。时间轮转调度算法、存储器定时刷新、网络数据包的超时重传以及目标机监视系统的时序等都严格依赖于计时器。许多嵌入式系统用不同形式的计时器来驱动时间敏感的活动,即硬件计时器和软件计时器。硬件计时器是从物理计时芯片派生出来的,超时后可以直接中断处理器,硬件计时器对精确的延迟操作具有可预测的性能。而软件计时器是通过软件功能调度的软件事件,能够对非精确的软件事件进行有效的调度,使用软件计时器可以减轻系统的中断负担。
        这里有几个相关概念,需要考生了解:
        (1)实时时钟:存在于嵌入式系统内部,用来追踪时间、日期的硬件计时设备。
        (2)系统时钟:用来追踪从系统加电启动以来的事件时间或流失时间,可编程的间隔计时器驱动系统时钟,计时器每中断一次,系统时钟的值就递增一次。
        (3)时钟节拍:它也称为时钟滴答,是特定的周期性中断。中断之间的间隔取决于不同的应用,一般在10ms~200ms之间。而且时钟节拍率越快,系统的额外开销就越大。
        (4)可编程计时器:一般是集成在嵌入式系统内部的专门计时硬件,用做事件计数器、流失时间指示器、速率可控的周期事件产生器等。使用独立的硬件计时器可以有效地降低处理器的负载。
        (5)软件计时器:它是应用程序安装的计数器,每次时钟中断,会递减一次,当计数器到达0时,应用的计时器超时,系统会调用安装的超时处理函数进行有关处理。
   题号导航      2021年下半年 软件设计师 下午试卷 案例   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
 
第3题    在手机中做本题