or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
More Buying Choices
Have one to sell? Sell yours here
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
 
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

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

Jack Greenfield (Author), Keith Short (Author), Steve Cook (Author), Stuart Kent (Author), John Crupi (Author)
4.1 out of 5 stars  See all reviews (12 customer reviews)

List Price: $40.00
Price: $22.32 & eligible for FREE Super Saver Shipping on orders over $25. Details
You Save: $17.68 (44%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Only 2 left in stock--order soon (more on the way).
Want it delivered Wednesday, February 1? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for Students. Learn more

Formats

Amazon Price New from Used from
Paperback $22.32  

Book Description

0471202843 978-0471202844 August 16, 2004 1st
The architects of the Software Factories method provide a detailed look at this faster, less expensive, and more reliable approach to application development. Software Factories significantly increase the level of automation in application development at medium to large companies, applying the time tested pattern of using visual languages toenable rapid assembly and configuration of framework based components.Unlike other approaches to Model Driven Development (MDD), such as Model Driven Architecture (MDA) from the Object Management Group (OMG), Software Factories do not use the Unified Modeling Language (UML), a general purpose modeling language designed for models used asdocumentation. They go beyond models as documentation, using models based on highly tuned Domain Specific Languages (DSLs) and the Extensible Markup Language (XML) as source artifacts, to capture life cycle metadata, and to support high fidelity model transformation, code generation and other forms of automation.

Building business applications is currently an extremely labor-intensive process that relies on a limited pool of highly talented developers. As global demand for software exceeds the capacity of this labor pool, current software development methods will be replaced by automatedmethods, meaning cheaper, faster, and more reliable application development. Wiley Computer Publishing has teamed with industry experts Jack Greenfield and Keith Short, both architects in the Enterprise Frameworks and Tools group at Microsoft, and leading authorities on Model Driven Development (MDD), to help technical professionalsunderstand how business application development is changing.With two chapters on Domain Specific Language (DSL) development by contributors Steve Cook and Stuart Kent, they take an in-depth look at challenges facing developers using current methods and practices, and critical innovations that can help with these challenges, such as Pattern Automation, Generative Programming, Software Product Lines, Aspect Oriented Programming (AOP), Component Based Development (CBD), Service Oriented Architectures (SOA), Service Orchestration and Web Service Integration. They then propose the Software Factories method, which has the potential to significantly change software development practice, by reducing the cost of building reusable assets, such aspatterns, languages, frameworks and tools, for specific problem domains, and then applying them to accelerate the assembly of applications in those domains.

After introducing Software Factories, the book describes these key enabling technologies in depth, and shows how they can be integrated and applied to support a form of Rapid Application Development (RAD). It then provides a detailed example of a working Software Factory and answers Frequently Asked Questions (FAQs). Readers will gain a betterunderstanding of these technologies, and will learn how to apply them to implement Software Factories within their own organizations.


Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

Customers buy this book with Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler)) $35.89

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools + Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler))


Editorial Reviews

From the Back Cover

"Software Factories does a wonderful job integrating modeling with patterns, frameworks, and agile development. The authors provide a compelling look at how a new generation of tools will make this a reality. A must read for software architects and developers."
—John Crupi, Sun Distinguished Engineer, and coauthor, Core J2EE Patterns

Many of the challenges currently facing software developers are symptoms of problems with software development practices. Software Factories solves these problems by integrating critical innovations that have been proven over the last ten years but have not yet been brought together.

A team of industry experts led by Jack Greenfield explains that a Software Factory is a configuration of languages, patterns, frameworks, and tools that can be used to rapidly and cost-effectively produce an open-ended set of unique variants of a standard product.

Their ground-breaking methodology promises to industrialize software development, first by automating software development within individual organizations, and then by connecting these processes across organizational boundaries to form supply chains that distribute cost and risk. Featuring an example introduced in the first chapter and revisited throughout the book, the authors explain such topics as:

  • Chronic problems that object orientation has not been able to overcome, and critical innovations that solve them
  • How models can become first class software development artifacts, not just documentation
  • How software product lines can be used to consistently achieve commercially significant levels of reuse
  • How patterns, frameworks, tools, and other reusable assets can be used to scale up agile development methods
  • How orchestration and other adaptive mechanisms can be used to enable development by assembly

About the Author

JACK GREENFIELD (Redmond, WA) is an Architect for Visual Studio Team System. He is an author, frequent speaker, and key contributor to component, model, and pattern technologies at Microsoft.

