微软用户-第1章软件开发方法(一)软件概述课件.ppt

上传人(卖家):晟晟文业 文档编号:5132312 上传时间:2023-02-13 格式:PPT 页数:65 大小:929.50KB
下载 相关 举报
微软用户-第1章软件开发方法(一)软件概述课件.ppt_第1页
第1页 / 共65页
微软用户-第1章软件开发方法(一)软件概述课件.ppt_第2页
第2页 / 共65页
微软用户-第1章软件开发方法(一)软件概述课件.ppt_第3页
第3页 / 共65页
微软用户-第1章软件开发方法(一)软件概述课件.ppt_第4页
第4页 / 共65页
微软用户-第1章软件开发方法(一)软件概述课件.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

1、第第1 1章章 软件开发方法软件开发方法(一)软件概述(一)软件概述计算机教学实验中心计算机教学实验中心教学大纲下一页上一页停止放映第第2 2|56|56页页开场白开场白软件软件?软件是一种驱动力软件是一种驱动力学习这门课程的意义学习这门课程的意义怎么学好这门课程?怎么学好这门课程?课后立即要做的事情课后立即要做的事情下一页上一页停止放映第第3 3|56|56页页1 1理解软件的概念及软件的特征理解软件的概念及软件的特征2 2了解软件开发的历史了解软件开发的历史3 3了解软件的生命周期概念了解软件的生命周期概念4 4软件危机及项目失败的原因软件危机及项目失败的原因下一页上一页停止放映第第4 4

