A larger part of the overall system that is often separately deployable. Component-based development involves decomposing the overall functionality into separately deployable components which can be built and deployed separately. This allows sharing of the components between applications that have a need for the same functionality. This component is a consequence of one or more design decisions although its behavior may also be traced back to some aspect of the requirements.
Components can take many forms depending on the the technology being employed. The Windows(TM) platform uses Dynamic Linked Libraries (DLLs) or Assemblies as components. The Java(TM) platform uses Java ARchives(JARs). A Service Oriented Architecture (SOA) uses Web Services as its large-grained components. The components may implement front-end logic (e.g. the "File Open Dialog") or back-end logic (e.g. a "Customer Persistence" component). A component can and should be verified using component tests before the overall application is tested using customer tests.
Copyright © 2003-2008 Gerard Meszaros all rights reserved