MDSF:软件工厂(Software factory)介绍

 

工厂是一个使用标准部件、工具和生产流程来规模化生产产品设备的组织,它广泛用在工业中,然而在软件开发行业中却很少提起。现在我们写的很多应用共性大于差异,但是我们仍然需要从头开始构建任何一个项目,这是非常低效的。由于没有一种方法可以让我们像工业上一样进行规模化生产,我们就需要不停地重复着一些代码工作,规模化一直是我们需要解决的主要问题之一。

几年前看过两本介绍软件工厂方面的书籍Software Factories(2004年)和Practical.Software.Factories.in.dot.NET,由于现在考虑OpenExpressApp的建模支持,所以又重新整理一下并与大家分享一下软件工厂的内容。

      

软件工厂是由微软提出来的,它作为一种创新的方法,可以帮助我们基于可重用流程和软件框架之上创建产品线,采用软件工厂将会帮助我们从系统化的重用获得规模化开发,获得更快的交付时间,更少的测试但更高的质量以及更好的可维护性等。

软件工厂是什么?

  A software factory is a software product line that configures extensible tools, processes, and content using a software factory template based on a software factory schema to automate the development and maintenance of variants of an archetypical product by adapting, assembling, and configuring framework-based components.


   Schema是分类或汇总开发工件的一个一致的方法,它在开发产品时是可配置的

产品线
 

 规模化产品开发方法-产品线工程 .pdf

MDD是什么? 

模型驱动开发(MDD)介绍

高级别的开发流程

      

提炼功能模型

架构定义流程

Software Factories书籍内容框架

  • 第1部分:介绍一下软件工厂
    • 第1章:讲述一个全书引用的一个例子,用来了解软件开发人员面对的挑战。
    • 第2章:描述当前方法和实践处理复杂性带来的问题
    • 第3章:描述当前方法和实践处理改变带来的问题
    • 第4章:描述面向对面不能很好的克服的一些长期问题,并介绍一些重要的创新,这些是软件工厂的基本组成
    • 第5章:详细的描述软件工厂,并展现了一种规模工业化的愿景
  • 第2部分:这部分包含多个主题,每一个描述了一个在第一部分介绍的重要创新,这些章节可以按照顺序的去读
    • 第6章-第9章:讨论模型驱动开发(MDD)。第6、7两章讨论模型、模式和建模相关内容,第8、9章讲解语言本质以及构建语言族的工具
    • 第10-11章:讨论产品族开发。第10章描述系统化的重用,第11章描述软件产品线内容
    • 第12-13章:讨论基于组装的开发。第12章看了一下基于平台的抽象,包括类、库和框架,第13章讨论组件和服务
    • 第14-15章:讨论了生成开发相关内容。第14章讲解了映射和转换,第15章讨论了如何从模型生成代码和其他生成工件
  • 第3部分:回顾了一下第1部分的内容,梳理了一下第2部分内容。第16章引用了一个软件工厂例子,第17章回答了一些常问的问题
  • 附件:描述抽象和提炼,以及UML的优劣

如果想快速阅读,可以先看第1、5、6、17章,然后通过第4章可以对重要的创新有个全面的了解,通过第1、2、3可以了解当前方法的一些问题。如果想阅读详细的讨论,则可以依次看低6到15章内容。

 

软件观点 - 软件工厂方法

个人管理 - 如何阅读一本书

发表评论