欢迎来到天天文库
浏览记录
ID:13628867
大小:97.50 KB
页数:11页
时间:2018-07-23
《软件开发工具复习》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件开发工具复习 第一章 绪论1・在计算机技术中,归入系统软件的操作系统、汇编程序、编译系统无疑也是软件开发必不可少的工具,但是,一般来说不把它们归入软件开发工具的范围。2・理解:软件开发工具的范围大致可以描述为:在高级程序设计语言(第三代语言)的基础上,为提高软件开发质量和效率,从规划、分析、设计、测试、文档和管理等各方面,对软件开发者提供不同程度的帮助的一类软件。注:软件开发工具本身是一种软件,它是开发软件的一种软件,是在第三代语言的基础上发展起来的。(第三代语言在这里指:已经形成的软件开发技术。第一代语言:
2、机器语言。第二代语言:汇编语言。第三代语言:高级程序设计语言(过程化语言)。第四代语言:非过程化语言。3、二十世纪六十年代初,FORTRAN,ALGOL,COBOL等高级程序设计语言的成熟与普及,标志着计算机真正走出难以应用的困窘局面。这就是第三代语言的时代。4、高级程序设计语言实现了对机器的独立性,即它不依赖特定的硬件系统,抽象的逻辑的描述处理和算法,在第三代语言的应用中,人们发现的新的瓶颈——处理过程的描述。20世纪60年代末期开始,人们对软件工作的认识大大深入,在认识到软件工作重要性的同时,也认识到其工作的困难
3、性,这就是所谓软件危机问题。5、硬件是计算机的躯体,软件是计算机的灵魂。6、人类社会客观世界的复杂性决定了软件本身的复杂性。人类知识的丰富多彩决定了软件的极大的多样性。客观世界的动态性决定了软件对可维护性、可重用性越来越高的要求。7、面对日益扩大规模的软件,如何保证它的正确性、可靠性,如何控制软件开发的进度与成本,从结构化程序设计、软件工程、面向对象的程序设计方法、即插即用的程序设计方法,直到面向开源软件和互联网的程序设计,许多专家进行了大量的研究工作。8、70年代末到80年代初,很多软件开发人员已经想到了用软件来支
4、持软件开发工作,诸如:利用文字处理软件编写代码,利用绘图软件画图等,这个阶段称为利用通用软件作为辅助工具的阶段,或称为没用专用的软件开发工具阶段。9、利用通用软件帮助软件开发有三个主要缺点:1、有许多工作是通用软件无法完成的。2、用通用软件完成某些工作,只能表现出表面形式而不能表现出其逻辑内涵。3、用通用软件帮助人们完成软件开发时,一致性难以保持。10、E-R图和数据字典(DD)描述的同一个事物——客观系统中的数据结构。11、软件开发工具的种类很多,主要有:面向特定功能模块的代码生成器(报表生成器、菜单生成器等)、综
5、合性的第四代语言(一般是立足于某种数据库管理系统或某种第三代语言之上的)、专用于某种文档的编写工具,数据字典管理系统(DDMS)、专用于画数据流程图、E-R图或程序框图的绘图软件等。这些是分散的软件开发环境。但是,一批专用的软件开发工具的出现并未解决保持一致性的问题。问题的根源明显,那就是对软件的开发缺乏全面的、统一的支撑环境。接着发展的是集成的软件开发环境,rational公司开发的Objectory、Rose等集成的软件开发工具。12、回顾软件开发工具的过程,是一个从无到有,从分散到集成的发展过程。13、软件开发
6、工具概念的要点:1.它是在高级程序设计语言(第三代语言)之后,软件技术进一步发展的产物。2.它的目的是在人们开发软件中给予各种不同方面、不同程度的支持或帮助。3.它支持软件开发的全过程而不仅限于编码或其他稳定的工作阶段。注:在理解此概念的同时,应同时认识软件开发工具的继承性与创新性,软件开发工具是软件技术发展的必然产物与自然趋势,它的基本思想仍是致力于软件开发的高效优质,另一方面,随着人类对软件与软件开发过程的理解深入,又具备了一些以前的软件开发工作所没有的新的思想与方法。14、使用硬件高速运算与海量存储潜力的关键是
7、要有一套事先编好并存入机器的指令,这就是我们现在所说的程序。所谓事先编好的指令正是人们在实践中形成的工作规范与步骤。15、从应用的角度来看,硬件是提供信息存储和处理的基础,软件一端连着计算机硬件,向硬件提供可以执行的机器指令,另一端面向用户,接受用户提出的要求和算法。软件就是用户与硬件之间的桥梁。16、软件应当包括文档和程序两个不可缺少的部分。17、软件开发工作的概念从一次性、具体的编程,扩大到长期的、不断更新的过程。这就引出了项目管理、版本控制、软件重用等一系列的新问题。18、知识的提炼、表述、固化的作用,正是软件
8、和软件开发过程的实质所在。19、软件开发工具及新的软件开发方法,它的发展主要表现在四个方面:1、自动化程度的提高。2、这一阶段的工作明确的把需求分析和架构设计包括在软件工作的范围之内,从而软件开发过程进一步向用户延伸。大量开源软件出现的客观环境进一步显示出软件开发的继承性和开放性。3、把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限
此文档下载收益归作者所有