文档库 最新最全的文档下载
当前位置:文档库 › 软件开发工具知识点(老版)

软件开发工具知识点(老版)

软件开发工具知识点(老版)
软件开发工具知识点(老版)

第一章

1、什么是软件开发工具?

在高级程序设计语言的(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。

软件开发工具概念要点有三:

(1)它是在高级程序设计语言(第三代语言)之后,软件技术进一步发展的产物;

(2)它的目的是在人们开发软件过程中给予人们各种不同方面、不同程度的支持或帮助;

(3)它支持软件开发的全过程,而不是仅限于某个特定的阶段。

2、简述计算机软件发展的几个阶段。

四个阶段:

第一代计算机语言——机器语言阶段。

第二代计算机语言——汇编语言阶段。

第三代计算机语言——高级程序设计语言,过程化语言

第四代计算机语言——非过程化语言(4GL)

3、简述软件工作的重要性和困难性。

软件工作的重要性越来越为人们所认识,软件是计算机的灵魂,是广大使用者与计算机之间的桥梁,是人类在各个领域中积累的知识的结晶,是人类文明与知识得以延续的新的载体,是人类进一步成为一个整体、得以进一步相互联系的纽带。

人们在认识到软件工作的重要性的同时也越来越认识到了它的困难性。这就是所谓的“软件危机”问题。人类社会和客观世界的复杂性,决定了软件本身的复杂性;人类知识的丰富多彩,决定了软件的多样性;客观世界的动态性,决定了软件对可维护、可重用性越来越高的要求。面对规模日益扩大的软件,如何保证它的正确性、可靠性,如何控制软件开发的进度与成本,成为十分重要的课题。

4、简述软件开发工具的演变过程。

软件开发工具的演变是从无到有,从分散到集中的过程,是软件发展的必然趋势。主要分为三个阶段:

第一阶段:利用通用软件作为辅助工具的阶段——没有专用软件开发工具的阶段。

第二阶段:专用的软件开发工具阶段。

第三阶段:集成的软件开发工具阶段。

5、试述用通用软件辅助软件开发的弱点。

用通用软件来帮助开发人员编写文档或画图可以减少很多工作量,但是与软件开发工作相比,这种帮助实在太表面、太初级了。用通用软件帮助软件开发有三个主要弱点:

(1)许多工作通用软件无法完成。

(2)用通用软件完成某些工作,只能表现其表面的形式,不能反映其逻辑内涵(形似,神不似)。

(3)常遇到难于保持一致性的困难。

6、集成化的软件开发工具是在什么背景下产生的?

大批专用软件开发工具的出现并未解决一致性的问题。其根源在于对软件的开发缺乏全面的、统一的支撑环境。这些零散的、分散的支持软件开发各个阶段、各项具体工作的专用工具之间没有有机的联系起来,必然造成冲突与矛盾。这对用户造成了沉重的负担,以致抵消了使用工具带来的益处,从而导致集成软件开发工具的产生。

7、试述软件开发工作的发展变化。

软件开发工作的发展变化主要有四个阶段:

(1)最初阶段——把用户已经明确表述出来的算法,用机器语言写成一系列机器指令,供硬件运行使用。

(2)第二阶段——编程工作改为汇编语言进行,编好的指令由汇编程序转化为机器指令,再交硬件执行。

与用户的距离近了。

(3)第三阶段——汇编语言换成了高级程序设计语言(第三代语言),不再与机器指令一一对应,更加接近自然语言,离机器更远了,离用户更近了。

(4)第四阶段——以应用软件开发工具为标志,把需求分析纳入了软件开发工作中,进一步扩大了软件开发的范围。

8、试述现阶段软件技术的特点(作为软件技术发展的一个新阶段,使用软件开发工具与以往的区别)

(1)自动化程度的提高。由于代码生成等技术的应用,在一些特定条件下,可以较容易地自动生成第三代语言(或更低的语言)的代码,从而大大节省人力和时间。

(2)明确地把需求分析纳入软件工作范围之内,从而使软件开发过程进一步向用户方面延伸,离用户更近了。这是软件技术向前迈进的重要一步。

(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩大到了作为一个不断发展的客体的生长完善的全过程。

这也是软件研制从个体的、手工作坊的方式向科学的、有组织、有计划的方式转变的一个重要表现。

(4)吸收了许多管理科学的内容与方法,如程序员的组织,质量的控制,使软件开发技术不再只是讨论单个程序员自己工作的技术与方法问题,而是把组织、管理等项目负责人的思想与方法放到了更重要的位置。

总之,软件开发工具的提出与使用,是软件技术发展的一个新阶段。

9、软件开发一般分为哪几个阶段?其主要任务和形成的文档是什么?

10、什么是功能?软件开发工具应具有什么样的功能?

功能是软件能做什么事。软件开发工具的主要功能:

(1)认识与描述客观系统

(2)存储与管理开发过程中的信息

(3)代码的编写与生成

(4)文档的编制或生成

(5)软件项目的管理

11、什么是性能?软件开发工具重要的性能指标有哪些?

性能是软件能把事情能做到什么程度。性能指标主要有:

(1)表达能力或描述能力

(2)保持信息一致性的能力

(3)使用的方便程度

(4)工具的可靠程度

(5)对软、硬件环境的要求

12、试述软件开发工具的类别。

1)按支持的工作阶段把软件开发工具划分成三类:

(1)设计工具:在实现阶段对人们提供帮助,是最直接帮助人们编程、调试软件与编写文档的工具。如各种代码生成器,第四代语言和测试的工具等。

(2)分析工具:主要用于需求分析的工具,帮助人们认识与表述信息需求和信息流程,从逻辑上明确软件功能与要求。如数据字典管理系统,绘制数据流图、系统结构图或ER图的专用工具。

(3)计划工具:从宏观角度看待软件开发,保存与管理的信息都是与整个项目相关的宏观信息,完全是为项目主管人员服务的。

2)按集成程度划分成两类:

(1)专用的工具:面对某一工作阶段或某一工作任务的软件开发工具。

(2)集成化的工具:是集成化的、面对软件开发全过程的软件开发工具。

3)按与硬件、软件的关系划分成两类:

(1)依赖于特定机器或软件的工具,如多数设计工具和集成化的工具。

(2)独立于硬件与软件的工具,如分析工具和计划工具。

13、对软件开发工具的研究来源于哪些方面?

对软件开发工具的研究主要来源于三方面:

(1)软件开发工具的使用者。他们是软件开发工具得以发展的基础。这些人员大致有两种:一种是计算机专业出身的技术人员;一种是应用领域的人员,如会计、金融、企业管理等。

(2)一些厂家和研究单位。既包括一些计算机硬件的制造商,也包括一些软件公司,如DEC、HP、ORACLE等,由此形成了软件开发工具的研制队伍。

(3)软件技术专家(如ACM、IEEE)和系统工程专家。

14、学习软件开发工具的目的是什么?

作为一般的使用者,学习软件开发工具的目的在于了解软件开发工具的概念、理论基础、基本功能、发展现状与前景,以便在实际工作中正确地选择与使用软件开发工具,在必要时能参加或组织软件开发工具的自行研制,从而达到提高软件工作水平与效率的目标。

软件开发工具总结:

第二章

1、软件开发中的基本问题及解决办法是什么?(单个程序员做好软件工作的关键是什么?)

对单个程序员来说,做好软件的关键是做好两个转换:

第一个转换:从用户对软件功能的理解到程序员对软件功能的理解之间的转换。

第二个转换:从程序员的理解到程序的实现。

保证第一个转换顺利完成的手段:利用尽可能标准化的方法编写程序设计任务书,用明确的语言或图形、表格,把程序要处理的信息的内容、格式、来源、去向、存储、处理清楚地表达出来,作为双方共同理解。

保证第二个转换顺利完成的手段:提高程序员的知识水平和实际经验。

2、大型软件开发中的困难体现在哪些方面?困难产生的原因是什么?

大型软件开发中的困难主要有:

(1)一致性的保持成为十分困难的问题

(2)测试的困难大大增加

(3)工作进度难以控制

(4)文档与代码的协调十分困难

(5)版本更新带来的困难

困难产生的原因:

(1)大系统的复杂性;

(2)个人之间的组织与协调;

(3)各应用领域间的差别;

(4)时间、变化的因素。

3、几十年来,为了提高软件开发的水平和效率人们提出了哪些软件开发方法?

面对软件开发中的种种困难和问题,软件工作者千方百计从各种不同角度,用各种不同方法试图使软件开发工作的水平和效率有大幅提高。仅从软件开发方法而言,先后提出了:

结构化程序设计方法

软件工程方法

面向对象的程序设计方法

即插即用的程序设计方法

可视化程序设计方法

4、大型软件开发过程中涉及几种角色,他们承担的工作有哪些?

大型软件开发过程中涉及几种角色,他们承担的工作有:

(1)用户:提出需求、验收软件、使用软件、提出修改要求

(2)程序员:编程、写文档、调试自己的程序、向项目负责人提交工作成果

(3)项目负责人:分析用户需求形成设计方案、向程序员分配任务、验收程序员的工作成果、对整个软件联调、向用户交付使用、接收与分析用户的修改要求、向程序员分配修改任务、验收修改成果、向用户提交新的版本或修改的结果

(4)计算机硬件:运行、试运行

5、试述结构化程序设计的基本思想与方法(论述)。

结构化程序设计的基本思想是把程序的结构分解成三种基本模块:处理单元、循环机制、二分决策机制,并保证模块的划分符合“结构良好”的要求:

(1)模块的功能在逻辑上尽可能的单一化、明确

(2)模块间的联系及相互影响尽可能的少

(3)模块的规模应当足够小,以便其易于调试

划分模块时采用“自顶向下”的方法,即不管软件多大,都采取自上而下、逐步分解的办法,分成若干部分,并把他们之间的关系明确地表达出来,画出系统结构图,直到最底层的模块达到所要求的规模为止。

实施结构化程序设计的思想时,要遵守以下原则:

(1)限制甚至不用GOTO语句,绝对禁止超越模块边界的GOTO语句。

(2)子程序尽可能做到只有一个入口、一个出口;

(3)程序风格应尽量明确、清晰,包括适当增加注释,书写格式体现层次结构,变量名称的选用尽量具有逻辑意义等;

(4)在程序编写的同时完成有关的文档编撰,不要拖延时间。

结构化程序设计的方法主要是为程序员服务的。它的缺点是增大了程序的工作量,增加了编程中的麻烦与琐碎的工作,降低了程序的运行效率。但它保证了软件的可靠、准确与易于修改。

6、试述软件工程的基本思想和方法(论述)。

软件工程的基本思想来源于传统工程,要想大幅度地从根本上提高软件开发的质量和效率,就应当吸取各种传统产业的成功经验,从组织和管理的角度加强力量,使软件生产从程序员的个人劳动提高成为有组织、可控制的工程。软件工程借鉴传统工程的思想,从软件开发的经验中归纳出相应的工作步骤和交流标准,大家都来遵守和执行,从而保证软件开发的进度与质量。

软件工程的实施方法:

首先,对软件开发的工作过程进行规范。如IBM的AD/Cycle,对应用软件的开发过程做了如下划分和规定:

第一阶段,需求分析。了解企业的结构与功能,掌握组织及管理者的信息需求,弄清信息流通的实际情况。

第二阶段,分析与设计。进行功能分解及数据分析,完成处理过程及数据库的逻辑设计。

第三阶段,编程阶段。完成具体的程序编写工作。

