书签 分享 收藏 举报 版权申诉 / 45
上传文档赚钱

类型软件工程课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:2221760
  • 上传时间:2022-03-22
  • 格式:PPT
  • 页数:45
  • 大小:366.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《软件工程课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    软件工程 课件
    资源描述:

    1、第一章 软件工程 1.1 软件危机计算机系统的发展历程计算机系统发展的四个阶段1、60年代末80年代初:产生软件危机的原因1。软件危机定义:计算机软件的开发与维护过程所遇到的一系列严重问题。2。软件危机的典型表现软件危机产生的原因1。与软件本身的特点有关2。与软件开发与维护的方法不正确有关消除软件危机的途径1。消除软件危机既要有技术措施(方法与工具),又要有必要的组织管理措施。 2。软件工程是从管理和技术两方面研究如何更好的开发和维护计算机软件的一门新兴学科。1.2 软件工程 1968年提出“软件工程”术语,其概念是模糊的。软件工程是一门交叉性学科,有各种各样的定义。 IEEE,1983年定义

    2、为: 对软件开发、运行、维护、修复的系统方法。 IEEE,1993年的定义: 对软件开发、运行、维护的系统化的、规范的、可度量的方法之应用,即是把工程化应用于软件中。 软件工程的基本原理 用分阶段的生命周期计划严格管理 项目概要计划项目概要计划 里程碑计划里程碑计划 项目控制计划项目控制计划 产品控制计划产品控制计划 验证计划验证计划 运行维护计划运行维护计划 坚持进行阶段评审 实行严格的产品控制基准配置管理(Baseline configuration management) 采用现代程序设计技术采用现代程序设计技术 结果应能清楚地审查结果应能清楚地审查 开发小组的成员应该少而精开发小组的成

    3、员应该少而精 承认不断改进软件工程实践的必要性承认不断改进软件工程实践的必要性 软件工程方法学三要素:方法、工具和过程。软件工程方法学 软件工程方法学可分为传统方法学与面向对象方法学 传统方法学:采用结构化技术(结构化分析、设计、编程、测试) 面向对象方法学四个要点对象构件对象划分”类“继承对象消息通信小结第二章 软件过程 软件过程是近十年来人们关注的焦点。 软件过程是一个为开发高质量软件所需要完成的任务的框架。 软件工程是有创造力、有知识的人在定义好的、成熟的软件过程框架中进行的,该过程适合开发的软件和市场的需要。方法使用的顺序;要求交付的方法使用的顺序;要求交付的文档资料;为保证质量和适应

    4、文档资料;为保证质量和适应变化所需要的管理;软件开发变化所需要的管理;软件开发各个阶段完成的里程碑。各个阶段完成的里程碑。软件开发提供了软件开发提供了 “如如何做何做” 的技术。的技术。为软件工程方法提供了为软件工程方法提供了自动的或半自动的软件自动的或半自动的软件支撑环境,支撑环境,CASE软件工程层次图软件过程 过程:为实现一个给定目标而进行的一系列运作步骤。 过程具有一系列的性质:时间性、并发性、嵌套性和度量性等。 软件过程:开发和维护软件及其相关产品所设及的一系列活动。过程是活动的集合;活动是任务的集合;任务是把输入转换为输出的操作。软件过程分类软件过程可分为三大类: 基本过程类:是构

    5、成软件生存周期主要部分的过程,包括获取、供应、开发、操作、维护等过程。 支持过程类:可穿插到基本过程中提供支持的一系列过程,包括文档开发、配置管理、质量保证、验证、确认、联合评审、审计、问题解决等过程。 组织过程类:一个组织用来建立、实施一种基础结构、并不断改进该基础结构的过程,包括管理、基础、改进、培训等过程。软件过程模型的概念 软件过程模型是软件过程的抽象表示。 一个软件过程模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。 软件过程模型也常称为: 软件工程模式 软件生存周期模型软件生命周期的基本任务 软件生存期是软件产品或

    6、系统一系列相关活动的全周期。从形成概念开始,经过研制,交付使用,在使用中不断增补修订,直到最后被淘汰,让位于新的软件产品的全过程。 对软件生存期的不同划分,形成了不同的软件生存期模型。 软件生存期:制定计划、需求分析和定义、软件设计、程序编写、软件测试、运行/维护等基本步骤。 软件生命周期由软件定义、软件开发、软件运行维护三个时期组成。 软件定义:问题定义、可行性分析、需求分析三个阶段。 软件开发(系统设计与系统实现):概要设计、详细设计、编码和单元测试、综合测试。 软件运行维护:定义和开发过程的压缩和简化。问题定义和可行性研究需求分析设计编码测试运行和维护软件开发模型 瀑布模型(Waterf

    7、all Model)瀑布模型瀑布模型的特点瀑布模型适合哪瀑布模型适合哪些场合呢?有何些场合呢?有何缺点呢?缺点呢?瀑布模型适用场合 当有一个稳定的产品定义和很容易被理解当有一个稳定的产品定义和很容易被理解的技术解决方案时,纯瀑布模型特别合适。的技术解决方案时,纯瀑布模型特别合适。 当你对一个定义得很好的版本进行维护或当你对一个定义得很好的版本进行维护或将一个产品移植到一个新的平台上,瀑布将一个产品移植到一个新的平台上,瀑布模型也特别合适。模型也特别合适。 对于那些容易理解但很复杂的项目,采用对于那些容易理解但很复杂的项目,采用纯瀑布模型比较合适,因为可以用顺序方纯瀑布模型比较合适,因为可以用顺

    8、序方法处理问题。法处理问题。 在质量需求高于成本需求和进度需求的时在质量需求高于成本需求和进度需求的时候,它尤为出色。候,它尤为出色。 当开发队伍的技术力量比较弱或者缺乏经当开发队伍的技术力量比较弱或者缺乏经验时,瀑布模型更为适合。验时,瀑布模型更为适合。瀑布模型的缺陷 快速原型模型(Rapid Prototyping Model)快速原型模型是为克服瀑布模型的缺点于快速原型模型是为克服瀑布模型的缺点于2020世纪世纪8080年代推出的。年代推出的。快速原型法基本思想是:快速原型法基本思想是:由用户、客户和开发者进行由用户、客户和开发者进行快速需求分析快速需求分析,产生系统规格说明,产生系统规

    9、格说明,根据该规格说明快速产生一个根据该规格说明快速产生一个可运行的原型可运行的原型,运行该原型,运行该原型,并并评价评价其规格说明的完整性、准确性和一致性。根据评价结其规格说明的完整性、准确性和一致性。根据评价结果,进一步果,进一步精化和细化规格说明精化和细化规格说明,该过程可重复多次,直到,该过程可重复多次,直到最终的规格说明演化成与用户和客户一致的、可执行的系统最终的规格说明演化成与用户和客户一致的、可执行的系统为止。为止。 原型需求、设计或系统重复执行的次数:原型需求、设计或系统重复执行的次数:取决于原型的目标。取决于原型的目标。 原型模型的总体目标:原型模型的总体目标:降低开发的风险

    10、和不确定因素。降低开发的风险和不确定因素。 原型法的分类:原型法的分类:丢弃式模型、进化式模型、操作式模型。丢弃式模型、进化式模型、操作式模型。(1)(1)丢弃式丢弃式( (抛弃式抛弃式) )模型模型(Throwaway Model)(Throwaway Model)由由H.GomaaH.Gomaa于于19811981年提出的,该模型用于确认需求和设计,而不年提出的,该模型用于确认需求和设计,而不是设计实际可用的系统。是设计实际可用的系统。首先制定一个开发计划,然后进行需求分析、设计、编码、测首先制定一个开发计划,然后进行需求分析、设计、编码、测试,由用户或客户评价,如果不满意再返回需求分析部

    11、分或试,由用户或客户评价,如果不满意再返回需求分析部分或设计部分或编码部分,直到满意为止。设计部分或编码部分,直到满意为止。该模型开发的结果不是为最后使用,而是为了该模型开发的结果不是为最后使用,而是为了理解需求和开发理解需求和开发方法,验证那些模糊的、没有把握的需求方法,验证那些模糊的、没有把握的需求。任务完成后该模。任务完成后该模型被丢弃,真正的系统开发将依据该模型的结果从头开始。型被丢弃,真正的系统开发将依据该模型的结果从头开始。(2)(2)进化式模型进化式模型(Evolutionary Model)(Evolutionary Model)首先设计一个全局性框架,然后建立一个初始的稳定模

    12、型,运首先设计一个全局性框架,然后建立一个初始的稳定模型,运行该原型,并反复添加、修改和完善,逐步向目标系统进化。行该原型,并反复添加、修改和完善,逐步向目标系统进化。每一次进化,都产生一个逼近目标的新版本。每一次进化,都产生一个逼近目标的新版本。该模型在进化过程中,始终强调可靠性、可维护性、适应性和该模型在进化过程中,始终强调可靠性、可维护性、适应性和效率等软件质量问题。效率等软件质量问题。该模型的最终成果就是该模型的最终成果就是投入使用的系统投入使用的系统。这种方法的优点是用。这种方法的优点是用户和客户户和客户可跟踪开发过程可跟踪开发过程,及时了解并建议修改开发的过程,及时了解并建议修改开

    13、发的过程,最终系统能令用户满意,但开发进度和成本难以控制。最终系统能令用户满意,但开发进度和成本难以控制。原型模型小结 增量模型(Incremental Model)需求分析验证规格说明验证概要设计验证针对每个构件,完成详细设计、编码和集成,经过测试交付给用户维护增量模型的特点增量过程模型与原型实现模型、瀑布模型关系 增量过程模型与原型实现模型,本质上都是迭代的。 原型实现模型、瀑布模型开发软件目标是一次把一个满足所有需求的产品提交给用户。增量模型则相反,它分批逐步向用户提交产品,每次提交一个满足需求子集的可运行的产品(强调每一个增量发布一个可操作的产品)。增量模型存在的问题 每个新的构件集成

    14、到现有的软件体系结构,必须不破坏已经开发出的产品。 软件体系结构必须是开放、灵活的。 构件的独立性与系统整体性协调矛盾。螺旋模型(Spiral Model) Spiral 模型(Boehm, 1988提出) 综合了原型实现模型模型的迭代特征和顺序模型的控制和系统化的优点。 增加了风险分析,是以风险为导向的生命期模型。 从一个小范围的关键中心地带开始寻找风险因素,制定风险控制计划,并交付给下一步骤,如此迭代,每次迭代将项目扩展到一个更大的规模。开始预算预算1预算预算2预算预算3预算预算4风险分析风险分析4风险分析风险分析3风险分析风险分析2风险分析风险分析1原型原型4原型原型1 原型原型2原型原

    15、型3需求需求,生命周生命周期计划期计划开发计划开发计划集成与测集成与测试计划试计划约束约束4约束约束3约束约束2约束约束1计划计划确定目标确定目标,方案方案,约束约束评价方案和评价方案和风险风险开发与测试开发与测试方案方案3方案方案2方案方案4操作概念操作概念软件需求软件需求软件设计软件设计详细设计详细设计编码编码单元测试单元测试系统测试系统测试验收测试验收测试设计验证与设计验证与确认确认需求确认需求确认计划实现计划实现方案方案1评审评审每次迭代每次迭代的成果的成果累计成本累计成本螺旋模型的特点 把软件开发过程组成为一个逐步细化的定义周期把软件开发过程组成为一个逐步细化的定义周期(螺旋周期)序

    16、列,每经历一个周期,系统就得(螺旋周期)序列,每经历一个周期,系统就得到进一步的细化和完善;到进一步的细化和完善; 本质上,具有上述特征的螺旋是一直运转的直到本质上,具有上述特征的螺旋是一直运转的直到软件退役。有时这个过程处于睡眠状态,但任何软件退役。有时这个过程处于睡眠状态,但任何时候出现了改变,过程都会从合适的入口点开始;时候出现了改变,过程都会从合适的入口点开始; 紧密围绕开发中的风险问题,用风险分析推动软紧密围绕开发中的风险问题,用风险分析推动软件设计向深一层扩展、求精;件设计向深一层扩展、求精; 强调持续地判断、确定和修改用户任务目标,并强调持续地判断、确定和修改用户任务目标,并按成

    17、本、效益来分析候选的软件产品性质对任务按成本、效益来分析候选的软件产品性质对任务目标的贡献;目标的贡献; 可结合采用多种软件开发方法,但究竟结合哪一可结合采用多种软件开发方法,但究竟结合哪一种方法仍由风险分析来决定。种方法仍由风险分析来决定。螺旋模型 对于大型软件系统的开发,螺旋模型是一个很现实的方法,主要适用于内部开发的大规模软件项目,只有内部开发的项目,才能在风险过大时方便中止项目。 优势:随着迭代的增加(成本的增加),风险程度随之降低 缺陷:比较复杂,需要相当的风险评估技术,且成功依赖于这种技术。Fountain Model(Fountain Model(喷泉模型喷泉模型) )喷泉模型是

    18、喷泉模型是B.HendersonB.Henderson和和J.M.EdwarolsJ.M.Edwarols于于19901990年在其面向对年在其面向对象系统生存期中提出的象系统生存期中提出的面向对象系统开发的七点框架面向对象系统开发的七点框架,是以,是以BailinBailin提出的提出的实体数据流图或信息流图作底层工具实体数据流图或信息流图作底层工具构思的面构思的面向对象生存期的模型。向对象生存期的模型。验收入库概括 调 试编 码设 计规格说明聚集该模型采用了瀑布模型的各个阶段,但强调每个阶段要不断地反复每个阶段要不断地反复,直到验收入库。程序使用之后的维护和进一步开发(概括,聚集)是对客观世界对象的模型化。概括抽象:概括抽象:抽取一般性聚集抽象:聚集抽象:从部分抽出全体从而进一步体现继承、派生、重用等面向对象特性。演化演化维护维护确认确认实现实现设计设计分析分析喷泉模型喷泉模型 特征:迭代特征:迭代 无缝无缝 与面向对象技术与面向对象技术 的关系的关系

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:软件工程课件.ppt
    链接地址:https://www.163wenku.com/p-2221760.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


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

    163文库