《高级软件工程》复习测验+答案 4.docx
- 文档编号:3497760
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:53
- 大小:143.15KB
《高级软件工程》复习测验+答案 4.docx
《《高级软件工程》复习测验+答案 4.docx》由会员分享,可在线阅读,更多相关《《高级软件工程》复习测验+答案 4.docx(53页珍藏版)》请在冰豆网上搜索。
《高级软件工程》复习测验+答案4
复习测验1
1.在软件系统开发中,有时候用户可能不能确定他们到底想要什么。
这样,需求就很难被明确定义。
下列那种软件过程模型适用于这种情况的软件开发?
a.原型化模型
b.瀑布模型
c.V模型
d.螺旋模型
2.一个软件系统的开发团队在对该类软件的开发富有经验。
虽然新系统规模相当大,但与该团队以往开发的系统并无太大区别。
下列那种软件过程模型适用于这种情况的软件开发?
a.原型化模型
b.瀑布模型
c.V模型
d.螺旋模型
3.下列哪些是对可重用系统用户的潜在限制?
a.组件故障的原因不明确
b.有时候,寻找一个可重用组件比重新构建一个要花费更多时间
c.理解一个可重用组件的行为可能要花费相当的代价
d.只有a和b
e.只有b和c
f.只有a和c
g.a,b和c
假设我们正在开发一个图书馆管理系统,它由三个主要的子系统构成,分别是:
借阅/归还事务处理;目录管理;和报表处理。
在开发的过程中出现了一些问题。
请将下列问题分类(错误,缺陷,或是故障)
4.在计算超期罚款的代码中,fine_total变量未被初始化。
5.在图书管理员试图向目录中添加新书名的时候,系统关机了。
6.需求分析的作者并不知道还书的时候是不需要读者证的。
7.在需求分析中,超期罚款规定为每天0.25美元,上限15美元。
但计算超期罚款的代码并没有考虑罚款上限问题。
8.根据设定,图书管理系统会在每晚11点备份全天处理的事务。
但周二晚上并没有进行备份。
9.开发组的经理Paul决定在目录管理子系统中使用由第三方供应商Reports2U开发的COTS。
下列哪些是合理的考虑:
a.将来的某个时候,供应商可能停止对COTS的技术支持。
b.为了将COTS融合到新系统中,供应商可能需要对它进行修改和改进,但他们可能并不情愿这么做。
c.COTS的实际功能可能和其规范不一致。
d.只有a和b
e.只有b和c
f.只有a和c
g.a,b和c
项目经理Jenna发明了一种用于估算项目工作量的新技术,并应用于多个项目上。
她的估计和软件的实际工作量如下:
衡量工作量估计好坏的标准是:
75%的项目的估计值应在实际值的25%范围内;相对误差平均值应当小于25%。
结合图表和以上的标准回答下列关于Jenna工作量估计技术的问题。
10.求图表中数据的MMRE(精确到0.01)
a.0.01
b.0.05
c.0.06
d.0.07
e.0.10
11.求PRED(.25)的值
a.0.05
b.0.25
c.0.33
d.0.75
e.1.00
12.根据衡量工作量估计好坏的标准和已经取得的数据,这个新技术好不好?
(请回答是或否)
假设三位经理:
Madeline,Andrew和Jason被要求估算一个5万行代码项目的工作量。
他们每个人都使用了不同的方法。
13.Madeline使用了基本的Walson/Felix模型,她的估计值是多少呢?
(精确到1人-月)
a.185人-月
b.572人-月
c.620人-月
d.79634人-月
e.99134人-月
14.Andrew使用了Baiely/Basili基本模型,他的估计值是多少呢?
(精确到1人-月)
a.65人-月
b.74人-月
c.1189人-月
d.1246人-月
e.206129人-月
15.Jason使用专家评价得到了400人-月的估计值。
根据Madeline,Andrew和Jason的估计值,这个项目的Delphi估计值是多少?
(精确到1人-月)
a.220人-月
b.400人-月
c.720人-月
d.755人-月
e.101888人-月
16.如果使用Madeline的估计值,一个12人的项目组需要多长时间才能完成该项目。
(假设所有组员可以并行的工作)(精确到月)
a.15
b.48
c.52
d.6636
e.8261
17.判断对错:
a.一个开发项目刚刚开始,用户界面的初始原型已经完成。
在这个项目开发状态,适合使用COCOMO2.0Stage1模型。
b.选中一个设计之后,项目开发开始了。
设计的细节也已经清楚。
在这个项目开发状态,适合使用COCOMO2.0Stage2模型。
18.系统A有4个(用户界面上的)屏幕(screen)和3个报表(report),在4个屏幕中,3个是中等难度(medium)的,1个是困难(difficult)难度的。
3个报表中,2个是中等的,1个是困难的。
系统B也有4个屏幕和3个报表,2个屏幕是中等难度的,2个是困难难度的。
系统B的3个报表都是中等难度的。
哪个系统有更多的新对象点(newobjectpoints)?
(COCOMO2.0,阶段1模型)
a.系统A
b.系统B
c.系统A,B有同样数目的新对象点。
d.从给定的信息不可能确定答案。
考虑下面对不同雇员工作方式的描述。
19.Kristie想获得能支持她的决定的证据。
她目前打算重新安排办公室的空间,以使得她组内成员的工作环境更加舒适。
她认为除了应该仔细考虑改变的客观方面以外,为她工作的人的想法也很重要。
Kristie组里的员工认为她是一个好的倾听者,当他们有问题的时候,他们经常会询问她的意见。
Kristie的工作方式属于:
a.理性的外向的
b.理性的内向的
c.感性的外向的
d.感性的内向的
20.Shane是一个能干的领导者,他知道他需要什么,并且依赖他的经验和逻辑来做出决定。
他不认为做出决定之前需要广泛的获取信息。
他可以很快做出决定。
Shane的工作方式可以更好的描述为:
a.理性的外向的
b.理性的内向的
c.感性的外向的
d.感性的内向的
21.Jessica是一个喜欢尝试新技术的开发者。
她经常找到能够将新工具和技术结合到她的开发过程中去的新方法。
当尝试过一个新的设计工具之后,她会马上产生一个对该工具的一个积极的想法,并且试图让其他人使用这个工具。
Jessica的工作方式可以被描述为:
a.理性的外向的
b.理性的内向的
c.感性的外向的
d.感性的内向的
22.Matthew正在考虑一个新的代码检查(codereview)的处理过程。
他仔细寻找和回顾了一些证据来发现这样做的潜在的益处。
他以他的精确和彻底而自豪。
Metthew很少向其他人询问意见。
他宁可依赖于客观可观察到的信息。
Matthew的工作方式可以被描述为:
a.理性的外向的
b.理性的内向的
c.感性的外向的
d.感性的内向的
活动图(activitygraphs)是用来描述项目中的活动(activity)和关键点(milestones)的依赖关系的。
连接结点的边表示活动。
边上标记的数字表示该活动所需要的天数。
例如,在下面的活动图中,完成从关键点A到关键点C的活动需要6天。
使用这个活动图回答下列问题:
23.下面哪一条是从关键点A到关键点J的关键路径(criticalpath)?
a.ACFHJ
b.ACFIHJ
c.ABEGHJ
d.ADFHJ
24.下列哪一个是从关键点C开始的活动的松弛时间(slacktime)?
a.7
b.8
c.15
d.20
25.问题23中指出的关键路径的长度是多少?
a.32
b.40
c.48
d.55
26.从关键点E开始的活动的最迟开始时间是什么?
a.10
b.18
c.25
d.40
27.从关键点F开始的活动的最早开始时间是什么?
a.11
b.19
c.33
d.37
28.哪些关键点是H的先驱(precursors)?
a.A
b.B
c.C
d.AandB
e.AandC
f.Alloftheabove
29.如果有7个组员被分配到一个项目组中,有多少潜在的交流线(linesofcommunication)?
a.6
b.7
c.21
d.49
判断是否下面各个陈述是在描述一种风险(risk),如果某陈述描述了一个风险,则回答TRUE,否则回答FALSE。
30.为了早些抓住缺点(defects),需求分析已经被合并到过程(process)中。
31.用户不清楚他们需要什么。
需求可能不稳定。
32.由其他组开发的子系统的交付可能会推迟,从而引起整个项目的时间表向后滑动。
33.项目组经验不足,一个需求可能会被错误的理解和设计。
34.开发组第一次在设计中使用一个CASE工具。
35.为了帮助用户识别需求,几个原型被设计出来。
复习测验2
以下的问题会引用到一个假定的“加油站控制系统”(GSCS),它旨在帮助管理美国式的加油或服务站。
我们的加油站将提供两种基本的服务:
∙包含一个出售汽车配件的小商店,它至少有一台收银机,并由加油站的职员来操作。
∙包含多个加油泵,客户可以在这里停车,用信用卡支付然后加油。
客户也可以选择到配件商店的收银机交费或刷卡。
因此,GSCS系统主要有两类使用者:
一类是收银员,他们使用GSCS来记录汽车配件的销售情况。
收银员可以在GSCS中通过输入配件的类型和数量来计算总售价并完成交易。
另一类使用者是购买汽油的用户。
他们在加油泵和GSCS交互:
指明要加的汽油类型和数量,在加油泵或者收银机结帐,然后自己加油。
这个系统也需要和其他自动系统交互来实现它的功能。
例如,GSCS需要和信用卡公司的系统交互来处理刷卡支付的事务。
信用卡系统负责检查客户的帐户是否正常,能否支付相应的费用,并负责转帐到加油站。
虽然GSCS需要知道这些外部系统如何通知他们操作的成功与否,但这些的操作具体细节不在GSCS的考虑范围之内。
开发小组决定首先创建GSCS的需求说明文档。
1.以下哪些描述了开发小组最希望从需求分析中得到的:
a.需求分析可以帮助开发者了解系统内部诸功能的相互关系。
b.需求分析可以帮助开发者在初期确定编程相关的问题,例如决定使用何种算法。
c.需求分析可以防止开发者遗漏必要的功能
d.a和b
e.a和c
f.b和c
g.a,b,和c
2.下列哪些描述了加油站老板最希望得到的好处:
a.需求分析可以帮助加油站老板更清楚的考虑GSCS应该包含的功能。
b.需求分析可以帮助加油站老板和开发团队在讨论该系统时更好的交流。
c.需求分析可以给加油站老板一个明确的关于最终系统功能的声明。
d.a和b
e.a和c
f.b和c
g.a,b,和c
3.开发小组需要选择一种需求分析的表示方法,一下哪个是合理的选择和选择的理由?
a.数据流图,因为系统的主要功能都涉及到硬件(收银机,油泵,信用卡读卡器)间的数据交互。
b.事件表,因为系统需要处理大量并发事件(例如,多个用户使用多个油泵)。
c.Z,因为它很容易被加油站老板理解,因此能加强沟通。
d.面向对象的规范,因为这样可以保证系统对每种情况的响应都被确定。
标注下列项目,如果它属于GSCS的需求分析,请标“是”,反之标“否”。
4.开发小组需要完成多少文档。
5.收银员需要接受多少培训才能高效的使用这个系统。
6.关于必须保证新客户可以根据油泵上的简单指示来使用这个系统进行付款的限制。
7.系统的最大成本。
8.系统与收银机和油泵交互所必须的硬件限制。
9.从收银机和油泵接受的数据的格式。
10.系统维护应该如何进行。
11.下列哪些摘录可以被看作合理的需求?
a.“当付款过程完成时,系统应以一下方式回应:
如果用户直接付款给收银员,或者在油泵刷卡但不需要收据,则返回初始状态。
否则,打印收据。
”
b.“每个收银员都需要保留一份记录,包括姓名,员工号。
这组记录应该使用一个链表来保存。
”
c.“用户选定了一种付款方式后,系统将检查输入是否正确(例如,是否是1到3之间的数字)”
d.只有a和b
e.只有a和c
f.只有b和c
g.a,b,和c
12.下列哪些是合理的非功能性需求的例子:
a.“用户选定一种付款方式后的三秒钟内必须刷新显示。
”
b.“某个配件售出后,应该更新相应的库存信息。
如果库存量低于某个预设值,则应发出警告。
”
c.“用户在加好油之后应该把油管放回原处。
”
d.只有a和b
e.只有a和c
f.只有b和c
g.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.在了解修改的具体类型之前,没法确定需求分析是否应该被再次评审。
Thedevelopmentteamdecidesthatthenextstepistocreateaconceptualandthenatechnicaldesign.
开发小组决定下一步开始进行概念设计和技术设计。
19.概念设计之所以被认为有价值,是因为它使得加油站老板可以检查:
a.系统的哪个部分负责记录库存的配件数量,以及它如何与系统的其他部分交互。
b.如何向系统输入当前每加仑汽油的售价。
c.用户将会看到怎样的屏幕显示,以及用户可用的选择。
d.a和b
e.a和c
f.b和c
g.a,b,和c
20.下列哪些是创建一个单独的技术设计的原因:
a.概念设计只有助于跟加油站老板沟通,但对系统的实现并没有什么帮助。
b.技术设计应该包括根多关于油泵的信息和它们跟软件的接口。
c.技术设计应该包括更多可能使用的数据结构的细节。
d.a和b
e.a和c
f.b和c
g.a,b,和c
21.团队必须确定一种通用的方法来建立设计。
下面哪些不是有效的选择和基本原理?
a.模块分解,因为系统可以被分解成相互独立的不同类型的功能块(例如,收银员的操作和加油泵的操作)。
b.外部输入设计,因为用户的输入集合相当容易理解。
c.面向对象设计,因为重点在通过系统的数据流上(例如,中央系统如何跟踪在各个加油泵上发生的购买行为)。
d.a和b
e.a和c
f.b和c
g.a,b,和c
22.团队的领导认为,合乎逻辑的下一步工作是为该系统确定一个构架方式,下面哪些不是有效的选择和基本原理?
a.面向对象,因为问题可以被分解成为几个不同的实体,每一个都负责它自己的数据访问和处理例程。
b.管道和过滤器,因为大部分需要的功能都以预先安排好的方式包括了子系统之间”piping”数据。
c.隐式的调用,因为该系统是事件驱动的,并且依赖于子模块的可靠性。
d.a和b
e.a和c
f.b和c
g.a,b和c
23..回答TRUE(对)或FALSE(错):
已经确定了一个构架以后,团队领导认为构架在整个项目的生命周期中应该被冻结。
也就是说,一旦代码设计开始之后,构架就不允许被改变以便不产生冲突。
这是一个合理的策略。
团队决定使用面向对象的方法来建立设计。
上图显示了在高层设计(概念设计)中建立的加油站系统的第一个用例图表的草案,使用它回答问题24到26。
24.每一个椭圆表示该系统的一个特殊的高层功能,并且
a.它们之间的连线代表它们典型的执行顺序。
b.每个椭圆都应该另建一个视图,用来说明系统支持该功能的细节。
c.每个椭圆都应该有一个指定的开始条件。
d.只有a和b
e.只有b和c
f.a,b和c
25.”Parking”和”BillingServices”之间连线上的三角符号表示:
a.”Parking”描述的功能发生在”BillingServices”描述的功能之前。
b.实体”Customer”和”CreditCardSystem”为”billingservices”提供输入,但是不在”Parking”时干预系统。
c.”Parking”的功能是”billingservice”的一个特定类型。
d.只有a和b
e.只有b和c
f.a,b和c
26.为了检查用例中的问题,团队应该:
a.审查用户对”CreditCardSystem”的描述,看是否它可以以一种合适的方式加入到”billingservices”描述的功能中去。
b.确保每一个用例需要的开始条件容易理解。
c.将”Cashier”和”Customer”合并到一个实体中,因为它们是关于同一组用例的。
d.只有a和b
e.只有b和c
f.a,b和c
上图显示了在加油站系统的高层(概念)设计中建立的第一个类图的草案。
使用它回答问题27到29。
27.类”Message”和”Registeredcustomer”的关系是:
a.一个registeredcustomer可以没有相关的message。
b.多个message可以关联一个registeredcustomer。
c.一个message可能存在,但是并未关联到任何registeredcustomer。
d.只有a和b
e.只有b和c
f.a,b和c
28.对于这个类图的描述来说,下面哪些关于GSCS的说法是正确的?
a.任何”Service”的子类必须关联至少一个”Purchase”的实例。
b.一个”Bill”包含恰好一个”Purchase”
c.一个”Inventory”的实例只能包含一个”Part”。
d.只有a和b
e.只有b和c
f.a,b和c
29.当第一个类图的草案完成之后,团队进行了一个内部的评审。
下面哪些是合理的评价和基本原理?
a.类”Parking”和”Carmaintenance”应该合并到一个类中去,因为他们有相同的属性,并且继承自同一个超类。
b.类”Hashtable”为模型引入了太多的细节,由于那是一个实现细节,所以不应该在概念设计中确定。
c.方法”Price”不需要在类”Refuel”中被定义,因为一个同名、同接口的方法可以被继承自超类”Services”。
d.a和b
e.b和c
f.a,b和c。
上图显示了加油站系统的序列图的第一个草案。
使用它来回答问题30和31。
30.下面哪些描述是对序列图的一个合理的解释?
a.一个类型为”GasStation”的对象试图发送一个”IsClientRegistered”方法到一个”Bill”对象中,但是没有成功。
b.只有当”informationisOk”的时候,方法”update_bill”才会被发出。
c.当一个”GasStation”类发出”update_bill”方法时,一个类型为”Bill”的对象被建立。
d.a和b
e.b和c
f.a,b和c
31.回答对(TRUE)或错(FALSE):
一个”Cashier_terminal”对象只有在收到一个”pay_monthlybycash”方法之后,才会发出一个”credit_bill”方法。
概念设计结束之后,在将它提交给加油站主之前,团队进行了一个内部的评审。
32.概念设计的第一个草案有如下特点。
哪些是不合适的?
a.由于它是用一个正规的设计方法编写的,因此功能可以被指定得尽可能详细。
b.为了提供包含某些系统部件的理由,它对需求文档进行了多次引用。
c.为了更好的说明选择c++语言作为实现语言的理由,它使用了一些c++中内建的特性。
d.a和b
e.a和c
f.b和c
g.a,b和c
33.在设计评审中发现的一个问题就是功能在设计中被漏掉,尽管它已经包含在需求中了。
为了在将来避免这个问题,开发团队应该考虑:
a.选择一个改进的方法做设计。
b.增加配置管理使需求生效。
c.花费更多的时间理解用户的需求。
基于概念设计,加油站主对用户接口反馈了一些批评意见。
34.主要的意见是:
收银员很难学会该系统,因为每个屏幕输出都是不同的。
例如,在收银员的初始屏幕,选项是在底部显示的,但是当收银员输入关于汽车部件的购买的相关数据时,收银员的选项是在屏幕的左边从上到下排列的,这是比较令人迷惑的。
该用户真正想表达的是该系统需要一个统一的:
a.比喻
b.心理模型
c.导航规则
d.外观
e.感觉
开发团队已经决定将该系统分为三个子系统:
•一个汽油购买子系统,它管理用户与加油泵的交互。
•一个收银员子系统,它与收银员交互,来接收汽车部件和汽油的购买付款。
•一个跟踪子系统,它记录所有的购买行为,并且跟踪库存。
每一个子系统本身都是一个相对复杂的系统,但选择这个设计最小化了子系统之间的通信。
汽油购买和收银员子系统都会和跟踪子系统相交互,但是它们两个系统之间不会交互。
35.下面哪一项最好的描述了在这一层抽象上的设计?
a.高耦合,高聚合
b.高耦合,低聚合
c.低耦合,高聚合
d.低耦合,低聚合
36.回答对(TRUE)或错(FALSE):
上述耦合和聚合的结合将使得编程和维护变得比不这样设计的简单。
37.在开始的设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级软件工程 高级软件工程复习测验+答案 高级 软件工程 复习 测验 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)