KEITH SHORT (Redmond, WA) is an Architect for Visual Studio Team System. He is responsible for strategy and architecture for enterprise tools at Microsoft.

STEVE COOK (Canterbury, UK) is an Architect for Visual Studio Team System. He was formerly an IBM Distinguished Engineer and a major contributor to UML and UML2.

STUART KENT (Bishop’s Stortford, UK) is a Program Manager for Visual Studio Team System. He focuses on modeling technology and is an internationally recognized authority on UML.


Product Details

  • Paperback: 500 pages
  • Publisher: Wiley; 1st edition (August 16, 2004)
  • Language: English
  • ISBN-10: 0471202843
  • ISBN-13: 978-0471202844
  • Product Dimensions: 9.4 x 7.4 x 1.5 inches
  • Shipping Weight: 2.2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (12 customer reviews)
  • Amazon Best Sellers Rank: #907,663 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

12 Reviews
5 star:
 (6)
4 star:
 (2)
3 star:
 (3)
2 star:
 (1)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.1 out of 5 stars (12 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

51 of 56 people found the following review helpful:
4.0 out of 5 stars Thorough, academic overview of Software Factories, April 6, 2005
By 
Billy McCafferty (Denver, CO United States) - See all my reviews
This review is from: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools (Paperback)
30 second summary of the book:
- Software development is awfully inefficient. Most of the applications we write have more similarities than differences, yet we build every project from the ground up.
- UML is great for communicating on a white board but fails with respect to bridging the gap between requirements and code. The limitations of present-day CASE tools shows this inefficiency.
- Innovations such as the maturation of domain-specific languages (DSL), at varying levels of abstraction, and the support of these languages through IDEs are needed to make the next step in software development.
- These innovations will provide the key to creating product lines built on reusable processes and software frameworks: software factories. The adoption of this approach will lead to automated development, faster delivery time, systematic reuse, less testing, and greater maintainability.

5 second summary of the book:
Microsoft Visual Studio 2005 Team System is going to be really really cool.

The good:
Greenfield gives a very thorough (600 pg) introduction to the software factories approach to solution development. He presents a convincing case describing current deficiencies in the world of software development, how domain-specific languages and more advanced IDEs will correct these deficiencies, and what challenges remain between us and realizing the goal of having a true software factory.

The bad:
This book should not be seen as a technical how-to book. Do not expect to be able to apply much of what he describes within your software development routine...unless, of course, you're designing a next generation IDE. This book takes a more academic approach to describing the theory behind software factories. In the near future, when Visual Studio 2005 Beta 2 is available, Chapter 16, "A Software Factory Example," may become useful as a reference as it presents a good example of applying the approach to the project life-cycle. But until then, the material is not very practical, due to the fact that no IDE currently supports the ideas that he has presented. But even after Visual Studio 2005 becomes available, you probably won't open this book too much after the first read through.

The hype:
There has been a lot of buzz online surrounding the software factories approach to development. Once we're able to try out the approach within VS 2005 Team System, we'll all be able to decide if this is going to be the next wave of development or just another neat idea. As for me, Greenfield has me convinced that this is certainly a step in the right direction.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


11 of 13 people found the following review helpful:
5.0 out of 5 stars Scholarly and sophisticated, March 23, 2005
This review is from: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools (Paperback)
The authors present a massive and sophisticated approach to understanding and integrating patterns, models and frameworks into a project. The tone is scholarly, with many references to important previous papers and texts. The book is targeted at developers and senior programmers. Much of it deals with the different levels of abstraction, and how you move between these. So that if you have designed a project using patterns, then this is a high level structure. The book offers aid in migrating this into a framework, which might be considered a reification of the patterns.

An extensive survey is also given of various design/modelling tools that are available. These might be open source, proprietary or of the academic research type. One easy thing you can do with this book is to use its analysis of these tools. This is doable without having to wade through most of the rest of the book.

The book will not be an easy read to some. A lot of material is covered and a considerable amount is fairly abstract. Without significant prior experience in design and coding, you may miss the full meanings and appreciation of much of the text.

It makes a typical computer book look trivial.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


7 of 8 people found the following review helpful:
5.0 out of 5 stars The "state of the art" in software engineering, November 8, 2005
By 
Mitch Barnett "Mitchco" (Sunshine Coast, BC Canada) - See all my reviews
(REAL NAME)   
This review is from: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools (Paperback)
This book in my mind represents the state of the art in software engineering today. The book is based upon the concept of building families of similar, but distinct products, which have been around for years in other engineering disciplines such as civil, mechanical and electronics engineering. These concepts promote the systematic reuse of like components and factored out variable components for customization in order to produce products that were similar but yet each one being unique. This is commonly known as mass customization, something that is very new to the software world, but "old hat" for other industrialized engineering industries.

I know Software Factories is an overloaded term, but consider this definition: "a factory is a highly organized production facility that produces members of a product line using standardized parts, tools and production processes." The "factory" term is common in the industrialized engineering world, but extremely uncommon in our un-industrialized software development world.

Jack and Keith initially introduce us to dealing with complexity and change, which are the two fundamental problems in designing and constructing quality software of any size. Anyone that has read the Standish Group's CHAOS report understands our incredibly poor track record in dealing with these fundamental problems, regardless of programming languages, platforms or methodologies used. The following chapter on Paradigm Shift assists the reader in understanding these problems as well as the critical innovations that solves these problems.

Software Factories goes on to explain their concept of what is a Software Factory within the context of economies of scale and scope. This is the most critical point of the book to understand, "Economies of scale arise in production, while economies of scope arise in development. Economies of scale arise when multiple identical instances of a single design are produced collectively. Economies of scope arise when multiple similar but distinct designs and prototypes are produced collectively rather than individually." This fundamental concept is absolutely key in understanding the how Software Factories pave the road to the industrialization of software. The authors could have spent more time on this subject at it is the most confusing concept for any software or non-software person to understand and represents the barrier to understanding that software development is no different than any other traditional engineering development process.

The next 3 chapters delve into Models and Patterns, Programming with Models and Language Anatomy and how these approaches raise the level of abstraction so that models can be used as first class development artifacts. Essentially how Domain Specific Languages (as opposed to general purpose languages) converges the gap between requirements (problem input) and executables (the solution).

The following 7 chapters cover in detail the concepts above by discussing Families of Languages, Systematic Reuse, Software Product Lines, Platform-Based Abstractions, Components and Services, Mappings and Transformations, and Generating Implementations. Incredibly well done and I cannot do these chapters justice in this short review.

Chapter 16 demonstrates a concrete example of a Software Factory using all of the concepts, techniques and best practices described previously in the book. Jack and Keith "show how the methodology can be implemented now, that it can be widely used to complement and eventually replace existing practices, and that it can help move the software industry toward maturity." This chapter alone is worth the price of the book.

Finally, a section on Frequently Asked Questions compares Software Factory approach to what we know about software development, before Software Factories. This puts into great perspective the differences between Software Factories and the current state of the art, which is commonly referred to as custom "one-off" software development.

I cannot recommend this book highly enough. As someone who came from the R&D electronics world 20 years ago where I (and the rest of the electronics industry) routinely used product line engineering development practices, I thought when I joined the software world 15 years ago this approach would be the norm. How naïve was I. This book should not only be required reading for anyone practicing software development, but also mandatory reading in every Computer Science program. Then maybe we will see the industrialization of software development become common practice as it currently is in other industrialized engineering disciplines.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews










Only search this product's reviews



Inside This Book (learn more)
First Sentence:
According to the Standish Group, businesses in the United States spend about $250 billion annually on software development, with the cost of the average project ranging from $430,000 to $2,300,000, depending on company size. Read the first page
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
factory schema, domain feature model, common solution features, using feature models, interface specification model, solution domain objects, product line developers, product line scope, product line requirements, product line implementation, aspectual decomposition, line development team, other development artifacts, business entity services, product line definition, refactoring rule, asset provisioning, product line assets, software factories, common subproblems, problem domain model, product family members, metamodeling language, trace translator, product line architecture
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Microsoft Visual Studio, Check Credit, Visual Basic, Authorize Credit Card, Supplier Manager, Credit Checker, Gang Of Four, Microsoft Windows, Web Server Pages, Approved Credit Requests, Pending Credit Requests, Quote Request, Rational Rose, Customer Type Model, Problem Domain Solution Domain, Systems Integrators, Business Delegate, Enterprise Integration Patterns, Frequently Asked Questions, Microsoft Business Framework, Microsoft Corporation, Requests Out, Staged Configuration Using Feature Models, Web App
New!
Books on Related Topics | Concordance | Text Stats
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Back Cover | Surprise Me!
Search Inside This Book:

Citations (learn more)
This book cites 55 books:
See all 55 books this book cites
 
10 books cite this book:
See all 10 books citing this book




Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(1)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject