软件开发工具知识点(老版)_第1页
软件开发工具知识点(老版)_第2页
软件开发工具知识点(老版)_第3页
软件开发工具知识点(老版)_第4页
软件开发工具知识点(老版)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章1、什么是软件开发工具?在高级程序设计语言的(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。软件开发工具概念要点有三:(1)它是在高级程序设计语言(第三代语言)之后,软件技术进一步发展的产物;(2)它的目的是在人们开发软件过程中给予人们各种不同方面、不同程度的支持或帮助;(3)它支持软件开发的全过程,而不是仅限于某个特定的阶段。2、简述计算机软件发展的几个阶段。四个阶段:第一代计算机语言机器语言阶段。第二代计算机语言汇编语言阶段。第三代计算机语言高级程序设计语言,过程化语言第四代计算机语言

2、非过程化语言(4GL)3、简述软件工作的重要性和困难性。软件工作的重要性越来越为人们所认识,软件是计算机的灵魂,是广大使用者与计算机之间的桥梁,是人类在各个领域中积累的知识的结晶,是人类文明与知识得以延续的新的载体,是人类进一步成为一个整体、得以进一步相互联系的纽带。人们在认识到软件工作的重要性的同时也越来越认识到了它的困难性。这就是所谓的“软件危机”问题。人类社会和客观世界的复杂性,决定了软件本身的复杂性;人类知识的丰富多彩,决定了软件的多样性;客观世界的动态性,决定了软件对可维护、可重用性越来越高的要求。面对规模日益扩大的软件,如何保证它的正确性、可靠性,如何控制软件开发的进度与成本,成为

3、十分重要的课题。4、简述软件开发工具的演变过程。软件开发工具的演变是从无到有,从分散到集中的过程,是软件发展的必然趋势。主要分为三个阶段:第一阶段:利用通用软件作为辅助工具的阶段没有专用软件开发工具的阶段。第二阶段:专用的软件开发工具阶段。第三阶段:集成的软件开发工具阶段。5、试述用通用软件辅助软件开发的弱点。用通用软件来帮助开发人员编写文档或画图可以减少很多工作量,但是与软件开发工作相比,这种帮助实在太表面、太初级了。用通用软件帮助软件开发有三个主要弱点:(1)许多工作通用软件无法完成。(2)用通用软件完成某些工作,只能表现其表面的形式,不能反映其逻辑内涵(形似,神不似)。(3)常遇到难于保

4、持一致性的困难。6、集成化的软件开发工具是在什么背景下产生的?大批专用软件开发工具的出现并未解决一致性的问题。其根源在于对软件的开发缺乏全面的、统一的支撑环境。这些零散的、分散的支持软件开发各个阶段、各项具体工作的专用工具之间没有有机的联系起来,必然造成冲突与矛盾。这对用户造成了沉重的负担,以致抵消了使用工具带来的益处,从而导致集成软件开发工具的产生。7、试述软件开发工作的发展变化。软件开发工作的发展变化主要有四个阶段:(1)最初阶段把用户已经明确表述出来的算法,用机器语言写成一系列机器指令,供硬件运行使用。(2)第二阶段编程工作改为汇编语言进行,编好的指令由汇编程序转化为机器指令,再交硬件执

5、行。与用户的距离近了。(3)第三阶段汇编语言换成了高级程序设计语言(第三代语言),不再与机器指令一一对应,更加接近自然语言,离机器更远了,离用户更近了。(4)第四阶段以应用软件开发工具为标志,把需求分析纳入了软件开发工作中,进一步扩大了软件开发的范围。8、试述现阶段软件技术的特点(作为软件技术发展的一个新阶段,使用软件开发工具与以往的区别)(1)自动化程度的提高。由于代码生成等技术的应用,在一些特定条件下,可以较容易地自动生成第三代语言(或更低的语言)的代码,从而大大节省人力和时间。(2)明确地把需求分析纳入软件工作范围之内,从而使软件开发过程进一步向用户方面延伸,离用户更近了。这是软件技术向

6、前迈进的重要一步。(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩大到了作为一个不断发展的客体的生长完善的全过程。这也是软件研制从个体的、手工作坊的方式向科学的、有组织、有计划的方式转变的一个重要表现。(4)吸收了许多管理科学的内容与方法,如程序员的组织,质量的控制,使软件开发技术不再只是讨论单个程序员自己工作的技术与方法问题,而是把组织、管理等项目负责人的思想与方法放到了更重要的位置。总之,软件开发工具的提出与使用,是软件技术发展的一个新阶段。9、软件开发一般分为哪几个阶段?其主要任务和形成的文档是什么?开发阶段主 要 任 务文 档需求分析从用户提出的初始要求出发,经

7、过大量的调查研究,抽象出应用领域中实际的信息需求,设计出在计算机系统内外的、合理的信息流程,并规定软件的功能与性能要求,最后形成严格的、明确的、可供实际开发使用的“软件功能说明书”。软件功能说明书总体设计根据软件功能说明书的要求,完成软件的总体设计,包括整个软件的结构设计、公用数据库文件或数据库的设计、各部分的连接方式及信息交换的标准等。系统的总体设计文件(结构图、模块清单、公用数据结构)和各个模块的设计任务书实现阶段两个并行的工作:程序的编写与文档的编写程序代码、文档(使用说明、用户手册)测试阶段完成模块的调试与整个软件的联调测试报告10、什么是功能?软件开发工具应具有什么样的功能?功能是软

8、件能做什么事。软件开发工具的主要功能:(1)认识与描述客观系统(2)存储与管理开发过程中的信息(3)代码的编写与生成(4)文档的编制或生成(5)软件项目的管理11、什么是性能?软件开发工具重要的性能指标有哪些?性能是软件能把事情能做到什么程度。性能指标主要有:(1)表达能力或描述能力(2)保持信息一致性的能力(3)使用的方便程度(4)工具的可靠程度(5)对软、硬件环境的要求12、试述软件开发工具的类别。1)按支持的工作阶段把软件开发工具划分成三类:(1)设计工具:在实现阶段对人们提供帮助,是最直接帮助人们编程、调试软件与编写文档的工具。如各种代码生成器,第四代语言和测试的工具等。(2)分析工具

9、:主要用于需求分析的工具,帮助人们认识与表述信息需求和信息流程,从逻辑上明确软件功能与要求。如数据字典管理系统,绘制数据流图、系统结构图或ER图的专用工具。(3)计划工具:从宏观角度看待软件开发,保存与管理的信息都是与整个项目相关的宏观信息,完全是为项目主管人员服务的。2)按集成程度划分成两类:(1)专用的工具:面对某一工作阶段或某一工作任务的软件开发工具。(2)集成化的工具:是集成化的、面对软件开发全过程的软件开发工具。3)按与硬件、软件的关系划分成两类:(1)依赖于特定机器或软件的工具,如多数设计工具和集成化的工具。(2)独立于硬件与软件的工具,如分析工具和计划工具。13、对软件开发工具的

10、研究来源于哪些方面? 对软件开发工具的研究主要来源于三方面:(1)软件开发工具的使用者。他们是软件开发工具得以发展的基础。这些人员大致有两种:一种是计算机专业出身的技术人员;一种是应用领域的人员,如会计、金融、企业管理等。(2)一些厂家和研究单位。既包括一些计算机硬件的制造商,也包括一些软件公司,如DEC、HP、ORACLE等,由此形成了软件开发工具的研制队伍。(3)软件技术专家(如ACM、IEEE)和系统工程专家。14、学习软件开发工具的目的是什么?作为一般的使用者,学习软件开发工具的目的在于了解软件开发工具的概念、理论基础、基本功能、发展现状与前景,以便在实际工作中正确地选择与使用软件开发

11、工具,在必要时能参加或组织软件开发工具的自行研制,从而达到提高软件工作水平与效率的目标。软件开发工具总结:软件开发工具非软件开发工具专用的软件开发工具设计工具各种代码生成程序(代码生成器);综合性的第四代语言;专用于某种文档的编写工具;测试工具通用软件字处理软件(wordstar)分析工具数据字典管理系统(CDD、Dictionary/3000);专用于画数据流程图(FLOW)、ER图或程序框图的绘图软件计算机硬件;操作系统、汇编程序、编译系统;磁盘处理程序、病毒防治程序、系统备份;pctools;第三代高级程序设计语(C,COBOL,FORTRAN)集成的软件开发工具IBM的AD/Cycle

12、理论框架;Rational公司的Objectory、Rose;北大青鸟系列第二章1、软件开发中的基本问题及解决办法是什么?(单个程序员做好软件工作的关键是什么?)对单个程序员来说,做好软件的关键是做好两个转换:第一个转换:从用户对软件功能的理解到程序员对软件功能的理解之间的转换。第二个转换:从程序员的理解到程序的实现。保证第一个转换顺利完成的手段:利用尽可能标准化的方法编写程序设计任务书,用明确的语言或图形、表格,把程序要处理的信息的内容、格式、来源、去向、存储、处理清楚地表达出来,作为双方共同理解。保证第二个转换顺利完成的手段:提高程序员的知识水平和实际经验。2、大型软件开发中的困难体现在哪

13、些方面?困难产生的原因是什么?大型软件开发中的困难主要有:(1)一致性的保持成为十分困难的问题(2)测试的困难大大增加(3)工作进度难以控制(4)文档与代码的协调十分困难(5)版本更新带来的困难困难产生的原因:(1)大系统的复杂性;(2)个人之间的组织与协调;(3)各应用领域间的差别; (4)时间、变化的因素。3、几十年来,为了提高软件开发的水平和效率人们提出了哪些软件开发方法?面对软件开发中的种种困难和问题,软件工作者千方百计从各种不同角度,用各种不同方法试图使软件开发工作的水平和效率有大幅提高。仅从软件开发方法而言,先后提出了:结构化程序设计方法软件工程方法面向对象的程序设计方法即插即用的

14、程序设计方法可视化程序设计方法4、大型软件开发过程中涉及几种角色,他们承担的工作有哪些?大型软件开发过程中涉及几种角色,他们承担的工作有:(1)用户:提出需求、验收软件、使用软件、提出修改要求(2)程序员:编程、写文档、调试自己的程序、向项目负责人提交工作成果(3)项目负责人:分析用户需求形成设计方案、向程序员分配任务、验收程序员的工作成果、对整个软件联调、向用户交付使用、接收与分析用户的修改要求、向程序员分配修改任务、验收修改成果、向用户提交新的版本或修改的结果(4)计算机硬件:运行、试运行5、试述结构化程序设计的基本思想与方法(论述)。结构化程序设计的基本思想是把程序的结构分解成三种基本模

