Limit this search to....

Practical Software Factories in .NET
Contributor(s): Lenz, Gunther (Author), Wienands, Christoph (Author)
ISBN: 159059665X     ISBN-13: 9781590596654
Publisher: Apress
OUR PRICE:   $52.24  
Product Type: Hardcover - Other Formats
Published: July 2006
Qty:
Annotation: 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, JrgenKazmeier and Eugenio Pace.

Additional Information
BISAC Categories:
- Computers | Programming Languages - General
- Computers | Programming - Microsoft
- Computers | Software Development & Engineering - General
Dewey: 005.3
LCCN: 2006287668
Series: Books for Professionals by Professionals
Physical Information: 0.8" H x 7.14" W x 9.6" (1.35 lbs) 214 pages
 
Descriptions, Reviews, Etc.
Publisher Description:
Douglas C. Schmidt Professor of Computer Science, Associate Chair of Computer Science and Engineering Vanderbilt University T he evolution of software technologies over the past five decades has involved the creation of languages and platforms that help developers program more in terms of their design intent, such as architectural concepts and abstractions, and shield them from the complexities of the underlying computing substrate, such as CPU, memory, and network devices. After years of progress, many projects today use third-generation programming languages, such as Java, C++, and C#, and middleware runtime platforms, such as service-oriented architectures and web services. Despite these improvements, however, the level of abstraction at which software is developed still remains low relative to the concepts and concerns of the application domains themselves. As a result, too much time and effort is spent manually rediscovering and re- venting solutions to common domain requirements, which has led to the situation where the majority of software projects are late, over budget, and defect ridden. These problems occur for various reasons. For example, most application and platform code is handcrafted using third-generation languages. This manual approach incurs excessive time and effort due to complexity stemming from the semantic gap between the design intent and the expression of this intent in third-generation languages, which convey domain semantics and design intent poorly. This semantic gap is particularly noticeable and problematic for integration-related activities, such as system deployment, configuration, and quality assurance that software developers perform when assembling applications using off-the-shelf components.