2013年硕士研究生入学考试初试专业课试题870 (2)

下列关于模块的描述,正确的是()。

A.具有独立的模块软件比较容易开发出来

B.独立的模块比较容易测试和维护

C.模块的独立程度可以通过内聚和耦合标定

D.独立的模块可以完成一个相对独立的特定子功能


正确答案:ABCD


阅读下述说明,回答问题1至问题4,将解答填入答题纸的对应栏内。

[说明]

某项目进入详细设计阶段后,项目经理为后续活动制定了如图2所示的网络计划图,图中的“△”标志代表开发过程的一个里程碑,此处需进行阶段评审,模块1和模块2都要通过评审后才能开始修复。

项目经理对网络图中的各活动进行了成本估算,估计每人每天耗费的成本为1000元,安排了各活动的人员数量并统计了模块1、模块2的开发和测试活动的工作量(如表2所示),其中阶段评审活动不计入项目组的时间和人力成本预算,如表2所示。

[问题1]

请计算该项目自模块开发起至模块测试全部结束的计划工期。

[问题2]

详细设计完成后,项目组用了11天才进入阶段评审。在阶段评审中发现:模块1开发已完成,测试尚未开始;模块2的开发和测试均已完成,修复工作尚未开始,模块2的实际工作量比计划多用了3人?天。

(1)请计算自详细设计完成至阶段评审期间模块1的PV、EV、AC,并评价其进度和成本绩效。

(2)请计算自详细设计完成至阶段评审期间模块2的PV、EV、AC,并评价其进度和成本绩效。

[问题3]

(1)如果阶段评审未作出任何调整措施,项目仍按当前状况进展,请预测从阶段评审结束到软件集成开始这一期间模块l、模块2的ETC(完工尚需成本)(给出公式并计算结果)。

(2)如果阶段评审后采取了有效的措施,项目仍按计划进展,请预测从阶段评审结束到软件集成开始这一期间模块1、模块2的ETC(完工尚需成本)(给出公式并计算结果)。

[问题4]

请结合软件开发和测试的一般过程,指出项目经理制定的网络计划和人力成本预算中存在的问题。


正确答案:
【问题1】

画出相应的前导图:

计划工期:8+3+1+2=14天。

【问题2】
(1)自详细设计完成至阶段评审期间模块1的PV、EV、AC,并评价其进度和成本绩效。
PV=(48+3)*1000=51000元。
EV=48*1000=48000元。
AC=8*1000*11=88000元。
CPI=EV/AC=0.55,成本超支。
SPI=EV/PV=0.94,进度滞后。

(2) 自详细设计完成至阶段评审期间模块2的PV、EV、AC,并评价其进度和成本绩效。
PV=(80+3)*1000=83000元。
EV=PV=83000元。
AC=83000+3*1000=86000元。
CPI=EV/AC=0.97,成本略有超支。
SPI=EV/PV=1,进度与计划相符。

【问题3】
(1)如果阶段评审未作出任何调整措施,项目仍按当前状况进展,请预测从阶段评审结束到软件集成开始这一期间模块l、模块2的ETC(完工尚需成本)(给出公式并计算结果)。
ETC1=(BAC-EV)/CPI=(51000+8000+2000-48000)/(48000/88000)=23833元。
ETC2=(BAC-EV)/CPI=(83000+10000+2000-83000)/(83000/86000)=12000/(83/86)=12434元。

