Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Lite OOA/OOD
Sid period2CD5250 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
Sid period2CD5250 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
Sid period2CD5250 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”
Sid period2CD5250 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
Sid period2CD5250 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
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Gränssnittsobjekt - entitetsobjekt - kontrollobjekt Bankomat Uttags- transaktion Konto Kund
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT (från