软件过程及过程模型课件

上传人:我*** 文档编号:144822475 上传时间:2020-09-14 格式:PPT 页数:43 大小:832.50KB
返回 下载 相关 举报
软件过程及过程模型课件_第1页
第1页 / 共43页
软件过程及过程模型课件_第2页
第2页 / 共43页
软件过程及过程模型课件_第3页
第3页 / 共43页
软件过程及过程模型课件_第4页
第4页 / 共43页
软件过程及过程模型课件_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《软件过程及过程模型课件》由会员分享,可在线阅读,更多相关《软件过程及过程模型课件(43页珍藏版)》请在金锄头文库上搜索。

1、软件过程的概念 软件过程框架 软件过程模型,软件工程概述,软件过程概念,软件过程:是为获得软件产品,软件开发人员在软件工具支持下完成的一系列软件工程任务的框架。,What is software process?,When you build a product or system, its important to go through a series of predictable stepsa road map that helps you create a timely, high-quality result. The road map that you follow is call

2、ed a software process.,定义阶段,软件过程框架,主要活动:可行性研究、需求分析、设计、实现、测试和维护。,软件生产三阶段:,开发阶段,维护阶段,(改变:纠错、适应、增强、预防),(如何做),(做什么),普适性活动:软件项目追踪和控制、正式的技术复审、质量保证、软件配置管理、软件测试、风险管理等。,Support,Development,Definition,沟通,软件过程框架,通用过程框架:,策划,建模,构建,部署,沟通 Communication(与客户交流) 策划 Planning(制定计划) 建模 Modeling(分析和设计) 构建 Construction(编码

3、和测试) 部署 Deployment(交付给用户),软件过程框架,软件过程框架,譬如:建模活动,软件过程框架,任务集:定义了为达到一个软件工程活动的目标所需要完成的工作。,思考“沟通”活动中的需求获取”子活动所包含的任务集。,软件过程模型,软件过程模型:定义了包含活动、动作、任务、里程碑和工作产品在内的明确的集合,是软件过程具体体现,用来作为软件项目工作的基础。,What is process model?,Software engineering paradigm,Software life cycle model,Software engineering process model,软件过

4、程模型,软件过程模型:,特点、优点、缺点适用点!,线性过程模型,年由W.Royce将模型精确化。,The waterfall model,瀑布模型,线性过程模型,系统开发各阶段基本任务一览表,The waterfall model,线性过程模型,特点: 上一阶段的成果是下一阶段的输入; 对本阶段工作进行评审,确认后方可进入下一阶段。 严格控制开发进度,控制软件开发复杂性,缺点: 实际项目难以难以拒绝变更,难以保持线性顺序。 客户难以描述清楚所有需求。 客户需要有足够耐心。,The waterfall model,适用点: 适用于需求非常明确、系统规模固定的情况。,增量过程模型,增量模型,The

5、 Incremental model,Increment 1,Increment 2,Increment 3,Increment 4,Delivery of 1st Increment,Delivery of 2st Increment,Delivery of 3st Increment,增量过程模型,特点: 增量模型融合了线性顺序模型的基本成分的原型的迭代特征。 能尽早拿出核心增量,更好地满足客户需求。 能减少风险。,系统开发时间过长。 测试成本较高,回归测试多。,The Incremental model,缺点:,增量过程模型,THE RAD MODEL,快速应用开发,60-90 DAY,

6、Business modeling,Data modeling,Process modeling,Application generation,Test & turnover,Team 2,Business modeling,Data modeling,Process modeling,Application generation,Test & turnover,Team 3,Rapid application development,增量过程模型,特点: 快速应用开发是一个线性顺序的软件开发模型,强调极短的开发周期。 RAD强调可复用程序构件的开发。 RAD不适合于技术风险很高的情况。,缺点

7、:对于大型的、但伸缩的项目,RAD需要足够的人力资源。RAD要求承担必要的快速活动的开发者和用户在一个很短的时间框架下完成一个系统,如果两方中的任何一方没有完成约定,都会导致失败。,THE RAD MODEL,演化过程模型,THE PROTOTYPING MODEL,原型法,演化过程模型,特点: 原型法从需求收集开始,开发者和用户在一起定义软件的总体目标,标识出已知的需求,并规划出进一步定义的区域,然后是快速设计并建造原型。 原型并不一定是最终的产品。,优点:原型是建立软件需求的一种机制,消除开发人员与顾客间的误解,及时发现新的需求可找出未发觉的问题。,THE PROTOTYPING MODE