(2)如果阶段评审后采取了有效的措施,项目仍按计划进展,请预测从阶段评审结束到软件集成开始这一期间模块1、模块2的ETC(完工尚需成本)(给出公式并计算结果)。
ETC1=(BAC-EV =(51000+8000+2000-48000) =13000元。
ETC2=(BAC-EV)=(83000+10000+2000-83000) =12000元。

【问题4】
1、 每个人日的成本设为1000元,不太符合国情。
2、 重开发,轻测试,人员安排不合理,测试人员数量与时间均太少。
3、 里程碑的位置不合理。
4、进度网络图需要优化,集成测试应在安装测试之前进行。


模块独立性是由内聚和耦合两个定性指标来度量的。回答下列问题:

1.什么是内聚?什么是耦合?

2.内聚分为哪几类?耦合分为哪几类?

3.什么是时间内聚?什么是公共耦合?


正确答案:1.内聚是从功能角度来度量模块内的联系一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。耦合是软件结构中各模块之间相互连接的一种度量耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。 2.内聚有如下的种类它们之间的内聚度由弱到强排列如下: (1)偶然内聚。模块中的代码无法定义其不同功能的调用但它使该模块能执行不同的功能这种模块称为巧合强度模块。 (2)逻辑内聚。这种模块把几种相关的功能组合在一起每次被调用时由传送给模块参数来确定该模块应完成哪一种功能。 (3)时间内聚。 (4)过程内聚。 (5)通信内聚。 (6)顺序内聚。 (7)功能内聚。 耦合可以分为以下几种它们之间的耦合度由高到低排列如下: (1)内容耦合。 (2)公共耦合。 (3)外部耦合。 (4)控制耦合。 (5)标记耦合。 (6)数据耦合。 (7)非直接耦合。 3.时间内聚。这种模块顺序完成一类相关功能比如初始化模块它顺序为变量置初值。如一组模块都访问同一全局数据结构则称之为公共耦合。
1.内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。 2.内聚有如下的种类,它们之间的内聚度由弱到强排列如下: (1)偶然内聚。模块中的代码无法定义其不同功能的调用,但它使该模块能执行不同的功能,这种模块称为巧合强度模块。 (2)逻辑内聚。这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能。 (3)时间内聚。 (4)过程内聚。 (5)通信内聚。 (6)顺序内聚。 (7)功能内聚。 耦合可以分为以下几种,它们之间的耦合度由高到低排列如下: (1)内容耦合。 (2)公共耦合。 (3)外部耦合。 (4)控制耦合。 (5)标记耦合。 (6)数据耦合。 (7)非直接耦合。 3.时间内聚。这种模块顺序完成一类相关功能,比如初始化模块,它顺序为变量置初值。如一组模块都访问同一全局数据结构,则称之为公共耦合。


某软件开发从详细设计到集成测试各阶段所需工作量估计(按软件工程师人月数估计)如表9-1所示,这几个阶段分配的软件工程师和程序员人数如表 9-2所示。假设编码与单元测试阶段,软件工程师的生产率是程序员的2倍。若在该项目的这几个阶段都增加一名软件工程师,则这几个阶段可以缩短(111)个月完成任务(假定各个开发阶段串行工作)。

A.1

B.2

C.3

D.4


正确答案:D
解析:因为试题已经假定各开发阶段串行工作,所以只要根据表9-1和表9-2,逐阶段计算就可以了。(1)详细设计需要6软件工程师人月,但只分配2名软件工程师,所以需要3个月。(2)编码与单元测试需要12软件工程师人月,但只分配2名软件工程师和2名程序员。因为在编码与单元测试阶段,软件工程师的生产率是程序员的2倍,即2名程序员相当于1名软件工程师,因此共需4个月。(3)集成测试需要12软件工程师人月,但只分配2名软件工程师,所以需要6个月。以上三个阶段合计13个月。若在该项目的这几个阶段都增加一名软件工程师,则(1)详细设计需要6软件工程师人月,分配3名软件工程师,所以需要2个月。(2)编码与单元测试需要12软件工程师人月,分配3名软件工程师和2名程序员。因为在编码与单元测试阶段,软件工程师的生产率是程序员的2倍,即2名程序员相当于1名软件工程师,因此共需3个月。(3)集成测试需要12软件工程师人月,分配3名软件工程师,所以需要4个月。以上合计9个月,即这几个阶段可以缩短4个月完成任务。


[文字开始]

什么时候进行软件项目的估计?一般我们认为,软件项目估计只在项目启动前工作,其实在整个软件开发和维护都有估计活动。当然,具体估计时间随着估计的方法和估计的对象不同会有区别。我们认为软件规模估计和软件规模度量不同,软件规模估计是在软件工作产品没有完成之前的估计,而度量活动应在软件工作产品完成之后进行。

[文字结束]


正确答案:略


北 京 科 技 大 学2013年硕士学位研究生入学考试试题=试题编号: 870 试题名称: 软件工程 (共 3 页)适用专业:计算机科学与技术、软件工程、计算机技术(专业学位) 软件工程(专业学位) 说明: 所有答案必须写在答题纸上,做在试题或草稿纸上无效。=一、概念解释(共35分,每小题5分)1、软件危机2、软件生命周期3、软件过程模型4、结构化程序设计5、黑盒测试与白盒测试6、信息隐蔽7、模块独立性二、简答题(共25分)1、(7分)什么是模块的内聚,举出3种内聚类型并就其内聚程度进行排序。2、(6分)简述软件测试和调试的区别。3、(6分)总体设计应考虑哪些问题?4、(6分)为什么要进行软件维护?三、计算题(共8分)某软件公司计划开发一个应用软件项目,根据经验估计该项目的程序长度大约10万条指令语句。如果平均每人每天可以完成100条,请估计:(1)开发这个项目将用多少工作日?(2)如果程序员月平均工资为6000元,每月20个工作日,软件项目的人工成本是多少?(3)项目需要硬件设备的支出约5万元,其他开支约5万元,那么人工成本所占总成本的比例是多少?四、设计题(共62分)1、(12分)使用逻辑覆盖测试方法测试以下程序段:Void DoWork ( int x, int y, int z)1 int k=0, j=0;2 if(x3)&(z5)8 j=x*y+10;9 j=j%3;10 说明:程序段中每行开头的数字(110)是对每条语句的编号。要求:(1)画出程序的控制流程图(用题中给出的语句编号表示);(2)分别以语句覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)2、(20分)给出几种良好的编程风格,并按照编程规范实现以下程序:从键盘输入100个整数,采用快速排序算法将这100个整数从小到大排序,并输出排序后的结果。要求:(1)写出至少5种好的程序编码风格;(2)画出快速排序算法的流程图;(3)程序要有适当的注释;(4)按软件工程的编程规范书写程序。3、(30分)一个小型图书资料管理系统的主要功能有:图书资料的借出、归还、查询和管理。该系统的用户有图书管理员和普通读者,普通读者要使用系统必须先进行注册。图书管理员负责添加、更新和修改、删除图书资料,登记和查询图书的借阅、归还情况。读者可以按照作者或主题检索图书资料,还可以预定图书资料,即当新购买或有读者归还时,系统立即通知读者来借阅。采用结构化方法对该系统进行分析和设计,要求给出以下结果:(1) 画出系统顶层数据流图DFD;(2) 对系统进行分解,画出系统第一层的DFD;(3) 进一步对一层DFD进行分解,画出系统第二层的DFD;(4) 写出读者信息和图书资料信息的数据字典;(5) 采用结构设计方法将DFD转换成软件结构图。五、论述题(共20分)试分析并说明面向对象分析阶段建立的三个模型及其之间的相互关系。3

