In the ever-changing world of software development, organizations are gradually realizing the need for an explicit software architecture for their systems. And software engineers are potentially faced with the challenge of developing multiple, inter-related systems whilst pressured by financial and lead-time constraints. It is thus essential to establish a well-defined design method in order to build high-quality, reliable, and easily maintainable individual or families of systems - the question is how to approach this?
This book provides an achievable answer. The author proposes a method for designing software architectures, and product line architectures, which is based on his experience in industry and research,
The first part of the book introduces the design method, examining its three key phases - functionality-based architecture design, architecture assessment and architecture transformation - in detail. The second half of the book explores the concept of software product lines, incorporating elements of architectural design, component-based software engineering and reuse. It takes you through the process of designing, developing and evolving a product-line approach, including the development of software architecture and components for the family, instantiation of family members and evolution of assets. It also examines the pros and cons of a number of organizational models that can be applied when putting a software product line approach in to practice.
If you are a software architect or engineer involved in designing software systems architectures, this book will give you the resources you need for success.
· features real-life case studies covering control and real-time systems, networking, and telecommunications industry examples to illustrate how the method and processes work in practice
· provides a systematic approach that employs both qualitative and quantitative techniques for assessments
· contains key chapters on approaches to component development, and use of object-oriented frameworks as components in software product lines
· includes sections that can be read as stand-alone, depending on your level of knowledge and experience and your specific area of interest.
Jan Bosch is Professor of Software Engineering at the University of Karlskrona/Ronneby, Sweden. He is a key member of the RISE and ARCS groups, through which he has been involved in extensive research in the software architecture area, in conjunction with a number of companies in industry. He has also authored many articles and conference proceedings and given workshops and tutorials at a number of international conferences
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
36 of 39 people found the following review helpful:
5.0 out of 5 stars
Sound approach - ATAM proponents will like this book!,
By Mike Tarrani "www.tarrani.com" (Deltona, FL USA) - See all my reviews (COMMUNITY FORUM 04) (REAL NAME)
This review is from: Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach (Paperback)
This book provides an interesting and comprehensive approach to designing software architectures. The author crystalized four concepts that have greatly influenced on my thinking: (1)focus on quality attributes during the design and evaluation, (2) a rich set of evaluation techniques, (3) dimensional views of the architecture design, and (4) a realistic approach to reusability.The author's treatment of quality attributes provides a good foundation for the design process. The author's method of linking quality attributes to quality requirements is plain good practice and bears careful reading. Traceability in any engineering or design effort is essential and the approach proposed needs to be included early in the life cycle. There are major four evaluation techniques covered in the book: Scenario-based that examines software qualities within the context of scenarios; simulation techniques that model the architecture in a simulation environment; mathematical modeling that uses statistics, probability and other techniques to predict qualities such as reliability, etc.; and experienced-based reasoning (see Brooks' Mythical Man Month for a good explanation of that!). Among the most powerful concepts presented is dimensional views, which decompose the architecture into component and system views; business, organization, process and technology views; and development, usage and evolution views. This approach ensures that an architecture's design proceeds in accordance with findings from a thorough analysis, and that all factors be considered and incorporated into the design. If you are a proponent of SEI's Architecture Trade-off Analysis Method (ATAM) you will see some similarities. However, if you carefully examine the author's approach you will see some gaps: the focus is not on trade-off points (although the dimensional views will certainly uncover trade-offs that have to be made), and ATAM does not address the evolution of the architecture. The product line approach proposed by the author does. Applying product line concepts to design and development promotes reusability, as well as providing a set of guidelines for evolving or changing the architecture. Overall this is an excellent book that balances theory with a practical approach that is supported by case studies and real examples. I view it as a philosophy on architecture design instead of a methodology. It is a refreshing change from some of the architecture books I have read that are filled with dogmatic methods and "design in a vacuum". The approach proposed will link design to requirements, and will ensure that the architecture meets standards that are defined by quality attributes and not arbitrary design criteria.
15 of 17 people found the following review helpful:
2.0 out of 5 stars
Low on specifics, low on applicability,
By wiredweird "wiredweird" (Earth, or somewhere nearby) - See all my reviews (HALL OF FAME REVIEWER) (TOP 500 REVIEWER)
Amazon Verified Purchase(What's this?)
This review is from: Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach (Paperback)
I had much higher hopes for this book. The idea of software architecture is finally coming into its own as a field of study. That includes the levels above individual software systems, including highly configurable systems and whole corporate product families. The subtitle, "Adopting and evolving a product line approach," looked promising. A few things early on left me skeptical. Section I.4.1, for example, discusses quality factors of an architecture. The approach is completely retrospective, though. It only looks backwards at what emerged in a system, not forwards into how a system should be designed. I agree with section I.5.5 that some quality requirement X will be implemented across some set of system modules. Summing that quality's presence across all modules to add up to X is a positively dangerous mis-statement. The strength of a chain is in all of its links, but is not the sum of the link strengths - the strength of a system's security is not increased by adding yet more insecure modules. The treatment of "software science" metrics is deplorably shallow. If you must use that approach, it's best to use a wide variety of indicators with different sensitivities, ideally indicators that don't depend on the programming language. The author stops with one metric, a graph-theoretic number that would be nearly impossible to apply to XSLT, Prolog, UI specification systems, database schemata, and so on. "Experience-based assessment" proposes the use of external assessment teams, without suggesting any way of guaging that team's ability. The discussion of processes vs. threads, with respect to program reliability misses the most critical point: that processes normally have hardware memory protection and threads don't. Unwittingly or maliciously shared memory is the biggest threat to reliability, and is a threat in process systems without memory protection. The same shallow approach appears elsewhere in the "Transformation of architecture" section, in the dicussion of design patterns. The failure to distinguish strategic from tactical design issues is disappointing. A facade pattern is a useful tool, at the level of a few modules or minor subsystem. It is not a fundamental organizational principle capable of guiding the system's future structure - it doesn't work at the architectural level. Bosch's emphasis is on analysis of successful systems and on retrofit of older systems under active development. Good stuff - that really describes the large majority of software effort. The discussion never gets started, however, because it scarcely mentions any way of determining which existing subsystems demand the most immediate attention. There are lots more problems with this book, but I hope the pattern is clear: shallow discussion, weak specifics, and sparse mention of commercially critical issues.
0 of 2 people found the following review helpful:
4.0 out of 5 stars
Difficult read.,
By
This review is from: Design and Use of Software Architectures: Adopting and Evolving a Product-Line Approach (Paperback)
I had this book for a class at post graduate school. The material in the book is good, but it is unfortunate how difficult reading the book is. I think the reason for this is the translation from another language.
Aside from the english of the book, the arguments presented are down so in a very logical progression and made very well.
Share your thoughts with other customers: Create your own review
|
|
Tags Customers Associate with This Product(What's this?)Click on a tag to find related items, discussions, and people.
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|