软件工程期末考试总结

时间:2019-05-15 12:50:34下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《软件工程期末考试总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《软件工程期末考试总结》。

第一篇:软件工程期末考试总结

一、1、1968年“软件工程”诞生。

2、软件定义:软件是程序、数据 相关文档的完整结合。其中,程序是能够完成预订功能和性能的可执行的指令序列;数据是使程序能够适当的处理信息的数据结构;文档是开发、使用和维护程序所需要的图文资料。

3、为了解决软件危机,技术措施(方法和工具),组织管理措施

4、软件工程:软件工程是(1)把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;(2)研究(1)中提到的途径。

5、软件工程是从管理和技术两方面

6、软件工程的本质特性:(1)软件工程关注于大型程序的构造;(2)专拣工程的中心课题是控制复杂性;

(3)软件经常变化;(4)开发软件的效率非常重要;(5)和谐的合作是开发软件的关键;(6)软件必须有效的支持它的用户;(7)在软件工程领域中通常由具有一种文化背景的人替具有另外一种文化背景的人创造产品。

7、软件工程的7条基本原理:(1)用分阶段的生命周期计划严格管理;(2)坚持进行阶段评审;(3)实行严格的产品控制;(4)采用现代程序设计技术;(5)结果应能清楚的审查;(6)开发小组的人员应该少而精;(7)承认不断改进软件工程实践的必要性。

8、软件工程包括(技术和管理)两方面内容,是技术与管理紧密结合所形成的工程学科。

9、软件工程方法学包括三个要素:方法、工具和过程。

10、CASE计算机辅助软件工程

11、软件的生命周期由 软件定义、软件开发和运行维护(软件维护)3个时期组成。

12、软件生命周期每个阶段的基本任务:(1)问题定义:必须回答的关键问题是:“要解决的问题是什么?”性质规模总目标;(2)可行性研究:要回答的关键问题是:“对于上一个阶段所确定的问题有行得通的解决办法吗?”可解?值得解?(3)需求分析:这个阶段的任务不是具体的解决问题,而是准确的确定“为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪些功能需求规格说明书(4)总体设计:这个阶段必须回答的关键问题是:“概括地说,应该怎样实现目标系统?”(总体设计又称概要设计)软件结构图(5)详细设计:把解法具体化,也就是回答下面这个关键问题:“应该怎样具体的实现这个系统呢?”算法、数据结构(6)编码和单元测试:关键任务是写出正确的容易理解、容易维护的程序模块(7)综合测试:关键任务是通过各种类型的测试(及相应的调试)使软件达到预定的要求(最基本的测试是集成测试和验收测试)。

13、软件过程:是为了获得高质量软件所需要完成的一系列任务的框架,他规定了完成各项任务的工作步骤。用生命周期模型描述它。

15、过程模型:生命周期模型规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,因此,也成为过程模型。

16、瀑布模型是唯一被广泛采用的且现在仍是应用最广泛的过程模型。

17、增量模型:也称渐增模型,适用于能在较短时间内向用户提交可完成部分工作的产品。

18、螺旋模型:适用于内部开发的大规模软件项目。

1、可行性研究的目的:就是用最小的代价在尽可能短的时间内确定问题是否能解决。

2、研究每种解法的可行性从三个方面:(1)技术可行性(2)经济可行性(3)操作可行性

3、系统流程图是概括的描绘 物理系统 的传统工具。

数据流图是系统逻辑功能的图形表示。

4、数据字典的作用:在软件分析和设计过程中给人提供关于数据的描述信息。

5、系统的逻辑模型由(数据流图和数据字典)共同构成,没有数据字典,数据流图就不严格,没有数据流图,数据字典也难于发挥作用。只有数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。

5、数据字典由4类元素的定义组成:数据流、数据流分量、数据存储、处理,但是对数据处理的定义用

其他工具(IPO图或PDL)描述更方便。

1、需求分析:把用户关于软件的期望和想法,转变成软件开发人员需要的关于该软件的规格说明。

2、需求分析过程应该建立的3种模型:数据模型、功能模型和行为模型

3、实体-联系图是用于建立数据模型的图形,数据流图是建立功能模型的基础,状态转换图是行为建模的基础。

4、实体-联系图符号:矩形框代表实体,用连接实体的菱形框表示关系,用椭圆形或圆角矩形表示实体(或关系)的属性,用直线把实体(或关系)与其属性连接起来。

5、状态转换图:初态、终态和中间态。

6、在一张状态图中只能有一个初态,终态有0至多个。初态用实心圆,终态用一对同心圆(内为实心圆),中间态用圆角矩形。

8、IPO图是输入、处理、输出图的简称,它是由美国IBM公司发展完善起来的一种图形工具,能够方便的描绘输入数据、对数据的处理和输出数据之间的关系。

9、从以下4个方面验证软件需求的正确性:(1)一致性 所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾(2)完整性 需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能(3)现实性 指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的(4)有效性 必须证明需求是正确有效的,确实能解决用户面对的问题

10、总体设计阶段主要内容:设计软件结构和设计数据库

11、耦合:耦合是对一个软件结构内不同模块之间互连程度的度量。

12、耦合设计原则:尽量少使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合13、内聚:内聚标志着一个模块内各个元素彼此结合的紧密程度。功能内聚10偶然内聚014、“高内聚,低耦合”

15、启发规则:(1)改进软件结构提高模块独立性(2)模块规模应该适中(3)深度、宽度、扇出和扇入都应适当【深度:表示软件结构中控制的层数,它往往能粗略的标志一个系统的大小和复杂程度;宽度:是软件结构内同一个层次上的模块总数的最大值;扇出:是一个模块直接控制的模块数目;扇入:表明有多少个上级模块直接调用它】(4)模块的作用域应该在控制域之内【模块的作用域:受该模块内一个判定影响的所有模块的集合。模块的控制域:是这个模块本身以及所有直接或间接从属于它的模块集合。】(5)力争降低模块接口的复杂程度(6)设计单入口单出口的模块(7)模块功能应该可以预测。

16、描绘软件结构的图形工具:层次图和结构图。

17、层次图用来描绘软件的层次结构(作为描绘软件结构的文档)。

18、信息流的两种类型:变换流和事务流

19、变换流:信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统的信息通过变换中心,经过加工处理以后再沿输出通路变换成外部形式离开软件系统。当系统具有这些特征时,这种信息流就叫做变换流。

20、事务流:数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干个动作序列中选出一个来执行,这类数据成为事务流,处理T叫做事务中心。

六、详细设计

21、结构程序设计的经典定义:如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

七、实现

1、高级语言写程序比用汇编语言写程序生产率可以提高好几倍,而且高级语言写的程序容易阅读,容易

测试,容易调试,容易维护。所以高级语言明显优于汇编语言。

2、实现:编码和测试统称为实现。

3、编码:就是把软件设计结果翻译成用某种程序设计语言书写的程序

4、软件测试:是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。

5、测试的目的:在软件投入生产性运行之前,尽可能多的发现软件中的错误(发现软件中的错误)。

6、调试是在测试发现错误之后排除错误的过程。

