Component Based Development

Overview

Component Based Development is a way of organising software development to build re-useable and independently deployable software moduels that are nearly standalone in terms of functionality. Systems are built by combining components with bespoke application-specific softare, with the same components being re-used in many applications.

RUP's approach to architecture and analysis and design naturally leads to component based architectures, starting with the re-use of components across use cases within one application, and leading to those components being candidates for reuse across different systems. These reuseable components are created through the gradual change in emphasis in modelling from the vertical or stove-pipe view of functionality in requirements - there is little reuse amongst use cases - to the horizontal view in design, where components realise functionality for many use cases.

Where components are reused in many systems, it becomes necessary to organise resources around those components, allowing a component team to work to timeframes for builds and releases of the component, not to specific project timescales.

Roles

Team members require this skill to successfully perform the following roles: Software Architect.

Courses
Tools

Users require this skill to gain the full benefits from the following tools:-