admin 管理员组文章数量: 1086019
2025年1月1日发(作者:spice仿真)
软件工程导论复习题
一、名词解释
软件、继承性、封装、多态性、软件危机、UML、用例视图、软件生存周期、瀑布模型、需求分析、模块化、模块独立性、白盒测试、等
价类划分、风险管理
二、选择题
1、封装是指把对象的( )结合在一起,组成一个独立的对象。
A.属性和操作 B。信息流 C。消息和事件 D。数据的集合
2、封装是一种( )技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开。
A.工程化 B。系统维护 C。信息隐蔽 D。产生对象
3、面向对象方法中的( )机制使子类可以自动地拥有(复制)父类的全部属性和操作。
A.约束 B。对象影射 C。信息隐蔽 D。继承
5、软件是一种逻辑产品,它的开发主要是( )
A研制 B拷贝 C再生产 D复制
6、软件生命周期一般包括:软件开发期和软件运行期,下述( )不是软件开发期所包含的内容?
A需求分析 B结构设计 C程序编制 D性能优化
8、在软件生存周期中,( )阶段必须要回答的问题是“要解决的问题是什么?”
A需求分析 B可行性分析与项目开发计划 C概要设计 D测试
9、在软件开发中,通常要花费( )以上的代价进行测试和排错
A 20% B 30% C 40% D 50%
10、在软件开发方法中,( )方法总的指导思想是自顶向下、逐步求精。它的基本原则是功能的分解和抽象。
A结构化 B面向对象的开发 C JSD D VDM
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、设年利率为I,若n年能收入F元,那么这些钱现在的价值P 是( )
A P=F/(1+n*I) B P=F*(1+n*I) C P=F*n*(1+n) D P=F*(1+I)n
17、需求分析阶段,分析人员要确定对问题的综合看法,其中最主要的是( )需求
A 功能 B 性能 C 可靠性 D 可维护性
18、需求分析阶段产生的最重要的文档是( )
A 需求规格说明书 B 修改完善的软件开发计划
C 确认测试计划 D 初步的用户使用手册
19、数据流图反映系统“做什么”,不反映“如何做”,因此箭头上的数据流名称只能是( ),整个图不反映加工的执行顺序。
A 动词或动词短语 B 形容词 C 名词或名词短语 D 副词
20、需求分析阶段不适用于描述加工逻辑的工具是( )
A 模块图 B 结构化语言 C 判定表 D 判定树
21、在数据流图的基本图形符号中,加工是以数据结构或( )作为加工对象的。
A 信息内容 B 数据内容 C 信息流 D 信息结构
22、设计软件结构一般不确定( )
A 模块之间的接口 B 模块间的调用关系 C 模块的功能 D 模块内的局部数据
23、两个模块都使用同一张表,模块间的这种耦合称为( )
A 数据耦合 B 内容耦合 C 公共耦合 D 控制耦合
24、将与同一张年报表有关的所有程序段组成一个模块,该模块的内聚性为( )
A 逻辑内聚 B 时间内聚 C 通信内聚 D 顺序内聚
25、下列选项中,不能反映软件结构的基本形态特征是( )
A 深度 B 扇入 C 粒度 D 扇出
26、划分模块时,下列说法正确的是( )
A 作用范围应在其控制范围之内 B 控制范围应在其作用范围之内
C 作用范围与控制范围互不包含 D 作用范围与控制范围不受任何限制
27、下列选项中,不是结构图的主要成分的是( )
A 模块 B 模块间的信息传递 C 模块的控制关系 D 模块的内部数据
24.结构化设计方法是一种面向( )的设计方法。
A 数据流 B 数据结构 C 数据库 D 程序
28、结构化设计方法在软件开发中用于( )阶段。
A 软件需求分析 B 软件概要设计 C 软件详细设计 D 软件编码
29、结构化程序流程图中一般包括三种基本结构,下述结构中( )不属于其基本结构
A 顺序结构 B 循环结构 C 选择结构 D 嵌套结构
30、JSP方法根据输入输出的数据结构按一定的规则映射成软件的( )
A 程序结构 B 体系结构 C 数据结构 D 选择结构
31、详细设计的基本任务是确定每个模块的( )设计。
A 功能 B 调用关系 C 输入输出数据 D 算法
32、JSP方法主要用于规模不大的( )系统。
A 实时处理 B 文字处理 C 数据处理 D 体系结构
34、结构化程序设计主要强调的是( )
A 程序的执行效率 B 程序的易读性 C 程序的规模 D 程序的可移植性
35、下列选项中,不属于程序设计语言心理特性的表现形式是( )
A 简洁性 B 歧义性 C 可移植性 D 局部性和顺序性
36、下列选项中与选择程序设计语言无关的因素是( )
A 程序设计风格 B 软件执行的环境 C 软件开发的方法 D 项目的应用领域
37、源程序中的序言性注释应置于每个模块的其实部分,该注释内容不应有( )
A 模块的用途 B 语句的功能 C 数据描述 D 模块的功能
38、提高程序效率的根本途径并非在于( )
A 选择良好的设计方法 B 选择良好的数据结构
C 选择良好的算法 D 对程序语句做调整
39、被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测,这种测试称为(
A 白盒测试 B 黑盒测试 C 静态测试 D 动态测试
40、下列几种逻辑覆盖标准中,( )覆盖是指设计足够的测试用例,覆盖被测试程序中所有可能的路径。
A 判定 B 条件 C 判定/条件 D 路径
41、白盒测试是结构测试,被测试对象基本上是源程序,以程序的( )为基础设计测试用例。
A 应用范围 B 功能 C 内部逻辑 D 输入数据
42、下列不属于白盒测试技术的是( )。
A 基本路径测试 B 条件覆盖 C 循环覆盖 D 错误推测
43、确认测试计划是在( )阶段制定的。
A 需求分析 B 详细设计 C 编码 D 测试
44、软件测试的目的是( )
A 发现错误 B 改正错误 C 改善软件的性能 D 挖掘软件的潜能
45、单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是( )
A 模块接口 B 错误处理 C 系统功能 D 重要的执行路径
45、产生软件维护的副作用是指( )
A 开发软件时的错误 B 运行时的错误
C 隐含的错误 D 因修改软件而造成的错误。
46、软件维护时因修改文件的打开或关闭而引入的错误是( )副作用。
A 编码 B 数据 C 文档 D 控制
47、软件开发阶段的关键目标是( )
A 软件的生产率 B 软件的可靠性 C 软件的可维护性 D 软件的可实用性
48、在整个软件维护阶段所花费的全部工作中,( )所占的比例最大。
A 校正性维护 B 适应性维护 C 完善性维护 D 预防性维护
49( )是面向对象程序设计语言不同于其他语言的最主要的特点,是其他语言所没有的。
A 对象唯一性 B 分类性 C 继承性 D 多态性
50、面向对象分析阶段建立的三个模型中,核心的模型是( )
A 对象模型 B 动态模型 C 功能模型 D 分析模型
51、表现了对象的相互行为的模型是( )模型
A 对象模型 B 动态模型 C 功能模型 D 分析模型
52、在有多重继承的类层次结构中,它的类层次结构是( )结构。
A 网状 B 树 C 星 D 格
53、动态模型的描述工具是( )
A 结构图 B 状态图 C 数据流图 D 流程图
55、在确定类时,所有( )是侯选的类。
A 名词 B 动词 C 形容词 D 副词
56、在类的层次结构中,聚集关系是一种( )关系。
A 整体——部分 B 一般——具体 C 分类结构 D 或
57、在类的层次结构中,一般化关系是一种( )
A 整体——部分 B 一般——具体 C 与 D has a
)
三、填空题
1. 软件按照其工作方式可划分为______ 、_______ 、_______ 和________ 。
2. 软件生存期由______、______ 和 ________ 三部分组成。
3. 面向对象技术采用以类为中心的 ______、_______ 、________ 等,不仅支持软件复用,而且使软件维护工作可靠有效,可实现软件系统的
柔性制造。
4. UML利用若干______从不同角度来描述系统;每种视图由若干幅_______进行描述;每幅模型图由若干个模型_______来描述。
5. 用例模型描述的是__________所理解的系统功能。
6.
7.
8.
9.
在UML中构成用例图的主要元素是_______和_______及其他们之间的关系。
类图是用_____和他们之间的关系描述系统的一种图示,展示了系统中类的________和类与类之间的相互关系。
软件工程研究的主要内容是软件开发技术和____________两个方面。
_________是一种非整体开发的模型。软件在该模型中是“逐渐”开发出来的。
10. 软件工程是计算机科学中的一个分支,其主要思想是在软件生产中用_______的方法代替传统手工方法。
11. 软件可行性研究的目的就是用最小的代价在尽可能短的时间内确定______________.
12. 可行性研究的三个方面是技术可行性、___________、社会可行性。
13. 通常用________衡量一个开发项目的价值。
14. 成本—效益分析的目的是从_______评价开发一个新的软件项目是否可行。
15. 结构化分析的基本思想是采用_______的方法,能有效地控制系统开发的复杂性
16. 对于复杂问题的数据处理过程,要分层的数据流图来表达,它的顶层图描述了系统的___________。
17. 需求分析的基本任务是要准确地定义__________,为了满足用户需要,回答系统必须“做什么”的问题。
18. 在画DFD时,一个局部数据存储只要当它作为_________________或某个加工特定的输入或输出时,就把它画出来。
19. 传统的SA方法主要用于数据处理方面的问题,主要工具DFD体现了系统“做什么”的功能,但它仅是一个__________,没有反映处理的顺序。
20. 建立数据字典一般的两种形式是手工建立和____________________.
21. 软件结构的设计是以______为基础的,以需求分析的结果为依据,组成一种系统的控制层次结构。
22. 在多层次的结构图中,起模块的层次数称为结构图的_________.
23. 在结构化方法中,软件功能分解应属于软件开发中的___________阶段。
24. 两个模块之间有调用关系,传递的是简单的数据值,这种模块之间的偶合称为______
25. 一个模块内的各个处理元素之间没有任何联系,该模块的内聚性为___________.
26.
27.
28.
29.
软件概要设计阶段产生的最重要的文档是______________.
对于各种软件系统,不论DFD如何庞大与复杂,DFD的类型一般可分为________和_________两类。
在软件详细设计阶段,要对数据库进行___________.
在软件详细设计阶段,使用JSP方法来完成设计的最后一步是用_____写出程序。
30. PAD图是一种算法描述工具,可以在有PAD系统的计算机上,直接输入PAD图,由机器自动通过_________的办法生成相应的源代码。
31. PDL具有严格的关键字外层语法,用于定义控制结构、______、和模块接口。
32. 详细描述处理过程常用的三种工具:_______、判定表和结构化语言。
33. 程序设计语言的特性主要有心理特性、工程特性和__________三个方面。
34. 效率是一个_______要求,目标在需求分析给出。
35. 语句构造的原则是__________,不能为了追求效率而使代码复杂化。
36. 为了使数据定义更易于理解和维护,一个语句说明多个变量时,各变量名按_____顺序排列。
37. 动态测试中,________测试法主要检查程序是否满足功能要求。
38. 所有模块进行完单元测试后,还必须按照设计要求组装成一个完整的系统进行_______.
39. 用等价类划分法设计一个测试用例,使其尽可能多地覆盖尚未被覆盖过的________等价类。
40. 使用_________方法设计测试用例时,一般与等价类划分法结合起来,但它不是从一个等价类中任选一个例子作为代表。
41.
42.
43.
44.
45.
采用软件工程的方法开发软件,则各阶段都有相应的文档,容易进行维护工作,这是一种________维护。
维护阶段是软件生存周期中时间_____的一个阶段,所花费的精力和费用也是_____的一个阶段。
类具有属性,它是对象的状态的抽象,用_______来描述类的属性。
________是封装的最基本单位。
现实世界中,各对象之间相互触发,一个触发行为就是一个______。
46. 动作对象是一种主动对象,它通过生成或者使用数据值来驱动__________。
四、简答题
1. 简述软件危机主要体现在哪两个方面?
2. 可行性研究有那些具体步骤?
3. 需求分析的基本任务是什么?
4. 结构化分析方法通过那些步骤来实现?
5. 数据流图的作用是什么?它包括那些条目?
6. 描述加工逻辑有那些工具?
7. 采用黑盒技术设计测试用例有那几种方法?这些方法各有什么特点?
8. 简述模块的特点和模块划分的方法
9. 解释“基线”的概念。如果你是项目主管,你希望在工作中建立怎样的基线?
10.经过测试的两段程序,一段错误比较多,另一段比较少,应该对那一段做进一步测试?为什么?
五、应用题
1、交通工具分为空中、陆上、水上交通工具。空中交通工具分为客机,货机,专用轻型机;陆上交通工具分为火车,汽车,火车又分为客车、
货车;水上交通工具有轮船,轮船分为客轮、货轮、客货混合轮。建立交通工具的对象模型。
2、 程序的流程图:
(1)计算它的环路复杂性。
(2)为了完成基本路径测试,求它的一组独立的路径。
0 7
T1
F2
t=a; a=b: b=t
8
a>b
F2
T3
t=a; a=c; c=t
8
a>c
F4 T5 9
b>c
t=b; b=c; c=t
3、某“调整工资”处理模块接受一个“职称”变量,根据职称的不同(助教、讲师、副教授、教授)作为不同的处理,其中若是助教还必须
输入工龄,只有工龄超过2年才能调整工资。请用等价类划分法设计测试用例。
4、 微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。主机包括一个鼠标,一个主板,一个电源,存储器等部件。存
储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘和光盘。建立微机的对象模型。
5、 资5000修改某库存清单系统,两年以后可以节省4225.12元,三年以后将再节省1779.45元,五年后总共节省9011.94元,求该项投资的
投资回收期是几年?五年后的纯收入是多少?
6、 工厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当钳工;年龄在20岁至40岁之间
者,中学文化程度男性当钳工,女性当车工,大学文化程度都当技术员;年龄在40岁以上者,中学文化程度当材料员,大学文化程度当
技术员。试用判定树描述上述问题。
7、 请用PAD图描述下列程序的算法:
把键盘输入的10个数依次从大到小排列。
排序结果输出
8、下面是某程序的流程图:试用条件覆盖方法为它设计足够的测试用例。
(1) a T b
x>1 and x<2
0
Y=3*x+5
F c
(2) T d
(3) F e
X<4
T f
Y=sqrt(1+x*x)
g
Y=X*X-2*X+5
F g
h
X<3
Y=2*sin(x)-1
版权声明:本文标题:-软件工程导论复习题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735754561a1689027.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论