7、软件测试的目标或定义:(1)测试是为了发现程序中的错误而执行程序的过程。(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案(3)成功的测试是发现了至今为止尚未发现的错误的测试。

8、测试的目的是暴露程序中的错误由程序的编写者自己进行测试是不恰当的,测试阶段通常由其他人员组成测试小组来完成测试工作。

9、逻辑覆盖:是对一系列测试过程的总称这组测试过程逐渐进行越来越完整的通路测试。

10、语句覆盖:选择足够多的测试数据,使被测程序中每个语句至少执行一次(语句覆盖是很弱的逻辑覆盖)。

11、判定覆盖(分支覆盖):不仅每个语句必须至少执行一次,而且每个判定的没种可能的结果都应该至少执行一次,也就是每个判定的每个分支都至少执行一次。(比语句覆盖强)

12、条件覆盖:不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果(比判定覆盖强)。

13、判定/条件覆盖:选取足够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果(有时不必条件判定强)。

14、条件组合覆盖:是更强的逻辑覆盖,它要求选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。

15、点覆盖:如果连通图G的子图G’是连通的,而且包含G的所有节点,则称G’是G 的点覆盖。(要求:选取足够多的测试数据,使得程序执行路径至少经过流图的每个节点一次(与语句覆盖标准相同)。)

16、边覆盖:如果连通图G的子图G”是连通的,而且包含G的所有边,则称G”是G 的点覆盖(要求:选取足够多的测试数据,使得程序执行路径至少经过流图中每条边一次(与判定覆盖相同)。)。

17、路径覆盖:选取足够多的测试数据,使程序的每条可能路径都至少执行一次。

18、控制结构测试包括:基本路径测试、条件测试、循环测试。

19、黑盒测试力图发现下述类型的错误:(1)功能不正确或遗漏了功能(2)界面错误(3)数据结构错误或外部数据库访问错误(4)性能错误(5)初始化和终止错误

20、黑盒测试外部,白盒测试内部。

八、维护

软件维护就是在软件已经交付使用后,为了改正错误或满足新的需要而修改软件的过程。

把诊断和改正错误的过程称为改正性维护。

适应性维护:为了和变化了的环境适当的配合而进行的修改软件的活动,是即必要有经常的维护活动。完善性维护、预防性维护。

第二篇:软件工程期末考试试题

一,单项选择题(本大题共20小题,每小题1分,共20分)

在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。

1.可行性研究要进行一次_____需求分析。

A.详细的 B.全面的 C.简化的、压缩的 D.彻底的 2.系统流程图用于可行性分析中的_____的描述。

A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统 3.系统流程图是描述_____的工具。

A.逻辑系统B.程序系统C.体系结构D.物理系统 4._______工具在软件详细设计过程中不采用。

A.判定表 B.IPO图 C.PDL D.DFD图 5.程序的三种基本控制结构是

A.过程、子程序和分程序 B.顺序、选择和重复

C.递归、堆栈和队列 D.调用、返回和转移 6.程序的三种基本控制结构的共同特点是

A.不能嵌套使用 B.只能用来写简单程序

C.已经用硬件实现 D.只有一个入口和一个出口 7.产生软件维护的副作用,是指

A.开发时的错误 B.隐含的错误

C.因修改软件而造成的错误 D.运行时误操作

8.维护中,因误删除一个标识符而引起的错误是_________副作用。

A.文档 B.数据 C.编码 D.设计 9.可维护性的特性中相互促进的是

A.可理解性和可测试性 B.效率和可移植性 C.效率和可修改性

D.效率和结构好

10.汽车有一个发动机。汽车和发动机之间的关系是_____关系。

A.一般具体 B.整体部分 C.分类关系 D.主从关系

11.在变更控制中,______可以用来确保由不同用户所执行的并发变更。

A.异步控制 B.同步控制 C.存取控制 D.基线控制

12.变更控制是一项最重要的软件配置任务,其中“检出”和______处理实现了两个重要的变更控制要素,即存取控制和同步控制。

A.登入 B.管理 C.填写变更要求 D.审查

13.提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要

A.消除错误 B.检测错误 C.避开错误 D.容错 14._____是以提高软件质量为目的的技术活动。

A.技术创新 B.测试 C.技术创造 D.技术评审 15.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;________;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。

A.开发过程基于功能分析和功能分解 B.强调需求分析重要性

C.把对象划分成类,每个对象类都定义一组数据和方法 D.对既存类进行调整

16.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫()

A.生存期 B.面向对象设计 C.面向对象程序设计 D.面向对象分析

17.原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。

A.需求不确定性高的 B.需求确定的 C.管理信息 D.实时 18.原型化方法是一种_______型的设计过程。

A.自外向内 B.自顶向下 C.自内向外 D.自底向上 19.为了提高测试的效率,应该()A.随机地选取测试数据 B.取一切可能的输入数据作为测试数据

C.在完成编码以后制定软件的测试计划

D.选择发现错误可能性大的数据作为测试数据

20.使用白盒测试方法时,确定测试数据应根据_______和指定的覆盖标准。

A.程序的内部逻辑 B.程序的复杂结构 C.使用说明书 D.程序的功能

1.C[解析]软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。其实质是要进行一次简化、压缩了的需求分析、设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。因此答案为C。

2.A[解析]可行性研究首先要确定项目的规模和目标,然后就需要对当前运行的系统进行研究了,在考察系统的基础上,通过描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。描述的对象是当前正在运行的系统,因此选择A。

3.C[解析]系统流程图是用图形符号来表示系统中的各个元素,例如人工处理、数据库、设备等,流程图表达了系统中各个元素之间的信息流动情况。是描绘物理系统的传统工具。

4.D[解析]详细描述处理过程常用三种工具:图形、表格和语言。其中图形工具有结构化流程图、盒图和问题分析图三种,答案中的判定表是用来表示复杂的条件组合与应做的动作之间的对应关系。IPO图用来描述每个模块输入/输出数据、处理功能及模块调用的详细情况。PDL是过程设计语言的缩写,也称程序描述语言,用于描述模块算法设计和处理细节的语言,这三种都可以在软件详细设计过程中使用,而DFD图则是数据流图,是以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,所以它只是一种功能模型,不能在详细设计过程中使用。

5.B[解析]程序的三种基本控制结构是顺序、选择和循环(重复)。子程序只是程序设计一种方法,递归则是一种算法,都算不上是控制结构。6.D[解析]程序的特点就是从一个入口开始,最终以一个出口结束,其间可以用顺序,选择和循环方式对程序的流向进行控制。三种结构可以写出非常复杂的程序,而且选择和循环都可以嵌套设计。

7.C [解析]因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用,包括编码副作用、数据副作用、文档副作用三种。只有答案C是正确的表述。

8.C[解析]编码副作用指的是在使用程序设计语言修改源代码时可能引入错误,比如删除或修改一个子程序、一个标号、一个标识符,改变程序代码的时序关系,修改文件的打开或关闭等。因此本题答案为C。

9.A [解析]软件的可维护性可用七个质量特性来衡量,分别是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。对于不同类型的维护,这些特性的侧重点也不相同,有一些可维护特性是可以相互促进的,比如可理解性和可测试性,可理解性和可修改性,另外一些则是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的结构好则不属于可维护性的特征。

10.B [解析]类有两种主要的结构关系,即一般——具体结构关系和整体——部分结构关系。前者称为分类结构,用来描述现实世界中的一般化的抽象关系。后者称为组装结构,用来描述现实世界中的类的组成的抽象关系。汽车和发动机的关系很明显,应该属于整体——部分关系。

11.B[解析]变更控制包括建立控制点和建立报告与审查制度,其过程中的“检出”和“登入”处理实现了存取控制和同步控制,存取控制管理各个用户存取和修改一个特定软件配置对象的权限,同步控制可用来确保由不同用户所执行任务的并发变更。

12.A[解析]“检出”和“登入”处理实现了两个重要的变更控制要素。具体说明见上题。

13.D[解析]提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的过程中不让差错潜入软件的技术,另一类是容错技术,即对某些无法避开的差错,使其影响减至最小的技术

14.D[解析]技术评审是以提高软件质量为目的的技术活动,是对软件本身的结构、与运行环境的接口、变更带来的影响等方面进行的评审活动。

15.C[解析]面向对象方法有四个特征,分别是对象唯一性、分类性、继承性和多态性。其中分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类,每个类是具有相同性质的个体集合,而每个对象相关类的实例,对象彼此之间通过传递消息互相联系。16.D[解析]面向对象的分析的过程就是认识客观世界的过程,其目的就是建立对客观世界的精确、简洁、可理解的正确模型,也就是所谓的建模。因此本题答案为D。

17.A[解析]原型不同于最终系统,它只实现所选择的部分功能,仅是为了试验或是演示而用,部分功能需求可以忽略或者模拟实现,因此适用于需求不确定性高的系统。

18.A[解析]原型化方法的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小型的、可执行的模型,用户在计算机上实际运行这个用户界面原型,在试用过程中提出意见或建议,然后开发者再对原型进行改进。如此周而复始,逐步弥补不足之处,从而提高了最终产品的质量。它是一种自外向内的设计过程 19.D[解析]软件测试是为了尽可能多的发现程序中的错误,尤其是发现至今尚未发现的错误。在选取测试用例时,不可能进行穷举测试,在每一个细节进行测试,也不能无目的地随机选取测试数据,为了提高测试的效率,测试用例应该选择发现错误可能性大的部分,这样的测试结果才符合软件测试的目的。

20.A[解析]白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。二,填空题(本大题共10小题,每小题2分,共20分)

21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的()情况。

22.成本效益分析的目的是从()角度评价开发一个项目是否可行。

23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和()。

24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条()的边的路径。

25.汇编语言是面向()的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。

26.在JSP方法中解决结构冲突的具体办法是()。

27.详细设计的任务是确定每个模块的内部特性,即模块的算法、()。

28.所有软件维护申请报告要按规定方式提出,该报告也称()报告。

29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的()技术。

30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:()、PASCAL语言、C语言和PL/1语言。

21.解:信息流动[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。

22.解:经济[解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。

23.解:宽度优先策略[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。

24.解:在其他独立路径中未有过[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。

25.解:机器[解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。

26.解:中间数据结构或中间文件[解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。

27.解:使用的数据[解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。

28.解:软件问题[解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。29.解:维护支援[解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。30.解:FORTRAN语言[解析]计算机语言根据不同行业的需求,使用的侧重点也不尽相同,在办公管理方面,一些数据库语言如FOXPRO、ORICAL有很多的应用,在工程行业,计算机语言的科学计算能力就显得格外重要,如MATLAB、PL/

1、FORTRAN语言都是工程计算中常用的语言。

三,名词解释(本大题共5小题,每小题3分,共15分)

31.经济可行性

解:进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资开发。[解析]对于一个系统所必须要衡量的是经济上是否合算,经济可行性的范围很广,包括效益分析、潜在市场前景等。

32.社会可行性

解:要开发的项目是否存在任何侵犯、妨碍等责任问题,要开发项目目的运行方式在用户组织内是否行得通,现有管理制度、人员素质、操作方式是否可行。[解析]社会可行性包括合同、责任、侵权等技术人员不甚了解的诸多问题。

33.投资回收期

解:投资回收期就是使累计的经济效益等于最初的投资费用所需的时间。[解析]通常我们用投资回收期来衡量一个开发项目的价值,投资回收期越短,就越快获得利润。

34.对应关系 解:即有直接因果关系在程序中可以同时处理。[解析]对应关系是指数据单元在数据内容上、数量上和顺序上有直接的因果关系,对于重复的数据单元,重复的次序和次数都相同才有对应关系。

35.结构冲突 解:输入数据与输出数据结构找不到对应关系的情况,称为结构冲突。[解析]使用JSP方法时会遇到此类结构冲突问题,对此,Jackson提出了引入中间数据结构或中间文件的办法,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。四,简答题(本大题共4小题,每小题5分,共20分)

36.可行性研究报告的主要内容有哪些?

解:一个可行性研究报告的主要内容如下:(1)引言:说明编写本文档的目的;项目的名称、背景;本文档用到的专门术语和参考资料。

(2)可行性研究前提:可行性研究前提。说明开发项目的功能、性能和基本要求;达到的目标;各种限制条件;可行性研究方法和决定可行性的主要因素。(3)对现有系统的分析:说明现有系统的处理流程和数据流程;工作负荷;各项费用支出;所需要各类专业技术人员的数量;所需要各种设备;现有系统存在什么问题。(4)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价。

(5)所建议系统的经济可行性分析:说明所建议系统的各种支出,各种效益;收益投资比;投资回收周期。

(6)社会因素可行性分析:说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;说明用户使用可行性,是否满足用户行政管理、工作制度、人员素质的要求。

(7)其他可供选择方案:逐一说明其他可供选择的方案,并说明未被推荐的理由。

(8)结论意见:说明项目是否能开发;还需要什么条件才能开发;对项目目标有什么变动等。

[解析]做软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发,其中的问题能否解决,报告共分为八个基本内容。

37.系统设计的内容是什么?

解:系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。

(1)系统分解。系统中主要的组成部分称为子系统,子系统既不是一个对象也不是一个功能,而是类、关联、操作、时间和约束的集合。每次分解的各子系统数目不能太多,最底层子系统称为模块。

(2)确定并发性。分析模型、现实世界及硬件中不少对象均是并发的。系统设计的一个重要目标就是确定哪些是必须同时动作的对象,哪些不是同时动作的对象。后者可以放在一起,而综合成单个控制线或任务。

(3)处理器及任务分配。各并发子系统必须分配给单个硬件单元,要么是一个一般的处理器,要么是一个具体的功能单元,必须完成下面的工作:估计性能要求和资源需求,选择实现子系统的硬软件,将软件子系统分配给各处理器以满足性能要求和极小化处理器之间的通信,决定实现各子系统的各物理单元的连接。(4)数据存储管理。系统中的内部数据和外部数据的存储管理是一项重要的任务。通常各数据存储可以将数据结构、文件、数据库组合在一起,不同数据存储要在费用、访问时间、容量以及可靠性之间做折中考虑。

(5)全局资源的处理。必须确定全局资源,并且制定访问全局资源的策略。全局资源包括:物理资源,如处理器、驱动器等;空间,如盘空间、工作站屏等;逻辑名字,如对象标识符、类名、文件名等。

如果资源是物理对象,则可以通过建立协议实现对并发系统的访问,以达到自身控制;如果资源是逻辑实体,如对象标识符,那么在共享环境中有冲突访问的可能,如独立的事务可能同时使用同一个对象标识符,则各个全局资源都必须有一个保护对象,由保护对象来控制对该资源的访问。

(6)选择软件控制机制。分析模型中所有交互行为都表示为对象之间的事件。系统设计必须从多种方法中选择某种方法来实现软件的控制。(7)人机交互接口设计。设计中的大部分工作都与稳定的状态行为有关,但必须考虑用户使用系统的交互接口。

[解析]系统设计是问题求解及建立解答的高级策略。必须制定解决问题的基本方法,系统的高层结构形式包括子系统的分解、它的固有并发性、子系统分配给硬软件、数据存储管理、资源协调、软件控制实现、人机交互接口。

38.什么是软件危机?软件危机的表现是什么?其产生的原因是什么?

解:软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

软件危机表现在以下四个方面:

(1)经费预算经常突破,完成时间一再拖延。由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计划很难制定。主观盲目制定计划,执行起来与实际情况有很大差距,使得开发经费一再突破。由于对工作量估计不足,对开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。(2)开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确的表达。开发工作开始后,软件人员和用户又未能及时交换意见,使得一些问题不能及时解决,导致开发的软件不能满足用户的要求,因而导致开发失败。(3)开发的软件可维护性差。开发过程中没有同意的、公认的规范,软件开发人员按各自的风格工作,各行其是,开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行时发现错误也很难修改,导致维护性差。(4)开发的软件可靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。

造成软件危机的原因是:(1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。(6)开发工具落后,生产率提高缓慢。

[解析]由于软件危机的出现,人们才开始用工程化的思想来开发软件,从此,软件生产才步入了软件工程时代。

39.软件质量保证应做好哪几方面的工作?

解:软件质量保证是软件工程管理的重要内容,软件质量保证应做好以下几方面的工作:

(1)采用技术手段和工具。质量保证活动要贯彻开发过程始终,必须采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。(2)组织正式技术评审。在软件开发的每一个阶段结束时,都要组织正式的技术评审。国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。(3)加强软件测试。软件测试是质量保证的重要手段,因为测试可发现软件中大多数潜在错误。(4)推行软件工程规范(标准)。用户可以自己制定软件工程规范(标准),但标准一旦确认就应贯彻执行。(5)对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。(6)对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。

[解析]软件的质量保证是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,是软件工程管理中的重要内容。五,论述题(本大题共3小题,第40小题7分,第41小题8分,第42小题10分,共25分)

40.请使用PAD图和PDL语言描述在数组A(1)~A(10)中找最大数的算法。

解:PDL语言:

N=1

WHILE N<=10 DO

IF A(N)<=A(N+1)MAX =A(N+1);

ELSE MAX =A(N)ENDIF;

N=N+1;

ENDWHILE;

PAD图:

[解析]人工查找时,是从第一个元素开始查找,用当前元素与下一个元素比较,将较大者作为当前元素又与下一元素比较,如此循环,直到数组末尾。41.根据下列条件使用等价类划分法设计测试用例。

某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是-177~177,如05,0127,-065

解:(1)划分等价类并编号,如下表示:(4分)

(2)为合理等价类设计测试用例,表中有两个合理等价类,设计两个例子(2分)

(3)为不合理等价类测试用例,至少设计一个测试用例(2分)

[解析]等价类划分属于黑盒测试的一种,它将输入数据域按有效的或无效的划分成若干个等价类,测试每个等价类的代表值就等于对该类其他值的测试,这样用少量有代表性的例子代替大量测试目的相同的例子,可以有效提高测试效率。本题划分了3个合理等价类,9个不合理等价类进行测试,取到了预期的效果。

42.某电器集团公司下属的厂包括技术科、生产科等基层单位。现在想建立一个计算机辅助企业管理系统,其中:

生产科的任务是:

(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。

(2)根据车间实际生产日报表、周报表调整月生产计划

(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。

(4)将产品的组装计划传达到各科,将组装月计划分解为周计划,下达给车间

技术科的任务是:

(1)根据生产科转来的组装计划进行产品结构设计,产生产品装配图给生产科,产生外购需求计划给供应科,并产生产品自制物料清单。

(2)根据组装计划进行产品工艺设计,根据产品自制物料清单产生工艺流程图给零件厂。试写出以上系统中生产科和技术科处理的软件结构图。

解:

画出生产科图的给6分,画出技术科的给4分。

[解析]软件结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制层次体系,软件结构往往用树状或网状结构的图形来表示,其主要内容有模块及模块的控制关系,根据题意,可绘制出生产科和技术科的软件结构图,其中生产科的结构图深度和宽度均为4,技术科的结构图的深度和宽度均为3。

第三篇:软件工程 期末考试 名词解释

面向对象建模及它们之间的关系:对象建模:定义了做事情的实体;动态模型:明确规定了什么时候做;功能模型:指明了应该做什么;他们相互补充,相互配合。对象模型是最基本最重要的,他为其他两种模型奠定了基础,我们依靠对象模型完成了3种模型的集成软件工程定义:1把系统的,规范的,可度量的途径应用于软件开发,运行和维护过程,也就是把工程应用于软件;2研究1中提到的的途径

软件生命周期各阶段的基本任务:问题定义;可行性研究;需求分析;总体设计;详细设计;编码和单元测试;综合测试;软件维护

软件过程定义:软件过程是为了获得高质量软件所需要完成的一系列任务的框架,他规定了完成各项任务的工作步骤

生命周期:它规定了把生命周期划分成哪些阶段及各个阶段的执行顺序,也称过程模型

生命周期/过程模型:瀑布模型;快速原型模型;增量模型;螺旋模型

可行性研究过程步骤:1复查系统规模和目标;2研究目前正在使用的系统;3导出新系统的高层逻辑模型;4进一步定义问题;5导出和评价供选择的解法;6推荐行动方针;7草拟开发计划;8书写文档提交审查 系统流程图定义:它是概括地描绘物理系统的传统工具

数据流图DFD定义:它是一种图形化技术,他描绘信息流和数据从输入移动到输出地过程中所经受的变换 符号:数据流图有4种基本符号:正方形表示数据原点或终点;圆角矩形或圆形代表变换数据和处理;开口矩形代表数据存储;箭头表示数据流,即特定数据的流动方向

典型总体设计过程的9个步骤:1设想供选择的方案;2选取合理的方案;3推荐最佳方案;4功能分解;5设计软件结构;6设计数据库;7制定测试计划;8书写文档(系统说明;用户手册;测试计划;详细实现计划;数据库设计结果);9审查和复审

模块独立程度的定性标准度量:1耦合:对一个软件结构内不同模块之间互联程度的度量;2内聚:它标志一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然拓展

结构程序设计经典定义:如果一个程序的代码块仅仅通过顺序,选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的人机界面设计,设计指南:1一般交互指南;2信息显示指南;3数据输入指南

程序流程图:又称程序框图,优点:对控制流程的描绘很直观,便于初学者掌握;缺点:1程序流程图本质上不是逐步求精的好工具,他透使程序员过早地考虑程序的控制流程而不去考虑程序的全局结构;2程序流程图中用箭头代表控制流,因此程序员不受任何约束,可以完全不顾结构程序设计精神随意转移控制;3程序流程图不易表示数据结构

盒图:又称S-N图,特点:1功能域明确,可以从盒图上一眼就看出来;2不可能任意转移控制;3很容易确定局部和全程数据的作用域;4很容易表现嵌套关系,也可以表示模块的层次结构

Jackson图:1顺序结构:数据由一个或多个数据元素组成,每个元素按确定次序出现一次;2选择结构:数据包含两个或多个数据元素,每次使用这个数据时按一定条件从这些数据元素中选择一个;3重复结构:重复结构的数据,根据使用时的条件由一个数据元素出现零次或多次构成Jackson图的优点:1便于表示层次结构,而且是对结构进行自顶向下分解的有力工具;2形象直观可读性好;3技能表示数据结构也能表示程序结构

计算环形复杂度的方法:1流程图中的区域数等于环形复杂度;2流程G的环形复杂度V(G)=E-N+2,其中E是流程图中边的条数,N是结点数;3流程G的环形复杂度V(G)=P+1,其中P是流程图中判定结点的数目

程序编码的风格应遵循的规则:1程序内部文档;2数据说明;3语句构造;4输入输出;5效率

软件测试的目标(定义):1测试是为了发现程序中的错误而执行的过程;2好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;3成功的测试是发现了至今为止尚未发现的错误的测试

测试的目标:暴露程序中的错误

软件测试的准则:1所有测试都应该能追述到用户需求;2应该远在测试开始之前就制定出测试计划;3把

Pareto原理应用到软件测试中;4应该从小规模测试开始,并逐步进行大规模测试;5穷举测试是不可能的;6为了达到最佳测试效果,应从独立的第三方从事测试工作

测试方法:1白盒测试即结构测试;2黑盒测试即功能测试

测试步骤(先后顺序):1模块测试;2子系统测试;3系统测试;4验收测试;5平行测试

软件维护的定义:在软件应经交付使用之后,为了改正错误或满足新需要而修改软件的过程

软件的可维护性定义:维护人员理解,改正,改动或改进这个软件的难易程度

决定软件可维护的5个因素:1可理解性;2可测试性;3可修改性;4可移植性;5可重用性

面向对象方法学的优点:1与人类习惯的思维方式一致;2稳定性好;3可重用性好;4轻易开发大型软件产品

启发规则:1设计结果应该清晰易懂;2一般到特殊结构的深度适当;3设计简单的类;4使用简单的协议;5使用简单的服务;6把设计变动减成至最小

软件重用:也叫再用或复用,是指同一事物不做修改或稍加改动就多次重复使用

软件重用的三个层次:1知识重用;2方法和标准重用;3软件成分重用

软件维护的特点:1结构化维护和非结构化维护差别巨大;2维护代价高昂;3维护的问题很多

需求分析任务:确定对系统的综合要求;分析系统的数据要求;导出系统的逻辑模型;修正系统的开发计划

验证软件需求:一致性;完整性;现实性;有效性

黑盒测试力图发现下述类型错误:功能不正确或遗漏了功能;界面错误;数据结构错误或外部数据库访问错误;性能错误;初始化和终止错误

黑盒测试满足标准的测试用例集:所设计出的测试用例能减少为达到合理测试所需要设计的测试用例的总数;所设计出的测试用例能告诉我们能否存在某些类型的错误,而不仅仅指出与特定测试相关的错误是否存在1在软件开发过程中要产生大量的信息,要进行大量的修改,软件配置管理能协调软件开发,并使混乱减到最低程度。

2规定功能的软件,在一定程度上对自身错误的作用(软件错误)具有屏蔽能力,则称此软件具有容错功能的软件。

3McCall提出的软件质量模型包括11个软件质量特性。

4软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。

5为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。

6程序设计语言的心理特性主要表现在歧义性、简洁性、传统性、局部性和顺序性。

7软件结构是以模块为基础而组成的一种控制层次结构。

8在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、判定树。

9结构化语言是介于自然语言和形式语言之间的一种半形式语言。

10若年利率为i,不计复利,n年后可得钱数为F,则现在的价值P= F/(1+(n*i))

11软件可靠性是指在给定的时间间隔内,程序成功运行的(概率)。0101

12高级语言:独立于机器,面向过程或面向(对象)0101

13软件项目管理的范围主要集中于3个P上,即:People人员、Problem问题和(过程)。0201 14人机界面的风格第一代界面是命令和(询问)方式。1202

15由于维护或在维护过程中其他一些不期望的行为引入的错误称为维护的(副作用)。1504

16在公式V(G)= E – N + 2中:E为程序图G中边的总数; N 为程序图中结点的总数。V(G)又称为图G的环形(复杂度)0204。

17任何一个基于计算机系统都可以用输入-处理-输出(IPO)图来描述,它将系统转成一个信息变换模型

18为提高可交互性一般对所有可能造成损害的用户操作动作,应坚持要求用户(确认),例如,提问“你确实要删除„?”。1204

19文档是一种数据媒体和其上所记录的(数据)。0101

20文档(document)—一种数据媒体和其上所记录的(数据)。0101

21机器语言、汇编语言:依赖于机器,面向(机器)0101

22软件有效性(efficiency),指软件系统的时间和(空间)效率。0103

23软件定义过程可通过软件系统的(可行性研究)和需求分析两个阶段来完成。0103

24软件定义的基本任务是确定软件系统的工程(需求),也就是要搞清“做什么”。0103

25为了使用户需求逐步精细化、完全化、一致化,通常采用(需求建模技术)。0402

一个软件的深度是指其控制的(层数)。0801

26以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫(编码)过程。1301

27软件维护是软件生命周期的(最后)一个阶段。1501

28软件的可互操作性,是指多个软件元素相互(通信)并协同完成任务的能力。0201

29第三代语言也称为(高级)语言。1301

30软件测试是软件投入运行(前),对软件需求分析、设计、实现的强有力的最终审查。1401

31黑盒测试主要是测试软件是否满足(功能)需求。1402

32(调试)的目的是确定错误的位置和引起错误的原因,并加以改正。因此,又称为排错或纠错。1404 33软件工程由方法、工具和(过程)三部分组成,称软件工程的三要素。0101

34软件可追踪性(traceability),是指根据软件需求对软件设计、程序进行正向追踪,或根据程序、软件设计对软件需求进行(逆向)追踪的能力。0103

35瀑布模型是由W.Royce于1970年提出来的。又称为软件(生存周期)模型。0104

36程序设计语言的(可维护)性通常指这种语言编写的程序被理解,被修改及调整和改进的难易程度。1302 37软件工程由方法、(工具)和过程三部分组成,称软件工程的三要素。0101

38软件可理解性,指系统具有清晰的结构,能直接反映问题的(需求)。0103

39在实体-关系图简称E-R图中,数据对象实体用长方形、关系用(菱形)、属性用椭圆表示。0502

40建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处理数据的来源和一个(输出)数据流来反映加工的结果。0503

41从工程管理的角度软件设计可分为概要设计和(详细)设计两大步骤。0801

42通过向用户提供视觉和听觉上反馈,保持用户与界面间的双向通信,是提高界面可(交互)性的措施之一 43程序设计语言的可靠性是指程序设计语言本身不出错或对错误的(纠正)能力。1302

44对发现错误较多的程序模块,应进行(重点)测试。1401

45测试用例中,不仅要选择合理的输入数据,还要选择(不合理)的输入数据。

46软件工程由(方法)、工具和过程三部分组成,称软件工程的三要素。0103

47基于计算机系统的软件要素中的软部件由程序、数据和(文档)组成。0301

48数据流图就是用来刻画数据流和转换的信息系统建模技术。它用简单的图形记号分别表示数据流、转换、(数据源)以及外部实体。0501

49被继承的类我们称之为基类(父类),在基类的基础上新建立的类我们称之为派生类子类。0701

50流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和(循环)三个基本控制构件。0802 51机器语言和汇编语言,也称为(低级)语言。1301

52软件测试是执行程序发现并排除程序中潜伏的(错误)的过程。1401

53动态测试有两种测试方法:黑盒测试和(白盒)测试。1401

54软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的(难易)程度。0103

第四篇:《软件工程》期末考试模拟练习题

期末考试模拟练习题

一、填空题

1、用软件工程的观点看,软件=__程序____+____数据____+___系列文档__。

2、软件是计算机系统中与硬件相互依存的部分,它是包括_____程序_____,_____数据

____和___系列文档___的完整集合。

3、可行性分析的内容包括四个方面:__技术可行性_____,_经济可行性__,_操作可行

性____和___法律可行性__。

4、软件开发的结构化分析方法中,数据加工是组成内容之一。常用的加工说明的描述

方法有__结构化语言___、_____判定树____和____判定表__。

5、面向数据流的软件设计方法,一般将数据流图分成两种类型,一种称为__变换型___,另一种称为_事务型_。

6、内聚和耦合是模块独立性的重要度量,内聚是指__模块内部各软件元素之间结合的紧密程度___,耦合是指__度量一个软件结构中模块与模块之间联系程度强弱的一个指标__,从设计策略讲,模块的分解应遵循____高___内聚____低___耦合的原则。

7、程序设计语言的三个特性分别是_工程特性__,__技术特性__,_心理特性__。

8、大型软件系统的测试基本上由以下几个步骤组成,分别是__单元测试__,__集成测

试___,_确认测试___,_系统测试__和__验收测试___,其中需要最终用户参与的测试为___验收测试和系统测试__。

9、白盒子测试技术是从程序内部的逻辑结构及处理过程入手来设计测试用例,故

又称为__结构测试__测试;而黑盒子测试技术则相反,它是以需求规格说明书为根据来设计测试用例,故又称为__功能测试__测试。

10、软件维护的类型分为4种,分别是_改正性维护_,__适应性维护_,___完善性维

护_,___预防性维护_。

11、在软件运行中发生异常或故障时进行的维护工作称为__改正性维护___维护。在软

件的使用过程中,根据用户提出的新增系统功能和改善性能的要求而对软件进行修改或再开发,以扩充软件功能、增强软件性能、改进加工效率、提高软件质量的工作成为____完善性维护__维护。

12、面向对象就是运用___对象___、___类____、____继承______、___封装____、___消息____等面向对象的概念对问题进行分析,求解的系统开发技术。

13、由Rumbaugh等人提出的一种面向对象方法叫做对象模型化技术(OMT),它要求

把分析时收集的信息建立在3个模型中。第一个模型是__对象模型__,它的作用是描述系统的静态结构,包括构成系统的对象和类、它们的属性和操作,以及它们之间的联系。第二个模型是_动态模型_,它描述系统的控制逻辑,主要涉及系统中各个对象和类的时序及变化状况。第三个模型是_功能模型_,它着重于描述系统内部数据的传送与处理,它由多个数据流图组成。

14、在软件研制过程中,CASE是指__计算机辅助软件工程_。

15、面向对象的软件开发方法中,UML指__统一建模语言_。

二、选择题

1、瀑布模型将软件生命周期划分为计划、开发和运行三个时期。在下述工作中,属于

软件开发期的内容是_D___。

I 需求分析II 可行性分析III 结构设计

A)都是C)只有I

B)I和IID)I和III2、软件计划的目的是提供一个框架,使主管人员对项目能在短时间内进行合理的估价。

在下述内容中,不属于计划期的内容是_C___。A)资源需求

C)功能需求

B)成本估算D)项目进度

3、数据流图是用于软件需求分析的工具,下列元素中_C____是数据流图的基本元素。

I 数据流II 数据加工III 数据存储IV 外部实体 A)I、II和III C)全部

B)I和IIID)I、III和IV4、软件开发的结构化分析方法中,数据加工是组成内容之一。在下列方法中,常采用

编写加工说明方法的是__D__。

I 结构化语言II 判定树III判定表A)只有I

