This paper presents a framework and a prototype for designing
Integrated Construction Management (ICM) software applications
using reusable components. The framework supports the collaborative
development of ICM software applications by a group of
ICM application developers from a library of software components.
The framework focuses on the use of an explicit software
development process to capture and disseminate specialized
knowledge that augments the description of the ICM software
application components in a library. The importance of
preserving and using this knowledge has become apparent
with the recent trend of combining the software development
process with the software application code. There are three
main components in the framework: design patterns, design
rationale model, and intelligent search algorithms. Design
patterns have been chosen to represent, record, and reuse
the recurring design structures and associated design experience
in object-oriented software development. The Design Recommendation
and Intent Model (DRIM) was extended in the current research
effort to capture the specific implementation of reusable
software components. DRIM provides a method by which design
rationale from multiple ICM application designers can be
partially generated, stored, and later retrieved by a computer
system. To address the issues of retrieval, the paper presents
a unique representation of a software component, and a
search mechanism based on Reggia's setcover algorithm
to retrieve a set of components that can be combined to
get the required functionality is presented. This paper
also details an initial, proof-of-concept prototype based
on the framework. By supporting nonobtrusive capture as
well as effective access of vital design rationale information
regarding the ICM application development process, the
framework described in this paper is expected to provide
a strong information base for designing ICM software.