某软件开发从详细设计到集成测试各阶段所需工作量估计(按软件工程师人月数估计)如表5-4所示,这几个阶段分配的软件工程师和程序员人数如表5-5所示。假设编码与单元测试阶段,软件工程师的生产率是程序员的2倍。若在该项目的这几个阶段都增加一名软件工程师,则这几个阶段可以缩短______个月完成任务(假定各个开发阶段串行工作)。

A.1

B.2

C.3

D.4


正确答案:D
解析:这是一道考查软件开发工作量估算的试题。由表5-4可知,编码与单元测试阶段所花费的时间大约是12个人月,即1名软件工程师需要12个月的时间才能完成。根据题目的假设:该阶段软件工程师的生产率是程序员的2倍,则1名程序员需要花费24个月才能完成。根据表5-4和表5-5给出的数据,可得到如表5-6所示的开发时间。若按照表5-5的人员配置总共需要13个月才能完成这3个阶段的工作。若在每个阶段都增加1名软件工程,则得到如表5-7所示的开发时间。此时只需9个月就可以完成这3个阶段的工作,因此可以将工作缩短13-9=4个月。


模块内聚度用于衡量模块内部各成分之间彼此结合的紧密程度。

1.一组语句在程序中多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚度是(48)的。

2.将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是(49)的。

