Component-based Product Line Engineering with UML

Component-based Product Line Engineering with UML
Author: Colin Atkinson
Publisher: Addison-Wesley Professional
Total Pages: 540
Release: 2002
Genre: Business & Economics
ISBN:

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.

Designing Software Product Lines with UML

Designing Software Product Lines with UML
Author: Hassan Gomaa
Publisher: Addison-Wesley Professional
Total Pages: 760
Release: 2005
Genre: Computers
ISBN:

"Designing Software Product Lines with UML is well-written, informative, and addresses a very important topic. It is a valuable contribution to the literature in this area, and offers practical guidance for software architects and engineers." --Alan Brown Distinguished Engineer, Rational Software, IBM Software Group "Gomaa''s process and UML extensions allow development teams to focus on feature-oriented development and provide a basis for improving the level of reuse across multiple software development efforts. This book will be valuable to any software development professional who needs to manage across projects and wants to focus on creating software that is consistent, reusable, and modular in nature." --Jeffrey S Hammond Group Marketing Manager, Rational Software, IBM Software Group "This book brings together a good range of concepts for understanding software product lines and provides an organized method for developing product lines using object-oriented techniques with the UML. Once again, Hassan has done an excellent job in balancing the needs of both experienced and novice software engineers." --Robert G. Pettit IV, Ph.D. Adjunct Professor of Software Engineering, George Mason University "This breakthrough book provides a comprehensive step-by-step approach on how to develop software product lines, which is of great strategic benefit to industry. The development of software product lines enables significant reuse of software architectures. Practitioners will benefit from the well-defined PLUS process and rich case studies." --Hurley V. Blankenship II Program Manager, Justice and Public Safety, Science Applications International Corporation "The Product Line UML based Software engineering (PLUS) is leading edge. With the author''s wide experience and deep knowledge, PLUS is well harmonized with architectural and design pattern technologies." --Michael Shin Assistant Professor, Texas Tech University Long a standard practice in traditional manufacturing, the concept of product lines is quickly earning recognition in the software industry. A software product line is a family of systems that shares a common set of core technical assets with preplanned extensions and variations to address the needs of specific customers or market segments. When skillfully implemented, a product line strategy can yield enormous gains in productivity, quality, and time-to-market. Studies indicate that if three or more systems with a degree of common functionality are to be developed, a product-line approach is significantly more cost-effective. To model and design families of systems, the analysis and design concepts for single product systems need to be extended to support product lines. Designing Software Product Lines with UML shows how to employ the latest version of the industry-standard Unified Modeling Language (UML 2.0) to reuse software requirements and architectures rather than starting the development of each new system from scratch. Through real-world case studies, the book illustrates the fundamental concepts and technologies used in the design and implementation of software product lines. This book describes a new UML-based software design method for product lines called PLUS (Product Line UML-based Software engineering). PLUS provides a set of concepts and techniques to extend UML-based design methods and processes for single systems in a new dimension to address software product lines. Using PLUS, the objective is to explicitly model the commonality and variability in a software product line. Hassan Gomaa explores how each of the UML modeling views--use case, static, state machine, and interaction modeling--can be extended to address software product families. He also discusses how software architectural patterns can be used to develop a reusable component-based architecture for a product line and how to express this architecture as a UML platform-independent model that can then be mapped to a platform-specific model. Key topics include: Software product line engineering process, which extends the Unified Development Software Process to address software product lines Use case modeling, including modeling the common and variable functionality of a product line Incorporating feature modeling into UML for modeling common, optional, and alternative product line features Static modeling, including modeling the boundary of the product line and information-intensive entity classes Dynamic modeling, including using interaction modeling to address use-case variability State machines for modeling state-dependent variability Modeling class variability using inheritance and parameterization Software architectural patterns for product lines Component-based distributed design using the new UML 2.0 capability for modeling components, connectors, ports, and provided and required interfaces Detailed case studies giving a step-by-step solution to real-world product line problems Designing Software Product Lines with UML is an invaluable resource for all designers and developers in this growing field. The information, technology, and case studies presented here show how to harness the promise of software product lines and the practicality of the UML to take software design, quality, and efficiency to the next level. An enhanced online index allows readers to quickly and easily search the entire text for specific topics.

