资源描述:
《软件工程阶段性作业.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、中国地质大学(武汉)远程与继续教育学院软件工程课程作业4(共4次作业)学习层次:专升本涉及章节:第7章一、选择填空题1、从下列关于模块化程序设计的叙述中选出5条正确的叙述。()(1)程序设计比较方便,但比较难以维护。()(2)便于由多个人分工编制大型程序。()(3)软件的功能便于扩充。()(4)程序易于理解,也便于排错。()(5)在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。()(6)模块之间的接口叫做数据文件。()(7)只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。()(8)模块间的单向调用关系叫做模块的层次结构。()(9)模块越小,模块化
2、的优点越明显。一般来说,模块的大小都在10行以下。2、从下列叙述中选出5条符合程序设计风格指导原则的叙述。(1)嵌套的重数应加以限制。(2)尽量多使用临时变量。(3)不滥用语言特色。(4)不用可以省略的括号。(5)使用有意义的变量名。(6)应尽可能把程序编得短些。(7)把常见的局部优化工作留给编译程序去做。(8)注解越少越好。(9)程序的格式应有助于读者理解程序。(10)应尽可能多用GOTO语句。3、从供选择的答案中选出应填入下列()中的字句。 软件测试的目的是(A)。为了提高测试的效率,应该(B)。使用白盒测试方法时,确定测试数据应根据(C)和指定的覆盖标准。与设计测试数据无关的文档是(D
3、)。 软件的集成测试工作最好由(E)承担,以提高集成测试的效果。供选择的答案:A. ①评价软件的质量 ②发现软件的错误 ③找出软件中的所有错误 ④证明软件是正确的B. ①随机地选取测试数据 ②取一切可能的输入数据作为测试数据 ③在完成编码以后制定软件的测试计划 ④选择发现错误的可能性大的数据作为测试数据C. ①程序的内部逻辑 ②程序的复杂程度 ③使用说明书 ④程序的功能D. ①该软件的设计人员 ②程序的复杂程度 ③源程序 ④项目开发计划E. ①该软件的设计人员 ②该软件开发组的负责人 ③该软件的编程人员 ④不属该软件开发组的软件人员4、从供选择的答案中选出应
4、填入下列()中的字句。 为了把握软件开发各个环节的正确性和协调性,人们需要进行(A)和(B)工作。(A)的目的是想证实在一给定的外部环境中软件的逻辑正确性。它包括(C)和(D),(B)则试图证明在软件生存期各个阶段,以及阶段间的逻辑(E)、(F)和正确性。供选择的答案:A,B. ①操作②确认③验证④测试⑤调试C,D. ①用户的确认②需求规格说明的确认 ③程序的确认④测试的确认E,F. ①可靠性②独立性③协调性④完备性⑤扩充性二、问答题1、试说明下面的两个程序段的功能是什么?可否用另一些等效的程序段来代替它,以提高其可读性。(1)A[I]=A[I]+A[T];(2) for(i=1;i<=
5、n;i++)A[T]=A[I]-A[T];for(j=1;j<=n;j++) A[I]=A[I]-A[T];V[i][j]=(i/j)*(j/i); 2、设下图给出的程序流程图代表一个非结构化的程序,试问:(1)为什么说它是一个非结构化的?(2)设计一个等价的使用附加标志变量flag的结构化程序。(3)设计一个使用break(用于代替goto)的程序。3、应该由谁来进行确认测试?是软件开发者还是软件用户?为什么?4、如图所示的程序有三条不同的路径。分别表示为L1(a→b)、L2(a→c→d)、L3(a→c→e),或简写为ace、abd、abe及acd。根据判定覆盖、条件覆盖、判
6、定–条件覆盖、条件组合覆盖和路径覆盖等五种覆盖标准,从供选择的答案中分别找出满足相应覆盖标准的最小测试用例组。(用①~⑩回答)供选择的答案:① x=90,y=90 ② x=50,y=50③ x=90,y=90 ④ x=90,y=70 x=50,y=50 x=40,x=90⑤ x=90,y=90 ⑥ x=90,y=90 x=50,y=50 x=70,y=90x=90,y=70x=50,y=50⑦ x=90,y=90 ⑧ x=90,y=90x=50,y=50x=50,y=50x=80,y=70x=90,y=50x=70,y=90x=80,y=80⑨ x=90,y=90 ⑩ x
7、=90,y=90x=90,y=70x=80,y=80x=90,y=30x=90,y=70x=70,y=90x=90,y=30x=30,y=90x=70,y=90x=70,y=70x=30,y=90x=50,y=50x=70,y=70x=50,y=50 5、在白盒测试用例设计中,有语句覆盖、分支覆盖、条件覆盖、路径覆盖等,其中(A)是最强的覆盖准则。为了对如下图所示的程序段进行覆盖测试,必须适当地选取测试用例