microsoft开发软件工厂模式

microsoft开发软件工厂模式

ID:35515110

大小:160.00 KB

页数:9页

时间:2019-03-25

microsoft开发软件工厂模式_第1页
microsoft开发软件工厂模式_第2页
microsoft开发软件工厂模式_第3页
microsoft开发软件工厂模式_第4页
microsoft开发软件工厂模式_第5页
资源描述:

《microsoft开发软件工厂模式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Microsoft开发软件工厂模式发布日期:11/4/2004

2、更新日期:11/4/2004JackGreenfieldMicrosoftCorporation摘要:简要介绍Microsoft开发软件工厂这种方法的动机。所谓软件工厂就是指为了支持某种特定应用程序的快速开发而配置的开发环境。软件工厂从逻辑上讲就是软件开发方法和实践的下一个发展阶段。然而,通过引入产业化模式,软件工厂势必会改变软件行业的现状。扩大软件开发的规模从目前的情况来看,软件开发的速度缓慢、代价高昂而又极易出错,常常会生产出存在大量缺陷的产品,在可用性、可靠性、性能、

3、安全以及其他服务质量方面造成严重的问题。根据StandishGroup[Sta94]的统计,美国公司每年投资约175,000个软件开发项目,投资额约为2,500亿美元。这些项目中只有16%能够在预算内按计划完成。另有31%的项目主要由于质量问题而被取消,经济损失约为810亿美元。另外53%的项目平均超出预算189%,经济损失约为590亿美元。完成的项目平均只实现了原来规划的功能的42%。这些数字客观地印证了我们根据经验所做出的判断,那就是软件开发是一项劳动密集型的产业,它创造每一美元的价值所消耗的人力资本超过了我们对于一个现代化行业的期

4、望值。当然,除了这些缺点以外,软件开发的成果显然为消费者带来了巨大的价值,正如需求增长的长期趋势所表明的那样。但这并不意味着消费者已经非常满意,不管是对我们提供的软件,还是对我们提供软件的方式。这只是说明他们确实看好软件的前景,愿意承担巨大的风险和损失,以此来获得软件所带来的好处。然而,正如软件开发的外包越来越受欢迎所表明的,这种情况显然不是最好的,因为它似乎不能推动软件行业在软件开发方法和实践方面作出重大的改变。在过去十年中,生产率只获得了有限的提高,最重要的原因可能是采用了字节编码的语言、模式和灵活的方法。除了这些进步,我们开发软件

5、的方法与十年前没有什么不同。我们的方法和实践实际上没有太大的改变,相应的成本和风险同样也没有太大的改变。然而,这种情况就要被改变。据预测,全球对软件的总体需求将在下一个十年中以数量级的速度增长,这是由于受到全球经济中的新生力量(例如中国的崛起)的推动,以及由于新的应用类型(例如商业集成和医学信息科学)和新的平台技术(例如Web服务、移动设备和智能产品)而使软件在社会基础结构中的作用日益加大。如果软件开发能力没有相应的增长,那么十年后势必出现总体软件开发能力大大低于总体需求的局面。当然,如果市场力量能够自由运作,这种情况不会真正出现,因为

6、受到启发的软件提供商将出于个人利益而提供足够多的软件来满足这种需求。再次面对新的挑战那么,怎样才能提供足够多的软件开发能力呢?不用太多的分析就可以看出,必须对软件开发的方法和实践进行显著的改变。因为行业的生产能力取决于合格开发人员的数量以及开发人员的工作效率,因此提高行业生产能力的方法是,或者继续采用现有的方法和实践而投入更多的开发人员,或者保持相当数量的开发人员而采用不同的方法和实践。尽管过去十年间培育起来的学徒制似乎已经成功地增加了合格开发人员的数量并提高了开发人员的平均水平,但至少有两个理由可以说明学徒制不大可能使软件行业的生产能

7、力满足预期的需求水平:•经验告诉我们,没有什么比拥有一些杰出的程序员更重要。杰出开发人员比蹩脚开发人员的工作效率高一千倍,但蹩脚开发人员的数量也几乎是杰出开发人员的一千倍[Boe81]。•Brooks[Bro95]指出,增加项目人数最终会导致边际收入减少。通过招募和培训新开发人员而获得的生产能力将逐渐下降。因此解决问题的出路应是改变我们的方法和实践。我们必须通过各种途径提高开发人员的工作效率。创新曲线与模式转变作为一个行业,我们从一开始就需要共同面对这种情况。软件开发的历史是一个与复杂和变化作斗争的过程,时而盈利时而亏损,随着时代的进步

8、而产生更多的需求。虽然仅仅半个世纪就取得了不少辉煌的成绩,然而道路并不平坦。相反,软件开发一直沿着著名的创新曲线模式在前进,如图1所示[Chr97]。图1:创新曲线典型的情况是,一个不连续的创新为一个新的技术时代奠定基础。新基础之上的发展一开始是快速的,但随着基础的稳固和成熟,发展速度逐渐慢下来。最后,这个基础失去了继续创新的能力,达到发展的顶峰。同时,另一个不连续的创新为另一个新技术时代的到来奠定基础,于是上述模式得以重复。Kuhn称上述基础为模式,称它们之间的转变为模式转变[Kuh70]。模式转变发生在需要改变现状以继续前进的交汇时

9、刻。我们现在正处在这样一个交汇时刻。提高抽象水平在历史上,模式的转变曾经成功地提高了开发人员的抽象水平,为在平台和语言中获得知识并重复利用知识提供了强大的概念。例如,在平台方面,我们从批处理开始,经历了终端

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。