3.模块中所有成分引用共同的数据,该模块的内聚度是(50)的。

4.模块内某成分的输出是另一些成分的输入,该模块的内聚度是(51)的。

5.模块中所有成分结合起来完成一项任务,该模块的内聚度是(52)的。它具有简明的外部界面,由它构成的软件易于理解、测试和维护。

A.功能性

B.顺序性

C.通信性

D.过程性

E.偶然性


正确答案:E


模块内聚度是用来衡量模块内部各个成分之间彼此结合的紧密程度的,模块的内聚度可以分为以下几个层次。

①一组语句在程序的多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚度是(1)的。

②将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是(2)的。

③模块中的所有成分引用共同的数据,该模块的内聚度是(3)的。

④模块内的某成分的输出是另一些成分的输入,该模块内聚度是(4)的。

⑤模块中所有成分结合起来完成一项任务,该模块的内聚度是(5)的。它具有简明的外部界面,由它构成的软件易于理解、测试和维护。

A.功能性

B.顺序性

C.通信性

D.过程性

E.偶然性


正确答案:E


某软件开发项目拆分成 3 个模块,项目组对每个模块的开发量(代码行)进行了估计(如下表),该软件项目的总体规模估算为()代码行序号 模块名称 最小值 最可能值 最大值 1 受理模块 1000 1500 2000 2 审批模块 5000 6000 8000 3 查询模块 2000 2500 4000

A.10333

B.10667

C.14000

D.10000


正确答案:A
解析:三点估算,然后再相加


试题三 论软件开发模型及应用

软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发过程包括需求、设计、编码和测试等阶段,有时也包括维护阶段。软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要任务和活动,用来作为软件项目工作的基础。对于不同的软件项目,针对应用需求、项目复杂程度、规模等不同要求,可以采用不同的开发模型,并采用相应的人员组织策略、管理方法、工具和环境。

请围绕“软件开发模型及应用”论题,依次从以下三个方面进行论述。 1.简要叙述你参与的软件开发项目以及你所承担的主要工作。 2.列举出几种典型的软件开发模型,并概要论述每种软件开发模型的主要思想和技术特点。 3.根据你所参与的项目中使用的软件开发模型,具体阐述使用方法和实施效果。


正确答案:1、用400-600字叙述作者参与开发与管理的软件项目,包括但不仅限于,项目时间,规模,周期,背景,系统的主要功能,所采用的相关技术等。
2、开发模型多种多样,常见的包括:
瀑布模型:严格遵循软件生命周期各阶段的固定顺序,一个阶段完成再进入另一个阶段。其优点是可以使过程比较规范化,有利于评审;缺点在于过于理想,缺乏灵活性,容易产生需求偏差。
快速原型模型:对于许多需求不够明确的项目,比较适合采用该模型。它采用了一种动态定义需求的方法,通过快速地建立一个能够反映用户主要需求的软件原型,让用户在计算机上使用它,了解其概要,再根据反馈的结果进行修改,因此能够充分体现用户的参与和决策。
演化模型:也是一种原型化开发,但与快速原型不同的是,快速原型模型在获得真实需求时,就将抛弃原型。而演化模型则不然,它将从初始的模型中逐渐演化为最终软件产品,是一种“渐进式”原型法。
增量模型:它采用的是一种“递增式”模型,它将软件产品划分成为一系列的增量构件,分别进行设计、编码、集成和测试。
螺旋模型:结合了瀑布模型和演化模型的优点,最主要的特点在于加入了风险分析。它是由制定计划、风险分析、实施工程、客户评估这一循环组成的,它最初从概念项目开始第一个螺旋。
喷泉模型:主要用于描述面向对象的开发过程,最核心的特点是迭代。所有的开发活动没有明显的边界,允许各种开发活动交叉进行。
统一过程(UP):统一过程是一个通用过程框架,可以用于种类广泛的软件系统、不同的应用领域、不同的组织类型、不同的性能水平和不同的项目规模。UP是基于构件的,在为软件系统建模时,UP使用的是UML。与其他软件过程相比,UP具有三个显著的特点,即用例驱动、以架构为中心、迭代和增量。
敏捷方法:敏捷方法是一种以人为核心、迭代、循序渐进的开发方法。在敏捷方法中,软件项目的构建被切分成多个子项目,各个子项目成果都经过测试,具备集成和可运行的特征。在敏捷方法中,从开发者的角度来看,主要的关注点有短平快的会议、小版本发布、较少的文档、合作为重、 客户直接参与、自动化测试、适应性计划调整和结对编程;从管理者的角度来看,主要的关注点有测试驱动开发、持续集成和重构。
3、结合项目实践说明作者在项目中所采用的开发模型,并阐述实施效果。

