ImageVerifierCode 换一换
格式:PPT , 页数:49 ,大小:1.15MB ,
资源ID:2197621      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2197621.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程第1章.ppt)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程第1章.ppt

1、实用软件工程实用软件工程湖南科技学院信息技术与教育系湖南科技学院信息技术与教育系湖南科技学院信息技术与教育系湖南科技学院信息技术与教育系用工程化的方法来开发软件用工程化的方法来开发软件用工程化的方法来开发软件用工程化的方法来开发软件1软件工程软件工程课程学习目标课程学习目标n深入了解软件开发的全过程深入了解软件开发的全过程n掌握软件开发全过程的相关方法,理论和技术掌握软件开发全过程的相关方法,理论和技术n以小组或个人为单位,采用软件工程学的方法开发一个小以小组或个人为单位,采用软件工程学的方法开发一个小型应用软件。型应用软件。2软件工程软件工程课程考核方法课程考核方法n1、平时成绩:占、平时成

2、绩:占20%。包括上课到课情况和平时作业上交情况。包括上课到课情况和平时作业上交情况。n2、实验成绩:占、实验成绩:占50%包括上机实验及实验报告上交情况,软件项目开发情况。包括上机实验及实验报告上交情况,软件项目开发情况。n3、期末成绩:占、期末成绩:占30%指期末笔试成绩。指期末笔试成绩。3软件工程软件工程国家级精品课程国家级精品课程n软件工程软件工程 北京大学北京大学nhttp:/n软件工程软件工程 国防科技大学国防科技大学nhttp:/ 清华大学清华大学nhttp:/www.hep- 述述本章主要内容:本章主要内容:l1、软件、软件l2、软件危机、软件危机l3、软件工程、软件工程n4、

3、软件生命周期软件生命周期n5、软件开发模型软件开发模型n6、CASE工具和环境工具和环境本章重点:本章重点:o软件工程软件工程o软件生命周期软件生命周期5可执行部分可执行部分不可执行部分不可执行部分文档文档1文档文档2文档文档31、软件、软件n指指计算机计算机程序程序程序程序及其及其及其及其有关的数据有关的数据有关的数据有关的数据和和和和文档文档文档文档的完整集合的完整集合程序程序数据数据61、软件、软件n1.1 计算机计算机程序程序程序程序n 由程序设计语言所描述的、能为计算机所识别、理解和由程序设计语言所描述的、能为计算机所识别、理解和处理的语句序列处理的语句序列n程序例子程序例子Main