B)只有IID)都是

C)II和III5、软件工程的结构化分析方法强调的是分析开发对象的__A___。

A)数据流

B)控制流D)进程通信

C)时间限制

6、原型化方法是用户和软件开发人员之间进行的一种交互过程,适用于___A___系统。

A)需求不确定性高的C)管理信息

B)需求确定的 D)决策支持

7、软件的设计分两个阶段,即结构设计和详细设计,结构设计又称为_B__。

A)逻辑设计C)规划设计

B)总体设计 D)抽象设计

8、模块本身的内聚是模块独立性的重要度量因素之一,7类内聚中具有最强内聚的一

类是_D___。

A)顺序性内聚C)逻辑性内聚

B)过程性内聚 D)功能性内聚

9、软件测试的对象是___C___。A)程序

B)文档 D)模块算法

C)程序和各个软件配置项

10、成功的测试是指___B___。

A)运行测试实例后未发现错误项

C)证明程序正确

B)发现程序中的错误 D)改正程序中的错误

11、若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现在从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是__A_。A)边界值分析法C)条件覆盖法

B)等价分类法 D)错误推测法

12、因计算机硬件和软件环境的变化而做出的修改软件的过程称为______C______维

护。在软件维护类型中占全部维护活动一半以上的是______________维护。

I 改正性维护A)I,II

