Presentation laddar. Vänta.

Presentation laddar. Vänta.

Utveckla en applikation Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar

Liknande presentationer


En presentation över ämnet: "Utveckla en applikation Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar"— Presentationens avskrift:

1 Utveckla en applikation Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar Telefon Andreas Hedrén Telefon Föreläsning 13, Kapitel 14

2 Applikationen •Ett taxibolag funderar på att expandera •Är expansionen lönsam? •Hur många fordon kommer de att behöva?

3 Problembeskrivning •Företaget har ett antal taxibilar som används för att köra taxi (transportera en eller flera passagerare från en plats till en annan) och skyttel (transportera individer från olika platser till andra platser). •När en person, ett hotell, ett nöjesställe eller en turistorganisation ringer efter en taxi försöker företaget skicka en bil om det finns en ledig. •Det finns ingen kö, så det är endast om det finns några lediga bilar som bolaget tar körningen. •När en bil anländer till platsen för att hämta en person meddelas detta till företaget. Företaget meddelas sedan när körningen är avslutad.

4 Syfte •Syftet med modellering är att ge företaget statistik över: –Förlorade körningar –Utnyttjandegraden av varje taxi •Dessa faktorer kommer hjälpa oss att beräkna om det är lönsamt att expandera •Fokus här är dock att hitta klasserna och deras ansvar

5 Hitta klasser •Substantiv i singularis •Identifiera synonymer •Ta bort onödiga detaljer

6 Potentiella klasser och ansvar •Företag Har ett antal taxis och skyttlar Tar emot förfrågan om transport Bokar en bil •Bil Hämtar och släpper av passagerare Anländer till plats Meddelar företag vid ankomst •Taxi Transporterar passagerare mellan platser •Skyttel Transorterar flera oberoende passagerare mellan platser •Passagerare •Plats •Passagerarkälla Ringer företaget (Skapar passagerare)

7 Scenario •Hämta och lämna en passagerare PassagerarKälla Samarbetar med Skapa en passagerare Passagerare Begär en taxi TaxiFöretag Generera upphämtning Plats och destination

8 Designa klassers interface •Skapa klassernas interface (publika metoder) •Utgå från klassernas ansvar •Arbeta med ett antal scenarios (användarfall) •Fundera kring vilka klasser som känner till och skapar andra klasser

9 Relationer till andra klasser •Genom konstruktor: new PassengerSource(taxiCompany) •Genom en metod: taxiCompany.requestPickup(passenger) •Inom objektet: –Företagets bilar –Objekt som skapas inom objekt kan sedan skickas till andra klasser genom metoderna ovan

10 Implementation •När klassernas interface är färdiga kan man börja med implementationen •Implementationen kommer att visa om interfacet var korrekt –Räkna med att behöva förändra din design •Gör ett antal test som kan upprepas under utvecklingen. Även dessa måste ibland förändras när designen förändras

11 Iterativ utveckling •Dela upp problemet i mindre delar •Arbeta i små steg •Avsluta varje steg med en period av testning –Regressionstest –Åtgärda fel tidigt –Var beredd att hela tiden omvärdera din design –Att hitta fel tidigt är något positivt

12 Sammanfattning •Stabila program kräver att en genomtänkt process följs: –Analysera noga –Specificera tydligt –Designa genomtänkt –Implementera och testa inkrementellt –Granska, ändra och lär av det. Ingen är perfekt!

13 Det var sista föreläsningen Nu har vi tittat på: •Java syntax •Klasser och objekt •Javas klassbibliotek •Samlingar •Felhantering •Systemutvecklingsmetoder

14 Därefter kommer det nya saker •Filhantering •Grafikprogrammering •Multimedia •Trådar •Webtjänster •Databasprogrammering •Andra programmeringsspråk: –Python –C++ •Andra programmeringsparadigm –Procedurella språk – C, Pascal... –Deklarativa språk – Erlang, Prolog...


Ladda ner ppt "Utveckla en applikation Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar"

Liknande presentationer


Google-annonser