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

Slides:



Advertisements
Liknande presentationer
Atomer, molekyler och kemiska reaktioner
Advertisements

Objektorienterad Analys och UML En animation i Powerpoint © Kenneth Norrgård Ingår i studieperioden ”Planering av datasystem” vid Vasa Yrkeshögskola.
Utveckla en applikation Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
• Frågeledaren är den som vet svaren. De finns under en länk på sidan i kalendern. • Ni behöver antingen en 12-tärning eller två vanliga tärningar. • Slå.
Domarassistenten.com - en introduktion för domare
Välkommen till internet för nybörjare
Relationsdatabasdesign
Vad är teknik?.
Access med Sebastian och Robert
1 Windows programmering (2) Borland C++ Builder 4/5 Modsoft Ab Kent Westerholm.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning
(Data)Modellering nikos dimitrakas rum 6626
BEANS NÖJD KUND INDEX (e-survey undersökning)
presentation av Daniel Jönsson Lennart Schedin
Klasser och objekt.
- Hur vet vi om vi har lyckats?
Programmeringsteknik Föreläsning 6 Skolan för Datavetenskap och kommunikation.
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Fortsättningskurs i Programmering lektion 6
Klassarv och inkapsling
Föreläsning 1.
©storm.
1 Liten summering: 1.Adress: ’ För att logga in på wlanet med bibliotekskortet är lösen = ’1111’. Kortnummer står på kortet! 2.Välj ’Admin’
Föreläsning 4 Python: mera om funktioner och parametrar
Polymorfism.
Stora additionstabellen
Modellering med UML
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Objektbaserad programmering –Grundläggande om klasser och objekt – (Arv får vänta)  Iden med klasser.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Konstruktor Ser till att objektets data är korrekt initierade MinKlass::MinKlass(); MinKlass::MinKlass(int.
Programmering B PHP Lektion 2
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT C++ - förbättrat C?  Procedurellt program ser ut som C: sekvens, selektion, iteration  /* kommentar.
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT CD5250 OOP med C++
Programmering i C# 3. Klasser.
Föreläsning 2, Kapitel 2 Att förstå klassdefinitioner Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael.
Föreläsning 4. Arv – bakgrund (kap. 9) Hund pälsfärg favoritben smutsa_ned() ät_katt() Katt pälsfärg smutsa_ned() klös_soffa() Kanin pälsfärg slaktvikt.
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Stöd till en evidensbaserad praktik för god kvalitet inom socialtjänsten – brukarmedverkan vid brukarundersökningar inom LSS • • SKAPAD.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Generiska algoritmer Kan användas på containertyper och arrays Använder iteratorer Implementerar.
FOXPOPULI Introduktion av deltagare – ice breaking och lära känna varandra “ Social entrepreneurship for social change”, Nordplus adult Project ID AD-2012_1a
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Multipelt arv Drawable draw() move() position bitmap Persistent save() restore() storage_file_name.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Google SketchUp Del 1.
Föreläsning 8 Programmeringsteknik och Matlab DD1312 Klassmetoder Egen modul, Self Metoderna: __str__, __lt__,… Meddelande Arv, Överlagring av metoder,
INTRODUKTION Balken kan ha olika tvärsnitt
Föreläsning 9 Gränssnitt. Super Super kan användas till anrop av en omdefinierad metod Super kan användas till anrop av konstruktorer i superklassen Super.
Stora subtraktionstabellen
Sid 1 CD5250 Daniel Flemström MDH/IDT COM Extremely Rough Overview.
Sid period2CD5250 OOP med C++ Daniel Flemström MDH/IDT Abstrakta Containertyper Vilka finns fördefinierade? Vad kan dom? #pragma warning(disable:4786)
Projekt 5.3 Gilpins och Ayalas θ-logistiska modell A Course in Mathematical Modeling - Mooney & Swift.
Föreläsning 13 Appletprogram/fristående grafiska program Arv Rita linjer, rektanglar mm Skriva text, byta färg Appletprogram & HTML Grafiska användargränssnitt.
Objektorienterad programmering
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Lite OOA/OOD.
Föreläsning 9 Arv kap 8.1 Interface kap 9.2 Grafiska användargränssnitt (GUI) kap 10.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Undantag - eng. Exceptions Viktig del av klassbiblioteksdesign “Hoppa direkt ut med felkod” class.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Abstrakta Containertyper Vilka finns fördefinierade? Vad kan dom?
Sid period2CD5250 OOP med C++ Mats Medin MDH/IDT Konstanter float pi; const float pi = ; float *pip = π //Kompileringsfel! const float.
© Gunnar Wettergren1 IV1021 Project models Gunnar Wettergren
OOP - teori1 OOP del II– Föreläsning 5 vecka 6. OOP - teori2 Klasser Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle.
Lite ObjektOrienterad Analys och Design sid. 1 6/1/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Lite OOA/OOD.
OOP&M - teori1 OOP&M del II– Föreläsning 5 vecka 50 OBJEKT Substantiv i singularis stavat med stor bokstav till exempel Human Dog Account Circle Book String.
Föreläsning om RUP RUP – Rational Unified Process
OOP&M - teori1 OOPM del II– Föreläsning vecka Mer om ärvning.. Abstrakta klasser/metoder Gränssnitt/Interface klasser.
Objektorienterad programmering sid. 1 7/15/2015 CD5250 OOP med C++ Mats Medin MDH/IDT Objektorienterad programmering OOP = objektbaserad programmering.
Daniel Nylén, Institutionen för Informatik2 Introduktion till Systemdesign C.1 Systemdesign.
Extremely Rough Overview
Systemutvecklingsprocessen Rational Unified Process
Komma igång med Scratch
Presentationens avskrift:

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

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!

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.

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

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.

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

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.

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

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

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 En jägare skjuter ingen eller max 3 grodor.

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: Pil kan ange riktning (kan även vara dubbelriktad) Obs! Pil kan även ange arv - pekar på ”föräldern”

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()

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

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

Sid 15 CD5250 OOP med C++ Daniel Flemström MDH/IDT (från

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

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