[计算机软件及应用]软件工程与软件过程总论课件(PPT 46页)_第1页
[计算机软件及应用]软件工程与软件过程总论课件(PPT 46页)_第2页
[计算机软件及应用]软件工程与软件过程总论课件(PPT 46页)_第3页
[计算机软件及应用]软件工程与软件过程总论课件(PPT 46页)_第4页
[计算机软件及应用]软件工程与软件过程总论课件(PPT 46页)_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程与 软件过程华东师范大学软件学院 董 军2003.7第1页,共46页。讨论主题回顾和现状软件工程 软件过程动向策略7/22/20222软件工程与软件过程第2页,共46页。回顾和现状软件危机美国印度中国小结7/22/20223软件工程与软件过程第3页,共46页。软件危机软件开发产生了越来越多的问题:质量低下;进度拖延;预算超支;错误频出;维护费用不断上升;可靠性得不到保障,等。7/22/20224软件工程与软件过程第4页,共46页。美国1962年6月,美国飞向金星的第一个空间探测器水手号 ,其飞舱中的计算机程序之一的一个语句的语义出错 ;IBM公司在1963年至1966年开发的IBM36

2、0操作系统,投入数千人年;20世纪70年代中期,失败的软件项目中,70%是由于管理不善引起的。90年代中期,有2500亿美元用于17.5万个软件项目,其中31%的项目在完成前被取消,费用为810亿美元;53%的项目的费用是原估计费用的190%;只有10%的项目在预定的费用和进度下交付。后来,每年有2750亿美元用于20万个软件项目上,有16%的项目能按时并按预算完成。 7/22/20225软件工程与软件过程第5页,共46页。印度财富500强中有185家公司在印度采购软件产品,印度有1250家公司出口软件1。 7/22/20226软件工程与软件过程第6页,共46页。我国软件产业状况2 (1)产业

3、规模与结构1992年我国软件产业总额仅43亿元;2002年软件产业总额达到1100亿元。 1999年,软件占计算机市场比例为25.6,占GDP的比例0.54;2001年软件占计算机市场比例达31.8,占GDP比例为0.83。 7/22/20227软件工程与软件过程第7页,共46页。我国软件产业状况(2) 软件企业数量 目前,我国从事软件与服务业的企业超过1万家,其中具有自主研发能力的约6000家,从事软件销售、维护和服务的约5000家。 7/22/20228软件工程与软件过程第8页,共46页。我国软件产业状况(3) 软件企业规模 在6000多家软件企业中。按人员数量,50人以下的占60,100

4、500人的占相当比例,1000人以上的50多家。到2001年底,我国销售额超过亿元的软件企业已超过90家,超过10亿元的软件企业达13家。7/22/20229软件工程与软件过程第9页,共46页。我国软件产业状况(4) 基本市场情况 以2001年为例,2001年中国软件产品销售额为330亿元,比2000年增长38.7,其中系统软件销售额为50亿元,同比增长50.6; 支撑软件销售额为81.9亿元,同比增长65.1;应用软件销售额为198.1亿元,同比增长27.7。 上述销售总额中,嵌入式软件销售额为48亿元,占总额的14.5。 7/22/202210软件工程与软件过程第10页,共46页。我国软件

5、产业状况(5) 软件人员现状与发展 我国软件从业人员有50万人,此外还有近30万人在社会各领域从事与计算机软件相关的工作。到2001年底,我国普通高等院校中设立计算机及软件专业的有1023所,其中475所本科院校,计算机及软件专业在校生总数58.6万人。2001年我国高校培养的计算机与软件专业人员为6.2万人,其中硕士、博士占5。 7/22/202211软件工程与软件过程第11页,共46页。我国软件产业状况(6) 国家软件产业基地 2001年6月,国家正式认定北京、上海、大连、成都、西安、济南、杭州、广州、长沙、南京、珠海等11个,7/22/202212软件工程与软件过程第12页,共46页。开

6、发成本美国:1000015000美元印度:800010000美元中国:30005000美元7/22/202213软件工程与软件过程第13页,共46页。小结中国在软件工程方法和实践间脱节严重,近年开始出台相关政策、措施。鼓励软件产业和集成电路发展若干政策, 200018号文件;振兴软件产业行动纲领, 200247号文件。7/22/202214软件工程与软件过程第14页,共46页。软件工程3软件的作用 特征 问题 应用软件工程定义 问题 阶段 模型7/22/202215软件工程与软件过程第15页,共46页。软件的作用 软件的双重作用:作为产品:生产、管理、获取、修改、显示或传播信息; 作为分发产品