8、L,缺点:原型一般不能成为最终的工作产品。开发者常常需要实现上的折衷,以使原型能够尽快的工作。,演化过程模型,螺旋模型,The spiral model,Product maintenance projects,Product Enhancement projects,New product Development projects,Concept development projects,Planning,Project entry Point axis,Risk analysis,Modeling,Construction & release,Customer evaluation,Cus

9、tomer communication,软件过程模型,特点: 螺旋模型由Boehm提出的,此模型的要点是不断循环地审核与规划。在开发中,当一个阶段完成时,必须为下一阶段明确定目标,风险评估后再选择是否继续执行。,缺点:要求系统开发人员需具备较多的风险评估的知识与技术,若一个主要风险因素未被及时发现,往后会形成开发上的困难。,The spiral model,优点: 迭代的开发。 系统开发初期就能将风险性高的部分加以考虑,以期 及早发现错误、降低风险并减少开发费用。 在编写程序前,已有产品可供执行或示范。,软件过程模型,几种系统开发模型的比较表,专用过程模型,COMPONENT-BASED DE

10、VELOPMENT,Planning,Risk analysis,Modeling,Construction & release,Customer evaluation,Customer communication,Identify Candidate components,Construct Nth iteration of system,Put new Components In library,Look up Components In library,Extract Components If available,Build Components If unavailable,专用过程

11、模型,THE FORMAL METHODS MODEL,特点: 形式化方法是采用严格的数学表示体系来说明、开发和验证软件系统。 形式化模型能够消除其他过程模型中难以克服的二义性、不完整性和不一致性等问题。经过数学分析发现和纠正模型中存在的问题。,缺点: 用形式化模型开发软件目前比较费时和昂贵。 形式化方法对开发者要求较高,培训量大。 开发者和一般用户较难沟通。,净室软件工程(Clean-room software engineering),专用过程模型,FOURTH GERERATION TECHNIQUE,“第四代技术”,特点: 4GT包含一系列的软件工具,这些工具能帮助软件开发人员在较高的

12、层次上说明软件的某些特征,然后由工具根据开发者的说明自动生成源代码。其应用的关键在于说明软件的能力,它用一种特定的语言来完成或者以一种用户可以理解的问题描述方法来描述待解决的问题。,应用:数据库查询的非过程语言,报表生成器,数据操纵,屏幕交互及定义,以及代码生成;高级图形功能;电子表格等等。,UP过程模型,Unified Process Model,A software process that is: use-case driven architecture-centric iterative and incremental Closely aligned with the Unified

13、Modeling Language (UML),创始人:Jacobson、Booch、RumbaughJAC99,UP过程模型,Unified Process Model,UP过程模型,Unified Process Model,敏捷过程模型,敏捷开发者宣言,2001年,Kent Beck和其他16位知名软件专家共同签署了“敏捷软件开发宣言”BEC01a,敏捷过程模型,敏捷的来源,市场情况飞速变化 最终用户需求不断变更 新的竞争威胁毫无征兆地出现 必须敏捷地响应变化、无法确定的商务环境,Cockburn在敏捷软件开发著作中,论证了惯例过程模型的主要缺陷: 忘记了开发软件的人员的特点 高度纪律性

14、的方法学非常脆弱 严格的纪律和宽容实践必须考虑平衡,敏捷过程模型,敏捷过程是什么,敏捷过程是轻量级或者精简的软件开发过程 尽早、持续交付有价值的软件 欢迎变更,快速响应变化 鼓励共利益者特别是客户参与协同工作 强调人的因素,“构造可以满足人员及团队需求的过程模型”,敏捷过程模型,极限编程 (eXtreme Programming, XP),用户故事 权值 验收测试准则 迭代计划,简单设计 CRC卡,重构,结对编程 连续集成,单元测试 集成测试 验收测试,发布,软件增量 项目速度估算,微软的软件开发过程,微软的软件开发过程,微软的软件开发过程,实例讨论,实例讨论,实例讨论,实例讨论,实例讨论,小

15、结(SUMMARY),How can we struggle to build High-quality computer-based system?,What is software process?,What is process model?,What process model can be applied to software development?,第一部分小结(SUMMARY),Software engineering is a discipline that integrates process, methods, and tools for the development

16、 of computer software. A number of different process models for software engineering have been proposed, each exhibiting strengths and weaknesses, but all having a series of generic phases in common.,软件过程概念,1988年公布的国家标准 GB8566-88 计算机软件开发规范,1995年公布的国家标准 GB/T 8566-1995 信息技术-软件生存期过程,1995年ISO公布的国际标准 ISO/IEC 12207 信息技术 -软件生存期过程,实践任务1: 查找下列资料,理解过程的含义。,1988年公布的国家标准 GB/T 8567-1988计算机软件产品开发文件编制指南,软件过程概念,Jacobson、Booch、Rumbaugh、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号