7. Software Architecture Flashcards

1
Q

What is a Sequence Diagram and what purpose does it serve?

A

A sequence diagram includes actors, objects, and messages. It shows the behavior of some scenario over time.

Actors and objects send messages to each other to invoke various operations. The diagram shows the order in which these messages are sent.

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

What is a State (Machine) Diagram?

A

A state machine diagram models the behavior of a single object, specifying the sequence of events it goes through during its lifetime in response to events.

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

What is Coupling?

A

Coupling is the degree to which a module is “connected” to other modules in the system.

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

What is Cohesion?

A

Cohesion is the degree to which one module serves one and only one purpose.

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

Why is low coupling and high cohesion a best practice?

A

By keeping code loosely coupled, we can write code within one module without impacting other modules. And by keeping code highly cohesive, we make it easier to write DRY (Don’t repeat yourself) code that is easy to work with.

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

What are the benefits of client-server architecture?

A

Scalable, Flexible, Separation of Concerns, Upgradable.

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

What are Architectural Considerations?

A

Maintainability, performance, growth, security

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