15、块:处理单元、循环机制、二分决策机制,并保证模块的划分符合“结构良好”的要求:(1)模块的功能在逻辑上尽可能的单一化、明确(2)模块间的联系及相互影响尽可能的少(3)模块的规模应当足够小,以便其易于调试划分模块时采用“自顶向下”的方法,即不管软件多大,都采取自上而下、逐步分解的办法,分成若干部分,并把他们之间的关系明确地表达出来,画出系统结构图,直到最底层的模块达到所要求的规模为止。实施结构化程序设计的思想时,要遵守以下原则:(1)限制甚至不用GOTO语句,绝对禁止超越模块边界的GOTO语句。(2)子程序尽可能做到只有一个入口、一个出口;(3)程序风格应尽量明确、清晰,包括适当增加注释,书写格

16、式体现层次结构,变量名称的选用尽量具有逻辑意义等;(4)在程序编写的同时完成有关的文档编撰,不要拖延时间。结构化程序设计的方法主要是为程序员服务的。它的缺点是增大了程序的工作量,增加了编程中的麻烦与琐碎的工作,降低了程序的运行效率。但它保证了软件的可靠、准确与易于修改。6、试述软件工程的基本思想和方法(论述)。软件工程的基本思想来源于传统工程,要想大幅度地从根本上提高软件开发的质量和效率,就应当吸取各种传统产业的成功经验,从组织和管理的角度加强力量,使软件生产从程序员的个人劳动提高成为有组织、可控制的工程。软件工程借鉴传统工程的思想,从软件开发的经验中归纳出相应的工作步骤和交流标准,大家都来遵

17、守和执行,从而保证软件开发的进度与质量。软件工程的实施方法:首先,对软件开发的工作过程进行规范。如IBM的AD/Cycle,对应用软件的开发过程做了如下划分和规定:第一阶段,需求分析。了解企业的结构与功能,掌握组织及管理者的信息需求,弄清信息流通的实际情况。第二阶段,分析与设计。进行功能分解及数据分析,完成处理过程及数据库的逻辑设计。第三阶段,编程阶段。完成具体的程序编写工作。第四阶段,测试阶段。对已有代码进行认真检测与试用。第五阶段,使用及维护。组织使用者有效的使用,并及时检查与修正发现的错误。在标准化方面主要从两个方面探索。(1)表达方式的标准化,如统一规格的数据流程图、数据字典、模块结构

18、图等。(2)对工作的质量及检查制定标准,在一定的时候作一定的检查。如著名的ISO9001标准。软件工程的思想主要集中于加强项目管理者的工作上,对程序员关系不大,与结构化程序设计方法刚好互补。目前软件开发还主要依赖程序员的个体工作,完全做到工程还是相当困难的。7、面向对象程序设计的基本思想(论述)。面向对象的程序设计是人们试图解决软件危机的又一种尝试,近年来,随着面向对象语言的普及,这种思想得到了广泛的传播。面向对象程序设计的基本思想可以归纳为四点:(1)客观世界的任何事物都是对象,它们都有一些静态属性(相应于数据结构)和相关的操作(相应于程序模块)。作为一个整体,这些对象不必对外公开这些属性与

19、操作。这就是“封装性”。(2)对象之间有抽象与具体、群体与个体、整体与部分等几种关系。这些关系构成对象概念之间的网络结构。(3)抽象的、较大的对象所具有的性质,包括静态属性和动态操作,自然地成为它的子类的性质,不必加以重复说明或规定。这就是“遗传性”。(4)对象之间可以互送消息,这一消息可以是传送一个参数,也可以是使这个对象开始某个操作。面向对象程序设计语言反映了程序设计的思想方法越来越接近人们思维的方式,它摒弃了持续许久的“自顶向下”和“自底向上”的争论,把对于复杂系统的认识归结为对一批对象及其关系的认识,通过合理地选择认识的层次,使系统的复杂性保持在可控制的范围内。8、即插即用程序设计的基

20、本思想?即插即用程序设计是在面向对象程序设计方法的基础上提出来的。它的基本思想是用制造硬件的思路来生产软件。在硬件的制造中,芯片的制造与整机是分开进行的。制造芯片的厂家只管制造芯片,而制造整机的厂家则利用这些芯片组成完整的计算机。人们想用同样的思路来处理大型软件的开发,一部分人专门生产软件组件,一部分人设计整个软件结构,并且把软件组件插入这个结构,以便迅速完成大型软件的研制工作。然而这种思想的真正实现并不那么简单。首先,标准化的问题十分困难。其次,软件部件的提供方式也是问题。依照这种思路,一些软件公司或机构已经在标准化方面提出了方案,如著名的CORBA和COM101。9、什么样的软件才是好的软

21、件?(1)正确地实现所要求的功能,准确地给出预定的输出结果;(2)用户界面友好,符合实际用户的使用习惯和知识水平;(3)具有足够的速度(不是越快越好),能在符合用户要求的时间限度内,给出所要求的结果;(4)具有足够的可靠性,能够在各种干扰下保持正常工作;(5)程序易读,结构良好,文档齐全,从而保证系统易于修改。10、评价单个程序员的主要性能指标是什么?就单个程序员来说,主要的指标有: (1)具有程序设计所需要的基本知识与技能,如关于数理逻辑的知识与训练,关于各类数据结构的概念及处理方法等;(2)对本项目所在的那个领域有较深入的了解,从而能够准确的理解用户的信息需求,正确地把握有关的信息流程与信

22、息处理原则;(3)对于软件开发的技术环境比较熟悉,包括硬件设备、软件环境和网络环境,特别是对于所用的语言,应当有足够的、实际运用的经验。11、作为项目组的一员,要遵守哪些要求?作为项目组的一员,除了完成自己承担的任务之外,重要的是使自己的工作融入整个系统,与其他部分协调一致的工作,以下几点必须严格遵守:(1)保证严格在本模块内操作,绝不要使用可能干扰其它模块的命令或函数。 (2)严格按总体设计的要求和理解去传递参数值,绝不要随意修改其内容或含义。(3)在对公用的文件或数据库进行存取时,必须完全地、准确地按统一规定的格式去操作, 绝不能擅自改变。(4)在使用标识符时,应按照统一的原则尽量使用易于

23、看出逻辑含义的名称。特别是涉及公用数据及参数的时候。(5)严格按照统一的要求编写文档,在内容、格式、表达方式、符号使用上遵循项目组的统一规定。(6)尽量保持程序风格的一致。如注释行的安排,行首空格的使用等。12、一个好的项目组应具备哪些条件?好的项目组是在长期工作中逐渐形成的,根据衡量项目组的CMM模型,一个好的项目组至少应当具备以下几个条件:(1)有严格的、成文的工作规范和文档标准,而且应当为全体成员所熟知,并切实得到遵守。 (2)人员之间有严格的分工,除了程序员之外,必须有专门的秘书(负责文档的收集、审核及保管),必须有专门的测试人员(负责测试和验收有关的部分),特别是要有专职的、不陷入具

24、体编程的项目负责人。(3)每个项目都要事先制定详细的时间表,并且得到严格执行每一项目完成之后都有完整的资料,并得到妥善保存,一但需要修改或更新版本时可以立即使用。第三章1、简述在软件开发过程中,信息流通的主要内容。软件开发过程的信息流通状况图描述了各种信息在各种人员与计算机之间的流通状况。其中涉及到四类人:用户、分析人员、程序员和维护人员。涉及四类信息:第一类,有关环境、现状及需求的信息。第二类,有关软件的功能设计与物理设计的各种信息。第三类,软件成果本身,包括程序和文档。第四类,用户对系统的各种变更要求,以及系统的各种变更记录。是跨越开发周期的。2、软件开发过程中涉及的信息管理工作有哪些?软

25、件开发过程中涉及的信息管理工作包括:(1)信息的存储(2)数据的转换与加工: 手工形式和计算机形式之间的相互转换; 计算机内部不同形式数据的转换。 (3)人与人之间的信息交流:分析人员、程序员、用户和维护人员软件开发工具正是为软件开发过程中涉及的四类信息的合理存储、正确转化和顺畅流通提供帮助的。3、软件开发工具涉及到的理论和方法主要有哪些?第一,认知科学中关于概念模式的概念与方法。第二,数据库技术的理论与方法。第三,编译技术的有关方法。第四,关于人机界面的理论与方法。第五,管理科学中关于项目管理与版本管理的理论与方法。第六,系统科学与系统工程中的有关理论与方法。4、概念模式的作用和意义。概念模

26、式是指人们在认识事物过程中,对某一事物或某一系统形成的抽象的、一般化的概念框架。概念模式具有二重性意义,它既反映了客观现实,同时又具有主观性。概念模式是在客观事物或系统的基础上形成的,在某种程度上反映了客观现实。但它又不等同于客观事物本身,因为它常常是抽象出的某一事物的部分属性,所以往往只反映事物的某一方面。至于选取那些属性或哪些方面,还决定于观察者本身的目的与状态。概念模式的作用:(1)概念模式是人们认识客观世界的一种方法和工具。(2)概念模式是人们进行交流与表达的重要工具。5、举出三种常用的概念模式,说明他们的作用与使用方法。(参考名词解释)6、什么是信息库?它与数据库、数据仓库有什么区别

27、?信息库是针对软件开发或信息系统开发中的大量信息管理工作提出来的,它存放软件开发全过程中所有有用信息。数据库是指在文件系统基础上发展起来的一种数据管理技术,它的重点在于合理地组织数据,体现出数据之间的逻辑关系,并尽可能地帮助用户检索,减少冗余。数据仓库是针对大批数据的分析利用而提出的概念。基本思想是对现实中的大量原始数据进行多次加工与提炼,得出许多派生的或综合的数据,保证原始数据和派生数据的一致性,就是数据仓库的任务。信息库是一个包罗万象的,随着项目进展而不断修改与补充的数据集合。它在规模上不一定像数据仓库那么大,分析提炼的要求也与数据仓库不同,然而作为软件开发全过程的信息管理总枢纽,它的特点

28、是数据结构相当复杂,而且会不断变化,保持一致性的任务十分艰巨。7、信息库中应该包括哪些内容?(1)软件的工作环境、功能需求、性能要求,有关的各种信息来源的状况、用户状况、硬件环境以及在该领域中的作用等外部信息。(2)需求分析阶段中收集的有关用户的各种信息。 (3)逻辑设计阶段的各种调查材料和由此生成的各种文档调查记录、原始数据、报表及单证的样本、绘制的各种图、系统说明书。(4)设计阶段的各种资料数据库与数据文件格式、数据字典、程序模块的要求、总体结构、各种接口及参数的传递方式、设计方案。(5)编程阶段的所有成果程序代码、框图、变量说明、测试情况、验收报告、使用说明。(6)运行及使用情况的详细记

29、录。(7)维护及修改的情况。(8)项目管理的有关信息,版本信息。8、信息库应具备哪些管理功能?1)一般数据库的基本功能:增、删、改操作2)特殊功能:(1)把计算机内外的信息存储统一起来管理规定复杂的内部结构以存放信息。(2)面对分析人员、程序员和维护人员等不同的对象,他们有各自的权限和使用目标需要认真设计有关的界面以便使用。9、信息库应该如何保持一致性?(1)信息库中的内容一般不删除,老信息加上时间标志移入历史信息中,并与新信息保持着历史的、逻辑的联系,在需要时可以随时调出来。 (2)由多个程序模块组成的大型软件系统中,如何保证某个模块更新后与其它模块一起构成一个新的版本。(3)保证程序和使用

30、手册之间的一致性。(4)对国际性的大软件公司来说,各种语言的资料之间的一致性同样需要认真地、细致的组织与安排。10、用户界面设计的基本原则是什么?(1)用户界面的主要功能是通信。 (2)界面必须始终一致。 (3)界面必须使用户随时掌握任务的进展情况。(4)界面必须能提供帮助。 (5)宁可让程序多干,不可让用户多干。11、IBM的AD/Cycle框架中,应用系统框架SAA(系统应用体系结构)由哪几部分构成?具体内容是什么?构成硬件平台用户接口CUA程序员接口CPI通信接口CCS内容键盘操作、屏幕滚动、菜单选择、帮助系统、鼠标操作、色彩应用、数据录入、信息显示语言:过程化语言、非过程化语言、生成器

31、服务:数据库查询、对话显示、通信服务面向对象的结构、数据流、应用服务、作业管理、网络管理、数据安全控制12、人机界面的技术手段有哪些?(包含在11题中)13、与一般日常生产管理相比,项目管理的突出特点是什么?(1)子任务多,关系复杂。(2)任务不可重复,形势不断变更。(3)组织协调的任务十分突出,资源浪费闲置的风险与合理地优化组合、提高效益的机会并存。 (4)信息处理工作的作用与意义更为突出。14、项目管理的基本目标是什么?(1)使产品(或工程)的质量得到有效的控制。 (2)保证整个系统按预定的进度完成。(3)有效的利用各种资源,尽可能使资源的闲置与浪费减少。(4)控制与降低成本。15、版本管

32、理的核心是什么?具体方法有哪些?版本管理的核心是保持两个一致性:从时间上说,要保证系统的逐步完善,以前达到的结果不丢失,需要时可以回溯,必要时可以重用;每一步新的进步都要切实与以前的工作一致,是改进而不是破坏或者降低系统的已有功能。从系统各部分之间的关系上说,要求局部与整体保持一致,合理地判断每一次修改的必要性及影响范围,合理地组成每一个新版本,并通过命名、编号等方法,使新的版本成为系统进步的漫长过程中的一个台阶,一个有目的、有方向的稳定的进步。版本管理的具体方法:规定长远的版本更新计划;制定版本有关的信息范围及收集、管理方法;在项目组内明确分工;在编程、测试、文档编写等工作中贯穿项目管理的思

33、想及要求。第四章1、完整的、一体化的软件开发工具应具备哪些基本功能?(1)提供描述软件状况及其开发过程的概念模式,协助软件开发人员认识软件工作的环境与要求、合理地组织与管理软件开发的过程。(2)提供存储和管理有关信息的机制与手段。(3)帮助使用者编制、生成及修改各种文档。(4)帮助使用者编写程序代码,即代码生成。(5)对于历史信息进行跨生命周期的管理,把项目运行与版本更新的有关信息科学地管理起来。2、一体化的软件开发工具包括那几个主要部分?(1)总控和人机界面中心位置,使用者和工具间的桥梁,工具实用性和灵活性的保证。(2)信息库和信息库管理模块工具功能与作用的最基本依据。(3)文档生成和代码生

34、成两个重要输出(4)项目管理和版本管理跨周期信息共享、知识重用、软件重用的关键问题。3、为什么说总控和人机界面是系统开放性和灵活性的关键?总控和人机界面是使用者和软件开发工具之间交流信息、实现所有的支持功能的桥梁。这一部分的有效实现对于软件开发工具来说,是实用性和灵活性的主要保证。一方面,人机界面面对不同类型的用户,这些用户既有区别,又有共性,人机界面既要保持统一和一致,又要能够在正确区分和识别用户的基础上,针对不同用户的要求与习惯提供有效的帮助。另一方面,总控部分面对系统内部的各种功能与各种信息,它要保证各部分之间相互的协调一致,保证各部分之间信息有效地、准确地流通。4、为什么说总控和人机界

35、面处于软件开发工具的中心位置?(1)作为一个完整的、一体化的软件开发工具,总控和人机界面提供了各个工作环节之间的协调与配合,并在用户面前保持统一的形象。(2)实际工作中,常采用来自不同厂家的单项工具,由使用者自己承担集成的任务。这种情况下,最关键的问题是把前半段工作的输出准确无误地转化为后半段工作要求的输入。解决这个问题的实质就是设立一个有效的总控部分,能够在各个具体工具之上实现信息的正确传递与转换,从而形成一个统一的、完整的支撑环境,并通过一个统一的、友好的人机界面与用户对话。因此无论是建立一体化的软件开发工具,还是把单项功能的工具集成起来,总控部分和人机界面都处于中心位置。5、总控和人机界

36、面设计的原则是什么?(1)面向使用者(用户)的原则(2)保证各部分之间信息的准确传递(3)保证系统的开放性或灵活性理想的系统结构应当是模块式的,易于剪裁的。6、IBM的AD/Cycle将软件开发过程分为几个阶段?每个阶段的任务是什么?IBM的AD/Cycle将软件开发过程的每个周期分为五个阶段: 需求分析,建立逻辑模型(企业模型,数据模型,信息流通模型)。 分析设计,完成系统的总体设计。 编码,具体编写软件的阶段。 测试,对已经完成的各个模块或子系统进行试算、调整,以最终形成完整的软件。 运行维护,组织和管理软件的日常运行,收集运行中的状态信息及出现的问题并及时进行局部修改与完善。7、信息库技

37、术主要涉及哪些问题?信息库的技术主要涉及四个问题:信息库的内容、信息库的组织方式、信息库的管理功能、历史信息的处理方法。8、信息库中应包含哪些内容?(1)关于软件应用的领域与环境的状况。(2)设计成果,包括逻辑设计与物理设计的成果。(3)运行状况的记录。(4)有关项目管理与版本管理的信息。9、信息库的组织方式有几种?各自的优缺点是什么?组 织 方 式特 点集中存储优点:充分利用已有的数据库技术,较容易保持一致性。缺点:与模块化的要求相冲突。 分散存储优点:易于变更和剪裁,一旦某一部分发生变更,不致影响整个系统。缺点:每个模块都要自己进行一整套删改操作,各部分间的一致性无从保证。 逻辑上统一、物

38、理上分散(信息库管理模块)通过信息库管理模块对分散的各数据库进行存取,并进行一致性检查与维护,使数据库与模块都实现了模块化,保持了一致性和灵活性。 10、信息库管理模块的作用是什么?它应该具备哪些功能?1)与一般数据库管理系统相同的功能:录入更新、使用查询、一致性维护。2)与一般数据库不同的管理功能: (1)信息之间逻辑联系的识别与记录。(2)如何实现定量信息与文字信息的协调一致。11、信息库中对历史信息的处理有哪些困难?解决办法是什么?信息库管理中历史信息的处理是一个重点和难点,主要存在两个困难:(1)历史信息的数据太大,占用存储设备过多;(2)历史信息格式不一致,难以有效利用。第一个问题的

39、解决一般采用脱机备份的方法。第二个问题至今尚无令人满意的解决办法,加强标准化,稳定数据结构不能完全解决这个问题。需要用一些智能化方法,使得跨生命周期的信息得以相互转化、实现共享与重用。12、代码生成的输出形式有几种?各有什么特点?代码生成的输出主要有两种形式:(1)某种高级程序设计语言的代码优点:使用者可以利用自动生成的模块为原型,在此基础上修改加工,形成自己所要求的系统或系统的某一部分。缺点:功能较死,效率不高,需要修改(2)某种机器环境下可运行的机器指令优点:可以直接运行,如果不合要求可以立即调整命令或参数重新生成一遍。缺点:这种代码一般无法直接修改,对硬件环境的依赖性大,用的不多。13、

40、代码生成器依据哪些资料工作?代码生成器依据三方面的资料:(1)信息库里已有的有关资料(2)各种标准模块的框架和构件(3)使用者通过屏幕临时送入的信息14、简述项目管理中应考虑的问题(项目管理的任务包括哪些方面?)(1)研究与确定开发工作的方针与方法。如采用什么样的阶段划分方法,什么样的系统描述方法等。(2)开发任务的划分与分工。整个开发任务如何逐层分解为具体任务,任务之间的相互关系(顺序、制约等),委托给什么人来做。(3)资源情况。有多少人力、物力、设备、软件、资金,是否得到充分利用,是否需要增加投入。 (4)人员情况。个人进度、技术水平如何,是否需要重新培训,是否需要调动工作。(5)变更情况

41、。需求、环境、人员、设备、技术的变更。(6)质量情况。检验得标准是什么,如何检验,由谁来检验,用什么数据检验。15、版本管理的主要内容?版本管理的主要内容包括:各版本的编号,功能改变,模块组成,文档情况,推出时间,用户数量,用户反映,封存情况等。第五章1、怎样权衡购置还是自行开发软件开发工具?必须考虑的因素有哪些?购买市场上已有的软件开发工具的优势是能够帮助人们在某些环节上完成简单的、重复性的工作;在项目规模比较大的时,可以使工作的组织管理比较规范、信息的管理与检索比较方便,部分做到信息与知识的重用和共享。劣势是价格比较昂贵;真正经过考验的、一体化的工具不多,其作用与可靠程度不尽如人意。自己开

42、发软件工具的优势是目标明确,符合需要,便于进一步扩充和升级,不存在引进外面产品时的冲突与不一致。如果做的顺利还可以做成软件产品出售。劣势是单项的、专用的工具比较好开发;商品化、集成化的工具开发困难,需要大量人力物力,非一般单位所能承受。购置与开发的权衡,必须考虑以下四个因素:(1)准备开发的软件的性质与要求-权衡购置还是自行开发的最基本因素(2)开发人员对支持工作与支持程度的实际需要(3)工作环境(硬件配置、操作系统、数据库管理系统、网络通信等)(4)人员的因素2、在选择软件开发工具之前要明确哪些问题?在选择软件开发工具之前,首先要清楚此次引入工具要达到怎样的目标,下面几点必须明确:(1)为哪

43、个软件开发项目而使用工具,为了一个项目还是为了一批项目而购置软件开发工具,为哪一种类型的项目而购置这些工具?(2)在哪个工作阶段使用工具,是单在代码生成或文档生成中使用工具,还是准备长期开发、不断更新版本?(3)工具将供哪些人使用,这些人以前用过工具没有,他们熟悉的语言、开发环境、表达图示、交流方式是什么?这些人对于使用工具的态度、期望、可塑性如何?(4)工具将在怎样的软件、硬件环境下运行,机器的速度、内存、外围设备、通信条件如何?3、对软件开发工具的市场调查应包括哪些内容?(1)工具的功能。 (2)工具的性能。 (3)工具所使用或依据的开发方法或开发理论与自己的方法、理论是否一致。(4)工具

44、的运行环境。(5)这些工具的文档资料是否齐全?使用时的学习、掌握是否简单易行?(6)这些工具的服务、培训条件如何? (7)价格。4、购置软件开发工具的步骤应当如何安排?(1)明确购买工具的目的与要求-正确使用工具的基础工作。(2)明确购买工具的环境条件与制约条件。(3)市场调查。 (4)对可供选择的各种工具进行综合比较。 (5)进行测试和检验。 (6)正式签约购置。包含了技术洽谈和各种服务条件的确认。(7)安装与试用。5、引入软件开发工具后的组织管理工作包括哪些?购置工具后,使用者必须对它的使用过程进行认真地组织与管理,主要包括四个方面:(1)制定严格的使用制度。(2)记录使用的详细过程。(3

45、)培训使用人员。(4)经常进行审计与评价工作。6、对软件开发工具进行审计的范围是什么?包括哪些问题?审计的范围包括:工具的使用环境、人员、工作负担、效果、存在的问题、改进的方向等。审计的问题:参加教材P86。7、研制为自己所用软件开发工具要注意哪些问题?研制商品化的软件开发工具应注意哪些问题?二者有什么区别?1)为自己使用而开发软件工具时应注意的问题: (1)需要从实际出发,设定现实的、有限的目标。 (2)自行开发工具一定要坚持短小实用、逐步积累,避免期望过高、贪大求全。(3)要注意文档的齐全与资料的积累。2)开发商品化的软件工具时应注意的问题:(1)必须十分谨慎地设定目标和要求,使之符合实际

46、。(2)在前人工作的基础上,把精力集中于进一步的开拓方面,而不是低水平的重复别人已经做过的工作。(3)明确工具的适用范围与使用条件。工具的目标越具体、越明确越能发挥作用。(4)注重服务与文档决定其成败的首要因素。开发面向实际应用领域的、商品化的软件工具,其难度要比为自己开发工具的难度大得多。第六章1、使用配置管理软件的好处是什么?对软件开发商来说,一方面,可以在软件开发过程中建立起一套完整规范的开发管理环境,使软件的开发有条不紊,进入良性循环,软件开发的质量和效率稳步上升;另一方面,若软件产品中集成了配置管理软件或提供了与配置管理软件连接的界面,他的产品即与通用的标准靠拢,从而将面向更关阔的用

47、户群,拥有长远的发展前景。对最终用户来说,在软件项目中使用配置管理软件,可以提高软件产品的质量、缩短工程周期、降低项目风险、从而使得开发者的投资利益得到保证,而且规范化的文档真正确保了日后维护和升级且便于用户监督开发过程。2、软件配置管理的版本控制主要解决哪些问题?(1)根据不同用户的需要配置不同的系统(2)保存系统老版本(3)建立一个系统新版本,使它包含某些决策而抛弃另一些决策(4)支持两位以上的程序员同时在一个项目中工作(5)高效存储项目的多个版本3、版本控制软件PVCS Version Manager的主要功能是什么?(1)管理和保护软件资源,强化团队开发,避免开发过程中产生的各种变化对

48、软件开发造成的风险。(2)进行审计追踪,监督开发人员对软件所作的任何修改,记录是谁做的修改,修改了什么,何时进行的修改以及为什么修改,确保过程的一致性和可重复性,减少未经授权或重复的软件变更。 (3)管理开发对象的多重修定版本和软件系统的多重版本,防止由于相互覆盖造成的工作丢失,便于开发人员和用户对软件系统的多重版本进行维护和管理。(4)积累软件资源,加强软件重用,健全开发文档,减少人员流动导致的软件维护困难,减少项目风险,缩短生产周期,提高产品可靠性,有效控制产品成本。(5)支持多平台开发,版本管理还可以支持在多个平台上对同一个项目文件的修改。4、Version Manager的技术特点体现

49、在哪些方面?(1)灵活的文件夹机制。 (2)支持多开发平台间的操作,极大的方便了分布式以及大型团队开发。 (3)支持长文件名。(4)开发时间较早,技术成熟,市场占有率最大,既可以单独工作,也可同PVCS的其他七个支持软件开发的产品协同工作,相得益彰。(5)最为重要的是,它拥有全面的、多方位的功能,无论是对小型软件的编制还是大型软件的开发,都可以提供有力的支持,用途很广。5、Version Manager中采用了哪些机制?(1)使用文件夹组织相关文件,便于管理、使用项目文件;(2)使用历史文档,存储一个文件的多个版本;(3)将文件加锁,防止并发访问对数据的破坏;(4)使用标签及升级功能标志项目开