II 适应性维护 B)II,I

III 完善性维护 C)II,III

IV 预防性维护 D)II,IV13、在面向对象分析中,下列各项可列入类的实例的是____D_。

I 学生II 网上购物III白马IV 张三A)I 和 II

B)II 和IV D)都是

C)II、II、IV14、下列哪些问题是项目管理工作应该重点考虑的___C___。

I 风险分析和管理IV软件项目计划

II 项目进度安排V 软件配置管理

III 软件需求分析 VI软件测试

A)III,VIB)III,IV,VIC)I、II、IV、VD)都是

15、软件文档是软件工程实施中的重要成分,它不仅是软件开发各阶段的重要依据而且

也影响软件的_B____。

A)可理解性

B)可维护性 D)可移植性

C)可扩展性

第五篇:GIS软件工程期末考试复习题

《软件工程》选择题

一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分)

1.软件产品的开发主要是(D)。

A.复制B.再生产C.拷贝D.研制

2.可行性研究的目的是决定(B)。

A.开发项目B.项目值得开发否C.规划项目D.维护项目

3.SA方法用DFD描述(D)。

A.系统的控制流程B.系统的数据结构

C.系统的基本加工D.系统的功能

4.进行需求分析可使用多种工具,但(C)是不适用的。

A.数据流图(DFD)B.判定表C.PAD图D.数据字典