7、的载体:操作系统、网络工具与环境。 7/22/202216软件工程与软件过程第16页,共46页。软件的特征软件是被开发的,而不是象传统意义下那样被制造的; 软件无“磨损”;尽管工业是朝着基于组件装配方向发展的,但大多数软件还是客户定制的。7/22/202217软件工程与软件过程第17页,共46页。软件的问题为何要如此长的时间来完成软件? 为何开发费用这么高? 为何在把软件交给用户前不能发现所有错误? 为何随着软件的开发在测量进展时不断遇到困难? 7/22/202218软件工程与软件过程第18页,共46页。软件的应用系统软件实时软件商业软件工程和科学软件嵌入式软件个人计算机软件基于Web的软件人

8、工智能软件,等等7/22/202219软件工程与软件过程第19页,共46页。软件工程定义1968年由北大西洋公约组织在德国格密斯举行的学术会议 “软件工程”被提出 IEEE的定义 :(1)应用系统化、纪律化和定量化的方法进行软件开发、操作和维护。(2)对(1)中方法的研究。7/22/202220软件工程与软件过程第20页,共46页。软件工程面临的问题什么是要解决的问题?用于解决问题的实体(软件)的特征是什么?实体和解决方案如何实现?如何构造实体?用什么方法揭示实体设计和构造中的错误?在需要更正、适应和改善时,实体如何被长期支持?7/22/202221软件工程与软件过程第21页,共46页。软件工

9、程阶段定义阶段:系统和信息工程,软件项目规划,需求分析。开发阶段:软件设计、代码生成和软件测试。支撑阶段:涉及四种类型的改变:更正、适应、改善以及预防。本质上,预防性维护对计算机程序作改变,使之更容易被更正、适应和改善。7/22/202222软件工程与软件过程第22页,共46页。软件工程模型线性模型,原形模型,快速应用开发模型进化软件过程模型:增量模型,螺旋模型,并行开发模型基于组件的模型:合并了很多螺旋模型的特征,UML形式化方法模型:用严格的数学方法说明、设计和验证基于计算机的系统,不明确、不完整、不一致能被容易地发现和更正,但不是通过特别的评审,而是通过数学化分析的应用。7/22/202

10、223软件工程与软件过程第23页,共46页。计算机辅助软件工程 经过结构程序设计的讨论,20世纪70年代开始,人们认识到单纯寄希望于高级语言及其编译系统是不够的,还与方法论有关,从而有了“软件自动化”及“计算机辅助软件工程”思想。这里,集成化4是核心的:松散的集成化:信息集成;紧偶合的集成:反映工具间的内在联系7/22/202224软件工程与软件过程第24页,共46页。两条道路之北美北美工业界,强调软件技术。70年代到80年代中期,希望通过提高自动化水平提高生产率。由于大型软件结构复杂,难以找到统一的风格和步骤;80年代中后期,强调重用。但对语义理论过分忽略。7/22/202225软件工程与软

11、件过程第25页,共46页。两条道路之西欧西欧学术界,一贯认为提高软件生产率的关键是提高软件的可靠性与可维护性。前者强调语义精确的规范语言,后者强调软件开发的逐步求精过程的语义一致性。这里,很重要的是选取适当的软件体系结构,以与模块相对应的组件为基础。技术上强调模块可重用性和理论上强调语义可靠性这两种软件工程方向的合理结合。7/22/202226软件工程与软件过程第26页,共46页。小结 软件工程是集成了适合于计算机软件开发的过程、方法和工具的学科。 三十年余年来,软件工程逐步与计算机科学、计算机工程和信息系统一起成为并列的方向,形成相对独立的知识体系。 7/22/202227软件工程与软件过程

12、第27页,共46页。软件过程软件过程工程CMM/CMMISPICE Agile7/22/202228软件工程与软件过程第28页,共46页。软件工程的一种划分软件工程的一种划分为5传统软件工程20世纪80年代以来,对象工程20世纪80年代中期,过程工程进入20世纪90年代之后,构件工程7/22/202229软件工程与软件过程第29页,共46页。软件过程1984年10月,第一届国际软件过程讨论会,正式提出“软件过程”:是在软件生命周期中所实施的一系列活动的集合,每个活动可由一些任务组成。7/22/202230软件工程与软件过程第30页,共46页。软件过程工程 是为建立软件过程所必须实施的一系列工程

