面向对象分析与设计练习题_第1页
面向对象分析与设计练习题_第2页
面向对象分析与设计练习题_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象分析与设计练习题 1. 一个设计得好的oo系统具有? (a)低内聚、低耦合的特征(b)高内聚、低耦合的特征 (c)高内聚、高耦合的特征(d)低内聚、高耦合的特征 2. cococola是一家大型公司,由于公司业务的发展,准备对公司已有的erp软件系统进行升级,因 此委托coolsoft公司负责该项工作。cococola公司所使用的系统是很久以前采用结构化开发方法开发的,该系统非常复杂,而且系统使用多线程来处理公司中并发的帐务处理请求。由于系统开发出来后经过多次修改,因此最初的系统开发文档已经过时。coolsoft公司的专家建议在对系统升级前和cococola公司的高层管理人员开一次讨论

2、会,以便能更好地了解目前所使用的软件系统。那么在这次讨论会中,下面几个图中哪个图是最有用的? (a)活动图 (b)部署图 (c)状态图 (d)顺序图 3. coolsoft准备为mergon银行开发一个自助atm服务系统autocard,autocard的具体需求如下: autocard将使用三个插槽,第一个插槽用于系统送出新的信用卡,第二个插槽用于在向信用卡中加钱时插入信用卡,第三个插槽用于在向信用卡中存钱时插入纸币。系统运行时会显示一个界面,界面中有三个选项:(1)获取新的信用卡;(2)为信用卡加钱;(3)打印存款凭条。选项1允许用户获得一张新的信用卡。新的信用卡在使用前必须先存钱。选项2

3、允许用户为新卡或旧卡加钱,这时要求把信用卡插入第二个插槽中,把纸币插入第三个插槽中。选项3允许用户打印与存钱活动有关的收据,或打印信用卡最近一次使用情况的收据。在开发autocard系统完成上述功能时,下面几个图中哪个图是最有用的? (a)组件图 (b)部署图 (c)活动图 (d)状态图 4. coolsoft公司打算为pepsi饮料公司设计一个库存管理系统,在设计系统的用户界面时,如果对pepsi 饮料公司员工的计算机技能水平不是很清楚,那么coolsoft公司应该采用下面哪种方法是最好的? (a) 确定使用该系统的用户所要具备的计算机技能水平,并提供详细的系统联机帮助,当用户需要 帮助时,

4、能迅速获得这些帮助。 (b) 确定使用该系统的用户所要具备的计算机技能水平,并安排对用户进行必要的培训。 (c) 开发一个用户界面的部分原型,并做一些可用性测试以确定用户的计算机技能水平以及用户使 用什么样的界面操作会比较满意。根据测试结果对系统界面做一些修改,并重复这个过程。 (d) 开发一个用户界面的部分原型,并做一些可用性测试以发现用户使用过程中会存在的问题,将 这些问题用文档详细说明,并与最终系统一起交付给用户。 5. “一个研究生在软件学院做助教(teaching assistant),同时还在校园餐厅打工做收银员(cashier)。 也就是说,这个研究生有3种角色:学生、助教、收银

5、员,但在同一时刻只能有一种角色。” 根据上面的陈述,下面哪个设计是最合理的? 1 personperson0.1personrolestudentteachingassistantcashierstudentteachingassistantcashier(a)cashierteachingassistant(b)student studentteachingassistantcashierpersonperson(c)(d) 6. 在互联时代,共享软件无处不在,美国共享软件职业联盟对共享软件的定义是:“shareware”is software that offers a “try befo

6、re you buy”(tbyb)capability,共享软件实质是采用“先用后买”的营销手段的商业软件。周弈靠一个非主流的mp3-cd maker小软件,一个月就从美国人那里得到了5万美元的注册收入。周弈的例子让我们意识到个人英雄主义的时代并没有过去,只是有了新的环境。周弈的软件很小,甚至可以不用软件工程的方法就可以开发出来,只是内部的一个转换算法复杂,为了描述这个算法,下面哪个图是最合适的? (a)类图 (b)状态图 (c)活动图 (d)用例图 7. 如果要对一个学院课程注册系统中三个主要角色学生、教授、教务长的工作流程建模,那么下面4 个图中哪个图是最有用的? (a)活动图 (b)类图