第四阶段,测试阶段。对已有代码进行认真检测与试用。

第五阶段,使用及维护。组织使用者有效的使用,并及时检查与修正发现的错误。

在标准化方面主要从两个方面探索。

(1)表达方式的标准化,如统一规格的数据流程图、数据字典、模块结构图等。

(2)对工作的质量及检查制定标准,在一定的时候作一定的检查。如著名的ISO9001标准。

软件工程的思想主要集中于加强项目管理者的工作上,对程序员关系不大,与结构化程序设计方法刚好互补。目前软件开发还主要依赖程序员的个体工作,完全做到工程还是相当困难的。

7、面向对象程序设计的基本思想(论述)。

面向对象的程序设计是人们试图解决软件危机的又一种尝试,近年来,随着面向对象语言的普及,这种思想得到了广泛的传播。面向对象程序设计的基本思想可以归纳为四点:

(1)客观世界的任何事物都是对象,它们都有一些静态属性(相应于数据结构)和相关的操作(相应于程序模块)。作为一个整体,这些对象不必对外公开这些属性与操作。这就是“封装性”。

(2)对象之间有抽象与具体、群体与个体、整体与部分等几种关系。这些关系构成对象概念之间的网络结构。

(3)抽象的、较大的对象所具有的性质,包括静态属性和动态操作,自然地成为它的子类的性质,不必加以重复说明或规定。这就是“遗传性”。

(4)对象之间可以互送消息,这一消息可以是传送一个参数,也可以是使这个对象开始某个操作。

面向对象程序设计语言反映了程序设计的思想方法越来越接近人们思维的方式,它摒弃了持续许久的“自顶向下”和“自底向上”的争论,把对于复杂系统的认识归结为对一批对象及其关系的认识,通过合理地选择认识的层次,使系统的复杂性保持在可控制的范围内。

8、即插即用程序设计的基本思想?

即插即用程序设计是在面向对象程序设计方法的基础上提出来的。它的基本思想是用制造硬件的思路来生产软件。在硬件的制造中,芯片

的制造与整机是分开进行的。制造芯片的厂家只管制造芯片,而制造整机的厂家则利用这些芯片组成完整的计算机。人们想用同样的思路来处理大型软件的开发,一部分人专门生产软件组件,一部分人设计整个软件结构,并且把软件组件插入这个结构,以便迅速完成大型软件的研制工作。

然而这种思想的真正实现并不那么简单。首先,标准化的问题十分困难。其次,软件部件的提供方式也是问题。

依照这种思路,一些软件公司或机构已经在标准化方面提出了方案,如著名的CORBA和COM101。

9、什么样的软件才是好的软件?

(1)正确地实现所要求的功能,准确地给出预定的输出结果;

(2)用户界面友好,符合实际用户的使用习惯和知识水平;

(3)具有足够的速度(不是越快越好),能在符合用户要求的时间限度内,给出所要求的结果;

(4)具有足够的可靠性,能够在各种干扰下保持正常工作;

(5)程序易读,结构良好,文档齐全,从而保证系统易于修改。

10、评价单个程序员的主要性能指标是什么?

就单个程序员来说,主要的指标有:

(1)具有程序设计所需要的基本知识与技能,如关于数理逻辑的知识与训练,关于各类数据结构的概念及处理方法等;

(2)对本项目所在的那个领域有较深入的了解,从而能够准确的理解用户的信息需求,正确地把握有关的信息流程与信息处理原则;(3)对于软件开发的技术环境比较熟悉,包括硬件设备、软件环境和网络环境,特别是对于所用的语言,应当有足够的、实际运用的经验。

11、作为项目组的一员,要遵守哪些要求?

作为项目组的一员,除了完成自己承担的任务之外,重要的是使自己的工作融入整个系统,与其他部分协调一致的工作,以下几点必须严格遵守:

(1)保证严格在本模块内操作,绝不要使用可能干扰其它模块的命令或函数。

(2)严格按总体设计的要求和理解去传递参数值,绝不要随意修改其内容或含义。

(3)在对公用的文件或数据库进行存取时,必须完全地、准确地按统一规定的格式去操作,绝不能擅自改变。

(4)在使用标识符时,应按照统一的原则尽量使用易于看出逻辑含义的名称。特别是涉及公用数据及参数的时候。

(5)严格按照统一的要求编写文档,在内容、格式、表达方式、符号使用上遵循项目组的统一规定。

(6)尽量保持程序风格的一致。如注释行的安排,行首空格的使用等。

12、一个好的项目组应具备哪些条件?

好的项目组是在长期工作中逐渐形成的,根据衡量项目组的CMM模型,一个好的项目组至少应当具备以下几个条件:

(1)有严格的、成文的工作规范和文档标准,而且应当为全体成员所熟知,并切实得到遵守。

(2)人员之间有严格的分工,除了程序员之外,必须有专门的秘书(负责文档的收集、审核及保管),必须有专门的测试人员(负责测试和验收有关的部分),特别是要有专职的、不陷入具体编程的项目负责人。

(3)每个项目都要事先制定详细的时间表,并且得到严格执行每一项目完成之后都有完整的资料,并得到妥善保存,一但需要修改或更新版本时可以立即使用。

第三章

1、简述在软件开发过程中,信息流通的主要内容。

软件开发过程的信息流通状况图描述了各种信息在各种人员与计算机之间的流通状况。其中涉及到四类人:用户、分析人员、程序员和维护人员。

涉及四类信息:

第一类,有关环境、现状及需求的信息。

第二类,有关软件的功能设计与物理设计的各种信息。

第三类,软件成果本身,包括程序和文档。

第四类,用户对系统的各种变更要求,以及系统的各种变更记录。是跨越开发周期的。

2、软件开发过程中涉及的信息管理工作有哪些?

软件开发过程中涉及的信息管理工作包括:

(1)信息的存储

(2)数据的转换与加工:

①手工形式和计算机形式之间的相互转换;

②计算机内部不同形式数据的转换。

(3)人与人之间的信息交流:分析人员、程序员、用户和维护人员

软件开发工具正是为软件开发过程中涉及的四类信息的合理存储、正确转化和顺畅流通提供帮助的。

3、软件开发工具涉及到的理论和方法主要有哪些?

第一,认知科学中关于概念模式的概念与方法。

第二,数据库技术的理论与方法。

第三,编译技术的有关方法。

第四,关于人机界面的理论与方法。

第五,管理科学中关于项目管理与版本管理的理论与方法。

第六,系统科学与系统工程中的有关理论与方法。

4、概念模式的作用和意义。

概念模式是指人们在认识事物过程中,对某一事物或某一系统形成的抽象的、一般化的概念框架。

概念模式具有二重性意义,它既反映了客观现实,同时又具有主观性。概念模式是在客观事物或系统的基础上形成的,在某种程度上反映了客观现实。但它又不等同于客观事物本身,因为它常常是抽象出的某一事物的部分属性,所以往往只反映事物的某一方面。至于选取那些属性或哪些方面,还决定于观察者本身的目的与状态。

概念模式的作用:

(1)概念模式是人们认识客观世界的一种方法和工具。

(2)概念模式是人们进行交流与表达的重要工具。

5、举出三种常用的概念模式,说明他们的作用与使用方法。(参考名词解释)

6、什么是信息库?它与数据库、数据仓库有什么区别?

信息库是针对软件开发或信息系统开发中的大量信息管理工作提出来的,它存放软件开发全过程中所有有用信息。

数据库是指在文件系统基础上发展起来的一种数据管理技术,它的重点在于合理地组织数据,体现出数据之间的逻辑关系,并尽可能地帮助用户检索,减少冗余。数据仓库是针对大批数据的分析利用而提出的概念。基本思想是对现实中的大量原始数据进行多次加工与提炼,得出许多派生的或综合的数据,保证原始数据和派生数据的一致性,就是数据仓库的任务。

信息库是一个包罗万象的,随着项目进展而不断修改与补充的数据集合。它在规模上不一定像数据仓库那么大,分析提炼的要求也与数据仓库不同,然而作为软件开发全过程的信息管理总枢纽,它的特点是数据结构相当复杂,而且会不断变化,保持一致性的任务十分艰巨。

7、信息库中应该包括哪些内容?

(1)软件的工作环境、功能需求、性能要求,有关的各种信息来源的状况、用户状况、硬件环境以及在该领域中的作用等外部信息。(2)需求分析阶段中收集的有关用户的各种信息。

(3)逻辑设计阶段的各种调查材料和由此生成的各种文档——调查记录、原始数据、报表及单证的样本、绘制的各种图、系统说明书。(4)设计阶段的各种资料——数据库与数据文件格式、数据字典、程序模块的要求、总体结构、各种接口及参数的传递方式、设计方案。(5)编程阶段的所有成果——程序代码、框图、变量说明、测试情况、验收报告、使用说明。

(6)运行及使用情况的详细记录。

(7)维护及修改的情况。

(8)项目管理的有关信息,版本信息。

8、信息库应具备哪些管理功能?

1)一般数据库的基本功能:增、删、改操作

2)特殊功能:

(1)把计算机内外的信息存储统一起来管理——规定复杂的内部结构以存放信息。

(2)面对分析人员、程序员和维护人员等不同的对象,他们有各自的权限和使用目标——需要认真设计有关的界面以便使用。

9、信息库应该如何保持一致性?

(1)信息库中的内容一般不删除,老信息加上时间标志移入历史信息中,并与新信息保持着历史的、逻辑的联系,在需要时可以随时调出来。

(2)由多个程序模块组成的大型软件系统中,如何保证某个模块更新后与其它模块一起构成一个新的版本。

(3)保证程序和使用手册之间的一致性。

(4)对国际性的大软件公司来说,各种语言的资料之间的一致性同样需要认真地、细致的组织与安排。

10、用户界面设计的基本原则是什么?

(1)用户界面的主要功能是通信。

(2)界面必须始终一致。

(3)界面必须使用户随时掌握任务的进展情况。

(4)界面必须能提供帮助。

(5)宁可让程序多干,不可让用户多干。

11、IBM的AD/Cycle框架中,应用系统框架SAA(系统应用体系结构)由哪几部分构成?具体内容是什么?

12、人机界面的技术手段有哪些?(包含在11题中)

13、与一般日常生产管理相比,项目管理的突出特点是什么?

(1)子任务多,关系复杂。

(2)任务不可重复,形势不断变更。

(3)组织协调的任务十分突出,资源浪费闲置的风险与合理地优化组合、提高效益的机会并存。

(4)信息处理工作的作用与意义更为突出。

14、项目管理的基本目标是什么?

(1)使产品(或工程)的质量得到有效的控制。

(2)保证整个系统按预定的进度完成。

(3)有效的利用各种资源,尽可能使资源的闲置与浪费减少。

(4)控制与降低成本。

15、版本管理的核心是什么?具体方法有哪些?

版本管理的核心是保持两个一致性:

从时间上说,要保证系统的逐步完善,以前达到的结果不丢失,需要时可以回溯,必要时可以重用;每一步新的进步都要切实与以前的工作一致,是改进而不是破坏或者降低系统的已有功能。

从系统各部分之间的关系上说,要求局部与整体保持一致,合理地判断每一次修改的必要性及影响范围,合理地组成每一个新版本,并通过命名、编号等方法,使新的版本成为系统进步的漫长过程中的一个台阶,一个有目的、有方向的稳定的进步。

版本管理的具体方法:规定长远的版本更新计划;制定版本有关的信息范围及收集、管理方法;在项目组内明确分工;在编程、测试、文档编写等工作中贯穿项目管理的思想及要求。