5.软件设计阶段一般又可分为(B)。

A.逻辑设计与功能设计B.总体设计与详细设计

C.概念设计与物理设计D.模型设计与程序设计

6.软件设计中划分模块的一个准则是(C)。

A.低内聚低耦合B.低内聚高耦合C.高内聚低耦合D.高内聚高耦合7.下列语言中哪个语言是低级语言(D)

A.PASCALB.VISUAL BASICC.C++D.汇编语言

14.软件测试的目的是(B)。

A.试验性运行软件B.发现软件错误

C.证明软件正确D.找出软件中全部错误

8.软件测试中,白盒法是通过分析程序的(B)来设计测试用例的。

A.应用范围B.内部逻辑C.功能D.输入数据

9.黑盒法是根据程序的(C)来设计测试用例的。

A.应用范围B.内部逻辑C.功能D.输入数据

10.把一组具有相似特性的对象组合在一起,称之为(C)。

A、多态性B、继承性C、类D、消息

11.面向对象的主要特征除对象唯一性、封装、继承外,还有(A)

A、多态性B、完整性C、可移植性D、兼容

12.软件生存周期中时间最长的是(D)阶段。

A.需求分析B.概要设计C.测试D.维护

13.与计算机科学的理论研究不同,软件工程是一门(C)学科。

