OOAD练习题

一 选择题:

1. UpClean公司准备开发一套战略游戏系统。该系统中有很多战略角色(character),比如KingQueenTrollKnight等,每个战略角色可以发出各种攻击行为(weapon behavior),比如KnifeBehaviorBowBehaviorAxeBehaviorSwordBehavior等。该公司的架构师Jack希望每种攻击行为可以独立于各个战略角色,并且可以根据玩家的需要,由第三方公司进行开发扩充。那么为了将来能更方便地扩展该系统,请问Jack应采用那种设计模式。        )

A)观察者模式         B)策略模式:11问题,每次可以重设1          C)命令模式         (D)适配器模式

2Forest软件公司用Java语言开发一套财务软件,现在想为其增加财务历史信息统计的功能,在功能中要求将历年来的费用、利润信息分别以柱状图、饼状图的形式显示出来。系统架构师Jack考虑到将来可能还会有更多的统计图形需求(比如曲线图、浮点图等等),那么系统分析员在设计该模块时,应该采用哪个设计模式才能更好地支持这一扩展性。(       

A)观察者模式:一对多的问题,可以同时出多种图      B)策略模式     (C)命令模式          (D)适配器模式

3Star软件公司开发一个图像后期制作程序,该程序的主要功能是在原始的图片基础上可选择地调节对比度、反转、拉伸等操作。系统设计师Bob在设计系统时,想使对图片的每一步加工都都可逆,并不会影响到原始的图片,那么Bob应该使用哪个设计模       )                                                     

A)观察者模式     (B)状态模式      (C)单例模式           (D) 装饰者模式:针对原始数据对象进行不断的修饰和修改

4Moon软件公司打算开发一个支持程序读取各种格式磁盘文件的API,该程序的主要功能是根据用户提出的格式请求(变化),提供一个对应的访问器对象,以用于对相应格式文件的读写。为了隐藏系统根据格式请求自动生成访问器对象的具体细节,那么Bob再设计这套API时应该使用哪个设计模式。()                                                                                                     

A)命令模式       (B)策略模式       C)工厂模式:根据格式生成不同的访问器           (D) 装饰者模式

5Sea软件公司打算开发一个网络防火墙,该系统能够检测网络入侵和磁盘病毒,该系统的内核的启动要用20秒左右的时间,并要占用30M左右的内存空间。系统设计师Bob在设计该系统时,为了避免内核对象不会重复创建,那么应该使用哪个设计模式。   (                                                              

A)命令模式        (B)策略模式      C)单例模式:有且仅具有唯一独立对象             (D) 外观模式

6River软件公司开发一个Web服务器,该服务器能够根据客户端的请求,执行相应的处理,还可以对同时到达的请求排队,并对成功执行的每个请求记录日志。系统设计师Bob在设计该系统时,应该使用哪个设计模式以更好地支持对请求的处理          (         

A)命令模式:请求Request并且Response,为函数类,用命令模式       B)观察者模式      (C)适配器模式          (D) 外观模式

7Wylie学院准备开发一个新的OO课程注册系统,由于开发费用和时间的限制,这个新的课程注册系统将使用已有的一个非OO的课程目录遗留系统(legacy system)所提供的一些功能,因此需要和这个课程目录系统集成。Wylie学院也预见到,以后这个课程目录系统遗留系统将会被放弃,新的OO系统将逐步实现目前非OO系统所提供的功能。那么在设计遗留系统的访问模块时,应该用哪个设计模式        )

A)命令模式       (B)观察者模式       C)适配器模式:系统升级用      (D) 外观模式

8Beach市的电信局委托Flag银行为其办理网上缴费业务。电信局的系统工程师Tom考虑到电信业务的复杂性,特别为Flag银行设计了一套新的接口,已屏蔽这一复杂性。借助这套新的接口,Flag银行可以不再为那些电信业务规则而烦恼了。请问系统工程师Tom在设计这套接口时会用到哪个设计模式        )

A)模版方法模式      (B)观察者模式        (C)适配器模式       (D) 外观模式(门面模式):内置一个顺序执行流程的封装

