自考软件开发工具串讲笔记
- 格式:doc
- 大小:42.00 KB
- 文档页数:7
一、绪论
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、论述IBM AD/CYCLE对软件开发阶段的划分以及各阶段的任务?
第一阶段,需求分析阶段。其任务是了解企业的结构与功能,掌握组织及管理者的信息需求,弄清信息流通的实际情况;第二阶段,系统分析与设计阶段。其任务是进行功能分解及数据分析,完成处理过程及数据库的逻辑设计;第三阶段,编程阶段,其任务是完成具体的程序和文档编写工作;第四阶段,测试阶段。其任务是对已有的代码进行认真的检测与使用;第五阶段,使用及维护阶段。其任务是组织使用者有效地使用,并及时检查与修正发现的错误。
20、论述面向对象的基本思想?
客观世界的任何事物都是对象,它们都有一些静态属性,也都有一些有关的操作;对象之间的关系构成对象的网络结构(封装性);抽象的、较大的对象所具有的性质,包括静态属性和动态操作,自然地成为它的子类的性质,不必加以说明或规定(继承性);对象之间要以互送消息。
21、论述软件质量的标准?
正确实现所要求的功能;用户界面友好;合适的响应时间;足够的可靠性;程序晚读,易于修改,文档齐全。
22、论述软件开发项目组对成员的要求?
保证严格地在本模块范围内操作;严格按总体设计的要求传递参数;严格按规定要求公共数据,决不擅自改变;按统一原则为标识符命名;保持程序设计风格的一致。
15 结构化程序设计的基本思想和方法是什么?
把程序结构分成处理单元、循环机制、二分决策机制。方法:合理地划分模块,使得模块的功能在逻辑上尽可能单一化、明确化,即模块的凝聚性;模块之间的联系及互相影响尽可能地少,就避免逻辑耦合,而只有数据耦合;模块的规模应当足够小。
三、软件开发工具的理论基础 1、软件开发过程中需要哪些信息与信息处理方面的帮助与支持?
有关系统环境、现状及需求的信息;有关软件的功能设计与物理设计的各种信息;软件成果本身,包括程序与文档;用户对系统的各种变更要求,以及系统的各种变更的记录。
2、软件开发工具的理论基础包括哪些方面?
认知科学中关于概念模式的概念与方法;数据库技术的理论与方法;编译技术的有关方法;关于人机界面的理论与方法;管理科学中关于项目管理与版本管理的理论与方法;系统科学与系统工程中的有关理论与方法。
3、什么叫概念模式?它的作用和意义是什么?
是认知科学中的一个用语,指的是人信在认识事物过程中,对于某一事物或某一系统形成的抽象的、一般化的框架。概念模式在认识过程中十分重要,同时作为交流与表达工具也是十分重要的,人们在互相配合、互相协调、共同完成某项任务的时候,需要统一认识、协同行动,就必须用某种公认的方式来进行表述,概念模式正是起了这种作用。
4、举出三种常用的概念模式,说明它们的作用与使用方法?
框图:把程序基本步骤分为处理、判断、输入输出、起始或终止等几个功能,并能不同的记号加以表示,用箭头表示控制或执行的顺序。
结构图:它的基本图例为模块,以模块的调用关系为线索,用连线表示调用关系,并注明传递参数。基本调用方式有:顺序调用、选择调用、循环调用。 数据流程图( DFD