Please enable JavaScript.
Coggle requires JavaScript to display documents.
Component Based Architecture (Component Level Design (Business concept…
Component Based Architecture
Component Level Design
Business concept Diagram
Limitations
Sometime it is difficult to find suitable components to reuse
Adaptation of components is always an issue
Applicable Domain
Suitable for the class library system organization .NET class library and Java API themselves
Suitable for where the interface contracts between sub-systems are clear
Suitable for loose coupling between the components and many reusable component are available
Benefits
Many OO design tools available
Independency and flexible connectivity of components
Reusability of components:
System maintenance and evolution:
Productivity
Sometime it is difficult to find suitable components to reuse
Adaptation of components is always an issue
A Collaboration Diagrams
Use Case Diagrams
Use Case Modeling
Business concept modeling
Use case component implementation
Mapping
Use case interface provider
Conceptual classes modules of components
If necessary, big components can be further decomposed
Components Vs. OO Design
Advantages over CO design
increased reliability with reuse of the existing components
Reduced time in market
Lower development costs by reuse of the existing components
Component-oriented represents a higher level of abstraction than an equivalent OO design
In component-oriented design First identify all components and their interfaces
Components
Important points
It remain self-contained and substitutable as long as it interface is unchanged
A component is a deployable software package that can provide services to its client
It may require services from other components
Used to
Interface plays an important role
Devide a problem into sub-problems
Each sub-problems is associated with a component
Motivation
Use of COTS or developed in-house components
Components are highly reusable
A component encapsulates the functionality and behaviors of a software element into a reusable and self-deployable binary
Increases overall reliability
A component is a modular (cohesive), deployable (portable), replaceable (plug-and-play), and reusable set of well-defined functionalities that encapsulates its implementation and exports it as a higher-level interface
Component Implementation
Usually consists of a set of class files
Abstract Interface
Concrete Implementation Classes