9Tree软件公司开发里一套主题果园游戏系统。该系统中的每个植物的一生live()都要经历plant()、grow()、harvest()三个过程,但每种果树的播种方式、成长周期、收获方法却不尽相同,那么系统设计师Tom在设计系统中的果树种群时,应该使用哪个设计模式(                                                                  A)命令模式      (B)观察者模式       (C)适配器模式        (D)模版方法模式:同时具有相同和不同的属性的单元的设计

10Machine软件公司为Benz公司的一款跑车设计了一个程序控制的紧急按钮,该按钮的功能根据汽车的行驶状态不同,而具有不同的功能,比如汽车静止时,该按钮可以快速启动汽车;当汽车的时速超过200km/h时,该按钮可以在2秒内将车平稳地停下来;当汽车向后行驶时,该按钮可以立即刹车,基于以上功能考虑,架构师Bob在设计该按钮时,应该采用哪种设计模式                                              A)命令模式      (B)观察者模式       C)状态模式:根据不同的当前状态执行不同操作           (D) 外观模式

11. NextGen POS系统需要支持多种第三方外部服务,其中包括税金计算、信用卡授权、库存系统、账务系统。他们都具有不同的API,而且还无法改变。采用()方法解决NextGen POS的系统设计比较适合。                                           

(A)   装饰器模式   B)适配器模式:不同API链接,系统升级等   C)观察者模式    D)命令模式

12.观察者模式表述错误的是       )

(A)     观察者角色的更新是被动的----只有主题发生变化时才Update

(B)      被观察者可以通知观察者进行更新-----被观察者发送Update

(C)      观察者可以改变被观察者的状态,再由被观察者通知所有观察者依据被观察者的状态进行-----观察者不能改变被观察者

D)以上表述全部错误

13. 当我们想创建一个具体的对象而又不希望制定具体的类时,可以使用模式       )

(A)     创建型模式:工厂等  B)结构型:策略、装饰、模版等     C)行为型:命令、状态等     D)以上都可以

14. Jerry看到Tom睡觉了,他就会出来寻找奶酪;如果Tom醒了,Jerry就会回到洞中。请

问采用何种设计模式描述该场景比较合适       )

A)装饰器模式      B)适配器模式        C)观察者模式:观察TOM          D)命令模式

15G公司要为客户开发一个网站用来发布产品信息和客户沟通,那么该公司的系统分析人员,最好采用UML中的()进行功能分析与建模

A)用例图:描述系统功能    B)活动图:业务建模(描述业务流程)或者程序流程图(设计算法)

C)状态图:体现出外界变化时给予的反映  D)包图:系统架构设计(将哪些子系统放到哪几个包中)

16.对于ATM机进动态建模,UML中()其中关键作用

A)用例图    B)活动图   C)状态图   D)顺序图

17.对于SafeHome系统中,涉及实体对象比较多(包括传感器、照相机等),在系统设计过程中,要将对象模型细化,产生设计(),才能设计出合理的架构

A)类图:涉及到每个类和实体    B)顺序图   C)活动图   D)用例

二 分析题:共4小题,每小题10分,满分40分;请将答案填入答题纸对应位置。

1、 生活中,我们购买一包纸巾Tissues,从中能够一张一张的抽取extract(),将其放入纸巾盒Box,能够使其看起来更漂亮,并且不影响它的使用。

请问采用何种设计模式描述该场景比较合适(4分),并且画出设计类图(6分)。

       答:(1)可以用装饰器

          2面向对象~~

