软件工程复习及答案分析(共13页).doc
《软件工程复习及答案分析(共13页).doc》由会员分享,可在线阅读,更多相关《软件工程复习及答案分析(共13页).doc(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上复习思考题(一) 软件工程概论1. 试说明“软件生命周期”的概念。同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。2. 论述瀑布模型软件开发方法的基本过程。瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分析和定义,软件设计,程序编码,测试及运行维护。并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落。3. 软件工程的基本原理有哪些? 1用分阶段的生命周期计划严格管理2坚持进行阶段评审3实行严格的产品控制4采用现代程序设计技术5结果应能清楚地审查6开发小组的人员应该
2、少而精7承认不断改进软件工程实践的必要性4. 从供选择的答案中选出正确答案填入下列叙述中的( )内。(1)软件开发时,一个错误发现得越晚,为改正它所付出的代价就( )。A) 越大 B) 越小 C)越不可捉摸 D)越接近平均水平(2)功能模型中描述处理流程的最基本成分为( )。 A)数据流图和数据结构图 B) 数据流图和程序流程图C)程序流程图和数据结构图 D) 数据流图和数据词典(3)模块内聚用于衡量模块内部各成分之间彼此结合的紧密程度。若一组语句在程序的多处出现,为了节省空间把这些语句放在一个模块中,则该模块的内聚类型是( )。 A) 功能内聚 B)通信内聚 C)偶然内聚 D)逻辑内聚(5)
3、结构化分析方法(SA)是在软件开发过程中常用的方法,这个方法采用的基本手段是( )。A)分解与抽象 B)分解与综合 C)归纳与推导 D)试探与回溯(6)原型化方法是用户和设计者之间执行的一种交互过程,适用于( )系统。A)需求不确定性高的 B)需求确定的 C)管理信息 D)决策支持(7)软件测试的目的是( )。A)评价软件的质量 B)发现软件的错误C)找出软件中的所有错误 D)证明软件是正确的(8)在软件生存周期中,( )阶段所占的工作量最大,约70%。 A)分析 B)设计 C)编码 D)测试 E)维护(二)软件需求分析1. 软件需求分析是软件过程中交换意见最频繁的步骤。为什么交换意见的途径会
4、经常阻塞? 软件需求分析过程中,由于最初分析员对要解决的问题了解很少,用户对问题的描述、对目标软件的要求也很凌乱、模糊,再加上分析员和用户共同的知识领域不多,导致相互间通信的需求。首先,由于分析员和用户之间需要通信的内容相当多,业务知识上的不足,表达方式的不足,可能对某些需求存在错误解释或误解的可能性,造成需求的模糊性。其次,用户和分析员之间经常存在无意识的“我们和他们”的界限,不是按工作需要组成统一的精干的队伍,而是各自定义自己的“版图”,并通过一系列备忘录、正式的意见书、文档,以及提问和回答来相互通信。历史已经证明,这样会产生大量误解。忽略重要信息,无法建立成功的工作关系。2. 数据流图的
5、作用是什么?它有哪些基本成分? 数据流图可以用来抽象地表示系统或软件。它从信息传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,同时可以按自顶向下、逐步分解的方法表示内容不断增加的数据流和功能细节。因此,数据流图既提供了功能建模的机制,也提供了信息流建模的机制,从而可以建立起系统或软件的功能模型。 3. 数据字典的作用是什么?它有哪些基本条目? 数据字典(简称DD)是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。他和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。数
6、据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅。数据字典有以下四类条目:数据流、数据项、数据存储、基本加工。数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之内,故一般不在字典中说明。4. 从供选择的答案中选出正确答案填入下列叙述中的( )内。原型化方法是用户和设计者之间执行的一种交互过程,适用于( A )系统。它从用户界面设计开始,首先形成( B ),用户( C )并就( D )提出意见。它是一种( E )型的设计过程。A:需求不确定性高的 需求确定的 管理信息 决策支持B:用户界面使用手册界面需求分析说
7、明书系统界面原型完善的用户界面C:改进界面的设计使用和不使用哪种编程语言程序的结构运行界面原型D:同意什么和不同意什么使用和不使用哪种编程语言程序的结构执行速度是否满足要求E:自外向内自顶向下自内向外自底向上(三)软件设计1. 模块独立性与信息隐蔽有何关系?2. 模块的内聚程度与模块在分层结构中的位置有关系吗?说明你的论据。 答案:模块的内聚性与该模块在分层模块结构中的位置无关。事实上,一个好的模块化的程序系统,它所有的模块可以都是功能内聚的,即每一个模块就只干了一件事。用结构化设计方法建立起来的模块结构中的每一个模块都符合这个要求。把讨论范围再拓宽点,在纯面向对象范型的软件系统中,整个系统看
8、作是一个类,它的子类可以看作是系统的子系统或高层模块,它们还可以有子类,这就形成一个类的层次结构。类的构造可以看成是一个抽象数据类型,实际上是信息内聚的。所以整个系统中从上到下,所有模块(对象类)都是信息内聚的模块。3. 耦合的概念和软件的可移植性有什么关系?请举例说明你的论述。 耦合是对一个软件结构内不同模块之间互联程度的度量。耦合强弱取决于模块之间接口的复杂程度。在软件设计的时候应该追求尽可能松散耦合系统。由于模块之间联系简单,发生在一处的错误传播到整个系统的可能性很小,因此,模块之间的耦合程度对系统的可理解性,可测试性,可靠性和可维护性有很重要的影响。内聚是对模块内各元素彼此结合的紧密程
9、度的度量。4. 从供选择的答案中选出正确答案填入下列关于软件设计叙述中的( )内。在众多的设计方法中,SD方法是最受人注意的,也是应用最广泛的。这种方法可以同分析阶段的( A )方法及编程阶段的( B )方法前后衔接。SD方法是考虑如何建立一个结构良好的程序,提出了评价模块质量的两个具体标准块间联系和块内联系。SD方法的最终目标是( C )。A,B:Jackson(B) SA(A) SC ParnasC:块间联系大,块内联系小 块间联系大,块内联系大块间联系小,块内联系小 块间联系小,块内联系大5. 从下列关于模块化程序设计的叙述中选出条正确的叙述。(1) 程序设计比较方便,但比较难以维护。(
10、2) 便于由多个人分工编制大型程序。(3) 软件的功能便于扩充。(4) 程序易于理解,也便于排错。(5) 在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。(6) 模块之间的接口叫数据文件。(7) 只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。(8) 模块间的单向调用关系叫做模块的层次结构。(9) 模块越小,模块化的优点越明显。一般来说,模块的大小都在10行以下。6. 从供选择的答案中选出正确答案填入下列关于详细设计叙述中的( )内。软件详细设计工具可分为三类,即图示工具、表格工具和伪码语言。图示工具中,( A )简单且应用广泛,( B )表示法中
11、,每个处理过程用一个盒子表示,盒子可以嵌套。( C )可以纵横延伸,图形的空间效果好。( D )是一种设计语言,它是一种面向( E )的语言。A,B,C:NS图(B) 流程图(A) HIPO图 PAD图(C)D:C PDL Prolog PascalE:人 机器 数据结构 对象 (四)编码1. 结构化程序设计有时被错误地称为“无GOTO语句”的程序设计。请说明为什么会出现这样的说法,并讨论围绕着这个问题的一些争论。 严格控制GOTO语句,仅在用一个非结构化的程序设计语言去实现一个结构化的构造,或者在某种可以改善而不是损害程序可读性的情况下才可以使用GOTO语句。大量采用GOTO语句实现控制路径
12、,会使程序路径变得复杂而混乱,因此要控制GOTO语句的使用。但有时完全不用GOTO语句进行程序编码,比用GOTO语句编出的程序可读性差。例如,在查找结束时,文件访问结束时,出现错误情况要从循环中转出时,使用布尔变量和条件结构来实现就不如用GOTO语句来得简单易懂。2. 从下列关于程序编制的叙述中选出条正确的叙述。(1) 在编制程序之前,首先必须仔细阅读给定的程序说明书。然后,必须如实地依照说明书编写程序。说明书中常会有含糊不清或难以理解的地方,程序员在作业时应该对这些地方作出适当的解释。(2) 在着手编制程序时,重要的是采用既能使程序正确地按设计流程进行处理,又易于出错的编写方法。(3) 在编
13、制程序时,首先应该对程序的结构充分考虑,不要急于开始编程,而要象写软件文档那样,很好地琢磨程序具有什么样的功能,这些功能任何安排,等等。(4) 考虑到以后的程序变更,为程序编写完整的说明书是一项很重要的工作。只要有了完整的程序说明书,即使程序的编写形式难以让他人看懂也没有什么关系。(5) 编制程序时不可缺少的条件是,程序的输入和输出数据的格式都应确定。其它各项规定都是附带的,无足轻重。(6) 作为一个好的程序,不仅处理速度要快,而且易读易修改等也都是重要的条件。为了能得到这样的程序,不仅要熟悉程序设计语言的语法,还要注意采用适当的规程和单纯的表现方法,注意使整个程序的结构简洁。3. 从下列叙述
14、中选出条符合程序设计风格指导原则的叙述。(1) 嵌套的重数应加以限制。(2) 尽量多使用临时变量。(3) 不滥用语言特色。(4) 不用可以省略的括号。(5) 应尽可能把程序编得短些。(6) 使用有意义的变量名。(7) 把常见的局部优化工作留给编译程序去做。(8) 注解越少越好。(9) 程序的格式应有助于读者理解程序。(10) 应尽可能多用GOTO语句。(五)软件测试1. 从供选择的答案中选出应填入下列( )中的字句。软件测试的目的是(A)。为了提高测试的效率,应该(B)。使用白盒测试方法时,确定测试数据应根据(C)和指定的覆盖标准。与设计测试数据无关的文档是(D)。软件的集成测试工作最好由(E
15、)承担,以提高集成测试的效果。A:评价软件的质量 发现软件的错误 找出软件中的所有错误 证明软件是正确的B:随机地选取测试数据取一切可能的输入数据作为测试数据在完成编码以后制定软件的测试计划选择发现错误的可能性大的数据作为测试数据C:程序的内部逻辑程序的复杂程度使用说明书程序的功能D:该软件的设计文档程序的复杂程度源程序项目开发计划E:该软件的设计人员该软件开发组的负责人该软件的编程人员不属于该软件开发组的设计人员2. 从供选择的答案中选出同下列关于软件测试的各条叙述关系最密切的字句。A. 在意识到被测试模块的内部结构或算法的情况下进行测试。(白盒测试)B. 为了确认用户的需求,先作出系统的主
16、要部分,提交给用户试用。原型C. 在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。此时,有必要用一些模块替代尚未测试过的下层模块。桩(即存根模块)A,B,C,D,E:仿真器 代码审查 模拟器 桩 驱动器域测试 黑盒测试 原型 白盒测试 退化测试7下面是一段求最大值的程序,其中datalist是数据表,n是datalist的长度。int GetMax(int n, int datalist ) int k=0; for ( int j=1; j datalistk ) k=j;return k; (1) 画出该程序的控制流图,并计算其McCabe环路复杂性。 控制图
17、 McCabe环路复杂性:3(2) 用基本路径覆盖法给出测试路径。 Pathl:Path2:Path3:(3) 为各测试路径设计测试用例。Path1:取n=1,datalist0=1,预期结果:k=0Path2:取:n=2,datalist0=1,datalist1=0,预期结果:k=0Path3:取n=2,datalist0=0,datalist1=1,预期结果:k=1【解析】本题考查对软件测试概念和过程的理解,结合具体实例运用各种测试技术,学会测试用例设计、软件测试与程序调试的方法。软件测试是为了发现错误而执行程序的过程,其目的在于以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。根
18、据2004新大纲和最近两次软件设计师考试的真题,不难发现各类系统分析理论的实例化考核比例逐渐升温,只要读者平时对这部分知识的实例多分析、多思考,这部分分数其实不难拿到。答:1.控制流图如下,McCabe环路复杂性为3。2. 测试路径:Path1: Path2: Path3: 3. 测试用例: Path1: 取n=1,datalist0 = 1, 预期结果:k=0 Path2: 取n=2,datalist0 = 1,datalist1 = 0, 预期结果:k=0 Path3: 取n=2,datalist0 = 0,datalist1 = 1, 预期结果:k=1 8、对程序进行基本路径的测试voi
19、d Func(int nPosX, int nPosY) while (nPosX 0) int nSum = nPosX + nPosY;if (nSum 1) nPosX-; nPosY-;else if (nSum 1)and (B=0)Then x:=X/A;If (A=2)or(X1)Then x:=x+1END对程序进行逻辑覆盖的测试逻辑覆盖法适用于白盒测试。 有选择地执行程序中某些最有代表性的通路是对穷尽测试的唯一可行的替代办法。所谓逻辑覆盖是对一系列测试过程的总称,这组测试过程逐渐进行越来越完整的通路测试。测试数据执行(或叫覆盖)程序逻辑的标准大致有以下一些。条件覆盖 条件覆盖
20、的含义是,不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果。 上例中只需要使用下面两组测试数据就可以达到上述覆盖标准:IA=2,B=0,X=4(满足A1,B=0,A=2和X1的条件,执行路径sacbed)A=1,B=1,X=1(满足A1,B0,A2和X1的条件,执行路径sabd) 条件覆盖通常比判定覆盖强,因为它使判定表达式中每个条件都取到了两个不同的结果,判定覆盖却只关心整个判定表达式的值。但是,也可能有相反的情况:虽然每个条件都取到了两个不同的结果,判定表达式却始终只取一个值。例如,如果使用下面两组测试数据,则只满足条件覆盖标准并不满足判定覆盖标准(第二个判定表达
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 复习 答案 分析 13
限制150内