第四章

1、完整的、一体化的软件开发工具应具备哪些基本功能?

(1)提供描述软件状况及其开发过程的概念模式,协助软件开发人员认识软件工作的环境与要求、合理地组织与管理软件开发的过程。(2)提供存储和管理有关信息的机制与手段。

(3)帮助使用者编制、生成及修改各种文档。

(4)帮助使用者编写程序代码,即代码生成。

(5)对于历史信息进行跨生命周期的管理,把项目运行与版本更新的有关信息科学地管理起来。

2、一体化的软件开发工具包括那几个主要部分?

(1)总控和人机界面——中心位置,使用者和工具间的桥梁,工具实用性和灵活性的保证。

(2)信息库和信息库管理模块——工具功能与作用的最基本依据。

(3)文档生成和代码生成——两个重要输出

(4)项目管理和版本管理——跨周期信息共享、知识重用、软件重用的关键问题。

3、为什么说总控和人机界面是系统开放性和灵活性的关键?

总控和人机界面是使用者和软件开发工具之间交流信息、实现所有的支持功能的桥梁。这一部分的有效实现对于软件开发工具来说,是实用性和灵活性的主要保证。

一方面,人机界面面对不同类型的用户,这些用户既有区别,又有共性,人机界面既要保持统一和一致,又要能够在正确区分和识别用户的基础上,针对不同用户的要求与习惯提供有效的帮助。

另一方面,总控部分面对系统内部的各种功能与各种信息,它要保证各部分之间相互的协调一致,保证各部分之间信息有效地、准确地流通。

4、为什么说总控和人机界面处于软件开发工具的中心位置?

(1)作为一个完整的、一体化的软件开发工具,总控和人机界面提供了各个工作环节之间的协调与配合,并在用户面前保持统一的形象。(2)实际工作中,常采用来自不同厂家的单项工具,由使用者自己承担集成的任务。这种情况下,最关键的问题是把前半段工作的输出

准确无误地转化为后半段工作要求的输入。解决这个问题的实质就是设立一个有效的总控部分,能够在各个具体工具之上实现信息的正确传递与转换,从而形成一个统一的、完整的支撑环境,并通过一个统一的、友好的人机界面与用户对话。

因此无论是建立一体化的软件开发工具,还是把单项功能的工具集成起来,总控部分和人机界面都处于中心位置。

5、总控和人机界面设计的原则是什么?

(1)面向使用者(用户)的原则

(2)保证各部分之间信息的准确传递

(3)保证系统的开放性或灵活性——理想的系统结构应当是模块式的,易于剪裁的。

6、IBM的AD/Cycle将软件开发过程分为几个阶段?每个阶段的任务是什么?

IBM的AD/Cycle将软件开发过程的每个周期分为五个阶段:

①需求分析,建立逻辑模型(企业模型,数据模型,信息流通模型)。

②分析设计,完成系统的总体设计。

③编码,具体编写软件的阶段。

④测试,对已经完成的各个模块或子系统进行试算、调整,以最终形成完整的软件。

⑤运行维护,组织和管理软件的日常运行,收集运行中的状态信息及出现的问题并及时进行局部修改与完善。

7、信息库技术主要涉及哪些问题?

信息库的技术主要涉及四个问题:信息库的内容、信息库的组织方式、信息库的管理功能、历史信息的处理方法。

8、信息库中应包含哪些内容?

(1)关于软件应用的领域与环境的状况。

(2)设计成果,包括逻辑设计与物理设计的成果。

(3)运行状况的记录。

(4)有关项目管理与版本管理的信息。

9、信息库的组织方式有几种?各自的优缺点是什么?

10、信息库管理模块的作用是什么?它应该具备哪些功能?

1)与一般数据库管理系统相同的功能:录入更新、使用查询、一致性维护。

2)与一般数据库不同的管理功能:

(1)信息之间逻辑联系的识别与记录。

(2)如何实现定量信息与文字信息的协调一致。

11、信息库中对历史信息的处理有哪些困难?解决办法是什么?

信息库管理中历史信息的处理是一个重点和难点,主要存在两个困难:

(1)历史信息的数据太大,占用存储设备过多;

(2)历史信息格式不一致,难以有效利用。

第一个问题的解决一般采用脱机备份的方法。

第二个问题至今尚无令人满意的解决办法,加强标准化,稳定数据结构不能完全解决这个问题。需要用一些智能化方法,使得跨生命周期的信息得以相互转化、实现共享与重用。

12、代码生成的输出形式有几种?各有什么特点?

代码生成的输出主要有两种形式:

(1)某种高级程序设计语言的代码

优点:使用者可以利用自动生成的模块为原型,在此基础上修改加工,形成自己所要求的系统或系统的某一部分。

缺点:功能较死,效率不高,需要修改

(2)某种机器环境下可运行的机器指令

优点:可以直接运行,如果不合要求可以立即调整命令或参数重新生成一遍。

缺点:这种代码一般无法直接修改,对硬件环境的依赖性大,用的不多。

13、代码生成器依据哪些资料工作?

代码生成器依据三方面的资料:

(1)信息库里已有的有关资料

(2)各种标准模块的框架和构件

(3)使用者通过屏幕临时送入的信息

14、简述项目管理中应考虑的问题(项目管理的任务包括哪些方面?)

(1)研究与确定开发工作的方针与方法。如采用什么样的阶段划分方法,什么样的系统描述方法等。

(2)开发任务的划分与分工。整个开发任务如何逐层分解为具体任务,任务之间的相互关系(顺序、制约等),委托给什么人来做。(3)资源情况。有多少人力、物力、设备、软件、资金,是否得到充分利用,是否需要增加投入。

(4)人员情况。个人进度、技术水平如何,是否需要重新培训,是否需要调动工作。

(5)变更情况。需求、环境、人员、设备、技术的变更。

(6)质量情况。检验得标准是什么,如何检验,由谁来检验,用什么数据检验。

15、版本管理的主要内容?

版本管理的主要内容包括:各版本的编号,功能改变,模块组成,文档情况,推出时间,用户数量,用户反映,封存情况等。

第五章

1、怎样权衡购置还是自行开发软件开发工具?必须考虑的因素有哪些?

购买市场上已有的软件开发工具的优势是能够帮助人们在某些环节上完成简单的、重复性的工作;在项目规模比较大的时,可以使工作的组织管理比较规范、信息的管理与检索比较方便,部分做到信息与知识的重用和共享。劣势是价格比较昂贵;真正经过考验的、一体化的工具不多,其作用与可靠程度不尽如人意。

自己开发软件工具的优势是目标明确,符合需要,便于进一步扩充和升级,不存在引进外面产品时的冲突与不一致。如果做的顺利还可以做成软件产品出售。劣势是单项的、专用的工具比较好开发;商品化、集成化的工具开发困难,需要大量人力物力,非一般单位所能承受。购置与开发的权衡,必须考虑以下四个因素:

(1)准备开发的软件的性质与要求---权衡购置还是自行开发的最基本因素

(2)开发人员对支持工作与支持程度的实际需要

(3)工作环境(硬件配置、操作系统、数据库管理系统、网络通信等)

(4)人员的因素

2、在选择软件开发工具之前要明确哪些问题?

在选择软件开发工具之前,首先要清楚此次引入工具要达到怎样的目标,下面几点必须明确:

(1)为哪个软件开发项目而使用工具,为了一个项目还是为了一批项目而购置软件开发工具,为哪一种类型的项目而购置这些工具?(2)在哪个工作阶段使用工具,是单在代码生成或文档生成中使用工具,还是准备长期开发、不断更新版本?

(3)工具将供哪些人使用,这些人以前用过工具没有,他们熟悉的语言、开发环境、表达图示、交流方式是什么?这些人对于使用工具的态度、期望、可塑性如何?

(4)工具将在怎样的软件、硬件环境下运行,机器的速度、内存、外围设备、通信条件如何?

3、对软件开发工具的市场调查应包括哪些内容?

(1)工具的功能。

(2)工具的性能。

(3)工具所使用或依据的开发方法或开发理论与自己的方法、理论是否一致。

(4)工具的运行环境。

(5)这些工具的文档资料是否齐全?使用时的学习、掌握是否简单易行?

(6)这些工具的服务、培训条件如何?

(7)价格。

4、购置软件开发工具的步骤应当如何安排?

(1)明确购买工具的目的与要求--正确使用工具的基础工作。

(2)明确购买工具的环境条件与制约条件。

(3)市场调查。

(4)对可供选择的各种工具进行综合比较。

(5)进行测试和检验。

(6)正式签约购置。包含了技术洽谈和各种服务条件的确认。

(7)安装与试用。

5、引入软件开发工具后的组织管理工作包括哪些?

购置工具后,使用者必须对它的使用过程进行认真地组织与管理,主要包括四个方面:

(1)制定严格的使用制度。

(2)记录使用的详细过程。

(3)培训使用人员。

(4)经常进行审计与评价工作。

6、对软件开发工具进行审计的范围是什么?包括哪些问题?

审计的范围包括:工具的使用环境、人员、工作负担、效果、存在的问题、改进的方向等。

审计的问题:参加教材P86。

7、研制为自己所用软件开发工具要注意哪些问题?研制商品化的软件开发工具应注意哪些问题?二者有什么区别?

1)为自己使用而开发软件工具时应注意的问题:

(1)需要从实际出发,设定现实的、有限的目标。

(2)自行开发工具一定要坚持短小实用、逐步积累,避免期望过高、贪大求全。

(3)要注意文档的齐全与资料的积累。

2)开发商品化的软件工具时应注意的问题:

(1)必须十分谨慎地设定目标和要求,使之符合实际。

(2)在前人工作的基础上,把精力集中于进一步的开拓方面,而不是低水平的重复别人已经做过的工作。

(3)明确工具的适用范围与使用条件。工具的目标越具体、越明确越能发挥作用。

(4)注重服务与文档—决定其成败的首要因素。

开发面向实际应用领域的、商品化的软件工具,其难度要比为自己开发工具的难度大得多。

第六章

1、使用配置管理软件的好处是什么?

对软件开发商来说,一方面,可以在软件开发过程中建立起一套完整规范的开发管理环境,使软件的开发有条不紊,进入良性循环,软件开发的质量和效率稳步上升;另一方面,若软件产品中集成了配置管理软件或提供了与配置管理软件连接的界面,他的产品即与通用的标准靠拢,从而将面向更关阔的用户群,拥有长远的发展前景。

对最终用户来说,在软件项目中使用配置管理软件,可以提高软件产品的质量、缩短工程周期、降低项目风险、从而使得开发者的投资利益得到保证,而且规范化的文档真正确保了日后维护和升级且便于用户监督开发过程。

2、软件配置管理的版本控制主要解决哪些问题?

(1)根据不同用户的需要配置不同的系统

(2)保存系统老版本

(3)建立一个系统新版本,使它包含某些决策而抛弃另一些决策

(4)支持两位以上的程序员同时在一个项目中工作

(5)高效存储项目的多个版本

3、版本控制软件PVCS Version Manager的主要功能是什么?

(1)管理和保护软件资源,强化团队开发,避免开发过程中产生的各种变化对软件开发造成的风险。

(2)进行审计追踪,监督开发人员对软件所作的任何修改,记录是谁做的修改,修改了什么,何时进行的修改以及为什么修改,确保过程的一致性和可重复性,减少未经授权或重复的软件变更。

