2020期末机考川农《软件工程(专科)》
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020年四川农业大学网络教育专科考试
软件工程试卷
本试题一共五道大题,共3页,满分100分。考试时间90分钟。
一、单项选择题(本大题共15小题,每小题1分,共计15分)
1、软件开发的资源中,( C )是最重要的资源。
A、人力资源
B、硬件资源
C、软件资源
D、软件复用性及软件部件库
2、软件工程的三要素是( B )。
A、方法、工具和文档
B、方法、工具和过程
C、方法、文档和人
D、方法、过程和人
3、数据流图(DFD图)中表示“加工”的图形符号是( D )。
A、箭头
B、双横线
C、矩形框
D、圆
4、又称为有效性测试的是 ( C )。
A、单元测试
B、组装测试
C、确认测试
D、系统测试
5、N-S图,也称盒图,是( B )时使用的一种图形工具。
A、系统结构设计
B、过程设计
C、数据设计
D、接口设计
6、软件测试的策略将测试过程按4个步骤进行,以下与程序编码阶段同一阶段进行
的测试是 ( A )。
A、单元测试
B、组装测试
C、确认测试
D、系统测试
7、软件结构图(SC图)中一个模块的扇出是指( D )。
A、该模块的所有上层模块数
B、该模块的所有下层模块数
C、直接调用该模块的所有上层模块数
D、该模块直接调用的所有下层模块数
8、在以下度量模块独立性的内聚准则的部分内聚类型中,内聚性最强的是
( C )。
A、逻辑内聚
B、时间内聚
C、功能内聚
D、通信内聚
9、可行性研究主要集中在以下四个方面,其中( B )是最难决断的方面。
A、经济可行性
B、技术可行性
C、法律可行性
D、抉择
10、以下不属于McCall软件质量模型中的质量特性的是( A )。
A、结构性
B、完整性
C、正确性
D、效率
11、允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,
对程序所有逻辑路径进行测试的测试用例设计方法是( B )。
A、黑盒测试
B、白盒测试
C、选择测试
D、穷举测试
12、如果一个软件系统是使用类、对象、( A )和通信这4个概念设计和实现
的,则可以认为这个软件系统是面向对象的。
A、继承
B、复用
C、重载
D、多态
13、结构化分析(SA)方法是一种( D )的分析方法。
A、面向对象
B、面向过程
C、面向数据结构
D、面向数据流
14、软件模块结构改进的几种试探性原则中,控制范围和作用范围原则是指
( C )。
A、控制范围在作用范围之外
B、作用范围在控制范围之外
C、作用范围在控制范围之内
D、控制范围在作用范围之内
15、模块的内聚和模块间的藕合是用于度量模块( A )的两个准则。
A、独立性
B、复杂性
C、规模
D、可维护性
二、名词解释题(本大题共5小题,每小题4分,共计20分)
1、数据词典(DD):数据字典的任务是对于数据流图中出现的所有被命名的图形元素在数据词典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。数据词典中所有的定义应是严密的、精确的,不可有半点含混,不可有二义性。
2、软件生存周期模型:软件生存周期模型是从软件项目需求定义直到软件经使用后废弃为止,跨越整个生存期的系统开发、动作和维护所实施的全部过程,活动和任务的结构框架。目前有多种软件生存期模型,如瀑布模型、演化模型、螺旋模型、喷泉模型等。
3、SA方法:SA是指结构化分析方法。结构化分析方法是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。
4、信息隐蔽: 将模块实现自身功能的细节与数据"隐蔽"起来。模块间仅交换为完成系统功能所必须的信息。
5、CASE:计算机辅助软件工程
三、简答题(本大题共4小题,每小题10分,共计40分)
1、软件生存周期中应该具备哪些必要的文档?每种文档的主要作用是什么?
答:
在软件生存周期中,随着各个阶段工作的开展,应适时地编制如下13种文档:
1)可行性研究报告:说明该软件项目的实现在技术上、经济上和社会因素上的可行性,评述为合理地达到开发目标可供选择的各种可能的实现方案,说明并论证所选定实施方案的理由。
2)项目开发计划:为软件项目实施方案制定出的具体计划。
3)软件需求说明书:对所开发软件的功能键、性能超群、用户界面及运行环境等作出详细的说明。
4)数据要求说明书:给出数据逻辑描述和数据采集的各项要求,为生成和维护系统的数据文件做好准备。
5)概要设计说明书:说明系统的功能分配、模块划分、程序的总体结构、输入输出及接口设计、运行设计、数据结构设计和出错处理设计等。
6)说明设计说明书:描述每一个模块是如何实现的,包括算法、逻辑流程等。
7)用户手册:使用户了解如何使用该软件。
8)操作手册:为操作人员提供该软件各种运行情况的有关知识。
9)测试计划:制定测试内容、进度、条件、人员、用例的选择、结果允许的偏差等。10)测试分析报告:对测试结果加以分析并提出结论性的意见。
11)开发进度月报:向管理部门按月提交的项目进展情况。
12)项目开发总结报告:项目开发完成后的总结。
13)维护修改建议。
2、软件的一生会经历哪几个阶段?各个阶段的任务是什么?
答:正如同任何事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。一般称其为计算机软件的生存期。软件生存周期的六个步骤:
1)制定计划。确定系统目标,给出它的功能、性能、可靠性以及接口等方面的要求,研究完成软件任务的可行性,制定完成开发任务的实施计划。
2)需求分析和定义。对待开发软件提出的需求进行分析并给出详细的定义,然后编写出软件软件需求说明书或系统功能说明书。
3)软件设计。由设计人员把已确定了的各项需求转换成一个相应的体系结构,并进一步对每一个模块要完成的工作进行具体的描述。
4)程序编写。把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的源程序清单。
5)软件测试。在设计测试用例的基础上检验软件的各个组成部分。
运行/维护。软件投入正式使用并对软件在运行过程中可能由于多方面的原因,需要对它进行修改。
3、系统工程师在需求分析中扮演着什么样的角色?系统工程师应具备什么样的素质?
答:系统工程师处于用户和高级程序员之间,负责沟通用户和开发人员的认识和见解,起着桥梁的作用。