4、()int i,j;/变量定义变量定义 char Str10;i=i+j;/语句说明语句说明 71、软件、软件n1.2文档文档n 记录软件开发活动和阶段性成果、理解软件所必需的阐记录软件开发活动和阶段性成果、理解软件所必需的阐述性资料述性资料q需求分析文档需求分析文档q软件设计文挡等软件设计文挡等 n编写文档目的编写文档目的q 促进对软件的开发促进对软件的开发,管理和维护;管理和维护;q 便于各种人员便于各种人员(用户用户,开发人员开发人员)的交流的交流q文档例子文档例子:软件使用说明书软件使用说明书81、软件、软件1.3 软件特点软件特点n不会老化不会老化n逻辑产品逻辑产品(智力智力,无形无

5、形)n维护困难和复杂维护困难和复杂(完善完善,纠错,纠错,.)n生产只需复制生产只需复制n软件开发性质如成本、进度等难以估计软件开发性质如成本、进度等难以估计n软件的开发更加依赖于开发人员的业务素质、智力、人员软件的开发更加依赖于开发人员的业务素质、智力、人员的合作、组织和管理的合作、组织和管理91、软件、软件1.4 软件工程发展史软件工程发展史1.程序设计阶段程序设计阶段2.软件软件=程序程序+文档阶段文档阶段3.软件工程阶段软件工程阶段4.第第4代技术阶段代技术阶段 基于基于web的软件开发的软件开发 采用计算机辅助工程(采用计算机辅助工程(CASE)专家系统和人工智能的应用专家系统和人工

6、智能的应用102、软件危机、软件危机n软件危机是指在计算机软件开发和维护时所遇到的一系列软件危机是指在计算机软件开发和维护时所遇到的一系列问题。问题。q困扰学术界和工业界困扰学术界和工业界q用户对软件开发缺乏信心用户对软件开发缺乏信心q软件开发的高投入和高风险软件开发的高投入和高风险112、软件危机、软件危机n软件危机的表现软件危机的表现n成本高成本高qIBM 360 OS,5000多人年,多人年,耗时耗时4年年(19631966),花费花费2亿多美元亿多美元q美国空军:美国空军:1955年软件占年软件占总费用总费用(计算机系统计算机系统)的的18%,70年年60%,85年达年达到到85q美国

7、全球军事指挥控制系美国全球军事指挥控制系统,硬件统,硬件1亿美元,软件亿美元,软件高达高达7.2亿美元亿美元n计算机软件和硬件费用比计算机软件和硬件费用比122、软件危机、软件危机n软件危机的表现软件危机的表现n软件质量得不到保证软件质量得不到保证q软件应用面的扩大:科学计算、军事、航空航天、工业控制、企业软件应用面的扩大:科学计算、军事、航空航天、工业控制、企业管理、办公、家庭管理、办公、家庭q软件越来越多的应用于安全犹关软件越来越多的应用于安全犹关(safety critical)的系统,对软件的系统,对软件质量提出更高的要求质量提出更高的要求q80年代欧洲亚丽安娜火箭的发射失败,原因是软

8、件错误年代欧洲亚丽安娜火箭的发射失败,原因是软件错误q美国阿托拉斯火箭的发射失败,原因是软件故障美国阿托拉斯火箭的发射失败,原因是软件故障q英国英国1986年开发的办公室信息系统年开发的办公室信息系统Folios经经4年,因性能达不到要年,因性能达不到要求,求,1989年取消年取消q日本第日本第5代机因为软件问题在投入代机因为软件问题在投入50亿美元后于亿美元后于1993年下马年下马n由于软件质量问题导致失败的软件项目非常多由于软件质量问题导致失败的软件项目非常多132、软件危机、软件危机n软件危机的表现软件危机的表现n进度难以控制进度难以控制q项目延期比比皆是项目延期比比皆是q由于进度问题而

9、取消的软件项目较常见由于进度问题而取消的软件项目较常见q只有一小部分的项目能够按期完成只有一小部分的项目能够按期完成n维护非常困难维护非常困难q软件维护的多样性软件维护的多样性q软件维护的复杂性软件维护的复杂性q软件维护的副作用软件维护的副作用142、软件危机、软件危机n产生软件危机的根源产生软件危机的根源n逻辑产品,不同于物理产品逻辑产品,不同于物理产品n复杂性高复杂性高q逻辑产品,逻辑复杂性,远高于硬件复杂性逻辑产品,逻辑复杂性,远高于硬件复杂性q软件的复杂性随规模呈指数级上升软件的复杂性随规模呈指数级上升n规模大规模大q应用扩大,代码量,应用扩大,代码量,1000万行,仍在不断膨胀万行,

10、仍在不断膨胀n影响软件生产率和质量的因素比较复杂影响软件生产率和质量的因素比较复杂q人员的能力和水平人员的能力和水平q团队合作团队合作n缺乏有效、系统原理、原则、方法和工具的指导和辅助缺乏有效、系统原理、原则、方法和工具的指导和辅助152、软件危机、软件危机n对软件开发的深层次认识对软件开发的深层次认识n开发一个具有一定规模和复杂性的软件系统与编写一个简开发一个具有一定规模和复杂性的软件系统与编写一个简单的程序不一样单的程序不一样q正如建设正如建设狗窝狗窝和和高楼大厦高楼大厦n大型、复杂软件系统的开发是一项工程,必须按照工程化大型、复杂软件系统的开发是一项工程,必须按照工程化的方法组织软件的生

11、产和管理,必须经过分析、设计、实的方法组织软件的生产和管理,必须经过分析、设计、实现、测试、维护等一系列软件过程和活动现、测试、维护等一系列软件过程和活动162、软件危机、软件危机n解决危机的技术途径解决危机的技术途径n 软件是在软件是在20世纪世纪60年代爆发,然而实际上软件危机随着计算机软年代爆发,然而实际上软件危机随着计算机软件的产生而产生,只是在此之前其问题的严重性没有引起人们的关注件的产生而产生,只是在此之前其问题的严重性没有引起人们的关注和重视和重视n提出有效的方法和工具支持软件开发提出有效的方法和工具支持软件开发q1968年提出软件工程概念和思想年提出软件工程概念和思想q20世纪

12、世纪70年代的结构化软件开发方法年代的结构化软件开发方法q20世纪世纪80年代的面向对象的软件开发方法年代的面向对象的软件开发方法q新的技术新的技术:软件重用、快速原型、需求工程软件重用、快速原型、需求工程q典型技术典型技术:COM(Componet Object Model),Java,C+,J2EE,.Net,.q支撑工具和环境:支撑工具和环境:Jbuilder,Visual Studio,WebLogic,172、软件危机、软件危机n解决危机的技术途径解决危机的技术途径n技术手段不能完全解决软件危机技术手段不能完全解决软件危机n到了到了20世纪世纪90年代,软件危机依然存在,甚至更为严重

13、年代,软件危机依然存在,甚至更为严重q应用牵引技术的发展应用牵引技术的发展n瀑布模型瀑布模型n结构化软件开发方法结构化软件开发方法nOO软件开发方法软件开发方法q技术推动应用的深化技术推动应用的深化n应用的扩大和深入应用的扩大和深入q应用变得越来越大和复杂,技术变得更加力不从心应用变得越来越大和复杂,技术变得更加力不从心q错误的观念错误的观念“只要有好的软件开发方法和工具就能高效率地开发出只要有好的软件开发方法和工具就能高效率地开发出高质量的软件高质量的软件”q问题出在哪里?问题出在哪里?182、软件危机、软件危机n解决危机的管理途径解决危机的管理途径n采用科学有效的管理方法来开发软件采用科学

14、有效的管理方法来开发软件n20世纪世纪80年代末,美国年代末,美国DoD和工业界开始认识到管理的重要性和工业界开始认识到管理的重要性q美国美国DoD的一项研究表明,的一项研究表明,70%的项目由于管理不善导致难以控的项目由于管理不善导致难以控制进步、成本和质量;制进步、成本和质量;q进一步的研究发现:管理是影响软件项目成功开发的全局性因素,进一步的研究发现:管理是影响软件项目成功开发的全局性因素,而技术只影响局部。而技术只影响局部。q如果软件开发组织不能对软件项目进行有效管理,就不能充分发挥如果软件开发组织不能对软件项目进行有效管理,就不能充分发挥软件开发方法和工具的潜力,也就不能高效率地开发

15、出高质量的软软件开发方法和工具的潜力,也就不能高效率地开发出高质量的软件产品件产品193、软件工程、软件工程3.1 什么是软件工程什么是软件工程n软件危机软件危机-根源根源-解决途径解决途径:软件工程软件工程n产生:产生:1968年年 NATO(北大西洋公约组织北大西洋公约组织)计算机科学会议计算机科学会议n软件工程软件工程是运用工程的、数学的、计算机等科学概念、方是运用工程的、数学的、计算机等科学概念、方法和原理来指导软件开发和管理和维护的一门学科法和原理来指导软件开发和管理和维护的一门学科20-过程过程方法方法工具工具软件工程软件工程3、软件工程、软件工程3.2 软件工程构成三要素软件工程

16、构成三要素n过程过程q管理部分管理部分n方法方法q技术手段技术手段n工具工具q自动或半自动地支持软件的开发和管理自动或半自动地支持软件的开发和管理n要素之间相互关联和支持要素之间相互关联和支持213、软件工程、软件工程3.3 软件工程目标软件工程目标n正确性正确性q满足用户的需求满足用户的需求(功能、性能等功能、性能等)n可靠性可靠性q具有能够防止因概念、设计和结构等方面的不完善而造成的系统失具有能够防止因概念、设计和结构等方面的不完善而造成的系统失效,具有挽回因操作不当造成软件系统失效的能力效,具有挽回因操作不当造成软件系统失效的能力 n可维护性可维护性q便于对软件增加新功能、改进性能、修改错误、移植便于对软件增加新功能、改进性能、修改错误、移植 n可重用性可重用性q软件易于被再次使用软件易于被再次使用n可移植性可移植性q从一个环境搬迁到另一个环境从一个环境搬迁到另一个环境 n可互操作性可互操作性q多个软件要素相互通讯协同完成任务能力多个软件要素相互通讯协同完成任务能力 n有效性有效性q充分利用计算机的时间和空间资源充分利用计算机的时间和空间资源 223、软件工程、软件工程3.4 软

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1