(3)管理开发对象的多重修定版本和软件系统的多重版本,防止由于相互覆盖造成的工作丢失,便于开发人员和用户对软件系统的多重版本进行维护和管理。

(4)积累软件资源,加强软件重用,健全开发文档,减少人员流动导致的软件维护困难,减少项目风险,缩短生产周期,提高产品可靠性,有效控制产品成本。

(5)支持多平台开发,版本管理还可以支持在多个平台上对同一个项目文件的修改。

4、Version Manager的技术特点体现在哪些方面?

(1)灵活的文件夹机制。

(2)支持多开发平台间的操作,极大的方便了分布式以及大型团队开发。

(3)支持长文件名。

(4)开发时间较早,技术成熟,市场占有率最大,既可以单独工作,也可同PVCS的其他七个支持软件开发的产品协同工作,相得益彰。

(5)最为重要的是,它拥有全面的、多方位的功能,无论是对小型软件的编制还是大型软件的开发,都可以提供有力的支持,用途很广。

5、Version Manager中采用了哪些机制?

(1)使用文件夹组织相关文件,便于管理、使用项目文件;

(2)使用历史文档,存储一个文件的多个版本;

(3)将文件加锁,防止并发访问对数据的破坏;

(4)使用标签及升级功能标志项目开发的各个阶段;

(5)使用分支/合并机制支持并行开发。

6、PowerModel的体系结构是怎样的?包含哪些内容?有什么优势?

Power Model的体系结构是模块式的、分层的。

(1)基层是核心层,包括一套核心功能程序,如对象管理程序、对象查询语言等,连同一全套的C语言API;

(2)基层上面是研制层,其中有GUI构造程序,对象浏览程序、交互的C环境;

(3)最顶层是应用层,其中有研制者编制的类和方法,以及各种类库,包括专门窗户系统用的一套GUI组件。

这样分层、分模块的好处是:应用时,只取用在执行时需要从系统中取用的部分,就能得到小而有效的程序。而且便于扩充和修改。

7、LiveModel提供了哪些面向对象工具,各自有什么作用?

(1)对象绘图者(Object Diagrammer)用以图像地建立对象,并规定它们之间的关系。

(2)事件绘图者(Event Diagrammer )用以表示业务过程流,即业务过程、操作、规则之间的连接。

(3)业务规则(Business Rules)及规则编辑程序(Rule Editor)业务规则记载有用的业务政策和决定;规则编辑程序对业务规则进行编写和成档。

(4)测试(Testing)及文档建立(Documentation )

8、什么是XML?其本质是什么?一个XML文件必须满足哪些原则?

XML是可扩展的标记语言,是SGML(标准通用标记)的一个子集,目标是面向Web。其本质是使标记对人和机器都可读。XML文档必须组织良好,应满足三项基本原则:

(1)文档以XML定义?开始

(2)有一个包含所有其他内容的根元素,如标记符。

(3)所有元素必须合理地嵌套,不允许交叉嵌套。

9、XML与HTML的区别?

HTML超文本标记语言;XML可扩展的标记语言。

(1)HTML 描述如何显示Web页中的数据;XML描述的是数据本身。

(2)HTML 中的数据是有限的、规定好的;XML的标记是无限的,是可以自己创建的。它允许我们将数据组织成数据结构,甚至是复杂的数据结构。

(3)HTML 允许我们将字体设置为粗体或斜体;XML则说明标记中的文本数据表示的是什么含义,适合对象Web存储。

10、试比较国内、外软件开发工具的发展状况

从软件开发工具的研究水平上看,国内并不比国外低,主要的差别在于没有广泛地使用这些工具。总的来说,我国的软件产业还没有形成一批稳定的、高度有组织的软件开发群体,因而能够真正发挥软件开发工具作用的环境与社会需求还不具备。

我国软件产业当务之急是大力普及软件工程及方法学的知识,提高软件开发工作的水平,这才能使软件开发工具的应用具有实践的基础。

11、软件开发工具发展的趋势是什么?(结合名词解释)

软件开发工具的发展方向

(1)智能化。如:Knowledge Ware公司开发的以知识处理为基础的工具

(2)网络化。如:专门用于网络环境的HTML、Java

(3)一体化。信息库的内容和处理功能的讨论,从理论上为实现一体化提供了基础

(4)标准化。围绕这一思想提出的一些标准如:CORBA、COM101

附录1

1、PB的功能有哪些?

PB为应用程序开发提供了全面综合性的支持,其功能可以概括为:

支持面向对象的程序设计

采用可视化的开发环境

事件驱动的应用程序

实现和多种数据库的连接

支持跨平台开发

提供Power Script语言和函数

支持Internet开发

支持分布式应用程序

2、PB访问数据库的接口软件有哪些?各有什么特点?

PB通过各种不同的数据库接口软件与不同的数据库进行连接。 PB访问数据库的接口软件有两类:通用的ODBC接口软件和专用的数据库接口软件。通过ODBC连接到数据库的方式运行速度较慢,通过专用的数据库接口软件会提高访问数据库的速度。

3、试述ODBC的含义和作用。

ODBC开放数据库连接,是微软公司提出的允许应用程序使SQL查询数据的标准。

该接口可使单一的应用程序访问不同的数据库管理系统。开发人员不必针对特定的DBMS开发、编译和发布应用程序,而是通过对应用程序加载不同数据库驱动程序来建立与相应数据库系统的连接。

4、试述在PowerBuilder中程序访问多个数据库的方法。

PB利用内部的一个全局事物对象SQLCA与数据库管理系统进行通信。SQLCA一次只能和一个数据库建立连接,若想访问多个数据库,有两个办法:

(1)顺序将SQLCA与每个数据库建立连接。即将SQLCA与一个数据库连接,对数据库操纵完成后,断开与该数据库的连接,再与下一个数据库进行连接。

(2)在程序中创建多个事物对象,然后将每个事物对象与一个数据库建立连接,通过不同的事务对象操纵不同的数据库。

5、简述在Internet&Intranet领域分布式应用程序的优点。

分布式应用程序是一种三级系统结构,就是在C/S(客户机/服务器)两极结构中再增加一个中间级——应用服务器,用以执行复杂的商业逻辑计算。在Internet&Intranet领域,使用分布式应用程序的主要优点为:

(1)将商业逻辑集中于服务器端

(2)在客户机和服务器之间划分应用程序功能,可以减少客户端的负担

(3)建立分级的应用程序,易于维护

6、PB应用程序中有哪些对象类型?

PB应用程序中是一个相互关联的对象集合体,主要由应用程序对象、窗口对象、数据窗口对象、菜单对象、

用户对象、工程对象、库组成。

7、PB中有提供了几种窗口类型?

PB中窗口的类型:主窗口、弹出式窗口、子窗口、响应式窗口、框架窗口

8、什么是数据窗口控件?什么是数据窗口对象?二者有什么区别和联系?PB中将二者分开有什么意义?

数据窗口控件指的是可被放置到一个窗口中的对象,充当数据窗口对象的包容器。数据窗口对象是一个用来检索、操纵和显示关系数据库或其它数据源中数据的对象,它要借助数据窗口控件才能在应用程序中发挥作用。

由数据窗口控件和数据窗口对象构成数据窗口;数据窗口控件定义数据窗口在程序运行时的显示区域;数据窗口对象定义的是数据窗口的实际内容。

PB中将二者分开的意义:

(1)通过数据窗口控件调用数据窗口对象,可以在程序执行时动态地改变数据窗口控件中包含的数据窗口对象。这样在一个显示区域中可以动态显示多个数据窗口对象的内容,为编程者提供了更大的灵活性。

(2)将二者分开有利于对象的共享和移植。

9、PB中数据窗口对象的数据源类型有哪些?表现风格有几种?

PB中有五种数据源类型:Quick Select、SQL Select、Query、External、Stored Procedure(存储过程)

PB中有11种表现风格:常见的有Grid、Tabular、FreeForm

10、为什么不提倡在PB程序中大量使用嵌入式SQL语句而尽量使用数据窗口对象操纵数据库?

PowerScript中可嵌入的SQL语句的表现形式和具体的DBMS密切相关,不同的DBMS所生成的嵌入式SQL并不完全相同。因此,不提倡在程序中大量使用嵌入式SQL,否则会降低程序的可移植性。对数据库的操作尽量使用数据窗口对象。

使用数据窗口对象的好处:

①数据窗口对数据的安全性和完整性控制得很好,使用数据窗口对象不仅编程容易,而且数据表现形式很丰富。

②只需修改数据窗口所连接的事物对象的属性,便可在操纵多种数据库时,基本实现无缝移植。

附录2

1、NEWCAFG的功能有哪些?

NEWCAFG是一个PC单用户版本,支持MIS开发的集成化CASE环境。具有以下功能:

(1)面向MIS支持传统的结构化分析设计方法;

(2)支持MIS开发的全过程,是真正的Ⅰ- CASE工具(重点为分析与设计);

(3)提供文档生成功能;

(4)提供项目管理、成本核算、资源管理工具。

2、NEWCAFG的系统实现策略是什么?有什么优点?

NEWCAFG的系统实现策略采用了层次实现结构。

计算机硬件、操作系统、数据库管理系统、开放数据接口和开发工具构成了NEWCAFG的基础平台。在这个平台上依次实现了基本界面对象、基本数据对象和应用工具组,层次间的接口简单、清楚,上层实现在底层严格测试通过的基础上进行,并使得上层模块对底层模块的依赖性尽量小。

这样的层次实现结构为软件质量提供了一定的保证,在软件的可扩充性和可维护性方面都有非常重要的作用。

3、NEWCAFG提供了哪些方面的数据集成操作?

NEWCAFG提供了四方面的数据集成操作:

(1)在应用工具和Repository库间建立一个接口层实现对Repository库的存取操作,接口层通过消息机制实现。

(2)对Repository库进行完整性、一致性检查。

(3)保证应用工具所操作的数据与Repository库中数据的统一。

(4)对Repository库实现相应的安全保证(备份、恢复和登记日志)。

4、NEWCAFG对中心数据库Repository的管理主要有哪些方面?库管理对象CafgRepository完成哪些工作?

NEWCAFG对Repository进行管理主要有以下三方面的内容:

给应用工具存取Repository库提供一个方便有效的接口层;

提供Repository的安全性、一致性检查以及相应的安全保证;

实现集成环境管理的部分功能,就是建立操纵同一批数据的不同应用工具之间的联系,实现其信息传递。

库管理对象CafgRepository完成以下几项工作:

(1)完成对Repository库的读写;

(2)提供工具间一致性的保证;

(3)保证Repository库中信息的完整性;

(4)提供Repository库的安全性保证;

(5)处理和发送消息。

5、NEWCAFG提供的工具有哪几类?

NEWCAFG提供了八个应用工具组,十几个应用工具。这些工具按所处理的信息类型可划分为以下几类:

图形工具:完成图的编辑,并处理图和Repository的数据交换。

字典工具:用表格(字典)方式完成用户和Repository 的接口任务。

格栅图工具:作为检查工具。

文档工具:完成各类文档的生成。

系统服务工具:完成系统配置、系统维护等功能。

6、试评述NEWCAFG的优缺点。

从NEWCAFG的整体设计来看,在以下方面有非常可取之处:

(1)NEWCAFG的结构设计合理,所提供的工具可以根据用户要求进行灵活的配置。

(2)NEWCAFG是一个集成化的CASE,提供对MIS整个开发过程的支持,使用户前后工作的衔接非常顺利。

