or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Component-based Product Line Engineering with UML (Component Based Development Series)
 
 
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.

Component-based Product Line Engineering with UML (Component Based Development Series) [Paperback]

Colin Atkinson , Joachim Bayer , Christian Bunse , Erik Kamsties , Oliver Laitenberger , Roland Laqua , Dirk Muthig , Barbara Paech , Jürgen Wüst , Jörg Zettel
3.0 out of 5 stars  See all reviews (1 customer review)
Price: £37.99 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
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
Usually dispatched within 7 to 9 days.
Dispatched from and sold by Amazon.co.uk. Gift-wrap available.
Amazon.co.uk Trade-In Store
Did you know you can trade in your old books for an Amazon.co.uk Gift Card to spend on the things you want? Plus, get an extra £5 Gift Certificate when you trade in books worth £10 or more before June 30, 2012. Visit the Books Trade-In Store for more details.

Product details

  • Paperback: 528 pages
  • Publisher: Addison Wesley; 1 edition (17 Sep 2001)
  • Language English
  • ISBN-10: 0201737914
  • ISBN-13: 978-0201737912
  • Product Dimensions: 23.2 x 18.4 x 2.6 cm
  • Average Customer Review: 3.0 out of 5 stars  See all reviews (1 customer review)
  • Amazon Bestsellers Rank: 1,918,448 in Books (See Top 100 in Books)
  • See Complete Table of Contents

Product Description

Product Description