A.理论性B.原理性C.工程性D.心理性

14.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节

出错,对软件的影响最大(C)。

A、详细设计阶段B、总体设计阶段C、需求分析阶段D、测试和运行阶段

15.软件工程的出现主要是由于(C)。

A.程序设计方法学的影响B.其它工程科学的影响 C.软件危机的出现D.计算机的发展

16.SA方法的基本思想是(C)

A.自底向上逐步抽象B.自底向上逐步分解C自顶向下逐步分解 D.自顶向下逐步抽象

17、为了提高软件测试的效率,应该(D)。

A.随机地选取测试数据

B.取一切可能的输入数据作为测试数据

C.在完成编码以后制定软件的测试计划

D.选择发现错误可能性较大的数据作为测试用例

18.与设计测试用例无关的文档是(A)。

A.项目开发计划B.需求规格说明书C.设计说明书D.源程序

19.使用白箱测试方法时确定测试数据应根据(A)和指定的覆盖标准。

A.程序的内部逻辑B.程序的复杂程度C.使用说明书D.程序的功能

20.软件部件的内部实现与外部可访问性的分离,是指软件的(C)。

A.继承性B.共享性C.封装性D.抽象性

21、软件管理的具体内容包括对(D)

A.开发人员、组织机构B.用户管理、配置管理C.控制、文档资料 D.(A)、(B)和(C)

