1、精品文档就在这里-各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有-2. 如果一个程序有两个输入数据,每个输入都是一个32位的二进制整数,那么这个程序有多少个可能的输入?如果每微秒可进行一次测试,那么对所有可能的输入进行测试需要多长时间?答:每个32位的二进制整数具有232个可能的值,因此,具有两个整数输入的程序应该具有264个可能的输入。每微秒可进行一次测试,即每秒可进行106个测试,因此,每天可进行的测试数为:606024106=8.641010 这等于每年大约可进行3.1391013个测试。因为210=1024103,所以264=(210)6.41019.2。,所以
2、做完全部测试将至少需要105年(即10万年)。4设计下列伪码程序的语句覆盖和路径覆盖测试用例:STARTINPUT(A,B,C)IF A5 THEN X=10 ELSE X=1END IFIF B10 THEN Y=20 ELSE Y=2END IFIF C15 THEN Z=30 ELSE Z=3END IF PRINT(X,Y,Z)STOP答:(1) 语句覆盖的测试用例因为每个判定表达式为真或为假时均有赋值语句,为了使每个语句都至少执行一次,总共需要两组测试数据,以便使得每个判定表达式取值为真或为假各一次。下面是实现语句覆盖的典型测试用例: 使3 个判定表达式之值全为假输入:A=1,B=1
3、,C=1预期的输出:X=1,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. 使用基本路径测试方法,设计测试下面列出的伪码程序的测试用例: 1: START INPUT(A,B,C,D) 2: IF
5、(A0) 3: AND(B0) 4: THEN X=A+B 5: ELSE X=A-B 6: END 7: IF(CA) 8: OR(DB) 9: THEN Y=C-D 10: ELSE Y=C+D 11: END 12: PRINT(X,Y) STOP答:用基本路径测试方法设计测试用例的过程,有下述4个步骤:(1) 根据过程设计的结果画出流图 与本题给出的伪码程序相对应的流图如图4.1所示。 图4.1 与第6 题伪码程序对应的流图(2)计算流图的环形复杂度使用下述3 种方法中的任一种都可以算出图4.1所示流图的环形复杂度为5。 该流图共有15条边,12个结点,所以环形复杂度为 15-12+2
6、=5 该流图共有5个区域,因此环形复杂度为5。 该流图中共有4个判定结点,因此环形复杂度为 4+1=5(3)确定线性独立的路径的基本集合 所谓线性独立路径是指至少引入程序的一个新语句集合或一个新条件的路径,用流图术语来描述,独立路径至少包含一条在定义该路径之前不曾用过的边。使用基本路径测试法设计测试用例时,程序的环形复杂度决定了程序中独立路径的数量,而且这个数值是确保程序中所有语句至少被执行一次所需的测试数量的上界。对于图4.1 所示流图来说,由于它的环形复杂度为5,因此共有5长独立路径。下面列出了5条独立路径:路径1:12346791112路径2:1256791112路径3:12356791
7、112路径4: 123467891112路径5:1234678101112 (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=0,C=2,D=2(任意) 预期的输出: X=1,Y=2 执行路径4(两个判定表达式全为真) 输入:A=1,B=1,C=0,D=-1 预期的输出: X=2
8、,Y=1 执行路径5 (第一个判定表达式为假,第二个判定表达式为真) 输入:A=1,B=1,C=0,D=2(任意) 预期的输出: X=2,Y=2第十章习题1下面叙述对一个计算机辅助设计(CAD)软件的需求:该CAD软件接受由工程师提供的二维或三维几何图形数据。工程师通过用户界面与CAD系统交互并控制它,该用户界面应该表现出良好的人机界面设计特征。几何图形数据及其他支持信息都保存在一个CAD数据库中。开发必要的分析、设计模块,以产生所需要的设计结果,这些输出将显示在各种不同的图形设备上。应该适当地设计软件,以便与外部设备交互并控制它们。所用的外部设备包括鼠标、数字化扫描仪和激光打印机。要求:(1
9、)进一步精化上述要求,把CAD软件的功能分解成若干个子功能;(2)用代码行技术估算每个子功能的规模;(3)用功能点技术估算每个子功能的规模;(4)从历史数据得知,开发这类系统的平均生产率是620LOC/PM,如果软件工程师的平均月工资是8000元,请估算开发本系统的工作量和成本。(5)如果从历史数据得知,开发这类系统的平均生产率是6.5FP/PM,请估算开发本系统的工作量和成本。答:(1)习题中仅对需求做出了粗略描述,每项都都应该进一步扩展,以提供细节需求和定量约束。例如,在开始估算软件规模之前,需要确定“良好的人机界面设计特征”的具体含义,以及对“CAD数据库”的规模和复杂度的具体需求。经过
10、对需求的进一步精化,分解出软件的下述7 个主要的子功能: 用户界面及控制机制; 二维几何图形分析; 三维几何图形分析; 数据库管理; 计算机图形显示机制; 外部设备控制; 设计分析模块。(2)为了用代码行技术估算软件规模,应该针对每个子功能都分别估计出下述3 个值:乐观值(即最小规模a),悲观值(即最大规模b)和可能值(即最可能规模m)。分别算出这3种规模的平均值,然后用下式的加权平均法计算每个子功能规模,结果示于表10.4 表10.4 代码行技术的估算表功能乐观值可能值悲观值估计值用户界面及控制机制二维几何图形分析三维几何图形分析数据库管理计算机图形显示机制外部设备控制设计分析模块估算出的总
11、代码行数1500380046001850310014006200220054006900320049002150850035006400860054507000260010200230053006800335049502100840033200(3)使用功能点技术估算软件规模时,对软件的分解是基于信息域特性而不是基于软件功能。表10.5给出了对5个信息域特征的估计值。为了计算未调整的功能点数,假设每个信息域都是平均级的。接下来估计14个技术复杂性因素的值,并且计算DI的值,表10.6 列出了得到的结果。表10.5 估算调整的功能点数功能乐观值可能值悲观值估计值特性系数UFP数输入数输出数查询数
12、文件数外部接口数总计数值20121642241522423022285324162424541079680884014318表10.6 估算复杂性因素因 素估计值因 素估计值数据通信 分布式数据处理 性能标准 高负荷硬件 高处理率 联机数据输入 终端用户效率 联机更新20424443 复杂的计算 可重用性安装方便操作方便可移植性可维护性DI54345549然后用下式计算技术复杂性因子: TCF0.650.01DI 1.14最后计算功能点数 FPUFPTCP 311.14 363(4)用代码行估算,开发本系统的工件量为33200/62054(人月)开发本系统的成本为 800054432000(元
13、)(5) 用功能点技术估算,开发本系统的工作量为 363/6.556(人月)开发本系统的成本为 800056448000(元) 2计算下述的牙科诊所预约系统的未调整功能点数;王大夫在小镇上开了一家牙科诊所。他有一个牙科助手、一个牙科保健员和一个接待员。王大夫需要一个软件系统来管理预约。当病人打电话预约时,接待员将查阅预约登记表,如果病人申请的就诊时间与已定下的预约时间冲突,则接待员建议一个就诊时间以安排病人尽早得到诊治。如果病人同意建议的就诊时间,接待员将输入约定时间和病人的名字。系统将核实病人的名字并提供记录的病人数据,数据包括病人的病历号等。在每次治疗或清洗后,助手或保健员将标记相应的预约
14、诊治已经完成,如果必要的话会安排病人下一次再来。系统能够按病人姓名和按日期进行查询,能够显示记录的病人数据和预约信息。接待员可以取消预约,可以打印出前两天预约尚未接诊的病人清单。系统可以从病人记录中获知病人的电话号码。接待员还可以打印出关于所有病人的每天和每周的工作安排。答:输入数据有“病人名”、“预约时间”、“完成的预约”和“取消预约”,其中前3项链的复杂级别为“简单”,第4项的复杂度级别为“平均”。输出数据有“病情说明”(简单复杂度)、“预约登记表”、“支持细节”、“预约信息”、“未就诊病人清单”(以上4 项复杂度级别为“平均”)、“日安排”和“周安排”(以上2项复杂度级别为“复杂”)。查
15、询有“按名字查询”、“按日期查询”(这2项复杂度为“简单”)、“核实病人”、“查看预约登记表”和“查看完成的预约”(以上3项的复杂度为“平均”)。文件有“病人记录”,其复杂度为“平均”级别。本系统无外部接口。最后,用下式计算未调整的功能点数 UFP33141445272334110 799假设你被指定为项目负责人,你的任务是开发一个应用系统,该系统类似于你的小组以前做过的那些系统,只不过规模更大且更复杂一些。客户已经写出了完整的需求文档。你将选用哪种项目组结构?为什么?你打算采用哪种软件过程模型?为什么?答:由于待开发的应用系统类似于以前做过的系统,开发人员已经积累了较丰富的经验,没有多少技术
16、难题需要攻克。为了减少通信开销,充分发挥技术骨干的作用,统一意志统一行动,提高生产率,加快开发进度,项目组的组织结构以基于主程序员组的形式为宜。针对待开发的系统,客户已经写出了完整的需求文档,项目组又有开发类似系统的经验,因此,可以采用广大软件工程师熟悉的瀑布模型来开发本系统。10一个程序能既正确又不可靠吗?请解释你的答案。答:所谓软件可靠性,是程序在给定的时间间隔内按照规格说明书的规定成功地运行的概率。通常认为,软件可靠性既包含正确性又包含健壮性,也就是说,不仅在预定环境下程序应该能正确地完成预期功能,而且在硬件发生故障、输入的数据无效或用户操作错误等意外环境下,程序也应该能做出适当的响应。
17、如果一个程序在预定环境下能够正确地完成预期的功能,但是在意外环境下不能做出适当的响应,则该程序就是既正确又不可靠。11为什么在开发软件的过程中变化既是必要的又是不可避免的?为什么必须进行配置管理?答:在开发软件开发的过程中,下述原因会导致软件配置项发生变化;新的市场条件导致产品需求或业务规则发生变化。客户提出了新需求,要求修改信息系统产生的数据或产品提供的功能。企业改组或业务缩减,引起项目优先级或软件工程队伍结构变化。预算或进度限制,导致对目标系统的重新定义。发现了在软件开发过程的前期阶段所犯的错误,必须加以改正。但是,变化也很容易失去控制,如果不能适当地管理和管制变化,必然会造成混乱并产生许
18、多严重的错误。软件配置管理就是在软件的整个生命期内管理和控制变化的一组活动。可以把软件配置管理看作是应用于整个软件过程的软件质量保证活动,是专门用来管理和控制变化的软件质量保证活动。软件配置管理的目标是:使变化更正确且更容易被适应,在必须变化时减少为此而花费的工作量。从上面的叙述可以知道,软件配置管理是十分必要的。12CMM的基本思想是什么?为什么要把能力成熟度划分成5 个等级?答:CMM的基本思想是,由于软件危机是因我们对软件过程管理不善而引起的,所以新软件技术的运用并不会自动提高软件的生产率和质量,提高软件生产率和软件质量的关键,是改进对软件过程的管理。能力成熟度模型有助于软件开发机构建立
19、一个有规律的、成熟的软件过程。对软件过程的改进不可能一蹴而就,只能是在完成一个又一个小的改进步骤基础上不断进行的渐进过程。因此,CMM把软件过程从无序到有序的进化过程分成5 个阶段,并把这些阶段排序,形成5 个成熟度等级定义了一个有序的尺度,用以测量软件机构的软件过程成熟度和评价其软件过程成熟度和评价其软件过程能力,这些等级还能帮助软件机构识别出其现有的软件过程的缺陷,指出应该做哪些改进,并且帮助他们把应做的改进工作排出优先次序。成熟度等级是妥善定义的向成熟软件机构前进途中的平台,每个成熟度等级都为软件过程的继续改进提供了一个台阶。例:要开发一个计算机辅助设计软件,该CAD软件的需求如下:该C
20、AD软件接受由工程师提供的二维或三维几何图形数据。工程师通过用户界面与CAD系统交互并控制它,该用户界面应该表现出良好的人机界面设计特征。几何图形数据及其他支持信息都保存在一个CAD数据库中。开发必要的分析、设计模块,以产生所需要的设计结果,这些输出将显示在各种不同的图形设备上。应该适当地设计软件,以便与外部设备交互并控制它们。所用的外部设备包括鼠标、数字化扫描仪和激光打印机。要求:(1) 进一步精化上述要求,把CAD软件的功能分解成若干个子功能;(2) 用代码行技术估算每个子功能的规模;(3) 用功能点技术估算每个子功能的规模;(4) 从历史数据得知,开发这类系统的平均生产率是620LOC/
21、PM,如果软件工程师的平均月工资是8000元,请估算开发本系统的工作量和成本。(5) 如果从历史数据得知,开发这类系统的平均生产率是6.5FP/PM,请估算开发本系统的工作量和成本。解析:(1)在需求描述中对需求描述比较粗略,每项都应该进一步扩展,以提供细节需求和定量约束。例如,在开始估算软件规模之前,需要确定“良好的人机界面设计特征”的具体含义,以及对“CAD数据库”的规模和复杂度的具体需求。经过对需求的进一步精化,分解出软件的下述7 个主要的子功能:l 用户界面及控制机制;l 二维几何图形分析;l 三维几何图形分析;l 数据库管理;l 计算机图形显示机制;l 外部设备控制;l 设计分析模块
22、。(2) 为了用代码行技术估算软件规模,应该针对每个子功能都分别估计出下述3 个值:乐观值(即最小规模a),悲观值(即最大规模b)和可能值(即最可能规模m)。分别算出这3种规模的平均值,然后用下式的加权平均法计算每个子功能规模,结果如表9-5所示。表9- 1 代码行技术的估算表功能乐观值可能值悲观值估计值用户界面及控制机制二维几何图形分析三维几何图形分析数据库管理计算机图形显示机制外部设备控制设计分析模块估算出的总代码行数150038004600185031001400620022005400690032004900215085003500640086005450700026001020023
23、0053006800335049502100840033200(3) 使用功能点技术估算软件规模时,对软件的分解是基于信息域特性而不是基于软件功能。表9-6给出了对5个信息域特征的估计值。为了计算未调整的功能点数,假设每个信息域都是平均级的。接下来估计14个技术复杂性因素的值,并且计算DI的值,表9-7列出了得到的结果。表9- 2 估算调整的功能点数功能乐观值可能值悲观值估计值特性系数UFP数输入数输出数查询数文件数外部接口数总计数值20121642241522423022285324162424541079680884014318表9- 3 估算复杂性因素因 素估计值因 素估计值数据通信 分
24、布式数据处理 性能标准 高负荷硬件 高处理率 联机数据输入 终端用户效率 联机更新20424443 复杂的计算 可重用性安装方便操作方便可移植性可维护性DI54345549然后用下式计算技术复杂性因子:TCF0.650.01DI1.14最后计算功能点数FPUFPTCP311.14363(4) 用代码行估算,开发本系统的工件量为33200/62054(人月)开发本系统的成本为800054432000(元)(5) 用功能点技术估算,开发本系统的工作量为363/6.556(人月)开发本系统的成本为800056448000(元) 3、通过活动,使学生养成博览群书的好习惯。B比率分析法和比较分析法不能测
25、算出各因素的影响程度。C采用约当产量比例法,分配原材料费用与分配加工费用所用的完工率都是一致的。C采用直接分配法分配辅助生产费用时,应考虑各辅助生产车间之间相互提供产品或劳务的情况。错 C产品的实际生产成本包括废品损失和停工损失。C成本报表是对外报告的会计报表。C成本分析的首要程序是发现问题、分析原因。C成本会计的对象是指成本核算。C成本计算的辅助方法一般应与基本方法结合使用而不单独使用。C成本计算方法中的最基本的方法是分步法。XD当车间生产多种产品时,“废品损失”、“停工损失”的借方余额,月末均直接记入该产品的产品成本 中。D定额法是为了简化成本计算而采用的一种成本计算方法。F“废品损失”账
26、户月末没有余额。F废品损失是指在生产过程中发现和入库后发现的不可修复废品的生产成本和可修复废品的修复费用。F分步法的一个重要特点是各步骤之间要进行成本结转。()G各月末在产品数量变化不大的产品,可不计算月末在产品成本。错G工资费用就是成本项目。()G归集在基本生产车间的制造费用最后均应分配计入产品成本中。对J计算计时工资费用,应以考勤记录中的工作时间记录为依据。()J简化的分批法就是不计算在产品成本的分批法。()J简化分批法是不分批计算在产品成本的方法。对 J加班加点工资既可能是直接计人费用,又可能是间接计人费用。J接生产工艺过程的特点,工业企业的生产可分为大量生产、成批生产和单件生产三种,X
27、K可修复废品是指技术上可以修复使用的废品。错K可修复废品是指经过修理可以使用,而不管修复费用在经济上是否合算的废品。P品种法只适用于大量大批的单步骤生产的企业。Q企业的制造费用一定要通过“制造费用”科目核算。Q企业职工的医药费、医务部门、职工浴室等部门职工的工资,均应通过“应付工资”科目核算。 S生产车间耗用的材料,全部计入“直接材料”成本项目。 S适应生产特点和管理要求,采用适当的成本计算方法,是成本核算的基础工作。()W完工产品费用等于月初在产品费用加本月生产费用减月末在产品费用。对Y“预提费用”可能出现借方余额,其性质属于资产,实际上是待摊费用。对 Y引起资产和负债同时减少的支出是费用性
28、支出。XY以应付票据去偿付购买材料的费用,是成本性支出。XY原材料分工序一次投入与原材料在每道工序陆续投入,其完工率的计算方法是完全一致的。Y运用连环替代法进行分析,即使随意改变各构成因素的替换顺序,各因素的影响结果加总后仍等于指标的总差异,因此更换各因索替换顺序,不会影响分析的结果。()Z在产品品种规格繁多的情况下,应该采用分类法计算产品成本。对Z直接生产费用就是直接计人费用。XZ逐步结转分步法也称为计列半成品分步法。A按年度计划分配率分配制造费用,“制造费用”账户月末(可能有月末余额/可能有借方余额/可能有贷方余额/可能无月末余额)。A按年度计划分配率分配制造费用的方法适用于(季节性生产企业)-精品 文档-