Architectural pattern Flashcards
(9 cards)
WHAT IS ARCHITECTURAL DESIGN
the critical link between design and requirements engineering, as it identifies the main structural components in a system and the relationships between them.
Advantages of explicit architecture
Stakeholder communication
Architecture may be used as a focus of discussion by system stakeholders.
System analysis
Means that analysis of whether the system can meet its non-functional requirements is possible.
Large-scale reuse
The architecture may be reusable across a range of systems
Product-line architectures may be developed.
Use of architectural models
As a way of facilitating discussion about the system design
As a way of documenting an architecture that has been designed
Architecture and system characteristics
Performance
Security
Safety
Availability
Maintainability
Archi pattern
An architectural pattern is a stylized description of good design practice, which has been tried and tested in different environments.
Architectural views
A logical view, which shows the key abstractions in the system as objects or object classes.
A process view, which shows how, at run-time, the system is composed of interacting processes.
A development view, which shows how the software is decomposed for development.
A physical view, which shows the system hardware and how software components are distributed across the processors in the system.
Layered archi pros cons description
Advantages Allows replacement of entire layers so long as the interface is
maintained. Redundant facilities (e.g., authentication) can be
provided in each layer to increase the dependability of the
system.
Disadvantages In practice, providing a clean separation between layers is often
difficult and a high-level layer may have to interact directly with
lower-level layers rather than through the layer immediately
below it. Performance can be a problem because of multiple
levels of interpretation of a service request as it is processed at
each layer.
Organizes the system into layers with related functionality
associated with each layer. A layer provides services to the layer
above it so the lowest-level layers represent core services that
are likely to be used throughout the system
MVC pros cons and description
Advantages Allows the data to change independently of its representation and vice versa.
Supports presentation of the same data in different ways with changes made
in one representationshown in all of them.
Disadvantages Can involve additional code and code complexity when the data model and
interactions are simple
Separates presentation and interaction from the system data. The system is
structured into three logical components that interact with each other. The
Model component manages the system data and associated operations on
that data. The View component defines and manages how the data is
presented to the user. The Controller component manages user interaction
(e.g., key presses, mouse clicks, etc.) and passes these interactions to the
View and the Model