课件-1软件开发过程绪论.ppt

上传人:小飞机 文档编号:6609388 上传时间:2023-11-17 格式:PPT 页数:46 大小:789.50KB
返回 下载 相关 举报
课件-1软件开发过程绪论.ppt_第1页
第1页 / 共46页
课件-1软件开发过程绪论.ppt_第2页
第2页 / 共46页
课件-1软件开发过程绪论.ppt_第3页
第3页 / 共46页
课件-1软件开发过程绪论.ppt_第4页
第4页 / 共46页
课件-1软件开发过程绪论.ppt_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《课件-1软件开发过程绪论.ppt》由会员分享,可在线阅读,更多相关《课件-1软件开发过程绪论.ppt(46页珍藏版)》请在三一办公上搜索。

1、软件方法与过程,第1章 绪论,第一章 绪论,1946年世界上第一台电子计算机诞生至今,计算机软件发展的三个阶段 第一阶段程序设计阶段 时间:六十年代 特点:软件工作:程序设计(+程序结构说明和使用说明)软件质量:程序设计=数据结构+算法,编程技巧,第一章 绪论,第二阶段软件工程阶段 时间:七十年代 九十年代 特点:软件危机软件工作:代码编写+需求分析、测试、维持等等 软件工程 软件质量:编程技巧 可读性、可理解性、可测试性和易修改性等工程化的原则,第一章 绪论,第三阶段软件过程阶段 时间:九十年代 特点:软件工作:软件开发过程+软件管理过程 软件质量:+软件开发的效率,第一章 绪论,1.1 现

2、代软件产业的困境 1.2 软件生命周期模型及其局限性 1.3 走出困境软件过程模式 习题,1.1 现代软件产业的困境,1.1.1 困境中的现代软件产业,市场变幻莫测、需求日趋复杂、技术日新月异,市场许可的期限,有限资源,需求的产品,企业 成功,现代软件产业的总体情况并不理想,案例 Square-Cal 3.0 版本将要在2.0版本上市后的10个月内发布。项目经理Mickey和上司Kim讨论后决定:他们将为项目组成员提供私人办公室、最新型的计算机以及免费的碳酸饮料,并且要求开发者在前8个月按照预先设计好的接口各自开发,8个月之后进行可视化锁定,在最后2个月内完成系统集成一个完美的计划。于是项目组

3、成员各自做着自己的工作。随着可视化锁定日期的来临,他们开始进行代码集成。他们在可视化锁定最终截止日期前一天的下午两点开始工作,但很快发现程序不能编译通过,更不用说运行了。代码在编译时有数十个错误,而似乎每处理一个错误就会产生十个以上的新错误。他们一直干到午夜也没有结果,只好决定第二天再说。但测试发现问题的速度远比开发人员解决问题的速度快,处理系统这一部分的错误经常会导致其它部分的问题。项目超期了,项目组成员在巨大的压力下工作,士气逐渐低落。最后整个软件开发过程花了15个月的时间,即超过了项目计划时间的0%,公司错过了最佳的发布日期。产品发布后,用户对Square-Cal 3.0版本反映冷淡,几

4、个月的时间内其市场份额从第二位下降到第四位。,现代软件产业的总体情况并不理想,一组统计数据,进度延期、成本超出预算、而且运行经常不可靠,软件开发的滑铁卢(Software Runaways)死亡之旅(Death March),1.1 现代软件产业的困境,1.1.2 陷入困境的根源 沿用二、三十年前的软件组织方式和开发方法 开发当今用户需求的复杂软件产品 不完整、不现实的项目需求描述 缺乏用户参与、交流模糊 不完整、不准确、需求项过多、难度过高对需求的变更束手无策 需求变更是现实世界变化的反映 对需求变更无应对能力,1.1 现代软件产业的困境,脆弱的构架 程序块间互不兼容,不易扩展、裁剪和移植

5、采用不成熟的技术 新技术不具有要求的功能 新技术存在局限性 新技术是问题的错误解决方案测试的不充分性 未检测出需求、设计和实现三者之间的不一致,1.1 现代软件产业的困境,拙劣的进度计划和评估 过于乐观 霍夫斯塔特(Hofstadter)定律:开发软件的 时间总比想象的时间长,即使注意了霍夫斯塔特定律也是如此。,1.1 现代软件产业的困境,缺乏资源 经费、人员、场地、时间 尤其是资深人员 不具备项目管理方法 风险的预估和驾驭 软件质量的度量,1.1 现代软件产业的困境,缺少管理层的支持 企业高层的支持的必要性需要获取足够的资源需要获取对项目特殊要求的审批需要与其他部门人员进行合作需要在某些时候