(3)针对分析设计阶段要生成大量的图表,用手工方式效率很低,而且修改困难,NEWCAFG提供了很强的图表处理功能,大大降低了分析设计阶段的工作量。

(4)用NEWCAFG能快速生成各种文档,而且用户可以参与文档格式的设计。

(5)NEWCAFG充分考虑了MIS开发过程中管理工作的重要性,对项目管理、进度安排和成本计划分析提供了有利的支持。

(6)NEWCAFG对集成化CASE工具的Repository的实现进行了积极的探索,具有一定的理论价值。

附录3-5

1、多媒体技术的特性?

(1)集成性:将多种媒体有机地组织在一起,共同表达一个完整的多媒体信息,使声、文、图、像一体化。

(2)交互性:人和计算机能进行“对话”,以便在使用的过程中进行人工干预控制。交互性是多媒体技术的关键特征。(3)数字化:指多媒体中的各种单媒体都是以数字形式存放在计算机中。

(4)实时性:多媒体技术是多种媒体集成的技术,在这些媒体中,有些媒体是与时间密切相关的,这就决定了多媒体技术必须支持实时

处理。

2、多媒体开发工具有哪些?

专门的多媒体集成环境:TOOLBOOK、AUTHORWARE、3D STUDIO、HONG TOOL(洪图软件)

3、多媒体系统的开发步骤?

(1)系统分析阶段(2)系统设计阶段(3)系统实现阶段(4)系统测试阶段(5)系统应用阶段

4、面向对象方法与传统方法比较有哪些优势?

面向对象方法与传统方法比较其优势在于:

1)它能够对付目前信息系统工程中迫切需要解决的两个主要问题:

(1)软件维护的复杂性

(2)提高生产率

2)在适应多变需求时表现的灵活性和降低风险等方面的作用是非常显著的

5、面向对象方法的基本过程

面向对象过程一般由四个步骤组成,是一个循环的过程:

(1)标识和定义对象及类

(2)组织类间的关系

(3)在类中构造框架

(4)建立可重用的类库和应用程序框架

6、面向对象的系统分设计方法有哪些?

(1)Booch方法(2)OMT方法(3)Goad/Yourdon方法(4)OOSE方法

7、建模工具必须满足哪些特性?

(1)正确性(2)一致性(3)便于交流(4)可理解、尽量简单

8、UML的应用领域有哪些?

UML可用于描述各种类型的系统,最常用于建立软系统模型,也可用于描述没有软件的或一般的商务组织系统。如:信息系统、技术系统、嵌入式实时系统、分布式系统、软件系统、商务系统

9、UML把系统开发分成几个阶段?

UML把系统开发分成五个阶段:

(1)需求分析—用Use-Case(使用事件)模型来获取客户需求。

(2)分析—涉及基本抽象(识别类和对象)和问题领域中的机制。

(3)设计—把分析的结果用技术方案解决

(4)编程—把设计的结果变换成面向对象编程语言代码

(5)测试—系统建成后需要经过单元测试、集成测试、系统测试和验收测试

10、UML的基本内容有哪些,每部分的具体内容是什么?

UML有以下几个部分组成:

1)视图:①使用事件视图(核心视图)②逻辑视图③组件视图④协同视图⑤配置视图

2)图表:①使用事件图②类图③对象图④状态图⑤序列图⑥协作图⑦活动图⑧组件图⑨配置图

3)模型元素

4)一般机制:①修饰②注释③说明

全国自学考试软件开发工具试题

全国2008年10月自学考试软件开发工具试 题 全国2008年10月自学考试软件开发工具试题试卷内容预览网站收集有1万多套自考试卷,答案已超过2000多套。我相信没有其他网站能比此处更全、更方便的了。 全国2008年10月自学考试软件开发工具试题 课程代码:03173 一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.软件开发工具最重要的性能是( ) A.存储各种信息的能力 B.工具的可靠程度 C.版本管理的能力 D.帮助人们编写文档 2.计划工具是从( ) A.宏观的角度去看待软件开发 B.微观的角度去看待软件开发 C.宏观的角度去制定测试方案 D.微观的角度去制定测试方案 3.在论述程序结构时,E.Yourdon把程序的结构分解成三个基本模块,即( ) A.处理单元、循环机制、二分决策机制 B.处理单元、循环机制、控制转移机制 C.循环机制、二分决策机制、控制转移机制

D.处理单元、二分决策机制、控制转移机制 4.划分模块的基本要求是( ) A.模块间联系少,模块规模足够小,模块扇入数足够大 B.模块功能单一,模块间联系少,模块扇入数足够大 C.模块功能单一,模块间联系少,模块规模足够小 D.模块功能单一,模块规模足够小,使用逻辑耦合 5.在信息库(Repository)研究中的核心问题是( ) A.提高信息的共享性 B.保持信息的一致性 C.确保信息的准确性 D.保证信息的安全性 6.在PowerBuilder中,提供以自由表形式显示数据的是( ) A.应用程序对象 B.菜单对象 C.数据窗口对象 D.用户对象 7.在软件开发工具中,文档生成功能与代码生成相比( ) A.数量小,内容复杂 B.数量小,内容简单 C.数量大,内容复杂 D.数量大,内容简单 8.在AD/Cycle的跨周期管理中,在编码和测试阶段都使用的工具是( ) A.建模工具 B.分析工具 C.测试工具 D.生成工具 9.对软件开发工具进行审计(Audit)的基础是( ) A.功能完善的软件 B.日常记录的信息

软件工程复习资料2012秋(1)

软件工程复习题一 一、选择题,请从四个可选项中选择正确答案。 1.以下哪一项不是软件危机的表现形式() A.成本高 B.生产率低 C.技术发展快 D.质量得不到保证 2.哪种模型分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。() A.演化模型 B.喷泉模型 C.原型模型 D.螺旋模型 3.可行性研究的目的不包括() A.分析开发系统的必要性 B.确定系统建模的方案 C.分析系统风险 D.确定是否值得开发系统 4.可行性分析研究的费用大约是项目总经费的()。 A.2% B.8% C.20% D.50% 5.在E-R 模型中,包含以下基本成分()。 A.数据、对象、实体 B.控制、联系、对象 C.实体、联系、属性 D.实体、属性、联系 6.软件需求分析产生一个重要文档是()。 A.软件维护说明书 B.需求规格说明书 C.可行性报告 D.初步用户手册 7.内聚程度较低的是()。 A.通信内聚 B.过程内聚 C.顺序内聚 D.时间内聚 8.概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是() A.把软件划分成模块 B确定模块之间的调用关系 C.确定各个模块的功能 D.设计每个模块的伪代码 9.UML 语言支持的建模方式不包括有()。 A.静态建模 B.动态建模 C.模块化建模 D.功能建模 10.以下哪一项不是面向对象的特征。() A.多态性 B.继承性 C.封装性 D.过程调用 11.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了() A.软件危机 B.软件工程 C.程序设计革命 D.结构化程序设计

12.瀑布模型的关键不足在于() A.过于简单 B.不能适应需求的动态变更 C.过于灵活 D.各个阶段需要进行评审 13.可行性研究的四大要素是()。 A.经济、技术、法律和社会环境 B.经济、技术、开发组织能力和领导者水平 C.经济、技术、计算机硬件环境和网络带宽 D.经济、技术、软件开发工具和人员的稳定性 14.经济可行性研究的主要内容包括() A.开发过程 B.开发工具 C.风险分析 D. 效益分析 15.在需求分析过程中,分析员要从用户那里解决的最重要的问题是()。 A.要求软件做什么 B.要给软件提供哪些信息 C.要求软件工作效率如何 D.要求软件具有什么样的结构 16.DFD中的每个加工至少需要() A.一个输入流 B.一个输出流 C.一个输入或输出流 D.一个输入流和一个输出流 17.PDL是描述处理过程()。 A.做什么 B.为什么做 C.怎么做 D.对谁做 18.当一个模块直接使用另一个模块的内部数据,这种模块之间的耦合为()A.数据耦合 B.公共耦合 C.标记耦合 D.内容耦合 19.按照模块独立性,耦合程度由弱至强正确的顺序是()。 A.数据耦合、控制耦合、外部耦合、内容耦合 B.控制耦合、数据耦合、内容耦合、外部耦合 C.内容耦合、外部耦合、控制耦合、数据耦合 D.外部耦合、内容耦合、数据耦合、控制耦合 20.UML 中,包图是一种()。 A.集合 B.数据结构 C.分组机制 D.对系统的动态描述

几种常用软件开发工具比较

几种常用软件开发工具比较(2008-10-27 10:11:59) 标签:职场it [转]近日和公司的系统分析员探讨了几种开发工具的特性,由其总结了下面的内容。 文章客观评价了各种开发工具的优缺点,本人把文章拿来和大家一起讨论一下,欢迎专业人事补充和指正。 一、跨平台特性 VB:无★ PB:WINDOWS家族, Solaris,Macintosh ★★★ C++ Builder/Dephi:WINDOWS家族,Linux ★★★ VC:无★ JAVA:所有能够运行JAVA虚拟机的操作系统★★★★ 二、组件技术支持 VB:COM,ActiveX ★★★ PB:COM,JavaBean,Jaguar,UserObject使用:CORBA+Acti veX ★★★ C++ Builder/Dephi:COM, ActiveX CORBA(本身自带CORBA中间件VisiBroker,有丰富向导)★★★★★ VC:COM,ActiveX,CORBA(没有任何IDE支持,是所有C编译器的功能,需要CORBA中间件支持) ★★★ JAVA:JavaBean,CORBA;ActiveX ★★★★ 三、数据库支持级别 数据访问对象: VB:DAO,ADO,RDO功能相仿;★ PB:Transaction,DwControl,可绑定任何SQL语句和存储过程,数据访问具有无与比拟的灵活性★★★★ C++ Builder/Dephi:具有包括DataSource,Table,Query,Midas,ADO在内的二十多个组件和类完成数据访问★★★ VC:同VB,但有不少类库可供使用,但极不方便,开发效率很低★★ JAVA:JAVA JDBC API,不同的IDE具有不同的组件★★ 数据表现对象: VB:DBGriD,与数据库相关的数据表现控件只有此一种,只能表现简单表格数据,表现手段单一★ PB:DataWindow对象(功能异常强大,其资源描述语句构成类似HTML的另外一种语言,可在其中插入任何对象,具有包括DBGrid在内的数百种数据表现方法),只此一项功能就注定了PB在数据库的功能从诞生的那 一天起就远远超过了某些开发工具今天的水平★★★★★ C++ Builder/Dephi:具有包括DBGrid,DBNavigator,DBEdit,DBLookupListBox在内的15 个数据感知组件,DecisionCube,DecisionQuery在内的6个数据仓库组件和包括QRChart, QRExpr在内的20多个报表组建,可灵活表现数据★★★

03173软件开发工具2009年10月份真题及答案

