Open Access
A Method and Tool for Identifying Domain Components Using Object Usage Information
Author(s) -
Lee WooJin,
Kwon OhCheon,
Kim MinJung,
Shin GyuSang
Publication year - 2003
Publication title -
etri journal
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.295
H-Index - 46
eISSN - 2233-7326
pISSN - 1225-6463
DOI - 10.4218/etrij.03.0102.0213
Subject(s) - component (thermodynamics) , computer science , identifier , domain engineering , component based software engineering , identification (biology) , software engineering , reuse , domain analysis , domain (mathematical analysis) , object oriented programming , domain model , software development , software , common component architecture , data mining , systems engineering , domain knowledge , software construction , engineering , programming language , mathematical analysis , physics , botany , mathematics , biology , thermodynamics , waste management
To enhance the productivity of software development and accelerate time to market, software developers have recently paid more attention to a component‐based development (CBD) approach due to the benefits of component reuse. Among CBD processes, the identification of reusable components is a key but difficult process. Currently, component identification depends mainly on the intuition and experience of domain experts. In addition, there are few systematic methods or tools for component identification that enable domain experts to identify reusable components. This paper presents a systematic method and its tool called a component identifier that identifies software components by using object‐oriented domain information, namely, use case models, domain object models, and sequence diagrams. To illustrate our method, we use the component identifier to identify candidates of reusable components from the object‐oriented domain models of a banking system. The component identifier enables domain experts to easily identify reusable components by assisting and automating identification processes in an earlier development phase.