01软件工程与软件过程.pptx

上传人:王** 文档编号:265311 上传时间:2023-04-23 格式:PPTX 页数:53 大小:5.69MB
下载 相关 举报
01软件工程与软件过程.pptx_第1页
第1页 / 共53页
01软件工程与软件过程.pptx_第2页
第2页 / 共53页
01软件工程与软件过程.pptx_第3页
第3页 / 共53页
01软件工程与软件过程.pptx_第4页
第4页 / 共53页
01软件工程与软件过程.pptx_第5页
第5页 / 共53页
01软件工程与软件过程.pptx_第6页
第6页 / 共53页
01软件工程与软件过程.pptx_第7页
第7页 / 共53页
01软件工程与软件过程.pptx_第8页
第8页 / 共53页
01软件工程与软件过程.pptx_第9页
第9页 / 共53页
01软件工程与软件过程.pptx_第10页
第10页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《01软件工程与软件过程.pptx》由会员分享,可在线阅读,更多相关《01软件工程与软件过程.pptx(53页珍藏版)》请在优知文库上搜索。

1、软件工程软件工程2023-4-222第第1章章 软件工程学概述软件工程学概述 1.1 软件危机软件危机 1.2 软件工程软件工程 1.3 软件生命周期软件生命周期 1.4 软件过程软件过程 1.5 小结小结2023-4-223软件及软件工程软件及软件工程 为什么要讲软件和软件工程为什么要讲软件和软件工程 只有对软件和软件的开发过程有充分的认识,只有对软件和软件的开发过程有充分的认识,才能更好的开发出过程受控、质量受控的软件才能更好的开发出过程受控、质量受控的软件产品。产品。 对于软件和软件开发过程的认识是困难的,存对于软件和软件开发过程的认识是困难的,存在很多困惑,需要对此有深刻的认识。在很多

2、困惑,需要对此有深刻的认识。2023-4-224一些对软件的偏见或误解一些对软件的偏见或误解 软件就是程序,软件开发就是编写程序。编完了软件就是程序,软件开发就是编写程序。编完了程序,就一切程序,就一切OK了。了。 掌握了最新的语言和工具,就能写程序了。掌握了最新的语言和工具,就能写程序了。 软件是灵活的,软件的修改很容易。软件是灵活的,软件的修改很容易。 只要会编程,就能写软件,就是程序员;一个公只要会编程,就能写软件,就是程序员;一个公司,只要召些程序员,就能开发好的软件产品。司,只要召些程序员,就能开发好的软件产品。 只要有几个有经验的程序员,再找些兼职的大学只要有几个有经验的程序员,再

3、找些兼职的大学生,就能组成一个软件公司。生,就能组成一个软件公司。2023-4-225软件无处不在软件无处不在 软件不仅仅是在计算机运行的程序,任何预先定软件不仅仅是在计算机运行的程序,任何预先定义好的程序步骤的地方,都有软件的身影义好的程序步骤的地方,都有软件的身影 软件的应用领域软件的应用领域 系统软件系统软件 实时软件实时软件 商业软件商业软件 工程和科学计算软件工程和科学计算软件 嵌入式软件嵌入式软件 个人计算机软件个人计算机软件 基于基于Web的软件(网站)的软件(网站) 人工智能软件人工智能软件2023-4-226什么是软件什么是软件 软件的定义软件的定义软件由三部分组成:软件由三

4、部分组成: 程序:在运行时,能提供所希望的功能和性能的指程序:在运行时,能提供所希望的功能和性能的指令集令集 数据:使程序能够正确运行的数据数据:使程序能够正确运行的数据 文档:描述程序研制过程、方法及使用的文档文档:描述程序研制过程、方法及使用的文档 软件处理的是信息和逻辑软件处理的是信息和逻辑 软件的开发,绝不仅仅是编写程序软件的开发,绝不仅仅是编写程序 软件围绕着逻辑进行软件围绕着逻辑进行 软件就是一个信息交换器软件就是一个信息交换器 产生、管理、获取、修改、显示或传送信息产生、管理、获取、修改、显示或传送信息2023-4-227软件的特征软件的特征软件是逻辑的而不是有形的系统元件,具软

5、件是逻辑的而不是有形的系统元件,具有与硬件完全不同的特征有与硬件完全不同的特征1. 软件是被开发或设计的,而不是传统意义上软件是被开发或设计的,而不是传统意义上被制造的被制造的 软件成本集中于开发上,软件项目不能像制造项目软件成本集中于开发上,软件项目不能像制造项目那样管理。那样管理。2. 软件不会磨损,不过它会退化软件不会磨损,不过它会退化 对未发现的对未发现的BUG的修复,会引起较高的故障率。的修复,会引起较高的故障率。 不能像硬件维修中直接更换磨损的零件,软件维护不能像硬件维修中直接更换磨损的零件,软件维护要复杂得多。要复杂得多。2023-4-228软件的特征软件的特征3. 大多数软件开

6、发,仍是手工作坊式的开发模式大多数软件开发,仍是手工作坊式的开发模式在硬件世界和现代工业的发展中,被大量使用的标准设计的构建是在硬件世界和现代工业的发展中,被大量使用的标准设计的构建是一条非常成功的路子。一条非常成功的路子。标准化也是软件设计的一个方向,软件产业正在向基于构件的组装标准化也是软件设计的一个方向,软件产业正在向基于构件的组装进前进。进前进。4. 软件是一种逻辑实体,具有抽象性。软件是一种逻辑实体,具有抽象性。人们可以使用软件,但是无法看到软件本身的形态人们可以使用软件,但是无法看到软件本身的形态 。必须通过观察、。必须通过观察、分析、思考、判断,才能了解其功能、性能等特性。分析、

7、思考、判断,才能了解其功能、性能等特性。 设计中,软件的质量、可维护性、可测试性更加重要。设计中,软件的质量、可维护性、可测试性更加重要。当前软件设计的趋势,是设计高度封装,定义良好的应用接口。当前软件设计的趋势,是设计高度封装,定义良好的应用接口。5. 软件是复杂的,而且以后会更加复杂软件是复杂的,而且以后会更加复杂软件是人类有史以来生产的复杂度最高的工业产品。软件是人类有史以来生产的复杂度最高的工业产品。软件的复杂,不是因为软件本身复杂,而是人的思想复杂。软件的复杂,不是因为软件本身复杂,而是人的思想复杂。2023-4-229 软件危机的介绍软件危机的介绍1.1 软件危机软件危机硬件和软件

8、发展的不平衡,硬件性能的发硬件和软件发展的不平衡,硬件性能的发展极其迅速,给软件提出了更高的要求展极其迅速,给软件提出了更高的要求软件开发和维护成本越来越大,令人吃惊软件开发和维护成本越来越大,令人吃惊地高地高失败的软件开发项目屡见不鲜失败的软件开发项目屡见不鲜 什么是软件危机什么是软件危机 软件危机是指在计算软件危机是指在计算机软件的开发和维护机软件的开发和维护过程中所遇到的一系过程中所遇到的一系列严重问题。列严重问题。10%18%60%72%80%85%0%10%20%30%40%50%60%70%80%90%100%50年代初1955年1970年1975年1980年1985年软件成本在系

9、统中的比例2023-4-2210软件危机软件危机 软件危机的表现软件危机的表现 软件成本日益增长软件成本日益增长 开发进度难以控制开发进度难以控制 软件质量差软件质量差 软件维护困难软件维护困难 软件开发速度跟不上计算机发展速度软件开发速度跟不上计算机发展速度 软件危机的原因软件危机的原因 技术原因技术原因 软件规模越来越大软件规模越来越大 软件复杂度越来越高软件复杂度越来越高 管理原因管理原因 软件开发缺乏正确的理论指导,过分依靠个人技巧和创造性软件开发缺乏正确的理论指导,过分依靠个人技巧和创造性 对用户需求没有完整准确的认识,就匆忙着手编写程序对用户需求没有完整准确的认识,就匆忙着手编写程

10、序 如何克服软件危机如何克服软件危机 :软件工程:软件工程2023-4-22112023-4-2212引入同一变动付出的代价随时间变化的趋势问题在哪里?问题在哪里? 软件开发链条的软件开发链条的“放大放大”作用。作用。(规范每个环节规范每个环节) 只有早期发现问题,才会只有早期发现问题,才会尽量减少损失。尽量减少损失。(失之毫厘,失之毫厘,谬以千里谬以千里) 但客观规律:用户的牙膏但客观规律:用户的牙膏不会一下子挤完。不会一下子挤完。(静态开静态开发方法发方法“天生天生”会延迟问会延迟问题的发现题的发现)2023-4-2213 消除软件危机的途径消除软件危机的途径 对计算机软件正确认识。对计算

11、机软件正确认识。(软件不仅仅是程序软件不仅仅是程序)推广使用开发软件成功的推广使用开发软件成功的技术和方法技术和方法,研究探索更好更有,研究探索更好更有效的技术和方法,消除错误概念和做法。效的技术和方法,消除错误概念和做法。 开发和使用更好的开发和使用更好的软件工具软件工具。 需要需要组织管理措施组织管理措施。 软件工程正是从软件工程正是从技术和管理技术和管理两方面研究如何更好地开发和维护两方面研究如何更好地开发和维护计算机软件的一门新兴学科。计算机软件的一门新兴学科。无章法(个人英雄主义)无章法(个人英雄主义) 工程项目管理模式(团队合作开发)工程项目管理模式(团队合作开发)2023-4-2