6、得到适当的指导和帮助 符合企业总体的发展规划和经营目标,1.2 软件生命周期模型及其局限性,1.2.1 困境中的消极态度,项目遇到障碍,指责:,老板,项目管理人员,用户,颓废:,死亡之旅,不相干的事,恶性循环,相信自己是完美的,1.2 软件生命周期模型及其局限性,1.2.2 困境中的积极探索 思考、反省,1.2 软件生命周期模型及其局限性,例证1:微软公司,例证2:嵌入式软件产品与服务的提供商 风河(Wind River)公司,1.2 软件生命周期模型及其局限性,1.2.2 困境中的积极探索,?微软等,成功经验,失败教训,演变为体系化研究成果,软件生命周期模型,软件过程,软件开发实践经验总结,

7、汇总,新的软件项目开发,指导,1.2 软件生命周期模型及其局限性,1.2.3 软件过程 1定义 定义1-1 软件过程是从软件项目需求定义开始直至软件经使用后废弃为止的跨越软件整个生存期内的系统开发、运行和维护等全部活动及相关项的总和。,1.2 软件生命周期模型及其局限性,2内容 软件过程包括:5个主要过程、8个支持过程和4个组织过程。5个主要过程为:获取过程、供应过程、开发过程、运行过程、维护过程。8个支持过程为:文档编制过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审核过程、问题解决过程。4个组织过程为:管理过程、基础设施过程、改进过程、培训过程。,1.2 软件生命周期

8、模型及其局限性,3软件过程能力评估标准和改进方案 三种最具影响力的软件过程能力评估标准和改进方案:CMM(Capability Maturity Model):起源:1987年由美国卡内基梅隆大学提出适用范围:国际贸易中的软件内容:软件能力成熟度从低到高分为五级初始级、可重复级、已定义级、已定量管理级、优化级,软件企业可按这五级对其软件过程进行持续改进ISO9000:起源:1987年由国际标准化组织颁布适用范围:国际贸易中的软件+国际贸易中的硬件和服务。,1.2 软件生命周期模型及其局限性,六西格玛(Six Sigma,6):历史 起源于制造业,质量度量管理方法 20世纪90年代中期,通用电气

9、公司的企业过程设计、改造和优化的方法体系,各个行业 内容:采用统计学技术的质量度量和管理方法 将所有工作作为一种过程或流程,采用量化的方法分析过程中影响质量的因素,找出最关键的因素加以改进,从而达到更高的客户满意度,1.2 软件生命周期模型及其局限性,1.2.4 软件生命周期模型及其局限性 1定义 定义1-2 软件生命周期模型是软件过程中全部活动生命周期结构框架的一种形式化描述,也称为软件生存期模型。,1.2 软件生命周期模型及其局限性,2种类 瀑布模型内容:各阶段活动特征:瀑布状:自上而下,相互衔接各阶段及其活动:多种模型的基本细粒度元素适用范围 需求较明确、且较稳定,演化模型(原型模型)内

10、容:第一步:原型 弄清需求并探索可行性 第二步:开发产品 特征及适用范围:减少了需求不明确带来的风险,1.2 软件生命周期模型及其局限性,1.2 软件生命周期模型及其局限性,螺旋模型 内容:螺线旋转一圈(笛卡儿坐标四个象限)一个原型,1.2 软件生命周期模型及其局限性,螺旋模型 特征加入风险分析 迭代演化识别每个演化层的风险 自上而下(见右图)适用范围需求不太稳定,1.2 软件生命周期模型及其局限性,喷泉模型 内容:面向对象的分析设计方法 特征:喷泉状:自底向上 迭代演化对象统一范式 无缝衔接,复用,并行与集成 适用范围 需求较不稳定,1.2 软件生命周期模型及其局限性,3总体局限性 定义1-

11、1 软件过程是从软件项目需求定义开始直至软件经使用后废弃为止的跨越软件整个生存期内的系统开发、运行和维护等全部活动及相关项的总和。定义1-2 软件生命周期模型是软件过程中全部活动生命周期结构框架的一种形式化描述,也称为软件生存期模型。,?活动的相关项(执行者、方法和工具、目标),软件生命周期模型较差的可操作性,寻求 新的,1.3 走出困境软件过程模式,1.3.1 软件过程模式定义 定义1-3 软件过程模式从成功或失败的软件开发实践中总结而成,是软件过程中生命周期、人员、方法、产品四大类要素的有机关联整体。,1.3 走出困境软件过程模式,定义理解:谁、为实现什么、如何、做什么,其中人员:表示“谁

12、”;产品:表示“为实现什么”;方法:表示“如何”;生命周期:表示“(何时)做什么”。关系:软件生命周期模型软件过程模式,1.3 走出困境软件过程模式,过程模式定义的补充说明过程模式一书(Process Patterns:Building Large-Scale Systems Using Object Technology.SCOTT W.AMBLER)模式:对一个常见问题的通用解决方案的描述,从中可以确定针对具体问题的细节化的解决方案;软件开发模式有多种形式,包括分析模式、设计模式和过程模式等,但不限于这些。过程模式:一种模式,描述了已被证实为成功的软件开发的方法或一系列的行为。尚无统一定义

13、,仅供参考,1.3 走出困境软件过程模式,1.3.2 几种典型的软件过程模式 符合定义1-4且目前在软件界影响较大的三种软件过程模式:Rational统一过程(RUP,Rational Unified Process)敏捷过程(AP,Agile Process)微软过程(MP,Microsoft Process),1.Rational统一过程(RUP,Rational Unified Process)起源:Rational公司推出的软件过程产品三位杰出的专家Grady Booch、James Rumbaugh和Ivar Jacobson 面向对象领域+UML的创立者,1.3 走出困境软件过程模

14、式,应用领域:全球有上千家公司已经在使用 电信业:Ericsson、Alcatel、MCI交通、航空、国防;Lockheed-Martin、British Aerospace制造业:Xerox、Volvo、Intel金融业:Visa、Merrill Lynch、Schwab系统集成业:Ernst Young、Oracle、Deloitte&Touche RUP的多功能性和广泛的适用性,1.3 走出困境软件过程模式,内容:从软件过程模式的角度 生命周期:迭代与增量的二维生命周期结构横轴:生命周期的四个阶段先启、精化、构建和产品化纵轴:九个核心工作流程业务建模、需求、分析设计、实施、测试、部署、配

15、置与变更管理、项目管理、环境 人员:角色及活动,1.3 走出困境软件过程模式,方法:UML可视化建模 基于用例驱动 以构架为中心 一整套支持开发工具Rational Solutions,如UML建模工具Rose、文档自动生成工具SoDA、测试工具Purify和Quality、配置管理工具ClearCase、变更管理工具ClearQuest等 产品:工件定义,工件类型规范,提供工件模板,1.3 走出困境软件过程模式,2敏捷过程(AP,Agile Process)起源:矫正某些官僚烦琐的软件过程 2001年2月,17个方法学家发起成立了敏捷 软件开发联盟(),简称为敏捷联盟(Agile Allia

16、nce)。4条价值观+12条原则,1.3 走出困境软件过程模式,内容:从软件过程模式的角度 生命周期:“经常性地交付可用软件,从几个星期到几个月,尽可能做到较短的时间间隔”人员:“个体和交互胜过过程和工具”强调客户的重要性“客户合作胜过合同谈判”,1.3 走出困境软件过程模式,方法:简单化方法“简单把不做的工作最大化的艺术是最关键的”面对面的交流 产品:“可以工作的软件胜过面面俱到的文档”,1.3 走出困境软件过程模式,3.微软过程(MP,Microsoft Process)起源:微软三十多年的软件开发实践经验总结 MSF(Microsoft Solution Framework)应用:微软自

17、身的成功实践史 可实践性与有效性,1.3 走出困境软件过程模式,内容:从软件过程模式的角度 生命周期:过程分为五个阶段构想、计划、开发、稳定和发布,里程碑采用递进的版本发布策略人员:六种角色:产品管理、程序管理、开发、测试、用户体验、发布管理人员的组织结构 矩阵结构模式,1.3 走出困境软件过程模式,方法:需求分析方面以产品特性及优先级指导整个项目设计方面模块化和水平化的设计结构,并使项目结构反映产品结构实现方面源代码控制与每日编译测试方面手工测试与自动化测试,零缺陷管理 产品:产品规范包括:项目前景/范围说明书、功能说明书、源代码、测试说明书与测试用例等,1.3 走出困境软件过程模式,其它:

18、如个体/小组软件过程(PSP/TSP)特点:强调质量优先于效率和成本 对过程的管理和评估基于对历史数据的统计分析和度量 适用范围:环境和需求相对稳定、开发质量关键工程以及一些外包项目,1.3 走出困境软件过程模式,1.3 走出困境软件过程模式,1.3.3 软件过程模式提出的意义 相对软件生命周期模型 关注四要素及相互关系的有机整体,非一个要素全面反映了软件过程中的各个层面和各个环节是项目计划、风险评估、质量保证的重要依据,指导软件开发具有可操作性 从软件过程模式的角度分析RUP、AP、MP 纲举网张式的把握思想本质、原则规范、主要特点和实现策略等,1.3 走出困境软件过程模式,比较RUP、AP、MP等各种软件过程的 优缺点 取舍、结合、定制 以期以一种可预测的、循环的方式指导软件项目开发走出困境,自测题,1.现代软件产业各类软件项目完成的总体情况如何?2.在计算机软件的发展史上,软件过程阶段区别于软件工程阶段的显著特点是什么?3.瀑布模型、演化模型、螺旋模型、喷泉模型等这些经典的软件生命周期模型总体上存在哪些局限性?4.软件过程模式与软件生命周期模型之间的异同点是什么?它们之间存在何种关系?5.“软件过程模式”这一概念的提出有何意义?,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号