软件工程项目管理习题解答

上传人:s9****2 文档编号:558468805 上传时间:2023-12-12 格式:DOC 页数:12 大小:154KB
返回 下载 相关 举报
软件工程项目管理习题解答_第1页
第1页 / 共12页
软件工程项目管理习题解答_第2页
第2页 / 共12页
软件工程项目管理习题解答_第3页
第3页 / 共12页
软件工程项目管理习题解答_第4页
第4页 / 共12页
软件工程项目管理习题解答_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《软件工程项目管理习题解答》由会员分享,可在线阅读,更多相关《软件工程项目管理习题解答(12页珍藏版)》请在金锄头文库上搜索。

1、2.如果一个程序有两个输入数据,每个输入都是一个32位的二进制整数,那么这个程序有多少个可能的输入?如果每微秒可进行一次测试,那么对所有可能的输入进行测试需要多长时间?答:每个32位的二进制整数具有232个可能的值,因此,具有两个整数输入的程序应该具有264个可能的输入。每微秒可进行一次测试,即每秒可进行106个测试,因此,每天可进行的测试数为:60 X 60 X 24X 106=8.64 X 1010这等于每年大约可进行 3.139 X 1013个测试。因为 210=1024 103,所以 264=(210)6.4 疋 1019.2。19.2 页105,所以做完全部测试将至少需要105年(即

2、10万年)。3.139 104 设计下列伪码程序的语句覆盖和路径覆盖测试用例:STARTINPUT(A,B,C)IF A5THEN X=10ELSE X=1END IFIF B10THEN Y=20ELSE Y=2END IFIF C15THEN Z=30ELSE Z=3END IFPRINT(X,Y,Z)STOP答:(1)语句覆盖的测试用例因为每个判定表达式为真或为假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或为假各一次。下面是实现语句覆盖的典型测试用例: 使3个判定表达式之值全为假输入:A=1, B=1, C=1预期的输出:X=1,

3、Y=2, Z=3 使3个判定表达式之值全为真输入:A=20, B=40, C=60预期的输出:X=10, Y=20, Z=30(2) 路径覆盖的测试用例本程序共有8条可能的执行通路,为做到路径覆盖总共需要8组测试数据。下面是实现路径覆盖的典型测试用例: 3 个判定表达式之值全为假 输入: A=1, B=1, C=1 预期的输出: X=1, Y=2,Z=3 3 个判定表达式依次为假、假、真 输入: A=1, B=1, C=60 预期的输出: X=1, Y=2,Z=30 3 个判定表达式依次为假、真、假 输入: A=1,B=40, C=1 预期的输出: X=1, Y=20,Z=3 3 个判定表达式

4、依次为假、真、真 输入: A=1,B=40, C=60 预期的输出: X=1, Y=20,Z=30 3 个判定表达式依次为真、假、假 输入: A=20, B=1, C=1 预期的输出: X=10, Y=2, Z=3 3 个判定表达式依次为真、假、真 输入: A=20, B=1, C=60 预期的输出: X=10, Y=2, Z=30 3 个判定表达式依次为真、真、假 输入: A=20, B=40,C=1 预期的输出: X=10, Y=20, Z=3 3 个判定表达式全为真 输入: A=20, B=40,C=60 预期的输出: X=10, Y=20, Z=306. 使用基本路径测试方法 , 设计

5、测试下面列出的伪码程序的测试用例1:STARTINPUT(A,B,C,D)2:IF(A0)3:AND(B0)4:THEN X=A+B5:ELSE X=A-B6:END7:IF(CA)8:OR(DB)9:THEN Y=C-D10:ELSE Y=C+D11:END12:PRINT(X,Y)STOP答:用基本路径测试方法设计测试用例的过程,有下述 4 个步骤:(1) 根据过程设计的结果画出流图与本题给出的伪码程序相对应的流图如图 4.1 所示。7.9810 .1112O图4.1与第6题伪码程序对应的流图(2)计算流图的环形复杂度使用下述3种方法中的任一种都可以算出图4.1所示流图的环形复杂度为5。

6、该流图共有15条边,12个结点,所以环形复杂度为15-12+2=5 该流图共有5个区域,因此环形复杂度为5。 该流图中共有4个判定结点,因此环形复杂度为4+1=5(3)确定线性独立的路径的基本集合所谓线性独立路径是指至少引入程序的一个新语句集合或一个新条件的路径,用流图 术语来描述,独立路径至少包含一条在定义该路径之前不曾用过的边。使用基本路径测试法设计测试用例时,程序的环形复杂度决定了程序中独立路径的数 量,而且这个数值是确保程序中所有语句至少被执行一次所需的测试数量的上界。对于图4.1所示流图来说,由于它的环形复杂度为5,因此共有5长独立路径。下面列出了 5条独立路径:路径 1: 1 2

7、34 6 79 11 12路径 2: 1 2 56 7 9 11 12路径 3: 1 2 35 6 79 11 12路径 4: 1 2 34 6 78 911 12 路径 5: 1 2 34 6 78 1011 12(4 )设计可强制执行基本路径的测试用例 执行路径1 (两个判定表达式全为真)输入:A=1, B=1, C=2, D=2 (任意) 预期的输出:X=2,Y=0 执行路径2 (第一个判定表达式为假,第二个判定表达式为真) 输入:A=0, B=1, C=2, D=0 (任意)预期的输出:X=-1 , Y=2 执行路径3 (第一个判定表达式为假,第二个判定表达式为真)输入:A=1, B=

