Skip to main content

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

  • Conference paper
Software Product Lines (SPLC 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3154))

Included in the following conference series:

Abstract

Increasingly complex and rapidly changing requirements and technologies are pushing the limits of the current approach to application development. Because of these trends, stakeholders are increasingly turning to software product line practices to reduce risk, cost, and time to market while improving product quality through systematic reuse. Adopting organizations are starting to demand the kind of tool support available in Rapid Application Development (RAD) environments for software product lines. This talk describes a methodology developed at Microsoft called Software Factories. The goal of the methodology is to enable automation of life-cycle tasks in software product line contexts by integrating innovations in model-driven development (MDD), component-based development (CBD), and agile development methods. Software Factories is based on a four-part pattern for building patterns, models, frameworks, and tools for specific domains, such as user interface construction or database design. The key to the methodology is reducing the cost of implementing the pattern, making it cost-effective for narrower and more specialized domains, such as B2C application development and business process automation. The central concept is the software schema—a network of viewpoints describing the artifacts that constitute the members of a family of software products and identifying the patterns, languages, frameworks, tools, processes, and other assets used to build those artifacts. Mappings between viewpoints support artifact transformation and provide constraints on the development process that enable a scalable approach to agile development. By automating many aspects of the product development process, the Software Factories methodology provides a basis for industrializing software development and promotes the formation of software supply chains, paving the way for software mass customization.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 69.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 89.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Greenfield, J. (2004). Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. In: Nord, R.L. (eds) Software Product Lines. SPLC 2004. Lecture Notes in Computer Science, vol 3154. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-28630-1_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-28630-1_19

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22918-6

  • Online ISBN: 978-3-540-28630-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics