Software Architecture Flashcards

1
Q

What are the steps to design a system architecture?

A

Understand system-environment interactions, identify major components, and organize using an architectural pattern.

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

What do design patterns provide?

A

Best practices, good designs, and reusable solutions for common problems.

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

How are design patterns typically structured?

A

They include a name, problem description, abstract solution, and consequences.

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

Why are design patterns abstract?

A

They offer templates for solutions that can be adapted to different settings.

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

How do design patterns help in development?

A

They speed up development by providing well-documented solutions to common problems.

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

What is the ACID principle in databases?

A

Atomicity, Consistency, Isolation, and Durability for reliable transactions.

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

How is atomicity applied in use cases?

A

A complete transaction between user and system must provide measurable value.

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

What is data consistency in use cases?

A

Use case interactions should involve consistent object instances from class diagrams.

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

Why is isolation important in use cases?

A

It ensures use cases operate independently of each other.

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

What does data durability imply for use cases?

A

Measurable value persists outside the system after the transaction completes.

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

What are the two main data exchange approaches in subsystems?

A

Central database repository and subsystem-specific databases with data passing.

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

How is data validated in a system?

A

Check validity, return an error if invalid, or provide a list of valid options.

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

What are the CRUD operations?

A

Create, Read, Update, and Delete for managing data in use cases.

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

Why is flagging data as deleted better than deletion?

A

It avoids reference issues and retains important data in records.

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

What is essential for transaction history records?

A

Unique transaction ID, entity IDs, valid codes, description, and audit details (user, timestamp).

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

What is a good practice for storing valid codes?

A

Create a dedicated class and store valid codes in the database.

17
Q

What is object-relational mapping (ORM) used for?

A

Managing the relationship between objects and database entities, forming a 4th tier in N-tier architecture.

18
Q

What are manual data interfaces between systems?

A

Human-driven data transfer with high error rates and slow processing.

19
Q

What are automated data interfaces?

A

Machine-driven data transfer with potential conflicts in stored data.

20
Q

What is the single database option for integration?

A

A unified database for multiple systems, but adding new systems is challenging.

21
Q

What is the federated data option?

A

Separate databases sharing valid codes, reducing system intertwining.