Business-oriented component-based software development and evolution

Stan Jarzabek, Martin Hitz · 2002

The huge size and high complexity of legacy software are the main sources of today's software evolution problems. While we can ease software evolution with re-engineering tools, in the long term we should look for a more fundamental and effective solution. Component-based software development (CBSD) technology makes it possible to build software systems as collections of cooperating autonomous application components. This new paradigm has the potential to ease software evolution problems, as modification or replacement of components is deemed to be much easier than modification of today's huge monolithic legacy programs. For CBSD to bring its promised benefits, we must identify the right components in a given business domain. The claim of this paper is that, while CBSD is an important enabling technology, the decomposition of a software system into components must be driven by business considerations. If we let logical models of business processes drive the planning and design of software systems, we can avoid creating huge legacy software. Similar approaches may apply to software evolution in non-business domains too.

Read the paper · More papers on PaperTik