- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于组件的软件产品线方法.doc
基于组件的软件产品线方法
摘 要: 软件产品线方法通过在软件开发的各个阶段引入不同重量级别的重用,可使软件产品开发如同在流水线上批量生产工业产品,一方面软件产品的成本可以大幅降低,另一方面软件产品的生产周期可以大大缩短,同时其质量也可以得以显著提高[1]。基于软件产品线驱动的现代组件技术,把软件产品开发过程划分为塑造空间和创建空间,以行业组件框架为核心支撑,开发出一系列软件产品。
关键词: 组件; 软件产品线方法; 行业组件框架; 塑造空间; 创建空间
中图分类号:TP311.11 文献标志码:A 文章编号:1006-8228(2013)09-08-02
0 引言
当前市场所需要的是大量高品质、低成本和快速应用的软件产品,传统的软件企业采用的生产方式低效、落后,是不可能满足这些要求的。应用软件产品如同实物产品非常丰富而又千差万别,需要有不同行业的企业产品线来生产。软件产品线驱动着现代软件企业的形成,分析软件生产线方法与技术对于软件企业发展有积极和重要的现实意义。
1 软件生产线的内容及作用
产品线需要把产品生产分成若干过程,每一个过程基于相同生产工艺和方法,对同一和相似的产品进行生产和加工。工业化的产品线还需要有一个具有统一标准的平台和零部件,统一标准零部件不仅可以来自于软件企业自身,也可来自于软件市场。基于产品线的行业业务组件方法中的产品线,是指软件企业的工业化产品线。在软件开发过程中将各种级别的重用引入到产品线,是其他工程学科一直都在追求而又能够达到的目标,但在软件工程学中却往往不尽如人意。然而,在过去的几年里,一些新的软件开发范型的出现彻底改变了这种状况,使得软件工程能够在工程学科这个大家族中找到一席之地。其中最引人注目的就是基于组件的软件开发和产品线工程。按照粒度从小到大排序,一端是组件——即能快速简单地组装成新系统的可重用的软件组件块,另一端是产品线工程——即在单一的可高度重用的软件核心内,将产品中一定结构范围内的所有公共部分合并[1]。
软件产品线工程要求是以高度重用的方法及工具形成该软件产品线的生产阶段及相关设备,把产品中一定结构范围内的所有公共部分合并为单一的可高度重用的软件核心基础,并根据需求来生产个别具体的产品。这要求一条软件产品线的产品从内容上能做到最大化的相同性或相似性,从软件开发的生产终端作出了约束性要求。软件开发是基于一个具体、个别的软件,而软件产品线是基于一个共性的基础上的批量软件;软件开发的主体往往是科研机构和团队,而软件产品线的主体是现代软件企业;软件开发的目的是软件本身,而软件产品线的目的是企业或团体的应用。因此,软件开发不需要考虑过多的软件成本和产生软件的过程的方法成熟度,而软件产品线要充分考虑软件成本和产生软件的过程的方法成熟度。
2 软件生产线方法的组件技术及方法
软件生产线方法涵盖了软件开发方法,但它需要底层技术和方法支撑,组件技术及方法就属于后者,软件生产线方法在空间上具有最大跨度,从软件企业的生产线直至具体的软件产品,它也需要组件技术及方法来联接。组件是一种软件实体。组件是仅由指定接口和上下文依赖关系所构成的单元。组件具有:服务性、可部署性、合成性、上下文依赖性四种基本性质,它决定了组件与其他软件实体:对象、函数等的区别[2]。目前,主要的软件公司所用开发工具均支持组件,所推出的组件模型又各有特色。已有的组件模型包括Microsoft的COM+、Sun的Java Beans和Enterprise Java Beans,以及OMG的CORBA组件标准。根据组件及其基本性质,形成新的软件开发方法——组件方法[3]。组件方法的特征有以下。
⑴ 形态的不变性:组件是一个,就是在整个系统的分析、设计、实现、部署、升级到维护开发全过程中都是以组件作为自治单元出现,而无需变换形态,只是在不同阶段组件的细化程度上存在差异,如图1所示。
⑵ 隐蔽性:组件不管是在构建时还是在运行时对于使用者来说可见的仅仅是接口,其内部的内容均是不可见的,隐蔽的,尽管组件所采用不同的语言来实现,一个用C++语言描述的组件是不可以在语言层面上调用Java语言描述的组件,而只能用接口来实现调用。组件内部的可见仅是针对其制作者而言。
⑶ 语言上的独立性:组件与构造的语言无关,组件并不是一个对象,它具可以用对象语言构造,也可以用过程语言构造。由于组件接口与实现能够分离,组件接口的实现者,可完全自由、独立地选择实现的方法和语言[4]。在构建系统时,可视为一个类,在运行时成为一个实例。类与实例的关系如同产品设计图与具体产品的关系。成熟与不断发展的组件技术为软件生产线方法奠定了坚实的技术基础和保证。
3 基于组件的软件生产线方法
软件生产线方法
原创力文档


文档评论(0)