13、化的活动。它涉及与此有关的方法、工具和环境的研究。7/22/202231软件工程与软件过程第31页,共46页。现代软件工程 软件过程工程是以软件过程为中心的工程活动。 软件工程所进行的是以软件开发为中心的工程活动,称为软件项目工程。 它们共同构成了现代软件工程的概念框架。7/22/202232软件工程与软件过程第32页,共46页。动向由面向产品走向面向服务Agent技术对象和组件 形式化方法模型净室软件工程 ,等等7/22/202233软件工程与软件过程第33页,共46页。由面向产品走向面向服务 国际产业界一般不提“软件产业”,代之以“软件服务业”: 成套大众产品供应商(如微软); 解决方案供

14、应商(如IBM); 软件专业服务供应商(如普华永道)。7/22/202234软件工程与软件过程第34页,共46页。Agent技术 软件的运行已逐渐转变到开放和动态的网络环境,而Agent的自主性和交互性能适应这样的改变,并可带来软件在开发方法和使用方法等方面的一系列变化。7/22/202235软件工程与软件过程第35页,共46页。对象和组件 根本的目的是复用 被复用的对象可以是有形的物体,也可以是无形的成果。 如集成电路的设计和使用。7/22/202236软件工程与软件过程第36页,共46页。程序设计范式的演化6 (1) 最早出现也是最常用的程序设计范式是:决定想要的过程,使用能找到的最好算法

15、。其核心是过程的设计,当然这些过程必须具有参数传递功能。7/22/202237软件工程与软件过程第37页,共46页。程序设计范式的演化(2) 随后,程序设计重点转到了数据组织上,程序设计范式是:决定想要的模块,将程序划分为不同的模块,而数据则隐藏在各模块中。这就是数据隐藏原则,它使得对数据的操作尽量局限在模块内部。 7/22/202238软件工程与软件过程第38页,共46页。程序设计范式的演化(3) 接着,出现了抽象数据类型的概念,程序设计范型变为:决定想要的类型,为各类型提供一个完整的操作集合。其核心是用户定义类型,隐藏性和灵活性更好了。 7/22/202239软件工程与软件过程第39页,共

16、46页。程序设计范式的演化(4) 数据抽象由下列两方面支持:为某一类型定义一操作集合; 对该类型的对象的存取限于该操作集合。由此便导出了类的概念。 类概念本身是在程序设计领域中由类型概念抽象得出的,体现了人们的一种抽象思维过程。 7/22/202240软件工程与软件过程第40页,共46页。形式化方法 由于目前它比较化时间并很昂贵,有足够背景的开发人员还很少,用户也不习惯,形式化方法尚未成为主流方法,但它为无缺陷软件的产生提供了希望。7/22/202241软件工程与软件过程第41页,共46页。净室软件工程IBM的净室软件工程设计方法提出了以合理的成本开发零缺陷或接近零缺陷软件的基于理论、面向工程

17、的方法;动机是提高软件可靠性和效费比;它结合了基于工程的技术,以及基于对象的系统论证、正确性验证和统计质量论证等技术;目标使软件开发在性能方面有本质改进,在可靠性和生产率两方面形成竞争优势;7/22/202242软件工程与软件过程第42页,共46页。仅有行业技术规范还不够 中国软件业的发展还需要市场规范7:政府在主导过程中没有能够有效地进行市场资源的配置,在信息技术投资过程中,软件企业的选择不够充分市场化;资源未能向优势企业集中;未能最大限度体现公平、公开、公正的原则。7/22/202243软件工程与软件过程第43页,共46页。教育与现实需求的差距 企业化的开发流程未在学校体现; 教师缺乏实际

18、的规范的项目开发经验; 教科书的内容与实践脱节。7/22/202244软件工程与软件过程第44页,共46页。振兴软件产业行动纲要8国务院信息化工作办公室公布,未来三年达到软件销售额2500亿产品和服务国内市场占有率60%出口额50亿美元培养人才80 万7/22/202245软件工程与软件过程第45页,共46页。参考文献联合国开发计划署. 2001年人类发展报告:让新技术为人类发展服务(中文版). 北京: 中国财政经济出版社, 2001: 37.陈冲. 我国软件产业发展现状 . 光明日报,2003.2.12: C1.Roger S. Pressman. Software Engineering, A practitioners Approach(Fifth Edition). Tsinghua University Press, McGraw-Hill Compan

温馨提示

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

评论

0/150

提交评论