22.软件需求分析阶段的工作,可以分为四个方面:对问题的识别.分析与综合.编写需求分

析文档以及(B)

A.软件的总结B.需求分析评审C.阶段性报告D.以上答案都不正确

23..数据流图是常用的进行软件需求分析的图形工具,其主要图形元素是(C)

A.输入.输出.外部实体和加工B.变换.加工.数据流和存储

C.加工.数据流.数据文件和源或宿D.变换.数据存储.加工和数据流

24、软件的集成测试工作最好由(D)承担,以提高集成测试的效果。

A.该软件的设计人员B.该软件开发组的负责人

C.该软件的编程人员D.不属于该软件开发组的软件设计人员

25.软件生命周期的最后的一个阶段是(B)

A.书写软件文档B.软件维护C.稳定性测试D.书写详细用户说明McCall提出了表明软件质量的11个质量特性。它们是正确性、可靠性、可使用性、完整性、(D)、可移植性、可复用性、效率、可测试性、互联性。

A.模块独立性、安全性B.文档完备性、灵活性

C.可维护性、安全性D.可维护性、灵活性

27、每个对象可用它自己的一组属性和它可以执行的一组(C)来表征。

A、行为B、功能C、操作D、数据

28、面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以由父类,下层可以有子类,这种层次结构系统的一个重要性质是(B),一个类获得其父亲的全部描述(数据和操作)

A、传递性B、继承性C、复用性D、并行性

29、软件开发在需求分析、设计、编码、测试这几个阶段所需不同层次的技术人员大致是

(C)

A.初级、高级、高级、初级B.中级、中级、高级、中级

C.高级、中高级、初级、中高级D.中级、中高级、中级、初级

30、软件重用的单位是(A)。

A.软件模块 B.性能C.系统D.功能

31、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)

A、相互排斥B、相互补充C、独立使用D、交替使用

32、系统分析员是(B)

A、用户中系统的直接使用者B、用户和软件人员的中间人

C、软件的编程人员D、用户和软件人员的领导

33、结构化分析SA方法以数据流图、(D)和加工说明等描述工具,即用直观的图和简洁的语言来描述软系统模型。

A、DFD图B、PAD图C、IPO图D、数据字典

34、在E-R 模型中,包含以下基本成分(C)。

A、数据、对象、实体B、控制、联系、对象

C、实体、关系、属性D、对象、属性、操作

35、结构设计是一种应用最广泛的系统设计方法,是以(A)为基础、自顶向下、逐步求精和模块化的过程。

A、数据流B、数据流图C、数据库D、数据结构

36、初步用户手册在(B)阶段编写。

A.可行性研究 B.需求分析 C.软件总体设计 D.软件详细设计

37、在软件结构化设计中,好的软件结构设计应该力求做到(B)。

A、顶层扇出较少,中间层扇出较高,底层模块低扇入

B、顶层扇出较高,中间层扇出较少,底层模块高扇入

C、顶层扇入较少,中间层扇出较高,底层模块高扇入

D、顶层扇入较少,中间层扇入较高,底层模块低扇入

38、软件详细设计主要采用的方法是(D)。

A、模块设计B、结构化设计C、PDL语言D、结构化程序设计

39、软件测试的手段有多种,通过人工来评审文档或程序,借以发现其中错误,该手段是(D)。

A、黑盒测试B、正确性测试C、动态测试D、静态测试

40、黑盒测试在设计测试用例时,主要需要研究(A)。

A、需求规格说明与概要设计说明B、详细设计说明

C、项目开发计划D、概要设计说明与详细设计说明

41、在整个软件维护阶段所花费的全部工作中,(C)所占比例最大。

A、改正性维护B、适应性维护C、完善性维护D、预防性维护

42.软件需求分析阶段的工作,可以分为以下4个方面:对问题的识别、分析与综合、编写需

求分析文档以及(C)。

A.总结B.阶段性报告C.需求分析评审D.以上答案都不正确

43.在结构化分析方法中,用以表达系统内数据的运动情况的工具有(A)。

A.数据流图B.数据词典C.结构化语言 D.判定表与判定树

44.来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为(D)工具。

A.CADB.CAIC.CAMD.CASE

45.螺旋模型综合了(A)的优点,并增加了风险分析。

A.瀑布模型和演化模型B.瀑布模型和喷泉模型

C.演化模型和喷泉模型D.原型和喷泉模型

46.SA方法的分析步骤是首先调查了解当前系统的工作流程,然后(A)。

A.获得当前系统的物理模型,抽象出当前系统的逻辑模型,建立目标系统的逻辑模型