全国2009年10月高等教育自学考试 软件开发工具试题 课程代码:03173 一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.从60年代末期开始,人们对于软件工作的认识大大深入了,在认识到软件工作的重要性的同时,也认识到了软件工作的困难性。这就是所谓的() A.软件的智能化问题 B.结构化程序设计的技巧问题 C.软件生存期的划分问题 D.软件危机问题 2.一般来说,软件开发工具对环境的要求() A.与它所支持的应用软件的环境要求无关 B.依赖于它所支持的应用软件的环境要求 C.应当超出它所支持的应用软件的环境要求 D.不应当超出它所支持的应用软件的环境要求 3.属于软件开发工具的是() A.COBOL B.DOS C.TOOLBOOK D.DBMS 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.在NEWCAFG中,构成Repository库的主体关系是() A.系统类关系 B.属性类关系 C.实体类关系 D.联系类关系 10.在对市场上可供使用的软件开发工具进行调查研究时应包括的内容是() A.软件开发工具供应商的规模 B.软件开发工具的管理者 C.软件开发工具的销售量 D.软件开发工具的服务和培训条件 二、多项选择题(本大题共10小题,每小题2分,共20分) 在每小题列出的五个备选项中至少有两个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选、少选或未选均无分。 11.软件开发工具在以下几方面提供支持() A.认识与描述客观系统 B.存储及管理开发过程中的信息 C.代码的编写或生成 D.文档的编制或生成 E.为挑选管理人员提供必要的信息 12.NEWCAFG的安全保证主要措施是对信息库的() A.密码设置 B.备份 C.恢复 D.访问控制 E.登记日志 13.质量好的软件应满足() A.实现所要求的功能 B.界面友好 C.足够的运行速度 D.足够的可靠性 E.结构良好,文档齐全 14.模块的划分应符合() A.功能尽可能单一、明确 B.模块间的联系尽可能少 C.明确说明模块间必需的联系 D.模块间仅限于数据耦合 E.模块的规模足够小 15.造成大型软件开发困难的原因有:() A.大系统的复杂性 B.人员的组织与协调

软件开发工具复习资料

软件开发工具复习资料.txt我爸说过的最让我感动的一句话:“孩子,好好学习吧,爸以前玩麻将都玩儿10块的,现在为了供你念书,改玩儿1块的了。”本文由myxinyue贡献 3173软件开发工具复习资料 第一章绪论 1.1 软件开发工具的由来 一、软件开发工具: 1、软件开发工具的范围大致可以描述为:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同的帮助的一类广泛的软件。 2、如何理解: 首先,是一类软件,是开发软件用的软件。 其次,是在第三代语言的基础上发展起来的。 另外,这里强调对软件开发全过程中各个阶段的支持,即不仅包含狭义的编程阶段,而是包括了相当广泛的范围和相当丰富的内容。 二、软件开发工具的产生与演变 1、软件开发工具的产生与演变 第一代语言——机器语言 第二代语言——汇编语言 第三代语言——高级程序设计语言(过程化语言) 第四代语言——非过程化语言 2、第三代语言与第二代语言的区别 ①第三代语言突破了与机器指令一一对应的限制,用尽可能接近自然语言的表达方式描述人们设想的处理过程,把这种表达方式向机器指令的转化工作交给编译系统去完成。 ②另一个重要的变化是高级设计语言实现了对机器的独立性,即不依赖特定的硬件系统,抽象地逻辑地描述处理和算法,而把硬件系统之间的区别交给不同的编译系统去处理,从而大大提高了程序的可移植性。 (第三代程序设计语言一般是过程化语言) 3、第四代语言——非过程化语言思想 人们希望机器能够自动地完成更多的工作,包括自动安排某些(不是全部)工作的顺序,而做到只要给机器下达需要做什么的命令,由机器自己去安排执行的顺序。 4、软件危机: 在认识到软件工作重要性的同时,也认识到软件工作的困难性。这就是所谓的“软件危机”问题的提出。 三、软件工作的重要性 1、软件是计算机的灵魂 (1)软件是广大使用者与计算机之间的桥梁; (2)软件是人类的各个领域中积累的知识的结晶; (3)软件是人类文明与知识得以延续的新的载体; (4)软件是人类进一步成为一个整体,得以进一步相互联系的纽带。 2、软件工作的困难性 (1)人类社会和客观世界的复杂性,决定了软件本身的复杂性; (2)人类知识和丰富多彩,决定了软件的极大多样性; (3)客观世界的动态性,决定了软件对可维护性、可靠性越来越高的要求。 如何保证软件的正确性、可靠性,如何控制软件开发工作的进度与成本,成了理论上十

软件开发

《软件开发工具》串讲笔记 一、绪论 1、简述软件开发工具的范围?在高级程序设计语言的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程序帮助的一类新型软件。 2、简术用通用软件辅助软件开发的缺点?有许多工作是通用软件所无法完成的;用通用软件完成某些工作,只能表现出其表面的形式,而不能反映其逻辑内涵,只能做到“形似”,不能做到“神似”;难于保持一致性。 3、简述集成化软件开发工具产生的背景?集成的软件开发工具称为软件开发环境,是指包括支持全过程、全阶段的软件开发工具。以往的专用软件开发工具对软件的开发缺乏全面的、统一的支撑环境。这些零散地、分散地支持各个工作阶段、各项具体工作的专用工具之间没有有机地联系起来,必然会造成冲突与矛盾。这种冲突与矛盾对于用户来说,造成了沉重的负担,使用工具越多这种负担越重,以致抵消了工具带来的益处。这种情况导致了集成化软件开发工具的产生。 4、简述第四代语言与软件开发工具的区别?软件开发工具包括4GL的功能;软件开发工具支持系统分析、设计工作;软件开发工具支持文档工作。 5、简述软件开发总体设计阶段的工作要点?是根据软件功能说明书的要求,完成软件的总体设计,包括整个软件的结构设计、公用的数据文件或数据库的设计、各部分的连接方式及信息交换的标准等。 6、简述软件开发实现阶段的工作,以及应强调之点。包括程序的编写和文档的编写,应特别强调组织与协调,及时发现并纠正背离总体设计要求的情况。 7、简述软件开发工具认识与描述客观系统的功能要求?认识与描述客观系统是软件开发第一阶段所需的重要工作。该项工作不确定程度高,更需要经验,更难规范化,需要对复杂系统认识与理解,并在此基础上抽象出信息需求与信息流程。 8、简述软件开发的项目管理功能?为项目管理人员提供支持。项目管理包括进度管理、资源与费用管理、质量管理三个基本内容。还包括需要提出测试方案,提供测试环境和测试数据,并进行版本管理。 9、从人类科学技术发展的角度论述软件的意义?软件是广大使用者与计算机之间的桥梁,软件是人类在各个领域中积累的知识结晶,软件是使人类文明与知识得以延续的新的载体,软件是人类进一步成为一个整体、得以进一步相互联系的纽带。 10、论述第一代到第四代程序设计语言的主要特征?第一代程序设计语言就是计算机的指令系统。用户用机器指令编写程序。这种程序就是机器指令的序列,由“0”和“1”组成,难于阅读,难于维护,而且程序高度依赖于计算机硬件,难于移植。第二代语言是汇编语言,其中每个语句是用助记符动工表示的机器指令。虽然可读性和可移植性方面前进了一步,但依然依赖于计算机硬件。第三代语言也称为高级程序设计语言,其中的语句与机器指令并不一一对应,尤其是表达式的书写与人们的习惯基本相同。程序员需要逐行编写语句来实现算法的过程,因此,它属于过程化的语言。第四代语言是非过程化的程序设计语言,用户只说明要求做什么,而把具体的执行步骤交由软件自动执行。 11、说明软件开发工具和新的软件开发方法的主要特点?自动化程序提高;软件开发工作包括了需求分析;软件开发工作包括了项目管理和版本管理;吸收了许多管理科学的内容和方法。 12、说明软件产品开发过程各个阶段的主要任务。需求分析阶段:根据用户的初始要求形成严格的、明确的、可供实际开发使用的功能说明书;总体设计阶段:根据软件功能说明书的要求,完成软件的总体设计;实现阶段:程序的编写和文档的编写;测试阶段:测试软件是

几种软件开发工具的区别

java、c、c++、vc、vc++、vb的区别和联系 java:分三大平台java se (j2se),java ee(j2ee),java me(j2me) java se是java ee和java me的基础 java ee是目前位置企业级开发平台中最牛的 java me是用来开发移动嵌入式程序的,例如手机游戏 java 的优点是非常适合用于开发大型企业级项目,我们曾为网通公司开发过的上千万级的项目,用的后台程序就是java ee。 java的主要领域还有开源技术,那要学的东西就太多了,比如(Spring,Ibatis,DWR,Hibernate,Tapestry等) 缺点是要学的技术太多,二是在底层开发中不行 C:经久不衰的语言 主要应用在嵌入式编程,硬件驱动程序设计中,说白了是计算机底层的编程设计 优点是可以嵌入汇编,可以直接与硬件打交道,做底层开发 缺点是在企业级开发中,几乎无用武之地 我朋友是做这个的,在长沙这种小地方,年薪也能达到10万以上 与北京的java程序员收入差不多 在北京的话,年薪20万不是大问题。 c++ :我非常钦慕的语言,又AT&T的贝尔实验室研发 主要开发工具是微软的Visual C++和Borload的BCB(Borload C++ Builder) 优点在于含有大量的库,如MFC,可直接调用windows库函数干很多事情 其中的消息处理机制令我感觉尤为经典 缺点是,要想精通真不容易 主要领域一是做桌面程序,像QQ,迅雷这种桌面软件 领域二是做游戏后台开发,大部分游戏(包括魔兽等)后台语言就是使用C++ 精通的话,收入和C程序员差不多 vc :刚说过了,vc全名是(Microsoft Visual C++) 是微软研发的一种开发C++的开发工具(IDE) vc++:同vc 注意c++是语言,vc++是工具,是一门使用c++语言的工具,记清楚,以后不要问这样肤浅的话。 以上几种,对比一下学java,学的不仅仅是技术,而是一种思想,架构项目的思想 所以java是培养架构师,培养System Designer,Project Manager的 c语言和c++只能培养技术专家,资深程序员 vb:曾经很流行的一种桌面程序开发技术 微软研发的(Visual Basic)是一种工具,用的语言是Basic Basic是比尔盖兹发家致富的一大工具

全国1月自学考试软件开发工具试题

全国2013年1月自学考试软件开发工具试题 课程代码:03173 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸” 的相应代码涂黑。错涂、多涂或未涂均无分。 1.在需求分析阶段,人们最希望软件开发工具提供的帮助是 A.认识与描述客观系统 B.存储及管理开发过程中的信息 C.文档的编制或生成 D.软件项目的管理 2.在实际工作中,数量最大的软件开发工具是 A.分析工具 B.计划工具 C.设计工具 D.软件工作环境 3.为了提高软件开发工作的水平和效率,人们提出了多种程序设计方法。其中,主要为项目管理者服务的是 A.结构化程序设计 B.软件工程方法 C.面向对象的方法 D.即插即用的程序设计 4.IBM公司宣布一个名为AD/Cycle的巨大的理论框架,标志着进入集成的软件开发环境阶段,时间是20世纪 A.80年代初 B.80年代末 C.90年代初 D.90年代末 5.在软件开发过程中,确定信息流通模型的阶段是 A.系统设计阶段 B.程序编码阶段 C.需求分析阶段 D.系统维护阶段 6.自行开发软件开发工具的主要缺点是 A.不易于商品化 B.不便于扩充 C.往往低估开发难度 D.目标不明确 7.在权衡购置或自行开发软件开发工具时不必 ..考虑的因素是 A.人员的因素 B.准备从事的软件开发工作的性质与要求 C.资金的多少 D.开发人员对工作与支持程度的实际需要 8.不成功的商品化软件开发工具往往由于 A.应用范围广泛 B.应用范围专一

