欢迎来到天天文库
浏览记录
ID:39474585
大小:154.50 KB
页数:13页
时间:2019-07-04
《基于构件的软件工程的成功因素 整合的架构,进程,和组织》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于构件的软件工程的成功因素:整合的架构,进程,和组织简介产品线是一整套应用程序,他们共享同一组的需求,但是在需求也体现重要可变性。CBSE使用这种共性和可变性降低开发的整体成本和时间。产品线式CBSE,系统性的复用,构件基础设施和形成产品线的过程和组织,在它们之间存在着重要的联系。很多组织通过使用将新技术和业务需求和组织的处理成熟度(processmaturity)相匹配的方法成功的逐步采用了CBSE。为了有效的开发一个产品线,你需要一个连贯的方法构架系统,设计和构造构件和构件的基础环境(infrastruct
2、ure),组织架构师、设计和实现人员,并且将开发和商业处理过程转换为基于CBSE的方法。为了有效的开发一个产品线,你需要一个连贯的方法构架系统,设计和构造构件和构件的基础环境(infrastructure),组织架构师、设计和实现人员,并且将开发和商业处理过程转换为基于CBSE的方法。采用了业务处理工程UML建模和SEI处理成熟度框架实现了我的这种目的。这一章内容起初是出现在我的书“SoftwareReuse:Architecture,ProcessandOrganizationforBusinessandSuc
3、cess”(Jacobson,GrissandJonsson,1997)和最近的文章中(Griss1998,1999,2000)。复用驱动的软件工程商业组织(RSEB)是实施基于构件的大规模产品线开发和系统性地复用的一种软件开发组织。业务处理流程和基于模型的技术提供了一种易于理解和系统性的方法适合大规模投资和可变的需求,建立一种基于构件的复用过程。在一些方面,优化和特殊环境将能够允许和要求一些步骤能够删除和修改。构件有效复用的障碍很多的团体通过代码共享或者设计模式进行着一种非正式的复用活动。然而,通过多个应用和项
4、目进行软件构件的系统性复用还处在一种萌芽状态。在从传统的软件开发过渡到基于构件的企业级软件开发的过程中,你得面对很多障碍(Frakes1994)。为了克服这些障碍,必须探讨下面的这些问题(Jacobson,etal,1997;Favaroet.al1998;Pour1998;Bosch1999):1.商业:如何投资构件开发,维护和培训;缺乏对于出售构件的了解;缺乏令人信服的商业案例和能够长期投资经济模式;同时产品线定义过于模糊。2.过程::团体开发过程成熟度的低下;面向复用方法和过程的不明确的定义和不熟悉;新合作
5、和管理方法的需要;同时,对构件集和可变性缺少有效的测试和归档方法和模型。3.组织::缺乏针对复用活动和企业构件开发的系统性实践;缺乏这方面管理的专业技术和支持。4.工程:缺乏适当的技术和工具识别,设计,归档,测试,包装和分类可复用的软件构件;极少的易理解标准模式和架构。5.基础环境:缺少类似UML的广泛使用的标准设计符号;缺少工具和构件;过多不同的编程语言和环境;同时还缺少对于多团队配置管理的支持。在这些软件公司为快速变化的市场,例如基于Web的应用或者电子商务系统,开发软件密集型的产品的时候,他们必须做很多的决
6、定(Griss1997,1998)。这些决定包括:1.时间:在开发分布式软件产品时,快速产品开发和市场敏捷是十分重要的。这种时间的压力是如何影响过程、新的架构、和构件的基础环境、商业评估和组织结构?2.过程:如何将软件开发过程从严格地特征驱动转变为以复用驱动过程?这意味着取代基于特征称述计划发布(planningreleases),采用复用元素驱动的特征的优先级。应该如何选择标准的过程和过程成熟度级别(例如SEI的CMM)?如何使用最敏捷的方法达到广泛使用的目的?复用和CBSE之间有怎样的关系?3.组织:也许存在
7、着一些阻碍架构系统和构件有效工作的文化和组织问题。谁拥有标准、架构和构件基础环境?谁为构件开发支付费用?构件构件共享有什么缺点?需要什么样措能够施促进组织、管理和度量的变化?4.协调:协调新的和当前的技术和过程改进要避免冗余或冲突的努力。构件开发的新技术和策略与提升过程可预测性,提高质量和降低软件生命周期之间有怎样的关系?优先权如何?需要什么样的标准?5.技术:共同架构、模式和构件基础环境,可复用构件和中介平台是降低软件生命周期的关键。应该使用什么样的符号、标准和技术?他们应该如何引入?应该使用什么样标准工具?图
8、1:产品线CBSE的重要的成功因素商业驱动的产品线l软件机构在大幅度改善生产周期、成本、生产率、生产柔性和/或协同性方面必须有明显、关键和迫切的需求。l软件机构生产的软件(应用软件、嵌入式系统或核心构件)必须是这样的软件:形成一条明显的产品线、应用家族或连贯一致的“领域”。面向过程的l必须为产品架构和构件基础环境、构件和应用程序设计一个清晰的软件开发和维护过程,并遵照执行
此文档下载收益归作者所有