更多 “2013年硕士研究生入学考试初试专业课试题870 (2)” 相关考题
考题 阅读以下关于用例测试的叙述,在答题纸上回答问题1至问题3。【说明】某软件公司启动了一个中等规模的软件开发项目,其功能需求由5个用例描述。项目采用增量开发模型,每一次迭代完成1个用例;共产生5个连续的软件版本,每个版本都比上一个版本实现的功能多。每轮迭代都包含实现、测试、修正与集成4个活动,且前一个活动完成之后才能开始下一个活动。不同迭代之间的活动可以并行。例如,1个已经实现的用例在测试时,软件开发人员可以开始下一个用例的实现。实现和修正活动不能并行。每个活动所需的工作量估算如下:(1)实现1个用例所需的时间为10人天;(2)测试1个用例所需的时间为2人天;(3)修正1个用例所需的时间为1人天(平均估算);(4)集成1个用例所需的时间为0.5人天。项目开发过程中能够使用的资源包括:5名开发人员共同完成实现和修正工作、2名测试人员完成测试工作和1名集成人员完成集成工作。该项目的Gannt图(部分)如图1-1所示。【问题1】根据题目描述中给出的工作量计算方法,计算1个用例的实现,测试、修正、集成4个活动分别所需的日历时间(单位:天)【问题2】 (1)根据图1-1给出的项目Gannt图,估算出项目开发时间。(2)计算测试人员和集成人员在该项目中的平均工作时间(占项目总开发时间的百分比)。【问题3】 在项目实施过程中,需不断将实际进度与计划进度进行比较分析,进行项目进度计划的修正与调整,以保证项目工期。用300字以内文字,从活动和资源的角度,说明项目进度计划调整所涉及的内容。答案:解析:【问题1】答:(1) 实现1个用例所需的时间:2天。(2) 测试1个用例所需的时间:1天。(3) 修正1个用例所需的时间:0.5天。(4) 集成1个用例所需的时间:0.5天。【问题2】 答:在推算过程中要考虑到任务之间的并行关系:实现、测试与集成活动可以并行;实现与修正活动不能并行。由此推算出完成5个用例需要的时间为14天。(2)计算测试人员和集成人员在该项目中的平均工作时间(占项目总开发时间的百分比)。答:对于测试活动,每个用例需要1天时间,共5个用例,总时间为5天,因此测试人员的平均工作时间为:5*1/14=0.357(35.7%)对于集成活动,每个用例需要0.5天,共5个用例,总时间为2.5天,因此集成人员的平均工作时间为:5*0.5/14=0.179(17.9%)【问题3】 答:项目进度计划调整通常包含以下几种情况:(1) 关键活动的调整。对于关键路径,由于其中任一活动持续时间的缩短或延长都会对整个项目工期产生影响。(2) 非关键活动的调整。为了更充分地利用资源,降低成本.必要时可对非关键活动的时差做适当调整,但不得超出总时差,且每次调整均需进行时间参数计算,以观察每次调整对计划的影响。(3) 增减工作项。增加工作项,只对原遗漏或不具体的逻辑关系进行补充;减少工作项,只是对提前完成的工作项或原不应设置的工作项予以消除。(4) 资源调整。若资源供应发生异常时,应进行资源调整。

