Architectural Design Flashcards

(30 cards)

1
Q

What is Software Architecture?

A

Organization and structure of significant components in a system that interact through interfaces

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

Architectural Design

A

The process of understanding how a software system should be organized.

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

What is the purpose of Architectural Design

A

To assist in development and maintainance of software systems by organizing components of the system to make maintainance and development easier

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

How is software architecture modeled?

A

Often using informal block diagrams showing entities and relationships (ER diagram)

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

Does architectural design impact functional or non-functional requirements?

A

Non-Functional

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

What architecture characteristics would assist in improving time to market?

A

Agility, Testability, Deployability

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

What architecture characteristics would assist in improving user satisfaction?

A

Performance, Availability, Fault Tolerance, Testability, Deployability, Agility

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

What architecture charcteristics implement Time and Budget?

A

Simplicity, Feasibility, Affordability

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

What are some non-functional requirements that are impacted by good architectural design?

A

Performance, Security, Availability, Maintainability

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

An architect must be able to translate __ into the right __

A

Domain Concerns, Architectural characteristics

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

Why is it difficult to design an architecture that successfully mitigates security concerns and availability concerns?

A

Because security comes at the cost of convenience

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

Explicit expected number of users and scale commonly appear in domain concerns. True/False?

A

True

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

What 5 (five) components are contained in clean architecture?

A
Independent of Frameworks
Testable
Independent of UI
Independent of Database implementation (or engine)
Independent of External agencies
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the dependency rule of thumb?

A

Source code dependencies must only point inward towards higher-level policies

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

What is architecture reuse?

A

Known as an architectural design pattern, an architecture is often reused by more than one system that are similar

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

What are architectural patterns?

A

Representing a reusable architecture that is a good practice in many different environments for similar projects

17
Q

What is the microkernel architecture?

A

Consists of a core system and many plug-in logic or functions that are used as feature modules for the core system

18
Q

What is the benefit of the layered architectural design pattern?

A

Easy to use accross large teams, Great SoC, allows replacement of layers as long as interface is maintained, Redundant facilities can be provided at the layer level

19
Q

what is the Model-View-Controller Pattern?

A

A pattern used when you need to add or display data in many different forms. Great support for CRUD operations. Allows data to change independently from the UI and vice versa.

20
Q

What is client-server architecture pattern?

A

Servers distributed across a network and the general functionality between the server can be available to all clients (CI, Console, Windows, Web)

21
Q

What is the advantage of pipe and filter architecture?

A

Easy to add to since you can simply add transformations to the system that work on similar data

22
Q

What is the repository pattern?

A

Components separated into individual repositories and do not even need to know about other repositories. Changes made by one component can be propagated to all components

23
Q

Application Architecture

A

Generic application architecture for a type of software system that may be configured.

24
Q

List the 3 common application types?

A

Data processing applications
Transaction processing applications
Event Processing applicaitons

25
What is a monolithic application architecture?
One where the application is built as a large single unit. Server + UI + Database
26
What is the microservice architecture?
An approach to application architecture and development where a single application is designed as a series of micro-services and they all communicate using a lightweight HTTP resource API
27
What is a disadvantage to using microservice architecture?
Global testing is difficult, Debugging is difficult, More expensive Communication between services can be complex
28
What is serverless architecture?
Applications that either significantly or fully incorporate function thirdparty compute services to manage server-side logic
29
How does serverless architecture work?
User sends a request to the server from the client application, then the cloud service takes the request and executes the piece of code and returns the output and then kills the executing container
30
What is an advantage of serverless architecture?
Enhanced scalability at a lower cost.