1、简述软件开发工具的范围?
在高级程序设计语言的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程序帮助的一类新型软件。
2、简术用通用软件辅助软件开发的缺点?
有许多工作是通用软件所无法完成的;用通用软件完成某些工作,只能表现出其表面的形式,而不能反映其逻辑内涵,只能做到“形似”,不能做到“神似”;难于保持一致性。
3、简述集成化软件开发工具产生的背景?
集成的软件开发工具称为软件开发环境,是指包括支持全过程、全阶段的软件开发工具。以往的专用软件开发工具对软件的开发缺乏全面的、统一的支撑环境。这些零散地、分散地支持各个工作阶段、各项具体工作的专用工具之间没有有机地联系起来,必然会造成冲突与矛盾。这种冲突与矛盾对于用户来说,造成了沉重的负担,使用工具越多这种负担越重,以致抵消了工具带来的益处。这种情况导致了集成化软件开发工具的产生。
4、简述第四代语言与软件开发工具的区别?
软件开发工具包括4GL的功能;软件开发工具支持系统分析、设计工作;软件开发工具支持文档工作。
5、简述软件开发总体设计阶段的工作要点?
是根据软件功能说明书的要求,完成软件的总体设计,包括整个软件的结构设计、公用的数据文件或数据库的设计、各部分的连接方式及信息交换的标准等。
6、简述软件开发实现阶段的工作,以及应强调之点。
包括程序的编写和文档的编写,应特别强调组织与协调,及时发现并纠正背离总体设计要求的情况。
7、简述软件开发工具认识与描述客观系统的功能要求?
认识与描述客观系统是软件开发第一阶段所需的重要工作。该项工作不确定程度高,更需要经验,更难规范化,需要对复杂系统认识与理解,并在此基础上抽象出信息需求与信息流程。
8、简述软件开发的项目管理功能?
为项目管理人员提供支持。项目管理包括进度管理、资源与费用管理、质量管理三个基本内容。还包括需要提出测试方案,提供测试环境和测试数据,并进行版本管理。
9、从人类科学技术发展的角度论述软件的意义?
软件是广大使用者与计算机之间的桥梁,软件是人类在各个领域中积累的知识结晶,软件是使人类文明与知识得以延续的新的载体,软件是人类进一步成为一个整体、得以进一步相互联系的纽带。
10、论述第一代到第四代程序设计语言的主要特征?
第一代程序设计语言就是计算机的指令系统。用户用机器指令编写程序。这种程序就是机器指令的序列,由“0”和“1”组成,难于阅读,难于维护,而且程序高度依赖于计算机硬件,难于移植。第二代语言是汇编语言,其中每个语句是用助记符动工表示的机器指令。虽然可读性和可移植性方面前进了一步,但依然依赖于计算机硬件。第三代语言也称为高级程序设计语言,其中的语句与机器指令并不一一对应,尤其是表达式的书写与人们的习惯基本相同。程序员需要逐行编写语句来实现算法的过程,因此,它属于过程化的语言。第四代语言是非过程化的程序设计语言,用户只说明要求做什么,而把具体的执行步骤交由软件自动执行。
11、说明软件开发工具和新的软件开发方法的主要特点?
自动化程序提高;软件开发工作包括了需求分析;软件开发工作包括了项目管理和版本管理;吸收了许多管理科学的内容和方法。
12、说明软件产品开发过程各个阶段的主要任务。
需求分析阶段:根据用户的初始要求形成严格的、明确的、可供实际开发使用的功能说明书;总体设计阶段:根据软件功能说明书的要求,完成软件的总体设计;实现阶段:程序的编写和文档的编写;测试阶段:测试软件是否达到了设计任务书的要求;运行和维护阶段:使用软件,并修改、完善、扩充软件。
13、论述软件开发工具对软件开发所提供的支持,即软件开发工具的功能要求?
认识与描述客观系统;存储管理开发过程中的信息;代码的编写或生成;软件项目的管理。
14、论述软件开发工具的性能要求?
表达能力或描述能力;保持信息一致的能力;使用的方便程序;对硬软件环境的要求。
15、论述软件开发工具的分类?
按工作阶段可分为:计划工具,分析工具和设计工具;按集成程序分:专用工具和集成化工具;按与硬软件的关系分:依赖于硬软件的管理和独立于硬软件的工具。
16、软件工作人员为什么需要学习和了解软件开发工具?
使用软件开发工具开发软件合开发规范化,可提高软件产品的质量,提高开发的效率,缩短开发周期,降低开发成本,使软件更适应应用需要,并易于更新版本。学习和了解软件开发工具还有助于认识软件开发的各种理论的方法。
软件开发过程及其组织
1、说明从用户的理解转换到程序员的理解会产生什么问题?应怎样解决?
问题:不同行业的人对于事物的认识方法与描述方法不同,交流协调有困难。解决:软件开发人员应多了解与熟悉应用领域,正确理解用户的信息需求和信息流程。
2、说明从程序员的理解转换到计算机的理解会产生什么问题?应怎样解决?
问题:人和机器之间的交流与协调。解决:提高程序员的知识水平与实际经验。
3、简述保持软件一致性的困难?
软件一般分多个部分,由多人编写,各部分之间需要各种信息的交流与共享。由于每个人的习惯、经验、背景不同,又需要发挥个人主动性,协调、联系与控制都存在困难。软件开发的各个阶段差异也较大,保持一致性十分困难。
4、简述大型软件测试的困难?
大型软件十分复杂,输入数据和程序执行路径千变万化,修改程序又会有连带影响,测试只能证明程序有错,不能证明程序无错。
5、为什么软件开发的进度难以控制?
因为软件十分复杂,查错纠错十分困难,测试难以按时完成。用户开发的信息需求也经常变化,开发过程中的修改会有多次重复,进度难以控制。
6、软件开发包括哪些文档?
功能说明书、总体设计、各模块的设计任务书,每个部分的研制报告和测试报告,最终的验收和用户手册等。
7、简述代码与文档的关系?
文档是编写代码的依据,有时又需要根据代码的情况编写文档。文档与代码应该保持一致性。
8、简述代码与文档保持一致性的困难?
文档与代码应同时编写。代码经常修改,人们往往忘记对文档做相应修改。软件开发一般由多人参加,文档与代码不一致的情况经常出现。
9、简述版本更新的主要工作,需要注意的问题?
版本更新的主要工作在于审核与回顾,包括对代码与文档的认真检查。特别需要注意的问题是各部分代码的一致性,文档与代码的一致性。
10、简述软件工程思想的由来?
由很多人参与开发的大型软件经常出现质量和进度问题,产生了软件危机。为引,引入了工程思想,将软件生产从个人劳动提高成为有组织、可控制的工作。从而产生了软件工程。
11、简述软件工程思想的要点?
软件开发分为若干阶段;每个阶段都有明确的任务,明确的起点和终点,有明确的可以检查的成果;在质量和表达方式等方面要有统一的,为人们共同遵守的标准。
12、简述面向对象方法的基本思想?
将复杂的系统作为一批对象及其关系的整体。每个对象都是某些数据结构以及相应操作的结合模块。而对象具有封装性、继承性、多态性、抽象性等,对象之间要以互传信息。
13、简述即插即用程序设计的基本思想?
一部分人专门生产软件组件,而另一部分人则构造整个软件的结构,并且把软件组件插入这个结构,以便迅速完成大型软件的研制工作。
14、就单个程序员而言,说明好程序员的标准?
具有程序设计的基本知识与技能;了解应用领域;熟悉开发环境。
15、简述衡量软件开发项目组的cmm模型?
有严格成文的工作规范和文档标准;人员有严格的分工;每个项目有详细的时间计划表,并得到严格执行。
16、说明大型软件开发的困难?
难于保持一致性;难于充分测试;难于控制进度;难于协调文档与代码;版本更新带来的困难。
17、论述大型软件开发困难的原因?
大系统的复杂性;人员间的组织与协调;各应用领域间的差异;变动的因素。
18、论述用户、项目负责人、程序员和计算机四种角色在软件开发中应承担的任务?
用户:提出需求,验收软件,使用软件,提出修改要求;项目负责人:需求分析,分配任务,验收模块,联调,交付使用,分析修改需求,验收修改成果;程序员:编写程序,模块高度,模块交付检验,修改软件,修改的软件交付检验;计算机:试运行。
19、论述IBMAD/CYCLE对软件开发阶段的划分以及各阶段的任务?
第一阶段,需求分析阶段。其任务是了解企业的结构与功能,掌握组织及管理者的信息需求,弄清信息流通的实际情况;第二阶段,系统分析与设计阶段。其任务是进行功能分解及数据分析,完成处理过程及数据库的逻辑设计;第三阶段,编程阶段,其任务是完成具体的程序和文档编写工作;第四阶段,测试阶段。其任务是对已有的代码进行认真的检测与使用;第五阶段,使用及维护阶段。其任务是组织使用者有效地使用,并及时检查与修正发现的错误。
20、论述面向对象的基本思想?
客观世界的任何事物都是对象,它们都有一些静态属性,也都有一些有关的操作;对象之间的关系构成对象的网络结构(封装性);抽象的、较大的对象所具有的性质,包括静态属性和动态操作,自然地成为它的子类的性质,不必加以说明或规定(继承性);对象之间要以互送消息。
21、论述软件质量的标准?
正确实现所要求的功能;用户界面友好;合适的响应时间;足够的可靠性;程序晚读,易于修改,文档齐全。
22、论述软件开发项目组对成员的要求?
保证严格地在本模块范围内操作;严格按总体设计的要求传递参数;严格按规定要求公共数据,决不擅自改变;按统一原则为标识符命名;保持程序设计风格的一致。
15结构化程序设计的基本思想和方法是什么?
把程序结构分成处理单元、循环机制、二分决策机制。方法:合理地划分模块,使得模块的功能在逻辑上尽可能单一化、明确化,即模块的凝聚性;模块之间的联系及互相影响尽可能地少,就避免逻辑耦合,而只有数据耦合;模块的规模应当足够小。
三、软件开发工具的理论基础
1、软件开发过程中需要哪些信息与信息处理方面的帮助与支持?
有关系统环境、现状及需求的信息;有关软件的功能设计与物理设计的各种信息;软件成果本身,包括程序与文档;用户对系统的各种变更要求,以及系统的各种变更的记录。
2、软件开发工具的理论基础包括哪些方面?
认知科学中关于概念模式的概念与方法;数据库技术的理论与方法;编译技术的有关方法;关于人机界面的理论与方法;管理科学中关于项目管理与版本管理的理论与方法;系统科学与系统工程中的有关理论与方法。
3、什么叫概念模式?它的作用和意义是什么?
是认知科学中的一个用语,指的是人信在认识事物过程中,对于某一事物或某一系统形成的抽象的、一般化的框架。概念模式在认识过程中十分重要,同时作为交流与表达工具也是十分重要的,人们在互相配合、互相协调、共同完成某项任务的时候,需要统一认识、协同行动,就必须用某种公认的方式来进行表述,概念模式正是起了这种作用。
4、举出三种常用的概念模式,说明它们的作用与使用方法?
框图:把程序基本步骤分为处理、判断、输入输出、起始或终止等几个功能,并能不同的记号加以表示,用箭头表示控制或执行的顺序。结构图:它的基本图例为模块,以模块的调用关系为线索,用连线表示调用关系,并注明传递参数。基本调用方式有:顺序调用、选择调用、循环调用。 数据流程图(DFD):面对的是系统的信息流程,把信息流看作一个组织或系统运作的线索,简明扼要地勾画出全局,基本元素是外部实体,以箭头表示信息在它们之间的流动状况。实体关系图:用于描述静态数据结构的概念模式,以实体、关系、属性三个基本概念概括数据的基本结构。数据字典(DD):描述数据内容的概念模式,用表格的形式列出数据数据的基本属性及相互关系。时序网络:描述系统状态及转换方式,常用于实时控制方面的软件。数学与逻辑模型:描述客观世界的状态与规律,包括常用的决策树与决策表。计算机模拟模型:利用计算机大量、高速处理信息的能力,在计算机内设置一定的环境,以程序来实现客观系统中某些规律或规则,在二者的基础上计算机高速运行,以便观察客观系统的运行。
5、什么叫信息库?它与数据库、数据仓库有什么区别?
它是一个包罗万象的,随着开发项目进展而不断修改与补充的信息集合。数据库是在文件系统基础上发展起来的一种管理技术,重点在于合理地组织数据,减少冗余;数据仓库是为了使数据更接近实用,对数据进行多次加工或提炼,得出许多派生或综合的数据。区别与特点:它在规模上不一定像数据仓库那么大,分析提炼的要求也与数据仓库不同,但数据结构复杂,不断变化,分析的要求也不同,还需要保持一致性,需要供分析人员、程序员、用户、维护售货员等多种人员使用。
6、为什么信息库的一致性十分重要?
一是因为信息在传递过程中,误解和丢失现象十分严重;二是软件的修改和版本更新时,大量的工作要重复去做。
6.5、简述信息库概念提出的背景?及特点?应具有的管理功能?其存放的内容有什么?
背景:在软件开发过程中,若用文档来传递信息,则误解与丢失会十分严重,软件修改或版本更新时,往往丢失大量原始资料,各人收集的资料格式不同,体例不统一,也常常无法使用,用计算机来管理软件开发全过程中的有用信息,就产生了信息库。特点:它在规模上不一定大,但数据结构复杂,不断变化,需要供分析人员、程序员、用户、维护售货员等多种人员使用,需要保持一致性。功能:一般数据库的基本功能;对机内外的信息统一进行编目管理;供多种人员使用的界面。内容:软件工作环境、功能需求、性能要求、有关状况等外部信息;需求分析阶段中收集的各种信息;逻辑设计阶段获得的资料和文档;设计阶段的各种资料;实现阶段获得的成果;运行及使用情况的记录;维护及修改的情况;项目管理的有关信息。
7、人机界面设计的原则及重要性是什么?
原则:输入尽量自然,输出必须准确;界面必须始终一致;界面必须使用户随时掌握任务的进展善;界面必须提供帮助;宁可让程序多做,不可让用户多干。重要性:对于用户来说,界面就是系统本身。因为用户只关心能否有效地使用软件来解决问题,用户对软件功能的理解都在界面上表现出来,用户的输入是否自然、简便,是否有充分的提示和帮助,对用户的错误是否有友好的措施,输出的形式是否易于理解,结果是否正确,都是用户关心的问题,也是界面的特点,界面不友好的软件就不是成功的软件。
8、人机界面的常用技术手段有哪些?
键盘操作、屏幕滚动、菜单选择、帮助系统、鼠标操作、色彩应用、数据录入、信息显示。
9、什么叫项目管理?特点和任务是什么?
它是管理科学领域的一项内容,指与固定的生产线上的日常生产管理不同的,具有更大的变动性、时间性的一类管理任务。特点:子任务多、关系复杂;任务不可重复;协调组织的任务十分突出;信息处理的作用和意义更为突出。任务:有效控制质量;保证进度;有效利用资源;控制降低成本。
10 什么叫版本管理?其任务是什么?
版本管理是对软件更新引起的问题进行管理,关键在于保持两个一致性:从时间上关心系统的逐步完善,每一步都是与以前的工作一致,而不是破坏或降低系统的功能。从系统各部分关系来说,要保持局部与整体一致。具体方法包括规定长远的版本更新计划。
11、软件开发过程中的信息管理工作包括哪几个方面?
长期保存信息,不断修改,及时检查和维护,反复调用和查询;数据的转换和加工;各种人员之间的交流。
12、论述软件开发过程中保持信息一致性的重要性?
作为统一的软件,各部分之间不可避免地要有各种信息的交流与共享;程序和文档是密切相关的;由于版本更新,对信息库中的各种信息还有历史的、逻辑的联系。
五、软件开发工具的使用与开发
1、 怎样考虑购置软件开发工具以及自行研制工具的权衡?哪些因素是必须认真考虑的?
在项目比较大时间持续比较长的情况下,使用工具可以使工作的组织管理比较规范,信息管理与检索方便,部分做到信息与知识的重用与共享。但软件开发工具比较昂贵,而且一体化的开发工具还不多,作用与可靠程度不如人意。自己开发的软件开发工具目标明确,符合需要,而且可进一步升级。从长远看,软件开发工具越来越多得到应用,自行开发的工具会减少。考虑因素:所开发软件的性质与要求;开发人员对支持工作与支持程度的实际需要;工作环境;人员的因素。
2、 为什么软件开发工具选用之前必须明确的有限的目标?
为哪个软件开发项目而使用工具,为一个项目还是为一批项目,为哪一种类型的项目而购置?;在哪个工作阶段使用工具,在一个生命周期内使用,还是准备长期开发、不断更新版本?;工具将供哪些人员使用,这些人是否有使用经验,对于使用工具的态度、期望、可塑性如何?;工具将在怎样的软件、硬件环境下运行?
3、 购买软件开发工具时的市场调查应当包括哪些内容?
开发工具的功能;这些工具的性能;这些工具所使用或依据的开发方法或开发理论是什么,与自己的方法理论是否一致;这些工具运行环境是什么?;这些工具的文档资料是否齐全?使用时的学习、掌握是否简单易行?;这些工具的服务、培训条件如何?;价格。
4、 购置软件开发工具的步骤应当如何安排?
明确购买软件开发工具的目的与要求;明确购买软件工具的环境条件与制约条件;市场调查;对于可供选择的各种工具进行综合比较;进行测试和检验;正式签约购置;安装与试用。
5、 使软件开发工具得到有效使用,并真正发挥作用,需要哪些条件?
一开始就要对使用过程进行认真的组织与管理。
6、 引入软件开发工具之后,应当怎样进行管理?
制定严格的使用制度;记录使用的详细过程;培训使用人员;经常进行审讯与评价工作
7、对开软件开发工具的使用情况进行审讯时,需要考虑哪些问题?
购买时希望利用它的功能是否发挥了功效:效率、响应速度、输出方式等性能是否满足需要;多少人使用了本工具?工作方式与工作效率是否有了提高;经济效益;有无因硬软件限制而影响效果;使用的频繁程度;管理信息范围;人机界面项目管理故障及处理情况; 项目组成员的印象;开发软件情况。
8、自行研制软件开发工具要注意哪些问题?
首先要从实际出发,设定现实的、有限的目标;要坚持短小实用、逐步积累,避免期望过高、贪大求全;要注意文档的齐全与资料的积累。
9、论述购买开发工具与自行开发的优缺点
购买软件开发工具的好处:在某些环节上可代替一些简单的、重复性的工作;对项目较大,周期较长的情况,还可以使工作的组织管理比较规范,信息的管理与检索比较方便,部分地做到信息与知识的重用和共享。缺点:比较昂贵,特别是项目管理和系统分析工具也不易按实际需要剪裁与扩充。自行开发的好处:目标明确,符合需要,便于扩充。缺点:规范化、商品化程度低,问题与故障多。
10、引入软件开发工具后,为什么说做好组织管理工作极其重要?
组织管理工作的成功与失败,直接影响着软件开发工具的作用的发挥程度。如不认真管理,就会出现混乱,以至使系统崩溃。从不规范的、立足于程序员编程技术的软件开发方式,转变到严格地、按科学方法组织管理的软件开发方式,这是一个极其深刻的变革,它必然要经历许多磨擦与碰撞。人们总是有意无意地采用传统的工作方式或工作习惯,违反严格的要求,导致种种信息不通、信息不一致的现象发生。因此,软件开发工具的使用过程,就是一个逐步改变旧的工作习惯,建立科学的软件开发方法的过程。如果没有认真的组织管理,也就不可能自发地、轻易地、顺利地使用开发工具,切不可低估了这一过程的困难、复杂与反复。
11、为本单位使用的软件开发工具与商品化的软件开发工具有什么区别?
商品化的软件各种应用项目差别很大,运行环境复杂多变,本单位使用的软件只是适用于某一应用场所。
12、以自己接触过的软件开发工具为例,分析软件开发工具目前的发展水平与实际需要的差距?
真正一体化而且能用于各种平台的工具不多,比较多的有两种,一种用于特定平台,主要用于设计阶段的工具。另一种侧重于分析方法,独立于平台的工具。
13、购买开发工具有什么好处?
可以使工作的组织管理比较规范,信息的管理与检索比较方便,部分地做到信息与知识的重用和共享。过程化程序设计语言:指需要由编写程序的人一步一步地安排程序的执行过程的语言。
非过程化程序设计语言:也称第四代语言,即只给机器下达做什么,由机器自动安排执行的顺序。
可视化编程:就是编程工作的可视化,即在编程过程中随时可以看到结果,程序的调整与后果的调整同步进行。
需求分析:是软件开发的第一个阶段,软件设计者需要从用户的初始要求出发,经过大量的调查研究工作,抽象出应用领域中实际信息需求,设计出在计算机系统内外的、合理的信息流程,并规定出软件系统的功能与性能要求,写出软件功能说明书。
软件结构设计:把软件划分成若干个模块,指定每个模块的功能要求,以及它们之间的相互关系。
CASE工具:是计算机辅助软件工程,其基本思想是应用计算机自身处理信息的巨大能力,帮助人们开发复杂的软件或应用系统。
软件工作环境:是集成化的软件开发工具,就是面对软件开发全过程的工具。
软件工程:将工程思想引入软件开发,使软件生产从程序员的个人劳动提高成为有组织、可控制的工程。
水波效应:修改程序带来的连带影响。
结构化程序设计:按自上向下逐步分解的方法划分模块,确保模块符合结构良好的要求。
对象:是含数据及对数据操作的方法的模块。是静态属性和有关操作的整体。
即插即用的程序设计:一部分人专门生产软件组件,而另一部分人则构造整个软件的结构,并且把软件组件插入这个结构,以便迅速地完成大型软件的研制工作。
可视化程序设计:用图标等可视化的元素来编制程序。
概念模式:是认知科学的一个用语,指的是人们在认识事物过程中,对于某一事物或某一系统形成的抽象的、一般化的框架。
数据流程图:是建立系统信息流程时所用的一种概念模式,它用于描述某一业务处理系统的信息来源、存储、处理、去向的全面情况。
实体关系图:是在数据库的设计中用于描述静态数据结构的一种概念模式,它以实体、关系、属性三个基本概念概括数据的基本结构。
数据字典:是一种描述数据内容的概念模式,它用表格的形式列出数据的基本属性以及相互关系。
时序网络:是一种描述实时控制功能的概念模式,它主要描述系统状态及其转换方式。
数学与逻辑模型:是描述客观世界的状态与规律的一种概念模式,常用一些数学公式或逻辑表达式来描述客观系统的状态或运动规律。
计算机模拟模型:是一种描述客观系统中的某些规律或规则的概念模式。
直观模型:用可视化的元素来描述心目中的系统的概念模式。
数据库:是在文件系统基础上发展起来的一种数据管理技术,它的重点在于合理地组织数据,体现出数据之间的逻辑关系,并尽可能地帮助用户检索,减少冗余。
数据仓库:将大量的原始数据与多次加工提炼得出的许多派生数据都存储起来,加快派生数据的存取速度,同时保持派生数据与原始数据的一致性,一旦原始数据有所变更或增添,还能自动重新计算或修改派生数据。
信息库:是一个包罗万象的,随着开发项目进展而不断修改与补充的信息集合。
人机界面:是软件功能的一个重要部分,它接受人的输入,又将机内信息输出供人利用。
软件配置:设立一个有效的总控部分,它能够在各个具体工具之上,实现信息的正确传递与转换,帮助人们完成上述协调与配合的工作,从面形成一个统一的,完整的支撑环境,并通过一个统一的,友好的人机界面与用户对话。
信息流通模型:即信息的来源、去向、存储及处理的逻辑过程。
信息库管理模块:各种子数据库以及处理模块保持逻辑上统一,物理上分散,由统一的信息库管理模块进行管理,对分散的各个数据库进行存取,并进行一致性的检查与维护,数据库与模块都实现了模块化,既保持了一致性,又保持了灵活性。
项目数据库:是信息库的一个组成部分,它记录的是项目本身进展的各种有关信息。
审计:指对一个系统的运行状况及效率进行检测与评价,以便进一步用好或改进这个系统。
软件配置管理:是对软件的修改进行标记、组织和控制的技术,它通过追踪和控制软件变动的所有活动来协调和控制整个软件开发过程。
本文标签:广东自考 工学类 2019年自考软件开发工具复习重点总结
转载请注明:文章转载自(http://www.gdzkw.net)
热点关注: