新版(2011)软件开发工具复习资料
2011版_软件开发工具_3173_自考过关宝典
软件开发工具单项选择集锦一、单项选择题1、最早出现的软件开发工具是()p35A.计划工具B.分析工具C.设计工具D.通用工具1.1. 出现最早、数量最大的软件开发工具是()A.设计工具B.分析工具C.计划工具D.集成化工具2.下面哪项不属于面向对象的特性?( ) p47A.继承性B.遗传性C.多态性D.封装性面向对象特性:封装、继承、多态3.框图是用于( )的概念模式。
P56A.描述程序执行的逻辑过程B.描述数据结构C.描述数据内容D.描述系统状态及转换方式4.( )是软件开发全过程的信息管理总枢纽。
P60A.信息库B.数据库C.数据仓库D.项目数据库5.下列属于概念模式的是( )。
P58A.神经网络B.远程网络C.时序网络D.分散式网络6.目前人机界面中,最流行的产品是( )。
P64A.CPISC.CUAD.GUI7.在下列软件开发所涉及的信息中,属于跨越开发周期的是(p54)A.有关系统环境、现状与需求的信息B.有关软件功能设计的各种信息C.有关用户对系统各种变更要求的信息D.有关包括程序与文档的软件成果信息8.在软件开发工具的概念模式中,决策表属于的概念模式是()P59 A.时序网络B.计算机模拟模型C.结构图D.数学与逻辑模型9.在软件开发过程中,建立逻辑模型应在(p72)A.需求分析阶段B.编码阶段C.分析设计阶段D.测试阶段9.1.AD/Cycle中的需求分析阶段的任务是()C.建立逻辑模型D.完成系统总体设计9.2.在AD/Cycle的跨周期管理中,完成数据库物理设计是在()A.需求分析阶段B.分析设计阶段C.编码阶段D.测试阶段10.关于软件开发工具的开发与选择问题,下列选项中正确的是()P81A.具体工作条件与软件开发工具的开发与选择无关B.选择软件开发工具与项目特征无关C.只要确定了某种软件开发工具,就能够进行软件开发工作了D.自行开发软件开发工具时,应充分考虑其难度11.在对市场上可供使用的软件开发工具进行调查研究时,应包括的内容是()P84 A.软件开发工具供应商的规模B.软件开发工具的管理者C.软件开发工具的销售量D.软件开发工具的服务和培训条件12.在第三代语言的应用中,人们发现了新的“瓶颈”是(p23)A.处理需求的描述B.处理过程的描述C.处理结果的描述D.检测方式的描述13.下述对通用软件特点叙述正确的是(p24)A.通常情况下,用通用软件进行软件开发工作要比使用软件开发工具开发软件效率高B.使用通用软件开发软件能够完成几乎所有的开发工作C.使用通用软件常常遇到难于保持一致性的困难D.通用软件能够自动生成非常高质量的程序14.每项任务仅由一个模块来完成,这称为模块的( P44 )A.开放性B.确定性C.凝聚性D.稳定性14.1.在模块的相互联系中,应当仅使用( )A.逻辑耦合B.功能耦合C.数据耦合D.控制耦合14.2.模块的功能在逻辑上应尽可能地()A.全面、完整B.单一、明确C.全面、明确D.规范、完整14.3.在论述程序结构时,E.Yourdon把程序的结构分解成三个基本模块,即A.处理单元、循环机制、二分决策机制B.处理单元、循环机制、控制转移机制C.循环机制、二分决策机制、控制转移机制D.处理单元、二分决策机制、控制转移机制14.4.划分模块的基本要求是A.模块间联系少,模块规模足够小,模块扇入数足够大B.模块功能单一,模块间联系少,模块扇入数足够大C.模块功能单一,模块间联系少,模块规模足够小D.模块功能单一,模块规模足够小,使用逻辑耦合A.机器语言B.汇编语言C.高级语言D.非过程化语言16.软件是用户与硬件之间的桥梁。
软件开发工具-知识点整理
1、软件开发工具:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、文档和管理等各方面,对软件开发都提供各种不同程序的帮助的一类新型的软件。
2、软件发展的几个主要阶段:(1)仅限于把用户已经明确表达出来的算法,用机器语言写成一系列机器指令,供硬件运行使用。
(2)编程工作改为用汇编语言进行,编好的汇编指令由汇编程序转化为机器指令。
(3)把汇编语言变成了高级程序设计语言(第三代语言)。
高级程序设计语言不再是与机器指令一一对应,而是更加接近人类习惯的自然语言。
3、21世纪的软件开发工具与以往的有什么区别?(1)自动化程序的提高。
(2)这一阶段的工作明确地把需求分析和架构设计包括在软件工作的范围之内,从而使软件开发过程进一步向用户方面延伸,离用户更近了。
(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩展到了作为一个不断发展的客体生长守的全过程。
(4)在这一阶段的研究中,吸收了许多管理可学的内容与方法。
4、软件开发工具的功能要求:(1)认识与描述客观系统。
(2)存储及管理开发过程中的信息。
(3)代码的编写或生成。
(4)文档的编制或生成。
(5)软件项目的管理。
5、软件开发工具的性能:(1)表达能力或描述能力。
(2)保持信息一致性的能力。
(3)使用的方面程度。
(4)工具的可靠程序。
(5)对硬件和软件环境的要求。
6、软件开发工具按工作阶段划分为三类:计划工具、分析工具、设计工具。
计划工具则从更宏观的角度去看待软件开发。
它不仅从项目管理的角度,帮助人们组织与实施项目,并且把有关进度、资源、质量验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新,实现了“跨生命周期”的信息管理与共享,为信息以致软件的重用创造了条件。
设计工具直接为软件开发过程中的编程、调试、文档编写工作提供帮助。
多数的分析工具都是作为较大型计算机的专用系统出现的。
软件开发工具复习资料答案
软件开发工具复习资料答案一、单项选择题1-5:DCDDA 6-10:BBDBA 11-15、ABBCC 16-20、CBDCB二、填空题1、面向网络,不仅基于网络,还用于网络2、软件功能说明书3、设计信息4、性能5、目的6、商品化7、一体化8、java9、运行时内核 10、中断 11、在断点视图中删除 12、命令组 13、文件 14、$ 15、工作空间管理 16、解锁 17、概述18、透视图 19、多样性 20、统一建模语言三、简答题1、数据库与数据文件格式数据字典总体结构和程序模块各种借口参数的传达最后形成设计方案2、大系统的复杂性个人主动性和组织协调各个应用领域的差别时间因素变化因数3 、尽量单一化简单化一一对应4、明确信息来源使用权限维护职责记录详细使用过程培训使用人员5、基础硬件环境软件环境编译环境软件开发包等等6、对象就是附合某种类定义索产生出来的实例,而不是一个类。
类只是个抽象的称呼,而对象是个看得到,摸的到,听得到的实例四、论述题1、(1) 提供描述软件状况及其开发过程的概念模式,协助开发人员认识软件工作的环境与要求、管理软件开发的过程。
(2) 提供存储和管理有关信息的机制与手段。
软件开发过程中涉及众多信息,结构复杂,开发工具要提供方便、有效的处理这些信息的手段和相应的人机界面。
(3) 帮助使用者编制、生成和修改各种文档。
开发过程中大量的文字材料、表格、图形常常使人望而却步,人们企望得到开发工具的帮助。
(4) 生成代码,即帮助使用者编写程序代码,使用户能在较短时间内半自动地生成所需要的代码段落,进行测试和修改。
(5) 对历史信息进行跨生命周期的管理,即管理项目运行与版本更新的有关信息,以便于信息与资源的充分利用。
五、应用题1、 new OddSum new 项目名(OddSum ) firstNum+secondNum num%2==0 min run。
软件开发复习资料.doc
选择软件生存周期包括可行性分析、(需求分析检测审核调试)、软件设计、程序设计、测试、发布维护等活动。
属于软件的特点的是软件是一种逻辑实体,具有抽象性软件在使用过程中没有磨损、老化的问题软件有形,有色,有味,看得见,摸得着,闻得到(用例图活动图E—R图状态图)不属于UML图制约软件成功的因素有:,成本(费用),进度(时间),质量(客户满意度)工作态度(积极性)范围(符合客户的需求和希望)编成技巧(精通计算机语言)是否加班(赶进度)在软件测试中,白盒测试方法是通过分析程序的(功能输入数据内部逻辑应用范围)来设计测试用例的方法鱼与水生生物之间的关系是(组合聚合泛化依赖)用例模型包括用例图和(E—R图数据字典用例规约状态图)(Visual Studio> NetBeans、Eclipse> Rose)是用于软件设计的辅助工具软件测试的目的是(评价软件的质量、发现软件的错误、找出软件的所有错误、证明软件是正确的)软件维护会产生副作用,(文档副作用、编码副作用、测试副作用、数据副作用)不属于维护副作用可行性分析研究的目的是(争取项目、项目值得开发否、开发项目、规划项目)在确定类时,所有(名词、动词、形容词、副词)是候选的类技术可行性研究的问题之一是(成本效益问题、存在侵权否、技术风险问题、运行方式可行否)象棋与棋之间的关系是(组合、聚合、泛化、依赖)用例模型包括用例图和(状态图、E—R图、数据字典、用例规约)(project、word、Eclipse、Rose)是用于设计程序的辅助工具维护阶段产生的文档是(需求规格说明书、软件问题报告、操作手册、设计说明书)按照ISO/IEC 9126—1991的规定软件质量可用3个特性来评价:功能性,,易用性A.可靠性B.理解性C.理论性D.维护性(软件、文档、数据、程序)是计算机程序及其说明程序的各种文档小汽车与交通工具之间的关系是(组合、聚合、泛化、依赖)概念模型包括(类和对象、类和类之间关系、活动图、顺序图)软件质量必须在(实现期间、开发之前、开发之后、整个开发期间)加以保证软件重用是指在软件开发过程中重复使用相同或相似(函数、过程、子程序、软件元素)系统定义明确之后,应对系统的可行性进行研究,可行性研究应包括技术可行性、经济可行性、经济可行性、社会可行性安全可行性、操作可行性社会可行性、系统可行性实用性、社会可行性顺序图(时序图)属于(动态模型、功能模型、静态模型)软件开发技术包括(软件经济学、软件开发方法学、软件心理学、软件管理学),软件开发过程, 软件工具和软件工程环境软件工程的三要素是(需求、方法、资金、市场)、工具和过程青蛙与两栖动物之间的关系是(组合、聚合、泛化、依赖)用例模型包括(状态图、E—R图、用例图、活动图)和用例规约(RequisitePro^ NetBeans, Eclipse, Rose)是用于需求管理辅助工具VSS和CVS用于(编写程序、软件设计、文档编辑、版本管理)概念计春:机软件、软件工程、配置管理、单元测试、静态测试技术、类、对象,类的特性、集成测试、设计模式、白盒测试技术、软件质量、外观模式、概念模型、黑盒测试技术、简述软件开发模型有哪些主要模型。
软件开发工具-题库
软件开发工具-题库1、1.用于以只读的,图形化方式访问整个企业的模型信息( )。
A、 App ModelerB、 ViewerC、 Meta WorksD、 Warehouse Architect答案: B2、2.数据流图的绘制采用了()的方法。
A、自下而上B、从里到外C、从外到里D、自顶而下答案: D3、3.用于系统的需求分析,设计和构造数据流程图和数据字典( )。
A、 Process AnalystB、 Data ArchitectC、 App ModelerD、 Meta Works答案: A4、4.用于对概念层和物理层的交互式数据库设计和构造( )。
A、 ProcessAnalystB、 DataArchitectC、 WarehouseArchitectD、 Viewer答案: B5、5.ProcessAnalyst模块用于()的数据分析与发现。
A、需求分析B、概念设计C、逻辑设计D、物理设计答案: A6、1.任何软件的开发工作都是处于某种环境中,软件开发环境的主要组成成分是软件工具。
( )答案:正确7、2.基于各个阶段对信息的需求不同,软件开发工具大致可以分为四类:设计工具、分析工具、计划工具和管理工具。
( )答案:错误8、3.窗口与用户对象之间不需要交换信息。
( )答案:错误9、4.Power Builder不具备面向对象编程的特征。
( )答案:错误10、5.用户对象是封装了一组相关代码和属性、完成特定功能的对象。
( )答案:正确11、1.何为Java语言?答案: java是面向对象的编程语言,表面上看,它类似C++的简洁版本,但有很多区别。
Java已经成为高级WEB网页设计的标准。
它的优点是,更简洁的语法、更好的内存管理模式、通过虚拟机解释执行的、平台无关性。
12、2.何为需求分析,需求分析的目标是什么?答案:需求分析是数据库设计的第一阶段,也是系统开发过程中的一个关键工作阶段。
2011新版软件工程自学笔记
一.前言<1>. 软件危机:20世纪60年代,随着计算机的广泛应用,软件生产率,软件质量越来越难以满足社会发展的需求,成为制约社会、经济的制约因素,人们把这一现象称为软件危机;<2>. 软件的发展历史:20世纪60年代末至80年代初,软件系统规模,复杂性以及在关键领域的广泛应用促进了软件的工程化开发和管理;这一时期主要围绕软件项目开展了有关开发模型,开发方法和支持工具的研究;20世纪80年代以来,基于已开展的大量软件工程实践,围绕对软件工程过程的支持,开展了大量有关软件生产技术特别是软件复用技术和软件生产管理的研究和实践;<3>. 软件工程:软件工程是应用计算机理论与技术,工程管理的原则和方法,按照预算和进度实现满足用户要求的软件的工程,或以此为研究的学科;<4>. 软件,软件的本质:软件是对特定问题域的抽象,是被开发出来的一个逻辑实体,而不是一个有形的物理部件;软件的本质是实现问题域中的术语和处理逻辑到解空间的术语和逻辑的映射;<5>. 所要做的工作:一是如何实现映射,这是技术层面的问题,又可分为过程方向,即求解软件的开发逻辑,如各种模型;和过程途径,即求解软件的开发手段,如结构化方法,面向对象方法等;二是如何管理这些映射,这是管理层面的问题;系统建模是运用所掌握的知识,经过抽象,给出系统的一个结构——系统模型;<6>. 基本途径:求解一个问题的基本途径是系统建模;所谓系统建模,是根据已掌握的知识,通过抽象给出系统的一个结构——系统模型;模型是一个抽象,该抽象是在意图所确定的视角和抽象层上对物理系统的描述,描述其中的成分以及各成分之间所具有的特殊语义关系,还包括对系统边界的描述;在软件设计领域,系统模型分为概念模型和软件模型;概念模型描述了软件是什么;软件模型描述了实现概念模型的软件解决方案;软件模型又可分为设计模型,实现模型和不熟模型等;OUTLINE:二.软件需求分析1. 需求(1). 需求的定义:一个需求是一个有关要予构造的陈述,它描述了待开发产品/系统功能上的能力,性能参数或其它性质;(2). 需求的属性:必要性:该需求用户所要求的;无歧义性:该需求只能用一种方式解释;可测性:该需求是可进行测试的;可测量性:该需求是可测量的;可跟踪性:该需求可以从一个开发阶段跟踪到另一个阶段;(3). 需求的分类:功能需求:规约了系统或系统构件必须执行的功能;性能需求:规约了系统或系统构件在性能方面必须具有的一些特性;外部接口需求:规约了系统或系统构件必须与之交互的用户、硬件、软件或数据库元素;设计约束:是一种需求,它限制了软件系统或软件系统构件设计方案的范围;质量属性:规约了软件产品所具有的一个性质必须达到其质量方面所期望的一个水平;(4). 需求发现技术:自悟;交谈;观察;小组会;提炼;在使用以上技术时,还都可以辅以诸如原型构造等其它方法;在实际使用中,往往组合地使用以上技术;执行需求发现这项活动的人,其技能水平对这项活动的成功具有重大影响;2. 需求规约:(1). 需求规约的定义:需求规约是一个软件项/产品/系统所有需求陈述的正式文档,它表达了一个产品/系统的概念模型;(2). 需求规约的性质:重要性和稳定性程度;可修改的;完整的;一致的;(3). 需求规约的作用:需求规约是软件开发小组同用户之间一份事实上的技术合同书,是产品功能和环境的体现;对产品/系统开发,需求规约是一个正式的受控的起始点;对于项目的其余大多数工作,需求规约是一个管理控制点;需求规约是创建产品验收测试计划和用户指南的基础;(4). 需求规约的表达方式:非形式化的需求规约;半形式化的需求规约;形式化的需求规约;OUTLINE:三.结构化方法基本思想:一切信息系统都是由信息流构成的,每一信息流都有自己的起点信息源,有自己的归宿信息潭,有驱动信息流动的加工,所谓信息处理主要体现为信息的流动;缺点是:依然没有摆脱冯诺依曼体系结构的影响,所捕获的数据和功能恰恰是客观事物的异变性质,由此所构建的系统结构很难与客观实际系统的结构保持一致;内部联系:1. 主体为上面图所示,基本术语,过程指导,系统模型;2. 由基本术语联系到过程指导,因为过程指导要涉及到基本术语中的元素,如:建立系统环境图,确定系统语境,则对应基本术语中的数据源,数据流,加工,和数据潭;建立系统的层次数据流图,主要对应基本术语中的数据流,数据存储和加工;定义数据字典,对应基本术语中的数据流和数据存储;描述加工,则对应基本术语中的加工;3.结构分析与结构设计的联系,设计准备,确定边界,对应确定系统边界;第一次,第二层分解,对应建立系统的层次数据流图;精化设计,对应定义数据字典;详细设计,对应描述加工;1. 结构化分析(1). 基本术语:支持表达分析中所要使用的说明;●数据流:用于表达分析中所要使用的,用于表达客体的信息;●加工:用于表达分析中所要使用的,用于表达计算的信息;●数据存储;用于表达分析中所要使用的,用于表达结构化客体的信息;●数据源和数据潭:用于表达分析中所要使用的,用于表达系统边界的信息;(2). 数据流图DFD:表达系统模型的工具,支持表达系统功能;●数据流起着连接其它实体的作用;●处理之间可以包含多个数据流;●对于一个大型的系统,往往需要采用多层次的数据流图;(3). 建模过程:给出过程指导,支持如何系统的使用相关信息来构造系统模型;<1>. 建立系统环境图,确定系统语境;<2>. 自顶向下,逐步求精,建立系统的层次数据流图;●将父图中的每一个加工按照功能分解为若干个子加工;●将父图中的输入流和输出流分派到相关的子加工上;●在子加工之间建立合适的联系,必要时引入数据存储,使之形成一个有机的整体;<3>. 定义数据字典,依据系统的数据流图,定义其中包含的数据流和数据存储的数据结构,知道给出构成以上数据的数据项的基本数据类型;数据结构定义符:顺序结构+,选择结构|,重复结构{},定义=;数据流条目,数据存储条目,数据项条目;<4>. 描述加工,依据系统的数据流图,给出加工的小说明,一般式最底层的加工的输入/输出数据流之间的关系;●结构化自然语言(外层控制结构+内层自然语言);●判定表;●判定树;2. 结构设计定义满足需求所需要的结构(1). 总体设计任务是将系统的功能需求放入一个特定的软件体系结构中;目标是给出系统的模块结构;<1>. 初始设计:A.系统数据流图的分类:变换型数据流图:分为输入,变换,输出;事务型数据流图:分为输入,分析并确定,选择一条分支;B.设计步骤:设计准备,复审并精化系统模型;确定输入,变换,输出的边界;/确定事务处理中心;第一级分解,系统模块结构图的顶层和第一层的设计;主模块,输入,变换,输出模块;第二级分解,从顶向下,逐步求精;<2>. 精化设计,模块化和启发式规则A.模块化把待建的软件分解为若干简单的高内聚低耦合的模块,这一过程称为模块化;B.内聚与耦合内聚是指模块内部各成分之间相互关联程度的度量:主要有偶然,时间,顺序,通信,逻辑,过程,功能等类型;耦合是指不同模块之间相互依赖程度的度量;主要有内容,公共,数据,控制,标记等类型;C.启发式规则改进软件设计,提高软件的独立性;力求模块规模适中;力求深度,宽度,扇入,善出适中;尽力使模块的作用域在控制域之内;力求模块功能可以预测;尽力降低模块接口的复杂性;(2). 详细设计目标是给出系统模块结构中各个模块的内部描述过程,即模块内部的算法设计;详细设计的表格有:●程序流程图;●盒图N-S图;●PAD图;●类程序设计语言;结构图:四.面向对象设计UML基于的理论是:世界是由客体组成的,客体都有自己的属性和习惯操作。
第四章软件开发工具知识点
一、选择填空题知识点1、软件开发工具一般都比较复杂、庞大,所以必须首先考虑的它的(功能设计)和(总体结构)。
2、软件开发工具的功能必须毕设软件开发工作的实际需要,具有足够的(开放性)与(灵活性)。
3、软件开发工具的信息入口和调度中心是(人机界面)和(总控模块)。
4、软件开发工具的两种主要输出功能是(代码生成)和(文档生成)。
5、软件开发工具是引导人们建立正确的、有效的(概念模式)的一种手段。
6、使用者和软件开发工具之间交流信息,事项所有的支持功能的桥梁是(总控和人机界面)。
7、信息库的(结构框架)反映了人们对软件产品及软件开发过程的基本开发。
8、信息库(内容)的丰富程度是软件开发工具的功能与作用的最基本的依据。
9、软件最基本的组成部分是(代码)和(文档)。
10、作为一个完整的、一体化的软件开发工具,(总控和人机界面)处于中心的位置。
11、为了有效的支持软件开发人员的工作,软件开发工具必须提供各工作环节之间的(协调)与(配合)。
12、SAA指的是(应用软件的结构)。
13、IBM的AD/Cycle中,程序员接口有(过程化语言)(非过程化语言)(生成器)(数据库查询)(对话显示)(通信服务)图4-214、IBM的AD/Cycle中,对外系统的通信接口有(面向对象的结构)(数据流)(应用服务)(作业管理)(网络管理)(数据安全控制)图4-3 15、IBM的AD/Cycle中,将软件开发过程的每一个周期分为五个阶段:(需求分析阶段)(分析设计阶段)(编码阶段)(测试阶段)(维护阶段)。
16、建立软件多处领域或环境的模型是在(需求分析)阶段。
17、建立软件的数据模型是在(需求分析)阶段。
18、建立软件的信息流通的模型是在(需求分析)阶段。
19、数据结构的详细设计是在(分析设计)阶段。
20、完成子系统或模块的划分是在(分析设计)阶段。
21、在软件开发工具的跨周期管理中,知识库和专家系统一般应用于( 编码和测试阶段)22、在软件开发工具的跨周期管理中,生成工具应用于(编码和测设)阶段。
软件工程2011重点附有课后部分习题答案
第一章1.软件危机:是指在计算机软件开发和维护过程中所遇到的一系列严重问题。
2.软件工程:应用一种系统的、科学严格的、定量的方法来开发、运行和维护软件; 也就是说将工程的方法用于开发软件.软件生命周期:由软件定义、软件开发和运行维护这3个时期组成。
1.软件定义时期划分为三个阶段:问题定义、可行性研究和需求分析2.开发时期:总体设计、详细设计、编码和单元测试、综合测试。
维护时期:主要任务是使软件持久地满足用户的需要。
3..软件过程:是指导计算机软件开发和维护的一门工程学科。
软件工程方法学三要素:方法、工具和过程5.简述结构化范型和面向对象范型的要点,并分析它们的优缺点。
目前使用得最广泛的软件工程方法学(2种):传统方法学:也称为生命周期方法学或结构化范型。
优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,从而降低了整个软件开发过程的困难程度。
缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时间而变化的时候,开发出的软件往往不成功;而且维护起来仍然很困难。
面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发和维护工作;促进了软件重用。
6..软件生命周期模型(1)瀑布模型:优点:1.可强迫开发员采用规范的方法 2.严格地规定了每个阶段必须提交的文件 3.要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
缺点:传统的瀑布模型过于理想化,是由文档驱动的。
(2)快速原型模型:通过快速构建起一个可在计算机上运行的原型系统,让用户试用原型并收集用户反馈意见的方法,获取用户真正的需要。
(3)增量模型:优点:能在较短时间内向用户提交可完成部分工作的产品;逐步增加产品功能可以使用户有较充实的时间学习和适应新产品,从而减少一个全新的软件可能给客户组织带来的冲击。
(4)螺旋模型:优点:对可选方案和约束条件的强调有利于已有软件的重用;减少了过多测试;维护只是螺旋模型中另一个周期。
全国2011年10月自考软件开发工具试题和答案
全国2011年10月高等教育自学考试软件开发工具试题课程代码:03173一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未均无分。
1.一些专门用于支持软件开发的软件开发工具陆续问世,从而进入了专用的软件开发工具的阶段。
这个阶段开始于20世纪的( )A.60年代B.70年代C.80年代D.90年代2.不属于...软件开发工具概念模式的是( )A.数据流程图B.关键路径图C.数据字典D.时序网络3.在一个完整的软件开发工具中,处于中心位置的是总控部分和( )A.数据库查询B.代码生成器C.通信服务D.人机界面4.软件开发工具最重要的信息出口是代码生成和( )A.报表生成B.文档生成C.联机查询D.图形处理5.不属于...研制软件开发工具基本技术要点的是( )A.面向使用者B.保证信息准确传递C.保证系统的可靠性D.保证系统的开放性6.软件开发工具文档生成中,最难于处理的内容是( )A.文章B.程序C.表格D.图形7.以下几种较有代表性的语言及其开发工具中支持面向对象非常好的是( )A.VBB.VCC.PBD.JA V A8.结构化程序设计的方法主要的服务对象是( )A.用户B.系统分析员C.程序员D.系统设计员9.在大型软件开发中,用户承担的工作是( )A.验收模块B.要求修改C.交付检验D.试运行10.2008年,国际电子电气工程师学会的权威刊物《软件》的九月/十月号,以“软件开发工具”(Software Development Tools)为题的一期专刊中,认为错误..的观念是( )A.软件开发工具的实践性很强B.软件开发工具的抽象程度越来越高C.软件开发工具的历史发展是多样性和趋同性并存的D.在信息处理、知识表达、事务处理等问题上,确实是存在着我们已经认识的普遍规律11.Eclipse文本编辑器中查找下一个操作的快捷键是( )A.Ctrl+KB.Ctrl+ZC.CtrI+CD.Ctrl+X12.在Eclipse CDT编辑器中,完成快捷键设定的操作是同时按下=键和( )A.Shift键B.Ctrl键C.Alt键D.Tab键13.在Eclipse中,把文件恢复到历史记录版本的操作按钮是( )A.RestoreB.ReplaceC.RenameD.Reset14.下述版本控制软件中,具有开放源代码特点的是( )A.RCSB.PVCSC.CVSD.SCCS15.CVS中,在某一时刻,模块中文件状态的静态影像称为( )A.输出B.提交C.快照D.备份16.在Eclipse首次启动时,如果某个插件有多个版本,通常的处理办法是( )A.使用最后存储的版本B.使用最先存储的版本C.使用存储的最高版本D.列出所有版本供选择17.在Eclipse插件清单编辑器中,指定当前插件运行时所需插件列表的页面是( )A.概述页面B.依赖性页面C.构建页面D.运行时页面18.在Eclipse插件清单编辑器中,显示插件提供给其他插件使用包的页面是( )A.概述页面B.依赖性页面C.构建页面D.运行时页面19.在如下关于面向对象的一些概念的叙述中,正确的是( )A.客观世界的有规律的事物才是对象B.类是对一组相同的对象的描述C.封装即信息隐藏D.方法是驻留在程序中的过程20.在Rational Rose建模的逻辑设计中,使用的图是( )A.活动图B.顺序图C.状态图D.关联图二、填空题(本大题共20小题,每空1分,共20分)请在每小题的空格中填上正确答案。
2011版软件开发工具复习资料(含eclipse)
1)软件开发工具的发展过程:机器语言,汇编语言,高级语言,第四代语言,通用软件,专用软件,集成软件开发工具。
2)软件开发工具产生和应用的必然性:硬件是躯体,软件是使用者和计算机的桥梁,是知识结晶,文明和知识载体,关系纽带,是软件技术发展的产物。
3)软件开发工具的趋势:面向网络,开源软件的兴起和运用。
4)软件的实质:无影的事先编好的指令,对应用环境和业务流程的正确理解和描述。
一端是硬件,一端是用户,知识的提炼表述固化。
5)软件开发工具的发展:自动化程度提高,需求分析和架构离用户近。
延伸到项目和版本管理,管理科学。
6)软件开发工具的概念:在高级程序设计语言基础上,为提高软件开发质量效率从规划分析设计测试文档和管理等方面,对软件开发者提供各种不同程度的帮助的一类新型的软件,支持开发全过程。
7)软件开发工具的作用:提高软件开发效率,保证质量,加快周期,同时使得系统更加规范,节省人力财力。
8)软件开发过程:提出要求,总体设计,实现阶段,调测阶段。
9)软件开发工具的基本功能:认识描述客观系统,存储和管理信息,代码编写生成,文档的编制生成,软件项目管理。
10)软件开发工具主要性能指标:表达和描述能力,信息一致性,方便程度,工具可靠程度,软件硬件环境要求。
11)软件开发工具三类:计划工具,分析工具,设计工具。
12)软件开发的困难:用户和程序员对软件功能理解的转换,人和机器之间的交流。
13)大型软件开发困难和产生原因:一致性,测试,进度,文档代码协调,版本。
原因是:大系统复杂性,组织协调困难,各领域差别,时间因素。
14)结构化程序设计的思想:程序互相影响控制在模块内部,合理划分保证结构良好。
几个原则:自顶向下,逐层分解,每个模块一个出入口。
3个基本语句结构:顺序,选择,循环,限制使用GOTO.15)软件工程思想:从组织管理角度加强力量,是软件程序员的个人劳动提高成为有组织可控制的工程,从而大幅度根本提高软件开发的效率和质量。
软件开发工具复习
软件开发⼯具复习软件开发⼯具复习第⼀章绪论1?在计算机技术中,归⼊系统软件的操作系统、汇编程序、编译系统⽆疑也是软件开发必不可少的⼯具,但是,⼀般来说不把它们归⼊软件开发⼯具的范围。
2?理解:软件开发⼯具的范围⼤致可以描述为:在⾼级程序设计语⾔(第三代语⾔)的基础上,为提⾼软件开发质量和效率,从规划、分析、设计、测试、⽂档和管理等各⽅⾯,对软件开发者提供不同程度的帮助的⼀类软件。
注:软件开发⼯具本⾝是⼀种软件,它是开发软件的⼀种软件,是在第三代语⾔的基础上发展起来的。
(第三代语⾔在这⾥指:已经形成的软件开发技术。
第⼀代语⾔:机器语⾔。
第⼆代语⾔:汇编语⾔。
第三代语⾔:⾼级程序设计语⾔(过程化语⾔)。
第四代语⾔:⾮过程化语⾔。
3、⼆⼗世纪六⼗年代初,FORTRAN,ALGOL,COBOL等⾼级程序设计语⾔的成熟与普及,标志着计算机真正⾛出难以应⽤的困窘局⾯。
这就是第三代语⾔的时代。
4、⾼级程序设计语⾔实现了对机器的独⽴性,即它不依赖特定的硬件系统,抽象的逻辑的描述处理和算法,在第三代语⾔的应⽤中,⼈们发现的新的瓶颈——处理过程的描述。
20世纪60年代末期开始,⼈们对软件⼯作的认识⼤⼤深⼊,在认识到软件⼯作重要性的同时,也认识到其⼯作的困难性,这就是所谓软件危机问题。
5、硬件是计算机的躯体,软件是计算机的灵魂。
6、⼈类社会客观世界的复杂性决定了软件本⾝的复杂性。
⼈类知识的丰富多彩决定了软件的极⼤的多样性。
客观世界的动态性决定了软件对可维护性、可重⽤性越来越⾼的要求。
7、⾯对⽇益扩⼤规模的软件,如何保证它的正确性、可靠性,如何控制软件开发的进度与成本,从结构化程序设计、软件⼯程、⾯向对象的程序设计⽅法、即插即⽤的程序设计⽅法,直到⾯向开源软件和互联⽹的程序设计,许多专家进⾏了⼤量的研究⼯作。
8、70年代末到80年代初,很多软件开发⼈员已经想到了⽤软件来⽀持软件开发⼯作,诸如:利⽤⽂字处理软件编写代码,利⽤绘图软件画图等,这个阶段称为利⽤通⽤软件作为辅助⼯具的阶段,或称为没⽤专⽤的软件开发⼯具阶段。
2011年软件设计师辅导资料(一)
1 经费预算经常突破,完成时间一再拖延。
2 开发的软件不能满足用户要求。
3 开发的软件可维护性差。
4 开发的软件可靠性差。
软件危机产生原因:
1 软件规模越来越大,结构越来越复杂。
2 软件开发管理困难而复杂。
3 软件开发费用不断增加。
那么为达到软件优质高产这个目标,从技术到管理做了大量的努力,从而逐渐已形成了"软件工程学"这一新学科。
它包含以下主要内容:
1、软件开发方法:软件工程的方法提供了建造软件在技术上需要"如何做"。 方法涵盖了一系列的任务:需求分析、设计、编程、测试和维护。
是在60年代后期才逐步形成了一种软件开发方法,在不同的软件开发阶段对应有不同的方法,例如在软件的设计阶段有"结构化分析与设计"方法,在软件测试阶段有"黑盒"与"白盒"测试技术,等等。
第一章 绪论
第一节 软件工程的产生
软件:计算机程序及其说明程序的各种文档。"程序"是计算任务的处理对象和处理规则的描述。
软件的特点:
1 是一种逻辑产品,与物质产品有很大的区别。
2 软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。
应用软件:是在特定的领域内开发,为特定目的服务的一类软件。如,CAD-CAM 计算机辅助制造-CAI 计算机辅助教学, 专家系统,模式识别,刹车系统
支撑软件:是协助用户开发软件的工具性软件,其中包括帮助程序人员开发软件产品的工具,也包括帮助管理人员控制开发的进程的工具。
按规模划分:
4 软件开发技术落后。
软件开发工具复习笔记精修订
软件开发工具复习笔记 SANY标准化小组 #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#本文由33301607贡献doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
一、绪论 1、简述软件开发工具的范围在高级程序设计语言的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程序帮助的一类新型软件。
2、简术用通用软件辅助软件开发的缺点有许多工作是通用软件所无法完成的;用通用软件完成某些工作,只能表现出其表面的形式,而不能反映其逻辑内涵,只能做到“形似”,不能做到“神似”;难于保持一致性。
3、简述集成化软件开发工具产生的背景集成的软件开发工具称为软件开发环境,是指包括支持全过程、全阶段的软件开发工具。
以往的专用软件开发工具对软件的开发缺乏全面的、统一的支撑环境。
这些零散地、分散地支持各个工作阶段、各项具体工作的专用工具之间没有有机地联系起来,必然会造成冲突与矛盾。
这种冲突与矛盾对于用户来说,造成了沉重的负担,使用工具越多这种负担越重,以致抵消了工具带来的益处。
这种情况导致了集成化软件开发工具的产生。
4、简述第四代语言与软件开发工具的区别软件开发工具包括 4GL 的功能;软件开发工具支持系统分析、设计工作;软件开发工具支持文档工作。
5、简述软件开发总体设计阶段的工作要点是根据软件功能说明书的要求,完成软件的总体设计,包括整个软件的结构设计、公用的数据文件或数据库的设计、各部分的连接方式及信息交换的标准等。
6、简述软件开发实现阶段的工作,以及应强调之点。
包括程序的编写和文档的编写,应特别强调组织与协调,及时发现并纠正背离总体设计要求的情况。
7、简述软件开发工具认识与描述客观系统的功能要求认识与描述客观系统是软件开发第一阶段所需的重要工作。
该项工作不确定程度高,更需要经验,更难规范化,需要对复杂系统认识与理解,并在此基础上抽象出信息需求与信息流程。
软件开发工具复习资料(自考)
1)软件开发工具范围:在高级程序设计语言的基础上,为提高软件开发的质量和效率,从规划分析设计测试成本和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。
应当为软件人员提供信息管理,信息存储一致性的保证提供帮助支持。
2)SDT 3个发展阶段:通用工具,专用工具,集成工具。
3)软件开发工具的概念:在高级程序设计语言后进一步发展的产物,目的是给与人们在开发软件过程中不同方面和程度的支持或帮助,支持开发的全过程而不是仅限编码或其他特定工作阶段。
4)软件的意义:硬件是躯体,软件是灵魂;软件是用户和计算机的桥梁;软件是人类知识与经验的结晶,一种新的载体。
5)通用软件弱点:许多工作无法完成,不能反映逻辑内涵,难于保持一致性。
6)专用软件弱点:对软件开发缺乏全面统一的支撑环境造成冲突和矛盾。
7)软件开发发展阶段:机器语言开发软件,汇编语言开发转换,高级语言开发编译程序转换,各种软件开发工具完成编译程序转换。
(项目管理版本控制软件重用新问题)8)新的软件开发方法表现在四个方面特点:自动化程度提高,进一步向用户延伸,延伸到项目版本管理扩展到不断发展生长完善的全过程。
9)4GL :非过程化的程序设计语言,针对以处理过程为中心的第三代语言他希望通过某些标准处理过程的自动生成使用户可以只说明要求做什么,而把具体的执行步骤安排交给软件自动处理。
10)CASE:计算机辅助软件工程或计算机辅助系统工程,应用计算机自身处理信息的巨大能力来帮助人们开发复杂的软件或应用系统,11)软件开发过程5阶段:初始要求提出需求分析(软件功能说明书),总体设计,程序文档的编写,测试调试阶段,维护。
12)软件工作的困难体现:复杂性,多样性,可维护性,可重用性。
13)SDT功能(定性):认识与描述客观系统,存储管理开发过程中的信息,代码的编写生成,文档的编制生成,软件项目的管理。
14)SDT性能(定量):表达能力或描述能力,保持信息一致性的能力,使用的方便程度,工具的可靠程度,对软硬件环境的要求。
2011软件开发工具考点
1.软件开发工具的发展过程(7个阶段)2.软件开发工具的范围:在高级程序设计语言的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同程度的帮助的一类广泛的软件。
(P1)3.大型软件开发的困难及原因(P3)4.软件开发工具的概念(P5)软件开发工具是在高级程序设计语言(第三代)基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、文档管理等各方面,对软件开发者提供各种不同程度帮助的一类新型软件。
5.软件开发工具的地位及作用(P5)(1)软件开发工具是软件技术发展的必然趋势和必然产物,它的目的是使软件开发优质、高效(2)软件开发工具具备一些针对软件开发过程的新思想和方法,这使它区别于以前的软件技术6.软件开发的发展历程(四个阶段)1)机器语言2)汇编语言3)高级语言4)在软件开发工具辅助下进行开发7.软件开发工具发展有三个阶段(P4)1).通用工具阶段2).专门软件开发工具阶段3).集成化软件开发工具阶段8.软件开发的过程(P10-11)1)需求分析阶段(软件功能说明书)2)总体设计阶段(系统的总体设计文件及各个模块的设计任务书)3)实现阶段(程序的编写和文档的编写)4)测试阶段9.软件开发工具的功能:(做什么)P11-121)认识与描述客观系统;2)储存和管理开发过程中的信息3)代码的编写或生成;4)文档的编制和生成;5)软件项目管理10.软件开发工具的性能:(做到什么程度)P131)表达、描述能力;2)保持信息一致性的能力;3)使用方便程度;4)工具可靠程度;5)对硬件和软件环境要求11.软件开发工具的类别划分按工作阶段划分:a.设计工具;b.分析工具c.计划工具按集成程度划分:a.专用工具(对某一阶段);b.集成化工具(对全过程)按硬件和软件的关系划分:a.依赖于特定的计算机或软件;b.独立于硬件或软件12.软件开发工具研究和应用状况1)计算机专业出身的技术人员——需求分析工具2)来个各个应用领域非计算机专业人员——软件设计工具3)项目负责人——计划工具1.软件开发过程的两个转换1)从用户的理解到程序员的理解2)从程序员的理解到程序的实现2.大型软件开发中的困难(1)保持一致性困难(2)测试困难(3)工作进度控制困难(4)文档与代码协调困难(5)版本更新带来的困难3.大型软件开发中产生困难的原因(1)大系统的复杂性(2)个人之间的组织与协调(3)各个应用领域之间的差别(4)事物随时间的变化因素4.软件工程的基本思想:标准化的表达方法与规范化的工作步骤5.软件工程的实现方法(5个阶段)需求分析阶段、系统分析与设计阶段、编程阶段、测试阶段、使用及维护阶段6.面向对象程序设计方法的基本思想信息有两方面属性:一个是静态属性——数据结构;一个是动态属性——处理(操作),面向对象方法将数据和处理结合到一起,称为一个对象7.面向对象程序设计方法的实现机制(1)封装性(2)对象之间的关系(3)继承性(4)消息机制8.即插即用程序设计:一部分人专门生产软件组件(相当于芯片),而另一部分人则设计软件的结构(相当于计算机结构),并且把软件组件插入这个结构,以便迅速地完成大型软件的研制工作。
软件设计工具复习提纲及答案
软件设计工具复习提纲一、基础知识1、软件的概念,软件工程的概念,软件开发过程的五个阶段。
软件:软件是程序以及开发、使用和维护程序所需要的所有文档,即软件=程序+文档软件工程是一门建立在系统化、规范化、数量化等工程原则和方法上的,关于软件开发各个阶段的定义、任务和作用的工程科学。
软件开发过程的五个阶段:需求捕获(Requirements Capture)系统分析与设计(System Analysis and Design)系统实现(Implementation)测试(Testing)维护(Maintenance)2、面向对象的概念,抽象、继承、多态、动态绑定、封装,面向对象分析与设计等概念。
面向对象:是一种新的软件工程方法,新的设计范型(paradigm),其基本技术是使用对象、类、继承、封装、消息等基本概念进行程序设计和实现。
面向对象=对象+类+继承+通信抽象(abstraction):的意思就是过滤掉对象的一部分特性和操作直到只剩下你所需要的属性和操作多态性(polymorphism):有的时候不同的类具有相同的名称的操作。
在面向对象中,每个类都能够“知道“如何执行自己的打开操作。
这就叫做多态性动态绑定(dynamic binding):在运行的过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定封装(encapsulation)的实质:当一个对象执行自己的操作的时候,它对外界隐藏了操作的细节。
3、UML中的事物的种类课本21页图4、UML中存在的关系,每种关系的表示的图标5、UML中对事物的分组,例如用例属于什么事物?6、UML中有哪几种图,每种图的简单的概念和作用。
二、类图、包图、对象图7、UML中类的概念,类的表示方法,类中的属性和操作的表示方法,以及类中的元素的可见性的表示方法。
类是对一组具有相同属性、操作、关系和语义的对象的描述。
软件开发工具(背诵内容)
名词解释1.软件配置(集成)答:设立一个有效的总控部分,它能够在各个具体工具之上,实现信息的正确传递与转换,帮助人们完成上述协调与配合的工作,从而形成一个统一的、完整的支撑环境,并通过一个统一的、友好的人机界面与用户对话。
2.项目管理(Project Mangement)答:项目管理指与固定的生产线上的日常生产管理不同的,具有更大变动性、时间性的一类管理任3.数据字典(DataDictionary)答:数据字典是一种描述数据内容的概念模式。
(1)它用表格形式列出数据的基本属性以及相互关系。
(2)它的雏型是编写软件时的变量说明或标识符清单。
(3)它也常常与其他描述工具互相补充、配合使用。
4.实体关系图答:实体关系图是一种用于描述静态数据的概念模式。
它以实体、关系、属性三个基本概念概括数据的基本结构。
它广泛应用于数据库的设计中,常常和数据流程图、结构图等互相配合使用。
5.数据流程图(DataFlowDiagram)答:数据流程图描述某一业务处理系统的信息来源、存储、处理、去向的全面情况,简明扼要地勾画全局。
或:数据流程图的基本元素是外部实体(系统外的信息来源或去向),数据处理与存储,用箭头表示信息在它们之间的流动情况。
6.项目管理答:项目管理是与固定的生产线上的日常生产管理不同的,具有更大的变动性、时间性的一类管理任务。
7.项目数据库答:项目数据库实际上是信息库的一个组成部分。
它记录的是项目本身进展的各种有关信息。
项目负责人应当随时掌握这些情况,一方面把住验收质量关,使每一步都扎扎实实,同时掌握全局,及时发现瓶颈环节,从组织上加以解决。
8.信息库答:信息库是一个包罗万象的,随着项目进度不断修改与补充的数据集合。
它在规模上不一定像数据仓库那么大,分析提炼的要求也与数据仓库不同。
然而,作为软件开发全过程的信息管理总框纽,它的数据结构是相当复杂的,而且会随时间不断变化,因此,保持一致性的任务变得十分复杂和艰巨。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、学习软件开发工具的
在于了解软件开发工具的概、理论基础、基本功能、发展现状与前景,以便在实际工作中正确地选择与使用软件开发工具,在必须时能够参加或组织软件开发工具的自行研制,从而达到提高软件工作水平与效率之目的。这也是本书的目的。
3173软件开发工具复习资料
第一章 绪论
1.1 软件开发工具的由来
一、软件开发工具:
1、软件开发工具的范围大致可以描述为:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、成文和管理各方面,对软件开发者提供各种不同的帮助的一类广泛的软件。
2、如何理解:
首先,是一类软件,是开发软件用的软件。
其次,是在第三代语言的基础上发展起来的。
另外,这里强调对软件开发全过程中各个阶段的支持,即不仅包含狭义的编程阶段,而是包括了相当广泛的范围和相当丰富的内容。
二、软件开发工具的产生与演变
1、软件开发工具的产生与演变
如何保证软件的正确性、可靠性,如何控制软件开发工作的进度与成本,成了理论上十分重要、实际中十分迫切的课题。
3、用通用软件帮助软件开发有三个主要弱点:
(1)有许多工作是通用软件所无法完成的。
(2)用通用软件完成某些工作只能表现其表面的形式,而不能反映其内涵。
(3)用通用软件来帮助人们完成软件开发工作时,常常遇到难于保持一致性的困难。
另一方面,随着人类对软件与软件开发过程理解的深入,它又具备了新思想与方法。
3、软件用来特指看不见、摸不着的,但又发挥着十分重要的作用、事先编好的指令系列。硬件是躯体,软件是灵魂。
4、软件一头连着计算机硬件,向硬件提供它可以执行的机器指令,另一头面向用户,接受用户提出的要求,提供的算法。(软件是用户与硬件之间的桥梁)
(2)它的目的是在人们开发软件过程中给予人们各种不同方面、不同程度的支持或帮助;
(3)它支持软件开发的全过程,而不是仅限于编码或其它特定的工作阶段。
2、软件开发工具有继承性和创新性
一方面,软件开发工具是软件技术发展的必然产物和自然的趋势,它的基本思想是致力于软件开发的高效优质;
四、专门用于软件开发的软件开发工具
1、专用的软件开发工具主要分为以下几类
(1)面向特定功能模块的各种代码生成程序(报表生成器、菜单生成器、对话生成器等);
(2)综合性的第四代语言一般是立足于某种数据库管理系统或某种第三代语言之上的);
(3)专用于某种文档的编写工具;
第二阶段:总体设计。任务是根据软件功能说明书的要求,完成软件的总体设计,包括整个软件的结构设计、公用的数据文件或数据库的设计、各部分的连接方式及信息交换的标准等几个主要内容。(成果:系统的总体设计文件及各个模块的设计任务书)
第三个阶段:程序的编写和文档的编写,统称为实现阶段。
第四个阶段:测试或调试阶段。包括两部分:模块的高度、整个软件的联调。(测试工作最好由专门的小组去进行。)
(1)一致性的保持成为十分困难的问题。
(2)测试的困难大大增加。
[名词]水波效应:当我们修改程序的某一处错误时,由于没有充分考虑到这一修改对相关部分带来的影响,结果出现新的错误。
3、计划工具:从更宏观的角度去看待软件开发。(实现了“跨生命周期”的信息管理与共享)
实践中,设计工具出现得最早、数量最大。分析工具出现得较晚、数量也少一些。设计。计划工具完成是为项目主管人员服务的,再现和开发得比较晚。
计划工具的重要性及地位将随着软件产业的发展而越来越为人们所认识。
5、软件实际上是人类知识与经验的结晶。
6、软件包括程序和文档两个不可缺少的组成部分。
二、软件开发工作的四个阶段:
最初阶段的工作仅限于把用户已经明确表述出来年算法,用机器语言写成一系列机器指令,供硬件运行使用。
第二阶段:汇编语言
第三阶段:高级程序设计语言
第四阶段:目前进入的以应用软件开发工具为标志的新阶段。
三、对于本书讨论的软件开发工具及新的软件开发方法来说,客观存在的发展主要表现在四个方面:
首先是自动化程度的提高。
其次,这一阶段的工作明确地把需求分析包括进了软件工作的范围之内,从而使软件开发过程进一步向用户方面延伸,离用户更近了。
(1)拘泥于集中式的处理思路,对于新的客户机/服务器结构未能及时适应;
(2)坚持在OS/400等自己特殊平台上开发,背离了开放性的大趋势。、三个要点:
(1)它是在高级程序设计语言(第三代语言)之后 ,软件技术进一步发展的产物;
(4)数据字典管理系统(DDMS);
(5)专用于画数据流程图、ER图或程序框图的绘图软件等。
2、专用的软件开发工具的出现,并未解决第三个困难,一致性的保持仍然是悬而未决的难题。这种情况导致集成的软件开发工具的产生。
3、1989年,IBM开发的AD/Cycle的主要失误在于两点:
第一代语言——机器语言
第二代语言——汇编语言
第三代语言——高级程序设计语言(过程化语言)
第四代语言——非过程化语言
2、第三代语言与第二代语言的区别
① 第三代语言突破了与机器指令一一对应的限制,用尽可能接近自然语言的表达方式描述人们设想的处理过程,把这种表达方式向机器指令的转化工作交给编译系统去完成。
第二个转换所要解决的是人和机器之间交流与协调问题:人和机器之间在思维方式、工作方式上都有许多根本区别。做好第二个转换的关键在于程序员的知识水平与实际经验。
3、对于单个程序员来说,做好软件工作的关键是以上两个转换。
二、大型软件开发中的困难(大题)
当程序的规模超 出一个人的力量范围时,一系列新的、更难以克服的困难就出现在人们的面前了。
②另一个重要的变化是高级设计语言实现了对机器的独立性,即不依赖特定的硬件系统,抽象地逻辑地描述处理和算法,而把硬件系统之间的区别交给不同的编译系统去处理,从而大大提高了程序的可移植性。
(第三代程序设计语言一般是过程化语言)
3、第四代语言——非过程化语言思想
人们希望机器能够自动地完成更多的工作,包括自动安排某些(不是全部)工作的顺序,而做到只要给机器下达需要做什么的命令,由机器自己去安排执行的顺序。
三、软件开发工具的性能
功能:是指软件能做什么事。
性能:是指事情做到什么样的程度。
●软件开发工具的五项重要性能:
1、表达能力或描述能力。
2、保持信息一致性的能力。
3、使用的方便程度。
4、工具的可靠程度。
5、对硬件和软件的要求。
二、软件开发工具的功能要求:(五个主要方面)
1、认识与描述客观系统。
这主要是用在软件开发工作的第一个阶段——需求分析阶段。
2、存储及管理开发过程中的信息。
3、代码的编写或生成。
4、文档的编制或生成。
5、软件项目的管理。
这一功能是为项目管理人员提供支持(包括:进度管理、资源与费用管理、质量管理三个基本要求)。
3、可视化编程、最终用户计算、组合编程、即插即用编程、组合软件等。
4、软件开发工具学:也即软件开发工具
1.3 软件开发工具的功能与性能
一、软件开发的过程:
第一阶段:初始要求的提出。软件开发工作者的任务是根据这种初始要求形成严格的、明确的、可供实际开发使用的功能说明书。(成果:软件功能说明)
二、按集成程度划分:专用、集成
1、专用的、面对某一工作阶段或某一工作任务的工具
2、集成化的、面对软件开发的全过程的工具(集成化的软件开发工具也常常被称为“软件工作环境”)
三、按与硬件、软件的关系划分
1、依赖于特定的计算机或特定的软件(如某种数据库管理系统)
第三,把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩展到了作为一个不断发展的客体生长完善的全过程。(这也是软件研制从个体的、手工作坊的方式向科学的、有组织、有计划的方式转变的一个重要表现。)
最后,这一阶段的研究吸收了许多管理科学的内容与方法,如程序员的组织、质量的控制等。
4、软件危机:
在认识到软件工作重要性的同时,也认识到软件工作的困难性。这就是所谓的“软件危机”问题的提出。
三、软件工作的重要性
1、软件是计算机的灵魂
(1)软件是广大使用者与计算机之间的桥梁;
(2)软件是人类的各个领域中积累的知识的结晶;
(3)软件是人类文明与知识得以延续的新的载体;
总之,软件开发工具的提出与使用,是软件技术发展的一个新的阶段。
四、涉及到的一些类似、相关的概念或术语:
1、第四代语言(4GL):原义是非过程化的程序设计语言。第四代语言可以被看作软件开发工具中的一类,而不是全部。软件开发工具的范围还要更宽一些。
2、CASS工具:两种解释。一种是计算机辅助软件工程,另一咱是计算机辅助系统工程。
一、应用软件开发队伍中的两种人员:
1、一种是计算机专业出身的技术人员。(面临的主要问题是如何尽快地进入新的应用领域,成为这个领域的内行,从而发挥自己的长处)
需求与分析工具是最直接、最急需的。
2、另一种人员来自各个应用领域,他们出身于计算机以外的各种专业领域。
感兴趣的是设计工具——第四代语言,各种代码生成系统等。
第二章 软件开发过程及其组织
2.1 软件开发中的困难
一、软件开发的基本知识
1、软件开发过程的两个转换:
首先是从用户的理解到程序员的理解,其次是从程序员的理解到程序的实现。
2、两个转换的基本情况:
第一个转换是用户对软件功能的理解和程序员对软件功能的理解之间的转换。保证这一转换顺利完成的手段就是利用尽可能标准化的方法编写程序设计任务书,用明确的语言或图形、表格,把程序要处理的信息的内容、格式、来源、去向、存储与处理清楚的表达出来,作为双方共同的理解。