软件工程-软件工程学概论.pptx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件 工程学 概论
- 资源描述:
-
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,1.1,软件危机,软件危机介绍,产生危机的原因,消除危机的途径,1.2,软件工程,1.3,软件生命周期,1.4,软件过程,1.1,软件危机,20,世纪,60,年代中期软件需求急剧膨胀,软件维护工作耗费大量的资源,1968,年北大西洋公约组织的计算机专家召开国际会议,讨论软件危机问题,首次提出软件工程概念,1.1.1,软件危机介绍,什么是软件危机,?,在计算机软件的开发和维护过程中,所遇到的一系列严重问题。,这些问题绝不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。,包含两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护软件,数量不断膨胀。,软件危机表现,开发成本和进度难以估算和控制,大大超过预期,用户对已完成的软件不满意,需求分析不够充分,软件产品的质量难以保证,软件维护困难,难以改正错误,难以增加新功能,软件通常没有合适的文档资料,软件成本在计算机系统总成本中比例逐年上升,软件开发生产率提高的速度,跟不上计算机普及速度。,几个软件危机的案例,1.1.2,产生软件危机原因,两个主要原因:,与软件本身的特点有关,,和软件开发与维护的方法不正确有关。,1.1.3,消除软件危机的途径,消除“软件就是程序”的错误观念,软件,=,程序,+,文档,+,数据,软件开发应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。非个人英雄主义,使用实践中总结出来的成功的技术和方法,开发和使用更好的软件工具。,思考问题,只要是编程高手,不懂软件工程,也能编出很好的软件?,只要一套好的软件工程书籍,就可以解决软件开发过程的任何问题?,只要有最好的开发工具、就能做出优秀的软件?,软件开发进度慢于计划,增加程序员来解决?,软件运行较慢,换一台机器?换一种算法?,目录,1.1,软件危机,1.2,软件工程,1.2.1,软件工程定义,1.2.2,软件工程原理,1.2.3,软件工程方法学,1.3,软件生命周期,1.4,软件过程,软件工程的本质特性,软件工程关注于,大型,程序,/,系统的构造,软件工程的中心课题是控制,复杂性,逻辑,文档 分而治之 可管理,软件经常变化,开发软件的效率非常重要,和谐地合作是开发软件的关键,软件必须有效地支持它的用户,在软件工程领域中,是由具有一种,文化背景,的人,替具有另一种文化背景的人,软件,=,知识,+,程序,+,数据,+,文档,1.2.2,软件工程的基本原理,(I),Boehm,于,1983,年提出:,1.,用分阶段的生命周期计划严格,管理,2.,坚持进行阶段评审,3.,实行严格的产品控制,4.,采用现代程序设计,技术,5.,结果应能清楚地审查,6.,开发小组的人员应该少而精,7.,承认不断,改进,软件工程实践的必要性,1.2.3,软件工程方法学,软件工程包括,技术,和,管理,两方面的内容,管理,对 人、财、物的合理使用和配置,技术,软件开发中采用的方法、过程、工具,软件工程方法学:,通常把在软件生命周期全过程中,使用的一整套技术方法的集合,称为方法学(,Methodology,),也称为范型(,Paradigm,)。,软件工程方法学,3,个要素,方法完成软件开发的各项任务的技术方法,回答“怎样做”的问题;,工具为运用方法,而提供的自动的或半自动的软件工程支撑环境;,过程为了获得高质量的软件,所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。,软件工程方法学思想,传统方法学,面向对象方法学。,目录,1.1,软件危机,1.2,软件工程,1.3,软件生命周期,1.3.1,软件定义,1.3.2,软件开发,1.3.3,软件维护,1.4,软件过程,1.3,软件生命周期,目录,1.1,软件危机,1.2,软件工程,1.3,软件生命周期,1.4,软件过程,什么是软件过程,软件开发模型,/,过程模型,/,软件工程范型,瀑布、原型、增量、螺旋、喷泉,RUP XP MSF,将软件的开发过程,分成若干个日程时间交错的线性序列,每个线性序列,产生软件的一个可发布的,“,增量,”,版本,后一个版本是对前一版本的修改和补充,重复增量发布的过程,直至产生最终的完善产品。,强调每一个增量都,发布,一个,可运行的产品,特别适用于:,需求经常变化的软件开发,市场急需而开发人员和资金不能在设定的市场期限之前实现一个完善的产品的软件开发,能有计划地管理技术风险,如早期增量版本中,避免采用尚未成熟的技术,1.4.3,增量模型,增量模型,在软件开发过程中,必须及时识别和分析风险,,并且采取适当措施,以消除或减少风险的危害。,螺旋模型,B.Boehm,于,1988,年提出,使用原型等技术方法来降低风险,螺旋模型沿着螺线旋转,在四个象限上分别表达四个方面的活动,即:,制定计划,:确定软件目标,选定实施方案,弄清项目开发的限制条件,风险分析,:评价所选的方案,识别风险,消除风险,工程实施,:实施软件开发,验证工作产品,客户评估,:评价开发工作,提出修正建议,1.4.5,喷泉模型,喷泉模型体现了面向对象软件开发过程,迭代和无缝的特性,图中代表不同阶段的圆圈相互重叠,表示两个活动之间存在交迭。,1.4.6 RUP,经验证的、最有效的软件开发经验,称为最佳实践:,迭代式开发,管理需求,使用基于构件的体系结构,可视化建模,验证软件质量,控制软件变更,渐进的认识,需求会不断变化,提高重用,更易理解沟通,全程质保,确保迭代成功,RUP,软件开发生命周期,核心过程工作流程,核心支持工作流程,4,个连续工作阶段,1.4.7,敏捷过程与极限编程,(I),敏捷过程,团队高效工作、快速响应变化,开发宣言,个体和交互 胜过 过程和工具,可以工作的软件 胜过 面面俱到的文档,客户合作 胜过 合同谈判,响应变化 胜过 遵循计划,1.4.7,敏捷过程与极限编程,(II),XP,是敏捷过程中最负盛名的一个,用于需求模糊且常变,XP,的有效实践,客户作为开发团队的成员,使用用户素材,短交付周期,验收测试,结对编程,测试驱动开发,集体所有,持续集成,可持续的开发速度,开放的工作空间,及时调整计划,简单的设计,重构,使用隐喻,XP(,极限编程,),eXtreme Programming,是一门针对业务和软件开发的规则,它的作用在于将两者的力量集中在共同的、可以达到的目标上。,它是以符合客户需要的软件为目标而产生的一种方法论,,XP,使开发者能够更有效的响应客户的需求变化,哪怕是在软件生命周期的后期。,它强调,软件开发是人与人合作进行的过程,因此成功的软件开发过程应该充分利用人的优势,而弱化人的缺点,突出了人在软件开发过程中的作用。极端编程属于轻量级的方法,认为文档、架构不如直接编程来的直接。,1.4.7,敏捷过程与极限编程,(III),XP,项目的整体开发过程,1.4.7,敏捷过程与极限编程,(IV),XP,迭代开发过程,1.4.8,微软过程,(I),项目计划应该兼顾未来的不确定因素,用有效的风险管理来减少不确定因素的影响,经过生成并快速地测试软件的过渡版本,从而提高产品的稳定性和可预测性。,采用快速循环、递进的开发过程,用创造性的工作来平衡产品特性和产品成本,项目进度表应该具有较高稳定性和权威性,使用小型项目组并发地完成开发工作,在项目早期把软件配置项基线化,项目后期则冻结产品,使用原型验证概念,对项目进行早期结论,把零缺陷作为追求的目标,里程碑评审会的目的是改进工作,切忌相互指责,1.4.8,微软过程,(II),微软软件生命周期阶段划分和主要里程碑,1.4.8,微软过程,(III),微软过程的生命周期模型,模型比较,每个软件开发组织,,应该选择,适合于该组织,的软件开发模型,,随着正在开发的特定,产品特性,而变化,,以减小所选模型的缺点,充分利用其优点。,模型比较,模型,优点,缺点,瀑布模型,文档驱动,系统可能不满足客户的需求,快速原型模型,关注满足客户需求,可能导致系统设计差、效率低,难于维护,增量模型,开发早期反馈及时,易于维护,需要开放式体系结构,可能会设计差、效率低,螺旋模型,喷泉模型,风险驱动,迭代 无缝 适合,OO,风险分析人员需要有经验且经过充分训练,小结,列举软件危机表现,不同阶段软件变更的代价,P32,题,2,理解软件工程概念,列举软件工程方法学,列举软件生命周期的阶段,列举软件过程,13.7,能力成熟度模型,(I),CMM,(,capability maturity model),,,是用于评价软件机构的软件过程能力成熟度的模型。,有助于软件开发机构,建立一个有规律的、成熟的软件过程。,CMMI Intro,吃饭活动为例,13.7 CMM,在改进软件过程作用,通过,确定当前的过程成熟度,,并,识别出对过程改进起关键作用的问题,,,从而,明确过程改进的方向和策略,。,通过集中,开展一组过程改进活动,,软件机构便能稳步而,有效地改进其软件过程,,使其,软件过程能力,得到,循序渐进,的提高。,13.7 5,个成熟度级别,说明了不同级别之间,软件过程的主要变化。,为了达到从一个无序的、混乱的软件过程,进化到一种有序的、有纪律的且成熟的软件过程的目的,必须经历的过程改进活动的途径。,初始级,可重复级,已定义级,已管理级,优化级,13.7.1,初始级,(I),软件过程的特征是无序的,混乱的。,过分的承诺,几乎没有什么过程是经过定义的,项目能否成功完全取决于开发人员的个人能力。,遇到危机就放弃原计划过程,反复编码和测试。,成功完全依赖个人努力和杰出的专业人才。,软件过程是不可确定和不可预见的。,改进方向:,建立,项目管理,过程。实施规范化管理,保障项目的承诺。,首要任务是进行,需求管理,,建立客户与软件项目之间的共同理解,使项目真正反映客户的要求。,建立各种软件,项目计划,。如软件开发计划、软件质量保证计划、软件配置管理计划、软件测试计划、风险管理计划及过程改进计划。,开展,软件质量保证活动,(,SQA,)。,13.7.1,初始级,(II),13.7.2,可重复级,(I),特点:,进行较为现实的承诺。,主要是,逐个项目,地建立基本过程管理条例来加强过程能力。,管理工作主要跟踪软件经费支出、进度及功能。,采用基线(,baseline,)来标志进展、控制完整性。,定义了软件项目的标准,并相信它、遵循它。,通过子合同建立有效的供求关系。,13.7.2,可重复级,(II),改进方向:,不再按项目制定软件过程,而是,总结,各种项目的成功经验,使之规则化,把具体经验归纳为,全组织的,标准软件过程。,确定全组织的标准软件过程,,把软件工程及管理活动集成到一个稳固确定的软件过程中,建立软件工程过程小组(,SEPG,),长期承担评估与调整软件过程的任务,以适应未来软件项目的要求。,积累数据,建立组织的软件过程库及软件过程相关的文档库。,加强培训。,13.7.3,已定义级,(I),特点:,无论管理方面或工程方面的软件过程都已,文件化、标准化,,并综合成软件开发组织的标准软件过程。,软件过程标准被应用到所有的工程中,用于,编制和维护软件,。,在从事一项工程时,产品的生产过程、花费、计划以及功能都是可以完全控制的,从而软件质量也可以控制。,软件工程过程组(,SEPG,)负责软件过程活动。,在全组织范围内安排培训计划。,13.7.3,已定义级,(II),改进方向,*开始着手,软件过程的定量分析,,以达到定量地控制软件项目过程的效果。,*,通过软件的质量管理,达到软件的质量目标。,13.7.4,已管理级,(I),特点:,制定了软件过程和产品质量的详细而具体的,度量标准,。软件过程和产品的质量都可以被理解和控制。,软件组织的能力是可预见的。,组织的度量工程保证所有项目对,生产率和质量进行度量,,并作为重要的软件过程活动。,具有良好定义及一致的度量标准来指导软件过程,并作为评价软件过程及产品的定量基础。,在开发组织内已建立软件过程数据库,保存收集到的数据,可用于各项目的软件过程。,13.7.4,已管理级,(II),改进方向:,缺陷防范。不仅仅在发现了问题时能及时改进,而且应采取特定行动,防止将来,出现这类缺陷。,主动进行技术变动管理、标识、选择和评价新技术,使有效的新技术能在开发组织中施行。,进行过程变动管理。定义过程改进的目的,经常不断地进行,过程改进,。,13.7.5,优化级,(I),特点:,整个组织特别关注软件过程改进的持续性、预见及增强自身。,加强定量分析,通过来自过程的质量反馈和吸收新观念、新科技,使软件过程能不断地得到改进。,根据软件过程的效果,进行成本,/,效益分析,从成功的软件过程实践中吸取经验,加以总结。,组织能找出过程的不足并预先改进。,对软件过程的评价和对标准软件过程的改进,都在全组织内推广。,13.7.5,优化级,(II),改进方向:,*,保持持续不断的软件过程改进。,展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




软件工程-软件工程学概论.pptx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/12040400.html