3 Modeling software architectures Flashcards
What is a model?
A model is a simplified representation of reality created for a specific purpose.
Example: In urban planning, a 3D city model helps architects plan infrastructure while omitting unnecessary details.
What is a meta-model?
A meta-model is the model of a model. It defines the rules and syntax for creating models.
Example: UML diagram follow a meta-model that specifies how classes, objects and relationships should be structured.
What is view-based modeling?
It is a way of modeling where each view addresses the needs of a specific stakeholder.
Example: In software development, a developer might use a class diagram (Logical View), while a network engineer might prefer a deployment diagram (Physical View).
What is an architectural view?
Architectural view support divide and conquer, by displaying only useful structures at once.
How many architectural view types are important? What are their names?
Three types.
1. Module view type,
2. Component & Connector view type and
3. Allocation view type
What is the module view type?
It describes the system’s static structure, showing code units like modules and their relationships.
What are some architectural styles of the module view type?
- Decomposition structure
- Uses structure
- Layer structure
- Class structure
What is the component and connector view type?
It describes the system’s dynamic structure, through components (services, peers, clients, servers, filters) and how they interact with connectors that are responsible for their communication, like call-return and pipes
What are some architectural styles of the component and connector view type?
- Peer-to-peer
- Shared-data
- Client-server
- Call-return
- Data-flow
What is the allocation view type?
It describes the system’s physical structure on how software elements are allocated on their respective hardware elements.
What are some architectural styles of the allocation view type?
- Work assignment
- Implementation
- Deployment
What is the 4+1 view model?
It is a general purpose software architecture framework. It divides a system in four views:
(1) logical view,
(2) development view,
(3) process view and
(4) physical view.
Also it considers the +1 that refers to the systems behavior.
Why is it called 4+1 and not 5 view model?
Because the fifth is described by textual scenarios, wrapping the four views together and should show how they work together, so it does not describe aspects of the architecture as the other four.
What is the ISO/IEC 42010 view model?
ISO/IEC 42010 provides a more general, flexible, and formal framework for documenting any system’s architecture, while the 4+1 View Model is a more specific method aimed at describing software architecture through a set of predefined views.