Lecture 8-9 Flashcards

1
Q

What is the activity of specifying a program’s major parts and their relationships called?

A

Architectural Design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the design process for identifying the sub-systems and framework for control and communication?

A

Architectural design.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the main steps in architectural design?

A

Identify the components or sub-systems and define the connectors (interfaces) between them.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the output of the architectural design process?

A

A description of the software architecture, e.g., Software Architecture Document (SAD).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are Box-and-Lines Diagrams used for in architectural modeling?

A

They are used for static/dynamic modeling and typically include icons connected with lines.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is the difference between functional and non-functional requirements?

A

Functional requirements relate directly to the system’s functioning, while non-functional requirements cover aspects like performance, cost, and reliability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

How do non-functional requirements influence architecture?

A

The chosen architecture style/structure depends on the non-functional requirements such as performance, security, and availability.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What architecture pattern improves performance?

A

Localizing critical operations within a small number of components and minimizing communications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What architecture pattern enhances security?

A

Using a layered architecture with critical assets in the inner layers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What architecture pattern increases availability?

A

Including redundant components and mechanisms for fault tolerance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is functional decomposition?

A

Breaking down a system into smaller parts to understand and manage it better, often starting with analyzing use cases and listing key requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the Model-View-Controller (MVC) pattern?

A

A design pattern that separates an application into three interconnected components: Model, View, and Controller.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the role of the Controller in MVC?

A

Acts as an intermediary between the Model and View, fetching data and processing user input.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the role of the Model in MVC?

A

Represents and manages the data, ensuring it is in the correct format.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the role of the View in MVC?

A

Responsible for displaying the data to the user and updating the UI based on changes in the model.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

When is an MVC pattern typically used?

A

When there are multiple ways to view and interact with data, or when future interaction requirements are unknown.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is layered architecture?

A

An architecture that organizes the system into a set of layers, each relying on the facilities and services offered by the layer beneath it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

When is layered architecture used?

A

When building new facilities on top of existing systems or when development is spread across several teams.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is repository architecture?

A

An architecture where subsystems or components exchange data through a central database or repository.

20
Q

When is repository architecture most commonly used?

A

When large amounts of data need to be shared efficiently among subsystems.

21
Q

What is pipe and filter architecture?

A

An architecture where functional transformations process their inputs to produce outputs, often used in data processing applications.

22
Q

When is pipe and filter architecture used?

A

In data processing applications where inputs are processed in separate stages to generate related outputs.

23
Q

What are architectural patterns?

A

Architectural patterns that include Master-Slave, Two-Tier Client-Server, Multi-Tier Client-Server, Peer-to-Peer, and Software as a Service.

24
Q

What is master-slave architecture?

A

An architecture used in real-time systems with separate processors for data acquisition, processing, and actuator management, where the master database handles all write operations.

25
What is client-server architecture?
A distributed system model showing how data and processing are distributed across a range of components, with clients requesting services from servers.
26
What is a two-tier client-server architecture?
An architecture where the system is implemented with a single server and multiple clients, with the presentation layer on the client and other layers on the server (thin-client) or application processing on the client side (fat-client).
27
What is a multi-tier client-server architecture?
An architecture with separate processes for presentation, application processing, and data management/database, which may execute on different processors.
28
What are the tiers in a multi-tier client-server architecture?
Presentation Tier, Application Tier, and Data Tier.
29
What is peer-to-peer architecture?
An architecture that takes advantage of the computational power and storage of a large number of networked computers, such as BitTorrent or Skype.
30
What is Software as a Service (SaaS)?
A model where software is hosted remotely on a server and provided as a service over the internet, with pay-per-use and on-demand utility.
31
What are some features of SaaS?
Branding, business rules, and access control allowing customers to define their own rules and create individual accounts for their staff.
32
What are hot-spots in the context of frameworks like React?
Parts of the framework that are meant to be changed and altered to meet specific needs.
33
What are frozen-spots in the context of frameworks like React?
Parts of the framework that are not meant to be changed or altered, often the backend components.
34
What is the role of the master database in a master-slave architecture?
Handles all write operations and sends updates to slave databases to keep them in sync.
35
What is the role of slave databases in a master-slave architecture?
Read-only replicas of the master database that handle read operations to reduce the load on the master.
36
What is the difference between a thin-client and a fat-client model in two-tier architecture?
Thin-client: Presentation layer on the client, all other layers on the server. Fat-client: Some/all application processing on the client side, data management on the server.
37
What is an example of a thin-client model?
A web browser accessing a site that stores all information in a database server.
38
What is an example of a fat-client model?
A photo editing app that stores everything locally but can upload saves to the cloud.
39
What is an example of the presentation tier in a multi-tier architecture?
A website hosted on AWS Elastic Beanstalk where users can browse products and place orders.
40
What is an example of the application tier in a multi-tier architecture?
Order processing and customer management services hosted on Azure.
41
What is an example of the data tier in a multi-tier architecture?
Product information and order details stored in Google Cloud SQL and customer records in Azure SQL Database.
42
What is the purpose of using architectural patterns?
To provide proven solutions to common design problems and improve system quality attributes like performance, security, and availability.
43
What are the key benefits of using layered architecture?
Facilitates reuse, separation of concerns, and allows teams to work on different layers independently.
44
What are the advantages of using repository architecture?
Efficient data sharing, centralized data management, and ease of data access by multiple subsystems.
45
What are the benefits of using pipe and filter architecture?
Simplifies system maintenance and testing, allows easy reuse of components, and supports concurrent processing.