第2章 软件生存期模型解析.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
主要工作产品 2.6 统一过程 2.7 基于构件的开发模型 基于构件的软件工程(component-based software engineering,CBSE)是强调使用可复用的软件“构件”来设计和构造基于计算机的系统的过程。 2.7 基于构件的开发模型 Clements对CBSE给出了如下描述。 CBSE正在改变大型软件系统的开发方式。CBSE体现了Frod Brooks和其他人支持的“购买,而非构造”的思想。就如同早期的子程序将程序员从考虑编程细节中解脱出来一样,CBSE将考虑的重点从编码转移到组装软件系统。 考虑的焦点是“集成”,而不再是“实现”。 这样做的基础是假定在很多大型软件系统中存在足够多的共性,使得开发可复用的构件来满足这些共性是可行的。 2.7 基于构件的开发模型 当软件团队使用传统的需求获取技术确定了待开发软件的系统需求时,该过程开始。 体系结构设计完成后,并不立即进行详细设计任务,而是针对每一系统需求考虑以下问题: (1)现有的商品化构件(commercial off-the-shelf,COTS)是否能够实现该需求? (2)内部开发的可复用构件是否能够实现该需求? (3)可用构件的接口与待构造系统的体系结构是否相容? 2.7 基于构件的开发模型 基于构件的开发模型如下图。 2.7 基于构件的开发模型 开发步骤 不考虑构件的开发技术,基于构件的开发模型由以下步骤组成: (1)对于该问题领域的基于构件的可用产品进行研究和评估。 (2)考虑构件集成的问题。 (3)设计软件架构以容纳这些构件。 (4)将构件集成到架构中。 (5)进行充分的测试以保证功能正常。 2.7 基于构件的开发模型 典型的构件模型 (1)OMG/CORBA。对象管理组织发布了公共对象请求代理体系结构(OMG/CORBA),一个对象请求代理提供了多种服务,使得可复用构件(对象)可以与其他构件通信。 (2)Microsoft COM/DCOM/.NET。微软公司开发了构件对象模型(COM),此模型提供了构件的规格说明,在Windows操作系统,一个应用系统中可以使用不同厂商生产的构件。 (3)Sun JavaBean构件。JavaBean构件系统是一个可移植的、平台独立的、使用Java程序设计语言开发的CBSE基础设施。 2.8 敏捷过程 敏捷过程模型 2001年,Kent Beck等17名编程大师发表“敏捷软件开发”宣言: 我们正在通过亲身实践以及帮助他人实践的方式来揭示更好的软件开发之路,通过这项工作,我们认为: 个体和交互胜过过程和工具; 可工作软件胜过宽泛的文档; 客户合作胜过合同谈判; 响应变化胜过遵循计划。 2.8 敏捷过程 敏捷过程 任何一个敏捷过程都可以由所强调的3个关键假设识别出来,这3个假设可适用于大多数软件项目。 (1) 提前预测哪些需求是稳定的、哪些需求会变化非常困难。同样的,预测项目进行中客户优先级的变化也很困难。 (2) 对很多软件,设计和构建是交错进行的。事实上,两种活动应当顺序开展以保证通过构建实施来验证设计模型,而在通过构建验证之前很难估计应该设计到什么程度。 (3) 从制订计划的角度来看,分析、设计、构建和测试并不像我们所设想的那么容易预测。 2.8 敏捷过程 敏捷原则 (1)我们最优先要做的是通过尽早、持续交付有价值的软件来使客户满意。 (2)即使在开发的后期,也欢迎需求变更。敏捷过程利用变更为客户创造竞争优势。 (3)经常交付可运行软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。 (4)在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。 (5)围绕有积极性的个人构建项目。给他们提供所需的环境和支持,并且信任他们能够完成工作。 2.8 敏捷过程 敏捷原则 (6)在团队内部,最富有效果和效率的信息传递方法是面对面交谈。 (7)可运行软件是进度的首要度量标准。 (8)敏捷过程提倡可持续的开发速度。责任人、开发者和用户应该能够保持一种长期、稳定的开发速度。 (9)不断地关注优秀的技能和好的设计会增强敏捷能力。 (10)简单是必要的。 (11)好的架构、需求和设计出自于自组织团队。 (12)每隔一定时间,团队会反省如何才能更有效地工作,并相应调整自己的行为。 2.8 敏捷过程 人的因素 敏捷开发团队成员及团队本身必须具备的一些特点: 基本能力 共同目标 精诚合作 决策能力 模糊问题解决能力 相互信任和尊重 自我组织 极限编程(eXtreme Programming,XP) 使用最广泛的敏捷过程,最初由Kent Beck提出。XP包含了

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档