复习测验 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决定在目录管理子系统中使用由第三方**商reports 2 u开发的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 人-月。
使用了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. 15b. 48
c. 52d. 6636
e. 8261
17.判断对错:
a. 一个开发项目刚刚开始,用户界面的初始原型已经完成。在这个项目开发状态,适合使用cocomo 2.0 stage 1模型。
b. 选中一个设计之后,项目开发开始了。设计的细节也已经清楚。在这个项目开发状态,适合使用cocomo 2.0 stage 2模型。
18.系统a有4个(用户界面上的)屏幕(screen)和3个报表(report),在4个屏幕中,3个是中等难度(medium)的,1个是困难(difficult)难度的。3个报表中,2个是中等的,1个是困难的。
系统b也有4个屏幕和3个报表,2个屏幕是中等难度的,2个是困难难度的。系统b的3个报表都是中等难度的。哪个系统有更多的新对象点(new object points)?
(cocomo 2.0,阶段1模型)
a.系统ab.系统b
c.系统a,b有同样数目的新对象点。
d.从给定的信息不可能确定答案。
考虑下面对不同雇员工作方式的描述。
想获得能支持她的决定的证据。她目前打算重新安排办公室的空间,以使得她组内成员的工作环境更加舒适。她认为除了应该仔细考虑改变的客观方面以外,为她工作的人的想法也很重要。
kristie组里的员工认为她是一个好的倾听者,当他们有问题的时候,他们经常会询问她的意见。kristie的工作方式属于:
a.理性的外向的。
b. 理性的内向的。
c.感性的外向的。
d.感性的内向的。
20.shane是一个能干的领导者,他知道他需要什么,并且依赖他的经验和逻辑来做出决定。他不认为做出决定之前需要广泛的获取信息。他可以很快做出决定。
shane的工作方式可以更好的描述为:
a. 理性的外向的。
b. 理性的内向的。
c.感性的外向的。
d.感性的内向的。
21.jessica是一个喜欢尝试新技术的开发者。她经常找到能够将新工具和技术结合到她的开发过程中去的新方法。当尝试过一个新的设计工具之后,她会马上产生一个对该工具的一个积极的想法,并且试图让其他人使用这个工具。
jessica的工作方式可以被描述为:
a. 理性的外向的。
b. 理性的内向的。
c.感性的外向的。
d.感性的内向的。
22.matthew正在考虑一个新的**检查(code review)的处理过程。他仔细寻找和回顾了一些证据来发现这样做的潜在的益处。他以他的精确和彻底而自豪。
metthew很少向其他人询问意见。他宁可依赖于客观可观察到的信息。matthew的工作方式可以被描述为:
a. 理性的外向的。
b. 理性的内向的。
c.感性的外向的。
d.感性的内向的。
活**(activity graphs)是用来描述项目中的活动(activity)和关键点(milestones)的依赖关系的。连接结点的边表示活动。边上标记的数字表示该活动所需要的天数。
例如,在下面的活**中,完成从关键点a到关键点c的活动需要6天。使用这个活**回答下列问题:
23.下面哪一条是从关键点a到关键点j的关键路径(critical path)?
a. acfhj
b. acfihj
c. abeghj
d. adfhj
24.下列哪一个是从关键点c开始的活动的松弛时间(slack time)?
a. 7b. 8
c. 15d. 20
25.问题23中指出的关键路径的长度是多少?
a. 32b. 40
c. 48d. 55
26.从关键点e开始的活动的最迟开始时间是什么?
a. 10b. 18
c. 25d. 40
27.从关键点f开始的活动的最早开始时间是什么?
a. 11b. 19
c. 33d. 37
28.哪些关键点是h的先驱(precursors)?
a. ab. b
c. cd. a and b
e. a and c
f. all of the above
29.如果有7个组员被分配到一个项目组中,有多少潜在的交流线(lines of communication)?
a. 6b. 7
c. 21d. 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
《高级软件工程》复习测验 答案
复习测验 1 1 在软件系统开发中,有时候用户可能不能确定他们到底想要什么。这样,需求就很难被明确定义。下列那种软件过程模型适用于这种情况的软件开发?a.原型化模型。b.瀑布模型。c.v 模型。d.螺旋模型。2 一个软件系统的开发团队在对该类软件的开发富有经验。虽然新系统规模相当大,但与该团队以往开...
高级软件工程》复习测验 答案
简答例题。简答题要有的话,在4套题里面,就在这里面。1 需求评审。1.评审系统目的和目标。2.比较需求和目标。3.描述运行环境。4.考查。a 界面 接口 b 信息流。c 功能。5.核查冗余 不完整 不一致。6.记录风险。7.讨论将怎样测试系统。2 降低风险的三种策略。1.避免风险 改变性能或功能需求...
高级软件工程答案
1 简要说明什么是用例和类图?它们在软件工程中的地位和作用是什么?各有什么优点和缺点?用例图是显示一组用例 use case 参与者 actor 以及它们之间关系 relationship 的图。用例 use case 是对一组动作序列的抽象描述,系统执行这些动作序列,产生相应的结果。这些结果要么反...