Component-Based Software Testing with UML

Component-Based Software Testing with UML
Author: Hans-Gerhard Gross
Publisher: Springer Science & Business Media
Total Pages: 340
Release: 2005
Genre: Computers
ISBN: 9783540208648

Component-based software development regards software construction in terms of conventional engineering disciplines where the assembly of systems from readily-available prefabricated parts is the norm. Because both component-based systems themselves and the stakeholders in component-based development projects are different from traditional software systems, component-based testing also needs to deviate from traditional software testing approaches. Gross first describes the specific challenges related to component-based testing like the lack of internal knowledge of a component or the usage of a component in diverse contexts. He argues that only built-in contract testing, a test organization for component-based applications founded on building test artifacts directly into components, can prevent catastrophic failures like the one that caused the now famous ARIANE 5 crash in 1996. Since building testing into components has implications for component development, built-in contract testing is integrated with and made to complement a model-driven development method. Here UML models are used to derive the testing architecture for an application, the testing interfaces and the component testers. The method also provides a process and guidelines for modeling and developing these artifacts. This book is the first comprehensive treatment of the intricacies of testing component-based software systems. With its strong modeling background, it appeals to researchers and graduate students specializing in component-based software engineering. Professionals architecting and developing component-based systems will profit from the UML-based methodology and the implementation hints based on the XUnit and JUnit frameworks.

Software Product-Family Engineering

Software Product-Family Engineering
Author: Frank van der Linden
Publisher: Springer Science & Business Media
Total Pages: 495
Release: 2004-05-24
Genre: Business & Economics
ISBN: 3540219412

This book constitutes the thoroughly refereed post-proceedings of the 5th International Workshop on Product-Family Engineering, PFE 2003, held in Siena, Italy in November 2003. The 36 revised full papers presented together with an introductory overview and 3 keynote presentations were carefully selected during two rounds of reviewing and improvement. The papers are organized in topical sections on variation mechanisms, requirements analysis and management, product derivation, transition to family development, industrial experience, evolution, and decision and derivation.

Software Product Line Engineering

Software Product Line Engineering
Author: Klaus Pohl
Publisher: Springer Science & Business Media
Total Pages: 474
Release: 2005-08-03
Genre: Computers
ISBN: 3540243720

Software product line engineering has proven to be the methodology for developing a diversity of software products and software intensive systems at lower costs, in shorter time, and with higher quality. In this book, Pohl and his co-authors present a framework for software product line engineering which they have developed based on their academic as well as industrial experience gained in projects over the last eight years. They do not only detail the technical aspect of the development, but also an integrated view of the business, organisation and process aspects are given. In addition, they explicitly point out the key differences of software product line engineering compared to traditional single software system development, as the need for two distinct development processes for domain and application engineering respectively, or the need to define and manage variability.

The Common Component Modeling Example

The Common Component Modeling Example
Author: Andreas Rausch
Publisher: Springer
Total Pages: 468
Release: 2008-08-15
Genre: Computers
ISBN: 3540852891

Based on the 2007 Dagstuhl Research Seminar CoCoME, this book defines a common example for modeling approaches of component-based systems. The book makes it possible to compare different approaches and to validate existing models.

Software Modeling and Design

Software Modeling and Design
Author: Hassan Gomaa
Publisher: Cambridge University Press
Total Pages: 577
Release: 2011-02-21
Genre: Computers
ISBN: 1139494732

