OO Sequence Diagrams (PPT 16-17) Flashcards
What does a sequence diagram do?
Models the time dependent behaviour of the objects in a system
What do we need to do for each use case to use it in a sequence diagram?
- Identify actors and objects involved
- Add timelines for them
- Analyse use case sequence of events
- Identify messages/stimuli between objects required to address the use case dialogue
What does a sequence diagram allow us to do?
- Start making choices about how the system will be implemented
- Verify our static design is correct
- Verify the relationships identified
- Identify class methods/functions
What is coupling?
A measure of how strongly one class is connected to or relies on other classes in the system
What is cohesion?
A measure of how strongly related and focused the responsibilities of a class are
What are some problems that can occur and are fixed by coupling and cohesion?
- Changes in unrelated classes have knock on effect
- Harder to reuse in isolation
- Harder to maintain
Solution is minimise coupling but maximise cohesion
What is a design pattern?
Descriptions of common, re-occuring problems during the design of software systems and well known solutions
Why are design patterns important?
They address many issues related to maintainability and re-usability of a software system
What do design patterns involve?
- Inventing new class
- Re-arranging existing classes to support design