7. Software Architecture Flashcards
What is a Sequence Diagram and what purpose does it serve?
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.
What is a State (Machine) Diagram?
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.
What is Coupling?
Coupling is the degree to which a module is “connected” to other modules in the system.
What is Cohesion?
Cohesion is the degree to which one module serves one and only one purpose.
Why is low coupling and high cohesion a best practice?
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.
What are the benefits of client-server architecture?
Scalable, Flexible, Separation of Concerns, Upgradable.
What are Architectural Considerations?
Maintainability, performance, growth, security