




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
复习测验 2以下的问题会引用到一个假定的“加油站控制系统”(GSCS),它旨在帮助管理美国式的加油或服务站。我们的加油站将提供两种基本的服务: 考试时改成贷款系统、图书馆管理系统 包含一个出售汽车配件的小商店,它至少有一台收银机,并由加油站的职员来操作。 包含多个加油泵,客户可以在这里停车,用信用卡支付然后加油。客户也可以选择到配件商店的收银机交费或刷卡。因此,GSCS系统主要有两类使用者:一类是收银员,他们使用GSCS来记录汽车配件的销售情况。收银员可以在GSCS中通过输入配件的类型和数量来计算总售价并完成交易。另一类使用者是购买汽油的用户。他们在加油泵和GSCS交互:指明要加的汽油类型和数量,在加油泵或者收银机结帐,然后自己加油。这个系统也需要和其他自动系统交互来实现它的功能。例如,GSCS需要和信用卡公司的系统交互来处理刷卡支付的事务。信用卡系统负责检查客户的帐户是否正常,能否支付相应的费用,并负责转帐到加油站。虽然GSCS需要知道这些外部系统如何通知他们操作的成功与否,但这些的操作具体细节不在GSCS的考虑范围之内。开发小组决定首先创建GSCS的需求说明文档。1以下哪些描述了开发小组最希望从需求分析中得到的:a. 需求分析可以帮助开发者了解系统内部诸功能的相互关系。b. 需求分析可以帮助开发者在初期确定编程相关的问题,例如决定使用何种算法。c. 需求分析可以防止开发者遗漏必要的功能d. a 和 be. a 和 cf. b 和 cg. a, b, 和 c2. 下列哪些描述了加油站老板最希望得到的好处:a. 需求分析可以帮助加油站老板更清楚的考虑GSCS应该包含的功能。b. 需求分析可以帮助加油站老板和开发团队在讨论该系统时更好的交流。c. 需求分析可以给加油站老板一个明确的关于最终系统功能的声明。d. a 和 be. a 和 cf. b 和 cg. a, b, 和 c3. 开发小组需要选择一种需求分析的表示方法,一下哪个是合理的选择和选择的理由?a. 数据流图,因为系统的主要功能都涉及到硬件(收银机,油泵,信用卡读卡器)间的数据交互。b. 事件表,因为系统需要处理大量并发事件(例如,多个用户使用多个油泵)。c. Z,因为它很容易被加油站老板理解,因此能加强沟通。d. 面向对象的规范,因为这样可以保证系统对每种情况的响应都被确定。标注下列项目,如果它属于GSCS的需求分析,请标“是”,反之标“否”。4. 开发小组需要完成多少文档。5. 收银员需要接受多少培训才能高效的使用这个系统。6. 关于必须保证新客户可以根据油泵上的简单指示来使用这个系统进行付款的限制。7. 系统的最大成本。8. 系统与收银机和油泵交互所必须的硬件限制。9. 从收银机和油泵接受的数据的格式。10. 系统维护应该如何进行。11. 下列哪些摘录可以被看作合理的需求?a. “当付款过程完成时,系统应以一下方式回应:如果用户直接付款给收银员,或者在油泵刷卡但不需要收据,则返回初始状态。否则,打印收据。”b. “每个收银员都需要保留一份记录,包括姓名,员工号。这组记录应该使用一个链表来保存。”c. “用户选定了一种付款方式后,系统将检查输入是否正确(例如,是否是1到3之间的数字)”d. 只有 a 和 be. 只有 a 和 cf. 只有 b 和 cg. a, b, 和 c12. 下列哪些是合理的非功能性需求的例子:a. “用户选定一种付款方式后的三秒钟内必须刷新显示。”b. “某个配件售出后,应该更新相应的库存信息。如果库存量低于某个预设值,则应发出警告。”c. “用户在加好油之后应该把油管放回原处。”d. 只有 a 和 be. 只有 a 和 cf. 只有 b 和 cg. a, b, 和 c为了确保需求分析有效的描述了将要开发的系统,需要对它进行一个评价。请在第13至17题中评价给出的需求分析的节录,并确定它是否是足够有效的需求分析。如果它需要修改,标出相应的理由。13.“付款结束后,相关信息应该被加入到日志文件中。”a. 这个需求分析需要重写;它不正确。b. 这个需求分析需要重写;它模棱两可,不一致。c. 这个需求分析需要重写;它不现实。d. 这个需求分析需要重写;它无法被验证。e. 这个需求分析是合理的。14. “系统应该被设计成可以方便的在日后添加新功能。”a. 这个需求分析需要重写;它不正确。b. 这个需求分析需要重写;它模棱两可,不一致。c. 这个需求分析需要重写;它不现实。d. 这个需求分析需要重写;它无法被验证。e. 这个需求分析是合理的。15. “用户购买汽油的售价跟据如下计算:该类汽油每加仑的售价购买的加仑数(加仑数精确到小数点后两位)”a. 这个需求分析需要重写;它不正确。b. 这个需求分析需要重写;它模棱两可,不一致。c. 这个需求分析需要重写;它不现实。d. 这个需求分析需要重写;它无法被验证。e. 这个需求分析是合理的。16.“系统应该便于新用户使用。”a. 这个需求分析需要重写;它不正确。b. 这个需求分析需要重写;它模棱两可,不一致。c. 这个需求分析需要重写;它不现实。d. 这个需求分析需要重写;它无法被验证。e. 这个需求分析是合理的。17.“系统需要每天24小时,每周7天都提供服务。”a. 这个需求分析需要重写;它不正确。b. 这个需求分析需要重写;它模棱两可,不一致。c. 这个需求分析需要重写;它不现实。d. 这个需求分析需要重写;它无法被验证。e. 这个需求分析是合理的。需求分析评审结束后,经过23处修改,得到了新版本的需求分析。新版本再次被评审并提出了9处修改建议。在这些修改完成之后,最新的版本被提交给客户,客户提出了5处修改意见。18. 根据上面的叙述,我们可以总结出:a. 需求分析需要继续被修改,因为仍然发现了一些问题。b. 开发小组应该开始根据这个需求分析进行设计,因为每次修改的数目都在减小,需求分析变得越来越稳定。c. 在了解修改的具体类型之前,没法确定需求分析是否应该被再次评审。The development team decides that the next step is to create a conceptual and then a technical design.开发小组决定下一步开始进行概念设计和技术设计。19. 概念设计之所以被认为有价值,是因为它使得加油站老板可以检查:a. 系统的哪个部分负责记录库存的配件数量,以及它如何与系统的其他部分交互。b. 如何向系统输入当前每加仑汽油的售价。c. 用户将会看到怎样的屏幕显示,以及用户可用的选择。d. a 和 be. a 和 cf. b 和 cg. a, b, 和 c20. 下列哪些是创建一个单独的技术设计的原因:a. 概念设计只有助于跟加油站老板沟通,但对系统的实现并没有什么帮助。b. 技术设计应该包括根多关于油泵的信息和它们跟软件的接口。c. 技术设计应该包括更多可能使用的数据结构的细节。d. a 和 be. a 和 cf. b 和 cg. a, b, 和 c21.团队必须确定一种通用的方法来建立设计。下面哪些不是有效的选择和基本原理?a.模块分解,因为系统可以被分解成相互独立的不同类型的功能块(例如,收银员的操作和加油泵的操作)。b.外部输入设计,因为用户的输入集合相当容易理解。c.面向对象设计,因为重点在通过系统的数据流上(例如,中央系统如何跟踪在各个加油泵上发生的购买行为)。d. a和be. a和cf. b和cg. a,b,和c22.团队的领导认为,合乎逻辑的下一步工作是为该系统确定一个构架方式,下面哪些不是有效的选择和基本原理?a.面向对象,因为问题可以被分解成为几个不同的实体,每一个都负责它自己的数据访问和处理例程。b.管道和过滤器,因为大部分需要的功能都以预先安排好的方式包括了子系统之间”piping”数据。c.隐式的调用,因为该系统是事件驱动的,并且依赖于子模块的可靠性。d. a和be. a和cf. b和cg. a,b和c23.回答TRUE(对)或FALSE(错):已经确定了一个构架以后,团队领导认为构架在整个项目的生命周期中应该被冻结。也就是说,一旦代码设计开始之后,构架就不允许被改变以便不产生冲突。这是一个合理的策略。团队决定使用面向对象的方法来建立设计。上图显示了在高层设计(概念设计)中建立的加油站系统的第一个用例图表的草案,使用它回答问题24到26。24每一个椭圆表示该系统的一个特殊的高层功能,并且a.它们之间的连线代表它们典型的执行顺序。b.每个椭圆都应该另建一个视图,用来说明系统支持该功能的细节。c.每个椭圆都应该有一个指定的开始条件。d.只有a和be.只有b和cf.a,b和c25”Parking”和”Billing Services”之间连线上的三角符号表示:a.”Parking”描述的功能发生在”Billing Services”描述的功能之前。b.实体”Customer”和”Credit Card System”为”billing services”提供输入,但是不在”Parking”时干预系统。c.”Parking”的功能是”billing service”的一个特定类型。d.只有a和be.只有b和cf.a,b和c26.为了检查用例中的问题,团队应该:a.审查用户对”Credit Card System”的描述,看是否它可以以一种合适的方式加入到”billing services”描述的功能中去。b.确保每一个用例需要的开始条件容易理解。c.将”Cashier”和”Customer”合并到一个实体中,因为它们是关于同一组用例的。d.只有a和be.只有b和cf.a,b和c上图显示了在加油站系统的高层(概念)设计中建立的第一个类图的草案。使用它回答问题27到29。类图 考几个简单的画类图27.类”Message”和”Registered customer”的关系是:a.一个registered customer可以没有相关的message。b.多个message可以关联一个registered customer。c.一个message可能存在,但是并未关联到任何registered customer。d.只有a和be.只有b和cf.a,b和c28.对于这个类图的描述来说,下面哪些关于GSCS的说法是正确的?a.任何”Service”的子类必须关联至少一个”Purchase”的实例。b.一个”Bill”包含恰好一个”Purchase”c.一个”Inventory”的实例只能包含一个”Part”。d.只有a和be.只有b和cf.a,b和c29.当第一个类图的草案完成之后,团队进行了一个内部的评审。下面哪些是合理的评价和基本原理?a.类”Parking”和”Car maintenance”应该合并到一个类中去,因为他们有相同的属性,并且继承自同一个超类。b.类”Hash table”为模型引入了太多的细节,由于那是一个实现细节,所以不应该在概念设计中确定。c.方法”Price”不需要在类”Refuel”中被定义,因为一个同名、同接口的方法可以被继承自超类”Services”。d. a和be. b和cf. a,b和c。下图不考。考状态图上图显示了加油站系统的序列图的第一个草案。使用它来回答问题30和31。30下面哪些描述是对序列图的一个合理的解释?a. 一个类型为”Gas Station”的对象试图发送一个”IsClientRegistered”方法到一个”Bill”对象中,但是没有成功。b.只有当”information is Ok”的时候,方法”update_bill”才会被发出。c.当一个”Gas Station”类发出”update_bill”方法时,一个类型为”Bill”的对象被建立。d.a和be.b和cf.a,b和c31.回答对(TRUE)或错(FALSE):一个”Cashier_terminal”对象只有在收到一个”pay_monthlybycash”方法之后,才会发出一个”credit_bill”方法。概念设计结束之后,在将它提交给加油站主之前,团队进行了一个内部的评审。32.概念设计的第一个草案有如下特点。哪些是不合适的?a. 由于它是用一个正规的设计方法编写的,因此功能可以被指定得尽可能详细。b.为了提供包含某些系统部件的理由,它对需求文档进行了多次引用。c.为了更好的说明选择c+语言作为实现语言的理由,它使用了一些c+中内建的特性。d.a和be.a和cf.b和cg.a,b和c33在设计评审中发现的一个问题就是功能在设计中被漏掉,尽管它已经包含在需求中了。为了在将来避免这个问题,开发团队应该考虑:a.选择一个改进的方法做设计。b.增加配置管理使需求生效。c.花费更多的时间理解用户的需求。基于概念设计,加油站主对用户接口反馈了一些批评意见。34主要的意见是:收银员很难学会该系统,因为每个屏幕输出都是不同的。例如,在收银员的初始屏幕,选项是在底部显示的,但是当收银员输入关于汽车部件的购买的相关数据时,收银员的选项是在屏幕的左边从上到下排列的,这是比较令人迷惑的。该用户真正想表达的是该系统需要一个统一的:a.比喻b.心理模型c.导航规则d.外观e.感觉开发团队已经决定将该系统分为三个子系统: 一个汽油购买子系统,它管理用户与加油泵的交互。 一个收银员子系统,它与收银员交互,来接收汽车部件和汽油的购买付款。 一个跟踪子系统,它记录所有的购买行为,并且跟踪库存。每一个子系统本身都是一个相对复杂的系统,但选择这个设计最小化了子系统之间的通信。汽油购买和收银员子系统都会和跟踪子系统相交互,但是它们两个系统之间不会交互。35.下面哪一项最好的描述了在这一层抽象上的设计?a.高耦合,高聚合b.高耦合,低聚合c.低耦合,高聚合d.低耦合,低聚合36回答对(TRUE)或错(FALSE):上述耦合和聚合的结合将使得编程和维护变得比不这样设计的简单。37在开始的设计中,汽油购买子系统被假定处理所有的购买细节,并且只需要发送一份包含了汽油购买量、购买价格、购买时间的记录给跟踪子系统。对汽油购买子系统和跟踪子系统的关系的最佳描述为:a.内容耦合b.控制耦合c.标签耦合d.逻辑上的聚合e时间上的聚合f.功能上的聚合38团队领导者意识到团队没有构建能处理并发系统的经验,而汽油购买子系统需要这样做。于是他决定最好的进行方式是:让团队为该子系统开发一个基本的设计来说明并发是可以被处理的,但是不要包含所有的用户功能。完全的用户功能可以在团队确定他们已经获得了足够的设计并发系统的经验之后再添加进去。这个策略是下面哪一条的一个实例?a.原型设计b.用后抛弃的原型c.缺陷树分析d.按合同设计39汽油购买子系统需要能够处理这样的情况:用户用信用卡支付,但是检验信用卡信息的远程系统不可达,也许因为一个暂时的网络故障。这种情况是下面哪一项的一个例子?a.一个异常b.一个缺陷c.一个故障40如此设计该系统是合理的:39题描述的情况第一次发生时,系统这样反应:a.重试b.纠正c.报告d.主动缺陷检测e.被动缺陷检测41回答对(TRUE)或错(FALSE):团队领导已经在设计过程中监控了几个设计度量标准。由于设计看起来接近完成,他评审了他的记录并且发现,在详细设计阶段的开始,类”Parking”的“每个类的重要方法”这个度量标准已经从6增加到了12。下一步应该拆分”Parking”为几个类,每个类有少量的方法。42当设计上做了更多的工作之后,团队领导认为是时候进行一个程序设计评审了。下面哪些人不需要被邀请?a.需求分析人员b.开发者c.加油站主d.a和be.a和cf.b和cg.a,b和c43.下面哪些项信息不适合包含在最后的设计中?a.加油站主愿意为该系统支付的最大花费。b.收银员屏幕的设计。c.支持子系统内部或之间通讯的网络的一般设计。d.非上述几条(即上述都适合)e.a 和bf.a和cg.b和ch.a,b和c44下面哪一项信息不适合包含在最后的设计中?a收银员能够等待系统响应的最大时间。b每天的事务的记录是如何被存档的。c如果对任意加油泵的网络连接问题很严峻将发生什么事情。d上述都不是(都适合)ea和bfa和cgb和cha,b,和c答案21. e; 需求分析只包括需要实现哪些功能,而不是如何实现,因此不选b。【4.1节】2. d; 因为随着对系统了解的不断深入,开发者和客户都可能改变他们对系统的概念,需求分析不能被看作是系统最终的确切形态。但是,它为实现过程中的修改提供了一个有用的起点。【4.1节】3. a; 时间表不适合于并发环境;Z过于形式化而不适于和非专业人士的交流;面向对象的规范没有包含保证完备性的方法。【4.4 - 4.5节】4. 是;需求说明书应该包含所有跟系统如何与外界交流相关的信息。【4.2节】5. 是;需求说明书应该包含所有跟系统如何与外界交流相关的信息。【4.2节】6. 是;需求说明书应该包含所有跟系统如何与外界交流相关的信息。【4.2节】7. 是;需求说明书应该包含所有跟系统如何与外界交流相关的信息。【4.2节】8. 是;需求说明书应该包含所有跟系统如何与外界交流相关的信息。【4.2节】9. 是;需求说明书应该包含所有跟系统如何与外界交流相关的信息。【4.2节】10. 是;需求说明书应该包含所有跟系统如何与外界交流相关的信息。【4.2节】11. e;选项B包含了系统实现的细节问题(例如,使用链表),而这些问题并不在需求分析的范围内。【4.1节】12. a;选项B是一个功能需求;选项C描述了一些超出系统控制范围之外的东西。【4.1节】13. b 和 d;短语“相关信息”概念模糊。(开发者如何知道哪些信息是“相关”的?)这种模糊性也导致需求分析不能被验证;【4.3节】14.d; 短语“容易添加新功能”无法被验证。“容易”的定义是什么呢?又是何种“功能”呢?【4.3节】15.e; 给出的公式的正确性可以被验证,并且也不模糊。【4.3节】16.d; 短语“便于使用”无法被验证。应该使用一个可以量化的准则来代替。例如,一个新用户的出错次数必须一定的值,或者新用户应该在多长时间内完成整个事务。【4.3节】17.c; 需求分析必须确定那些影响可用性的因素。例如,停电时系统应该不可用。但对于哪些更平凡的问题,例如日常维护呢?比如,如果需要打印收据,就需要经常更换打印纸。18.c; 在可能的地方,需求量化应该根据需求类型分类,这样就便于理解如下的问题:修改和不确定性到底是对整个系统而言的呢,还是仅仅局限于一类需求中。【4.10节】19.g; 概念设计着重于用户界面,数据来源和系统内数据处理等问题。【5.1节】20.g; 技术设计更适合于描述主要硬件组件和数据结构等问题。【5.1节】21.c;选项C不是有效的是因为面向对象的设计不是很适合描述数据流(尽管面向数据的分解是的)【5.2节】22f;管道和过滤器不是一个合适的选择,因为它不适合交互的应用。隐式调用不是一个好的选择,因为它的一个缺点是不保证一个部件会对一个事件作出反应。【5.3节】23FALSE;5.3节描述了这个过程是如何重复的。24E.高层用例图表隐含了无序。【6.3节】25C三角表示特殊作用。即,”Parking”是”Billing Services”的一个特殊类型。【6.3节】26D.选项C中给出的将”Cashier”和”Customer”合并到一起的原因是不正确的,因为这些actor在他们所参与的scenarios中可以有独特的角色【6.3节】27.E.这两个类的cardinality表示说明类”Message”的一个实例可以被关联到0或多个”Registered customer”对象,并且类”Registered customer”的一个实例可以被关联到一个或多个”Message”对象。【6.5节】28.F.所有选项都是与类图是一致的。(一个子类继承它父类的联系)【6.5节】29.B.在不同类中有相同名字的方法和属性依然可以有不同的定义和值,对相关类的所有实例都一样。【6.5节】30E一个对象可以调用它自己的方法,就像图中描述那样:一个方法箭头开始和终止于同一个对象。【6.5节】31TRUE.序列图传达了顺序排列的信息,在图中位置低一些的方法发生在那些接近顶部的方法之后。【6.5节】32.e;概念设计应该用用户的语言来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生药学试题库及答案
- 2025年车站客运考试题库及答案
- 2025年航空航天行业飞行员执照申请试题及答案
- 外贸销售合同模板
- 组织工作者面试题库及答案
- 高空外沿涂料施工合同(3篇)
- 2025公务员转任面试题目及答案
- 夫妻共同房产共有权确立与婚姻关系维护协议
- 可转换公司债券发行保证协议
- 农牧局岗位专业试题及答案
- 2025年机组A级检修安健环管理方案
- 联合办刊协议书
- 网络安全等级保护备案表(2025版)
- 村书记考试试题及答案
- 《库存优化模型》课件
- 幼儿园办公家具教学家具采购招标文件
- 生产承包劳务合同协议
- 2023-2024部编人教版5五年级语文上册电子课本课件【全册】
- 选煤厂安全知识培训课件
- 全新人教版七年级上册生物教案(全册)
- 道路工程检验批划分
评论
0/150
提交评论