B.获得当前系统的物理模型,抽象出目标系统的逻辑模型,建立目标系统的物理模型

C.获得当前系统的物理模型,建立当前系统的物理模型,抽象出目标系统的逻辑模型

D.获得当前系统的物理模型,建立当前系统的物理模型,建立目标系统的物理模型

47.设计软件结构一般不确定(C)。

A.模块的功能B.模块的接口

C.模块内的局部数据D.模块间的调用关系

48.结构分析方法就是面向(D)自顶向下逐步求精进行需求分析的方法。

A.目标B.功能C.对象D.数据流

49.软件是一种(B)产品。

A.物质B.逻辑C.有形D.消耗

50.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和(C)。

A、详细计划B、可行性分析C、运行阶段D、测试与排错

51.结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B)

A、控制流B、数据流C、程序流D、指令流

52.在软件的可行性研究中,可以从不同的角度对软件的可行性进行研究,其中是从软件的功能可行性角度考虑的是(B)

A、经济可行性B、技术可行性C、操作可行性D、法律可行性

53、下述任务中,不属于软件工程需求分析阶段的是(D)。

A.分析软件系统的数据要求B.确定软件系统的功能需求

C.确定软件系统的性能要求D.确定软件系统的运行平台

54、火车是一种陆上交通工具,火车和陆上交通工具之间的关系是(D)关系。

A.组装B.整体成员C.has aD.一般具体

55.瀑布模型的存在问题是(B)

A.用户容易参与开发B.缺乏灵活性

C.用户与开发者易沟通D.适用可变需求

56.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)

A.软件工程B.软件周期

C.软件危机D.软件产生

57.软件测试的目的是(B)。

A. 评价软件的质量B.发现软件的错误

C. 找出软件的所有错误D.证明软件是正确的58.需求分析最终结果是产生(B)。

A.项目开发计划B.需求规格说明书

C.设计说明书D.可行性分析报告

59.快速原型模型的主要特点之一是(D)

A.开发完毕才见到产品B.及早提供全部完整的软件产品

C.开发完毕后才见到工作软件D.及早提供工作软件

60.结构分析方法就是面向(B)自顶向下逐步求精进行需求分析的方法。

A. 目标B.数据流C.功能D.对象

61.研究开发所需要的成本和资源是属于可行性研究中的(B)研究的一方面。

A.技术可行性B.经济可行性C.社会可行性D.法律可行性

62.为了提高软件的可维护性,在编码阶段应注意(D)

A.保存测试用例和数据B.提高模块的独立性

C.文档的副作用D.养成好的程序设计风格

《软件工程》填空题

二、填空题(请把答案写在相应的横线上,每小题1.5分)

1、面向对象开发方法包括 OOA、OOD、OOP 三部分。

2、在单元测试时,需要为被测模块设计 驱动模块和桩模块。

3、软件工程管理的具体内容包括对开发人员、组织机构、用户、文档资料等方面的管理。

4、可行性研究的三个方面是 技术可行性、社会可行性 和__经济可行性__。

5、对象的抽象是___类___。

6、软件工程包括软件开发技术和__软件工程管理__两大部分内容。

7、需求分析阶段产生的最重要的文档是__需求规格说明书_。

8、结构化方法是一种面向数据流的开发方法。由结构化分析、_结构化设计_、结构化程序设计构成。

9、对象之间进行通信的构造叫做_消息_。

10、结构化分析方法的分析策略是__自顶向下逐步求精__。

11、规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为___容错__软件。

12、软件生存周期包括问题定义、可行性研究,需求分析,总体设计,详细设计,_编码_,测试,维护活动,可以将这些活动以适当方式分配到不同阶段去完成13、___可行性研究___的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。

软件工程简答题

三、简答题(简要回答下列问题,每小题4分*5=20)

1、什么是软件工程?它目标和内容是什么?

软件工程就是用科学的知识和技术原理来定义,开发,维护软件的一门学科。

软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

软件工程内容:包括开发技术和开发管理两个方面。

2、什么是软件生存周期?它有哪几个活动?

软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。

3、衡量模块独立性的两个标准是什么?各表示什么含义?

内聚和耦合。

内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。

4、软件设计的基本原理包括哪些内容?

⑴模块化:模块是软件的组成部分,是具有独立功能且可命名的一段程序,所有模块组成整体,可以满足问题的要求。

⑵抽象:认识复杂现象过程所使用权的工具,只考虑事物本质的共同特性,忽略细节和其它因素。通过抽象确定组成软件的过程实体。

⑶信息隐蔽:将模块实现自身功能的细节与数据“隐蔽”起来。模块间仅交换为完成系统功能所必须的信息。

⑷模块独立性:每个模块只完成系统要求的独立的子功能。

5、软件生命周期划分为哪几个阶段?

软件生命周期分为三个时期八个阶段:

软件定义:问题定义、可行性研究;

软件开发:需求分析、概要设计、详细设计、编码、测试;

软件运行:软件维护

《软件工程》应用题

四、综合应用题(每小题10分*3=30)

1.给你一个GIS软件开发任务由 你负责,你将怎样进行?

2.目前常用的GIS开发、应用平台软件有哪些,各有什么特点

3.合格的GIS软件工程负责人应该有什么样的素质和知识?

下载软件工程期末考试总结word格式文档
下载软件工程期末考试总结.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    软件工程总结

    1. Software is a product and can be manufactured using the same technologies used for other engineering artifacts Answer: b 2. WebApps are a mixture of print pu......

    软件工程总结

    第一章软件与软件工程的概念 软件的概念:软件是计算机系统中与硬件相互依存的另一部分,软件包括程序,数据,及其相关文档的完整集合。程序是按事先设计的功能和性能要求执行的指......

    软件工程总结

    一、软件工程概述1.软件特点 软件:计算机程序(人们为了实现特定的功能而编制的一组指令集),软件文档,以及计算机程序运行时所需要的数据。 软件是计算机系统中的逻辑成分,具有无形......

    软件工程总结

    软件工程的定义:软件工程是将系统化的,规范化的,可度量的方法应用于软件的开发,运行和维护过程,即将工程化应用于软件中的方法的研究。软件工程的定义2:开发运行,维护和修复软件的......

    软件工程总结

    软件工程课程总结 摘要: 计算机是20世纪最重大的科学技巧成就之一,使当代社会的经济、军事、科研、教育、服务等方面在概念和技巧上发生了性的变化,对人类社会的进步已经并还将......

    软件工程课程设计总结

    软件工程课程设计总结 我们所选择的图书管理系统的课程设计对我们是新的挑战和尝试的过程,利用所学习的软件设计知识并制作一个关于图书管理系统,在具体的设计与实施中,我们看......

    软件工程复习提纲总结

    第1部分:软件工程概论 要求掌握: ● 软件的概念,软件的本质特征是什么? 软件:是相对硬件而言的,是计算机系统中的程序、数据,及其相关文档的总称。 软件的本质是:对人的意识的反映......

    软件工程考试总结

    2.说明结构化程序设计的主要思想是什么? 答:(1)自顶向下、逐步求精的程序设计方法(2分)(2)使用3种基本控制结构、单入口、单出口来构造程序。结构化程序设计是实现该目标的关键技术......