Lecture 8-9 Flashcards
What is the activity of specifying a program’s major parts and their relationships called?
Architectural Design.
What is the design process for identifying the sub-systems and framework for control and communication?
Architectural design.
What are the main steps in architectural design?
Identify the components or sub-systems and define the connectors (interfaces) between them.
What is the output of the architectural design process?
A description of the software architecture, e.g., Software Architecture Document (SAD).
What are Box-and-Lines Diagrams used for in architectural modeling?
They are used for static/dynamic modeling and typically include icons connected with lines.
What is the difference between functional and non-functional requirements?
Functional requirements relate directly to the system’s functioning, while non-functional requirements cover aspects like performance, cost, and reliability.
How do non-functional requirements influence architecture?
The chosen architecture style/structure depends on the non-functional requirements such as performance, security, and availability.
What architecture pattern improves performance?
Localizing critical operations within a small number of components and minimizing communications.
What architecture pattern enhances security?
Using a layered architecture with critical assets in the inner layers.
What architecture pattern increases availability?
Including redundant components and mechanisms for fault tolerance.
What is functional decomposition?
Breaking down a system into smaller parts to understand and manage it better, often starting with analyzing use cases and listing key requirements.
What is the Model-View-Controller (MVC) pattern?
A design pattern that separates an application into three interconnected components: Model, View, and Controller.
What is the role of the Controller in MVC?
Acts as an intermediary between the Model and View, fetching data and processing user input.
What is the role of the Model in MVC?
Represents and manages the data, ensuring it is in the correct format.
What is the role of the View in MVC?
Responsible for displaying the data to the user and updating the UI based on changes in the model.
When is an MVC pattern typically used?
When there are multiple ways to view and interact with data, or when future interaction requirements are unknown.
What is layered architecture?
An architecture that organizes the system into a set of layers, each relying on the facilities and services offered by the layer beneath it.
When is layered architecture used?
When building new facilities on top of existing systems or when development is spread across several teams.