Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chapter 11 Component-based Software Architecture - Coggle Diagram
Chapter 11
Component-based Software Architecture
What is Component ?
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
Why use components?
Reusability
Productivity
Composability
Adaptibility
Scalability
Reliability and many others
The difference between Components vs OO Design
A component-oriented represents a higher level of abstraction than an equivalent OO design
The component-oriented design defines components and connections between them instead of classes and connections between classes
In component-oriented design
First identify all components and their interfaces
Advantages over CO design
Lower development costs by reuse of the existing components, and
increased reliability with reuse of the existing components
Reduced time in market
Component Implementation
Concrete Implementation Classes
Abstract Interface
Example
class CouterImpl implements Counter { public void setCount() }
Principles of Component-Based Architecture
Think about INTERFACE, not the implementation
Figure out semantics of connections
Component Level Design
Before the design phase, we have
Use case modeling
Business concept modeling
2.Use case diagrams
Describes user interactions with the system which indicate all necessary operations of the component
A collaboration diagram
is an identifiable slice of functionality that describes a meaningful service involving several concepts.
Three Elements
1 . Object: The interaction between objects takes put in a system.
2.Relation/Association: Association among objects is connected by connecting them.
3.Messages: An arrow that commencing from one object to the destination object.
4.Business concept diagram
Extract business process entities that can exist independently without any associated dependency on other entities.
Recognize and discover these independent entities as new components.
Depicts the relationships of the business process entities in the domain
5.Starts from Use Case Diagram
6.Mapping
conceptual classes modules of components
If necessary, big components can be further decomposed
Use case interface provider
Example
A clinic has dozen family doctors
Each doctor has a schedule with slots of 15 minutes
patients can make appointment
patients can change and cancel appointment
New patients are welcome
doctor can mark off slots
patients and doctors can display schedules on computer at any time
Use Case Diagram
Definition : A use case diagram is a graphical depiction of a user's possible interactions with a system. A use case diagram shows various use cases and different types of users the system has and will often be accompanied by other types of diagrams as well. The use cases are represented by either circles or ellipses. The actors are often shown as stick figures.
Business Concepts Diagram
Definition : Business Concept Diagram allows for the creation of a less formal and rigorous high-level representation of business processes and organization structure. It comes with a Stencil Pane that provides you with a rich set of built-in shapes to use in representing any kind of business concepts.
Component Design