Presentation laddar. Vänta.

Presentation laddar. Vänta.

Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT Lite OOA/OOD.

Liknande presentationer


En presentation över ämnet: "Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT Lite OOA/OOD."— Presentationens avskrift:

1 Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT Lite OOA/OOD

2 Sid 2 CD5250 OOP med C++ Daniel Flemström MDH/IDT Förenklad Projektmodell Kravspecifikation (tillsammans med kund) Case Studies (Hur skall systemet användas) Design (Klassdiagram med relationer) Interaction Diagrams (Vem anropar när) Iterativ process, men se upp för hävstångsverkan. Fel blir allvarligare ju tidigare dom införs!

3 Sid 3 CD5250 OOP med C++ Daniel Flemström MDH/IDT Kravspecifikation Kunden vill ha ett spel med en jägare som jagar grodor. Dessa grodor kan gömma sig bakom diverse grunkor på spelplanen. En del grodor skjuter tillbaka om dom blir träffade. Andra grodor följer långsamt jägarens rörelser och kan förgifta honom.

4 Sid 4 CD5250 OOP med C++ Daniel Flemström MDH/IDT Studera 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) Spelare Starta nytt Spel Röra sig på Skärmen Lägga till ny spelnivå Administratör bla

5 Sid 5 CD5250 OOP med C++ Daniel Flemström MDH/IDT Use Cases, forts Starta Spelet Spelaren väljer att starta ett nytt spel genom att starta programmet. Spelplanen byggs upp och väntar på att spelaren trycker på en knapp för att starta. Röra Sig på Skärmen(4 stycken) Spelaren rör sig över skärmen genom att trycka ”6”. Spelarens ”jägare” flyttas då till höger om det går. Om det står en farlig groda på den nya platsen dör jägaren.

6 Sid 6 CD5250 OOP med C++ Daniel Flemström MDH/IDT Finn Klasser och Relationer Skott Groda Jägare

7 Sid 7 CD5250 OOP med C++ Daniel Flemström MDH/IDT Klassdiagram(kap 6.2) Skott x y kaliber moveTo(x,y) setCaliber() Namn Egenskaper Operationer (Metoder) UML = unified modeling language.

8 Sid 8 CD5250 OOP med C++ Daniel Flemström MDH/IDT Har (/Består av) -relation Bil MotorHjulKaross Composition (UML) Jägaren har (egentligen består av) ett gevär Ägaren ansvarar för konstruktion / destruktion

9 Sid 9 CD5250 OOP med C++ Daniel Flemström MDH/IDT Har - association SuperMarket MjölkBrödLäsk Aggregat (UML) Samma som komposition, men Ägaren ansvarar inte för konstruktion / destruktion Respektive leverantör ansvarar för sina varuställ

10 Sid 10 CD5250 OOP med C++ Daniel Flemström MDH/IDT Association Känner till (utan att äga). Kan även beskriva andra relationer. GrodaJägare Noll eller flera grodor känner till noll eller en Jägare 0..* 0..1 GrodaJägare Skjuter 0..3 1 En jägare skjuter ingen eller max 3 grodor.

11 Sid 11 CD5250 OOP med C++ Daniel Flemström 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: 1 0..1 Pil kan ange riktning (kan även vara dubbelriktad) Obs! Pil kan även ange arv - pekar på ”föräldern”

12 Sid 12 CD5250 OOP med C++ Daniel Flemström MDH/IDT Husdjur pälsfärg smutsa ned() Är- Relation Katt klösSoffa() Kanin slaktvikt Hund favoritben ät katt()

13 Sid 13 CD5250 OOP med C++ Daniel Flemström MDH/IDT > IDraw Draw(dc:HDC) Erase(dc:HDC) Interface Katt klösSoffa() Hund favoritben ät katt() IDraw

14 Sid 14 CD5250 OOP med C++ Daniel Flemström MDH/IDT Identifiera Klasser och Interface Bullet > IDraw Draw(dc:HDC) Erase(dc:HDC) Sworm Elements:IBody Add(e:IBody) Step Detach IDraw IBody > IBody moveTo(x,y) GetX:Int GetY:Int IBodyImpl x:int y:int...Efter några iteratoner... > Vector

15 Sid 15 CD5250 OOP med C++ Daniel Flemström MDH/IDT (från http://www.rational.com/uml)

16 Sid 16 CD5250 OOP med C++ Daniel Flemström MDH/IDT Interaction Diagram Spelare Trycker ”Space” Game Board New WM_CHAR newBullet: Bullet bullets: Sworm Add Init

17 Sid 17 CD5250 OOP med C++ Daniel Flemström MDH/IDT Interaction Diagram Windows Game Board Step WM_TIMER bullets: Sworm currentBullet: Bullet Erase GetX,GetY MoveTo Draw Repeat For all bullets in Sworm WM_TIMER on frogs works in exactly the same way


Ladda ner ppt "Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT Lite OOA/OOD."

Liknande presentationer


Google-annonser