Lite ObjektOrienterad Analys och Design sid. 1 6/1/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Lite OOA/OOD
Lite ObjektOrienterad Analys och Design sid. 2 6/1/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Attribut egenskaper hos objektet t.ex. färg, vikt, maxhastighet saker som i vår modell inte har någon betydelse utan objektet de är knutna till implementeras typiskt som instansvariabler (datamedlemmar/member data) oftast av icke-klass-typ t.ex. int, enum
Lite ObjektOrienterad Analys och Design sid. 3 6/1/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Relationer mellan objekt 3 huvudtyper: is-a eller arv: ”är en”, subtyp/supertyp, generalisering/specialisering aggregation eller komposition: består av/ingår i, det hela och dess delar association: känner till, är sammankopplad med
Lite ObjektOrienterad Analys och Design sid. 4 6/1/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Multiplicitet Relation kan vara: 1-1,1-M, M-1, M-M M=Många (Many) Om objektet i ena ändan ibland saknas: Pil kan ange riktning (kan även vara dubbelriktad) Obs! Pil kan även ange arv - pekar på ”föräldern”
Lite ObjektOrienterad Analys och Design sid. 5 6/1/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Implementation av relationer arvsrelationen blir givetvis i regel ett arv aggregation=komposition: –ett ”del-objekt” är statiskt allokerad datamedlem i ett ”överordnat” objekt –kan också implementeras med referens eller pekare association –oföränderlig: referens –föränderlig: pekare
Lite ObjektOrienterad Analys och Design sid. 6 6/1/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Användningsfall (Use Cases) Informell teknik för att analysera krav: –hitta användarroller - aktörer (actors) –beskriv typfallen för hur de kan/ska interagera med systemet (användningsfall/use cases) Kund Godisköp Automat- påfyllare Fyll på automaten Godisköp: bla bla bla Påfyllning: bla bla bla
Lite ObjektOrienterad Analys och Design sid. 7 6/1/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Gränssnittsobjekt - entitetsobjekt - kontrollobjekt Bankomat Uttags- transaktion Konto Kund
Lite ObjektOrienterad Analys och Design sid. 8 6/1/2015 CD5250 OOP med C++ Mats Medin MDH/IDT (från