This book covers all you need to know to model and design software applications from use cases to software architectures in UML and shows how to apply the COMET UML-based modeling and design method to real-world problems. The author describes architectural patterns for various architectures, such as broker, discovery, and transaction patterns for service-oriented architectures, and addresses software quality attributes including maintainability, modifiability, testability, traceability, scalability, reusability, performance, availability, and security. Complete case studies illustrate design issues for different software architectures: a banking system for client/server architecture, an online shopping system for service-oriented architecture, an emergency monitoring system for component-based software architecture, and an automated guided vehicle for real-time software architecture. Organized as an introduction followed by several short, self-contained chapters, the book is perfect for senior undergraduate or graduate courses in software engineering and design, and for experienced software engineers wanting a quick reference at each stage of the analysis, design, and development of large-scale software systems.

Business Component-Based Software Engineering

Business Component-Based Software Engineering
Author: Franck Barbier
Publisher: Springer Science & Business Media
Total Pages: 275
Release: 2012-12-06
Genre: Computers
ISBN: 1461511755

Business Component-Based Software Engineering, an edited volume, aims to complement some other reputable books on CBSE, by stressing how components are built for large-scale applications, within dedicated development processes and for easy and direct combination. This book will emphasize these three facets and will offer a complete overview of some recent progresses. Projects and works explained herein will prompt graduate students, academics, software engineers, project managers and developers to adopt and to apply new component development methods gained from and validated by the authors. The authors of Business Component-Based Software Engineering are academic and professionals, experts in the field, who will introduce the state of the art on CBSE from their shared experience by working on the same projects. Business Component-Based Software Engineering is designed to meet the needs of practitioners and researchers in industry, and graduate-level students in Computer Science and Engineering.

Objects, Components, Architectures, Services, and Applications for a Networked World

Objects, Components, Architectures, Services, and Applications for a Networked World
Author: Mehmet Aksit
Publisher: Springer Science & Business Media
Total Pages: 443
Release: 2003-02-25
Genre: Business & Economics
ISBN: 3540007377

This book constitutes the thoroughly refereed post-proceedings of the international conference NetObjectDays 2002, held in Erfurt, Germany, in October 2002. The 26 revised full papers presented were carefully selected during two rounds of reviewing and revision. The papers are organized in topical sections on embedded and distributed systems; components and MDA; Java technology; Web services; aspect-oriented software design; agents and mobility; software product lines; synchronization; testing, refactoring, and CASE tools.

Software Product-Family Engineering

Software Product-Family Engineering
Author: Frank van der Linden
Publisher: Springer
Total Pages: 428
Release: 2003-07-31
Genre: Computers
ISBN: 3540478337

This book contains the proceedings of the Fourth International Workshop on Product Family Engineering, PFE-4, held in Bilbao, Spain, October 3–5, 2001. This workshop was the fourth in a series started in 1996, with the same s- ject, software product-family engineering. Proceedings of the second and third workshops have been published as LNCS 1429 and LNCS 1951. The workshops were organized within co-operation projects of European - dustry, the ?rst two by ARES (Esprit IV 20.477) 1995–1999. This project had three industrial and three academic partners, and focused on software archit- turesforproductfamilies.SomeofthepartnerscontinuedinITEAproject99005, ESAPS(1999–2001).ITEAisthesoftwaredevelopmentprogram(?!2023)within the European Eureka initiative. ITEA projects last for two years and ESAPS ́ was succeeded by CAFE (ITEA ip00004), which started in 2001 and will t- minate in 2003. This workshop was initially prepared within ESAPS and the ́ preparation continued in CAFE. Due to the attacks in the USA of September 11, several people were not able to ?y and therefore did not show up. However, we have included their submissions in these proceedings. The session chair presented these submissions, and their inputs were used during the discussions. It was planned that Henk Obbink be workshop chair, and Linda Northrop and Sergio Bandinelli be co-chairs. However, because of personal circumstances Henk Obbink was not able to leave home during the workshop. Moreover both co-chairs had already enough other duties. Therefore the chairing duties were taken over by the program chair, Frank van der Linden.