50、发的各个阶段;(5)使用分支/合并机制支持并行开发。6、PowerModel的体系结构是怎样的?包含哪些内容?有什么优势?Power Model的体系结构是模块式的、分层的。(1)基层是核心层,包括一套核心功能程序,如对象管理程序、对象查询语言等,连同一全套的C语言API;(2)基层上面是研制层,其中有GUI构造程序,对象浏览程序、交互的C环境;(3)最顶层是应用层,其中有研制者编制的类和方法,以及各种类库,包括专门窗户系统用的一套GUI组件。这样分层、分模块的好处是:应用时,只取用在执行时需要从系统中取用的部分,就能得到小而有效的程序。而且便于扩充和修改。7、LiveModel提供了哪些面向

51、对象工具,各自有什么作用?(1)对象绘图者(Object Diagrammer)用以图像地建立对象,并规定它们之间的关系。(2)事件绘图者(Event Diagrammer )用以表示业务过程流,即业务过程、操作、规则之间的连接。(3)业务规则(Business Rules)及规则编辑程序(Rule Editor)业务规则记载有用的业务政策和决定;规则编辑程序对业务规则进行编写和成档。(4)测试(Testing)及文档建立(Documentation )8、什么是XML?其本质是什么?一个XML文件必须满足哪些原则?XML是可扩展的标记语言,是SGML(标准通用标记)的一个子集,目标是面向We

52、b。其本质是使标记对人和机器都可读。XML文档必须组织良好,应满足三项基本原则:(1)文档以XML定义?<? xml version=”1.0”?>开始(2)有一个包含所有其他内容的根元素,如<list>和</list>标记符。(3)所有元素必须合理地嵌套,不允许交叉嵌套。9、XML与HTML的区别?HTML超文本标记语言;XML可扩展的标记语言。(1)HTML 描述如何显示Web页中的数据;XML描述的是数据本身。(2)HTML 中的数据是有限的、规定好的;XML的标记是无限的,是可以自己创建的。它允许我们将数据组织成数据结构,甚至是复杂的数据结构。(3)

53、HTML 允许我们将字体设置为粗体或斜体;XML则说明标记中的文本数据表示的是什么含义,适合对象Web存储。10、试比较国内、外软件开发工具的发展状况从软件开发工具的研究水平上看,国内并不比国外低,主要的差别在于没有广泛地使用这些工具。总的来说,我国的软件产业还没有形成一批稳定的、高度有组织的软件开发群体,因而能够真正发挥软件开发工具作用的环境与社会需求还不具备。我国软件产业当务之急是大力普及软件工程及方法学的知识,提高软件开发工作的水平,这才能使软件开发工具的应用具有实践的基础。11、软件开发工具发展的趋势是什么?(结合名词解释)软件开发工具的发展方向(1)智能化。如:Knowledge W

54、are公司开发的以知识处理为基础的工具(2)网络化。如:专门用于网络环境的HTML、Java(3)一体化。信息库的内容和处理功能的讨论,从理论上为实现一体化提供了基础(4)标准化。围绕这一思想提出的一些标准如:CORBA、COM101附录1 1、PB的功能有哪些?PB为应用程序开发提供了全面综合性的支持,其功能可以概括为:支持面向对象的程序设计采用可视化的开发环境事件驱动的应用程序实现和多种数据库的连接支持跨平台开发提供Power Script语言和函数支持Internet开发支持分布式应用程序2、PB访问数据库的接口软件有哪些?各有什么特点?PB通过各种不同的数据库接口软件与不同的数据库进行

55、连接。 PB访问数据库的接口软件有两类:通用的ODBC接口软件和专用的数据库接口软件。通过ODBC连接到数据库的方式运行速度较慢,通过专用的数据库接口软件会提高访问数据库的速度。3、试述ODBC的含义和作用。ODBC开放数据库连接,是微软公司提出的允许应用程序使SQL查询数据的标准。该接口可使单一的应用程序访问不同的数据库管理系统。开发人员不必针对特定的DBMS开发、编译和发布应用程序,而是通过对应用程序加载不同数据库驱动程序来建立与相应数据库系统的连接。4、试述在PowerBuilder中程序访问多个数据库的方法。PB利用内部的一个全局事物对象SQLCA与数据库管理系统进行通信。SQLCA一

56、次只能和一个数据库建立连接,若想访问多个数据库,有两个办法:(1)顺序将SQLCA与每个数据库建立连接。即将SQLCA与一个数据库连接,对数据库操纵完成后,断开与该数据库的连接,再与下一个数据库进行连接。(2)在程序中创建多个事物对象,然后将每个事物对象与一个数据库建立连接,通过不同的事务对象操纵不同的数据库。5、简述在Internet&Intranet领域分布式应用程序的优点。分布式应用程序是一种三级系统结构,就是在C/S(客户机/服务器)两极结构中再增加一个中间级应用服务器,用以执行复杂的商业逻辑计算。在Internet&Intranet领域,使用分布式应用程序的主要优点为:(1)将商业逻辑集中于服务器端(2)在客户机和服务器之间划分应用程序功能,可以减少客户端的负担(3)建立分级的应用程序 ,易于维护6、PB应用程序中有哪些对象类型?PB应用程序中是一个相互关联的对象集合

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论