Software Architectural Styles Flashcards

1
Q

What does software architecture represent?

A

The high-level logical structure of software, composed of components and their interfaces.

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

What does the interface of a component include?

A

The interaction with other components, the system, end-users, or hardware devices.

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

According to IEEE, what is software architecture?

A

The fundamental organization of a system embodied in its components, their relationships, and the principles governing its design and maintenance.

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

Why is software architecture critical for success?

A

It represents the earliest and most significant design decisions.

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

What is the role of software architecture among stakeholders?

A

A communication medium to help them understand the application.

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

What are some architectural styles?

A

Data flow (pipe and filter), data-centred, object-oriented, layered (n-layer), and model-view-controller (MVC).

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

What are the components of a data flow architecture?

A

Filters and pipes.

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

What is a filter in a data flow architecture?

A

An independent, self-contained processing unit.

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

What are the benefits of a data flow architecture?

A

Filters can be executed in parallel, improving efficiency.

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

What are the 2 types of filters?

A

Passive and active.

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

What are the 2 types of pipes?

A

Bounded and typed.

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

What are the two groups of data flow styles?

A

Pipe and filter, and pipeline.

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

What are the benefits of the data flow style?

A

Maintainability, reusability, and support for concurrent processing.

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

What are the components of a data-centred architecture?

A

Data store (shared memory) and clients.

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

What are the 2 types of data stores?

A

Repository and blackboard.

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

What is the repository style?

A

Passive; clients check the data store for changes.

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

What is the blackboard style?

A

Active; the data store notifies clients of changes.

18
Q

What are examples of repository styles?

A

Relational and non-relational databases.

19
Q

What are examples of blackboard styles?

A

Expert systems and knowledge bases.

20
Q

What are the benefits of the data-centred style?

A

Reduced data duplication, data availability, and easy addition/deletion of clients.

21
Q

What does a class describe?

A

The properties of an entity in terms of attributes, data types, and operations.

22
Q

What is the connector between classes?

A

Functional code (method invocation).

23
Q

What are the benefits of object-oriented architecture?

A

Information hiding, inheritance, and data integrity.

24
Q

What is information hiding?

A

Hiding implementation details from clients.

25
Q

What is inheritance?

A

Developing reusable classes.

26
Q

What are the typical layers in a three-layer architecture?

A

Presentation layer, business logic layer, and data access/storage layer.

27
Q

What is the presentation layer?

A

The user interface for accessing services and displaying results.

28
Q

What is the business logic layer?

A

Processes user events, coordinates between layers, and makes logical decisions.

29
Q

What is the data layer?

A

Accesses and stores data.

30
Q

What is MVC architecture?

A

Model-View-Controller architecture, designed to separate data display, system behaviour, and data access.

31
Q

What is the role of the model in MVC?

A

Handles data and responds to queries.

32
Q

What is the role of the view in MVC?

A

Handles data display.

33
Q

What is the role of the controller in MVC?

A

Handles user actions and updates the model and view.

34
Q

What are the benefits of MVC?

A

Consistency between model and views, view independence, and code reusability.

35
Q

What is distributed architecture?

A

Deploying software architecture on hardware like a computer network.

36
Q

What is the client-server style?

A

A two-tier distributed architecture with independent clients accessing a service system.

37
Q

What is the connector between client and server?

A

Network protocols.

38
Q

What are the rules of communication in client-server architecture?

A

Clients know server identity, clients are independent, and servers only respond to requests.

39
Q

What are the benefits of distributed architecture?

A

Scalability and fault tolerance.

40
Q

What is event-driven architecture?

A

A system composed of events and components that consume or report events.

41
Q

What is service-oriented architecture (SOA)?

A

Developing applications by composing existing services from different providers.

42
Q

What is peer-to-peer (P2P) networking?

A

A decentralized network where nodes (peers) interact directly and share resources.