第一篇:软件开发工具总结
1.软件开发工具:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。
2.软件开发工具的功能要求:(1)认识与描述客观系统
(2)存储及管理开发过程中的信息
(3)代码的编写或生成(4)文档的编制或生成(5)软件项目的管理
3.软件开发工具的性能:(1)表达能力或描述能力
(2)保持信息一致性的能力
(3)使用的方便程度
(4)工具的可靠程度
(5)对硬件和软件环境的要求
4软件开发工具的类别(1)按工作阶段划分:分为设计工具、分析工具、计划工具
(2)按集成程度划分:分为集成化的和专用的(3)按与硬件、软件的关系划分:分为依赖于特定的计算机或特定的软件、独立于硬件与其他软件的。
5.软件开发过程:需求分析、总体设计、实现阶段、测试或调试阶段
6.通用软件的弱点:
(1)有许多工作是通用软件所无法完成的。
(2)用通用软件完成某些工作,只能表现其表面的形式,而不能反映其逻辑内涵。
(3)用通用软件来帮助人们完成软件开发工作时,常会遇到难于保持一致性的困难。
7.软件开发工具的发展表现在:
(1)自动化程度的提高
(2)把需求分析包括进了软件工作范围之内,从而使软件开发过程进一步向用户方面延伸,离用户更近了。
(3)把软件开发工作延伸到项目及版本管理。
(4)吸收了许多管理科学的内容与方法。
8大型软件开发中的困难:(1)一致性的保持成为十分困难的问题。
(2)测试的困难大大增加
(3)工作进度难以控制。
(4)文档与代码的协调十分困难。
(5)版本更新带来的困难。
9大型软件开发中困难产生的原因
(1)这些困难来自大系统的复杂性
(2)许多具有主动性的个人之间的组织与协调本身也会带来大量的困难。
(3)各个应用领域之间的差别也导致这些困难的加重。
(4)时间的因素、变化的因素也给软件开发工作带来许多困难。
10.结构化程序设计分解的三个基本模块:处理单元、循环机制、二分决策机制。
11.结构化程序设计划分模块的基本要求:
(1)模块的功能在逻辑上尽可能地单一化、明确化。
(2)模块之间的联系及相互影响尽可能少,明确说明必需的联系,避免传递控制信号,避免逻辑耦合,仅限于数据耦合。
(3)模块的规模应足够小,以便使它本身的调试易于进行。
1.IBM提出的应用软件的开发过程:需求分析、分析与设计阶段、编程阶段、测试阶段、使用及维护阶段。
2.面向对象的程序设计的基本思想:
(1)课观世界的任何事物都是对象,它们都有一些静态属性,也都有一些有关的操作,作为一个整体,这些对象对外不必公开这些属性与操作,这就是所谓“封装性”
(2)对象之间有抽象与具体、群体与个体、整体与部分等几种关系
(3)抽象的、较大的对象所具有的性质包括静态属性和动态操作,自然地成为它的子类的性质,不必加以重复说明或规定,这是“遗传性”
(4)对象之间可以互送消息,这一消息可以是传送一个参数,也可使这个对象开始某个操作
3.对软件质量进行测评的标准:
(1)正确地实现所要求的功能,准确地给出预定的输出结果
(2)用户界面友好,符合实际用户的使用习惯与知识水平
(3)具有足够的速度,能在符合用户要求的时间限度内,给出所要求的处理结果
(4)具有足够的可靠性,能够在各种干扰下保持正常的工作
(5)程序易读,结构良好,文档齐全,从而保证系统易于修改
4.单个程序员需要具备的知识与技能:
(1)具有程序设计所需要的基本知识与技能
(2)对本项目所在的领域有较深入的了解
(3)对软件开发的技术环境比较熟悉
5.项目组的一员,除了实现自己分担的功能外,还需要
(1)保证严格地在本模块范围内操作,绝不要使用可能干扰其他模块的命令或函数
(2)严格按总体设计的要求和理解去传递参数值,决不要随意修改其内容或函数
(3)在对公用的文件或数据库进行存取时,必须完全地、准确地按统一规定的格式去操作,决不能擅自改变
(4)在使用标识符时,应按照统一的原则,尽量使用易于看出逻辑含义的名称,特别是涉及公用数据及参数的时候
(5)严格按照统一的要求编写文档,在内容、格式、表达方式、符号使用上遵循项目组的统一规定
(6)尽量保持程序风格的一致
6.好的项目组应具备的条件:
(1)有严格的、成文的工作规范和文档标准
(2)人员之间有严格的分工
(3)每个项目都要事先制定详细的时间表,且得到严格执行,每一项目完成之后都有完整的资料,并得到妥善保存
7.可视化程序设计的技术手段:
(1)指点与卡嗒,简称“点”
(2)删剪与粘贴,简称“剪贴”
(3)拖拉与扔下,简称“拖扔”
8.软件开发中涉及的信息有
(1)有关系统环境、现状及需求的信息
(2)有关软件的功能设计与物理设计的各种信息
(3)软件成果本身,包括程序与文档
(4)用户对系统的各种变更要求,以及系统的各种变更的记录
9.对各类信息的管理工作有:
(1)许多信息需要长期保存,包括一致性的检查与维护、方便迅速的查询与调用
(2)在许多环节上都要进行数据的转换与加工
(3)大量的人与人之间的信息交流
10.软件开发工具用到的理论和方法:
(1)认知科学中关于概念模式的概念与方法
(2)数据库技术的理论与方法
(3)编译技术的有关方法
(4)关于人机界面的理论与方法
(5)管理科学中关于项目管理与版本管理的理论与方法
(6)系统科学与系统工程中的有关理论与方法
1.在选择与购置软件开发工具时,最重要的是设置有限的、现实的目标,以及充分考虑各方面的环境因素,这两点对于软件开发工具是否切实发挥作用起着根本性的制约作用。
2.自行开发软件开发工具时应注意:
(1)从实际出发,设定现实的、有限的目标
(2)坚持短小实用、逐步积累、避免期望过高,贪大求全
(3)注意文档的齐全与资料的积累
(4)谨慎对待商品化
3.对于自行研制软件开发工具来说,除了技术上的各种考虑之外,主要是区分自己用还是作为商品出售
4.软件开发工具购置与开发权衡,考虑以下因素:
(1)准备从事软件开发工作的性质与要求
(2)开发人员对支持工作与支持程度的实际需要
(3)工作环境
(4)人员的情况
5.购置软件开发工具应考虑的问题:开发工具的功能如何,性能/价格比如何,开发工具所使用或依据的开发方法或开发理论是什么,开发工具运行环境是什么,文档资料是否齐全,服务、培训的条件如何以及实用性如何。
6.购置软件开发工具时,首先要明确目的与要求。
7.确定购置软件开发工具后,要明确目的与要求即明确
(1)为哪个软件开发项目而使用工具
(2)在哪个工作阶段使用工具
(3)工具将供那些人使用
(4)工具将在怎样的软、硬件环境下运行
8.在引入软件开发工具后,使用者必须从一开始就对它的使用过程进行认真地组织与管理,包括
(1)制定严格的使用制度
(2)记录实用的详细过程
(3)培训使用人员
(4)经常进行审计与评价工作
9.记录的内容包括:系统运行的次数、时间;信息库的输入与更新时间;各种输出的质量与
数据量;使用者的反映与满意程度,各种故障及处理的情况。
10.在软件开发工具的选择与购置中,应按照一下步骤进行
(1)明确购买软件开发工具的目的与要求
(2)明确购买软件开发工具的环境与制约条件
(3)市场调查
(4)对可供选择的各种工具进行综合比较
(5)进行测试和检验
(6)正式签约购置
(7)安装与试用
11.工作环境包括硬件配置、系统软件、网络通信等各种条件
12.决定购置还是自行开发工具的最根本因素是准备从事软件开发工作的性质与要求。
13.如果已决定配置软件开发工具,进行市场调查时,首先应该调查软件开发工具的功能。
14.引入软件开发工具后,还需要经常进行审计工作,即对软件工具使用的环境、人员、工作效果、存在问题及改进方向等方面进行评价。
第二篇:自考软件开发工具复习资料总结
一、软件开发工具的功能要求:
1、认识描述客观系统
2、存储管理开发过程中的信息
3、代码生成和编写
4、文档生成和编写
5、软件项目管理
二、软件开发工具性能:
1、表达能力或描述能力(首先考虑)
2、保持信息一致性能力(十分关键)
3、使用方便程度
4、工具可靠程度
5、对硬件和软件的要求(不应当超出所支持的软件环境要求)
三、软件开发工具基本功能:
1、提供描述软件状况及开发过程的概念模式
2、提供存储和管理有关信息的机制与手段
3、帮助使用者编制、生成及修改各种文档
4、帮助使用者编写程序代码
5、对于历史信息进行跨生命周期的管理
四、大型软件开发困难:1、2、3、一致性保持
测试困难加大 进度难以控制4、5、文檔和代码协调困难
版本更新困难
原因:1、2、3、4、大系统的复杂性
主动性的个人之间组织和协调困难
领域间的差别使困难加重 时间因素、变化因素
五、AD/Cylce(软件开发过程的抽象理解):
1、需求分析阶段(任务:建立逻辑模型)
2、分析设计阶段(任务:完成系统的总体设计 包括:详细设计 子系统或模块化分)
3、编码阶段
4、测试阶段
5、维护阶段(任务:管理软件的日常运行)
六、软件开发工具:
1、设计工具(最具体实现阶段 第四代语言 直接帮助编写和调试
最早)
2、分析工具(需求分析FLOW 数据字典 数据字典管理系统CDD Dictionary/3000)
3、计划工具(宏观 组织项目管理实施)
七、模块划分的要求:
1、功能在逻辑上单一,明确模块和任务一一对应,一个模块完成 一个任务(凝聚性)
2、模块间联系尽可能少,对必要的联系加以说明(数据耦合)
3、规模应足够小,调试易于进行
八、好软件:
1、实现功能
2、界面友好
3、足够的运行速度(不是越快越好)
4、可靠性
5、易读、结构良好、文文件齐全、易于修改
九、好程序员:
1、基本知识技能
2、项目领域理解深入
3、熟悉开发环境
十、CMM好项目组:
1、有严格、成文工作规范标准,并为全体成员熟知,切实遵守
2、人员严格分工,除程序员外还要专门秘书(负责文檔收集、审核及保管),专门测试人员,专职的不限于编程的项目负责人
3、详细时间表并严格执行
十一、用户界面基本原则:
1、主要功能通信
2、用户界面始终保持一致
3、使用户随时掌握任务的进展状况
4、必须能够提供帮助
5、宁可让程序多干,不可让用户多干
十二、项目管理基本目标:
1、使产品质量得以有效的控制
2、保证整个系统按预定的进度完成3、有效的利用各种资源
4、控制和降低成本
十三、生成代码的依据:
1、信息库已有的资料
2、利用各种模块的框架和构件
3、使用者临时通过屏幕前操作送入的信息
十四、信息库需要四大类信息:
1、软件应用的领域与环境状况(系统状况)
2、设计成果(物理设计和逻辑设计)
3、运行状况与测试记录
4、项目管理和本管理信息
十五、AD/Cycle项目考虑范围:
1、研究确定工作方法方针
2、开发任务划分和分工
3、资源状况
4、人员情况
5、变更情况
6、质量情况
十六、权衡购买软件的因素:
1、准备开发软件的性质与要求
2、开发人员支持工作与支持程度的实际需要
3、工作环境
4、人员因素
十七、人机界面总控技术上基本原则:
1、面向使用者
2、保证信息的准确传递
3、保证系统的开放性(灵活性)
十八、软开工具的开发:
1、从实际出发设定现实有限的目标
2、坚持短小实用,逐步积累,避免期望过高,贪大求全
3、文档的齐全与资料的积累
十九、信息库技术涉及问题:
1、内容
2、组织方式
3、管理功能
4、历史信息处理方法
二十、版本管理的核心问题:保持两个一致性
1、新旧工作保持一致
2、局部与整体保持一致
二
十一、软件开发工具发展主要表现:
1、自动化程度提高
2、需求分析包含在软件工作中,向用户延伸
3、把项目及版本管理包进来,超出一次编程的局限
4、吸收了很多管理科学的方法 二
十二、软件开发基本问题:
1、用户理解到程序员理解
2、程序员理解到程序实现
二十三、软件开发工具的购置方法与步骤:
1、明确购买软件的目的与要求
2、明确购买软件的环境条件与制约条件
3、对于可选工具进行综合比较
4、进行测试和检验
5、正式签约购置
6、安装与试用
审计:对一个系统运行状况及效率进行检查和评价,以便进一步用好或改进这个系统
软件开发定义:在高级程序设计语言(第三代语言)基础上,为提高软件开发效率和质量,从规划、分析设计测试成文管理各方面,为软件开发者提供帮助的软件。
非过程化语言(4GL):只要给机器下达需要做什么的命令,由机器自己去安排执行的顺序。即插即用:一部分人专门生产组件,一部分人专门设计整个软件结构,并把软件组件插入这个结构以便迅速完成大型软件开发工作。数据库:重点合理组织数据,体现数据逻辑关系,并尽可能的帮助用户检索,减少冗余。
概念模式:对某一事物或某一系统形成的抽象的一般化的概念。框图(FC):用来描述程序执行逻辑过程
最早
Flow chart
结构图(SC):用以表示大型软件层次结构
好处:体现层次观点:由粗到细 自顶向下Structure Chart 数据流程图(DFD):适用于客观描述,重于软件间的控制
基本元素:外部实体、数据处理、数据存储 实体关系图(E-R):描述静态数据结构的概念模式
以实体 关系 属性为基本结构
数据字典(DD):描述数据内容的概念模式用表格形式表示基本属性以及数据关系
时序网络(PN):描述系统状态及其转换方式
基本概念:状态和转换
数学与逻辑模型:描述客观世界状态和规律
运动学公式、计量经济学模型、决策表和决策树
计算机模型:强有力概念模式。以便人们观察客观系统的状况不需要事先作更多的假设
第一个重要文档:软件功能说明书 程序分解三种基本模块:处理单元 循环机制 二分决策机制 软件开发核心:质量问题
软件开发工具对开发工作支持是在:信息管理和信息处理方面 信息库研究核心问题:一致性
项目版本管理核心:跨生命周期管理
历史信息是项目版本管理的关键问题
项目管理基本问题:质量、进度、资源配置及费用 中心位置:总控和人机界面 历史信息处理:
问题:信息数量大,占用存储设备多;历史信息格式不一致,很难有效利用
方法:脱机备份、加强标准、稳定数据结构 组织和管理工作好坏影响软开工具作用发挥程度 :
1、制定严格使用制度
2、记录使用详细过程
3、培训使用人员
4、进行审计和评价工作
第三篇:03173软件开发工具模拟试题参考答案
软件开发工具模拟试题一参考答案
一、单项选择题(本大题共10 小题,每小题1 分,共10 分)
1、B2、D3、A4、C5、B6、A7、D8、A9、C10、C
二、多项选择题(本大题共10 小题,每小题2 分,共20 分)
11、ABCD12、ABCDE13、ABD14、ACDE15、ABE16、BCE17、CE18、ABCDE19、AC20、ACD
三、填空题(本大题共10 空,每空1 分,共10 分)
21.标记符
22.运行环境
23.面向使用者
24.代码生成25.信息管理
26.交流
27.测试的问题 版本更新带来的问题(次序无关)
28.FORTRAN/ALGOL/COBOL
29.软件工作环境
四、名词解释题(本大题共4 小题,每小题4 分,共16 分)
参考答案:略
五、简答题(本大题共2 小题,每小题5 分,共10 分)
参考答案:略
六、论述题(本大题共1 小题,10 分)
参考答案:首先是自动化程序大大提高;其次,软件开发工具把用户需求也包括到软 件工作的范围,从而使软件开发向用户方面延伸;第三,软件开发过程中,引入了软件项目 管理及软件版本管理;第四,所有的软件开发工具,吸收了许多科学的管理内容和方法。
七、应用题(本大题共1 小题,14 分)
参考答案:s_info、c_info、sc
数据窗口对象d_student,SQL select ,Grid
dw_student,dw_student 数据窗口对象设置 d_student;
两个按钮控件“检索”和 “退出”
dw_student.retrieve();
close(parent);
open(w_student);
一、单项选择题
1、D
2、D3、A4、C5、D6、D7、B8、C9、C10、C
二、多项选择题
11、ABCDE12、ACE13、ABCDE14、ACDE15、ACDE16、BD17、ABCDE18、ABCDE19、CDE20、ABDE
四、名词解释题
参考答案:略
五、简答题
参考答案:略
六、论述题
39.参考答案:不一致的原因有两个:一是信息在传递中,误解与丢失下分严重;二是由软件的 修改与版本更新引起的;为了解决这两个问题,信息库主要解决的办法是:信息库中的内容 一般不删除,当新信息存入时,老信息只是加上时间标志移入历史信息中去,并与新信息保 持着历史的,逻辑的联系,在需要的时候可以随时调出来。
七、应用题
参考答案:略__
一、单项选择题
1、A2、B3、C4、C5、B6、D7、C8、B9、B10、B
二、多项选择题
11、ABCDE12、BCDE13、ABCD14、BDE15、ABE16、ABCE17、ABCDE18、ABCDE19、ABDE20、ACD
三、填空题
参考答案:软件功能说明书,计划,延续,载体,三,编码,测试,控制,静态,控制 关系,基本属性,转换方式,表格,图形,脱机备份,历史信息,逐步积累,系统计计人员,程序员,变更
四、名词解释题
略
五、简答题
39.第一、有关系统环境、现状及需求的信息。第二、有关软件的功能设计与特理设计的各种 信息 第三、软件成果本身,包括软件和方档;第四、用户对系统的各种变更要求。40.用户界面的主要是通信是否强大;界面一致性;软件界面是否能让用户提供进度展示; 界面必须能提供帮助;软件功能是否方便(宁可让程序多干,不可让用户多干)
六、论述题
41.参考答案:
1)用户需求不明确
在软件开发过程中,用户需求不明确问题主要体现在四个方面:
◇ 在软件开发出来之前,用户自己也不清楚软件的具体需求;
◇ 用户对软件需求的描述不精确,可能有遗漏、有二义性、甚至有错误;
◇ 在软件开发过程中,用户还提出修改软件功能、界面、支撑环境等方面的要求; ◇ 软件开发人员对用户需求的理解与用户本来愿望有差异。
(2)缺乏正确的理论指导
缺乏有力的方法学和工具方面的支持。由于软件不同于大多数其他工业产品,其开发过程是 复杂的逻辑思维过程,其产品极大程度地依赖于开发人员高度的智力投入。由于过分地依靠 程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化,也是发生软件危 机的一个重要原因。
(3)软件规模越来越大
随着软件应用范围的增广,软件规模愈来愈大。大型软件项目需要组织一定的人力共同完成,而多数管理人员缺乏开发大型软件系统的经验,而多数软件开发人员又缺乏管理方面的经 验。各类人员的信息交流不及时、不准确、有时还会产生误解。软件项目开发人员不能有效 地、独立自主地处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误。
(4)软件复杂度越来越高
软件不仅仅是在规模上快速地发展扩大,而且其复杂性也急剧地增加。软件产品的特殊 性和人类智力的局限性,导致人们无力处;复杂问题“。所谓”复杂问题"的概念是相对的,一 旦人们采用先进的组织形式、开发方法和工具提高了软件开发效率和能力,新的、更大的、更复杂的问题又摆在人们的面前。
七、应用题
参考答案:
1.w_Goods 的Opent 事件脚本:
dw_result.settransobject(sqlca)
2.cb_query 的Clicked 脚本
If sle_Goods.txt=” ” then
MessageBox(“提示”,“请输入商品名称”)
Sle_Goods.Setfocus()
Else
dw_result.retrives(sle_Goods.txt)
end if
3.cb_clear 的Clicked 脚本:
Sle_Goods.text=””
dw_result.reset()
sle_Goods.Setfocus()
4.cb_quit 的Clicked 脚本
Close(parent)
在数据窗口画板新建一个数据窗口对象
定义其数据源为SQL select 表现风格为Grid
为数据窗口定义一个参数,名为GoodsName,类型为String
定义Where 条件为”Goods”,“GoodsName”=:GoodsName__
一、单项选择题
1、B
2、B3、B4、A5、B6、A7、B8、A9、D10、D
二、多项选择题
11、ABCD12、ABC13、ABCDE14、ABE15、ABCDE16、BCE17、CDE18、BCE19、ABCDE20、ABDE
三、填空题
参考答案:开发软件,第三代语言, 软件,AD/Cycle, 程序,文档,软件开发工具学, 软件开发工具,进度管理,资源与费用管理,质量管理, 软件开发工具按工作阶段分,设计工具、分析工具、计划工具,从用户的理解到程序员的理解,从程序员的理解到程序的实现,处理单元,循环机制,二分决策机制,CMM
四、名词解释题
参考答案:略
五、简答题
35.参考答案:提供描述软件状况及其开发过程的概念模式,以协助软件开发人员认识软 件工作的环境与要求,合理地组织与管理软件开发的工作过程;提供存储和管理有关信息的 机制与手段;帮助使用者编制,生成及修改各种文档;帮助使用者编定程序代码,即代码生 成;对于历史信息进行跨生命周期的管理。
36.参考答案:首先是自动化程序大大提高;其次,软件开发工具把用户需求也包括到软件 工作的范围,从而使软件开发向用户方面延伸;第三,软件开发过程中,引入了软件项目管 理及软件版本管理;第四,所有的软件开发工具,吸收了许多科学的管理内容和方法。
六、论述题
37.第一、通用软件不能完成整个软件开发过程中的所有工作;第二、通用软件完成某些工 作、只能表现其表现形式,而不能反映软件的内在逻辑内涵;第三、通用软件在帮助人们工 作的时候,常遇到难以保持数据一致性的问题。
七、应用题
参考答案:略__
一、单项选择题
1、C2、D3、B4、A5、D
6、D7、B8、B9、D10、B
二、多项选择题
11、ABDE12、ABCD13、ABCDE14、ABD15、ACD16、AB
17、AC18、BCE19、ACDE20、BC
三、填空题
参考答案:21.需求分析 实现阶段 调试阶段
22.从用户的理解到程序员的理解 从程序员的理解到程序的实现
23.系统 客观 控制
24.用户
25.质量 资源利用 质量
26.实际出发 现实有限的27.文章 表格 表格
28.定量 文字 逻辑
29.跨生命周期的信息管理 项目数据库
30.标准化 提供方式
四、名词解释题
略
五、简答题
35.参考答案:(1)软件成本日益增长(2)开发进度难以控制(3)软件质量差(4)软件维护困难
36.参考答案:使产品的质量得到有效的控制;保证整个系统按预定的进度完成;有效地利 用各种资源,尽可能使资源的闲置与浪费减少;控制与降低成本。
六、论述题
37..参考答案
(1)认知科学中关于概念模式的概念方法
(2)数据库技术的理论和方法
(3)编译技术的有关方法
(4)关于人机界面的理论和方法
(5)管理科学中关于项目管理与版本管理的理论和方法
(6)系统科学与系统工程中有关理论与方法
七、应用题
参考答案:略
第四篇:全国2013年1月高等教育自学考试软件开发工具试题
绝密★考试结束前
全国2013年1月高等教育自学考试
软件开发工具试题
课程代码:03173
请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分
注意事项:
1.答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2.每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。如需改动,用橡皮擦干净后,再选涂其他答案标号。不能答在试题卷上。
一、单项选择题(本大题共20小题,每小题1分,共20分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。错涂、多涂或未涂均无分。
1.在需求分析阶段,人们最希望软件开发工具提供的帮助是
A.认识与描述客观系统
C.文档的编制或生成 B.存储及管理开发过程中的信息 D.软件项目的管理
2.在实际工作中,数量最大的软件开发工具是
A.分析工具
C.设计工具 B.计划工具 D.软件工作环境
3.为了提高软件开发工作的水平和效率,人们提出了多种程序设计方法。其中,主要为项目管理者服务的是
A.结构化程序设计
C.面向对象的方法 B.软件工程方法 D.即插即用的程序设计
4.IBM公司宣布一个名为AD/Cycle的巨大的理论框架,标志着进入集成的软件开发环境阶段,时间是20世纪
A.80年代初
C.90年代初 B.80年代末 D.90年代末
5.在软件开发过程中,确定信息流通模型的阶段是
A.系统设计阶段
C.需求分析阶段
6.自行开发软件开发工具的主要缺点是
A.不易于商品化
C.往往低估开发难度 B.不便于扩充 D.目标不明确 B.程序编码阶段 D.系统维护阶段
7.在权衡购置或自行开发软件开发工具时不必考虑的因素是 ..
A.人员的因素
B.准备从事的软件开发工作的性质与要求
C.资金的多少
8.不成功的商品化软件开发工具往往由于
A.应用范围广泛
C.使用手册简单 D.开发人员对工作与支持程度的实际需要 B.应用范围专一 D.使用手册复杂
9.2008年,国际电子电气工程师学会的权威刊物《软件》的九月/十月号,以“软件开发工具”(Software Development Tools)为题的一期专刊中概括了40年来软件开发工具的发展轨迹,指出抽象程度最高的软件开发工具是
A.Eclipse
C.Delphi B.XMF Mosaic D.Turbo Oascal
10.以下几种语言及其开发工具中,发展潜力最差的是
A.VB
C.PB
11.在大型软件开发中,程序员承担的工作是
A.验收模块
C.交付检验 B.要求修改 D.试运行 B.VC D.C++Builder/Delphi
12.为创建一个C Project,在选择向导窗口“Select a wizard”对话框中打开C/C++文件夹,选择“C Project”后,单击的按钮是
A.Next
C.Finish B.Back D.Cancel
13.为了在不影响程序行为的情况下进行系统范围内的代码更改,用户可以使用Eclipse的A.重构功能
C.搜索功能 B.重命名功能 D.抽取方法
14.在GDB添加行断点时,应打开调试文件,从菜单中选择的选项是
A.Add Bookmark
C.Toggle Breakpoint B.Disable Breakpoint D.Breakpoint Froperties
15.在Eclipse代码模板编辑中,变量用{}括起来,开头的字符是
A.$
C.&
16.在CVS中,获得工作备份的操作称为
A.输入
C.签出 B.提交 D.更新 B.¥ D.@
17.在软件开发过程中,直接与设计方案关联的界面是
A.分析界面
C.用户界面 B.编程界面 D.管理界面
18.在GDB添加方法断点时,采用鼠标右键单击add的方法,在弹出菜单中应选择的选项是
A.Refactor
B.Toggle Breakpoint
C.References D.Open Declaration
19.在Eclipse插件中,用户配置项目日志所使用的插件是
A.Login
C.Lomboz
20.使用Rational Rose建模不能支持 ..
A.UML的建模
C.采用基于组件的开发 B.HTML开发 D.系统分析到系统实现双向工程 B.Log4E D.DBEdit
非选择题部分
注意事项:
用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
二、填空题(本大题共20小题,每空1分,共20分)
21.软件开发工具是在______程序设计语言的基础上,为提高软件开发的质量和效率,对软件开发者提供帮助的一类新型的软件。
22.对于单个的程序员来说,以下两个转换是做好软件工作的关键。首先是从用户的理解到程序员的理解,其次是从程序员的理解到______的实现。
23.框图是描述程序执行的逻辑过程的概念模式,把程序执行的基本步骤归纳为判断、处理、______、起始或终止几个基本功能。
24.人机交互手段的八个方面是:键盘操作、屏幕滚动、______、菜单选择、鼠标操作,色彩应用、数据录入和信息显示。
25.面对软件开发中的种种困难和问题,几十年来,软件工作者先后提出了结构化程序设计,______方法,面向对象的方法,即插即用的程序设计方法,面向开源软件的程序设计等方法。
26.软件开发工具是引导人们建立正确、有效的______的一种手段。
27.Eclipse重构中的重命名功能为我们解决了变量、______、函数等重命名的所有问题。
28.软件开发过程的每一个周期可以分为五个阶段:需求分析、分析设计、______、测试和维护。
29.对于CASE工具有两种理解。一种是计算机辅助______,另一种是计算机辅助系统工程。
30.软件开发的工作环境包括硬件配置、系统软件、______、网络通信等各种条件。
31.在Eclipse中允许用户在______、代码和文件三个维度设置代码模板。
32.Eclipse CDT编辑器的首选项设置包括外观、键、搜索、工作空间和______。
33.通过网络,人们可以更方便地互通信息、______,这就给软件重用、知识重用提供了新的机会。
34.Eclipse的团队支持组件负责提供______和配置管理支持。
35.Eclipse的工作空间是负责管理______的插件。
36.Eclipse CDT调试器允许用户使用设置断点、暂停、______的方法来控制程序的运行过程。
37.在Eclipse定制透视图编辑器中的四个标签,分别定制的是______、菜单栏、命令组和快捷方式。
38.版本控制软件ClearCase涵盖的范围包括版本管理、建立管理、工作空间管理和______。
39.在Eclipse插件清单文件中描述了插件的名字、______以及使用的或本身定义的扩展点等信息。
40.使用UML建模时一般分为用例视图设计,逻辑设计和______设计几大部分。
三、简答题(本大题共6小题,每小题5分,共30分)
41.软件开发工具的主要性能指标有哪些?
42.简述结构良好的软件应满足的条件。
43.简述软件开发工具使用中,审计的范围。
44.简述软件开发中常用的概念模式。
45.什么是软件开发工具的标准化?
46.简述面向对象过程的一般步骤。
四、论述题(本大题共1小题,10分)
47.试论信息库管理功能与一般数据库管理系统的区别。
五、应用题(本大题共1小题,20分)
48.以下两题中的程序代码分别是用C和C++语言编写的“数字求和”的C和C++程序代码,任选其中一题,都选的以前一题计分。
(1)已编写C程序代码如下:
#include
#include
int add(int x,iIlt y){
return x+y;
}
void main(void){
int result,i;
int Max_NUM;
result = 0;
printf(“请输入要求和的数字\n”);
scanf(“%d”,&Max_NUM);
for(i=0;i<=Max_NUM;i++)
result= add(i);
print(“求和结果是:”);
printf(“%dn”,:result);
return EXIT_SUCCESS;
}
1)将该程序在Eclipse编辑器中进行编译后,在result = add(i);等代码行前显示“X”符号,请回答代码行前显示的“X”符号说明了什么?
2)修改该程序中出现的错误。
3)若要将名为SUM的C程序外部项目导入到Eclipse集成环境中,根据下面提供的菜单、按钮、窗口等操作选项,请写出导入SUM项目到Eclipse集成环境中的基本操作步骤(从菜单栏上的file开始)。
File、Export、Import、General文件夹、C/C++文件夹、CVS文件夹、Existing Projects into Workspace、Preferences、Next、Select root directory,Select archive file、Finish、cancel。
(2)已编写C++程序代码如下:
#include
using namespace std;
int add(int x,int y){
return x+y;
}
void main(void){
int result,i;
int Max_NUM;
result=0;
cout <<“请输入要求和的数字:”<< endl;
cin>>Max_NUM;
for(i=0;i<=Max_NUM;i++)
result = add(i);
cout<<“求和结果是:”< return EXIT_SUCCESS; } 1)将此程序在Eclipse编辑器中进行编译时,在result = add(i);等代码行前显示“X”符号,请回答代码行前显示的“X”符号说明了什么? 2)修改该程序中出现的错误。 3)若要将名为SUM的C++程序外部项目导入到Eclipse集成环境中,根据下面提供的菜单、按钮、窗口等操作选项,请写出导入SVM项目到Eclipse集成环境中的基本操作步骤(从菜单栏上的file开始)。 File、Export、Import、General文件夹、C/C++文件夹、CVS文件夹、Existing Projects into Workspace、Preferences、Next、Select root directory、Select archive file、Finish、cancel。 网络游戏开发工具介绍 从当前的一些工具来看,一般的团队,利用Unity的WEB功能,同时结合SmartFoxServer,可以开发小型的运行在WEB上的3D游戏,给玩家带来更好的体验;如果团队人数更少,可以考虑开发Flash的2D网游,也是一个选择方案。网络游戏开发,其工具已经日益成熟,其技术门槛,在各种各样的工具支持下,已经越来越低。未来的网络游戏开发,各大厂商肯定会越来越把重心放在策划、美工、运营等层面上,而研发、技术,在其中占有的比例肯定会逐步降低。为何可能会出现这种状况,主要是各种工具软件的日益成熟,对于各种类型的游戏开发来说,只需要低成本的选择特定的工具,就肯定可以使网络游戏的开发事半功倍;但是在当前的阶段,对于各种能够快速掌握新工具的公司和团队来说,特别是对于小公司来说,船小好调头,能够更快速的接纳并选择这些工具,从而拥有可以和大公司大团队一拼的实力。 那么,现在市场上存在哪些物美价廉的开发工具呢?经过一些调查,发现工具本身虽然繁多,但还是没有可以一统市场的占绝对优势的产品,因此需要各个公司自行甄别。 首先值得一谈的是各种3D游戏客户端引擎。如果要开发一款3D网络游戏,那么客户端的3D处理必不可少,这一块在以前是最麻烦的地方,随着技术的发展,这一块也已经是工具发展得最好的一块。 3D引擎: 谈到3D引擎,必须要说Unity,这款工具,包括了3D运行时引擎,可视化的场景编辑器,强大的脚本支持;值得一提的是,Unity的开发教程做的很不错,这一款起源于Mac平台的开发引擎,基于C语言编写,由于厂商的不断完善,已经拥有很多的成熟游戏样本,并且越来越稳定。更值得一提的是,Unity的Web Player,只有2.5M的大小,但是可以在WEB界面上展现强大的3D处理效果,厂商基于Unity开发的3D游戏,可以无缝的移植到WEB上,可以看出来,Unity应该会逐渐占领WEB 3D的一些市场,并可能会发展的更好。Unity的授权费用,也不是很高,一个完整包的开发授权,大概在2000多美金左右;不过Unity不开源,对于技术实力较强的大团队来说,有时不太合适。值得一提的是,Unity在内部对象的实现上,采用了“组合”的方式来体现不同对象的差异,比纯粹的“继承”为主的对象架构,进了很大一步,并拥有更好的扩展性。 Torque也是一款历史悠久的3D引擎,最早的版本是一个开源项目,也是基于C语言编写;Torque也提供了3D运行时引擎,可视化的场景编辑器,脚本支持等等;Torque的开发授权比较便宜,大概在1000美金左右,并且包含源代码,可以称得上物美价廉了,当前中国有一些小团队,已经采用这款引擎进行一些3D游戏开发了。 最大的问题在于,Torque引擎最新版本Torque 3D 2009,经过重新设计和重构,在性能上存在较大的问题,相信其在下一个版本会得到更大的改进。值得一提的是,Torque和PhysicX最新版本结合很紧密,可以打造出最好的物理效果,并且可以充分的驱动GPU,打造最完美的粒子效果。对于资金缺乏的小团队来说,Torque是最物美价廉的选择。 3D显示引擎:Ogre Ogre这款引擎,因为最近“火炬之光”的上市,显得非常的火爆。Ogre与以上的两款引擎不同,它的核心是一款运行时的Framework,该框架的设计借用了一些优秀的设计模式,使得可以很容易的开发C语言的新模块,并挂接到Ogre上。Ogre只处理客户端的3D渲染逻辑,其他的都不考虑,正因为如此,它的3D渲染功能做的非常强大,能够跟上最新的渲染技术。但是也因为此,它自身不能作为一款游戏开发的工具来单独试用,必须和很多其他工具进行配合。Ogre是一款开源引擎,对于技术实力比较强的大团队,可以借用该引擎处理3D显示方面的功能,当前国内的一些自主研发游戏引擎的大公司,也有采用该方案的。值得一提的是,有很多爱好者基于Ogre的基础上,开发了很多的插件,以扩充Ogre的功能。其实类似于Ogre这种的项目也有很多,譬如LUA,仅仅实现脚本功能,譬如PhysicX,仅仅实现物理效果功能;同时,还有大量的工具来实现音乐、网络等等各种专属模块。 3D的MMORPG开发引擎:Unreal 虚幻3号称是世界上最好的游戏开发引擎,它的价格也体现了这一点,如果你用它开发游戏,并且该游戏上线运营的话,它要与你分享运营收费,最高要达到25%,也正因为如此,虚幻3一直属于贵族引擎,小公司几乎没有机会使用。但是今年11月份,虚幻3公布了一个免费版本,该版本可以免费用于开发,并且如果你上线运营的收益低于5000美金,可以不需要向虚幻3付费。该版本的推出,应该会吸引一大批的开发小团队加入到虚幻3的队伍。虚幻3最值得称道的是他有一款配套的ATALAS系统,该系统整合了MMORPG开发的精华,是一整套MMORPG的3D游戏开发解决方案,不过该系统自身还在研发中。 以上,列举了很多做3D游戏开发的引擎,有了这些引擎和工具,3D游戏开发,只需要美工做做建模工作了,同时网络游戏开发,要搭建一套对应的服务器系统,并解决多人并发的问题,关于这个问题上,还没有特别好的解决方案,这一块,当前也是各个大团队技术研发的重点,并且也有一些开源项目以解决这个为目标,不过都没有形成气候。但是小范围的话还是形成了一些产品,也值得采用。 网络游戏服务器平台:SmartFoxServer SFS服务器平台的解决目标为与客户端技术FLASH集成,其完整解决方案包括:服务器引擎、客户端API框架、防火墙HTTP穿透。 FLASH地图开发工具、脚本技术等等;利用SFS平台,可以轻松的开发客户端是FLASH的网络游戏,该平台拥有大量的已经开发完整的产品,看它的showcase,不乏WEB Game的优秀作品,最近非常流行的弹弹堂、热血大唐等rpg游戏,都可以找到雏形。SFS的实质乃是一款Chat框架,搭建在java平台上,特别适合用来做回合制或者房间制的游戏,并配合Flash的强大表现力,做出来的游戏非常利于传播,主要以制作休闲类游戏为主。SFS的全部工具授权,大概在5000美金左右,但是其缺乏可扩展性,分布式部署麻烦,同时源代码不公开,对开发商来说存在一定隐患。优点是有大量项目采用,系统运行的稳定性高,对于小团队来说,可以利用该工具很快搭建Web game;对于大团队来说,可以复制其架构,自行开发类似的系统。另外,SFS采用java架构,在服务器性能上,会带来一定的损失。 从当前的一些工具来看,一般的团队,利用Unity的WEB功能,同时结合SmartFoxServer,可以开发小型的运行在WEB上的3D游戏,给玩家带来更好的体验;如果团队人数更少,可以选择考虑开发Flash的2D网游。第五篇:网络游戏开发工具介绍