A cutting-edge, UML-based approach to software development and maintenance that integrates component-based and product-line engineering methods.
- ripe market: development of component-based technologies is a major growth area
- CBD viewed as a faster, more flexible way of building systems that can easily be adapted to meet rapidly-changing business needs and integrate legacy and new applications
(e.g. Forrester report in June 1998 predicted that by 2001 "half of packaged apps vendors will deliver component-based apps";
e.g. Butler Group Management Briefing (2000): "Butler Group is now advising that all new-build and significant modification activity should be based on component architectures...Butler Group belives that Component-Based Development is one of the most important events in the evolution of information technology"
e.g. Gartner Group estimates that "by 2003, 70% of new applications will be deployed as a combination of pre-assembled and newly created components integrated to form complex business-systems.
The book defines, describes and shows how to use a method for component-based product-line engineering, supported by UML. This method aims to dramatically increase the level of reuse in software development by integrating the strengths of both of these approaches. UML is used to describe components during the analysis, design & implementation stages and capture their characteristics and relationships.This method includes two new kinds of extensions to the UML: new stereotypes to capture KobrA-specific concepts and new metamodel elements to capture variabilities. The method makes components the focus of the entire software development process, not just the implementation and deployment phases.

The method has grown out of work by two companies in industry (Softlab & Psipenta) and two research organizations (GMD FIRST & Fraunhofer IESE) called the KobrA project. It is influenced by a number of successful existing methods e.g. Fusion method, Cleanroom method, Catalysis & Rational Unified Process, integrated with new ideas in an innovative way.  Benefits for the reader:
- gain a clear understanding of the product-line and component-based approaches to software development
- learn how to use UML to describe components in analysis, design and implementation of components
- learn how to develop and apply component-based frameworks in product-lines
- learn how to build new systems from pre-existing components and ensure that components are of a high quality

The book also includes:
- case studies: library system example running throughout the chapters; ERP/business software system as appendix or separate chapter
- bibliography
- glossary
- appendices covering: UML profiles, concise process description in the form of UML activity diagrams, refinement/translation patterns

AUDIENCE Software engineers, architects & project managers. Software engineers working in the area of distributed/enterprise systems who want a method for applying a component-based or product-line engineering approach in practice.



About the Author

Colin Atkinson is an experienced OO consultant and acknowledged UML expert, having contributed to Platinum Technology's OOAD submission to the OMG (Object Management Group) and been a member of the UML integration task force.
He previously held the position of Assistant Professor of Engineering at the University of Houston, Clear Lake and was a researcher at NASA's Software Engineering Research Center in Houston. He is currently head of the KobrA method development team at the Fraunhofer IESE, Kaiserslautern, Germany and a professor of Software Engineering and leader of the Component Engineering group at the university of Kaiserslautern.
He is the author of *OO Reuse, Concurrency & Distribution* (AW 1991).

Inside This Book (Learn More)
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index | Back Cover
Search inside this book:

Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organise and find favourite items.
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 Reviews

5 star
0
4 star
0
2 star
0
1 star
0
Most Helpful Customer Reviews
6 of 6 people found the following review helpful
By A Customer
Format:Paperback
Caveat Emptor: I used this book for a graduate course in Object Oriented Modeling, and my review might to a certain extent reflect this course as well as the book in question. However, this might not be quite as misleading as it would seem, as a large part of a course material, in fact a lot of the slides and notes, were taken directly from tha Fraunhofer Institute (from where the method and this book originate).

The KobrA method, besides being quite a mouthful to pronounce (Komponentbasierte Anwendungsentwiklung), is a bit of a mouthful to digest as well. The method stresses iterative modeling and as a result iterative diagram drawing to a ridicious extent. Following the process from context/enterprise modeling down to implementation, there is a slow and careful refinement of several key class diagrams, steadily showing more and more of the model's inner workings. This makes for high presision but is rather time consuming.

I guess the book (as well as the method) scores high on a lot of peoples' hypomether by managing to squeeze both "component" and "product line" into the title.

True enough, the KobrA method does describe a component based approach to software modeling, by introdusing the concept (and UML stereotype) Komponent with a K. This is not your UML component nor your strictly implementation level component, but a component with a lifespan all the way from analysis through design down to implementation. Thus enabling a generalisation and reuse of not only the code but the model artefacts as well.

The underlying idea seems like a good idea to me and I believe to a lot of my coursemates as well. But the book lacks clearity and authority in explaining the Komponent concept, and I see it as symptomatic that a very bright costudent at the end of the course had no qualms about asking the professor ("Yes, but what _is_ a Komponent with a K?") If you buy the book and can tell me in 10 words, write your own review ...

The product-line part of the book is given less than 50 pages, and presented in a very lightweighted fashion. The reader is given a certain understanding of why product line engineering would be a good idea, but, in my view, very little hard core "how to" info.

If you're working or planning to take your place in software development as a architect/modeler/whathaveyou, you are bound to come across the Unified Process. Most probably you'll use RUP, which is Rational's Unified Process. How can this book help you? Well, KobrA borrows eagerly from RUP and other methods, extending and reshaping these with the newest ideas. It seems that a lot of these ideas will find their ways into the next version of RUP, so I guess studying KobrA might give you a head start. When compared to (R)UP, you will find that KobrA is not Use Case driven to the same extent (or at all?). Use case modeling can easily be included in the process though, and to follow the industry standard more closely, I reccomend that you do.

It might be worth mentioning that this is _not_ a UML reference, a UML tutorial or anything else deserving 'UML' in its title. The book assumes a certain knowledge of UML, which can easily be gained from any of the excellent UML books on the market. I have used "UML distilled" and "UML and the Unified Process", both found in the Object Technology Series from Addison-Wesley.

A note on tools: Some of the concepts in KobrA (multiple sterotypes on classes depending on model view etc) are not supported by todays tools. This fored me to make duplicate _models_ of my work instead of several views (digrams) of the same model, thus reducing my modeling tool to a mere drawing tool. I understand UML 2.0 will incorporate features needed in KobrA, and therefore so will probably the next generation of tools.

After working my way through "Component-based Product Line Engineering with UML", I feel compelled to ask his question: "Is it the KobrA method or this book that lacks clarity?" As this is only KobrA book I have seen so far, the obvious followup question might be: "Does it matter?"

Comment | 
Was this review helpful to you?
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com:  2 reviews
9 of 9 people found the following review helpful
A primary text on CBSW with unique features 30 May 2002
By Mike Tarrani - Published on Amazon.com
Format:Paperback
Until I read this book my primary text on the topic was "Component Based Software Engineering" by Heineman and Councill. This book now shares the distinction of being a primary source of information and deservedly so.

Where most books on the subject cover the component-based development life cycle at a high level with an emphasis on the development, deployment and QA aspects, this one is about requirements and design. That is what sets it apart and an important work. It becomes even more important if you are using or trying to adapt the Unified Process to a component-based environment. Obviously if your environment also includes product line development the value of this book increases even more.

The book contains five parts which build upon each other. Part 1 is a thorough, 60-page introduction that compares and contrasts development life cycles, summarizes the approach the book proposes, and the concepts, artifacts and process associated with "KobrA" (a German abbreviation for "Component-based application development".

Part 2 is devoted to component modeling based on the KobrA component model, and covers all aspects in 153 pages. This part ends with an excellent introduction to patterns and UML, which lays the groundwork for the next part. The information in this part drills down into requirements and specifications, which is one of the reasons I cited above that sets this book apart.

In Part 3 (Embodiment) refinement and translation, component reuse and incremental development are covered in detail. Part 4 introduces and covers product line, framework and application engineering. It is here that the KobrA foundation laid in the previous parts begins to become coherent and the viability of the approach becomes apparent.

Part 5 is my favorite because, like Part 2, it gives a view of component-based development that most books gloss over. In particular, the chapters on maintenance and QA are filled with information that reflects the realities of component-based development, and the chapter on quality modeling is among the best treatments of the topic in any book or paper I've recently read. The 60 pages of appendices are also valuable sources of information and knowledge about metamodels, maintenance and process. I found this book to be an invaluable reference and recommend it to anyone who is heavily involved in component-based software engineering in conjunction with product line development.

Maximizing reuse through components and product lines 14 April 2006
By Fernando Berzal Galiano - Published on Amazon.com
Format:Paperback
For software companies, the main challenge in application development resides in maximizing reuse as a means to optimize return on investment. Component technology and product line engineering are two promising techniques that intend to facilitate more cost-effective software development.

This book, written by ten authors from the Fraunhofer Institute for Experimental Software Engineering, presents a systematic approach for component-based product line development: the KobrA method [KobrA stands for Komponentenbasierte Anwendungsentwicklung, "component-based application development" in German].

Most current methodologies specify a set of tools and techniques suitable for efficient application development, but they do not provide an algorithmic procedure for materializing the artifacts needed to build enterprise software systems. As Derek Coleman says: "If you want to know how to approach developing component-based architectures in a systematic manner, I cannot think of a better place to start."

The first part of the book motivates the use of components, design patterns, and product line engineering in order to improve the software development process. The proposed methodology has its roots in object-oriented methods (such as OMT, Fusion, and ROOM), component-oriented methods (Catalysis, Select Perspective, and UML Components), and product line-oriented methods (FODA, FAST, and PuLSE, in particular). Method frameworks, such as RUP and OPEN, are also discussed since KobrA can be applied within them. Cleanroom, an older methodology, is at the heart of the KobrA approach (KobrA takes it tree-based structure from the box-structured Cleanroom method).

KobrA claims to be simple, systematic, precise, prescriptive, scalable, incremental, practical, and compatible with as many technologies as possible. In KobrA, components are the logical building blocks of software systems, in contrast to the physical view of component technologies such as CORBA, EJB, and .NET. That is the reason why the authors prefer to use the word Komponent instead of Component.

KobrA follows a top-down design perspective which is organized attending to three orthogonal dimensions: abstraction, genericity, and composition. These dimensions give rise to three kinds of transformations (embodiment, instantiation, and decomposition, respectively), which are treated in detail in subsequent parts of the book, separating artifacts (what) from processes (how).

The first dimension analyzed in this book is the composition dimension, which deals with component modeling. In KobrA, this involves the generation of a containment tree of components, decomposing a software system using a top-down strategy that is complemented by a bottom-up component reuse policy.

The transformation associated to the abstraction dimension, i.e. embodiment, consists of producing concrete executable artifacts from the abstract models generated during component modeling. It should be noted that this embodiment transformation is split into separate refinement and translation steps. The authors propose the use of UML implementation profiles and transformation patterns in order to achieve an efficient and verifiable implementation strategy. Unfortunately, the book is not completely self-contained with respect to this topic and the interested reader will have to look for detailed information elsewhere.

Finally, the genericity dimension and its related instantiation transformation, is at the basis of product line engineering. Two kinds of artifacts are discussed: framework and applications. Framework engineering identifies commonalities and variabilities in product lines through the use of the <<variant>> stereotype in UML diagrams and decision models. Application engineering performs the framework instantiation process using decision resolution models. Framework engineering builds the infrastructure that application engineering customizes.

The evolution of product lines and applications is included in a fourth dimension: the supporting activities common to any software development effort. This is the topic of the last part of the book, which comprises configuration management and quality assurance issues.

Two appendices, which are available on-line, summarize the KobrA methodology and include a comprehensive overview of KobrA concepts and process model. This metamodel could be helpful for those who want to establish a prescriptive and systematic heavy-weight process in their development organizations, taking into account some of the modern software development best practices KobrA is based on.

The KobrA approach described in this book, which is based on the incremental development of component-based product lines, could be suitable for software companies that prefer to follow a methodology "by-the-book", although it may be unduly prescriptive for agile development. It might also be inadequate for projects where contractual requirements cannot be baselined and adaptive project management is a must, since KobrA incremental nature is tied to the component-based structure of the system rather than to its use cases. In any case, KobrA provides a sound component-based software development approach which might find its niche in large projects with well-known requirements (i.e. when the project can be nicely decomposed into components with stable interfaces).
Search Customer Reviews
Only search this product's reviews

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
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!

Create a Listmania! list

Look for similar items by category


Look for similar items by subject


Feedback


Amazon.co.uk Privacy Statement Amazon.co.uk Delivery Information Amazon.co.uk Returns & Exchanges