【03173】2020年8月高等教育自学考试-软件开发工具

一、单项选择题:

1. 区别于一般软件,对软件开发工具而言,下列各项最重要的性能是

A. 效率 B. 响应速度

C. 资源消耗 D. 使用方便

2. 在软件开发过程的信息需求中,属于跨开发周期的信息是

A. 有关系统环境的需求信息 B. 有关软件设计的各类信息

C. 有关软件成果本身的信息 D. 用户对系统变更要求的信息

用户对系统的各种变更要求,以及系统的各种变更的记录。这类信息是用户在使用 过程中逐步形成的,由维护人员收集、整理,并且实施必要的修改。事实上,这类信息是对 前三类信息的更新、修改或补充。实际上,前三类信息是在一个开发周期内而言的,而第四 类信息是跨开发周期的,从内容上说,它可以分别归入前三类,但是把它列为单独一类还是 十分必要的,因为它记录了软件的发展与演变,具有时间属性,它正是项目管理和版本管理 的对象。这种跨开发周期的信息管理是狭义的、单一开发过程的管理所不包括的。

3. 在软件开发工具的概念模式中,决策树属于

A. 时序网络 B. 计算机模拟模型

C. 结构图 D. 数学与逻辑模型

决策树和决策表

4. 由于使用了软件开发工具,编码工作可以自动或半自动完成。这主要是得益于软件开发工具的

A. 文档生成功能 B. 代码生成功能

C. 分析建模功能 D. 系统设计功能

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. 谷歌代码搜索 (Google Code Search)这款软件工具出现于

A. 结构化时代 B. 面向对象时代

C. 互联网时代 D. 智能化时代

11. 关于Java语言的技术中,属于网络和Web 开发支持技术的是

A. CORBA B. JDBC

C. JINI D. Servlet

12. 下列各编程语言中,对面向对象思想和技术支持程度最高的是

A. VB B.PB

C. Delphi D.Java

13. 在 Eclipse集成开发环境中,每个程序的组织单位是

A. 代码 B. 项目

C. 文件 D. 对象

14. 使用Eclipse CDT的默认设置创建一个C/C++ 项目,编译成功后包含刚被编译的可 执行文件的文件夹是

A.Binaries B. Includes

C.Debug D. Release

15. 在 Eclipse中,在编写程序之前,首先要新建一个

A. 变量 B. 函数

C. 语句 D. 项目

16. 在C 语言中,引用头文件的符号是

A. 小括号 B. 花括号

C. 中括号 D. 尖括号或引号

17. 在Eclipse CDT调试器的断点视图中,用于表示方法断点的图标是

A. 蓝色圆圈 B. 白色圆圈

C. 蓝色箭头加圆圈 D. 白色透明圆圈

18. 利用Eclipse自带的“保存历史记录”功能进行版本比较时,用于标记与显示旧版本与目前文件的对比差异的颜色是

A. 浅黄色 B. 浅绿色

C. 浅灰色 D. 浅红色

19. 除一些可选文件之外, Eclipse插件的组成文件还包括

A. 版本号 B. 清单文件

C. 文件夹 D. 扩展文件

20. 结构化方法侧重分析流程,面向对象分析方法侧重

A. 编程 B. 建模

C. 设计 D. 维护

第二部分 非选择题

二、填空题:本大题共20空,每空1分,共20分。

21.随着互联网的兴起,软件开发工具的发展有两个鲜明的特点,一个是面向 网络

另一个是开源软件的兴起与运用

22.结构化程序设计方法把程序结构分解成三种基本模块:处理单元、循环机制、二分决策机制

23.即插即用程序设计方法是在面向对象程序设计方法的基础上提出来的

24.卡内基·梅隆大学的软件工程研究所提出能力成熟度模型,作为衡量软件开发项目组的标准。

25.在需要较长时间等待时,用户界面必须使用户能随时掌握任务的进展状况

26.时序网络主要用于描述系统状态及其转换方式

27.数据流程图的基本元素包括:数据源、数据处理数据存储,用箭头表明信息在它们之间的流动状况。

28.为了达到数据终点管理的基本目标,人们采用了工程计划网络、甘特图、检查点方法、排队论等技术和方法。

29,一个好的开发软件工具不仅能帮助使用者完成具体的开发任务,而且能引导使用者熟悉和掌握科学的开发方法,即形成正确的开发模式

30.对开发所依据的开发方法和开发理论的考察,包括对应用软件结构和对模块的划分与各阶段任务的理解与认识。

31.在大中型项目中,由于项目复杂,开发周期长,交互性高,大多数开发团队倾向使用的开发工具是集成开发工具

32. Eclipse的体系结构主要包括运行时内核、工作空间、工作台、各类开发环境其它插件

33.C语言是一种面向过程的计算机程序设计语言。

34.为了在不指明完整路径的情况下,系统就能够认识 Mingw的执行命令,需要为其设置系统path变量

35.在 Eclipse中,重命名变量位于菜单栏中的重构菜单项中。

36.编译C程序是指将.c文件编译为可以运行的exe 文件

37.GDB是开源组织GNU发布的一个程序调试工具

38.如果 Eclipse工具栏区被竖直的虚线分成若干部分,那么,此时的工具栏处于解锁状态。

39.PDE透视图清单编辑器中的概述页面由“一般信息”和“执行环境”两个主要部分组成,可以定义重要的插件属性。

40.在程序设计中,对象向外提供一组数据结构和一组操作,而把内部的细节隐藏起来,这称为封装

三、 简答题:本大题共6小题,每小题5分,共30分。

41.在软件开发过程中,总体设计阶段的任务是什么?

总体设计包括软件的结构设计、公用的数据文件或数据库的设计、各部分的连接方式、信息交换的标准等

42.一个好的项目组应具备哪些条件?

(1)有严格的、成文的工作规范和文档标准
(2)人员之间有严格的分工,除程序员外,必须有专门的秘书,必须有专门的测试人员,要有专职的项目负责人
(3)每个项目都要事先制定详细的时间计划表,每一项目完成之后都有完整的资料

43.为了真正理解和用好软件开发工具,用到的重要的理论和方法包括哪些?

(1)认知科学中关于概念模式的概念与方法。
(2)数据库技术的理论与方法。
(3)编译技术的有关方法。
(4)关于人机界面的理论与方法。
(5)管理科学中关于项目管理与版本管理的理论与方法。
(6)系统科学与系统工程中的有关理论与方法。

44.软件开发工具的基本功能可以归纳为哪几个基本方面?

(1)提供描述软件状况及其开发过程的概念模式,以协助软件开发人员认识软件工作的环境与要求、合理地组织与管理软件开发的工作过程。
(2)提供存储和管理有关信息的机制与手段。
(3)帮助使用者编制、生成及修改各种文档。
(4)帮助使用者编写程序代码,即代码生成。
(5)对于历史信息进行跨生命周期的管理,把项目运行与版本更新的有关信息科学地管理起来。

45.为自己所用的软件开发工具与商品化的软件开发工具有什么区别?

购买软件开发工具的好处:在某些环节上可代替一些简单的、重复性的工作;
对项目较大,周期较长的情况,还可以使工作的组织管理比较规范,信息的管理与检索比较方便,部分地做到信息与知识的重用和共享。
缺点:比较昂贵,特别是项目管理和系统分析工具也不易按实际需要剪裁与扩充。
自行开发的好处:目标明确,符合需要,便于扩充。缺点:规范化、商品化程度低,问题与故障多。

46.统一建模语言(UML)把系统开发分成哪几个阶段?

(1) 需求分析 (2) 分析 (3) 设计 (4) 编程 (5) 测试

四、 论述题:本大题共1小题,10分。

47. 面向对象程序设计的基本思想是什么?

(1)客观世界的任何事物都是对象,它们都有一些静态属性,也都有一些有关的操作。作为一个整体,这些对象对外不必公开这些属性与操作,称为“封装性”
(2)对象之间有抽象与具体、群体与个体、整体与部分等几种关系。
(3)抽象的、较大的对象所具有的性质包括静态属性和动态操作,自然地成为它地子类地性质,不必加以重复说明或规定,这就是“遗传性”(名词解释)
(4)对象之间可以护送消息。

五、应用题:本大题共1小题,20分。

48. 开发地铁售票信息系统时,开发团队选择使用并发版本系统 (Concurrent Versions System,CVS), 请回答以下问题:

(1)为了对程序修改进行有效的管理,该开发团队应该制定什么样的修改程序的流 程?

(1) 修改过程中,多执行一下cvs update操作,以便尽早发现冲突并解决。 
(2) commit的代码必须是可以编译通过的,而且最好不要有会影响其他模块运行的重大功能倒退,以免影响其他模块的开发。 
(3) 在满足上述条件的同时,尽可能多commit,有阶段性成果就可以commit一下,以便其他开发人员尽早进行update,减少冲突。 
(4) commit之前使用cvs update和cvs diff来检查一下需要提交的代码,commit之后使用cvs update来检查提交的结果。特别要注意检查是否有新增加的文件或者目录忘记使用cvs add添加到CVS中,这是非常容易遗的。 
(5) commit的时候一定要写log信息。log信息应该简练,包含有效信息,同一任务的多个修改可以考虑使用同一个log信息,方便一些工具进行收集和汇总。 
(6) CVS只是工具,不能代替团队的交流。团队开发过程中应该加强前期的讨论交流,减少后期的代码冲突合并。

(2)在开发中,该团队的成员将CVS 服务器作为资源库(Repository)来访问他们 的代码。开发者签出(check out)一个文件,更新 (update)它,最后用CVS 命令进行提交 (commit), 由 CVS 源代码库统一管理修改,这样,就好像只有 一个人在修改文件一样,既避免了冲突 (conflict), 又可以做到跟踪文件变化 等。

根据以上对 CVS 某些基本作用的描述,请说明资源库 (Repository)、签出 (check out)、更新 (update)、 提交 (commit)、 冲突 (conflict)这五个术语各自指代哪些事物或操作?

Repository ( 源代码 库)-CVS 存储所有修订版本历史记录的地方。每个项目都有自己的一个确定的源代码库。
Check out (检验)-从源代码库中申请一份工作拷贝。该工作拷贝反映的是取出时项目的瞬时状态。当开发者对拷贝作出修改时,必须运用 commit (提交)和 update (更新) 命令来 “发布”变化和查看其他开发者所作的修改。
Update (更新)-从源代码库中取出别人的修改数据,将其输入自己的工作拷贝,并显示自己的工作拷贝是否有未提交的修改。注意,不要和 commit (提交)混淆,更新和提交是一对互补的指令。记住: Update 将使工作拷贝和源代码库拷贝保持同步更新。
Commit (提交)-将工作拷贝中的变化输入中央 源代码 库。
Conflicts (冲突)-两个 开发者 对同一个区域所做的改动都提交给主版本时出现的情况,在 CVS 觉察并指出这个冲突后,开发者必须解决该冲突。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值