考题 某软件开发从详细设计到集成测试各阶段所需工作量估计(按软件工程师人月数估计)如表1所示,这几个阶段分配的软件工程师和程序员人数如表2所示。假设编码与单元测试阶段,软件工程师的生产率是程序员的2倍。若在该项目的这几个阶段都增加一名软件工程师,则这几个阶段可以缩短(20)个月完成任务(假定各个开发阶段串行工作)。A.1B.2C.3D.4正确答案:D解析:本题考查软件开发工作量的估算,一般采用完成软件开发任务所需的人月(或人年)数来表示。如表1所示,编码与单元测试阶段所花费的时间大约是12个人月,即1名软件工程师需要12个月的时间才能完成。根据题目的假设:该阶段软件工程师的生产率是程序员的2倍,则1名程序员需要花费24个月才能完成。 根据表1和表2给出的数据,可得到如下表所示的开发时间:则按照这种人员配置总共需要13个月才能完成这3个阶段的工作。若在每个阶段都增加 1名软件工程,则得到:此时只需9个月就可以完成工作,所以可以将工作缩短4个月。

考题 试题五(12 分)阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。[说明]某企业信息化项目,主要包括系统平台建设、网络系统建设和多个业务部门应用系统开发。某信息工程监理公司负责该项目的全过程监理。[问题 1](5 分)某子项目的建设情况如下:(1)项目计划选择软件 2 月 1 日到 3 月 1 日 计划 100,000 元选择硬件 2 月 15 日到 3 月 1 日 计划 80,000 元(2)进度报告3 月 1 日完成了硬件选择,软件选择工作完成了 80%(3)财务报告截止到 3 月 1 日,该项目支出了 170,000 元根据以上情况,请计算 BCWS、ACWP、BCWP、SV、CV,并对项目的状态做出评估结论。[问题 2](3 分)项目招标文件中的工期为 555 天,而所签项目承建合同中的工期为 586 天。请问项目工期应为多少天?为什么?[问题3](4 分)在某部门应用系统的开发过程中,为了保证质量,建设单位要求监理方对承建单位的单元测试进行重点监控。请列出单元测试的主要工作内容。正确答案:

考题 模块化软件开发就是一种分离关注点(Separation of Concerns)的手段,模块化应当遵循(30)的原则,提高模块的独立性。A.低内聚、低耦合B.高内聚、低耦合C.低内聚、高耦合D.高内聚、高耦合正确答案:B解析:设计一个复杂的软件系统需要考虑很多问题,每一个需要考虑的方面可以称之为一个关注点(Concern),良好的设计需要把这些关注点分门别类,划分为若干模块,让程序开发人员在处理一个关注点时可以尽可能少的被其他关注点的细节所干扰。模块化软件开发就是一种分离关注点(Separation of Concerns)的手段,模块化应当遵循高内聚、低耦合的原则,提高模块的独立性。

考题 模块内聚度是用来衡量模块内部各个成分之间彼此结合的紧密程度的,模块的内聚度可以分为以下几个层次。①一组语句在程序的多处出现,为了节省内存空间把这些语句放在一个模块中,该模块的内聚度是__(1)__的。②将几个逻辑上相似的成分放在一个模块中,该模块的内聚度是__(2)__的。③模块中的所有成分引用共同的数据,该模块的内聚度是__(3)__的。④模块内的某成分的输出是另一些成分的输入,该模块内聚度是__(4)__的。⑤模块中所有成分结合起来完成一项任务,该模块的内聚度是__(5)__的。它具有简明的外部界面,由它构成的软件易于理解、测试和维护。 空白(1)处应选择()A、功能性B、顺序性C、通信性D、过程性E、偶然性F、瞬时性G、逻辑性正确答案:E

考题 以下关于软件测试的叙述中,不正确的是 ( ) 。A.在集成测试中,软件开发人员应该避免测试自己开发的程序 B.软件测试工作应该在需求阶段就开始进行 C.如果软件测试完成后没有发现任何错误,那么应首先检查测试过程是否存在问题 D.如果项目时间比较充裕,测试的时间可以长一些;如果项目时间紧张,测试时间可以少一些答案:D解析:软件测试是软件开发中的一个重要的环节,是一种应该包括在整个开发和维护过程中的活动;参照V模型,需求分析阶段对应了验收测试,所以在需求分析阶段就要开始编写测试计划了。

考题 某公司是一家专门从事系统集成和应用软件开发的公司,公司目前有员工50多人,公司有销售部、软件开发部、系统网络部等业务部门,其中销售部主要负责进行公司服务和产品的销售工作,他们会将公司现有的产品推销给客户,同时也会根据客户的具体需要,承接应用软件的研发项目,然后将此项目移交给软件开发部,进行软件的研发工作。软件开发部共有开发人员18人,主要是进行软件产品的研发,及客户应用软件的开发。经过近半年的跟踪,今年元旦,销售部门与某银行签订了一个银行前置机软件系统的项目,合同规定,5月1日之前系统必须完成,并且进行试运行。在合同签定后,销售部门将此合同移交给了软件开发部进行项目实施。李建被指定为这个项目的项目经理。李建做过5年金融系统应用软件研发工作,有丰富的经验,可以作系统分析员,但作为项目经理还是第一次。项目组还有另外4名成员,1个系统分析员(含项目经理),2个有1年工作经验的程序员,1个技术专家(不太熟悉业务)。项目组的成员均全程参加项目。在被指定负责这个项目后,李建制定了项目的进度计划,简单描述如下: 1月10日~2月1日需求分析 2月1日~2月25日系统设计,包括概要设计和详细设计 2月26日~4月1日编码 4月2日~4月30日系统测试 5月1日试运行 但在2月17日,李建检查工作时发现详细设计刚刚开始,2月25日肯定完不成系统设计,李建有些慌了,他到5月1日能否完成这个项目呢?李建在进行项目规划方面存在的问题是什么?正确答案:李建在进行项目规划方面存在的问题是:项目计划的准确性和合理性;人员的安排问题;项目检查和监督的时效性。

