软件危机与软件工程要点汇编

软件危机与软件工程要点汇编

ID:5407829

大小:466.84 KB

页数:90页

时间:2017-12-10

软件危机与软件工程要点汇编_第1页
软件危机与软件工程要点汇编_第2页
软件危机与软件工程要点汇编_第3页
软件危机与软件工程要点汇编_第4页
软件危机与软件工程要点汇编_第5页
资源描述:

《软件危机与软件工程要点汇编》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件危机与软件工程要点汇编一、软件、软件危机、软件工程1.软件:程序+文档+数据2.软件的分类:·系统软件:能与计算机硬件紧密配合在一起,使计算机系统各个部件、相关的软件和数据协调、高效地工作的软件。例如,操作系统、数据库管理系统、设备驱动程序以及通信处理程序等。·支撑软件:是协助用户开发软件的工具性软件,其中包括帮助程序人员开发软件产品的工具,也包括帮助管理人员控制开发的进程的工具。·应用软件:是在特定领域内开发,为特定目的服务的一类软件。3.软件发展的趋势·程序设计阶段,约为50至60年代·程序系统阶段,约为60至70年代·软件工程阶段,约为

2、70年代以后规模化——复杂性商品化——用户需求4.软件危机20世纪60年代主要表现:需求和维护-89-(1)需求不满足(2)成本高、价格贵(3)生产进度无法控制(4)与用户需求不一致(5)质量不易保证(6)可维护性差软件危机实质是:开发软件需要的高成本同软件产品质量之间存在着尖锐的矛盾现象。5.软件工程:为了解决软件危机,而形成的一种概念、方法和技术。是一门指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验并证明是正确的管理技术和技术措施(方法和工具)结合起来,这就是软件工程。中心思想:把软件当作

3、一种工业产品,要求“采用工程化的原理和方法对软件进行计划、开发和维护”。这样做的目的,不仅是为了实现按预期的进度和经费完成软件生产计划,也是为了提高软件的生产率和可靠性。6.软件工程的发展:1968年,北大西洋公约组织首次提出7.软件工程的内容内容软件开发技术软件开发方法学基于瀑布模型的结构化生命周期方法-89-基于动态需求的快速原型法基于结构的面向对象的软件开发方法软件工具用来开发软件的软件软件工程环境支持软件开发的环境,软件工具及其相互间关系的总和软件工程管理软件管理人力管理、进度安排、质量保证、资源管理软件工程经济学以经济学的观点研究开发过

4、程中的经济效益。成本估算、效益分析的方法和技术结构分析(SA)——结构设计(SD)——结构程序(SP)8.软件工程的原则以上的软件工程基本目标适合于所有的软件工程项目。为达到这些目标,在软件开发过程中必须遵循下列软件工程原则。·抽象:抽取事物最基本的特性和行为,忽略非基本的细节。采用分层次抽象,自顶向下、逐层细化的办法控制软件开发过程的复杂性。·信息隐蔽:将模块设计成“黑箱”-89-,实现的细节隐藏在模块内部,不让模块的使用者直接访问。这就是信息封装,使用与实现分离的原则。使用者只能通过模块接口访问模块中封装的数据。·模块化:模块是程序中逻辑上相

5、对独立的成分,是独立的编程单位,应有良好的接口定义。如C语言程序中的函数过程,C++语言程序中的类。模块化有助于信息隐蔽和抽象,有助于表示复杂的系统。·局部化:要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块之间具有松散的耦合,模块内部具有较强的内聚。这有助于控制解的复杂性。·确定性:软件开发过程中所有概念的表达应是确定的、无歧义性的、规范的。这有助于人们之间在交流时不会产生误解、遗漏,保证整个开发工作协调一致。·一致性:整个软件系统(包括程序、文档和数据)的各个模块应使用一致的概念、符号和术语。程序内部接口应保持一致。软件和硬件、操

6、作系统的接口应保持一致。系统规格说明与系统行为应保持一致。用于形式化规格说明的公理系统应保持一致。·完备性:软件系统不丢失任何重要成分,可以完全实现系统所要求功能的程度。为了保证系统的完备性,在软件开发和运行过程中需要严格的技术评审。·可验证性:开发大型的软件系统需要对系统自顶向下、逐层分解。系统分解应遵循系统易于检查、测试、评审的原则,以确保系统的正确性。-89-使用一致性、完备性和可验证性的原则可以帮助人们实现一个正确的系统。二、软件生命周期1.生命周期:从开始计划起,到废弃不用止,称为软件的生存周期。分析设计—开发运行—维护完善—为其他软件

7、所代替2.瀑布模型:B.W.Boehm瀑布模型规定了各项软件工程活动,包括:制定开发计划,进行需求分析和说明,软件设计,程序编码。测试及运行维护,参看图1.2。并且规定了它们自上而下,相互衔接的固定次序,如同瀑布流水,逐级下落。图1.2软件生存周期的瀑布模型3个时期:计划——开发——运行8个阶段:问题定义—可行性研究—需求分析—总体设计—详细设计—编码—测试—维护-89-3.演化模型:由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。因此,可以先做试验开发,其目标只是在于探索可

8、行性,弄清软件需求;然后在此基础上获得较为满意的软件产品。通常把第一次得到的试验性产品称为“原型”。4.螺旋模型:对于复杂的大型软件,开

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。