2、旅游团Agency一天的进餐Dining()的安排是这样的,早餐Breakfast()和晚餐Dinner()旅游团成员Member自行解决,午餐Lunch()是由团里统一提供。请问分这样的就餐过程安排采用何种设计模式描述比较合适(4分),并且画出类图(6

答:(1)模版方法

    (2) 面向对象~~

 

3、有两个可兼容的接口CoffeeTea,现有一个Client,只能访问Coffee的接口

prepare()。为了让Client也能与Tea的接口 package()交互,设计了一个TeaAdapter类。采用何种设计模式描述该场景比较合适(4分),并且画出设计类图(6分)。

答:(1)适配器

           (2) 面向对象~~

 

 

4、  一款关于挖掘宝藏游戏,其中人物角色凯奇(Cage),两个守护神(Eudemon):老虎(Tiger)、狮子(Lion);宝藏(Treasure)。

功能需求:

(1)       凯奇拿走一定数量的宝藏takeTreasure treasureint quantity

(2)       当宝藏数量发生变化的时候,会惊动守护神notify(),向凯奇发起攻击

attacks()

采用何种设计模式描述该场景比较合适(4分),并且画出设计类图(6分)。

答:(1)观察着模式,老虎和狮子观察宝藏数量

       2

面向对象~~

三、综合题:共1小题,满分20分;请将答案填入答题纸对应位置。

1.       某软件公司开发一款飞机飞行模拟系统,该系统主要模拟不同种类的飞机特征和起飞特征。需要模拟的飞机种类及其特征如表所示  

飞机种类

起飞特征

飞机特征

直升机(Helicopter

垂直起飞(VerticalTakeOff

亚音速飞行(SubSonicFly

客机(AirPlane

长距离起飞(LongDistanceTakeOff

亚音速飞行(SubSonicFly

歼击机(Fighter

长距离起飞(LongDistanceTakeOff

超音速飞行(SuperSonicFly

鹞式战斗机(Harrier

垂直起飞(VerticalTakeOff

超音速飞行(SuperSonicFly

题目要求:请根据以上题目描述,说明采用的设计模式(4分),给出系统的UML设计类图(6),并用Java/C++/C#语言(任选一种)予以实现(10分)。

       答:(1) 策略模式

                     需要接口2个:起飞特征和飞行特征

              (2) 面向对象~~

              (3)代码:略

 

有一个人 打算给自己的店 设计订单管理子系统

 

1.根据客户的网上留言创建订单并保存客户信息

2.通过电话核实订单内容修改订单状态为已确

3.按照订单为客户备货,并且通过物流公司发送货物

4.修改网上订单状态为已发货,补充物流单号

5.收到货物之后,修改订单状态为交易成功,并且订单留底

问:画出用例

面向对象~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1381432.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

OOAD概述

OOA Object-Oriented Analysis (OOA):面向对象的分析与设计 OOA的侧重点是业务领域分析,与软件所要应用的行业领域相关,而与软件技术关系不大,需要由领域专家进行。这一部分的工作被称为“需求分析”。 OOA的成果: 业…

OOAD与UML

1.OOAD(Object Oriented Analysis and Design)面向对象分析和设计 --OOA 分析阶段,主要解决以下问题: --建立对业务问题域的清晰视图 --列出必须要完成的核心业务 --针对问题域建立公共词汇表 --列出针对此问题域的最佳解决方案 -…

OOAD之设计原则

一、设计原则意义 为了设计出一个好的软件系统。我们必须遵照一定的规则。 衡量软件设计质量的首要标准是该设计是否能满足软件的功能需求。除了功能需求以外,还有很多衡量软件设计质量的标准,包括可读性、可复用性、可扩展性、可维护性等。 1、一般一个…

ooad设计模式_OOAD-面向对象的分析与设计

ooad设计模式 让我们分为以下几节来讨论OOAD: (Lets discuss OOAD by dividing into the below sections:) OOS 操作系统 OOA OOA OOD 面向对象 Thumbnails principles of the object oriented design 面向对象设计的缩略图原则 OO Design Quality Metrics OO设计质…

OOAD复习笔记

OOAD学习目标: 1.A critical,fundamental ability in OOAD is to skillfully assign responsibilities to software components.(面向对象分析设计种至关重要的的能力是熟练地为软件部件分配职能) 2)GRASP patterns &#xff0c…

几款免费的数据恢复软件测试

目录 一、前言 二、测试正文 1、Windows File Recovery (不推荐) 2、Recuva 3、Undelete360 (最轻量级) 4、Glary Undelete 三、总结 一、前言 刚进回收站,清空后的,都能找到,还原后能正常…

一款非常好用且专业的免费万兴数据恢复软件

Wondershare Recoverit Mac版是一款非常好用且专业的免费万兴数据恢复软件,可以恢复所有文件类型,包括照片、视频、文档和其他文件。从所有数据丢失场景中检索数据,并从所有存储设备中恢复数据,并崩溃Windows系统或可启动问题!可靠…

【C++基础(十)】C++泛型编程--模板初阶

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C   🔝🔝 模板 1. 前言2. 函数模板3. 函数模板原理4. 函数…

PETool free分享

百度盘下载pe解析工具、PETool.1.0.0.5.exe(免费) 链接: https://pan.baidu.com/s/1A44RaB3GotWfmWmQCv3qqw 提取码: 33fh MD5: 5691CCA8BD8C5BDEE5F839098CE82A2A SHA1: 1DAD3D205405EB8E99BD39DAE891463C15F995CD 下载后请校验文件防篡改。 文件安全性…

CPABE

属性加密的基础是秘密共享。 什么是秘密共享? 秘密共享指的是dealer有一个秘密,他想要在w个人中分享这个秘密,但是他希望任何单个人都无法计算出(获得)这个秘密,也就是说他想任意t个人在一起才能够把这个…

Peers

Peers 区块链网络主要由一组peers节点组成。 peers是网络的基本要素,因为他们主持分类账和智能合约。 回想一下,分类账不可变地记录智能合约产生的所有交易。 智能合约和分类帐分别用于封装网络中的共享进程和共享信息。 peers的这些方面使他们成为理解H…

Protobuf-importimport public

【转载】https://www.cnblogs.com/letsgollc/p/7423248.html 场景:假如有文件hundredbulls.proto,需要导入另一个文件common.proto,两者在同一个目录中. 导入方式 在hundredbulls.proto文件的开头,使用关键字import导入另一个文件…

pump-probe技术简介

pump-probe技术简介 pump-probe定义介绍应用 pump-probe定义介绍 泵浦-探测(pump-probe)是一种利用短激光脉冲测量超快现象的技术。**当泵浦光照射在样品上时,可以激发出各种各样的物理现象,例如电子激发。随后,经过一…

记录更换若依框架的用户和部门两种表的过程

背景: 公司使用若依框架快速构建项目,客户那边原有的数据要同步过来,且要求字段与原先的字段一致,可以让数据丝滑无畅导入。用户表和部门表是基础在代码出现的地方比较多,该如何考虑去过度去更换) 如何快速…

【单片机/嵌入式】最完整学习路线

一.什么是单片机?什么是嵌入式?它们之间的区别与联系。 关于这个问题我在网上寻找到了相关文章解释得很详细,不了解的同学可以参考一下这篇文章:到底什么是嵌入式?什么是单片机? - 知乎 二.学习路线 一个人…

大学学习历程简单总结

一、主要学习经历: 2017年9月进入大学: 最开始自己对大学的认识是一种特别仰慕的感觉,并且当时自己认为在大学里面是做各种各样的研究和学习的,并且认为只有对科研特别喜欢而且拥有天赋的大学生才能去升学为研究生; 进…

“机器学习”名字的由来

阿瑟萨缪尔(Arthur Samuel, 1901-1990) 阿瑟萨缪尔是人工智能研究的先驱。 从1949年到1960年代后期,他在让计算机从经验中学习方面做了最出色的工作,而他的研究工具是跳棋游戏。(玩游戏的程序通常在人工智能研究中扮演果蝇在遗传学中所扮演的…

【Unity每日一记】让一个物体按余弦曲线移动—(三角函数的简单运用)

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

Bootstrap 样式之 文本颜色

Bootstrap 自定义的文本颜色 源码查看&#xff08;测试版本3.x&#xff09; ------------------------------------------------------------ 先来看看bootstrap自定义的文本颜色是什么样的&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"zh-C…

A. Red Versus Blue

https://codeforces.com/contest/1659/problem/A input 3 7 4 3 6 5 1 19 13 6output RBRBRBR RRRBRR RRBRRBRRBRRBRRBRRBRinput 6 3 2 1 10 6 4 11 6 5 10 9 1 10 8 2 11 9 2output RBR RRBRBRBRBR RBRBRBRBRBR RRRRRBRRRR RRRBRRRBRR RRRBRRRBRRR题意 T组询问&#xff…