软件工程实用教程1-概述课件.ppt

上传人(卖家):三亚风情 文档编号:3390063 上传时间:2022-08-26 格式:PPT 页数:32 大小:3.13MB
下载 相关 举报
软件工程实用教程1-概述课件.ppt_第1页
第1页 / 共32页
软件工程实用教程1-概述课件.ppt_第2页
第2页 / 共32页
软件工程实用教程1-概述课件.ppt_第3页
第3页 / 共32页
软件工程实用教程1-概述课件.ppt_第4页
第4页 / 共32页
软件工程实用教程1-概述课件.ppt_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、第一章第一章 软件工程概述软件工程概述了解软件工程历史了解软件工程历史软件的概念与特点软件的概念与特点软件的分类软件的分类软件的发展和软件危机软件的发展和软件危机软件工程的目标和原则软件工程的目标和原则认识软件开发过程模型认识软件开发过程模型软件过程软件过程软件过程模型软件过程模型软件定义软件定义软件是计算机系统中与硬件相互依存的另一部分,它软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。是包括程序,数据及其相关文档的完整集合。程序是按事先设计的功能和性能要求执行的指令序列。程序是按事先设计的功能和性能要求执行的指令序列。数据是使程序能正常操纵信息的数据结

2、构。数据是使程序能正常操纵信息的数据结构。文档是与程序开发,维护和使用有关的图文材料。文档是与程序开发,维护和使用有关的图文材料。软件的特点(软件的特点(1 1)软件是一种逻辑实体,它具有抽象性。软件是一种逻辑实体,它具有抽象性。软件成本集中在开发上,对软件的质量控制必须软件成本集中在开发上,对软件的质量控制必须从软件的开发着手。从软件的开发着手。软件在运行和使用过程中没有磨损、老化问题。软件在运行和使用过程中没有磨损、老化问题。软件一旦研制成功,其生产过程就变成复制过程,软件一旦研制成功,其生产过程就变成复制过程,会出现软件产品版权保护问题。会出现软件产品版权保护问题。软件存在升级和移植的问

3、题,所产生的维护成本软件存在升级和移植的问题,所产生的维护成本通常比开发成本要高许多。通常比开发成本要高许多。4 4软件的特点(软件的特点(2 2)大多数软件仍然是定制的。大多数软件仍然是定制的。软件本身是复杂的。软件本身是复杂的。软件涉及因素多。软件涉及因素多。由于软件研制工作需要投入大量、复杂、高强度由于软件研制工作需要投入大量、复杂、高强度的脑力劳动,导致了软件成本昂贵。的脑力劳动,导致了软件成本昂贵。5 5软件的分类软件的分类按软件的功能进行划分按软件的功能进行划分系统软件系统软件支撑软件支撑软件应用软件应用软件6 6按软件规模进行划分按软件规模进行划分7 7分类分类参加人员参加人员开

4、发期限开发期限 程序规模程序规模/源程序行数源程序行数特征特征微型微型1 11414周周500500以下以下不必有严格的设计和测试文档不必有严格的设计和测试文档小型小型12121616月月1k2k1k2k通常没有与其他程序的接口通常没有与其他程序的接口中型中型35351212年年5k50k5k50k需要有严格的文档和设计规范需要有严格的文档和设计规范大型大型5205202323年年50k100k50k100k需要按照软件工程方法进行管理需要按照软件工程方法进行管理超大型超大型 100100010010004545年年1M(=1000k)1M(=1000k)必须按照软件工程开发,有严格的质必须按

5、照软件工程开发,有严格的质量管理措施量管理措施巨型巨型2000500020005000 510510年年1M10M1M10M同上同上表表1-1 软件规模的分类软件规模的分类按软件工作方式划分按软件工作方式划分实时处理软件实时处理软件分时软件分时软件交互式软件交互式软件批处理软件批处理软件按软件服务对象的范围划分按软件服务对象的范围划分项目软件项目软件产品软件产品软件按使用的频度进行划分按使用的频度进行划分按软件失效的影响进行划分按软件失效的影响进行划分8 8软件的发展软件的发展程序设计阶段程序设计阶段 50 50至至6060年代年代程序系统阶段程序系统阶段 60 60至至7070年代年代软件工

6、程阶段软件工程阶段 70 70年代以后年代以后软件发展阶段最根本的变化软件发展阶段最根本的变化人们改变了对软件的看法人们改变了对软件的看法软件的需求是软件发展的动力软件的需求是软件发展的动力软件工作的范围从考虑程序的编写扩展到设计整软件工作的范围从考虑程序的编写扩展到设计整个软件生存期个软件生存期目前:社会信息化、软件产业化的阶段过渡目前:社会信息化、软件产业化的阶段过渡软件危机软件危机软件危机是指在计算机软件的开发和维护过程中软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。即包含两方面的问题:所遇到的一系列严重问题。即包含两方面的问题:如何开发软件、如何维护软件。如何开发软

7、件、如何维护软件。具体表现具体表现软件开发成本估计不准,开发成本超出预算软件开发成本估计不准,开发成本超出预算开发进度不能保证,交付时间一再拖延开发进度不能保证,交付时间一再拖延开发出来的产品不符合用户的需求开发出来的产品不符合用户的需求软件产品质量无法保证软件产品质量无法保证软件的可维护程度低软件的可维护程度低软件开发生产率的发展跟不上硬件的发展速度和软件开发生产率的发展跟不上硬件的发展速度和人们需求的增长人们需求的增长产生原因产生原因根本原因根本原因软件开发过程不成熟软件开发过程不成熟忽视软件开发前期的调研和分析工作忽视软件开发前期的调研和分析工作没有统一的、规范的方法论指导没有统一的、规

8、范的方法论指导文档资料不齐全,忽视人与人的交流文档资料不齐全,忽视人与人的交流忽视测试阶段的工作忽视测试阶段的工作忽视软件的维护忽视软件的维护消除软件危机的途径消除软件危机的途径软件工程的定义软件工程的定义软件工程是用工程、科学和数学的原则与方法研软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理方法。制、维护计算机软件的有关技术和管理方法。软件工程三要素:软件工程三要素:过程、方法和工具过程、方法和工具软件开发过程为建造高质量的软件所需完成的任软件开发过程为建造高质量的软件所需完成的任务框架务框架软件工程方法为软件开发提供了软件工程方法为软件开发提供了“如何做如何做

9、”的技的技术术软件工具为软件工程方法提供了自动的或半自动软件工具为软件工程方法提供了自动的或半自动的软件支撑环境的软件支撑环境软件工程项目的基本目标软件工程项目的基本目标组织实施软件工程项目,从技术上和管理上采取组织实施软件工程项目,从技术上和管理上采取了多项措施以后,最终希望得到项目的成功了多项措施以后,最终希望得到项目的成功。所谓成功指的是达到以下几个主要的目标所谓成功指的是达到以下几个主要的目标付出较低的开发成本;付出较低的开发成本;达到要求的软件功能;达到要求的软件功能;取得较好的软件性能;取得较好的软件性能;开发的软件易于移植;开发的软件易于移植;需要较低的维护费用。需要较低的维护费

10、用。软件工程的基本原理软件工程的基本原理用分阶段生命周期计划严格管理用分阶段生命周期计划严格管理坚持进行阶段评审坚持进行阶段评审实行严格的产品控制实行严格的产品控制采用现代程序设计技术采用现代程序设计技术结果应能清楚地审查结果应能清楚地审查开发小组的人员应该少而精开发小组的人员应该少而精承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性软件过程软件过程通过定义若干框架活动来建立公共过程框架,每通过定义若干框架活动来建立公共过程框架,每一个任务集合都由软件工程工作任务、项目里程一个任务集合都由软件工程工作任务、项目里程碑、软件工程产品(交付物)和质量保证点组成,碑、软件工程产品(交

11、付物)和质量保证点组成,通过多个任务集合来保证框架活动可被修改,以通过多个任务集合来保证框架活动可被修改,以适应不同软件项目特征和项目组的需要。适应不同软件项目特征和项目组的需要。软件过程模型软件过程模型软件开发(过程)模型是跨越整个生存期的系统软件开发(过程)模型是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任开发、运作和维护所实施的全部过程、活动和任软件开发过程定义了软件开发过程定义了方法使用的顺序方法使用的顺序要求交付的文档资料要求交付的文档资料为保证质量和适应变化所需要的管理为保证质量和适应变化所需要的管理软件开发各个阶段完成的里程碑软件开发各个阶段完成的里程碑常用的模

12、型介绍常用的模型介绍 瀑布模型瀑布模型 原型(演化)模型原型(演化)模型 螺旋模型螺旋模型 喷泉模型喷泉模型 构件组装模型构件组装模型 统一过程模型统一过程模型RUPRUP瀑布模型(生存周期模型)就是传统的生命瀑布模型(生存周期模型)就是传统的生命周期方法学(既自顶向下结构化开发模型方周期方法学(既自顶向下结构化开发模型方法)。法)。优点:奠定了软件工程方法的基础;流水依优点:奠定了软件工程方法的基础;流水依赖;便于分工协作;推迟现实;文档易修改;赖;便于分工协作;推迟现实;文档易修改;有复审质量保证。有复审质量保证。缺点:用户需求明确困难;用户见面晚;纠缺点:用户需求明确困难;用户见面晚;纠

13、错慢;难于克服系统分析员不懂专业领域的错慢;难于克服系统分析员不懂专业领域的知识,用户不懂计算机的困难,成功率低。知识,用户不懂计算机的困难,成功率低。适合于系统要求明确的小系统。适合于系统要求明确的小系统。软件生存期的瀑布模型软件生存期的瀑布模型 问题定义可行性研究需求分析概要设计详细设计编码测试运行维护评价返回计划维护阶段开发阶段定义阶段定义做什么的问题结构设计如何做的体系结构修改设计需求说明书设计说明书源程序清单测试报告维护报告原型模型(原型模型(rapid prototype modelrapid prototype model)是为了确定需求而提出的实际模型。打破传是为了确定需求而提

14、出的实际模型。打破传统的自顶向下结构化开发模型方法,在计划统的自顶向下结构化开发模型方法,在计划和需求分析后,把系统主要功能接口做为设和需求分析后,把系统主要功能接口做为设计依据,快速开发出软件样机,及时征求用计依据,快速开发出软件样机,及时征求用户意见,正确确定系统需求,然后再进一步户意见,正确确定系统需求,然后再进一步准确地进行系统设计与实现。准确地进行系统设计与实现。优点:与用户见面快;开发成功率高,适合优点:与用户见面快;开发成功率高,适合于需求不确定的大系统。于需求不确定的大系统。缺点:周期长,开发成本高。缺点:周期长,开发成本高。原型模型原型模型 螺旋模型沿着螺线旋转(一个螺旋式周

15、期螺旋模型沿着螺线旋转(一个螺旋式周期 ),),在四个象限上分别表达四个方面的活动,即:在四个象限上分别表达四个方面的活动,即:制定计划制定计划确定软件目标,选定实施方案,弄确定软件目标,选定实施方案,弄清项目开发的限制,选定完成目标的策略清项目开发的限制,选定完成目标的策略风险分析风险分析分析所选方案,考虑如何识别和消分析所选方案,考虑如何识别和消除风险,风险角度分析该策略除风险,风险角度分析该策略实施工程实施工程实施软件开发,启动一个开发阶段实施软件开发,启动一个开发阶段 客户评估客户评估评价前一步开发工作,提出修正建评价前一步开发工作,提出修正建议,计划下一轮的工作议,计划下一轮的工作

16、特点特点瀑布模型瀑布模型+快速原型快速原型+风险分析风险分析迭代过程迭代过程喷泉模型对软件复用和生存期中多项开发喷泉模型对软件复用和生存期中多项开发活动的集成提供了支持,主要支持面向对象活动的集成提供了支持,主要支持面向对象的开发方法。的开发方法。喷泉喷泉 一词本身体现了迭代和一词本身体现了迭代和无间隙特性。系统某个部分常常重复工作多无间隙特性。系统某个部分常常重复工作多次,相关功能在每次迭代中随之加入演进的次,相关功能在每次迭代中随之加入演进的系统。所谓无间隙是指在开发活动,即分析、系统。所谓无间隙是指在开发活动,即分析、设计和编码之间不存在明显的边界。设计和编码之间不存在明显的边界。喷泉模型示意图并发过程模型定义了一系列事件,对于每一并发过程模型定义了一系列事件,对于每一个软件活动,这些事件触发了从一个状态到个软件活动,这些事件触发了从一个状态到另一个状态的变迁。另一个状态的变迁。27272828特点:形式化软件开发方法(形式化需求规特点:形式化软件开发方法(形式化需求规格说明、变换技术)、程序自动生成技术格说明、变换技术)、程序自动生成技术 、确保正确确保正确喷泉模型是一种以用户需求为动力,以对象为喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于描述面向对象的软件开驱动的模型,主要用于描述面向对象的软件开发过程。发过程。总结总结

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

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

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


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

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


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