12、2141.2 软件工程软件工程 软件工程(软件工程(IEEE) 1968年秋,提出软件工程年秋,提出软件工程1) 将系统化、规范化、可量化将系统化、规范化、可量化的工程原则和方法,应用于的工程原则和方法,应用于软件的开发、运行和维护。软件的开发、运行和维护。2) 对对1)中方法的理论研究。中方法的理论研究。 软件工程软件工程 认为:认为:按照工程化的原则和方法组织软件开发工作,是按照工程化的原则和方法组织软件开发工作,是摆脱软件危机的一个主要出路。摆脱软件危机的一个主要出路。 主要目标:主要目标:高效开发高质量软件高效开发高质量软件。 软件工程规范软件工程规范 工业界:参照修改其它工程项目的管

13、理模式工业界:参照修改其它工程项目的管理模式如如 ISO, PMI, Six Sigma 学术界:学术界:CMM2023-4-2215软件工程基本原理软件工程基本原理 (开发与维护的指导开发与维护的指导)1.用分阶段的生命周期计划严格管理用分阶段的生命周期计划严格管理2.坚持进行阶段评审坚持进行阶段评审3.实行严格的产品控制实行严格的产品控制4.采用现代程序设计技术采用现代程序设计技术5.结果应能清楚地审查结果应能清楚地审查6.开发小组的人员应该少而精开发小组的人员应该少而精7.承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性2023-4-2216 软件的生命周期软件的生命周期

14、 软件开发过程软件开发过程 瀑布模型瀑布模型 快速原型、螺旋模型快速原型、螺旋模型 喷泉模型等喷泉模型等 软件开发新过程软件开发新过程 敏捷软件开发敏捷软件开发(极限编极限编程程XP) 快速软件开发快速软件开发 统一软件开发过程统一软件开发过程软件开发的规律软件开发的规律 软件开发方法软件开发方法 结构化方法结构化方法 面向对象方法面向对象方法 Jackson系统开发方法系统开发方法 模块化方法模块化方法 软件复用软件复用2023-4-2217 软件工程方法学软件工程方法学 把在软件生命周期全过程中使用的一整套把在软件生命周期全过程中使用的一整套技术的集合技术的集合称为称为方法学方法学(met

15、hodology),也称范型,也称范型(paradigm)。 软件工程方法学三个要素:软件工程方法学三个要素:方法、工具和过程方法、工具和过程。 方法是完成软件开发各项任务的技术,回答方法是完成软件开发各项任务的技术,回答“如何做如何做”; 工具是为方法的运用提供自动或半自动软件支撑环境,回答工具是为方法的运用提供自动或半自动软件支撑环境,回答“用什用什么做么做”; 过程是为获得高质量的软件要完成的一系列任务的框架,规定完成过程是为获得高质量的软件要完成的一系列任务的框架,规定完成各项任务步骤,回答各项任务步骤,回答“如何控制、协调、保证质量如何控制、协调、保证质量”。管理方法管理方法2023

16、-4-2218 目前使用得最广泛的软件工程方法学。目前使用得最广泛的软件工程方法学。 传统方法学也称为传统方法学也称为生命周期方法学生命周期方法学或或结构化范型结构化范型。 当软件规模较大,或对软件的需求是当软件规模较大,或对软件的需求是模糊模糊的或随时间的或随时间变化变化的时的时候,使用结构化范型开发软件往往不成功;候,使用结构化范型开发软件往往不成功;此外,使用传统方法学开发出的软件,维护起来通常都很困难。此外,使用传统方法学开发出的软件,维护起来通常都很困难。 结构化静态分析,面向对象动态分析结构化静态分析,面向对象动态分析世界万物是变化的世界万物是变化的传统方法学与面向对象方法学传统方法学与面向对象方法学2023-4-2219传统方法的特点传统方法的特点生命周期模型生命周期模型软件过程划分为若干个阶软件过程划分为若干个阶段段每个阶段有各自的任务每个阶段有各自的任务阶段之间有某种顺序性阶段之间有某种顺序性2023-4-2220面向对象方法:面向对象方法:1. 对象作为融合数据及在数据之上的操作行为的统一的软件对象作为融合数据及在数据之上的操作行为的统一的软件构件。构件。2. 把所

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

当前位置:首页 > IT计算机 > Web服务

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!