2、|56|56页页问题的提出问题的提出什么是软件什么是软件?软件有哪些特征软件有哪些特征?软件开发技术发展史软件开发技术发展史什么是软件危机?什么是软件危机?什么是软件生命周期?什么是软件生命周期?下一页上一页停止放映第第5 5|56|56页页软件(软件(SoftwareSoftware)随着信息化、网络化和数字化时代的到来,随着信息化、网络化和数字化时代的到来,社会对社会对“软件软件”的需求激增。如今,世的需求激增。如今,世界发达国家都把软件列为国家发展的关键界发达国家都把软件列为国家发展的关键技术领域。技术领域。美国国家关键技术委员会将软件列为六大关美国国家关键技术委员会将软件列为六大关键技

3、术之一;键技术之一;欧洲共同体将欧洲共同体将“软件和信息处理软件和信息处理”列为关键列为关键技术;技术;我国把信息产业放在优先发展的地位,看作我国把信息产业放在优先发展的地位,看作是中国发展高新技术、赶超世界先进水平是中国发展高新技术、赶超世界先进水平的一次千载难逢的机遇。的一次千载难逢的机遇。相关资料链接返回返回下一页上一页停止放映第第6 6|56|56页页1.1.11.1.1 软件的特征软件的特征软件是逻辑产品软件是逻辑产品软件产品质量的体现方式不同软件产品质量的体现方式不同软件产品的生命周期和失败曲线不同软件产品的生命周期和失败曲线不同软件产品的成本构成不同软件产品的成本构成不同大多数软

4、件仍然是定制生产的大多数软件仍然是定制生产的软件产品的不同属性软件产品的不同属性下一页上一页停止放映第第7 7|56|56页页软件是逻辑产品软件是逻辑产品软件产品是:软件产品是:具有产值、价格、质量和功具有产值、价格、质量和功能的特性能的特性 看不见看不见,是逻辑的、无形的是逻辑的、无形的 是脑力劳动的结晶是脑力劳动的结晶下一页上一页停止放映第第8 8|56|56页页软件产品质量体现方式不同软件产品质量体现方式不同质量体现方式不同:质量体现方式不同:实用、可靠、可操作性;实用、可靠、可操作性;可维护性强可维护性强 方便用户方便用户 不会折旧、损坏、老化不会折旧、损坏、老化下一页上一页停止放映第

5、第9 9|56|56页页软件产品的成本构成不同软件产品的成本构成不同 12%需求率需求率4%生产率生产率开发人员开发人员 19791979年美国国防预算的年美国国防预算的9%9%用于计算机领域,约用于计算机领域,约$113$113亿亿($1258($1258亿亿)。在这。在这$113$113亿中,亿中,$91$91亿用于软件投资(约亿用于软件投资(约占占80%80%),仅有不到),仅有不到$23$23亿用于购买硬件设备。亿用于购买硬件设备。下一页上一页停止放映第第10 10|56|56页页软、硬件失败曲线不同软、硬件失败曲线不同 下一页上一页停止放映第第11 11|56|56页页大多数软件产品

6、仍然是定制生产大多数软件产品仍然是定制生产 硬件产品的生产技术和工艺已经成熟,可以做硬件产品的生产技术和工艺已经成熟,可以做到标准化、系列化成批生产到标准化、系列化成批生产,用户可以用户可以“即插即插即用即用”方式使用。方式使用。尽管软件产品复用是软件界孜孜不倦追求的目尽管软件产品复用是软件界孜孜不倦追求的目标,在某些局部范围内几家领军软件企业也建标,在某些局部范围内几家领军软件企业也建立了一些软件组件复用的技术标准,例如,立了一些软件组件复用的技术标准,例如,OMGOMG的的CORBACORBA、MicrosoftMicrosoft的的COMCOM和和DCOMDCOM、SUNSUN的的EJB

7、EJB和和J2EEJ2EE,但是目前还做不到大范围使用软,但是目前还做不到大范围使用软件替代品。件替代品。大多数软件仍然是为特定任务或用户定制的。大多数软件仍然是为特定任务或用户定制的。下一页上一页停止放映第第12 12|56|56页页软件产品的不同属性软件产品的不同属性 为便于软件产品的研制、生产、维护和使用,为便于软件产品的研制、生产、维护和使用,软件还必须具有软件还必须具有:可维护性(可维护性(MaintainabilityMaintainability)独立性(独立性(DependabilityDependability)效率性(效率性(EfficiencyEfficiency)可用性

8、(可用性(UsabilityUsability)下一页上一页停止放映第第13 13|56|56页页1.1.21.1.2 软件分类软件分类软件按不同方式可以划分为软件按不同方式可以划分为不同的类型:不同的类型:按功能划分按功能划分按规模划分按规模划分下一页上一页停止放映第第14 14|56|56页页按功能划分软件分类按功能划分软件分类 软件软件系统软件系统软件应用软件应用软件操作系统操作系统网络系统网络系统语言编译器语言编译器工具软件工具软件管理软件管理软件实时软件实时软件科学计算、数据处理科学计算、数据处理嵌入式软件嵌入式软件人工智能软件人工智能软件专用领域软件专用领域软件下一页上一页停止放映

9、第第15 15|56|56页页系统软件系统软件是支持计算机系统正常运行并实现用户操作是支持计算机系统正常运行并实现用户操作的那部分软件。的那部分软件。一般是在计算机系统购买时随机携带的,也一般是在计算机系统购买时随机携带的,也可以根据需要另行安装。可以根据需要另行安装。系统软件的主要特征是:系统软件的主要特征是:与硬件有很强的交互性与硬件有很强的交互性 能对资源共享进行调度管理能对资源共享进行调度管理 能解决并发操作处理中存在的协调问题能解决并发操作处理中存在的协调问题 其中的数据结构复杂,外部接口多样化,其中的数据结构复杂,外部接口多样化,便于用户反复使用便于用户反复使用下一页上一页停止放映

10、第第16 16|56|56页页应用软件应用软件 应用软件是为满足用户不同领域、不同应用软件是为满足用户不同领域、不同问题的应用需求而提供的那部分软件。问题的应用需求而提供的那部分软件。它可以拓宽计算机系统的应用领域,放它可以拓宽计算机系统的应用领域,放大硬件的功能。大硬件的功能。应用软件具有无限丰富和美好的开发前应用软件具有无限丰富和美好的开发前景。景。下一页上一页停止放映第第17 17|56|56页页应用软件例应用软件例 事务处理软件事务处理软件 实时软件实时软件 科学计算和数据处理软件科学计算和数据处理软件 嵌入式软件嵌入式软件 人工智能软件人工智能软件 MIS,例如酒店管理系统、银行综合

11、业务处理系统。例如导弹自动追踪制导系统、自动控制系统等。例如并行计算、遗传基因研究、地质勘探数据处理等。例如舰载、机载、家电中的嵌入式软件。例如指纹鉴别、专家系统、计算机下棋等。下一页上一页停止放映第第18 18|56|56页页按规模划分软件分类按规模划分软件分类类别参加人员数研制期限产品规模(语句行数)实 例微型114周0.5k选择排序程序小型116月1k2k数值计算程序中型2512年5k10k汇编程序较大型52023年50k100k数据库系统大型100100045年1M操作系统极大型20005000510年1M10M空中交通管制系统下一页上一页停止放映第第19 19|56|56页页1.1.

12、31.1.3 软件开发技术发展史软件开发技术发展史 应用驱动是推进软件发展进程的主线应用驱动是推进软件发展进程的主线:从早期按个人意愿编写代码,到按软件工从早期按个人意愿编写代码,到按软件工程的理论生产大型应用系统;程的理论生产大型应用系统;从手工作坊式的封闭性制作到按标准制式、从手工作坊式的封闭性制作到按标准制式、大工业生产的开放系统;大工业生产的开放系统;从注重个人精雕细琢地编码技巧到注重工从注重个人精雕细琢地编码技巧到注重工程项目的管理和开发团队的协作;程项目的管理和开发团队的协作;从定制设计到以复用为目标的组件式开发;从定制设计到以复用为目标的组件式开发;从由少数软件天才的编程艺术到由

13、广大用从由少数软件天才的编程艺术到由广大用户直接参与的应用开发。户直接参与的应用开发。下一页上一页停止放映第第2020|56|56页页阶段划分阶段划分半个多世纪以来,软件及软件开发技术在半个多世纪以来,软件及软件开发技术在理论、观念、目标及技术方法等方面都发理论、观念、目标及技术方法等方面都发生了很大变化。生了很大变化。以以1010年左右为间隔,划分为五个阶段。详年左右为间隔,划分为五个阶段。详见表见表1-21-2。讨论每个时期软件开发技术的特点,包括讨论每个时期软件开发技术的特点,包括软件开发技术处理的对象、用途、目的、软件开发技术处理的对象、用途、目的、开发方法、开发工具、发展状况、技术突

14、开发方法、开发工具、发展状况、技术突破、理论成就及目标等。破、理论成就及目标等。下一页上一页停止放映第第21 21|56|56页页第一阶段第一阶段2020世纪世纪 40-5040-50年代年代 硬件:由“裸机”组成,计算机中不装任何软件。由于采用电子管作为逻辑电路的元器件,系统稳定性很差。软件:人们只关心硬件的性能和技术指标,系统设计与实现是以硬件为中心,软件开发(实际上是程序设计)处于从属地位。下一页上一页停止放映第第2222|56|56页页软件主要特征软件主要特征处理对象处理对象:由:由“0”0”和和“1”1”组成的二进制序列组成的二进制序列 ;用途用途:主要是科学计算及军事应用(弹道计算

15、);:主要是科学计算及军事应用(弹道计算);目的目的:“确定计算机硬件动作的序列确定计算机硬件动作的序列”;开发方法开发方法:经验主义;:经验主义;开发工具开发工具:机器语言;:机器语言;认识认识:计算机的用途是快速计算。:计算机的用途是快速计算。发展概况发展概况:机器语言、汇编语言、:机器语言、汇编语言、FORTRANFORTRAN语言;语言;技术突破技术突破:存储器技术、:存储器技术、“迭代迭代-反复反复”算法、观算法、观念转变念转变 ;理论成就理论成就:冯:冯诺依曼理论和图灵测试;诺依曼理论和图灵测试;目标目标:用最少资源来获得最大运算能力。:用最少资源来获得最大运算能力。下一页上一页停

16、止放映第第2323|56|56页页阶段软件大事件阶段软件大事件19461946年年6 6月,冯月,冯诺依曼与高德斯坦等人发表了诺依曼与高德斯坦等人发表了电子计算电子计算机装置逻辑结构初探机装置逻辑结构初探的论文,成为的论文,成为EDVACEDVAC的设计基础。的设计基础。19501950年年1010月,月,图灵发表图灵发表计算机器与智能计算机器与智能(Computing Computing Machinery and IntelligenceMachinery and Intelligence)论文,指出如果一台机器)论文,指出如果一台机器对于质问的响应与人类的响应完全无法区别,那么这台机对于

17、质问的响应与人类的响应完全无法区别,那么这台机器就具有智能。今天,人们把这一论断称为图灵测试,它器就具有智能。今天,人们把这一论断称为图灵测试,它奠定了人工智能的理论基础。奠定了人工智能的理论基础。19571957年,在年,在IBM704IBM704上运行了第一个上运行了第一个高级语言高级语言FORTRANFORTRAN,至,至今还在使用。今还在使用。下一页上一页停止放映第第2424|56|56页页第二阶段第二阶段2020世纪世纪 6060年代年代 硬件:在电路设计中采用晶体管和集成电路,使计算机的体积大大缩小,系统稳定性提高,价格降低。开始出现以屏幕显示器和键盘输入方式的商用计算机,促进了计

18、算机的产、销量急剧上升。软件:应用领域拓宽,社会对应用软件的需求急剧增加,软件的地位和作用不断提高,从而有力地推动了软件技术和开发方法的改进和发展。下一页上一页停止放映第第2525|56|56页页软件主要特征软件主要特征处理对象处理对象:高级语言编写的程序:高级语言编写的程序 ;用途用途:科学计算、商务应用和数据处理;:科学计算、商务应用和数据处理;目的目的:“确定计算机指令的动作序列确定计算机指令的动作序列”;开发方法开发方法:功能性程序设计;:功能性程序设计;开发工具开发工具:汇编语言、高级语言;:汇编语言、高级语言;认识认识:软件应独立于硬件;必须规范程序内部控制流;:软件应独立于硬件;

19、必须规范程序内部控制流;发展概况发展概况:高级语言;编译技术;非数值商业应用;软件危:高级语言;编译技术;非数值商业应用;软件危机机技术突破技术突破:高级语言促进计算机应用:高级语言促进计算机应用 ;功能性程序设计技术;功能性程序设计技术;理论成就理论成就:软件工程解决软件危机;结构化程序设计理论;:软件工程解决软件危机;结构化程序设计理论;目标目标:扩大程序系统的规模,以适应更复杂的应用。:扩大程序系统的规模,以适应更复杂的应用。下一页上一页停止放映第第2626|56|56页页阶段软件大事件阶段软件大事件19621962年,年,AuerbackAuerback公司提供了最早的基准程序公司提供

20、了最早的基准程序BenchmarkBenchmark用于测试技术。用于测试技术。19631963年,贝尔实验室发明了能够专门处理字符串的年,贝尔实验室发明了能够专门处理字符串的SNOBOLSNOBOL语言。同年,语言。同年,花费了花费了8080亿美元的美国半自动防空系统(亿美元的美国半自动防空系统(SAGESAGE)研发成功投入使用。)研发成功投入使用。19641964年年5 5月月1 1日,美国达特茅斯学院的凯梅尼和汤姆斯发明推出了日,美国达特茅斯学院的凯梅尼和汤姆斯发明推出了BASICBASIC语言。语言。19671967年,挪威计算中心的年,挪威计算中心的O OJ JDahlDahl和和

21、K KNygaardNygaard用用ALGOLALGOL语言开发出语言开发出Simula67Simula67用于模拟应用,这是第一个面向对象语言。用于模拟应用,这是第一个面向对象语言。19681968年年1010月北大西洋公约组织(月北大西洋公约组织(NATONATO)的科学委员会在德国加尔密斯)的科学委员会在德国加尔密斯(GarmischGarmisch)开会讨论软件可靠性及软件危机的问题,产生了关于)开会讨论软件可靠性及软件危机的问题,产生了关于“软件工程软件工程”的加尔密斯报告,首次提出了的加尔密斯报告,首次提出了“软件工程软件工程”的问题。的问题。同年,荷兰科学家埃德同年,荷兰科学家

22、埃德 Edsgar WEdsgar WDijkstraDijkstra在在 ACMACM通信上发表了通信上发表了“GOTOGOTO语句值得考虑的害处语句值得考虑的害处”的论文,的论文,引发了一场关于结构化编程的大讨论。国际信息处理联合会(引发了一场关于结构化编程的大讨论。国际信息处理联合会(FPFP)鼓励使用六)鼓励使用六位数字的数据格式(位数字的数据格式(YYMMDDYYMMDD)来表示日期进行信息交换,从而造成)来表示日期进行信息交换,从而造成20002000年危机年危机问题。问题。19691969年,贝尔实验室的年,贝尔实验室的Dennis MDennis MRitchieRitchie

23、和和K KThompsonThompson用用PDP-7PDP-7汇编指令编写汇编指令编写了了UNIXUNIX的第一版本的第一版本V1V1。UNIXUNIX的发展对计算机界、尤其是对软件界产生了巨大而的发展对计算机界、尤其是对软件界产生了巨大而深刻的影响。深刻的影响。下一页上一页停止放映第第2727|56|56页页第三阶段第三阶段2020世纪世纪 7070年代年代 硬件:发展具有里程碑意义;采用诸如大规模集成电路、分布式技术、网络技术、嵌入式等高新技术极大地提高了计算机系统的处理能力,特别是微处理器的诞生,开创了大众化使用计算机的新时代。软件:该阶段特征是:高性能的计算机系统对软件的功能和性能

24、提出了更高的要求。下一页上一页停止放映第第2828|56|56页页软件主要特征软件主要特征处理对象处理对象:小规模系统的程序设计:小规模系统的程序设计 ;用途用途:商务应用;网络互联;数据库应用;:商务应用;网络互联;数据库应用;目的目的:“:“研究数据结构和算法以寻求处理的时研究数据结构和算法以寻求处理的时-空平衡空平衡”;开发方法开发方法:研究数据结构和算法;结构:研究数据结构和算法;结构 化开发方法;化开发方法;开发工具开发工具:高级语言;数据库技术;:高级语言;数据库技术;认识认识:平衡时:平衡时-空平衡复杂度;程序执行的停机;程序可读性;空平衡复杂度;程序执行的停机;程序可读性;发展

25、概况发展概况:数据独立数据独立(文件文件,DB);,DB);对复杂系统的规格说明;对复杂系统的规格说明;技术突破技术突破:数据结构及算法:数据结构及算法;区分应用软件和系统软件;区分应用软件和系统软件;理论成就理论成就:数据结构及算法:数据结构及算法 理论;形式方法;软件工程方法;理论;形式方法;软件工程方法;目标目标:解决软件危机。:解决软件危机。下一页上一页停止放映第第2929|56|56页页阶段软件大事件阶段软件大事件19711971年,瑞士联邦技术学院的伍尔斯教授发明了第一个结构化的编程年,瑞士联邦技术学院的伍尔斯教授发明了第一个结构化的编程语言语言PascalPascal,并用,并用

26、1717世纪法国著名科学家世纪法国著名科学家 BlaiseBlaise Pascal Pascal(帕斯卡)(帕斯卡)的名字命名。同年,伍尔斯教授还提出的名字命名。同年,伍尔斯教授还提出“自顶向下、逐步细化自顶向下、逐步细化”的结的结构化程序设计方法。构化程序设计方法。Friedrich IFriedrich IBauerBauer提出软件工程的定义:提出软件工程的定义:“确确立并使用正确的工程原理和方法,以便能够经济地获得可靠而有效的立并使用正确的工程原理和方法,以便能够经济地获得可靠而有效的软件。软件。”19721972年,出现三种有深远影响的编程语言:贝尔实验室的年,出现三种有深远影响的

27、编程语言:贝尔实验室的 Dennis Dennis RitchieRitchie发明的发明的C C语言。它在语言。它在Martin RichardsMartin Richards的的 BCPLBCPL语言和语言和 Ken Ken TbompstonTbompston的的B B语言的基础上进行发展。最初的语言的基础上进行发展。最初的C C语言是为编写语言是为编写UNIXUNIX而而设计的,并在设计的,并在PDP-11PDP-11上首先实现。法国马赛大学的上首先实现。法国马赛大学的Alan ColmeratuerAlan Colmeratuer发明发明 PROLOGPROLOG语言,用于人工智能领

28、域,其在欧洲和日本比较流行。语言,用于人工智能领域,其在欧洲和日本比较流行。XeroxXerox公司公司Palo AltoPalo Alto研究中心研究中心 Alan KayAlan Kay(艾兰(艾兰凯)发明的凯)发明的 SmalltalkSmalltalk语言。它是一种面向对象的语言,适合使用鼠标工作的可语言。它是一种面向对象的语言,适合使用鼠标工作的可视计算机系统,它体现了与传统程序设计不同的观念及风格。同年,视计算机系统,它体现了与传统程序设计不同的观念及风格。同年,华裔科学家王安发展了字处理系统。华裔科学家王安发展了字处理系统。19761976年年B BW WBoehmBoehm又对

29、软件工程给出定义:又对软件工程给出定义:“在软件(包括程序和文档)设在软件(包括程序和文档)设计、实现、测试、运行、维户的各个过程中建立在科学基础上的一套实用计、实现、测试、运行、维户的各个过程中建立在科学基础上的一套实用方法方法”。C CA AHoareHoare则认为软件工程是则认为软件工程是“一种导致电子数字计算机具有强大一种导致电子数字计算机具有强大功能的艺术,这种功能表现为人可以方便地使用计算机功能的艺术,这种功能表现为人可以方便地使用计算机”。下一页上一页停止放映第第3030|56|56页页第四阶段第四阶段2020世纪世纪 8080年代年代 硬件:这个时期计算机发展体现在个人计算机

30、和计算机网络。软件:该阶段特征是个人计算机应用软件异军突起,形成信息产业中新的增长点。伴随微处理器和嵌入式系统的发展,计算机应用开始深入我们的日常工作和生活。旺盛的市场需求和政府企业甚至广大百姓的资金投入,孕育了大量软件企业。市场竞争和市场经济规则促进了软件产品功能更强,质量更高,性能价格比更好。大型机(包括中、小型机)软件向个人计算机上移植,从而为软件提供了更广阔的发展空间和巨大的用户市场。下一页上一页停止放映第第31 31|56|56页页软件主要特征软件主要特征处理对象处理对象:大型系统的程序设计:大型系统的程序设计 ;用途用途:关系数据库应用;各领域计算机应用;:关系数据库应用;各领域计

31、算机应用;目的目的:大众化普及应用计算机;:大众化普及应用计算机;开发方法开发方法:构造系统方法;用标记工具描述系统;文档是:构造系统方法;用标记工具描述系统;文档是 管理系统结构的主要手段;管理系统结构的主要手段;开发工具开发工具:高级语言;基于:高级语言;基于PCPC的开发工具;早期的开发工具;早期CASECASE工具;工具;认识认识:软件生命周期;强调开发组协作的重要性;:软件生命周期;强调开发组协作的重要性;发展概况发展概况:软件工程研究机构;:软件工程研究机构;CASECASE环境;图形界面系统;环境;图形界面系统;技术突破技术突破:C/SC/S计算模式计算模式 ;GUIGUI图形用

32、户界面;图形用户界面;理论成就理论成就:RDBRDB的理论;的理论;软件工作量度量软件工作量度量COCOMOCOCOMO;软件过;软件过程改进模型程改进模型CMMCMM;目标目标:开发更大规模和复杂性软件系统,满足应用的需求。:开发更大规模和复杂性软件系统,满足应用的需求。下一页上一页停止放映第第3232|56|56页页阶段软件大事件阶段软件大事件1981年,美国 Ashton Tate公司推出关系数据库dBASE,并迅速赢得世界范围内的巨大市场。1981年,IBM公司推出个人计算机IBM PC,选Microsoft公司的MS-DOS作为其个人计算机的操作系统,并将其命名为PC-DOS。从而为

33、Bill Gates的Microsoft公司的发展开辟一条通往成功的道路。1981年,中国颁布了信息交换用汉字编码字符集基本集,国家标准代号GB2312-80。1983年,王永民发明了“五笔字型”汉字输人法。1983年,贝尔实验室发展了C+语言,既在C语言的基础上增加了面向对象程序设计所需要的抽象数据类型类。1984年10月15日,国际标准化组织ISO制定了开发系统互连参考模型OSI/RM,即ISO7498-1。它从逻辑上把网络功能分成七层。1985年,Microsoft公司推出Windows窗口界面操作系统。1986年,Oracle公司推出 Distributed ORACLE分布式关系数据

34、库。1987年,卡内基梅隆大学的软件工程研究所的Watts Humphrey等发表了“软件过程成熟度框架”,后来成为用于预测开发单位是否有能力生产可靠软件的“能力成熟度模型CMM”。同年,IBM公司和Microsoft公司合作推出OS2操作系统,为IBM公司的PS/2 个人计算机系统配套。OS/2被称为32位微机的新一代操作系统。下一页上一页停止放映第第3333|56|56页页第五阶段第五阶段2020世纪世纪 9090年代年代 硬件:当计算技术发展到网络计算,标志着计算机网络时代的到来。伴随处理分散的海量数据的应用需求,诞生并促进了分布式技术、并行计算、人工神经网络等技术的发展。软件:该阶段软

35、件特征是:多媒体信息的实时处理技术成为研究的热点;计算机系统内部传统处理模式(单指令流单数据流SISD和单指令流多数据流SIMD)受到极大挑战,具有并行处理功能的新型处理模式(多指令流多数据流MIMD)倍受关注和厚爱;面向对象开发方法代表着提高开发效率和质量的方向;信息唾手可得的网络服务软件满足着人们日益增长的应用需求。下一页上一页停止放映第第3434|56|56页页软件主要特征软件主要特征处理对象处理对象:基于:基于Internet/WebInternet/Web的程序设计的程序设计 ;用途用途:网络互联及网络应用;:网络互联及网络应用;目的目的:通过支持跨地区、跨部门、跨时间的群组共享信息

36、协同:通过支持跨地区、跨部门、跨时间的群组共享信息协同工作来提高群组,集团的整体的生产率;工作来提高群组,集团的整体的生产率;开发方法开发方法:基于组件、基于:基于组件、基于Internet/WebInternet/Web的开发方法;的开发方法;开发工具开发工具:组件技术;基于:组件技术;基于WebWeb开发工具;现代开发工具;现代CASECASE工具工具 ;认识认识:非功能性需求的重要性;基于环境的软件过程改造;:非功能性需求的重要性;基于环境的软件过程改造;发展概况发展概况:Internet/IntranetInternet/Intranet;基于;基于WebWeb应用;虚拟现实技术;应用

37、;虚拟现实技术;新技术涌现,但缺乏理论指导;新技术涌现,但缺乏理论指导;技术突破技术突破:设计模式:设计模式 ;浏览器技术;浏览器技术;CORBA/COM/OLECORBA/COM/OLE技术;技术;理论成就理论成就:“交互模型交互模型”作为网格计算的理论基础;作为网格计算的理论基础;目标目标:正确的时刻,把正确的信息,安全地送给需要的人。:正确的时刻,把正确的信息,安全地送给需要的人。(Just in time information.)(Just in time information.)下一页上一页停止放映第第3535|56|56页页阶段软件大事件阶段软件大事件19901990年,年,T

38、im BernersTim Berners Lee Lee提出了关于提出了关于World Wide WebWorld Wide Web的原型,并同的原型,并同时给出了时给出了 URLURL、HTMLHTML和和HTTPHTTP的概念。的概念。19911991年年IBMIBM与与MicrosoftMicrosoft分道扬镳。分道扬镳。6 6月月1313日,中国颁布了日,中国颁布了计算机软计算机软件保护条例件保护条例,并于同年,并于同年1010月月1 1日开始实施。日开始实施。19931993年,伊利诺斯州大学的超级计算机应用研究中心的学生和研究人年,伊利诺斯州大学的超级计算机应用研究中心的学生和

39、研究人员开发了第一个基于图形用户界面的员开发了第一个基于图形用户界面的InternetInternet浏览器,取名为浏览器,取名为NCSA NCSA MasaicMasaic。同年,美国白宫发表了一份报告,阐述了克林顿政府的。同年,美国白宫发表了一份报告,阐述了克林顿政府的“National Information Infrastructure”National Information Infrastructure”(国家信息基础建设)(国家信息基础建设)发展计划。人们把发展计划。人们把 NIINII常称为常称为“Information Super Highway”Information Su

40、per Highway”(信(信息高速公路)。息高速公路)。19941994年,年,NetscapeNetscape公司首次推出它的浏览器公司首次推出它的浏览器NavigatorNavigator。由于它卓越。由于它卓越的功能和便捷的操作方式,使其在很短的时间内风靡世界。的功能和便捷的操作方式,使其在很短的时间内风靡世界。19951995年,年,SUNSUN公司推出了公司推出了JavaJava及其集成开发环境。及其集成开发环境。JavaJava语言是基于语言是基于InternetInternet的编程语言,使得应用程序同时在不同平台运行成为可能。的编程语言,使得应用程序同时在不同平台运行成为可

41、能。同年,同年,MicrosoftMicrosoft公司推出公司推出 Windows95Windows95。下一页上一页停止放映第第3636|56|56页页1.1.41.1.4 软件危机软件危机从从2020世纪世纪6060年代开始,软件界经常遭受软件危机年代开始,软件界经常遭受软件危机的袭扰。的袭扰。以以IBMIBM公司的公司的OS/360OS/360操作系统为例。它共有操作系统为例。它共有40004000多多个模块、个模块、100100万行指令,共投入万行指令,共投入50005000人年,耗资人年,耗资5 5亿美元,但在交付使用的系统中仍找出亿美元,但在交付使用的系统中仍找出20002000

42、个以个以上的错误。上的错误。开发软件所需的高成本与软件产品的低质量之间开发软件所需的高成本与软件产品的低质量之间存在尖锐的矛盾。软件开发陷入不可自拔的恶性存在尖锐的矛盾。软件开发陷入不可自拔的恶性循环之中。这种现象被称为循环之中。这种现象被称为“软件危机软件危机”(Software CrisisSoftware Crisis)。)。下一页上一页停止放映第第3737|56|56页页软件危机的表现软件危机的表现软件开发进度难以预测软件开发进度难以预测软件开发成本难以控制软件开发成本难以控制用户对软件功能难以满足用户对软件功能难以满足软件产品质量无法保证软件产品质量无法保证软件产品难以维护软件产品难

43、以维护软件通常缺少适当的文档资料软件通常缺少适当的文档资料生产率提高的速度不能满足社会需要生产率提高的速度不能满足社会需要下一页上一页停止放映第第3838|56|56页页 软件开发进度难以预测软件开发进度难以预测以丹佛新国际机场为例以丹佛新国际机场为例:该机场规模是曼哈顿机场的两倍该机场规模是曼哈顿机场的两倍,宽为希思机场宽为希思机场的的1010倍倍,可全天侯同时起降三架喷气式客机;可全天侯同时起降三架喷气式客机;投资投资1.931.93亿美元建立了一个地下行李传送系统,亿美元建立了一个地下行李传送系统,总长总长2121英里,有英里,有4,0004,000台遥控车,可按不同线路台遥控车,可按不

44、同线路在在2020家不同航空公司柜台、登机门和行李领取处家不同航空公司柜台、登机门和行李领取处之间发送和传递行李;之间发送和传递行李;支持该系统的是支持该系统的是5,0005,000个电子眼、个电子眼、400400台无线电接台无线电接收机、收机、5656台条形码扫描仪和台条形码扫描仪和100100台计算机。台计算机。按原定计划要在按原定计划要在19931993年万圣节前启用,但一直到年万圣节前启用,但一直到19941994年年6 6月,该系统还无法正常运行。月,该系统还无法正常运行。据研究结果统计:只有据研究结果统计:只有15%15%的项目是按计划完成的。的项目是按计划完成的。下一页上一页停止

45、放映第第3939|56|56页页软件开发成本难以控制软件开发成本难以控制 据同样的研究统计结果表明:仅有据同样的研究统计结果表明:仅有10%10%的项目是的项目是按费用计划完成的。按费用计划完成的。例如,例如,2020世纪世纪8080年代初,美国国内税收服务处年代初,美国国内税收服务处(IRSIRS)让)让SperrySperry公司开发一套联邦公司开发一套联邦税收表格税收表格自动处理系统自动处理系统。结果是:系统被证明不适合当。结果是:系统被证明不适合当前的工作量,前的工作量,花费几乎是预算的两倍花费几乎是预算的两倍,必须立必须立即更换即更换(华盛顿邮报的报道)。到(华盛顿邮报的报道)。到1

46、9851985年,还年,还需要再追加需要再追加9 9千万美元来改进千万美元来改进SperrySperry公司最初公司最初价值价值1.031.03亿美元的设备。另外,因为出现的问亿美元的设备。另外,因为出现的问题阻碍了题阻碍了IRSIRS按时返还纳税者的税款,按时返还纳税者的税款,IRSIRS还被还被迫偿还迫偿还4.024.02亿美元的利息以及亿美元的利息以及2.232.23千万美元的千万美元的工资给加班职员。工资给加班职员。下一页上一页停止放映第第4040|56|56页页用户对产品功能难以满足用户对产品功能难以满足 开发人员和用户之间很难沟通、矛盾很难统一。开发人员和用户之间很难沟通、矛盾很难

47、统一。往往是软件开发人员不能真正了解用户的需求,往往是软件开发人员不能真正了解用户的需求,而用户又不了解计算机求解问题的模式和能力,而用户又不了解计算机求解问题的模式和能力,双方无法用共同熟悉的语言进行交流和描述。双方无法用共同熟悉的语言进行交流和描述。在双方互不充分了解的情况下,就仓促上阵设在双方互不充分了解的情况下,就仓促上阵设计系统、匆忙着手编写程序,这种计系统、匆忙着手编写程序,这种“闭门造车闭门造车”的开发方式必然导致最终的产品不符合用户的的开发方式必然导致最终的产品不符合用户的实际需要。实际需要。表表1-21-2显示了开发系统失败所造成的经济损失。显示了开发系统失败所造成的经济损失

48、。例如,美国空军B-1BEW系统耗资$12亿,结果项目失败。下一页上一页停止放映第第41 41|56|56页页软件产品质量无法保证软件产品质量无法保证例如,一次美国在肯尼迪角发射一枚阿脱拉斯火例如,一次美国在肯尼迪角发射一枚阿脱拉斯火箭,预定将用这种火箭运载飞往金星的宇宙飞箭,预定将用这种火箭运载飞往金星的宇宙飞船。火箭飞离地面几十英里高空开始翻转,地船。火箭飞离地面几十英里高空开始翻转,地面控制中心被迫下令自爆炸毁。后经检查发现面控制中心被迫下令自爆炸毁。后经检查发现是飞行计划程序中漏掉一个连字符。就是这样是飞行计划程序中漏掉一个连字符。就是这样一个连字符的疏漏造成这枚价值一个连字符的疏漏造

49、成这枚价值18501850万美元的万美元的火箭实验失败。火箭实验失败。据统计数字表明:在大型系统中,约据统计数字表明:在大型系统中,约3/43/4的系统的系统有问题。表有问题。表1-31-3显示了美国对政府开发的显示了美国对政府开发的9 9个软个软件项目调查的结果。可用系统只占不到件项目调查的结果。可用系统只占不到5%5%。下一页上一页停止放映第第4242|56|56页页软件产品难以维护软件产品难以维护 软件产品本质上是开发人员的代码化的软件产品本质上是开发人员的代码化的逻辑思维活动,他人难以替代。除非是逻辑思维活动,他人难以替代。除非是开发者本人,否则很难及时检测、排除开发者本人,否则很难及

50、时检测、排除系统故障。系统故障。为使系统适应新的硬件环境,或根据用为使系统适应新的硬件环境,或根据用户的需要在原系统中增加一些新的功能,户的需要在原系统中增加一些新的功能,又有可能增加系统中的错误。又有可能增加系统中的错误。下一页上一页停止放映第第4343|56|56页页软件缺少适当的文档资料软件缺少适当的文档资料 实际上,软件的文档资料是开发组织和用户实际上,软件的文档资料是开发组织和用户的之间权利和义务的合同书,是系统管理者、的之间权利和义务的合同书,是系统管理者、总体设计者向开发人员下达的任务书,是系总体设计者向开发人员下达的任务书,是系统维护人员的技术指导手册,是用户的操作统维护人员的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(微软用户-第1章软件开发方法(一)软件概述课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|