10th International Conference on Software Reuse, 25 - 29 May 2008, Beijing China.

Tutorial 5 :

Designing Software Product Lines with UML 2.0:
          From Use Cases to Pattern-Based Software Architectures

Reported by Hassan Gomaa>>

 Abstract


 

     This tutorial addresses how to develop object-oriented requirements, analysis, and design models of software product lines using the Unified Modeling Language (UML) 2.0 notation.  During requirements modeling, kernel, optional, and alternative use cases are developed to define the functional requirements of the system. The feature model is then developed to capture product line requirements and how they relate to the use case model. During analysis, static models are developed for defining kernel, optional, and variant classes and their relationships. Dynamic models are developed in which statecharts define the state dependent aspects of the product line and interaction models describe the dynamic interaction between the objects.  The object-oriented software architecture for the product line is then developed, in which the system is structured into component-based subsystems.  Structural architecture patterns and communication patterns are also used in designing component based distributed product lines. The tutorial is illustrated by means of several examples.

 

     This tutorial is divided into two self-contained parts: the first part addresses Requirements and Analysis Modeling for Software Product Lines with UML 2.0. The second part addresses Design Modeling for Software Product Lines with UML 2.0.

 

    This tutorial is intended for a wide audience of academic and industrial professionals including researchers, academic faculty, graduate students, software developers, systems analysts, software designers, and project managers. Some basic knowledge of object-oriented concepts is expected.

 

Reference: The tutorial is based on a book by the presenter:

H. Gomaa, Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures", Addison Wesley Object-Oriented Technology Series, 2005.

 

Biosketch:

Hassan Gomaa is Chair and Full Professor in the Department of Computer Science at George Mason University, Fairfax, Virginia. He has over 30 years experience in software engineering, both in industry and academia, and has published over 150 technical papers and three textbooks, two of which have been translated into Chinese. He has made conference presentations and tutorial presentations at many international conferences. He was keynote speaker at the Asia-Pacific Software Engineering Conference in December 2004 and at the International Conference on Model-Driven Engineering, Languages, and Systems in October 2006.  He has taught several in-depth industrial courses on software design in North America, Europe, Japan, and Korea.  He also consults in both the technical and management aspects of software engineering.