object oriented analysis and design flexible software
TRANSCRIPT
![Page 1: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/3.jpg)
3
3 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 4: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/4.jpg)
4
4
We should use only one search method, using InstrumentSpec
![Page 5: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/5.jpg)
5
5
![Page 6: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/7.jpg)
7
7 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 8: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/8.jpg)
8
8 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 9: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/9.jpg)
9
9 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 10: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/10.jpg)
10
10 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 11: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/11.jpg)
11
11 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 12: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/12.jpg)
12
12 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 13: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/13.jpg)
13
13 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 14: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/14.jpg)
14
14 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 15: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/15.jpg)
15
15 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 16: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/16.jpg)
16
16 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 17: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/17.jpg)
17
17
The great ease-of-change challenge
QUALITY. PRODUCTIVITY. INNOVATION.
![Page 18: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/18.jpg)
18
18 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 19: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/19.jpg)
19
19 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 20: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/20.jpg)
20
20 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 21: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/21.jpg)
21
21 QUALITY. PRODUCTIVITY. INNOVATION.
![Page 22: Object oriented analysis and design flexible software](https://reader033.vdocuments.site/reader033/viewer/2022052903/5576a74bd8b42ad8038b50ac/html5/thumbnails/22.jpg)
QUALITY. PRODUCTIVITY. INNOVATION.
Secrieru RaduJunior Developer