第9章 软件工程新技术及体系1.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
*9.7 净室软件工程体系 3.净室认证 认证是指在净室软件工程体系中,通过使用平均失效时间MTTF来度量软件构件和完整增量的可靠性。对于软件构件来说,认证不仅能在本净室项目中起作用,也可通过与构件及其使用的场景、触发、以及概率分布一起存储和发布,来扩大受益面。认证需要经过以下5个步骤:创建使用场景;刻划使用轮廓;从轮廓中生成测试用例;执行测试,记录并分析失败数据;计算并认证可靠性。 净室软件工程的认证需要创建3个模型:取样模型:软件测试执行m个随机测试用例,如果没有错误发生或只有少于指定数量的错误发生,则认证通过。 *9.7 净室软件工程体系 课堂讨论: (l) 净室软件工程体系有什么优点和缺点? (2) 净室软件工程体系的测试有什么特点? (3) 净室和其他软件工程体系最根本的不同有哪些? 9.8 本章小结 本章概述了现代软件开发的新技术,以及现代软件工程体系,CMMI、MSF、敏捷、净室及其形式化方法都有其各自的特色和明确的适用范围。在一些价值观、原则和实践做法上,既存在着明显的区别,又相互借鉴互补。IBM Rational软件工程体系是现代软件工程发展的一个经典实例,其中主要特征之一是理论、技术、方法和工具大范围的集成。CMMI的初衷是为了制定一个评估标准,判断软件承包商的软件能力成熟度,后来更多的企业用于改进自身管理。MSF则是微软软件开发经验的总结和提炼,具有极强的实用性和微软特色。敏捷软件工程体系强调小周期增量开发、人为因素和软件产品本身,简化开发过程中可精简的步骤和产物,直奔软件开发主题,反映了人们对重载过程反省。净室软件工程体系及各种形式化方法另辟蹊径,在应用数学严谨性生产高质量的软件同时,也带来了大规模工业化应用的局限。微软多年来的主要业务是开发面向大众商品软件而非专用的软件项目,MSF更多地从公司角度考虑为提高商业价值而规范软件开发过程,强调按时发布和持续改进,注重进化和改变。形式化方法多出自资深的数学家,严谨和专业使得该方法开发出的软件具有更高的质量,但要进行大规模的工业化应用则需要对开发团队进行严格的专业训练和开发过程指导。 9.5 敏捷软件工程体系 9.5 敏捷软件工程体系 敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在软件开发过程中,经常面对快速变化带来的新问题,并被不断增加、繁杂的步骤、规则和文档所困扰。 9.5 敏捷软件工程体系 9.5.1 敏捷宣言及原则 敏捷软件工程体系的核心思想,可概括为以下敏捷宣言。 个体和交互 胜过 过程和工具 可以工作的软件 胜过 面面俱到的文档 客户合作 胜过 合同谈判 响应变化 胜过 遵循计划 敏捷联盟认为,右项虽然也有价值,但是左项具有更大的实际意义和价值。 9.5 敏捷软件工程体系 敏捷联盟定义的敏捷原则,包括以下12条: (1) 最优先要做的是通过尽早的、持续的交付有价值的软件使客户满意。 (2) 即使到了开发后期,也欢迎改变需求。敏捷过程利用变化为客户创造竞争优势。 (3) 经常地交付可运行的软件,交付间隔从几周到几个月,交付时间间隔越短越好。 (4) 在整个项目开发期间,业务人员和开发人员尽量天天在一起工作与交流。 (5) 围绕被激励的个体构建项目,提供所需的环境和支持,并信任他们能够完成工作。 9.5 敏捷软件工程体系 (6) 在团队内部,最有效果和效率的传递信息方法就是面对面的交谈。 (7) 首要的进度度量标准是研发的软件。 (8) 敏捷过程提倡可持续的开发速度。团队和用户应保持一个长期恒定的开发速度。 (9) 不断地关注优秀的技能和好的设计以增强敏捷能力。 (10) 尽量简单——只做必须的,这是艺术。 (11) 最好的构架、需求和设计出于自组织团队。 (12) 团队会不定期地进行反省和调整,以求更有效地工作。 9.5 敏捷软件工程体系 9.5.2 敏捷过程模型 敏捷过程模型是一渐进型开发过程,将开发阶段的4个活动:分析、设计、编码和测试结合在一起,消除了软件过程中不必要的步骤和提交物,在全过程中采用迭代增量开发、反馈修正和反复测试的策略。敏捷软件开发生存周期划分为用户故事、体系结构、发布计划、交互、接受测试和小型发布6个阶段,其中“用户故事”代替了传统模型中的需求分析,由用户用自己领域中的词汇准确地表达其需求

您可能关注的文档

文档评论(0)

书屋 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档