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
Q

What is client-server architecture?

A

A distributed system model showing how data and processing are distributed across a range of components, with clients requesting services from servers.

26
Q

What is a two-tier client-server architecture?

A

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
Q

What is a multi-tier client-server architecture?

A

An architecture with separate processes for presentation, application processing, and data management/database, which may execute on different processors.

28
Q

What are the tiers in a multi-tier client-server architecture?

A

Presentation Tier, Application Tier, and Data Tier.

29
Q

What is peer-to-peer architecture?

A

An architecture that takes advantage of the computational power and storage of a large number of networked computers, such as BitTorrent or Skype.

30
Q

What is Software as a Service (SaaS)?

A

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
Q

What are some features of SaaS?

A

Branding, business rules, and access control allowing customers to define their own rules and create individual accounts for their staff.

32
Q

What are hot-spots in the context of frameworks like React?

A

Parts of the framework that are meant to be changed and altered to meet specific needs.

33
Q

What are frozen-spots in the context of frameworks like React?

A

Parts of the framework that are not meant to be changed or altered, often the backend components.

34
Q

What is the role of the master database in a master-slave architecture?

A

Handles all write operations and sends updates to slave databases to keep them in sync.

35
Q

What is the role of slave databases in a master-slave architecture?

A

Read-only replicas of the master database that handle read operations to reduce the load on the master.

36
Q

What is the difference between a thin-client and a fat-client model in two-tier architecture?

A

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
Q

What is an example of a thin-client model?

A

A web browser accessing a site that stores all information in a database server.

38
Q

What is an example of a fat-client model?

A

A photo editing app that stores everything locally but can upload saves to the cloud.

39
Q

What is an example of the presentation tier in a multi-tier architecture?

A

A website hosted on AWS Elastic Beanstalk where users can browse products and place orders.

40
Q

What is an example of the application tier in a multi-tier architecture?

A

Order processing and customer management services hosted on Azure.

41
Q

What is an example of the data tier in a multi-tier architecture?

A

Product information and order details stored in Google Cloud SQL and customer records in Azure SQL Database.

42
Q

What is the purpose of using architectural patterns?

A

To provide proven solutions to common design problems and improve system quality attributes like performance, security, and availability.

43
Q

What are the key benefits of using layered architecture?

A

Facilitates reuse, separation of concerns, and allows teams to work on different layers independently.

44
Q

What are the advantages of using repository architecture?

A

Efficient data sharing, centralized data management, and ease of data access by multiple subsystems.

45
Q

What are the benefits of using pipe and filter architecture?

A

Simplifies system maintenance and testing, allows easy reuse of components, and supports concurrent processing.