Abstract
Partitioning a design space to identify components with desired non-functional and behavioral characteristics is a crucial task in the component-based software development process. Accordingly, the issue of how to analyze design models in order to systematically derive a set of components constitutes a research question which has been investigated repeatedly. Component identification approaches that have been published in literature, however, make use of different component definitions and identification strategies. Furthermore, they vary from ad-hoc findings and general recommendations to more formalized methods and techniques which aim at an optimized partitioning. In this paper, we elaborate on the state of the art in component identification and provide a classification of approaches that highlights their respective strengths and weaknesses. To classify component identification approaches, we introduce a classification scheme that contains important distinguishing factors. It is used to compare existing approaches which have been compiled during a literature survey. In addition, it provides the basis to discuss significant differences between them and to identify remaining issues which give information about future research directions.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Brown, A.W.: Large-Scale, Component-Based Development. Prentice Hall, Upper Saddle River (2000)
Cheesman, J., Daniels, J.: UML Components. A Simple Process for Specifying Component-Based Software. Addison-Wesley, Upper Saddle River (2001)
Szyperski, C., Gruntz, D., Murer, S.: Component Software. Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Harlow (2002)
Speed, J., Councill, W.T., Heineman, G.T.: Component-Based Software Engineering as a Unique Engineering Discipline. In: Councill, W.T., Heineman, G.T. (eds.) Component-Based Software Engineering: Putting the Pieces Together, pp. 673–691. Addison-Wesley, Reading (2001)
Albani, A., Overhage, S., Birkmeier, D.: Towards a Systematic Method for Identifying Business Components. In: Chaudron, M.R.V., Szyperski, C., Reussner, R. (eds.) CBSE 2008. LNCS, vol. 5282, pp. 262–277. Springer, Heidelberg (2008)
Pahl, G., Beitz, W., Feldhusen, J., Grote, K.H.: Engineering Design: A Systematic Approach. Springer, Heidelberg (2007)
Sommerville, I.: Software Engineering. Addison-Wesley, Reading (2006)
Baster, G., Konana, P., Scott, J.: Business Components - A Case Study of Bankers Trust Australia Limited. Communications of the ACM 44, 92–98 (2001)
Herzum, P., Sims, O.: Business Component Factory: A Comprehensive Overview of Component-Based Development for the Enterprise. John Wiley & Sons, New York (2000)
Object Management Group (OMG): Unified Modeling Language Specification: Version 2, Revised Final Adopted Specification, ptc/05-07-04 (2005)
Broy, M.: Towards a Mathematical Concept of a Component and its Use. Software - Concepts and Tools 18, 137–159 (1997)
D’Souza, D.F., Wills, A.C.: Objects, Components, and Frameworks with UML. In: The Catalysis Approach. Addison-Wesley, Upper Saddle River (1999)
Parnas, D.L.: On the Criteria to be Used in Decomposing Systems into Modules. Communications of the ACM 15, 1053–1058 (1972)
Cook, S., Daniels, J.: Designing Object Systems. In: Object-Oriented Modelling with Syntropy. Prentice Hall, Englewood Cliffs (1994)
Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Lagua, R., Muthig, D., Paech, B., Wust, J., Zettel, J.: Component-Based Product Line Engineering with UML. Addison-Wesley, Reading (2001)
IBM Corporation: Business Systems Planning: Information Systems Planning Guide. Technical report ge20-0527-4, International Business Machines Corporation (1984)
Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A Feature-Oriented Reuse Method with Domain-Specific Reference Architectures. Annals of Software Engineering 5, 143–168 (1998)
Lee, S.D., Yang, Y.J., Cho, E.S., Kim, S.D., Rhew, S.Y.: COMO: A UML-Based Component Development Methodology. In: APSEC 1999: Proceedings of the Sixth Asia Pacific Software Engineering Conference, Washington, DC, USA, p. 54. IEEE Computer Society, Los Alamitos (1999)
Sugumaran, V., Tanniru, M., Storey, V.C.: Identifying Software Components from Process Requirements Using Domain Model and Object Libraries. In: ICIS ’99: Proceedings of the 20th international conference on Information Systems, Atlanta, GA, USA, Association for Information Systems, pp. 65–81 (1999)
Ganesan, R., Sengupta, S.: O2BC: A Technique for the Design of Component-Based Applications. In: TOOLS 2001: Proceedings of the 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems (TOOLS39), Washington, DC, USA, pp. 46–55. IEEE Computer Society Press, Los Alamitos (2001)
Jain, H., Chalimeda, N., Ivaturi, N., Reddy, B.: Business Component Identification - A Formal Approach. In: EDOC 2001: Proceedings of the 5th IEEE International Conference on Enterprise Distributed Object Computing, Washington, DC, USA, pp. 183–187. IEEE Computer Society Press, Los Alamitos (2001)
Lee, J.K., Jung, S.J., Kim, S.D., Jang, W.H., Ham, D.H.: Component Identification Method with Coupling and Cohesion. In: Proceedings of the 8th Asia-Pacific Software Engineering Conference (APSEC 2001), Macau, China, Washington, DC, USA, December 4-7, pp. 79–86. IEEE Computer Society Press, Los Alamitos (2001)
Levi, K., Arsanjani, A.: A Goal-Driven Approach to Enterprise Component Identification and Specification. Communications of the ACM 45, 45–52 (2002)
Jang, Y.J., Kim, E.Y., Lee, K.W.: Object-Oriented Component Identification Method Using the Affinity Analysis Technique. In: Konstantas, D., Léonard, M., Pigneur, Y., Patel, S. (eds.) OOIS 2003. LNCS, vol. 2817, pp. 317–321. Springer, Heidelberg (2003)
Kim, S.D., Chang, S.H.: A Systematic Method to Identify Software Components. In: APSEC 2004: Proceedings of the 11th Asia-Pacific Software Engineering Conference, Washington, DC, USA, pp. 538–545. IEEE Computer Society Press, Los Alamitos (2004)
Albani, A., Dietz, J.L., Zaha, J.M.: Identifying Business Components on the Basis of an Enterprise Ontology. In: Konstantas, D., Bourrieres, J.P., Leonard, M., Boudjlida, N. (eds.) Interoperability of Enterprise Software and Applications, Geneva, Switzerland, pp. 335–347. Springer, Heidelberg (2005)
Albani, A., Dietz, J.L.: The Benefit of Enterprise Ontology in Identifying Business Components. In: IFIP World Computing Conference, Santiago de Chile, Chile (2006)
Blois, A.P.T.B., Werner, C.M.L., Becker, K.: Towards a Components Grouping Technique within a Domain Engineering Process. In: EUROMICRO 2005: Proceedings of the 31st EUROMICRO Conference on Software Engineering and Advanced Applications, Washington, DC, USA, pp. 18–27. IEEE Computer Society Press, Los Alamitos (2005)
Meng, F.C., Zhan, D.C., Xu, X.F.: Business Component Identification of Enterprise Information System: A Hierarchical Clustering Method. In: Lau, F.C.M., Lei, H., Meng, X., Wang, M. (eds.) ICEBE, pp. 473–480. IEEE Computer Society, Los Alamitos (2005)
Wang, Z., Xu, X., Zhan, D.: A Survey of Business Component Identification Methods and Related Techniques. International Journal of Information Technology 2, 229–238 (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Birkmeier, D., Overhage, S. (2009). On Component Identification Approaches – Classification, State of the Art, and Comparison. In: Lewis, G.A., Poernomo, I., Hofmeister, C. (eds) Component-Based Software Engineering. CBSE 2009. Lecture Notes in Computer Science, vol 5582. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02414-6_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-02414-6_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02413-9
Online ISBN: 978-3-642-02414-6
eBook Packages: Computer ScienceComputer Science (R0)