软件工程复习及答案

上传人:今*** 文档编号:105924694 上传时间:2019-10-14 格式:DOC 页数:12 大小:329.51KB
返回 下载 相关 举报
软件工程复习及答案_第1页
第1页 / 共12页
软件工程复习及答案_第2页
第2页 / 共12页
软件工程复习及答案_第3页
第3页 / 共12页
软件工程复习及答案_第4页
第4页 / 共12页
软件工程复习及答案_第5页
第5页 / 共12页
点击查看更多>>
资源描述

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

1、复习思考题(一) 软件工程概论1. 试说明“软件生命周期”的概念。同任何事物一样,一个软件产品或软件系统也要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期(软件生命周期)。2. 论述瀑布模型软件开发方法的基本过程。瀑布模型规定了各项软件工程活动,包括:制定软件项目计划,进行需求分析和定义,软件设计,程序编码,测试及运行维护。并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落。3. 软件工程的基本原理有哪些? 1用分阶段的生命周期计划严格管理2坚持进行阶段评审3实行严格的产品控制4采用现代程序设计技术5结果应能清楚地审查6开发小组的人员应该少而精7承认不断改进软件工

2、程实践的必要性4. 从供选择的答案中选出正确答案填入下列叙述中的( )内。(1)软件开发时,一个错误发现得越晚,为改正它所付出的代价就( )。A) 越大 B) 越小 C)越不可捉摸 D)越接近平均水平(2)功能模型中描述处理流程的最基本成分为( )。 A)数据流图和数据结构图 B) 数据流图和程序流程图C)程序流程图和数据结构图 D) 数据流图和数据词典(3)模块内聚用于衡量模块内部各成分之间彼此结合的紧密程度。若一组语句在程序的多处出现,为了节省空间把这些语句放在一个模块中,则该模块的内聚类型是( )。 A) 功能内聚 B)通信内聚 C)偶然内聚 D)逻辑内聚(5)结构化分析方法(SA)是在

3、软件开发过程中常用的方法,这个方法采用的基本手段是( )。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. 耦合的概念和软件的可移植性有什么关系?请举例说明你的论述。 耦合是对一个软件结构内不同模块之间互联程度的度量。耦合强弱取决于模块之间接口的复杂程度。在软件设计的时候应该追求尽可能松散耦合系统。由于模块之间联系简单,发生在一处的错误传播到整个系统的可能性很小,因此,模块之间的耦合程度对系统的可理解性,可测试性,可靠性和可维护性有很重要的影响。内聚是对模块内各元素彼此结合的紧密程度的度量。4. 从供选择的

9、答案中选出正确答案填入下列关于软件设计叙述中的( )内。在众多的设计方法中,SD方法是最受人注意的,也是应用最广泛的。这种方法可以同分析阶段的( A )方法及编程阶段的( B )方法前后衔接。SD方法是考虑如何建立一个结构良好的程序,提出了评价模块质量的两个具体标准块间联系和块内联系。SD方法的最终目标是( C )。A,B:Jackson(B) SA(A) SC ParnasC:块间联系大,块内联系小 块间联系大,块内联系大块间联系小,块内联系小 块间联系小,块内联系大5. 从下列关于模块化程序设计的叙述中选出条正确的叙述。(1) 程序设计比较方便,但比较难以维护。(2) 便于由多个人分工编制

10、大型程序。(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)承担,以提高集成测试的效果。A:评价软件的质量 发现软件的错误 找出软件中的所有错误 证明软件是正确的B:随机地选取测试数据取一切可能的输入数据作为测试数据在完成编码以后制定软件的测试计划选择发现错误的可能性大的数据作为测试数据C:程序的内部逻辑程序的复杂程度使用说明书程序的功能D:该软件的设计文档程序的复杂程度源程序项目开发计划E:该软件的设计人员该软件开发组

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

当前位置:首页 > 高等教育 > 大学课件

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