第一篇:10级地理信息系统考试试题软件工程A1
东华理工大学10级地理信息系统专业
软件工程期末试题A1卷
一,单项选择题(本大题共20小题,每小题2分,共40分)
在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。
1.可行性研究要进行一次_____需求分析。
A.详细的B.全面的 C.简化的、压缩的 D.彻底的 答案为C。
2.系统流程图用于可行性分析中的_____的描述。
A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统
选择A。
3.系统流程图是描述_____的工具。
A.逻辑系统 B.程序系统 C.体系结构 D.物理系统 答案:c
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.主从关系
答案为C。
11.在变更控制中,______可以用来确保由不同用户所执行的并发变更。
A.异步控制 B.同步控制 C.存取控制 D.基线控制
12.变更控制是一项最重要的软件配置任务,其中“检出”和______处理实现了两个重要的变更控制要素,即存取控制和同步控制。
A.登入 B.管理 C.填写变更要求 D.审查
13.提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要
A.消除错误 B.检测错误 C.避开错误 D.容错
14._____是以提高软件质量为目的的技术活动。
A.技术创新 B.测试 C.技术创造 D.技术评审
15.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;________;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
(6)对软件质量进行度量。
33.什么是软件危机?软件危机的表现是什么?(20分)
解:软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。(8分)
软件危机表现在以下四个方面:
(1)经费预算经常突破,完成时间一再拖延。
(2)开发的软件不能满足用户要求。
(3)开发的软件可维护性差。
(4)开发的软件可靠性差。
20分)
(
第二篇:10级地理信息系统考试试题软件工程B1
东华理工大学10级地理信息系统专业
软件工程期末试题B1卷
一,单项选择题(本大题共20小题,每小题2分,共40分)
在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。
1.软件测试方法中的静态测试方法之一为()
A.计算机辅助静态分析 B.黑盒法 C.路径覆盖 D.边界值分析
答案为A。
2.系统流程图用于可行性分析中的_____的描述。
A.当前运行系统 B.当前逻辑模型 C.目标系统 D.新系统
选择A。
3.系统流程图是描述_____的工具。
A.逻辑系统 B.程序系统 C.体系结构 D.物理系统 答案:c
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.设计
答案为C。
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.程序的功能
二,填空题(本大题共10小题,每小题2分,共20分)
21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的(信息流动)情况。
22.成本效益分析的目的是从(经济)角度评价开发一个项目是否可行。
23. 所有软件维护申请报告要按规定方式提出,该报告也称(软件问题)报告。
24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条(在其他独立路径中未有过)的边的路径。
25.汇编语言是面向(机器)的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
26.在JSP方法中解决结构冲突的具体办法是(中间数据结构或中间文件)。
27.详细设计的任务是确定每个模块的内部特性,即模块的算法、(使用的数据)。
28.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和(宽度优先策略)。
29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的(维护支援)技术。
30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:(FORTRAN语言)、PASCAL语言、C语言和PL/1语言。三.简答题(本大题共4小题,共40分)
31.系统设计的内容是什么?(10分)
解:系统设计阶段先从高层入手,然后细化。系统设计要决定整个结构及风格,这种结构为后面设计阶段的更详细策略的设计提供了基础。
(1)系统分解。
(2)确定并发性。
(3)处理器及任务分配。
(4)数据存储管理。
(5)全局资源的处理。
32.软件质量保证应做好哪几方面的工作?(10分)
解:软件质量保证是软件工程管理的重要内容,软件质量保证应做好以下几方面的工作:(1)采用技术手段和工具。
第三篇:软件工程试题
一,单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的横线上。
1.可行性研究要进行一次_____需求分析。
参考答案为:C
A.详细的 B.全面的
C.简化的、压缩的D.彻底的
[解析]软件的可行性研究的目的就是用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得去开发。其实质是要进行一次简化、压缩了的需求分析、设计过程,要在较高层次上以较抽象的方式进行需求分析和设计过程。因此答案为C。
2.系统流程图用于可行性分析中的_____的描述。
参考答案为:A
A.当前运行系统
B.当前逻辑模型
C.目标系统
D.新系统
[解析]可行性研究首先要确定项目的规模和目标,然后就需要对当前运行的系统进行研究了,在考察系统的基础上,通过描绘现有系统的高层系统流程图,与有关人员一起审查该系统流程图是否正确。描述的对象是当前正在运行的系统,因此选择A。
3.系统流程图是描述_____的工具。
参考答案为:C
A.逻辑系统
B.程序系统
C.体系结构
D.物理系统
[解析]系统流程图是用图形符号来表示系统中的各个元素,例如人工处理、数据库、设备等,流程图表达了系统中各个元素之间的信息流动情况。是描绘物理系统的传统工具。
4._______工具在软件详细设计过程中不采用。
参考答案为:D
A.判定表
B.IPO图
C.PDL
D.DFD图
[解析]详细描述处理过程常用三种工具:图形、表格和语言。其中图形工具有结构化流程图、盒图和问题分析图三种,答案中的判定表是用来表示复杂的条件组合与应做的动作之间的对应关系。IPO图用来描述每个模块输入/输出数据、处理功能及模块调用的详细情况。PDL是过程设计语言的缩写,也称程序描述语言,用于描述模块算法设计和处理细节的语言,这三种都可以在软件详细设计过程中使用,而DFD图则是数据流图,是以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能,所以它只是一种功能模型,不能在详细设计过程中使用。
5.程序的三种基本控制结构是
参考答案为:B
A.过程、子程序和分程序
B.顺序、选择和重复
C.递归、堆栈和队列
D.调用、返回和转移
[解析]程序的三种基本控制结构是顺序、选择和循环(重复)。子程序只是程序设计一种方法,递归则是一种算法,都算不上是控制结构。
6.程序的三种基本控制结构的共同特点是
参考答案为:D A.不能嵌套使用
B.只能用来写简单程序
C.已经用硬件实现
D.只有一个入口和一个出口
[解析]程序的特点就是从一个入口开始,最终以一个出口结束,其间可以用顺序,选择和循环方式对程序的流向进行控制。三种结构可以写出非常复杂的程序,而且选择和循环都可以嵌套设计。
7.产生软件维护的副作用,是指
参考答案为:C
A.开发时的错误
B.隐含的错误
C.因修改软件而造成的错误
D.运行时误操作
[解析]因修改软件而造成的错误或其他不希望出现的情况称为维护的副作用,包括编码副作用、数据副作用、文档副作用三种。只有答案C是正确的表述。
8.维护中,因误删除一个标识符而引起的错误是_________副作用。
参考答案为:C
A.文档
B.数据
C.编码
D.设计
[解析]编码副作用指的是在使用程序设计语言修改源代码时可能引入错误,比如删除或修改一个子程序、一个标号、一个标识符,改变程序代码的时序关系,修改文件的打开或关闭等。因此本题答案为C。
9.可维护性的特性中相互促进的是
参考答案为:A
A.可理解性和可测试性
B.效率和可移植性
C.效率和可修改性
D.效率和结构好
[解析]软件的可维护性可用七个质量特性来衡量,分别是:可理解性、可测试性、可修改性、可靠性、可移植性、可使用性和效率。对于不同类型的维护,这些特性的侧重点也不相同,有一些可维护特性是可以相互促进的,比如可理解性和可测试性,可理解性和可修改性,另外一些则是相互矛盾的,如答案中的B效率和可移植性、C中的效率和可修改性。至于D中的结构好则不属于可维护性的特征。
10.汽车有一个发动机。汽车和发动机之间的关系是_____关系。
参考答案为:B
A.一般具体
B.整体部分
C.分类关系
D.主从关系
[解析]类有两种主要的结构关系,即一般——具体结构关系和整体——部分结构关系。前者称为分类结构,用来描述现实世界中的一般化的抽象关系。后者称为组装结构,用来描述现实世界中的类的组成的抽象关系。汽车和发动机的关系很明显,应该属于整体——部分关系。
11.在变更控制中,______可以用来确保由不同用户所执行的并发变更。
参考答案为:B
A.异步控制
B.同步控制
C.存取控制
D.基线控制
[解析]变更控制包括建立控制点和建立报告与审查制度,其过程中的“检出”和“登入”处理实现了存取控制和同步控制,存取控制管理各个用户存取和修改一个特定软件配置对象的权限,同步控制可用来确保由不同用户所执行任务的并发变更。
12.变更控制是一项最重要的软件配置任务,其中“检出”和______处理实现了两个重要的变更控制要素,即存取控制和同步控制。
参考答案为:A
A.登入
B.管理
C.填写变更要求
D.审查
[解析]“检出”和“登入”处理实现了两个重要的变更控制要素。具体说明见上题。
13.提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要
参考答案为:D
A.消除错误
B.检测错误
C.避开错误
D.容错
[解析]提高软件质量和可靠性的技术大致可分为两类,一类是避开错误技术,即在开发的过程中不让差错潜入软件的技术,另一类是容错技术,即对某些无法避开的差错,使其影响减至最小的技术。
14._____是以提高软件质量为目的的技术活动。
参考答案为:D
A.技术创新
B.测试
C.技术创造
D.技术评审
[解析]技术评审是以提高软件质量为目的的技术活动,是对软件本身的结构、与运行环境的接口、变更带来的影响等方面进行的评审活动。
15.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析、设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。因此面向对象方法有许多特征,如软件系统是由对象组成的;________;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
参考答案为:C
A.开发过程基于功能分析和功能分解
B.强调需求分析重要性
C.把对象划分成类,每个对象类都定义一组数据和方法
D.对既存类进行调整
[解析]面向对象方法有四个特征,分别是对象唯一性、分类性、继承性和多态性。其中分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类,每个类是具有相同性质的个体集合,而每个对象相关类的实例,对象彼此之间通过传递消息互相联系。
16.软件开发过程中,抽取和整理用户需求并建立问题域精确模型的过程叫
参考答案为:D
A.生存期
B.面向对象设计
C.面向对象程序设计
D.面向对象分析
[解析]面向对象的分析的过程就是认识客观世界的过程,其目的就是建立对客观世界的精确、简洁、可理解的正确模型,也就是所谓的建模。因此本题答案为D。
17.原型化方法是用户和设计者之间执行的一种交互构成,适用于______系统。
参考答案为:A
A.需求不确定性高的B.需求确定的C.管理信息
D.实时
[解析]原型不同于最终系统,它只实现所选择的部分功能,仅是为了试验或是演示而用,部分功能需求可以忽略或者模拟实现,因此适用于需求不确定性高的系统。
18.原型化方法是一种_______型的设计过程。
参考答案为:A
A.自外向内
B.自顶向下
C.自内向外
D.自底向上
[解析]原型化方法的基本思想是根据用户给出的基本需求,通过快速实现构造出一个小型的、可执行的模型,用户在计算机上实际运行这个用户界面原型,在试用过程中提出意见或建议,然后开发者再对原型进行改进。如此周而复始,逐步弥补不足之处,从而提高了最终产品的质量。它是一种自外向内的设计过程。
19.为了提高测试的效率,应该
参考答案为:D
A.随机地选取测试数据
B.取一切可能的输入数据作为测试数据
C.在完成编码以后制定软件的测试计划
D.选择发现错误可能性大的数据作为测试数据
[解析]软件测试是为了尽可能多的发现程序中的错误,尤其是发现至今尚未发现的错误。在选取测试用例时,不可能进行穷举测试,在每一个细节进行测试,也不能无目的地随机选取测试数据,为了提高测试的效率,测试用例应该选择发现错误可能性大的部分,这样的测试结果才符合软件测试的目的。
20.使用白盒测试方法时,确定测试数据应根据_______和指定的覆盖标准。
参考答案为:A
A.程序的内部逻辑
B.程序的复杂结构
C.使用说明书
D.程序的功能
[解析]白盒测试是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,由于白盒测试是一种结构测试,所以被测对象基本上是源程序,以程序的内部逻辑和指定的覆盖标准确定测试数据。
二,填空题(本大题共10小题,每小题2分,共20分)
21.系统流程图是描述物理模型的传统工具,用图形符号表示系统中各个元素表达了系统中各种元素之间的()情况。
解:信息流动
[解析]系统流程图是描述物理系统的传统工具,用图形符号表示系统中的各个元素,如人工处理、数据处理、数据库、文件、设备等,表达了元素之间的信息流动的情况。
22.成本效益分析的目的是从()角度评价开发一个项目是否可行。
解:经济
[解析]成本效益分析首先是估算将要开发的系统的开发成本,然后与可能取得的效益进行比较和权衡,其目的是从经济角度评价开发一个新的软件项目是否可行。
23.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略:深度优先策略和()。
解:宽度优先策略
[解析]渐增式测试法有自顶向下结合和自底向上结合两种组装模块的方法,其中自顶向下集成是构造程序结构的一种增量式方式,不需要编写驱动模块,只需要编写桩模块。它从主控模块开始,按照软件的控制层次结构,以深度优先或宽度优先的策略,逐步把各个模块集成在一起。
24.独立路径是指包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条()的边的路径。
解:在其他独立路径中未有过
[解析]在基本路径测试中,以详细设计或源程序为基础,导出控制流程图的拓扑结构——程序图,在计算了程序图的环路复杂性之后,确定只包含独立路径的基本路径图,其中独立路径是包括一组以前没有处理的语句或条件的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。
25.汇编语言是面向()的,可以完成高级语言无法完成的特殊功能,如与外部设备之间的一些接口工作。
解:机器
[解析]汇编语言属于低级语言,是一种面向机器的语言,它与高级语言相比有许多优越性:如操作灵活,可以直接作用到硬件的最下层,完成与外部设备的接口工作等,是能够利用计算机硬件特性直接控制硬件设备的唯一语言。
26.在JSP方法中解决结构冲突的具体办法是()。
解:中间数据结构或中间文件
[解析]JSP方法是面向数据结构的设计方法。它定义了一组以数据结构为指导的映射过程,根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,在JSP方法中解决结构冲突的具体办法是引入中间数据结构或中间文件,将冲突部分分隔开来,建立多个程序结构,再利用中间文件把它们联系起来,构成一个系统的整体。
27.详细设计的任务是确定每个模块的内部特性,即模块的算法、()。
解:使用的数据
[解析]详细设计的基本任务是为每个模块进行详细的算法设计,为模块内的数据结构进行设计,确定每个模块的内部特性,包括模块的算法和使用的数据。对数据库进行物理设计等。
28.所有软件维护申请报告要按规定方式提出,该报告也称()报告。
解:软件问题
[解析]在软件维护的流程中,第一步就是制定维护申请报告,也称为软件问题报告,它是维护阶段的一种文档,由申请维护的用户填写。
29.有两类维护技术:在开发阶段使用来减少错误、提高软件可维护性的面向维护的技术;在维护阶段用来提高维护的效率和质量的()技术。
解:维护支援
[解析]面向维护的技术涉及软件开发的所有阶段,能够减少软件错误,提高软件的可维护性。而维护支援技术则包含信息收集,错误原因分析,维护方案评价等项,是在软件维护阶段用来提高维护效率和质量的技术。
30.科学工程计算需要大量的标准库函数,以便处理复杂的数值计算,可供选择的语言有:()、PASCAL语言、C语言和PL/1语言。
解: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)所建议系统的技术可行性分析:所建议系统的简要说明;处理流程和数据流程;与现有的系统比较的优越性;采用所建议系统对用户的影响;对各种设备、现有软件、开发环境、运行环境的影响;对经费支出的影响;对技术可行性的评价
简答题:
1、内聚与耦合的概念,2、结构化程序设计方法的三种结构,他们之间的联系与区别,3、集成测试的两种方法之间的不同点与相同点,4、抽象类图的名称与作用,这题还出了几个符号要写出其名称,5、P20页的那个图的名称,作用和特点。分析画图题:
1、画数据流图,2、画判定树与判定表,3、画系统流程图,4.^_^,不记得了,反正也是画我们常要画的图,5、根据伪码画出程序流程图,盒图,然后计算程序的复杂度,填空题,选择题主要考概念,jackson图方面的内容在填空题出了两题
第四篇:软件工程考试
软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理方法 软件工程三要素:方法、工具和过程
软件工程的内容:软件开发技术和软件开发管理两个方面
可行性研究方面:技术可行性经济可行性操作可行性法律可行性
IT项目可行性研究审计的概念:事前对IT项目从技术和经济两个方而进行的详细论证,涉及
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合.包括(1)数据流(2)数据元素(3)数据存储(4)处理 验证软件需求的正确性:(1)一致性:所有需求必须是一致的,任何一条需求不能和其他需求互相矛盾。(2)完整性: 需求必须是完整的,规格说明书应该包括用户需要的每一个功能或性能(3)现实性:指定的需求应该是用现有的硬件技术和软件技术基本上可以实现的。对硬件技术的进步可以做些预测,对软件技术的进步则很难做出预测,只能从现有技术水平出发判断需求的现实性。(4)有效性: 必须证明需求是正确有效的,确实能解决用户面对的问题。
软件设计过程有:1数据设计:将实体 – 关系图中描述的对象和关系,以及数据词典中描述的详细数据内容转化为数据结构的定义。2总体结构(系统结构)设计: 定义软件系统各主要成份之间的关系。3过程设计: 把结构成份转换成软件的过程性描述。4接口设计:定义软件内部各成份之间、软件与其它协同系统之间及软件与用户之间的交互机制。软件设计方法:结构化设计方法(SD)面向数据结构的设计方法(JSD方法)面向对象的设计方法(OOD)
软件设计分两个阶段完成:结构设计:结构设计是总体设计阶段的任务。结构设计确定程序由哪些模块组成,以及这些模块之间的关系。过程设计:确定每个模块的处理过程
结构程序设计:一种设计程序的技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构
软件测试:是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组“高产”的测试用例,利用这些实例执行程序,找出软件中潜在的各种错误和缺陷的过程 黑盒法(黑盒技术是把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求 白盒法(白盒技术):是把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。驱动模块:驱动模块是用来模拟被测模块的上级调用模块的模块,功能要比真正的上级模块简单得多,它只完成接受测试数据,以上级模块调用被测模块的格式驱动被测模块,接收被测模块的测试结果并输出。
桩模块:桩模块用来代替被测试模块所调用的模块。它的作用是返回被测模块所需的信息。单元测试::单元测试指对源程序中每一个程序单元进行测试,检查各个模块是否正确实现规定的功能,从而发现模块在编码中或算法中的错误。
集成测试:是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试,故也称组装测试或联合测试。
确认测试:又称有效性测试。是为了检查软件的功能与性能是否与需求规格说明书中确定的指标相符合所进行的测试
单元测试内容①模块接口②局部数据结构③重要的执行路径④错误处理⑤边界条件。调试的目的确定错误的原因和位置,并改正错误,因此调试也称为纠错(Debug)调试的技术手段有简单的调试方法、归纳法、演绎法和回溯法等 软件可维护性:软件能够被理解、校正、适应及增强功能的容易程度
为了保证软件的可维护性,需要做哪些质量保证检查?(1)在检查点进行检查。检查点是指软件开发的每一个阶段的终点。(2)验收检查。验收检查是一个特殊的检查点的检查,它是把软件从开发转移到维护的最后一次检查。(3)周期性的维护检查(4)对软件包的检查。好的文档有以下几方面的作用:(1)好的文档能提高程序的可阅读性,但坏的文档比没有文档更坏;(2)好的文档意味着简明性,风格的一致性,容易修改;(3)程序编码中应该有必要的注释以提高程序的可理解性;(4)程序越长、越复杂,则它对文档的需求也越迫切 软件维护的流程:定维护申请报告。审查申请报告并批准。进行维护并做详细记录。复审 面向对象方法学的出发点和基本原则:是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程.描述问题的问题域与实现解法的求解域在结构上尽可能一致。
对象是用面向对象方法学开发软件时对客观世界实体的抽象,它是由描述实体属性的数据及可以对这些数据施加的所有操作封装在一起构成的统一体。传统的数据是用传统方法学开发软件时对客观世界实体的抽象,但是,种抽象是不全面的:数据只能描述实体的静态属性,不能描述实体的动态行为。必须从外界对数据施加操作,才能改变数据实现实体应有的行为。对象与传统数据有本质区别,它不是被动地等待外界对它施加操作,相反,它是进行处理的主体。必须发消息请求对象主动地执行它的某些操作,处理它的私有数据,而不能直接从外界对它的私有数据进行操作。
对象模型的五个层次:主题层(也称为范畴层),类—&—对象层,结构层,属性层,服务层
面向对象实现主要包括两项工作:把面向对象设计结果,翻译成用某种程序语言书写的面向对象程序;测试并调试面向对象的程序
面向对象软件的测试分四个层次进行:算法层、类层、主题层、系统层
项目管理者的目标: 定义全部项目任务,识别出关键任务,跟踪关键任务的进展状况,以保证能及时发现拖延进度的情况
软件配置管理主要有5项任务: 标识 版本控制 变化控制 配置审计 报告 软件工程实施项目管理的目的 : 在于它能够帮助我们进行系统性思考,并切实可行地进行全局性安排,同时也可以为项目开发的人力资源需求提供依据。
项目管理者的任务:确保信息系统项目符合预算和进度要求,并确保交付的系统能够达到预定的目标
软件的质量保证活动: 是确保软件产品从诞生到消亡为止的所有阶段的质量的活动。即为了确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动 对编制高质量文档的要求:(1)针对性(2)精确性(3)清晰性(4)完整性(5)灵活性
第五篇:软件工程考试
第一章 软件工程学概述
1.软件的概念,软件的分类
答:软件=程序+数据+文档;
按规模分类:微型、小型、中型、大型、甚大形、极大型(6)
按性质分类:系统软件、支撑软件、应用软件(3)
按工作方式分类:实时、分时、交互式、批处理(4)
按服务对象分类:项目软件、产品软件(2)
2.软件危机产生的原因(2点),缓解软件危机的途径
答:和软件本身的特点有关,和开发软件的方法不正确有关;
软件工程;
3.软件生命周期包含的活动
答:问题定义、可行性研究、需求分析、总体设计、详细设计、编码、测试(8)
4.问题定义阶段的任务
答:确定软件规模、性质、目标
5.常见的软件开发模型
瀑布模型:适用范围是需求确定的软件开发,是描述结构化的软件开发模型;
快速原型模型:适用范围是需求不确定的软件开发;
喷泉模型:是描述面向对象的软件开发模型;
第二章 可行性研究
1.可行性研究从哪些方面进行
答:经济,技术,法律,操作(4)
2.系统流图SFD的作用
答:描述系统的工作过程,建立系统的业务模型
3.数据流图DFD的作用,符号,画法
答:描述系统的功能,建立系统的功能模型
符号:外部实体(正方形),处理(圆形),存储(双实线),数据流(单箭头线)画法:分离成分,分层画DFD(顶层,0层,1层)
第三章 需求分析
1.结构化的需求分析方法SA的原理
答:用DFD、DD进行功能分析,建立系统的功能模型,用E-R进行数据分析,建立系统的数据模型
第五章 总体设计
1.总体设计的原理
答:模块化、抽象、逐步求精、信息隐藏和局部化、模块独立(5)
2.衡量模块独立的指标
答:耦合,内聚 3.总体设计的启发规则(7点)
答:改进软件结构提高模块独立性
模块规模应该适中
深度、宽度、扇出和扇入都应适当
模块的作用域应该在控制域之内
力争降低模块接口的复杂程度
设计单入口单出口的模块
模块功能应该可以预测
4.结构化的设计方法SD的原理
答:将DFD映射成软件结构图
第六章 详细设计
1.用结构化方法进行开发在详细设计阶段的任务
答:对模块进行设计,主要是设计模块的界面和算法 2.结构化程序设计SP的原则(7点)
答:采用自顶向下、逐步求精的设计方法
程序中用顺序、选择、多分支、while型循环、until型循环表示程序逻辑
每种控制结构单入口、单出口
程序语句组成模块,每个模块单入口单出口
复杂的结构用5种基本控制结构组合嵌套实现
严格控制goto语句的使用,在下列情况可用:
在非结构化的语言中,用goto语句实现结构化的构造
在某种可以改善而不是损害可读性的情况下
不仅要注意程序的结构化,还要注意数据结构的合理化
3.判断算法是否为结构化的依据(3点)
答:由5种基本控制结构组成;
每种控制结构单入口单出口;
模块单入口单出口
4.描述算法的工具
答:图形工具:N-S图,PAD图,活动图
语言工具:PDL语言
表格工具:判定表、判定树
5.算法环形复杂度的度量(流程图-流图-区域数)
答:流程图-流图转换方法:
一个判断框缩成一个点;
一个处理框缩成一个点;
一个顺序处理序列缩成一个点;
判定框和与之相连的处理框缩成一个点;
真假分支的汇聚点增加一个点
第七章 实现
1.编码的风格(判断题)
答:程序内部的文档:恰当的标识符(含义鲜明、缩写(必须保留第一个字母、辅音字母由于元音字母、字首优于字尾)+注解)、适当的注解(序言性注解、功能性注解)、程序的视觉组织(布局、空行、缩进)
2.测试的概念、原则、方法,步骤
答:概念:用最少的时间和人力,找到软件中尽可能多的错误和缺陷
原则:
尽早的和不断的测试;
事先要制定测试计划,严格执行学生计划,排除测试的随意性;
测试从小规模测试开始,逐步进行大规模测试;
充分注意测试中的“群集”现象;
“穷举”测试不可能,应该精心设计测试方案,使测试方案充分的覆盖程序逻辑,以尽可能多的发现程序中的错误;
测试方案应该包含合理的输入条件和不合理的输入条件;
测试应由独立的第三方从事;
方法有黑盒测试和白盒测试
步骤是单元测试、集成测试、系统测试、确认测试
3.白盒测试法有哪些,黑盒测试法有哪些
答:白盒测试法有:逻辑覆盖法、基本路径法覆盖法、循环覆盖法
黑盒测试法有:等价划分法,分界值分析法,错误推算法
4.用逻辑覆盖法设计测试方案
5.黑盒测试技术的原理
答:在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部 特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
6.可靠性的概念
答:软件可靠性是程序在给定的事件间隔内,按照规格说明书的规定成功的运行的概率;可靠性是衡量软件质量的指标
7.可靠性的计算
第八章 维护
1.维护的概念、分类
答:在软件已经交付使用后,为了改正错误或满足新的需要而修改软件的过程; 改正型维护,完善型维护,适应型维护,预防型维护;
第九章 实战
1.软件有哪些开发方法
答:结构化的开发方法、面向对象的开发方法、传统的开发方法与面向对象的开发方法相结合的实用开发方法
2.传统的软件开发方法的开发步骤
答:问题定义,可行性研究,需求分析
业务分析(业务描述,建立业务模型)
功能分析(功能描述,功能模型)
数据分析
总体设计
建立软件结构
设计数据库的表结构
详细设计
模块设计
建立数据库,录入数据
实现
编码,测试
3.面向对象的开发方法的开发步骤
答:问题定义,可行性研究
面向对象的分析
业务分析
功能分析,建立系统的功能模型(参与者,需求结构,功能模型)对象分析,建立系统初步的对象模型
用例分析,建立用例分析模型(顺序图,活动图)
扩充和完善,建立系统完整的对象模型
面向对象的总体设计
扩充和完善功能模型
软件运行环境
软件架构模型(软件架构模式,软件分层架构,软件逻辑结构)
扩充和完善对象模型,建立平台相关对象模型
用例设计模型(顺序图,活动图)
数据库设计模型(数据库的表结构,数据库的逻辑结构)
界面设计模型(界面结构模型,屏幕界面模型)
组件图
部署模型
面向对象的详细设计
确定每个用例的实现算法
建立数据库,录入数据
面向对象实现
编码,测试
4.BCE、MVC是什么
答:BCE是用例分析模式、MVC是程序设计思想
5.传统的开发方法与面向对象的开发方法相结合的实用开发方法的开发步骤 答:问题定义,可行性研究
需求分析
业务分析
功能分析
数据分析
动态分析
总体设计
软件运行环境
软件架构模式(C/S B/S)
建立软件结构图
设计数据库的表结构
详细设计
模块设计
建立数据库,录入数据
实现
编码,测试