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 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. |