Podcast
Questions and Answers
What two kinds of components are mentioned in the service-oriented architecture?
What two kinds of components are mentioned in the service-oriented architecture?
In the Model-View-Controller architecture, which component is oblivious to the View and Controller?
In the Model-View-Controller architecture, which component is oblivious to the View and Controller?
What is the main method of coordination between components in Concurrent/Real-time Systems as described in the text?
What is the main method of coordination between components in Concurrent/Real-time Systems as described in the text?
Which architectural style allows observers/subscribers to register themselves to be notified of specific events?
Which architectural style allows observers/subscribers to register themselves to be notified of specific events?
Signup and view all the answers
In which architectural style do consumers combine services to carry out business processes?
In which architectural style do consumers combine services to carry out business processes?
Signup and view all the answers
What is the role of subjects/publishers in the Notification/Implicit-Invocation/Publish-Subscribe Architecture?
What is the role of subjects/publishers in the Notification/Implicit-Invocation/Publish-Subscribe Architecture?
Signup and view all the answers
In the data-flow (pipes and filters) architecture style, what is the purpose of the components?
In the data-flow (pipes and filters) architecture style, what is the purpose of the components?
Signup and view all the answers
What is the primary focus when designing software architectures?
What is the primary focus when designing software architectures?
Signup and view all the answers
In the data-centered (repository/blackboard) architecture style, what is the role of the central data store?
In the data-centered (repository/blackboard) architecture style, what is the role of the central data store?
Signup and view all the answers
What is the main benefit of decomposing a system into smaller parts?
What is the main benefit of decomposing a system into smaller parts?
Signup and view all the answers
Which of the following is a benefit of separating unrelated parts of a system?
Which of the following is a benefit of separating unrelated parts of a system?
Signup and view all the answers
What is the main difference between the repository and blackboard patterns in the data-centered architecture style?
What is the main difference between the repository and blackboard patterns in the data-centered architecture style?
Signup and view all the answers
What is the main characteristic of the independent components architecture style?
What is the main characteristic of the independent components architecture style?
Signup and view all the answers
What is the relationship between software requirements and architectural design?
What is the relationship between software requirements and architectural design?
Signup and view all the answers
Which architecture style would be most suitable for a system that needs to process large amounts of data in a streaming fashion?
Which architecture style would be most suitable for a system that needs to process large amounts of data in a streaming fashion?
Signup and view all the answers
What is the difference between functional and non-functional requirements in software architecture?
What is the difference between functional and non-functional requirements in software architecture?
Signup and view all the answers
Which architecture style promotes loose coupling and scalability by allowing components to execute concurrently and communicate through message passing?
Which architecture style promotes loose coupling and scalability by allowing components to execute concurrently and communicate through message passing?
Signup and view all the answers
Which of the following is an example of a non-functional requirement in software architecture?
Which of the following is an example of a non-functional requirement in software architecture?
Signup and view all the answers
Study Notes
Software Architectural Styles
- Concurrent/Real-time Systems: A set of components controlling different parts of a system, independently regulating their parts, but sharing data and coordinating with each other by exchanging messages.
- Example: Chemical processing plant with multiple components regulating different parts of the plant.
Service-Oriented Architecture
- Two kinds of components: consumers and providers.
- Service providers make services available to service consumers.
- Consumers can combine services to carry out business processes they require.
- Example: Different divisions of an organization using a common set of services like payroll, personnel, and customer records.
Notification/Implicit-Invocation/Publish-Subscribe Architecture
- Two kinds of components: observers/subscribers and subjects/publishers.
- Observers/subscribers register themselves with a subject/publisher to receive notifications when a particular event happens.
- Example: RSS feed where subscribers receive news updates as they become available.
Model-View-Controller Architecture
- Model: Holds data, state, and application logic, oblivious to the View and Controller.
Data-Flow (Pipes & Filters) Architecture
- Lex Program Source Syn Sem Opt Code Object Code
Data-Centred (Repository/Black-Board) Architecture
- Centralized store of persistent data with a stable structure.
- Multiple clients can create, query, update, and destroy data upon request.
- Example: Database holding personnel records with authorized users submitting queries.
Data-Centred (Repository/Black-Board) Architecture Variations
- Database (Repository): Communication is initiated by clients.
- Black-Board: Communication may be initiated from either end, with the repository being active and notifying clients of changes.
Independent Components Architecture
- Components execute concurrently, decoupled, but can communicate by exchanging messages.
- Emphasis is on the external view of the subsystem/component, interfaces, and interconnections.
Software Architectural Design
- Decomposing systems helps tackle complexity, supports flexibility, and enables future evolution.
- Different levels of detail include Product Line, System, Subsystems, Modules, Packages, Classes, Objects, Methods, and Source code.
Software Architectural Design and Requirements
- Ensure the architecture fulfills software requirements, both functional and non-functional.
- Twin-peaks model develops requirements and architecture concurrently and iteratively.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Explore the reasons for decomposing systems in software architectural design, such as tackling complexity, reusability, and supporting flexibility for future evolution. Learn how dividing systems into smaller parts can enhance design and maintainability.