The Software Factory methodology is based on recognition of these similarities and a drive to extend the concept of "reusability" to the point where we achieve entirely automated product lines. Based on an analysis and understanding of the common features and techniques of a set of applications, a Software Factory defines a tailored, end-to-end methodology for building these applications. At the heart of the Software factory methodology is the concept of Domain Specific Languages (DSLs), which in essence are development environments specifically tailored to the set of applications in hand. It removes a certain degree of flexibility but greatly enhances productivity by removing a lot of the coding complexity (for an analogy, consider the use of the now ubiquitous drag-and-drop controls in Winforms or Visual Basic).
Further, in the SF methodology, patterns, process advice, and best practices can be harvested and applied for all applications in the set.
There are some good books on the theory of SF already on the market. Up until this point, a lot of these concepts were fairly theoretical and abstract.
Autorentext
Gunther Lenz is a pioneer in the field of software factories. He received a master's degree (Dipl. Ing. Univ.) in electrical engineering from the Technical University of Munich, Germany. He spent five years working on research and product development of a high-performance medical image-processing system, under FDA regulation. In addition to his project experience, Gunther was also a core member of the Software Engineering Process Group (SEPG), which defined, implemented, and optimized the software development process. In 2002, Gunther joined Siemens Corporate Research in Princeton, New Jersey, where he is a program manager in the software engineering department. His current research activities focus on model-driven software development (MDSD), model evolution, and software factories. Within Siemens, Gunther leads the global research efforts in the areas of software factories and Microsoft technologies. Gunther is the author of .NET: A Complete Development Cycle (Addison Wesley, 2004) and has published many articles in different software development magazines, focusing on a variety of software engineering topics. Furthermore, Gunther has received the Microsoft "Most Valuable Professional" Solution Architect award and is an invited member of the Microsoft Software Design Review Team. He frequently presents at international conferences on subjects related to his research area.
Zusammenfassung
The promise of software factories is to streamline and automate software development, and thus to produce higher-quality software more efficiently. The key idea is to promote systematic reuse at all levels and exploit economies of scope, which translates into concrete savings in planning, development, and maintenance efforts. However, the theory behind software factories can be overwhelming, because it spans many disciplines of software development. On top of that, software factories typically require significant investments into reusable assets.
This book was written in order to demystify the software factories paradigm by guiding you through a practical case study, from the early conception phase of building a software factory to delivering a ready-made software product. The authors provide you with a hands-on example covering each of the four pillars of software factories: software product lines, architectural frameworks, model-driven development, and guidance in context.
While the ideas behind software factories are platform independent, the Microsoft .NET platform, together with recent technologies such as DSL Tools and the Smart Client Baseline Architecture Toolkit, makes an ideal foundation. A study shows the different facets and caveats and demonstrates how each of these technologies becomes part of a comprehensive factory. Software factories are a top candidate for revolutionizing software development. This book will give you a great starting point to understanding the concepts behind it and ultimately applying this knowledge to your own software projects.
Contributions by Jack Greenfield, Wojtek Kozaczynski
Foreword by Douglas C. Schmidt, Jack Greenfield, Jorgen Kazmeier and Eugenio Pace.
Inhalt
Software Factories Overview.- Software Factory Definition.- Software Factory Specification.- Software Factory Schema: Architecture.- Software Factory Schema: Application Development Process.- Software Factory Template: Application Core Assets.- Software Factory Template: Development Core Assets.- Product Development.