C.使用手册简单 D.使用手册复杂 9.2008年,国际电子电气工程师学会的权威刊物《软件》的九月/十月号,以“软件开发工具”(Software Development Tools)为题的一期专刊中概括了40年来软件开发工具的发展轨迹,指出抽象程度最高的软件开发工具是 A.Eclipse B.XMF Mosaic C.Delphi D.Turbo Oascal 10.以下几种语言及其开发工具中,发展潜力最差的是 A.VB B.VC C.PB D.C++Builder/Delphi 11.在大型软件开发中,程序员承担的工作是 A.验收模块 B.要求修改 C.交付检验 D.试运行 12.为创建一个C Project,在选择向导窗口“Select a wizard”对话框中打开C/C++文件夹,选择"C Project"后,单击的按钮是 A.Next B.Back C.Finish D.Cancel 13.为了在不影响程序行为的情况下进行系统范围内的代码更改,用户可以使用Eclipse的 A.重构功能 B.重命名功能 C.搜索功能 D.抽取方法 14.在GDB添加行断点时,应打开调试文件,从菜单中选择的选项是 A.Add Bookmark B.Disable Breakpoint C.Toggle Breakpoint D.Breakpoint Froperties 15.在Eclipse代码模板编辑中,变量用{ }括起来,开头的字符是 A.$ B.¥ C.& D.@ 16.在CVS中,获得工作备份的操作称为 A.输入 B.提交 C.签出 D.更新 17.在软件开发过程中,直接与设计方案关联的界面是 A.分析界面 B.编程界面 C.用户界面 D.管理界面

软件工程复习资料-完整版

一、选择题: 1、用例图中,用来表示用例的符号为(B)。 A B. C. D. 2、协作图中包含的元素包括(A)。 A. 对象 B. 链 C. 激活 D. 消息 3、在类图中,哪种关系表达整体与部分的关系(D)。 A.泛化 B. 实现 C. 依赖 D. 聚合 4、下列各种图形符号中,用来表示组成关系的符号为(B)。 A. B. C. D. 5、(A)工具在软件的详细设计中不能使用。 A.DFD B. N-S图 C. 流程图 D. PDL 6、“软件危机”是指(C)。 A. 计算机病毒的出现 B. 利用计算机进行经济犯罪活动 C. 软件开发和维护中出现的一系列问题 D. 人们过分迷恋计算机系统 7、快速原型是利用原型辅助软件开发的一种新思想,它是在研究(A)的方法和技术中产生的。

A. 需求阶段 B. 设计阶段 C. 测试阶段 D. 软件开发的各个阶段 8、从严格意义上讲,下列4个选项中属于顺序图的元素是(ABCD)。 A. 对象 B. 参与者 C. 消息 D. 激活 9、下列UML图形中,(ABCD)属于UML的动态视图。 A. 协作图 B. 状态图 C. 活动图 D. 顺序图 10、数据字典是软件需求分析阶段的最重要的工具之一,其最基本的功能是(D)。 A. 数据库设计 B. 数据通信 C. 数据关系描述 D. 数据定义 11、详细设计与概要设计衔接的图形工具是(D)。 A. DFD图 B. 程序图 C. PAD图 D. SC图 12、UML中,大多数建模者把节点分为(AC) A. 设备 B. 构件 C. 处理器 D. 显示器 13、(C)是一种特殊形式的状态机,用于对计算流程和工作流程建模。 A.时间图 B. 流程图 C. 活动图 D. 状态图 14、(A)描述从状态到状态的控制流程,常用来对系统的动态特征进行建模。 A. 状态图 B. 序列图 C. 协作图 D. 活动图 15、下列特点属于描述用例的特点的是(D)。 A. 相对独立:不需要与其他用例交互,即功能是完备的

自考软件开发工具串讲笔记

《软件开发工具》串讲笔记 第一章绪论 重点背诵: 1、对于CASE工具有两种理解,一种是“计算机辅助软件工程”,另一种是“计算机辅助系统工程”。 2、软件开发工具是引导人们建立正确、有效的概念模式的一种手段。 3、从几十年软件开发工具发展历史中,可以看到软件开发工具一个值得注意的特点是多样性和趋同性的并存。 4、进入二十一世纪以来,软件开发工具的发展有两个鲜明的特点,第一个特点是面向网络,另一个特点是开源软件的兴起和运用。 5、当前我们所要开发的信息系统不同于以前。其重要特征是具有复杂性、多样性和相互关联性。 1.1 软件开发工具的由来 (1)简述软件开发工具的范围? 在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成 文和管理各方面,对软件开发者提供各种不同程序帮助的 一类新型软件。 (2)软件开发工具的发展过程 包括以下四个阶段:工具产生之前、通用工具的使用、专用

工具的出现、一体化工具的出现。

论述工具产生之前,第一代到第四代程序设计语言的主要特征? 1)第一代机器语言阶段:使用“0”和“1”代码进行编程,难于阅读,难于维护,而且程序高度依赖于计算机硬件,难于移植;2)第二代汇编语言:使用助记符来编写程序,由汇编系统将汇编指令转化为机器指令,编程工作量大大降低,但依然依赖于计算机硬件。与此同时,操作系统的出现从另一方面改善了人们应用计算机的条件; 3)第三代高级程序设计语言,高级语言突破了与机器指令一一对应的限制,实现了对机器的独立性,从而大大提高了程序的可移植性。程序员需要逐行编写语句来实现算法的过程,因此它属于过程化的语言; 4)第四代语言(4GL)是非过程化的程序设计语言,用户只说明要求做什么,而把具体的执行步骤交由软件自动执行。 5)利用通用软件作为辅助工具的阶段 利用文字处理软件来编写文档,利用绘图软件来绘制流程图。6)专用软件开发工具阶段 专用软件开发工具是面对某一工作阶段或工作任务的工具,优点是能提高软件开发的质量和效率;缺点是一致性的保持,对软件开发缺乏全面的、统一的支撑环境。

2018年自考考试《软件开发工具》试题及答案

2018年自考考试《软件开发工具》试题及答案 1.为了推广应用计算机,大量的工作集中在( B )中。 A.硬件领域 B.软件领域 C.研制软件开发工具 D.研究改进程序设计方法 2.从( C )语言开始,软件摆脱了对特定硬件系统的依赖。 A.第一代 B.第二代 C.第三代 D.第四代 3.软件开发工具是以( C )语言为基础的。 A.第一代8.第二代C.第三代D.第四代 4对用户的需求进行分析,最终以编程所需的方式表达出来,这是(D. )必须承担的任务。 A.用户部门的技术人员B企业管理人员C、教学工作者D.软件开发者 5.软件开发的成败更多地依赖于( D ) A.程序员的编程能力B项目负责人的技术水平 C软件开发工具的使用D合理的组织和协调 6.软件开发的第一阶段是:( A ) A.需求分析B画出程序流程图c.选择所用的语自D.编写程序 7.需求分析阶段的主要任务是(A )。 A.提出初始要求,写出功能说明书 B 对计算机需求的分析 C.对语言需求的分桥D 对软件开发工具的需求分析 8.编写软件使用说明书与编程工作应( C )。 A先编写程序B.先编写使用说明节

C.同步编写D。可不计次序 9.认识与描述客观系统是软件开发工具对软件开发( B )阶段的支持、 A.需求分析 B.总体设计c.实现D.运行维护 10.在存储和管理开发过程中的信息时.最重要、最困难的问题是:( D )。 A.信息的收集 B.信息的分类 C.信息存储的格式 D.信息的一致性 E.信息的维护 t1.软件使用的方便程度主要依赖于( D ) A.软件的功能 B.操作系统C I/O设备D 人机界面 12.编写与调试软件的工具属于( C )。 A.计划工具 B.分析工具 C.设计工具D管理工具 13.帮助人们绘制数据流程图、结构图、ER团的工具属于( B ) A计划工具B.分析工具C.设计工具D管理工具 14.(B )工具从更宏观的角度去看待软件开发。 A计划B.分析C设计D 调试运行 15.帮助管理项目的进度、资源、质量等的软件开发工具属于( D) A.计划上具 B.分析工具 C.设计工具D管理工具 16.( D )实现了跨生命周期的信息管理与共享。 A.计划工具 B.分桥工具 C.设计工具D管理工具 多项选择题 1.(AB)语言依赖于机器

自考软件开发工具复习资料3章

实践篇(7-13章) 1、Eclipse的主要用途是什么 Eclipse是一个开放源代码的、基于Java的可扩展集成应用程序开发环境。其本身只是一个框架和一组服务,通过插件组件构建开发环境,Eclipse中的每样东西都是插件。 Eclipse最初主要用来进行Java语言开发,此外还支持如C/C + +、C# PHR J2EE、Javascript等编程语言的插件,如CDT(C/C++开发环境插件)。 Eclipse作为一个框架平台还包括插件开发环境(PDE,这主要是针对希望扩展Eclipse的软件开发人员,允许他们构建与Eclipse环境无缝集成的工具。 Eclipse框架还可以用来作为与软件开发无关的其它应用程序类型的基础。 2、试述Eclipse的体系结构。 Eclipse的体系结构主要包括四部分: (1)运行时内核。平台运行库是内核,它在启动时检查已安装了哪些插件,并创建关于其注册表信息。为降低启动时间和资源使用,平台运行库在实际需要插件时才加载。 (2)工作空间。工作空间负责管理用户资源并负责通知其他插件关于资源变更的信 息。 (3)工作台。工作台为Eclipse提供用户界面。 (4)其他插件。包括帮助组件、团队支持组件等。 3、Eclipse的欢迎界面中包含了哪些图标 Eclipse的欢迎界面中包含五个圆形图标:概况、新特点、实例、向导、工作台 4、Eclipse 工作台的组成 Eclipse的工作台主要由以下几个部分组成:菜单栏、工具栏(主工具栏、视图工具栏)、透视图(视图、编辑器)(Eclipse特有) 5、Eclipse中主要包含哪几种视图各自的作用是什么 导航器视图:资源管理器视图,显示当前Eclipse集成环境中加载的所有项目和各个 项目中的文件列表。 大纲视图:显示当前活动编辑器中所打开文件的纲要,如函数、变量等。 控制台视图:显示程序的输出内容。 错误视图:编写代码时显示程序中的错误,提示用户及时改正。 搜索视图:显示用户搜索结果的详细信息。 任务视图:显示程序代码中未完成的任务,在代码中加一条以TODOT头的注释标 记,就可以在任务视图中添加一项任务。 6、Eclipse中常用的编辑器有哪些作用是什么 c/c + + 编辑器打开c/c + +文件 文本编辑器——打开文本文件 任务编辑器一一打开任务文件 二进制文件编辑器——打开二进制文件 Web浏览器——打开网页文件 7、Eclipse提供的浏览功能包括哪些各自的作用、打开方式以及快捷方式是什么 常见主要功能的键盘快捷方式与鼠标点击操作的方式

软件工程笔记完整版

