Commenced in January 2007
Frequency: Monthly
Edition: International
Paper Count: 31100
A Survey of Business Component Identification Methods and Related Techniques

Authors: Zhongjie Wang, Xiaofei Xu, Dechen Zhan


With deep development of software reuse, componentrelated technologies have been widely applied in the development of large-scale complex applications. Component identification (CI) is one of the primary research problems in software reuse, by analyzing domain business models to get a set of business components with high reuse value and good reuse performance to support effective reuse. Based on the concept and classification of CI, its technical stack is briefly discussed from four views, i.e., form of input business models, identification goals, identification strategies, and identification process. Then various CI methods presented in literatures are classified into four types, i.e., domain analysis based methods, cohesion-coupling based clustering methods, CRUD matrix based methods, and other methods, with the comparisons between these methods for their advantages and disadvantages. Additionally, some insufficiencies of study on CI are discussed, and the causes are explained subsequently. Finally, it is concluded with some significantly promising tendency about research on this problem.

Keywords: Business component, component granularity, component identification, reuse performance

Digital Object Identifier (DOI):

Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1673


[1] H. Jain, N. Chalimeda, N. Ivaturi, and B. Reddy, "Business component identification: A formal approach," in Proc. of the 5th IEEE Int. Enterprise Distributed Object Computing Conf. Seattle: IEEE Computer Society Press, 2001, pp.183-187.
[2] C. Szyperski, "Component software: Beyond Object-Oriented Programming," Addison-Wesley, 1998.
[3] J.K. Lee, S.J. Jung, and S.D. Kim, "Component Identification Method with Coupling and Cohesion," in Proc. of 8th Asia-Pacific Software Engineering Conf. Macau, China, 2001. pp.79-86.
[4] P. Herzum and O. Sims, "Business Component Factory," New York: John Wiley&Sons, Inc., 1999. pp. 425-529.
[5] I. Jacobson, M. Griss, and P. Jonsson, "Software Reuse: Architecture, Process and Organization for Business Success," Addison-Wesley, 1997.
[6] H. Mili, A. Mili, S. Yacoub, and E. Addy, "Reuse-Based Software Engineering: Techniques, Organization, and Controls," New York: John Wiley and Sons Ltd., 2002.
[7] W. Xu, B.L. Yin, and Z.Y. Li, "Research on the business component design of enterprise information system," J. of Software, vol.14, no.7, pp.1213-1220, 2003.
[8] L. Keith and A. Ali, "A Goal-driven Approach to Enterprise Component Identification and Specification," Communications of the ACM, vol.45, no.10, pp.45-52, 2002.
[9] W. Tracz, "Implementation Working Group Summary," in Proc. of Reuse in Practice Workshop, J. Baldo and Jr. Alexandria, Eds., IDA Document D-754, Pittsburgh, PA, pp.10-19.
[10] Q. Wu, J. Chang, H. Mei, and F.Q. Yang, "JBCDL: An Object-Oriented Component Description Language," in Proc. of the 24th Int. Conf. on Technology of Object-Oriented Languages ASIA, IEEE Computer Soc. Press, Los Alamitos, CA, 1997, pp.198-205.
[11] I. Crnkovica and M. Larsson, "Challenges of component-based development," The J. of Systems and Software, vol.61, no.3, pp.201-212, 2002.
[12] D. S. Frankel, "Model Driven Architecture: Applying MDA to Enterprise Computing," Wiley, 2003.
[13] T.A. Wiggerts, "Using Clustering Algorithms in Legacy Systems Remodularization," in Proc. of 4th Working Conf. on Reverse Engineering. Washington, DC, USA: IEEE Computer Society, 1997. pp.33-43.
[14] X. Zhou, X.K. Chen, J.S. Sun, and F.Q. Yang, "Software Measurement Based Reusable Component Extraction in Object-oriented System," ACTA Electronica SINICA, vol31, no.5, pp.649-653, 2003.
[15] Z.M. Zhang, Y.T. Zhuang, Y.H. Pan, "Object-Oriented Software Reverse Engineering," J. of Computer Research and Development, vol.40, no.7, pp.1062-1068, 2003.
[16] A. Kleppe, J. Warmer, and W. Bast, "MDA Explained: The Model Driven Architecture: Practice and Promise," Addison-Wesley, 2003.
[17] R.C. Martin, "Agile software development: principles, patterns, and practices," New York: Prentice Hall, 2002.
[18] G. Li and M.Z. Jin, "A design method for reusable components," J. of Computer Research and Development, vol.37, no.5, pp.609-615, 2000.
[19] D.F. D-Souza and A.C. Wills, "Objects, Components, and Frameworks with UML: The Catalysis Approach," Reading: Addison-Wesley Longman, Inc., 1998, pp.505-680.
[20] J. Cheesman and J. Daniels, "UML Components: A Simple Process for Specifying Component-Based Software," Boston: Addison-Wesley Longman, Inc., 2000.
[21] P. Vitharana, H. Jain, and F. Zahedi, "Strategy-Based Design of Reusable Business Components," IEEE Trans. Systems, Man, and Cybernetics - Part C: Applications and Reviews, vol.34, no.4, pp.460-474, 2004.
[22] M.E. Fayad, "Accomplishing Software Stability," Communications of the ACM, vol.45, no.1, pp.111-115, 2002.
[23] D. Helton, "The Impact of Large-Scale Component and Framework Application Development on Business," in 3rd Int. Workshop on Component-Oriented Programming. pp.163-164, 1998.
[24] S.D. Lee and Y.J. Yang, "COMO: A UML-based component development methodology," in Proc. of 6th Asia Pacific Software Engineering Conf. Takamatsu, 1998. pp.54-63.
[25] R. Ganesan and S. Sengupta, "O2BC: A technique for the design of component-based applications," in Proc. of 39th Int. Conf. and Exhibition on Technology of Object-Oriented Language and Systems, 2001. pp.46-55.
[26] A. Somjit and B. Dentcho, "Development of industrial information systems on the Web using business components," Computer in Industry vol.50, no.2, pp.231-250, 2003.
[27] W. Zhang and H. Mei, "A feature-oriented domain model and its modeling process," J. of Software, vol.14, no.8, pp.1345-1356, 2003.
[28] Y. Jia, "The Evolutionary component-based software reuse approach," Ph.D. dissertation, Graduation School of Chinese Academy of Sciences, 2002.
[29] K.C. Kang, S.G. Cohen, J.A. Hess, W.E. Novak, and A.S. Peterson, "Feature-Oriented domain analysis (FODA) feasibility study," Tech. Rep., CMU/SEI-90-TR-21, Carnegie Mellon University, Software Engineering Institute, Pittsburgh, USA, 1990.
[30] K.C. Kang, S. Kim, J. Lee, K. Kim, E. Shin, and M. Huh, "FORM: A feature-oriented reuse method with domain-specific reference architectures," Annals of Software Engineering, vol.5, pp.143-168, 1998.
[31] C. Gary, D. Patrick, K.C. Kang, and S. Thiel, "Product Line Analysis: A Practical Introduction," Tech. Rep., CMU/SEI-2001-TR-001, Carnegie Mellon University, Software Engineering Institute, Pittsburgh, USA, 2001.
[32] F.Q. Yang, H. Mei, Q. Wu, and B. Zhul, "An Approach to Software Development based on Reuse of Heterogeneous Components and its Supporting System," Science in China (E), vol.40, no.4, pp.405-413, 1997.
[33] H.S. Hamza, "SODA: A Stability-Oriented Domain Analysis Method," in Proc. of the 19th Annu. ACM SIGPLAN Conf. on Object-oriented programming systems, languages, and applications, Vancouver, Canada: ACM Press, 2004, pp.220-221.
[34] K. Rainer, "Atomic Architectural Component Recovery for Program Understanding and Evolution," Ph.D. dissertation, Institut für Informatik, Universität Stuttgart, 2000.
[35] X.W. Yuan, Z. Qin, and Z.J. Lu, "Identification method of business component based on coupling analysis," Control and Decision, vol.19, no.9, pp.1071-1073, 1077, 2004.
[36] J. Christopher, "Computing Program Modularizations Using the k-Cut Method," in Proc. of 6th Working Conf. on Reverse Engineering. Oct.06-08, 1999, Atlanta, Georgia.
[37] T. Konstantinos, "Maximum Flow Techniques for Network Clustering," Ph.D. dissertation, Princeton University. 2002.
[38] S. Mancoridis, B.S. Mitchell, C. Rorres, Y. Chen, and E.R. Gansner, "Using Automatic Clustering to Produce High-Level System Organizations of Source Code," in Proc. of 6th Int. Workshop on Program Comprehension, 1998.
[39] T.N. Bui and B.R. Moon, "Genetic Algorithm and Graph Partitioning," IEEE Trans. Computers, vol.45, no.7, pp.841-855, 1996.
[40] G. Karypis, E.-H. Han, V. Kumar, "Chameleon: Hierarchical Clustering Using Dynamic Modeling," IEEE Computer, vol.32, no.8, pp. 68-75, 1999.
[41] A. Ali, Z. Hussein, and A. James, "Externalizing Component Manners to Achieve Greater Maintainability through a Highly Re-configurable Architectural Style," in Proc. of Int. Conf. on Software Maintenance. IEEE Computer Society, 2002, pp.628-637.
[42] P. Andritsos and V. Tzerpos, "Software Clustering based on Information Loss Minimization," in Proc. of 10th Working Conf. on Reverse Engineering.2003, pp.334-344.
[43] Z.J. Wang, X.F. Xu, D.C. Zhan. "Component Granularity Optimization Design Based on Business Model Stability Evaluation, " Chinese Journal of Computers. 2006, 29(2): 239-248.
[44] R. Lee, A. Harikumar, C.C. Chiang, H.S. Yang, H.K. Kim, and B. Kang, "A Framework for Dynamically Converting Components to Web Services," in Proc. of 3rd ACIS Int. Conf. on Software Engineering Research, Management and Applications, Michigan, USA, 2005. 431-437.
[45] Z.J. Wang, X.F. Xu, D.C. Zhan. "Normal Forms and Normalized Design Method for Business Service," in Proc. of IEEE Int. Conf. on e-Business Engineering, Beijing, China, 2005. 79-86.