Buy Used
Used - Good See details
$5.90 & eligible for FREE Super Saver Shipping on orders over $25. Details

or
Sign in to turn on 1-Click ordering.
 
   
Have one to sell? Sell yours here
Software Architecture for Product Families: Principles and Practice
 
See larger image
 
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 Architecture for Product Families: Principles and Practice [Hardcover]

Mehdi Jazayeri (Author), A. C. M. Ran (Author), Frank Van Der Linden (Author), Alexander Ran (Author)
4.0 out of 5 stars  See all reviews (2 customer reviews)


Available from these sellers.



Book Description

January 15, 2000
Software development organizations are now discovering the efficiencies that can be achieved by architecting entire software product families together. In Software Architecture for Product Families, experts from one of the world's most advanced software domain engineering projects share in-depth insights about the techniques that work -- and those that don't. The book offers a solutions-oriented, case-study approach covering the entire development lifecycle, based on advanced work done by three of Europe's leading technology companies and their academic partners. Discover the challenges that drive companies to consider architecting product families, and the new problems they encounter in doing so. Master concepts and terms that can be used to describe the architecture of a product family; then learn how to assess that architecture, and transform it into working applications. The authors also present chapter-length, real-world case studies of domain engineering projects at Nokia, Philips, and ABB.

Editorial Reviews

From the Inside Flap

This book presents a view of software architecture for product families. It

is addressed to researchers, engineers, and managers involved in the development

of software-intensive products. The book is based primarily on the experience

gained in the project ARES (Architectural Reasoning for Embedded Systems), carried

out by six partners, funded by the European Commission. The project was concerned

with the application of software architecture research results to practical

problems faced by the industrial partners.

The three industrial partners shared similar problems in coping with the management

of software product evolution in the presence of increasing feature requirements

and decreasing time-to-market requirements. Software architecture, particularly

applied to product families, appeared to offer some solutions, but there were

many approaches and methodologies from which to choose. The goal of the project

was to evaluate promising software architecture research results by applying

them to some typical software evolution problems in industrial settings. One

of the mottos of the project was "industry as laboratory."

The project was carried out by three industrial and three university partners:

Nokia Research Center, Philips Corporate Research, Asea Brown Boveri (ABB) Corporate

Research, Technical University of Vienna, Imperial College of Science and Technology

(London), and Polytechnic University of Madrid. During the project, we produced

many results that had impact on the industrial partners (in terms of practice)

and the university partners (in terms of curriculum development), as well as

a large number of publications and presentations in scientific conferences and

journals. Rather than collecting the many results already presented in journals

and conferences reporting on progress in the ARES project, we decided to integrate

the results gained in the project and present a comprehensive view of the approaches

we followed, of what worked and what didn't.

The purpose of this book is to bring some of the salient results together to

make the big picture accessible to a wider audience. In short, the book attempts

to give the reader the perspective gained by the project partners after three

years of experience in applying research results to practical problems of software

architecture for software-intensive systems. All chapters have been written

specifically for this book.

The Introduction introduces the background of the project and the case study-based

approach that we chose for running the project. It explains how the project

came about and how we decided on the particular foci for the project.

Chapter 1 presents a conceptual framework for software architecture. One of

the problems the field of software architecture faces is the lack of a widely

accepted terminology or even a set of concepts. In this chapter we present the

major concepts and define supporting terminology that allows us to discuss the

problems and solutions in a uniform way. Chapters 2 through 4 are the "technology"

chapters, each dealing with one major aspect of software architecture for product

families: architecture description, architecture assessment, and architecture

recovery.

Then follow three "experience" chapters. Chapter 5 presents the experience

of Philips in applying software architecture in consumer electronics. Chapter

6 presents several experiments carried out at Nokia to deal with the documentation

and assessment of software architecture. Chapter 7 describes ABB's experience

in developing a software architecture for a family of train control systems,

starting with three existing systems. The experience chapters describe the case

studies in detail. Each chapter describes the state of the art at the start

of the project in the particular area, the problems we observed and tried to

address in that area, and some of the ARES results.

Software architecture, product lines, and product families are all active areas

of research and the subject of intense interest in industry. There are already

several good books available that present different views of software architecture

both for practitioners and researchers. Some present specific methodologies,

some present research approaches, some present practical experiences. Our book

may best be characterized as describing the application of research results

to practice. Its aim is to show the reader how current research results may

be applied and how to overcome the inevitable shortcomings of research results

in practice.

For example, Chapter 2 introduces the concepts and approaches in software architecture

description and concentrates mostly on the language Darwin, which was invented

at Imperial College, one of the academic partners in the project. Chapter 5

describes how Darwin was applied at Philips and why the engineers at Philips

had to modify Darwin to use it in practice. Indeed, they ended up developing

their own tool, Koala, borrowing many of the concepts of Darwin but not the

language itself. Chapter 7 describes what happened when ABB tried to use Darwin

in architecture recovery. It worked for some things but not for others. ABB

also had to do its own customization. We expect these kinds of results to be

of interest to people concerned with software architecture both in academia

and in industry.

Chapter 8 concludes the book by providing a high-level summary of the results

and an outlook for future developments in the area of software architecture.

It also discusses the critical issue of technology transfer in such a rapidly

evolving field.

This is not the definitive work on software architecture families. No such

book exists and will not exist for several years to come. But we need different

views of the problem until eventually there will be enough understanding to

have a textbook. This book is a modest step in that direction.

How to Read This Book

The project ARES started in December 1995 and was completed in February 1999.

During this time, many people from all the partners worked on the project--some

for a limited period of time and others during the whole period. The focus of

the project was to produce results that could be exploited immediately by the

partners.

For example, we at the Technical University of Vienna started a software architecture

course relying heavily on the case studies from the ARES project. At Philips,

engineers developed new tools for documenting software architectures and automatically

generating code for module interconnection. At Nokia, engineers developed Web-based

tools for organizing the documentation of complex systems. At ABB, the results

of some of the ARES work drove the design of a new family architecture for train

control systems. At Imperial College, the feedback from engineers in the three

companies led to improvements in the Darwin tool set. At the Polytechnic University

of Madrid, the researchers developed techniques for architecture assessment

and response-time analysis that were used by the different industrial partners.

Although such results of the ARES project were useful and beneficial to the

partners, the goal of the project was much larger. As a research project, we

wanted to communicate our results to the larger research and industrial community.

This we did through many publications in conferences and journals. Toward the

end of the project we asked ourselves if there was anything else left to say

that our publications did not say. The answer was that indeed much was left

unsaid. The publications for the most part presented technological solutions

to particular problems encountered at the time of publication. What was missing

was any kind of integration--a larger conclusion, a bigger picture based on

more than three years of experience. We decided that a book with the focus on

the larger picture was the answer.

Rather than concentrating on point solutions to specific technical problems,

the book would give a perspective of a three-year experience. Each chapter tries

to look back three years and move forward to share a three-year perspective

with the reader. This was the best way we could imagine to communicate what

we learned in the project. This kind of presentation in each chapter gives the

reader the opportunity to see the whole picture: our assumptions, our starting

point, and where we ended up. As a reader, you can judge how our experiences

may or may not apply in your context.

The project investigated different aspects of software architecture. In Chapter

1, "ARES Conceptual Framework for Software Architecture," Alexander Ran tries

to abstract and summarize from these different aspects the project's collective

understanding of an architecture-oriented approach to software engineering.

In some ways, this chapter is the main result of the ARES project to be communicated

to the community. Experienced software engineers and architects may read this

chapter immediately and identify with many points it makes. Less experienced

engineers probably will find this chapter unconvincing or hard to read initially.

They will be better off reading the chapter quickly at the beginning and then

returning to read it more carefully after they have read the rest of the book.

The rest of the book contains three "technology" chapters and three "experience"

chapters. The technology chapters (2 through 4) abstract the technological aspects