考题 读下列说明,回答问题1至问题3。【说明】某软件公司计划45天完成一个电子商务网站的建设工作,任务的工作时间要求如下表所示,软件公司现在根据该时间要求进行分析并做项目准备工作。17、【问题1】若以St为起点,以Fin为终点,工作的编号、代号和持续时间描述为如下格式:请根据上述元素的结点画出该项目的网络图。 18、【问题2】请根据上表,计算每个工作的最早开始时间和最迟开始时间,计算结果填入下表。 19、【问题3】请从以下路径中选择出该项目的关键路径。A.0→1→2→4→5→6B.0→1→3→5→6C.0→1→3→4→5→6D.0→1→4→5→6答案:解析:17、18、19、C或(0→1→3→4→5→6) 【解析】 17、[解析] 单代号网络图是以结点及其编号表示工作,以箭线表示工作之间逻辑关系的网络图。在单代号网络图中加注工作的持续时间,以便形成单代号网络计划。单代号网络图中的每一个结点表示一项工作,结点可以用圆圈或矩形表示。结点所表示的工作名称、持续时间和工作代号等应标注在结点内。单代号网络图中的结点必须编号。编号标注在结点内,其号码可间断,但严禁重复。箭线的箭尾结点编号应小于箭头结点的编号。一项工作必须有唯一的一个结点及相应的一个编号。单代号网络图中的箭线表示紧邻工作之间的逻辑关系,既不占用时间、也不消耗资源。箭线应画成水平直线、折线或斜线。箭线水平投影的方向应自左向右,表示工作的行进方向。工作之间的逻辑关系包括工艺关系和组织关系,在网络图中均表现为工作之间的先后顺序。单代号网络图中,各条线路应用该线路上的结点编号从小到大依次表述。单代号网络图的绘图规则如下。(1)单代号网络图必须正确表达已定的逻辑关系。(2)单代号网络图中,严禁出现循环回路。(3)单代号网络图中,严禁出现双向箭头或无箭头的连线。(4)单代号网络图中,严禁出现没有箭尾结点的箭线和没有箭头结点的箭线。(5)绘制网络图时,箭线不宜交叉,当交叉不可避免时,可采用过桥法或指向法绘制。(6)单代号网络图中只应有一个起点结点和一个终点结点;当网络图中有多项起点结点或多项终点结点时,应在网络图的两端分别设置一项虚工作,作为该网络图的起点结点(St)和终点结点(Fin)。18、[解析] 单代号网络计划时间参数的计算应在确定各项工作的持续时间之后进行。(1)单代号网络计划中各项工作的最早开始时间和最早完成时间的计算应从网络计划的起点结点开始,顺着箭线方向逐项计算。最早开始时间和最早完成时间计算方法如下。①网络计划的起点结点的最早开始时间为零。②工作的最早完成时间等于该工作的最早开始时间加上其持续时间。③工作的最早开始时间等于该工作的各个紧前工作的最早完成时间的最大值。(2)单代号网络计划中各项工作的最迟开始时间和最迟完成时间的计算应以项目规定或计算的工期为基准,从网络计划的终止结点,逆着箭线方向逐项计算,本题中项目规定或计算的工期为45天。最迟开始时间和最迟完成时间计算方法如下。①某工作的总时差应从网络计划的终点结点开始,逆着箭线方向逐项计算,本题中终点Fin的总时差为45天。其他工作的总时差等于该工作的各个紧后工作的总时差加上该工作与其紧后工作之间的时间间隔之和的最小值。②某工作的最迟开始时间等于该工作的最早开始时间加上其总时差之和。③某工作的最迟完成时间等于该工作的最早完成时间加上其总时差之和。19、[解析] 将总时差最小的工作称为关键工作,关键路径是指从起点结点开始到终点结点均为关键工作,且所有工作的时间间隔均为零。

考题 下列关于模块的描述,正确的是()A、具有独立的模块软件比较容易开发出来B、独立的模块比较容易测试和维护C、模块的独立程度可以通过内聚和耦合标定D、独立的模块可以完成一个相对独立的特定子功能正确答案:A,B,C,D

考题 试题一(25 分)阅读下列关于程序测试计划的叙述,在答题纸上回答问题 1 至问题 4。某程序 P包括 A~H八个模块,其结构如图 1-1 所示,其中模块 D与 G需要调用公共模块 E。现计划采用自顶向下方法执行程序 P的测试项目,该项目包括多个作业。设作业 A的任务是对模块 A 进行测试,作业 B 的任务是对模块 B 进行测试,...,依次类推。作业 P的任务是对程序 P进行整体测试。表 1-1 列出了该项目各作业计划所需的天数、至少必须的天数 (即再增大花费也不能缩短的天数) 以及每缩短 1 天测试所需增加的费用:图 1-2 是尚未完成的该项目计划图,其中,每条箭线表示一个测试作业,箭线上标注的字母表示作业名,数字表示计划测试天数。【问题 1】 (6 分)请通过填补箭线完成图 1-2 所示的该项目计划图。若为虚作业,请画成虚箭线;若为实箭线,请在箭线上注明作业名以及计划测试天数。【问题 2】 (4 分)完成该测试项目计划需要多少天?【问题 3】 (9 分)(1)如果要求该测试项目比原计划提前 1 天完成,则至少应增加多少费用,应将哪些测试作业缩短 1 天?(2)如果要求该测试项目在(1)的基础上再提前 1 天完成,则至少应再增加多少费用,应再将哪些测试作业缩短 1 天?【问题 4】 (6 分)假设该测试项目已按原计划部署,到了第 7 天末,发现模块 A 与 B 已按计划测试完成,但模块 F却刚测试完,比原计划延迟了 2 天。为了保证该项目仍能在原计划总天数内完成,则至少应增加多少费用,应缩短哪些作业多少天?正确答案: