object oriented analysis and design flexible software

22
QUALITY. PRODUCTIVITY. INNOVATION. endava.com Object Oriented Analysis and Design Give your software a 30-minute workout

Upload: corina-aionitoaie

Post on 09-Jun-2015

226 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Object oriented analysis and design   flexible software

QUALITY. PRODUCTIVITY. INNOVATION.

endava.com

Object Oriented Analysis and DesignGive your software a 30-

minute workout

Page 2: Object oriented analysis and design   flexible software

2

Give your software a 30-minute workout

Flexible software

Benefits of analysis Design decisions Flexible applications Cohesion OOA&D Toolbox

QUALITY. PRODUCTIVITY. INNOVATION.

Page 3: Object oriented analysis and design   flexible software

3

3 QUALITY. PRODUCTIVITY. INNOVATION.

Page 4: Object oriented analysis and design   flexible software

4

4

We should use only one search method, using InstrumentSpec

Page 5: Object oriented analysis and design   flexible software

5

5

Page 6: Object oriented analysis and design   flexible software

6

6

public class Inventory { private final List<Instrument> inventory; public Inventory() { inventory = new LinkedList<>(); } public void addInstrument(String serialNumber, double price, InstrumentSpec spec) { Instrument instrument = null; if (spec instanceof GuitarSpec) { instrument = new Guitar(serialNumber, price, (GuitarSpec) spec); } else if (spec instanceof MandolinSpec) { instrument = new Mandolin(serialNumber, price, (MandolinSpec) spec); } inventory.add(instrument); } public Instrument get(String serialNumber) { for (Instrument instrument : inventory) { if (instrument.getSerialNumber().equals(serialNumber)) { return instrument; } } return null; } public List<Instrument> search(InstrumentSpec searchSpec) { List<Instrument> matchingInstruments = new LinkedList<>(); for (Instrument instrument : inventory) { if (instrument.getSpec().matches(searchSpec)) { matchingInstruments.add(instrument); } } return matchingInstruments; }}

Page 7: Object oriented analysis and design   flexible software

7

7 QUALITY. PRODUCTIVITY. INNOVATION.

Page 8: Object oriented analysis and design   flexible software

8

8 QUALITY. PRODUCTIVITY. INNOVATION.

Page 9: Object oriented analysis and design   flexible software

9

9 QUALITY. PRODUCTIVITY. INNOVATION.

Page 10: Object oriented analysis and design   flexible software

10

10 QUALITY. PRODUCTIVITY. INNOVATION.

Page 11: Object oriented analysis and design   flexible software

11

11 QUALITY. PRODUCTIVITY. INNOVATION.

Page 12: Object oriented analysis and design   flexible software

12

12 QUALITY. PRODUCTIVITY. INNOVATION.

Page 13: Object oriented analysis and design   flexible software

13

13 QUALITY. PRODUCTIVITY. INNOVATION.

Page 14: Object oriented analysis and design   flexible software

14

14 QUALITY. PRODUCTIVITY. INNOVATION.

Page 15: Object oriented analysis and design   flexible software

15

15 QUALITY. PRODUCTIVITY. INNOVATION.

Page 16: Object oriented analysis and design   flexible software

16

16 QUALITY. PRODUCTIVITY. INNOVATION.

Page 17: Object oriented analysis and design   flexible software

17

17

The great ease-of-change challenge

QUALITY. PRODUCTIVITY. INNOVATION.

Page 18: Object oriented analysis and design   flexible software

18

18 QUALITY. PRODUCTIVITY. INNOVATION.

Page 19: Object oriented analysis and design   flexible software

19

19 QUALITY. PRODUCTIVITY. INNOVATION.

Page 20: Object oriented analysis and design   flexible software

20

20 QUALITY. PRODUCTIVITY. INNOVATION.

Page 21: Object oriented analysis and design   flexible software

21

21 QUALITY. PRODUCTIVITY. INNOVATION.

Page 22: Object oriented analysis and design   flexible software

QUALITY. PRODUCTIVITY. INNOVATION.

Secrieru RaduJunior Developer