03173软件开发工具复习题
03173软件开发工具
一、单选题
1.以下哪个软件不可以编辑HTML文件?(B)
A. Dreamweaver
B. Photoshop
C. 记事本
D. EditPlus
2. 以下哪个软件不可以编辑C++源文件?(C)
A. Eclipse
B. VSCode
C. Google Chrome
D. EditPlus
3. CVS中,在某一时刻,模块中文件状态的静态影像称为( C )
A.输出
B.提交
C.快照
D.备份
4. 非过程化程序设计语言是指( D )
A.软件开发工具
B.计算机辅助软件工程
C.计算机辅助系统工程
D.第四代语言
5. 在一个完整的软件开发工具中,处于中心位置的是( D )
A.人机界面和代码生成器
B.通信服务和数据库查询
C.总控部分和数据库查询
D.总控部分和人机界面
6. 以下几种较有代表性的语言及其开发工具中支持面向对象最好的是( D )
A.VB
B.PB
C.C
D.JAVA
7. 软件开发工具的基础是 ( C )
A.数据库
B.工具软件
C.信息库
D.文档
8. 使用Rational Rose建模不能支持(B)
A.UML的建模
B.HTML开发
C.采用基于组件的开发
D.系统分析到系统实现双向工程
9. 在大型软件开发中,程序员承担的工作是( C )
A.验收模块
B.要求修改
C.交付检验
D.试运行
10. 在软件开发过程中,建立逻辑模型应在 ( A )
A.需求分析阶段
B.编码阶段
C.系统设计阶段
D.测试阶段
11. 属于软件开发工具的是 (D)
A.操作系统
B.编译系统
C.第三代语言
D.报表生成器
12. 通常依赖于机器与软件的软件开发工具是(D)
A.计划工具
B.分析工具
C.上游工具
D.集成化工具
13. 在大型软件开发中,承担模块试运行的是 ( D )
A.用户
B.项目负责人
C.程序员
D.计算机
14. 软件开发工具最重要的信息出是文档生成和( B )
A.报表生成
B.代码生成
C.联机查询
D.图形处理
15.不属于信息库中存放的内容是 (C)
A.软件应用的领域与环境的状况
B.逻辑设计和物理设计的成果
C.数据库与应用软件的全部内容
D.项目管理与版本管理的信息
16.软件开发工具生成的文档包括的内容是 (C)
A.程序、文章和表格
B.程序、表格和图像
C.文章、表格和图形
D.文章、图形和图像
17.不属于软件开发工具概念模式的是( B )
A.数据流程图
B.关键路径图
C.数据字典
D.时序网络
18.人们在认识到软件工作的重要性的同时,也认识到了软件工作的困难性。这就是所谓
“软件危机”问题,这种认识开始于20世纪的( B )
A.60年代初期 B.60年代末期
C.70年代初期 D.70年代末期
19.为项目主管人员服务的软件开发工具是( A )
A.计划工具 B.编程工具
C.设计工具 D.软件工作环境
20.实施面向对象的程序设计,采用的方法是( D )
A.自顶向下 B.自底向上
C.中间开始,双向发展 D.合理选择层次,控制系统复杂性
21.—个优秀的程序员要成为项目组的好成员,必须( D )
A.具有程序设计所需要的基本知识与技能
B.深入了解本项目所在的领域
C.比较熟悉软件开发的技术环境
D.按统一规定的格式操作公用文件或数据库
22.在下列软件开发所涉及的信息中,属于跨越开发周期的是( C )
A.有关系统环境、现状与需求的信息
B.有关软件功能设计的各种信息
C.有关用户对系统各种变更要求的信息
D.有关包括程序与文档的软件成果信息
23.在结构图中,不属于模块间调用关系的是( D )
A.循环调用 B.选择调用
C.顺序调用 D.层次调用
24.软件开发工具最重要的信息出口是代码生成和( B )
A.报表生成
B.文档生成
C.联机查询
D.图形处理
25.不属于研制软件开发工具基本技术要点的是( C )
A.面向使用者
B.保证信息准确传递
C.保证系统的可靠性
D.保证系统的开放性
26.软件开发工具文档生成中,最难于处理的内容是( A )
A.文章
B.程序
C.表格
D.图形
27.结构化程序设计的方法主要的服务对象是( C )
A.用户
B.系统分析员
C.程序员
D.系统设计员
28.在大型软件开发中,用户承担的工作是( B )
A.验收模块
B.要求修改
C.交付检验
D.试运行
29.2008年,国际电子电气工程师学会的权威刊物《软件》的九月/十月号,以“软件开发工具”(Software Development Tools)为题的一期专刊中,认为错误的观念是( D )
A.软件开发工具的实践性很强
B.软件开发工具的抽象程度越来越高
C.软件开发工具的历史发展是多样性和趋同性并存的
D.在信息处理、知识表达、事务处理等问题上,确实是存在着我们已经认识的普遍规律
30.一般来说,软件开发工具对环境的要求( D )
A.与它所支持的应用软件的环境要求无关
B.依赖于它所支持的应用软件的环境要求
C.应当超出它所支持的应用软件的环境要求
D.不应当超出它所支持的应用软件的环境要求
31.属于软件开发工具的是( C )
A.COBOL
B.DOS
C.TOOLBOOK
D.DBMS
32.编写文档的主要工作阶段是( C )
A.需求分析
B.总体设计
C.实现
D.测试
33.完成软件测试最合适的人员是( D )
A.编程者
B.软件负责人
C.用户
D.专门的小组
34.在软件开发过程中,有关系统环境、现状及需求的信息的提供者和采集者分别是( B )
A.分析人员 用户
B.用户 分析人员
C.分析人员 设计人员
D.设计人员 分析人员
35.在软件开发工具的概念模式中,描述系统状态及其转换方式的是( C )
A.结构图
B.数据字典
C.时序网络
D.直观模型
36.在软件开发过程中,建立逻辑模型应在( A )
A.需求分析阶段
B.编码阶段
C.分析设计阶段
D.测试阶段
37.在NEWCAFG中,构成Repository库的主体关系是( C )
A.系统类关系
B.属性类关系
C.实体类关系
D.联系类关系
38.在对市场上可供使用的软件开发工具进行调查研究时应包括的内容是(D )
A.软件开发工具供应商的规模
B.软件开发工具的管理者
C.软件开发工具的销售量
D.软件开发工具的服务和培训条件
39.自行开发软件开发工具不具有的优点是( B )
A.切实符合自己的需要 B.集成化容易
C.便于进一步扩充和升级 D.可以商品化
40.以下几种较有代表性的语言及其开发工具中结果代码执行效率最高的是( B )
A.VB B.VC
C.PB D.JAVA
41.在软件开发过程中,确定子系统或模块划分的阶段是( B )
A.需求分析阶段 B.分析设计阶段
C.程序编码阶段 D.系统维护阶段
42.软件开发工具的基础是( C )
A.数据库 B.工具软件
C.信息库 D.文档
43.通常依赖于机器与软件的软件开发工具是( D )
A.计划工具 B.分析工具 C.上游工具 D.集成化工具
44.一个优秀的程序员要成为项目组的好成员,必须( D )
A.具有程序设计所需要的基本知识与技能
B.深入了解本项目所在的领域
C.比较熟悉软件开发的技术环境
D.按照统一的原则使用标识符
45.在软件开发过程中,直接与需求信息关联的界面是( A )
A.分析界面 B.编程界面 C.用户界面 D.管理界面
46.在购置软件开发工具前,不必重复调查( B )
A.开发工具的功能 B.开发工具的品牌
C.开发工具的服务 D.开发工具的运行环境
47.自行开发工具的原则,不包括( C )
A.短小实用 B.逐步积累
C.完善地规划 D.支持程序员的工作
48.Eclipse文本编辑器中查找下一个操作的快捷键是( A )
A. Ctrl+K
B. Ctrl+Z
C. CtrI+C
D. Ctrl+X
49.在Eclipse CDT编辑器中,完成快捷键设定的操作是同时按下=键和( B )
A.Shift键
B.Ctrl键
C.Alt键
D.Tab键
50.在Eclipse中,把文件恢复到历史记录版本的操作按钮是( B )
A.Restore
B.Replace
C.Rename
D.Reset
51.下述版本控制软件中,具有开放源代码特点的是( C )
A.RCS
B.PVCS
C.CVS
D.SCCS
52.CVS中,在某一时刻,模块中文件状态的静态影像称为( C )
A.输出
B.提交
C.快照
D.备份
53.在Eclipse首次启动时,如果某个插件有多个版本,通常的处理办法是( C )
A.使用最后存储的版本
B.使用最先存储的版本
C.使用存储的最高版本
D.列出所有版本供选择
54.在Eclipse插件清单编辑器中,指定当前插件运行时所需插件列表的页面是( B )
A.概述页面
B.依赖性页面
C.构建页面
D.运行时页面
55.在Eclipse插件清单编辑器中,显示插件提供给其他插件使用包的页面是( D )
A.概述页面
B.依赖性页面
C.构建页面
D.运行时页面
56.在如下关于面向对象的一些概念的叙述中,正确的是( C )
A.客观世界的有规律的事物才是对象
B.类是对一组相同的对象的描述
C.封装即信息隐藏
D.方法是驻留在程序中的过程
57.在Rational Rose建模的逻辑设计中,使用的图是( B )
A.活动图
B.顺序图
C.状态图
D.关联图
58.在Eclipse插件清单编辑器中,从整体上显示当前插件可用扩展点的页面是( C )
A.概述页面 B.扩展点页面
C.扩展页面 D.运行时页面
59.不属于Eclipse插件扩展点的是( B )
A.视图扩展点 B.操作集扩展点
C.编辑器扩展点 D.透视图扩展点
60.在Eclipse插件中,用于定义和实现结构化模型框架的插件是( B )
A.CDT B.EMF
C.MDT D.GEF
61.在如下关于面向对象的一些概念的叙述中,错误的是( B )
A.子类可以继承其父类的特性,同时可以有自己的新特性
B.子类可以继承其父类的特性,但不可以有自己的新方法
C.对于用户来说,封装接口部分是可见的
D.对于用户来说,具体实现部分是不可见的
62.在Rational Rose的系统分析与设计中,用于描述软件的各个组件及其之间依赖关系的图是( D )
A.活动图 B.顺序图
C.协作图 D.组件图
63.在Rational Rose建模的逻辑设计中,使用的图是( C )
A.活动图 B.状态图
C.交互图 D.关联图
64.在Rational Rose建模的设计中,系统中与实现无关的视图是( A )
A.用例图 B.活动图
C.顺序图 D.协作图
65.在版本控制软件中,对程序冻结和解冻的操作人员只能是( C )
A.程序员 B.程序员和管理员
C.管理员 D.用户
66.在Eclipse的插件清单中,提供插件id的标签是( A )
A.plugin B.runtime
C.requires D.extensions
67.Eclipse文本编辑器中查找上一个操作的快捷键是( B )
A.Ctri+Shift+F B. Ctrl+Shift+K
C.Ctrl+Shift+R D. Ctrl+Shift+S
68.在CVS中,将资源库中的最新状态反映至g工作备份的操作称为( D )
A.输入 B.提交 C.签出 D. 更新
69.要想使经过一段时间开发形成的本地代码和CVS资源库中代码保持一致,应选择的处
理是( C )
A.核对 B.提交 C.同步 D.更新
70.在Eclipse播件中,将已有的视图、操作集及编辑器进行组合和布局,以支持特定用户
的需求,这种组织的结果称为( C )
A.结构图 B.总编辑器
C.透视图 D.用户菜单
71.关于面向对象概念的叙述中,错误的是( B )
A.对象具有一组属性和一组操作 B.客观世界的有规律的事物才是对象
C.属性是类和对象的性质 D.抽象是事物的简括描述
72.使用Rational Rose建模不能支持( C )
A.UML的建模组成结构 B.采用基于组件的开发
C. 从数据流程图生成代码 D.系统分析到系统实现
73.安装GDB时,在版本列表中应选择( C )
A.src文件 B.exe文件 C.bin文件 D.doc文件
74.Eclipse工具栏的解锁操作,是对Lock the Toolbars做如下操作( D )
A.单击此项
B.在其前面加√
C.双击此项
D.将其前面的√去掉
75.在CVS中,将对工作备份的修改反映到资源库中的操作称为( B )
A.输入 B.提交 C.签出 D.更新
76.面向对象方法认为各种信息系统不旱斧的重要特征为( D )
A.复杂性 B.多样性 C.相互关联性 D.抽象性
77.在 Eclipse集成开发环境中,每个小程序的存在单位是( A )
A.项目
B.源代码
C.文件
D.文件夹
78.汇编语言的出现,使人们( A )
A.摆脱了难以记忆的二进的字符串
B.改变了通过逐条命令来指挥机器的状态
C.用接近自然语言的方式描述处理过程
D.实现了对机器的独立性
79.C程序运行结果显示在( A )
A.控制台视图上
B.导航器视图上
C.任务视图上
D.搜索视图上
80.谷歌代码搜索(Google Code Search)这款软件工具出现于( C )
A.结构化时代 B.面向对象时代
C.互联网时代 D.智能化时代
二、填空题
21.总体设计的成果是系统的_总体设计文件____及各个模块的设计任务书。
22.面向对象的程序设计将认识框架迅速地散布到程序设计语言的范围之外,以至出现了面向对象的系统分析,面向对象的系统设计,面向对象的数据库管理系统等。
23.对象之间可以互送消息(message),这消息可以是传送一个参数,也可以是使这个对象开始某个操作。
24.结构化程序设计把程序的结构分解成三种基本模块:处理单元,循环机制和二分决策机制。
25.软件并发工具合理存储、正确转化的四类信息是需求信息、设计方案、变更要求和代码文档。
26.信息库研究的核心问题是如何保持信息库的一致性。
27.信息库中应保存编程阶段的所有成果,包括程序代码、框图、变量说明、测试情况、验收报告和使用说明。
28.软件开发工具提供存储和管理有关软件信息的机制和手段。
29.软件开发过程的每一个周期可以分为五个阶段:需求分析、分析设计、编码、测试和维护。
30.信息库管理的三项功能是录入更新、使用查询和一致性维护。
31.软件开发的工作环境包括硬件配置、系统软件、数据库管理系统、网络通信等各种条件。
32.IBM于1989年提出AD/Cyde界于应用系统开发和CASE工具的总框架。
33.只有对于软件开发中涉及的各种信息,以及在开发过程中它们的发生、变化、关系、
一致性等有了完整与深刻的理解,才能真正实现软件开发工具的一体化。
34.较早期的软件开发工具基本着眼于某一种具体的语言本身,对于软件开发过程中涉及的交互,文档管理,代码版本管理的支持略显不足。
35.工作空间是Eclipse在用户电脑磁盘上划出的一块区域,用来存放用户的工作资料。
36.Eclipse的工作平台,主要由以下几个组成部分:菜单栏、工具栏、透视图,而透视图
又分为视图、编辑器。
37.在Eclipse CDT特有的Search功能中,可以执行文件、任务和C/C++搜索功能。
38.版本控制软件ClearCase涵盖的范围包括 版本控制、建立管理、工作空间管理和过程控制
39.对象是客观世界的抽象。
40.使用UML建模时一般分为用例视图设计、逻辑设计和物理设计三大部分。
41.我们所说的软件开发工具是一种帮助人们进行软件开发的特定的_软件_______。
42.面向对象的程序设计将认识框架迅速地散布到程序设计语言的范围之外,以至出现了
面向对象的系统分析、面向对象的系统设计和面向对象的数据库管理系统等。
43.模块之间的联系及互相影响称为耦合。一般来说,应当尽量避免逻辑耦合,而仅限于
数据耦合。
44.即插即用的程序设计处理大型软件开发工作的思路是由一部分人专门生产软件组件,
而另一部分人则构造整个软件的结构 。
45.抽象的、较大的对象所具有的性质,自然地成为它的子类的性质,不必加以说明或规定,
这就是__遗传_性。
46.参加大型软件开发的成员,必须具有高度的组织纪律性和_团队精神_。
47.信息库(Repository)是一个随着项目进度不断修改与补充的_数据集合_。
48.从项目管理观点来说,项目管理状况的最终体现是项目成本的升高或降低。
49.文档生成包括_文章、表格和图形三大类。
50.软件开发的工作环境包括硬件配置、系统软件、数据库管理系统、网络通信等各种
条件。
51.由于在软件开发工作中,存在着大量不确定的因素,人们常常需要用经验与 知识来补充或加工,或用人工智能方面的技术辅助提高信息处理的功能及效率。
52.从目前的发展势头看,智能化、网络化、一体化、标准化是软件开发工具发展值得重视的动向。
53.Eclipse的工具栏主要有两种类型,一种为__主 __工具栏,另一种类型则是视图工具栏。
54. Eclipse环境中,所有视图共享同一组_编辑器。
55.使用Eclipse提供的浏览功能,可以从多个角度快速查看并定位到程序中的各个元素, 包括代码的层次结构、调用关系和继承关系等。
56.在Eclipse CDT特有的Search功能中,可以执行文件、任务和C/C++搜索功能。
57.Eclipse的调试透视图主要包括调试视图、变量视图、断点视图、编辑器、大纲
视图和控制台视图。
58.在Eclipse定制透视图编辑器中的四个标签,分别定制的是工具栏、_菜单_、命令组和快捷方式。
59. UML(Unified Modeling Language,统一建模语言)是一种定义良好、易于表达且普遍适用的建模语言。
60.在面向对象程序设计中,对象表达为被描述事物的数据和对数据的处理的统一整体,也称为封装。
61.软件开发工具是在__高级____程序设计语言的基础上,为提高软件开发的质量和效率,对软件开发者提供帮助的一类新型的软件。
62.对于单个的程序员来说,以下两个转换是做好软件工作的关键。首先是从用户的理解到程序员的理解,其次是从程序员的理解到__程序的实现____的实现。
63.框图是描述程序执行的逻辑过程的概念模式,把程序执行的基本步骤归纳为判断、处理、_输入输出___、起始或终止几个基本功能。
64.人机交互手段的八个方面是:键盘操作、屏幕滚动、__帮助系统___、菜单选择、鼠标操作,色彩应用、数据录入和信息显示。
65.面对软件开发中的种种困难和问题,几十年来,软件工作者先后提出了结构化程序设计,___软件工程___方法,面向对象的方法,即插即用的程序设计方法,面向开源软件的程序设计等方法。
66.软件开发工具是引导人们建立正确、有效的__概念模式____的一种手段。
67.Eclipse重构中的重命名功能为我们解决了变量、___类___、函数等重命名的所有问题。
68.软件开发过程的每一个周期可以分为五个阶段:需求分析、分析设计、__编码____、测试和维护。
69.对于CASE工具有两种理解。一种是计算机辅助_软件工程_____,另一种是计算机辅助系统工程。
70.软件开发的工作环境包括硬件配置、系统软件、_数据库管理系统_____、网络通信等各种条件。
71.在Eclipse中允许用户在__注释____、代码和文件三个维度设置代码模板。
72.Eclipse CDT编辑器的首选项设置包括外观、键、搜索、工作空间和__浏览器____。
73.通过网络,人们可以更方便地互通信息、__共享知识____,这就给软件重用、知识重用提供了新的机会。
74.Eclipse的团队支持组件负责提供__版本控制____和配置管理支持。
75.随着互联网的兴起,软件开发工具的发展有两个明的特点,一个是面向网络,另一个是开源软件的兴起与运用。
76.结构化程序设计方法把程序结构分解成三种基本模块:处理单元、循环机制、二分决策机制。
77.即插即用程序设计方法是在面向对象的程序设计方法的基础上提出来的。
78.卡内基・梅隆大学的软件工程研究所提出成熟度模型,作为衡量软件开发项目组的标准。
79.在需要较长时间等特时,用户界面必须使用户能随时掌握任务的进展状况。
80.时序网络主要用于描述系统状态及其转换方式。
81.数据流程图的基本元素包括: 外部实体 、数据处理和数据存储,用箭头表明信息在它们之间的流动状况。
82.为了达到 项目 管理的基本目标,人们采用了工程计划网络、甘特图、检查点方法、排队论等技术和方法。
83.一个好的开发软件工具不仅能帮助使用者完成具体的开发任务,而且能引导使用者熟悉和掌握科学的开发方法,即形成正确的 概念模式。
84. 软件开发是一个多阶段的过程,不同的开发阶段要求不同的工具。软件开发工具大体上可分为_计划_工具、分析工具和设计工具。。
85.在大中型项目中,由于项目复杂,开发周期长,交互性高,大多数开发团队倾向使用的开发工具是集成开发工具。
86. Eclipse的体系结构主要包括运行时内核、工作空间、工作台、各类开发环境和其它插件。
87.C语言是一种面向 过程 的计算机程序设计语音,
88.为了在不指明完整路径的情况下,系统就能够认识 MinGW的执行命令,需要为其设置系统 环境变量 。
89.在Eclipse中,重命名变量位于菜单栏中的Refactor(重构)菜单项中。
90.编译C程序是指将.c文件编译为可以运行的目标文件。
91.GDB是开源组织GNU发布的一个程序调试工具。
92.如果 Eclipse工具栏区被竖直的虚线分成若干部分,那么,此时的工具栏处于解锁状态。
93. PDE透视图清单编辑器中的 概述 页面由“一般信息”和“执行环境”两个主要成分组成,它们定义了重要的插件属性。
94.在程序设计中,对象向外提供一组数据结构和一组操作,而把内部的细节隐成起来,这称为 封装 。
三、简答题
1.简述面向对象的程序设计的基本思想。
1答:(1)客观世界的任事物都是对象,它们都有一些静态属性,也都有一些相关的操作。即所谓“封装性”。(2)对象之间有抽象与具体,群体与个体,整体与部分等几种关系。(3)抽象的、较大的对象所具有的性质,包括静态属性和动态操作,自然地成为它的子类的性质,不必加以说明或规定。即所谓的“遗传性”。(4)对象之间可以互通信息。
2.一个好的项目组应具备哪些条件?
2答:(1)有严格的、成文的工作规范和文档标准,而且应当为全体成员熟知,并且切实得到遵守。
(2)人员之间有严格分工。
(3)每个项目都事先制定详细的时间表,并且得到严格执行。
3.为了真正理解和用好软件开发工具,用到的重要的理论和方法包括哪些?
3答:(1)认知科学中有关概念模式的概念与方法;
(2)数据库技术的理论与方法;
(3)编译技术的有关方法;
(4)关于人机界面的理论与方法;
(5)管理科学中关于项目管理与版本管理的理论与方法;
(6)系统科学与系统工程的有关理论与方法。
4.软件开发工具的基本功能可以归纳为哪几个基本方面?
4答:软件开发工具的基本功能可以归纳为以下5个方面:(1)认识与描述客观系统。提供描述软件状况及其开发过程的概念模式,协助开发人员认识软件工作的环境与要求、管理软件开发的过程。(2)存储及管理开发过程中的信息。提供存储和管理有关信息的机制与手段。软件开发过程中涉及众多信息,结构复杂,开发工具要提供方便、有效的处理这些信息的手段和相应的人机界面。(3)代码的编写或生成。帮助使用者编制、生成和修改各种文档。开发过程中大量的文字材料、表格、图形常常使人望而却步,人们企望得到开发工具的帮助。(4)文档的编制或生成。即帮助使用者编写程序代码,使用户能在较短时间内半自动地生成所需要的代码段落,进行测试和修改。(5)软件项目的管理。对历史信息进行跨生命周期的管理,即管理项目运行与版本更新的有关信息,以便于信息与资源的充分利用。
5.为自己所用的软件开发工具与商品化的软件开发工具有什么区别?
5答:商品化的软件各种应用项目差别很大,运行环境复杂多变,为自己所用的软件开发工具适用于某一特定应用范围内的、只支持某一局部功能的工具
6.统一建模语言(UML)把系统开发分成哪几个阶段?
6答:统一建模过程是一种基于用例驱动,以系统架构为中心的迭代与增量开发软件过程。它包括4个阶段:初始、细化、构造和移交阶段。
7.进入二十一世纪以来,软件开发工具的发展有什么特点?
7答:进入二十一世纪以来,软件开发工具的发展有两个鲜明的特点,第一个特点是面向网络 ,另一个特点是开源软件的兴起和运用
8.世纪的软件开发工具与以往的有什么区别:
8答:(1)自动化程序的提高。(2)这一阶段的工作明确地把需求分析和架构设计包括在软件工作的范围之内,从而使软件开发过程进一步向用户方面延伸,离用户更近了。(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩展到了作为一个不断发展的客体生长守的全过程。(4)在这一阶段的研究中,吸收了许多管理可学的内容与方法。
9.简述软件发展的几个主要阶段。
9答:(1)仅限于把用户已经明确表达出来的算法,用机器语言写成一系列机器指令,供硬件运行使用。(2)编程工作改为用汇编语言进行,编好的汇编指令由汇编程序转化为机器指令。(3)把汇编语言变成了高级程序设计语言(第三代语言)。高级程序设计语言不再是与机器指令一一对应,而是更加接近人类习惯的自然语言。。
10.简述信息库中保存的编程阶段成果的内容。
10答:信息库中保存的编程阶段成果包括以下六个部分:程序代码、框图、变量说明、测试情况、验收报告和使用说明。
11.简述项目管理的基本目标。
项目管理的基本目标:(1)使产品(或工程)的质量得到有效的控制。(2)保证整个系统按预定的进度完成。(3)有效地利用各种资源,尽可能使资源的闲置与浪费减少。(4)控制与降低成本。
12.简述在Windows操作系统的环境下,Visual Studio与Eclipse相比的优势。
12答:Visual Studio在微软环境下和其他产品的交互协同能够浑然一体;开发使用容易;产品间的差别透明度高;在运行速度;代码提示显示速度等方面也强于Eclipse。
与Visual Studio相比,Eclipse的优势表现在:大平台,小核心,多插件,更富灵活性,在各种操作系统上表现差异小。
13.简述模块的划分应当符合的基本要求。
13答:(1)模块的功能在逻辑上尽可能地单一化、明确化,最好做到一一对应;(2)尽可能地减少模块之间的联系及相互影响,对于必需的联系都应当加以明确的说明。应当尽量避免逻辑耦合,而仅限于数据耦合;(3)模块的规模应当足够小,以便使它本身的调试易于进行。
14.简述用户界面设计的基本原则。
14答:(1)用户界面的主要功能是通信;(2)用户界面必须始终一致;(3)用户界面必须使用户随时掌握任务的进展情况;(4)用户界面必须提供帮助;(5)宁可让程序多干,不可让用户多干。
15.程序员做好软件工作的关键是什么?
15答:关键是两个转换:首先是从用户的理解到程序员的理解,其次是从程序员的理解到程序的实现;
16. 实体关系图是什么?
16.答:实体关系图是一种用于描述静态数据结构的概念模式。它以实体,关系,属性三个基本概念概括数据的基本结构。经常与数据流程图、结构图配合使用,广泛应用于数据库设计。
17.软件开发工具的主要性能指标有哪些?
17答:(1)表达能力和描述能力;(2)保持信息一致性的能力;(3)使用的方便程序;(4)工具的可靠程序;(5)对软件和硬件环境的要求。
18.简述结构良好的软件应满足的条件。
18答:(1)正确地实现所要求的功能,准确地给出预定的输出结果;(2)用户界面友好,符合实际用户的使用习惯与知识水平;(3)具有足够的速度,能在符合用户要求的时间限度内,给出所要求的处理结果;(4)具有足够的可靠性,能够在各种干扰下保持正常的工作;(5)程序易讯,结构良好,文档齐全,从而保证易于修改。
19简述软件开发工具使用中,审计的范围。
19答:所谓审计是指对一个系统的运行状况及效率进行检测与评价,以便进一步用好或改进这个系统。审计的范围应当包括工具使用的环境、人员、工作负担、工作效果、存在问题、改进方向等许多方面。
20.简述软件开发中常用的概念模式。
答:在软件开发中常用的概念模式有八种:框图、结构图、数据流程图、实体关系图、数据字典图、时序网络、数学与逻辑模型、计算机模拟模型。
21.什么是软件开发工具的标准化?
21答:软件开发工具的标准化是指软件构件的标准化以及用标准构件组成大型软件结构的标准化。
22.简述面向对象过程的一般步骤。
22答:(1)标识和定义对象及类;(2)组织类间的关系;(3)在类层中构造框架;(4)建立可重用的类库和应用程序框架
23.简述软件工程思想的产生。
23答:软件危机的发生;程序员的技能与认真负责是不牢靠的;从根本上,要想大幅度地提高软件开发的效率和质量,应吸取人们的成功经验,从组织和管理的角度加强力量;使软件生产从程序员的个人劳动提高成为可控制的工程,这就产生了软件工程。
24.简述软件工程从传统产业工程方法中吸取的成功经验。
24答:对软件工程工作的步骤做了严格的规定;工作顺序不能颠倒;每一个阶段都有各自的明确的任务;在质量、表达方式等方面要有统一的、并为人们共同遵守的标准;利用有关各方沟通与交流的手段,使参加工作的人们称为一个整体,共同地完成一项大的工程任务。
四、论述题
1.试述软件开发工具的一般结构及其主要功能。
答:基本功能包括五个方面:(1)提供描述软件状况及其开发过程的概念模式,协助软件开发人员认识软件工作的环境与要求,合理组织与管理软件开发的工作过程;(2)提供存储和管理有关信息的机制与手段;(3)帮助使用者编制、生成及修改各种文档)(4)帮助使用者编写程序代码,即代码生成;(5)对于历史信息进行跨生命周期的管理,把项目运度与版本更新的有关信息科学地管理起来。
一般结构包括:(1)中心位置的总控部分和人机界面,一方面人机界面面对不同类型的用户;另一方面,总控部分面对着系统内部的各种功能与各种信息,它要保证各部分之间相互的协调一致,保证各部分之间信息有效地、准确地流通。(2)系统中的重要部分是信息库及其管理,信息库内容的丰富程序则是软件开发工具的功能与作用的最基本的依据。(3)最重要的两个信息出口:代码生成与文档生成。(4)另一个技术要素是项目管理和版本管理。
2.试论软件开发工具的发展阶段及特点。
2答:(1)利用通用软件作为辅助工具的阶段。有许多工作是通用软件无法完成的。通用软件完成某些工作也不能反映其逻辑内涵。常常遇到难于保持一致性的困难。(2)专用的软件开发工具的阶段。对软件的开发缺乏全面的、统一的支持环境。(3)集成的软件开发环境阶段。进入集成的软件开发环境阶段的标志是IBM在1989年提出的理论框架。(4)二十一世纪的软件开发新阶段。有两个鲜明的特点,第一是面向网络,不仅基于网络,而且用于网络。第二是开源软件的兴起和运用。
3.试论软件开发工具的提出与使用,是软件技术发展的一个新的阶段。
3答:区别于以往阶段的特点,它的发展主要表现在四个方面:
(1)自动化程度的提高。编程中的部分工作已由工具代替执行。
(2)将需求分析和架构设计包括在软件工作的范围之内,从而使软件开发过程进一步向用户方面延伸。顺应大量开源软件出现的客观环境,进一步显示出软件开发的继承性和开放性,进一步证明了软件是人类知识积累和传承的新 的、有力的手段。
(3)将软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩展到了作为一个不断发展的客体生长完善的全过程。这也是软件研制从个体的、手工作坊的方式向科学的、有组织的、有计划的方式转变的一个重要表现。
(4)吸收了许多管理科学的内容和方法,将组织、管理等项目负责人的思想与方法放到了更重要的位置。人们越来越深刻地认识到,软件生产的成败更多地依赖于合理地组织与协调,而不是领导者或程序员个人的编程能力。
4.试述数据流程图的组成和作用
4答:数据流程图由外部实体、数据处理、数据存储和数据流组成。数据流程图面对的是一个系统的信息流程。用于描述某一业务筛系统的信息来源、存储、处理、去向的全面情况。其基本思想是把信息流看作一个组织或系统动作的线索,简明扼要地描述处理的过程。数据流程图不仅应用于描述已有系统的状况,也应用于描述设想中新系统的状况。
5.试论信息库管理功能与一般数据库管理系统的区别。
5答:信息库是一个包罗万象的,随着开发项目进展而不断修改与补充的信息集合。数据库是在文件系统的基础上发展起来的一种管理技术,重点在于合理的组织数据,减少冗余。而数据仓库的基本思想是现实中的大量原始数据与实际的应用是有相当距离的,为了能够切实为企业管理者提供对管理真正有用的信息,就要对信息或数据进行多次的加工或提炼,从而得出许多派生的或综合的数据。软件开发过程中的信息管理工作包括几个方面:长期保存信息,不断修改,及时检查和维护,反复调用和查询;数据的转换和加工;各种人员之间的交流。
6.大型软件开发中的困难有哪些?并阐述开发困难产生的原因
答:存在的困难有:(1)一致性的保持成为十分困难的问题;(2)测试的困难大大增加
(3)工作进度难以控制;(4)文档与代码的协调十分困难;(5)版本更新带来的困难
产生困难的原因有:(1)这些困难来自大系统的复杂性;(2)许多具有主动性的个人之间的组织与协调带来大量的困难;(3)各个应用领域之间的差别导致困难的加重;(4)时间的因素,变化的因素给软件开发工作带来许多困难。
五、应用题
1. 填写①~⑩完成一个程序,已知X、Y、Z分别表示0~9中不同的数字,求出使算式已知XXXX+YYYY+ZZZZ=YXXXZ成立时X、Y、Z的值,并要求打印该算式。使用Eclipses CDT实现该C程序,完成从新建项目、源文件夹、编写代码并最终编译运行这一系列步骤,请补充上述这些步骤中的关键点。
(1)新建项目:打开Eclipses集成环境, 点击菜单栏上的”___①_ _”菜单,选择新建子菜单下的___②__选项,弹出选择向导窗口。 在对话框中打开C/C++文件夹,选择"C Project后点击"Next”进入下一步。在项目名称栏中输入“myTest", 并在项目类型“Project type”标签中打开"Executable" 文件夹,选择“Empty Project", 点击“Finish" 按钮完成。
(2) 新建源文件夹:鼠标右键点击资源浏览器中新建的myTest项目,在弹出的菜单中,选择 “New"子菜单里的_③_ 选项。在弹出的窗口中需要输入文件夹名称,把光标定位到文件名(Folder name) 一栏中输入源文件夹名称src, 然后点击完成“Finish"按钮即可。
(3)新建C类文件:参照前一个步骤新建的源文件夹,在资源管理器中鼠标右键点击src文件夹,在弹出的菜单中选择_④___子 菜单里的__⑤___ 选项,新建一个类文件。
(4)编写C程序代码:打开第(3)步中建好的类文件,在编辑器中编写代码如下,补充代码中的关键步骤。
#include"stdio.h"
#include "stdio.h"
int sum(int a, int b,int c)
{
return 1111*a+1111*b+1111*c;
}
int main (void) {
int x,y,z;
int k;
for(x=0;__⑥__;x++){
for(y=0;y<10;y++){ I
if(y==x)
continue;
for(z=0;z<10;z++){
if(z==x___⑦__z==y
continue;
k=sum(x,y,____⑧__);
if(k==__⑨__+1110*x+z) {
printf(“x=%d,y=%d,z=%d ,x,y,z);
printf ("%d+%d+%d=%d ",1111*x,1111*y,1111*z,k);
} } }}
return EXIT_SUCCESS;
}
(5)运行程序:在Eclipse的默认设置下,运行程序的快捷键是___⑩____。
1答案:
①文件 (File) ②项目(Project) ③源文件夹(Source Folder) ④新建(New)⑤类(Class) ⑥ x<10 ⑦&& ⑧z ⑨10000*y ⑩Ctrl+F11
2.填写①~⑩,完成一个名称为EvenSum的程序,求指定范围内的偶数和,输人为两个整型变量,输出为这两个变量之间的所有偶数的和。使用Eclipse CDT完成该C程序,按照新建项目、源文件夹、编写代码、编译运行的实现步骤,补充上述这些步骤中的关键点。
(1)新建项目:打开Eclipse集成环境,点击菜单栏上的“File'’菜单,选择新建子菜单下的C Project选项,弹出选择向导窗口。在对话框中打开C/C++文件夹,选择“C Project”后点击“Next”进入下一步。在项目名称栏中输入项目名称 ___(1)___,并在项目类型“Project type”标签中打开“Executable”文件夹,选择“Empty Project”在“Select Configurations”窗口中可以选择调试和发布文件夹以及高级设定,保持默认设置后点击Finish即可新建“C Project”,在这个工程中将会保存编写的___(2)___和配置文件。
(2)新建源文件夹:鼠标右键点击资源浏览器中的新建的项目,在弹出的菜单中,选择 “New”子菜单里的源文件夹“Source Folder”选项。在弹出的窗口中需要输入文件夹名称,把光标定位到___(3)____一栏中输入源文件夹名称“src”,然后点击“Finish”按钮完成。
(3)新建C类文件:参照前一个步骤新建的源文件夹,在资源管理器中鼠标右键点击 “src”文件夹,在弹出的菜单中选择___(4)____子菜单里的___(5)___选项,新建一个类文件。
(4)编写C程序代码:打开第3步中建好的类文件,在编辑器中编写代码如下,补充代码 中的关键步骤。
#include "stdio.h"
#include "stdlib.h"
int main(void){
int firstNum = 0,secondNum = 0; //输入参数
int getResult = 0; //计算结果
scanf("%d%d",&firstNum,&secondNum);
getResult= ⑥ ;
printf("%d",getResult);
return EXIT_SUCCESS;
}
bool isEven(int num){
if( ⑦ ) //判断是否为偶数
return true;
else
return false;
}
int add(int a,int b){
return ⑧
}
int addEven(int min,int max){
int i, result =0;
if(min>max){ //交换上下界
int tmpNum = min;
⑨ = max;
max = tmpNum;
}
for(i=min;i<max;i++){
if(isEven(i)) //满足偶数条件
result=add(result,i);
}
return result;
}
(5)运行程序:在Eclipse中不仅存在Eclipse特有快捷键,还包括了操作系统本身的快捷键。其中调试程序的快捷键是___⑩___,运行程序的快捷键Ctrl+Fll。
2答案
(1)EVENSUM;(2)源代码文件;(3)Folder name;(4) NEW (新建);(5) 类(CLASS);(6) addEven(firstNum, secondNum);(7)num%2==0;(8)a+b 或者 b+a;(9)min;(10)F11
注意变量和函数名的大小写
3.填写①~⑩,完成一个程序,输入3个数a,b,c,按从小到大的顺序输出。使用Eclipse CDT实现该C程序,完成从新建项目、源文件夹,编写代码并最终编译运行这一系列步骤,请补充上述这些步骤中的关键点。
(1)新建项目:打开 ① 集成环境,点击菜单栏上的“File”菜单,选择新建子菜单下的 ② .选项,弹出选择向导窗口。在对话框中打开C/C++文件夹,选择“CProject”后点击“Next”进入下一步。在项目名称栏中输入sort,并在项目类型“Project type”标签中打开“Executable”文件夹,选择“Empty Project”,点击“Finish”按钮完成。
(2)新建源文件夹:鼠标右键点击资源浏览器中的新建的sort项目,在弹出的菜单中,选择“New”子菜单里的源文件夹“Source Folder”选项。在弹出的窗口中需要输入文件夹名称,把光标定位到 ③ 一栏中输入源文件夹名称“src”,然后点击完成“Finish”按钮即可。
(3)新建C类文件:参照前一个步骤新建的源文件夹,在资源管理器中鼠标右键点击src文件夹,在弹出的菜单中选择 ④ 子菜单里的 ⑤ 选项,新建一个类文件。
(4)编写C程序代码:打开第3步中建好的类文件,在编辑器中编写代码如下,补充代码中
#include"stdio.h"
#include"stdlib.h"
int main(void)
{
void swap(int *pl,int *p2);
int n1,n2,n3;
int *pointer1,*pointer2,*pointer3;
printf("请输入3个数字:n1,n2,n3:");
scanf("%d,%d,%d",&n1,&n2,&n3);
pointer1 = &n1;
pointer2 = &n2;
pointer3 = ⑥ ;
if(n1 > n2)swap(pointer1,pointer2);
if(n1 > n3)swap(pointer1,pointer3);
if( ⑦ )swap(pointer2,pointer3);
printf("从小到大的顺序是:%d,%d,%d\n",n1,n2,n3);
return EXIT_SUCCESS;
}
void swap( ⑧ ){
int p;
p = *p1;
*p1 = *p2;
*p2 = p;
}
(5)使用浏览功能查看函数的调用层次:Eclipse的查看调用层次功能可以清晰展现函数调用关系。首先,将光标定位到编辑器中的 ⑨ 函数,点击菜单栏上的“ ⑩ ”菜单,选择打开调用层次结构“open Call Hierarchy”选项即可看到该函数的调用层次:main()->swap()。
3答案:
①Eclipse ;② Cproject;③文件夹(Folder Name);④新建(New);⑤类(Class );⑥&n3;⑦n2>n3;⑧int *pl,int *p2;⑨swap() ;⑩浏览(navigate)
4. 填写①~⑩,完成一个程序,计算长方体的体积及三个面的面积。使用Edipse CDT实现该C程序,完成从新建项目、源文件夹,编写代码并最终编译运行一系列步骤,请补充上述这些步骤中的关键点。
(1)新建项目:打开Eclipse集成开发环境,点击菜单栏上的 ① 菜单,选择新建子菜单下的C Project选项,弹出选择向导窗口。在对话框中打开C/C++文件夹,选择“C Project”后点击“Next”进入下一步。在项目名称栏中输入项目名称,并在项目类型“ Project typp”标签中打开“Executable”文件夹,选择“Empty Project”。在“Select Configurations”窗口中可以选择调试和发布文件夹以及高级 设定,保持默认设置后点击Finish即可新建“C Project”,在这个工程中将会保存编写的 ② 和配置文件。
(2)新建 ③ :鼠标右键点击资源浏览器中的新建的项目,在弹出的菜单中,选择“New”子菜单里的源文件夹“Source Folder”选项。在弹出的窗口中需要输入文件夹名称,把光标定位到项目名称一栏中输入源文件夹名称“src”,然后点击完成 ④ 即可。
(3)新建C类文件:参照前一个步骤新建的源文件夹,在资源管理器中鼠标右键点击src文件夹,在弹出的菜单中选择 ⑤ 子菜单里的类“Class”选项,新建一个类文件。
(4)编写C程序代码:打开第3步中建好的类文件,在编辑器中编写代码如下,补充代码中的关键步骤。
#include"stdio.h"
#include"stdlib.h"
int s1,s2,s3;
int vs(int a,int b,int c)
{
int v;
v = ⑥ ;
s1 = a * b;
s2 = b * c;
s3 = ⑦ ;
return v;
}
int main(void)
{
int v,l,w,h;
printf("\n 输入长、宽、高:");
scanf("%d%d%d", ⑧ ,&w,&h);
v = ⑨ ;
printf("v = %d,s1 = %d,s2 = %d,s3 = %d\n",v,s1,s2,s3);
return EXIT_SUCCESS;
}
(5)Eclipse提供的重构功能本质上是对程序的结构调整。Eclipse重构功能为我们解决了变量、类、函数等改名的问题。在本程序中,要将变量a改为x,手工遂个操作需要改多处,但用Eclipse重构菜单的“ ⑩ ”选顼,只需要改动一处即可。
4答案:
①文件(File) ;②源代码文件(Source File);③源文件夹(Source Folder);④结束(Finish);⑤新建(New);⑥a * b * c ;⑦a * c; ⑧ &l;⑨ vs(l,w,h)