Driving Component-Based Software Development through Quality Modelling

With the advent of the OMG’s new Model Driven Architecture (MDA), and the growing uptake of the UML, the concept of model-driven development is receiving increasing attention. Many software organizations have identified the MDA as being of strategic importance to their businesses and many UML-tool vendors now market their tools as supporting model-driven development. However, most UML tools today support only a very limited concept of model driven development—the idea of first creating platform independent models and then mapping them into executable code. In contrast, true model-driven development implies that the development flow of a project is in some way “driven” (i.e. guided) by models. Quality attributes of models (e.g., measures derived from structural attributes) could be used in this regard, but although many different types of measures have been proposed (e.g. coupling, complexity, cohesion) they are not widely used in practice. This chapter discusses the issues involved in supporting this more general view of model driven development. It first presents some strategies for deriving useful quality-related information from UML models and then illustrates how this information can be use to optimize project effort and develop high-quality components. We pay special attention to how quality modelling based on structural properties can be integrated into the OMG’s Model Driven Architecture (MDA) initiative.

[1]  David P. Darcy,et al.  Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis , 1998, IEEE Trans. Software Eng..

[2]  Paolo Nesi,et al.  Effort estimation and prediction of object-oriented systems , 1998, J. Syst. Softw..

[3]  Barbara Paech,et al.  Component-based product line engineering with UML , 2001, Addison Wesley object technology series.

[4]  Jean Mayrand,et al.  System acquisition based on software product assessment , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[5]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[6]  Lionel C. Briand,et al.  Investigating quality factors in object-oriented designs: an industrial case study , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[7]  Clemens Szyperski,et al.  Component software , 1997 .

[8]  Lionel C. Briand,et al.  Exploring the relationships between design measures and software quality in object-oriented systems , 2000, J. Syst. Softw..

[9]  Lionel C. Briand,et al.  A Controlled Experiment for Evaluating Quality Guidelines on the Maintainability of Object-Oriented Designs , 2001, IEEE Trans. Software Eng..

[10]  John Daniels,et al.  UML Components: A Simple Process for Specifying Component-Based Software , 2000 .

[11]  Lionel C. Briand,et al.  Empirical Studies of Quality Models in Object-Oriented Systems , 2002, Adv. Comput..

[12]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[13]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .