1、软件工程总复习题及答案复习题填空题1. 在信息处理和计算机领域内,一般认为软件是 _程序_、_文档_ 和_数据_ 。2. 数据流图的基本组成部分有 _数据的源点与终点_、 数据流_、 加工_、 数据文件_。3. 数据流图和数据字典共同构成了系统的 _逻辑_模型,是需求规格说明书的主要组成部分。4. 划分模块时尽量做到_高内聚、低耦合_,保持模块的独立性,尽量使用公共模块。 5. 类的实例化是_对象_。 6. 人们常用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件可7. 靠性的两个指标是_成功地运行的概率_和_平均故障时间_。 8. 将待开发的软件细化,分别估算每一个子任务所
2、需要的开发工作量,然后将它们加起来,9. 将得到软件的总开发量。这种成本估算方法称为_自底向上_。 10. 如果一个模块被 n 个模块调用,其中直接的上级模块的个数是 m 个( m1,B=0A=2,B=0执行S1A1,B0或A1,B=0或A1,B0A=2,B=1或A=1,B=0或A=1,B=1执行S2条件覆盖以下四种情况各出现一次A1B=0A=2,B=0执行S1A1B0A=1,B=1执行S2条件组合覆盖A1,B=0A=2,B=0执行S1A1,B0A=2,B=1执行S2A1,B=0A=1,B=0执行S2A1,B0A=1,B=1执行S228.某城市电话号码由三部分组成。它们的名称和内容分别是: 地
3、区码:空白或三位数字; 前 缀:非0或1的三位数字; 后 缀:4位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该程序的规格说明,作等价类的划分,并设计测试方案。 划分等价类输入条件有效等价类无效等价类地区码1.空白;2.三位数;1. 有非数字字符;2.少于三位数字;3.多于三位数字。前 缀3.从200到999之间的三位4.有非数字字符;5.起始位为0;6.起始位为1; 7.少于三位数字;8.多于三位数字。后 缀4.四位数字。9.有非数字字符;10.少于四位数字;11.多于四位数字。设计测试方案方案内容输 入预期输出地区码前缀后缀1空白200999之间
4、的三位数字四位数字( )276-2345有效2三位数字四位数字(635)805-9321有效3有非数字字符(20A)723-4567无效4少于三位数字(33 )234-5678无效5多于三位数字(5555)345-6789无效6有非数字字符(345)5A2-3456无效7起始位为0(345)012-3456无效8起始位为1(345)132-3456无效9少于三位数字(345) 92-3456无效10多于三位数字(345)4562-3456无效11有非数字字符(345)342-3A56无效12少于四位数字(345)342- 356无效13多于四位数字(345)562-34567无效29.为什么说
5、软件的维护是不可避免的?因为软件的开发过程中,一般很难检测到所有的错误,其次软件在应用过程中需要随用户新的要求或运行环境的变化而进行软件的修改或完成功能的增删等,为了提高软件的应用水平和使用寿命,软件的维护是不可避免的。22.试由程序流程图导出程序图 F T T F T F T F(a)程序流程图 (b)导出程序图30.软件的维护一般分为哪几类?完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能,以满足用户日益增长的需要而进行的工作; 适应性维护:是软件适应新的运行环境而进行的工作;纠错性维护:纠正开发期间未发现的遗留错误,即在程序使用期间发现的程序错误进行诊断和改正的过程;预防性
6、维护:为了改善未来的可维护性或可靠性而修改软件的工作。31.决定软件可维护性的因素?(1) 软件的可理解性、可测试性、可修改性; (2) 文档描述符合要求、用户文档简洁明确、系统文档完整并且标准。32.分析软件危机产生的主要原因有哪些? 答:导致软件危机的主要原因有: (1)软件日益复杂和庞大(2)软件开发管理困难和复杂(3)软件开发技术落后(4)生产方式落后(5)开发工具落后(6)软件开发费用不断增加 1 个要点1分,只要答上5个要点得5分!33.说明结构化程序设计的主要思想是什么? 答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单入口、单出口来构造程序。(3
7、分) 34、软件测试的基本任务是什么?测试与纠错有什么区别?答:软件测试的基本任务是通过在计算机上执行程序,暴露程序中潜在的错误。测试和纠错目的和任务都不相同,测试是为了发现程序的错误,纠错是为了定位和纠正错误,从而消除软件故障,保证程序的可靠运行。35.软件测试包括哪些步骤?同时说明这些步骤的测试目的是什么? 答:(1)单元测试,目的是代码达到模块说明书的要求(2)集成测试,目的是将经过单元测试的模块逐步组装成具有良好一致性的完整的程序(3)确认测试,目的是确认程序系统是否满足软件需求规格说明书的要求(4)系统测试,目的是检查能否与系统的其余部分协调运行,并且完成SRS对他的要求。36.需求
8、分析与软件设计二个阶段任务的主要区别是什么? 答:需求分析定义软件的用户需求,即定义待开发软件能做什么(2.5分) 软件设计定义软件的实现细节以满足用户需求,即研究如何实现软件。(2.5分) 37.说明软件测试和调试的目的有何区别? 答:测试的目的是判断和发现软件是否有错误(2。5分)调试的目的是定位软件错误并纠38. 根据以下被测试的流程图,选择相应的答案。(8分) (1) A=2, B=0, X=4 (2)A=2, B=1, X=1 (3)A=2, B=0, X=1 A=1, B=1, X=1 A=3, B=0, X=3 A=1, B=1, X=2 在1-3的答案中满足判定覆盖的测试用例是
9、_1_ (2分) 在1-3的答案中满足条件覆盖的测试用例是_3_ (2分) 在1-3的答案中满足判定/条件覆盖的测试用例是_2_ (2分) 39工资计算系统中的一个子系统有如下功能: ( 1 )计算扣除部分由基本工资计算出应扣除(比如水电费、缺勤)的部分; ( 2 )计算奖金部分根据职工的出勤情况计算出奖励金; ( 3 )计算工资总额部分根据输入的扣除额及奖金计算出总额; ( 4 )计算税金部分由工资总额中计算出应扣除各种税金; ( 5 )生成工资表根据计算总额部分和计算税金部分传递来的有关职工工资的详细信息生成工资表。 试根据要求画出该问题的数据流程图。40用自顶向下结构化程序设计方法编写直
10、接选择排序从小到大排列的程序。要求保持良好的程序风格,加上必要的注释()。用C语言编写:/*程序名称:直接选择排序;*/*作者 */*完成日期:2006年6月9日;*/*过程头:selectsort(int *A;int N)*/*输入参数:N为元素个数(N=1000);A整型数组,从1到N存放待排序元素;*/*返回结果:数组A为指针,由它返回排序结果;*/void selectsort(int *A;int N)int i,j,k,x;for (i=1;iN;i+) /*求第I个最小值*/ k=i; /*先假设I位置上的值最小*/for (j+=i;j=N;j+) /*求I到N位置上的最小值*/ if (A(j)A(k)) k=j;if (ki) /*需要交换A(K)和A(I)的值*/ /*交换A(K)和A(I)*/ x=A(i); A(i)=A(k);A(k)=x /*结束交换*/ /*求出了第I个最小值*/ /*SELECTSORT*/41.把事务型数据流图映射成软件结构图:42.把变换型数据流图映射成软件结构图:43、什么是软件复用?简述软件复用和软件共享、软件移植的差别。答:软件
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1