8、0, C=2, D=2 (任意)预期的输出:X=1,Y=2 执行路径4 (两个判定表达式全为真)输入:A=1,B=1, C=0, D=-1预期的输出:X=2,Y=1 执行路径5 (第一个判定表达式为假,第二个判定表达式为真)输入:A=1, B=1, C=0, D=2 (任意)预期的输出:X=2,Y=2第十章习题1 .下面叙述对一个计算机辅助设计(CAD软件的需求:该CAD软件接受由工程师提供的二维或三维几何图形数据。工程师通过用户界面与 CAD系统交互并控制它,该用户界面应该表现出良好的人机界面设计特征。几何图形数据及其他支持信息都保存在一个 CAD数据库中。开发必要的分析、设计模块,以产生所

9、需要的设计结 果,这些输出将显示在各种不同的图形设备上。应该适当地设计软件,以便与外部设备交互并控制它们。所用的外部设备包括鼠标、数字化扫描仪和激光打印机。要求:(1) 进一步精化上述要求,把 CAD软件的功能分解成若干个子功能;(2)用代码行技术估算每个子功能的规模;(3)用功能点技术估算每个子功能的规模;(4) 从历史数据得知,开发这类系统的平均生产率是620LOC/PM如果软件工程师的 平均月工资是8000元,请估算开发本系统的工作量和成本。(5) 如果从历史数据得知,开发这类系统的平均生产率是6.5FP/PM,请估算开发本 系统的工作量和成本。答:(1)习题中仅对需求做出了粗略描述,每

10、项都都应该进一步扩展,以提供细节需求 和定量约束。例如,在开始估算软件规模之前,需要确定“良好的人机界面设计特征”的具 体含义,以及对“ CAD数据库”的规模和复杂度的具体需求。经过对需求的进一步精化,分解出软件的下述7个主要的子功能:?用户界面及控制机制;?二维几何图形分析;? 三维几何图形分析;?数据库管理;?计算机图形显示机制;?外部设备控制;?设计分析模块。(2) 为了用代码行技术估算软件规模,应该针对每个子功能都分别估计出下述3个 值:乐观值(即最小规模 a),悲观值(即最大规模 b)和可能值(即最可能规模 m) 分别算出这3种规模的平均值,然后用下式的加权平均法计算每个子功能规模,

11、结果示于表10.4a 4m b6表10.4代码行技术的估算表功能乐观值可能值悲观值估计值用户界面及控制机制1500220035002300二维几何图形分析3800540064005300三维几何图形分析4600690086006800数据库管理1850320054503350计算机图形显示机制3100490070004950外部设备控制1400215026002100设计分析模块62008500102008400估算岀的总代码行数33200(3)使用功能点技术估算软件规模时,对软件的分解是基于信息域特性而不是基于软件功能。表10.5给出了对5个信息域特征的估计值。为了计算未调整的功能点数,假设

12、每个 信息域都是平均级的。接下来估计14个技术复杂性因素的值,并且计算DI的值,表10.6列出了得到的结果。表10.5估算调整的功能点数功能乐观值可能值悲观值估计值特性系数UFP数输入数20243024496输出数12152216580查询数1622282488文件数44541040外部接口数 总计数值2232714318表10.6估算复杂性因素因素估计值因素估计值数据通信2复杂的计算5分布式数据处理0可重用性4性能标准4安装方便3高负荷硬件2操作方便4高处理率4可移植性5联机数据输入4可维护性5终端用户效率4DI49联机更新3然后用下式计算技术复杂性因子:TCF = 0.65+ 0.01 D

13、I=1.14最后计算功能点数FP = UFPXTCP=31.14=363(4) 用代码行估算,开发本系统的工件量为E= 33200/620沁54(人月)开发本系统的成本为8000X54= 432000 (元)(5)用功能点技术估算,开发本系统的工作量为E= 363/6.5 56(人月)开发本系统的成本为8000X56= 448000(元)2计算下述的牙科诊所预约系统的未调整功能点数; 王大夫在小镇上开了一家牙科诊所。他有一个牙科助手、一个牙科保健员和一个接待 员。王大夫需要一个软件系统来管理预约。当病人打电话预约时,接待员将查阅预约登记表,如果病人申请的就诊时间与已定下 的预约时间冲突, 则接

14、待员建议一个就诊时间以安排病人尽早得到诊治。 如果病人同意建议 的就诊时间, 接待员将输入约定时间和病人的名字。 系统将核实病人的名字并提供记录的病 人数据, 数据包括病人的病历号等。 在每次治疗或清洗后, 助手或保健员将标记相应的预约 诊治已经完成,如果必要的话会安排病人下一次再来。系统能够按病人姓名和按日期进行查询,能够显示记录的病人数据和预约信息。接待 员可以取消预约, 可以打印出前两天预约尚未接诊的病人清单。 系统可以从病人记录中获知 病人的电话号码。接待员还可以打印出关于所有病人的每天和每周的工作安排。答:输入数据有“病人名”、 “预约时间” 、“完成的预约”和“取消预约” ,其中前 3 项链的复杂级别为“简单” ,第 4 项的复杂度级别为“平均” 。输出数据有“病情说明” (简单复杂度) 、“预约登记表” 、“支

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号