Architecture Patterns Flashcards

1
Q

Why is architectural design important?

A

Identifies the main structural components in a system and the relationships between design and requirements engineering.

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

What does a software architect do?

A

They create the roadmap/ blueprint for the software. They do not actually make the software.

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

What does architectural design do?

Particulalrly how does it help describe your system?

A

Architecture helps to describe and visualize your system.

What do you think of then you hear Greek? What about Egyptian?

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

What is the architecture in the “small” concerned with?

A

The architecture of individual programs. (This can also help decide the requirements and assess risks early on.)

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

What is architecture in the “large” concerned with?

A

The architecture of the entire web of systems. (These are normally owned and managed by different companies)

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

What is explicit architecture?

A

The clear and deliberate documentation, design, and articulation of a software system’s structure. It means that the architecture is well-defined, making the components, their relationships, and the interactions between them easily understandable.

This is from Chat GPT

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

Where are some areas explicit architecture is used?

A

In stakeholder communication (how to decribe the software to the stakeholders), system analysis (can the system meet its non-functional requirements), and large-scale reuse (can the acrhitecture be used elsewhere).

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

In the box and line diagram; what is a box and what is a line?

A

Box - The unit of functionality
Lines - The data flows

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

What architecture reuse and what is a good example?

A

Systems that are in the same domain often have similar architectures that reflect domain concepts. Good examples are Windows products like Excel, Word, PowerPoint. (They all have a similar banner at the top). They make things as general as possible so that they may be reused.

Another good example is Bootstrap.

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

What are the five architecture and system characteristics

A
  1. Performance (localize critical operations and use large rather than fine-grain components)
  2. Security (use a layered architecture with critical assets in the inner layers)
  3. Safety (localize safety-critical features)
  4. Availability (Include redundant components and mechanisms for fault tollerance)
    5.Maintainability (use fine-grain, replaceable components)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

(True or False) Do you need to present multiple views of the software architecture?

A

Absolutely. Especially if you’re doing design and implementation.

The answer is True

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

What is an architectural pattern?

A

A stylized description of good design practice.

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

What is a Model-View-Controller (MVC)?

A

The Model-View-Controller (MVC) is a software architectural pattern that separates an application into three interconnected components: Model, View, and Controller. The Model manages the data and business logic, the View handles the display and user interface, and the Controller processes user input, updating the Model and refreshing the View. This separation makes applications more modular and easier to maintain.

This is from Chat GPT

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

How is Model-View-Controller (MVC) organized?

A

It is designed to convey very basic facts. This is different from the block/box and line diagrams because it has more information regarding the flow of data.

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

What is layered architecture?

A

This is actually exactly what it sounds like. It’s like a cake! The top layer is normally the user interface and it goes down towards teh backend from there. Think about how you layer a program.

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

What an important rule regarding layered architecture?

A

You can only “talk” to your neighbor. This is the access level of the system. This means that it’s great at hiding features.

17
Q

What is repository architecture?

A

A repository architecture is a design pattern where a central repository (data storage) is used for all data management, allowing different components to access and interact with the shared data. It centralizes data storage, making it easier to maintain consistency and manage data integrity, while enabling components to be more loosely coupled since they don’t directly depend on each other.

This is from Chat GPT

18
Q

What is client-server architecture?

A

Client-server architecture is a design model where a client requests services or resources, and a server provides them. The server hosts, manages, and processes data, while the client interfaces with the user and sends requests to the server. This architecture is common in applications like web services, where the client is a web browser and the server hosts the website.

This is from Chat GPT

19
Q

What is pipe and filter architecture?

A

This is basically a firehose that spits out data and we want to filter it. A good example of this are news sources.

20
Q

Explain the news example for the pipe and filter architecture.

A

The receiver typically refers to the next filter or the final component in the pipeline where the processed data ends up. However, it might not directly represent what the user can see. Instead, the last filter (or receiver) would be responsible for delivering the final output, which could then be presented to the user or stored.

21
Q

What is a generic application architecture

A

An architecture for a type of software system that may be configured and adapted to create a system that meets specific requirements.

22
Q

What are some examples of application types?

A
  1. Data processing applications (process data in batches)
  2. Transaction processing applications (process user requests and update information)
  3. Event processing systems (applications where system actions depend on interpreting events from the systems enviroment (like AI?))
  4. Language processing systems (applications were the user;s intentions are specified)
23
Q

What are some specifics for transaction processing systems?

A

Process user requests for information from a database or requests to update the database. (An example is a user asking what are the times of flights from London to Paris.)

24
Q
A