Topic 4
Topic 4
Topic 4
1. Introduction
In this lecture we are going to address the way in which the OOAD process is
applied.
We’re also going to talk about what came before a little.
OOAD as a process has many benefits.
– And the Object Oriented programs it inspires are the norm for the industry.
It also has a number of drawbacks.
– We’ll discuss these too.
2. Software Complexity
3. Object Orientation
Much of the benefit of OOAD can be obtained through the use of a five step
process.
– Identify the needs of users.
o Documented via use-case diagrams
– Details the steps needed for each of the requirements
o Done through activity diagrams.
– Decompose the requirements for the system.
o Break it down into components via class diagrams
– Define out the interactions
o Bring it all together in a component diagram
– Go back to the start and iterate
Iteration is an important part of OOAD
– You will never get it right the first time
– New requirements and information will be introduced all the time.
Incremental analysis and design is simplest
– Don’t try to solve the whole problem at once
– Pick a starting point, and work from that.
Good design is user centric
– You need to know what the users have to say
4.1 Decomposition
Understanding any complex system is an exercise in decomposition.
– You must be able to partition the whole into manageable subsections.
Abstraction is an important part of this process.
– You need to be able to view the different parts at a suitable level of
granularity.
Incremental development is the process of successively refining your
abstractions.
Use case diagrams are supposed to show only broad strokes of interaction.
However, sometimes we want to specialise a specific action if it has clearly
defined subtasks.
To do this we create a separate diagram and flesh out the interaction.
– We can make an interaction have multiple parts, providing a <<uses>> line
to indicate subtasks.
Example Candidates
List products by category
List products by price
Buy a product
Customer Read reviews of a product
View shopping basket
Update account details
6. Agile OOAD
7. Conclusion
8. Terminology
a