A systematic method to identify software components

In component-based development (CBD), component is the basic unit for reuse and it provides a relatively coarse-grained functionality. A component typically consists of several related objects, where they collaborate in order to carry out system operations. Hence it is essential in CBD to identify components with high cohesion and low coupling. In this article, we propose a systematic UML-based method to identify components. Our approach makes use of clustering algorithms, metrics, decision rules and a set of heuristics. We assume that an object-oriented model for a target domain is available. The method takes these artifacts and transforms them into components in a seamless way.

[1]  James Martin,et al.  Information engineering , 1981 .

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

[3]  Arvinder Kaur,et al.  Component Based Software Engineering , 2010 .

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

[5]  EUN SOOK CHO,et al.  A Domain Analysis And Modeling Methodology For Component Development , 2004, Int. J. Softw. Eng. Knowl. Eng..

[6]  Hemant K. Jain,et al.  Business component identification - a formal approach , 2001, Proceedings Fifth IEEE International Enterprise Distributed Object Computing Conference.

[7]  Vijayan Sugumaran,et al.  Identifying software components from process requirements using domain model and object libraries , 1999, ICIS.

[8]  Soo Dong Kim,et al.  COMO: a UML-based component development methodology , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).

[9]  Ian G. MacDonald,et al.  Information Engineering , 2019, Information Systems Design Methodologies: Improving the Practice.

[10]  Ivica Crnkovic,et al.  Building Reliable Component-Based Software Systems , 2002 .