7、 (c)交互图 (d)部署图 8. 在课程注册系统中,有3个用例,分别是“注册课程”、“查询成绩”、“修改学生个人情况”,其中 “注册课程”是高风险、高业务价值的用例;“查询成绩”是低风险、高业务价值的用例;“修改学生个人情况”是低风险、低业务价值的用例。在开发时准备采用迭代式开发,先实现其中的一个用例,那么首先应实现哪个用例? (a)“修改学生个人情况”用例 (c)“注册课程”用例 (b)“查询成绩”用例 (d)3个用例中的任意一个都可以 9. 汽车(car)由轮子、发动机、油箱、座椅、方向盘等组成。那么car类和其他类(wheel、engin、 tank、chair、steeringwhe

8、el)之间的关系是: (a)泛化关系(generalization) (c)包含关系(inclusion) (b)实现关系(realization) (d)组合关系(composition) 2 10. innovation公司正在为美国国防部的新型导弹ums993开发嵌入式控制软件,为了描述和理解该 嵌入式系统中的控制机制,如在不同的飞行情况下导弹的响应动作,下面哪几个图是最有用的? (a)交互图 (b)活动图 (c)状态图 (d)类图 11. 在一个络游戏系统中,定义了类cowboy和类castle,并在类cowboy中定义了方法open(c: castle)和方法close(c:cast

9、le),则类cowboy和类castle之间的关系是: (a)依赖(dependency)关系 (c)泛化(generalization)关系 (b)组合(composition)关系 (d)包含(include)关系 12. 一个银行atm系统采用下图所示的配置图,则下列叙述不正确的是: atm客户机-城域atm应用服务器-局域atm数据服务器储户 (a)与gui有关的类应该部署在atm客户机上 (b)这个图表示一个三层的体系结构,不管atm客户机、atm应用服务器上、atm数据服务器上是运行在同一台机器上还是不同的机器上 (c)为了系统的可伸缩性(scalability),与业务逻辑有关的

10、对象应该部署在atm应用服务器上 (d)为了系统的可伸缩型,与业务逻辑有关的对象应该部署在atm客户机上 13. 系统架构师bob在分析面向对象的课程注册系统的“注册课程”用例时,得到了一组协作关系复杂 的类,下面哪种图可以描述该用例中多个对象之间的相互协作关系以及协作过程中的行为次序? (a)交互图 (b)状态图 (c)对象图 (d)用例图 14. wylie学院准备开发一个新的oo课程注册系统,由于开发费用和时间的限制,这个新的课程注册 系统将使用已有的一个非oo的课程目录遗留系统(legacy system)所提供的一些功能,因此需要和这个课程目录系统集成。wylie学院也预见到,以后这

11、个课程目录系统遗留系统将会被放弃,新的oo系统将逐步实现目前非oo系统所提供的功能。那么在考虑系统体系结构方面的问题时,下面哪些做法是不可以接受的? (a) 定义一个接口,对遗留系统中提供的功能进行封装; (b) 采用层次体系结构,组成新系统的类单独放在某一层中; (c) 采用层次体系结构,定义一些类来解决oo系统和遗留系统之间可能存在的不匹配问题, 并把这些类放在某一层中。 (d) 新系统中的类直接调用遗留系统中的功能,以增加整个系统的性能。 1516题参考下面库存管理系统的类图(部分)和顺序图(部分): 3 storedeliveryschedule1inventory+nextdeliv

12、eyfor()1inventory-size-color+isdamaged()+location()ninventoryproduct-amountonhand : int+nextdelivery()+price()1.n1.nsupplier+nextdeliveyfor()+saleitems()ninventoryproduct-amountonhand : int+nextdelivery()+price()+isdamaged()+location()修改方案d preferedsupplierpurchasable+price():deliveryform:inventoryp

13、roduct:xxx:yyynextdelivery()nextdeliveryfor(p)nextdeliveryfor(p) 15. 顺序图中缺了两个类名,用xxx和yyy代替,则xxx和yyy分别可以是什么类? (a)xxx=deliverschedule,yyy=supppier (b)xxx= supppier,yyy= preferredsupplier (c)xxx= preferredsupplier,yyy= deliverschedule (d)xxx= deliverschedule,yyy= preferredsupplier 16. 如果有新的需求:(1)对已有损坏(

14、damaged)的货物的价格进行打折;(2)可以按货物的大小和 颜色对货物进行查找。那么应该如何修改类图中的类比较好?(注:下面图中的isdamaged()方法可以判断一个货物是否已损坏;loacation()方法返回货物所存放的具体位置。) (a)增加类inventoryproduct的属性和方法,如图a所示,其余部分不变; 4 inventoryproduct-amountonhand : int-size-color+nextdelivery()+price()+isdamaged()+loacation()修改方案ainventory-size-color+isdamaged()+lo

15、cation()修改方案c (b)增加一个新的类physicalproduct用来表示仓库中具体的货物,并在类physicalproduct和inventoryproduct类之间建立关联关系,如图b所示,其余部分不变; inventoryproduct-amountonhand : int+nextdelivery()+price()1修改方案bnphysicalproduct-size-color+isdamaged()+location() (c)增加类inventory的属性和方法,如图c所示,其余部分不变; (d)同时增加类inventoryproduct和类inventory的属性和方法,如图d所示,其余部分不变。 17. 根据下面的代码,判断下面那些叙述是正确的? public class housekeeper private timecard timecard; public void clockin() timecard.punch(); (a) 类housekeeper和类timecard之间存在关联(association)关系; (b) 类housekeeper和类timecard之间存在泛化(generalization)关系; (c) 类housekeeper和类timecard之间存在实现(rea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论