. 第一章软件工程概述 1.软件危机 (software crisis):是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。即“两低一高”问题:质量低、效率低、成本高。 软件危机也成为“软件萧条(depression)”或“软件困扰(afflication)” 2.软件危机主要表现 1)开发成本和进度估计不准 2)用户对“已完成的”软件系统不满意 3)软件质量往往靠不住 4)软件常常是不可维护的 5)软件通常没有适当的文档资料 6)软件成本逐年上升 7)软件开发生产率滞后于硬件和计算机应用普及的趋势 3.产生软件危机的原因 1)与软件本身的特点有关 a. 软件不同于硬件,是逻辑部件而不是物理部件 缺乏可见性 难于测试 管理和控制开发过程困难 不会因使用时间过长而被“用坏” 难以维护 b.软件不同于一般程序,规模庞大,而且程序复杂性随着程序规模的增加而呈指数上升 2)和软件开发与维护的方法不正确有关 a.对软件开发和维护有关的错误认识和作法 忽视软件需求分析的重要性 认为软件开发就是写程序 轻视软件维护 b. 对软件开发过程与方法的认识与应用 软件开发要经历一个漫长的时期(编程占10-20%) 程序仅是完成软件配置的一个组成部分 软件开发方法要有利于软件维护 4.软件的特点 (1)软件是无形的(intangible) (2)软件副本的大批量生产轻而易举 (3)软件业是劳动密集型的 (4)一个没有经过充分训练的软件开发人员很容易编写出难以理解和修改的软件 (5)软件本身很容易修改。但由于它的复杂性,又很难正确地修改。 (6)软件不像其他的工业产品那样会因使用而磨损,随着反复修改,它的设计会逐渐退化 5.消除软件危机的途径 1)对计算机软件的正确认识 2)认识到软件开发不是个体劳动的神秘技巧,而是一种组织良好、管理严密、各类人员协

软件开发工具与试题答案最新

系部 专业 班级 姓名 学号 第 1错误!未找到引用源。错误!未找到引用源。 页 共错误!未找到引用源。 10 页 第 2错误!未找到引用源。错误!未找到引用源。 页 共 10 页 装 线 订 考试方式:闭卷 考试时间:50分钟 卷面总分:150 分 一 选择题 (每小题2分,共40分) 1.高级程序设计语言实现了 A .计算机系统的各种资源自动管理 B.计算机语言对机器的独立性 C .由机器自己去安排执行的顺序 D.用自然语言描述人们设想的处理过程 2.软件工具的思想与方法得到了广泛的宣传是在20世纪的 A.50年代 B.60年代 C .70年代 D.80年代 3.在软件开发过程中,直接与变更要求关联的界面是 A .分析界面 B.编程界面 C .用户界面 D.管理界面 4.在软件开发过程中,确定子系统或模块划分的阶段是 A .需求分析阶段 B.分析设计阶段 C .程序编码阶段 D.系统维护阶段 5.软件开发工具的基础是 A .数据库 B.工具软件 C .信息库 D.文档 6.购买市场上已有的软件开发工具的优点是 A .减轻工作负担 B.比较便宜 C .发展水平较高 D.可靠程度较高 7.以下几种较有代表性的语言及其开发工具中支持面向对象非常好的是 A .VC B.PB C.C++Builder/Delphi D.JAVA 8.不属于...软件开发工具概念模式的是 A .数据流程图 B.实体关系图 C .关键路线图 D.数据字典 9.以下几种较有代表性的语言及其开发工具中发展潜力最差的是 A .VC B.VB C .PB D.JAVA 10.用来打开网页文件的编辑器是 A.C/C++编辑器 B.文本编辑器 C .任务编辑器 D.Web 浏览器 11.出现最早的软件开发工具是 A .计划工具 B.分析工具 C .设计工具 D.集成化工具 12.一个好的项目组应当具备的条件是 A .有事先制定详细的时间表,并且得到严格执行 B.成员有程序设计所需要的基本知识与技能 C .成员深入了解本项目所在的领域 D.成员熟悉软件开发的技术环境 13.在Eclipse 设置调试属性时,应选择Preferences 菜单中的选项是 A.General B.Install/Update C.Tasks D.Run/Debug 14.不属于...Eclipse 调试透视图的是 A .触发器 B.变量视图 C .编辑器 D.大纲视图 15.在Eclipse 代码模板编辑中,变量的开头字符和括起来的符号分别是 A.$和[ ] B.&和{ } C .¥和( ) D.$和{ } 16.在版本控制软件中,对程序冻结和解冻的操作人员只能是 A .程序员 B.程序员和管理员 C .管理员 D.用户 17.在Eclipse 的插件清单中,提供插件id 的标签是 A.plugin B.runtime C.requires D.extensions 18.在Eclipse 插件中,属于代码管理类插件是 A .CDT B.Lomboz C.PDT D.Log4E 19.在Rational Rose 建模的逻辑设计中,使用的图是 A .活动图 B.状态图 C .交互图 D.关联图 20.在Rational Rose 建模的设计中,系统中与实现无关的视图是 A .用例图 B.活动图 C .顺序图 D.协作图 题 号 一 二 三 四 五 总成绩 合分人 得 分 得 分 评阅人 软件开发工具考试试题 课程代码:03173

最新2014自考软件开发工具复习资料

软件开发工具 1 2 第1章绪论 3 1.1 软件开发工具的由来 4 1、软件产品的(质量)(效率)(价格)已成为各方面关注的十分重要的问题。5 (多选题) 6 2、名词解释:软件开发工具在高级程序设计语言的基础上,为提高软件的7 质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供8 各种不同程度帮助的一类广泛的软件。 9 3、简答:如何理解软件开发工具的概念 10 (1)是一类软件,是开发软件用的软件 11 (2)它是在第三代语言的基础上发展起来的。 12 (3)强调对软件开发全过程中各个阶段的支持,即不仅包含狭义的编程阶段,13 而是包括了相当广泛的范围和相当丰富的内容。 14 4、60年代初期的高级语言有(FORTRAN)(ALGOL)(COBOL)。(多选或填空题)15 5、第三代语言实现了对机器的(独立性),(抽象)地(逻辑)地描述处理和算16 法,提高了程序地(移植性)。(填空题) 17 6、第三代语言地瓶颈-(处理过程的描述)(单选或填空题) 18 7、名词解释:软件危机认识到软件工作地重要性地同时,也认识到了软件工19 作地困难性。 20 8、简答:软件的重要性 21 (1)软件是计算机的灵魂 22 (2)软件是使用者与计算机之间的桥梁 23 (3)软件是人类在各个领域中积累的知识的结晶 24 (4)软件是人类文明与知识得以延续的新的载体 25 (5)软件是人类进一步成为一个整体,得以进一步相互联系的纽带 26 9、简答:软件的困难性 27 (1)人类社会和客观世界的复杂性,决定了软件本身的复杂性 28 (2)人类知识的丰富多彩,决定了软件的极大的多样性 29 (3)客观世界的动态性,决定了软件对可维护性、可重用性越来越高的要求。 30 10、通用软件的弱点 31 (1)有许多工作是通用软件所无法完成的 32 (2)用通用软件完成某些工作,只能表现其表面的形式,而不能反映其逻辑内33 涵 34 (3)用通用软件来帮助人们完成软件开发工作时,常常遇到难于保持一致性的35 困难 36 11、属于专用软件开发工具的有(代码生成器:报表生成器、菜单生成器、对37 话生成器)(第四代语言)(数据字典管理系统DDMS)(画数据流程图、ER图或程序38 框图的绘图软件)(多选题) 39 12、进入集成的软件开发环境阶段的标志是IBM公司(AD/Cycle理论框架的提40 出)(单选题) 41

(考研复试)软件工程笔记培训资料

(考研复试)软件工程 笔记

1:软件危机:问题1:如何开发软件,以满足对软件日益增长的需求。问题2:如何维护数量不断膨胀的软件。表现:对软件开发成本和时间估计不准,用户对已完成软件不满意,软件质量不可靠,软件不可维护,软件缺少文档,软件成本过高,软件跟不上硬件发展速度。原因:与软件本身特点有关,缺乏可见性,质量难以评价,规模庞大难以维护。与软件开发维护的不当方法有关,轻视需求分析和维护,对用户的要求没有完整准确的认识就编写程序,忽视程序,文档,数据等软件配置。 2:软件工程:采用工程的概念,原理,技术和方法开发与维护软件,把正确的管理技术和软件开发技术结合起来,经济的开发出高质量的软件并有效的维护。即把系统化的,规范的,可度量的途径应用于软件开发,运行和维护的过程。 3:软件工程7条基本原理:用分阶段的生命周期计划严格管理,坚持进行阶段评审,实行严格的产品控制,采用现代程序设计技术,结果应能清楚地审查,开发小组的人员应该少而精,承认不断改进软件工程实践的必要性。 4:软件工程领域:软件需求,设计,构建(写代码),测试,维护,配置管理,工程管理,工程过程,工程工具,软件质量。

5:软件生命周期:软件定义(问题定义,可行性研究,需求分析),软件开发(概要设计,详细设计,编码和单元测试,综合测试),运行维护(改正性维护,适应性维护,完善性维护,预防性维护)。、 生命周期模型 6:瀑布模型:就是把一个开发过程分成收集需求,分析,设计,编码,测试,维护六部分,只有完成前面一步才能开始后面一步,上一步的输出的文档就是这一步的输入文档,每一步完成都要交出合格的文档,每一步都会有反馈,如果反馈有错误就退回前一步解决问题。瀑布模型的缺点:实际的项目开发很难严格按该模型进行;由于用户只能通过文档来了解产品,客户往往很难清楚地给出所有的需求,而瀑布模型不适应用户需求的变化;软件的实际情况必须到项目开发的后期客户才能看到。 7:快速原型模型:就是根据用户的需求迅速设计出一个原型系统,原型系统具有基本的功能,然后用户使用原型并对原型提出需求和改变,开发人员再对原型进行修改和完善知道用户满意。优点:容易适应需求的变化;有利于开发与培训的同步;开发费用低、开发周期短且对用户更友好。缺点:快速建立起来的系统结构加上连续的修改可能会导致产品质量低下;使用这个模型的前提是要有一个展示

流行的软件开发工具有哪些

不同的领域需要不同的图软件开发工具,这需要根据大家的需求不懂来决定。下面来跟大家介绍一些流行的软件开发工具。 1. 桌面程序:Java、C++、C#、VB、C均可。 2. 网站服务器端开发:JSP(Java语法)、PHP、ASP(C#语法)、Web App 框架等 3. 网站客户端:HTML、CSS、Javascript、Flash等等 4. 智能手机程序:安卓使用Java,iPhone使用Objective-C 5. 底层、工具开发:C、C++ 6. 多功能脚本程序:Python、Perl、Ruby等等 7. 人工智能:Prolog、PDDL 8. 工业控制:C、PLC、汇编 9. 通用应用层数据交换处理技术:标记语言XML/XPATH/XSLT、JSON、YAML等等

软件开发平台包括基础开发平台和快速开发平台,基础开发平台是从0开始写代码,而快速开发平台一般是做好了一些现成中间件,节省一定代码量。也有完全不用写代码的,直接通过配置开发软件的快速开发平台。 1、.NET底层的:天纵开发平台 2、JAVA底层的:普元开发平台、起步开发平台 3、EXCEL表格类:勤哲、云表 黑帽科技是一家集软件定制开发、软件外包、智慧信息化建设的软件开发服务商,黑帽科技拥有成熟的APP定制开发、小程序定制开发、软件项目外包开发平台。是专业的互联网产品解决方案提供商,可提供互联网产品咨询、网站设计、网站开发、手机应用开发、移动应用开发。黑帽科技为政府、企业以及团体提供行业解决方案和产品工程解决方案以及相关软件产品、平台及服务。我们通过规范的软件服务管理流程、精确的需求响应、迅捷的软件交付能力,全面构造公司的核心竞争力,并打造一支专业的技术服务团队,成功服务于数百家用户,赢得了广大客户的尊重和认可。 想要了解更多详情内容请拨打联系电话或登录浙江黑帽科技有限公司官网

相关文档
相关文档 最新文档