of our experience in a particular area. For example, Chapter 4 ("Software Architecture

Recovery") tries to organize the processes that we used in applying architecture

recovery to the ABB case study. It is not a research presentation as much as

an attempt to document the approaches that worked in the case study. But rather

than presenting the details of the case study, it presents methodological approaches

that may be useful in other case studies of interest to the reader. Thus, in

reading one of the experience chapters (5 through 7), you can form your own

conclusions about the experiment and the experience. A technology chapter presents

our conclusions about the applicability of technology to real-world situations.

The technology and experience chapters may be read in any order if the reader

prefers to jump to a favorite subject.

0201699672P04062001

From the Back Cover

--Paul Clements, Software Engineering Institute

"The authors present a very knowledgeable presentation about software development and software architecture. There are good techniques here that would interest other software architects and designers." --Henry McNair, Hewlett-Packard

The fast pace of modern business is creating new challenges for software engineers. These professionals are faced with the daunting assignment of delivering more robust software for less money--and in less time. In addition, many must now learn to efficiently develop software for a suite, or family, of products. Research has shown that a product-line approach to creating software can be achieved, but where does a software practitioner turn for information and guidance on such a major, potentially difficult transition?

Using an example-based approach, Software Architecture for Product Families provides the software engineering community with a valuable resource for devising and, more importantly, implementing a successful product-family architecture. The concepts and technologies set forth in this book are based on the authors' cutting-edge experiences with the ARES (Architectural Reasoning for Embedded Systems) Project, a major European research initiative that proved that software reuse can be attained more easily through a product-family approach.

This book simplifies the intimidating process of learning how to design software for product-line engineering by focusing on three key aspects of architectural practice: architecture description, assessment, and recovery. Practitioners will learn how to pinpoint the source of their problems, focus on the big picture, and see what kinds of problems can be addressed with the product-family approach. With this book as a guide, software developers will be able to implement a sound product-family architecture that will result in better quality, reduced costs, and decreased time to market. 0201699672B04062001


Product Details

  • Hardcover: 288 pages
  • Publisher: Addison-Wesley Pub (Sd); 1st edition (January 15, 2000)
  • Language: English
  • ISBN-10: 0201699672
  • ISBN-13: 978-0201699678
  • Product Dimensions: 9.3 x 7.4 x 2.7 inches
  • Shipping Weight: 1.5 pounds
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (2 customer reviews)
  • Amazon Best Sellers Rank: #2,775,426 in Books (See Top 100 in Books)

More About the Author

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

 

Customer Reviews

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

9 of 10 people found the following review helpful:
4.0 out of 5 stars Applying software architecture for product families, July 2, 2000
By 
This review is from: Software Architecture for Product Families: Principles and Practice (Hardcover)
The book covers a very broad scope of software architecture. Many different topics, like ADLs, architecture recovery and architecture assessment are covered. Neccessarily, the level of detail is somehow restricted. I don't consider this as an disadvanteage, because I think that „giving the big picture" is the main goal of the authors. Also, especially the case study chapters contain sufficient examples to give the practical oriented reader (like me) a good understanding of the topics.

The book tries to integrate the two areas of research and reference. Chapters 1 to 3 cover more the theoretical (research) part, while chapters 4 to 6 more the practical part. In that sense, chapters 1 to 3 serve as the reference part of the book, while chapters 4 to 6 show applications in real world systems. My impression was, that not all topics/items mentioned in the reference part of the book, are illustrated later in the practical part (for example, I could not find examples for „texture of software" which was mentioned in chapter 1). Also, chapters 4 to 6 contain some very useful and important techniques, which I missed in the reference part, for example discussion of using UML as ADL, DDT and also architecture simulation by use of CPN.

As I am more practicval oriented, I like more chapters 4 to 6 as they show me, how real world problems were solved. In these chapters some very good ideas were given, which are interstig for me. Also, I liked the introduction in chapter 1 because it first gives a good background coverage on software architecture and secondly because it names the reason for applying software architecture by giving some real world experiences (some of the problems mentioned here are familiar to me).

The book is written by a collection of writers. Of course, there are some variations in writing style through the chapters, but I consider this as acceptable, because of the great number of authors. All chapters are good to read.

I think, the book gives good information and practical examples on software architecture for product families. It should be useful for everybody working in that field.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


5 of 5 people found the following review helpful:
4.0 out of 5 stars Good overview of embedded software architecture, June 18, 2000
This review is from: Software Architecture for Product Families: Principles and Practice (Hardcover)
Generally good overview of software architecture options but not really what you want if you are interested in architecting highly complicated software-only systems. Their main focus, which is based on industrial experience, is embedded software in electronic devices such as televisions and mobile phones.

It is a shame that they did not really explain their Koala ADL. Still it contains a lot of good refernces and its a good starting point for more indepth study. Most references are to IEEE publications.

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
 
 
 
Only search this product's reviews



Tags Customers Associate with This Product

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

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
 

Search Customer Discussions
Search all Amazon discussions
   


Listmania!


Create a Listmania! list

So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject