欢迎来到天天文库
浏览记录
ID:21175761
大小:61.00 KB
页数:9页
时间:2018-10-20
《面向大规模定制的软件开发模式》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、面向大规模定制的软件开发模式1概述“软件危机”问题日益严重,主要表现在:软件开发效率低,开发周期长,开发成本高,可维护性和适应性差,不能很好地满足用户个性化和频繁的业务变化的需求.而日益激烈的市场竞争和经济全球化,赋予软件工程以新的特征:有效率有效用地满足用户个性化需求的定制化,快速响应和适应市场及业务的变化,以及低成本高收益等.在软件行业,大多数开发单位还处于手工劳动阶段,软件开发活动是针对单一用户的具体需求,面向单个产品来组织的.近年来,产业界将“软件作坊”转变为“软件工厂”的呼声越来越高,试图将软件开发作为一种生产制造过程,像在生产线上生产物质产品一样,大规模生
2、产软件产品.但目前的现状并没有达到期望的目标,当软件开发项目比较大时,软件危机依然存在,其中一个主要的原因是,认识一个系统的过程和方法同用于分析、设计和实现一个系统的过程和方法不一致,对软件开发过程的认识不够明确,同时,也缺乏合理和实用的软件过程模型.为了解决软件开发过程中的瓶颈问题,提高软件业的竞争力,人们提出一些旨在促进软件工程化的开发思想和方法,如软件复用、过程重组面向对象的软件工程基于构件的软件工程和领域工程等.本文在这些软件工程方法的基础上,提出面向大规模定制的软件开发模式(softentformasscustomization,SDMC),将大规模标准化软
3、件开发与面向单个用户定制开发有机结合起来,既满足用户的个性化需求,又达到规模经济的效益.2面向大规模定制的软件开发模式1970年,托夫勒在其《FutureShock)(未来的冲击)一书中提出了一种以类似于标准化或大规模生产的成本和时间,提供满足用户特定需求的产品和服务的生产方式的设想.1987年,StanDavis在《FuturePerfec)(未来的理想生产方式)一书中首次将这种生产方式称为“masscustomization”,即大规模定制生产,简称mc.这种能满足用户的真正需求而又不牺牲效益和成本的新的生产方式目前在制造业得到了较快的发展,并作为一种有效的竞争手
4、段逐渐被企业所采纳.简单地说,大规模定制是以大规模的生产成本和时间满足用户的个性化需求,其基本思想是:将个性化定制产品的生产问题通过产品重组和过程重组转化为或部分转化为批量生产问题.与物质产品相比较,软件产品的生命周期更短,受市场和客户需求变化的影响更大,特别是领域应用软件,每个企业的产品结构、规模大小和管理方式都不一样,业务流程也各不相同,而且随着市场的变化,企业重组和持续业务过程改善,都造成业务过程的动态不稳定.这要求软件产品不仅在开发过程中要满足多样化的业务需要,而且在企业应用过程中,要能动态适应不断变化的业务过程.因此,软件产品应比物质产品更具有柔性和可定制性
5、.根据不同软件产品的特点,存在两种软件开发形式,如图1所示.①标准成品软件(off~th品开发过程中.SDMC改变了传统的面向单个软件的开发方法,是对某一领域现在和未来市场、整体和细分市场以及相应的用户群体进行分析,开发出对该领域现存和潜在用户均有良好适应性和定制性的系列产品,即面向产品族开发,以实现范围经济与规模经济的结合.可重用构件是实现SDMC的基石.采用基于构件的开发方法,可以将一个复杂的软件产品分成多个构件的集合,相当于将复杂的单一问题简单化,因此更便于软件的管理、维护和升级.理论上,构件是与具体产品无关的相互独立的单元,可以在广泛范围内共享和重用,是解决大
6、规模软件工程问题的有效方法.构件可以外购,还可以外协构造,这样可以充分利用外部资源,缩短开发周期.SDMC运用并行工程的思想,集成地、并行地开发软件产品和过程,从软件开发的开始就充分考虑软件生命周期中所有因素,包括时间、成本、质量和用户需求等.综上所述,SDMC继承和发扬了领域工程、基于构件的软件工程和并行工程的思想和方法,在系统方法指导下,用全局优化的观念,充分利用内外部资源,以大规模生产软件的效益,开发满足用户个性化需求的软件产品.其目标是:①缩短产品开发周期,以实现快速响应;②提高开发规模,降低开发成本,以实现规模经济;③满足用户个性化需求,以实现范围经济.3面
7、向大规模定制的软件开发过程传统的软件开发过程模型是针对单个产品开发而提出的,将软件开发过程分成需求分析、设计、编码、测试和交付等串行的几个阶段.文献分别给出了面向重用的过程模型.文献[7]将制造业的产品生产过程分为新产品形成过程和订单产品制造过程.本文根据SDMC的目标和特点,给出如图3所示的面向大规模定制的软件开发过程模型.与制造业一样,将软件开发过程分为面向市场的新产品开发和面向用户的定制两个循环.图3面向大规模定制的软件开发过程模型面向市场的新产品开发是根据市场的现在和未来需求收集信息,运用相关知识构造某一应用领域问题的解决方案,开发新的产品.
此文档下载收益归作者所有