Presentation laddar. Vänta.

Presentation laddar. Vänta.

Next previous Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion Objektorienterad Realtidsprogrammering 2000 Objektorienterad Realtidsprogrammering.

Liknande presentationer


En presentation över ämnet: "Next previous Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion Objektorienterad Realtidsprogrammering 2000 Objektorienterad Realtidsprogrammering."— Presentationens avskrift:

1 next previous Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion Objektorienterad Realtidsprogrammering 2000 Objektorienterad Realtidsprogrammering 2000

2 previous next 2 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Utvecklingsmetoder... Problem –Svårt att utveckla system –80% underhåll –Vi vill ha formalism fast enkel och användbar –Kommunikation mellan inblandade –Många anser att kostnaden för förändring av ett system ökar exponentiellt över tiden. Fast inte säkert sant med dagens metoder. 70-talet –Flödesdiagram –Strukturerad programmering –Top-down, bottom-up och middle-out Flera objektorienterade metoder blev populära på 80-talet och dominerar idag –OMT, ObjectOry, Booch, Shlaer-Mellor, Coad-Yourdon –... krav kostnad analys design implem- entation test produktion Strukturerad programmering Strukturerad programmering Svårt att utveckla system Svårt att utveckla system Flera metoder

3 previous next 3 Utvecklingsmetoder. Introduktion till OCTOPUS och UML … UML... Unified Modeling Language UML –90-talet –Förening av tre dominerande metoder Booch OMT Objectory –”Standard”, OMG (Object Management Group) med fler än 600 intressenter –Mer notation än metod (än så länge) –Ej (för) stringent = användbart Det finns möjligheter till vissa egna utvidgningar, bla via så kallade stereotyper UML är de facto standard UML är de facto standard

4 previous next 4 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Design och utveckling Vilken typ av projekt kan vara avgörande för hur man går tillväga –Programmera i det lilla kod skapas av en eller få programmerare. En enskild person kan ha överblick och vara insatt i alla delar av projektet. huvudproblem (mjukvara): designa och utveckla algoritmer –Programmera i det stora mjukvaran tas fram av ett stort team. Vissa personer kan specificera eller designa andra kan koda vissa komponenter, slutintegration/applikationen görs kanske av en tredje grupp, osv. Ingen person har möjlighet att sätta sig in alla delar av projektet. Få utvecklare Många utvecklare

5 previous next 5 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Utvecklingsprocess typiskt tillvägangångsätt Kravanalys - beskriv och validera vad systemet skall göra Analys - identifiera systemets struktur så att systemet är enkelt att modifiera om kraven förändras Design - beskriv hur systemet skall realiseras Implementation - implementera systemet och utför enhetstester Testning - verifiera systemet Krav Analys Design Implemen- tation Test

6 previous next 6 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Proceduren Hitta potentiella aktörer –Namnge och gör kortfattad beskrivning av varje aktör –Begränsa systemet Sammanställ gloslista (så att vi kan enas om vokabulär) För varje aktör: Hitta nödvändiga användningsfall –Namnge och gör kortfattad beskrivning av varje användningsfall Granska aktörer och användningsfall och iterera –Missade aktörer eller användningsfall? Duplikat? Identifiera gemensamma delar, strukturera modellen, iterera Beskriv varje användningsfall Granska beskrivningarna och iterera –Missad eller felaktig funktionalitet? Granska, validera och godkänn modellen

7 previous next 7 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Vad är (objektorienterad) analys? Den tidiga fasen i systemutvecklingen då en abstrakt modell av systemet skapas, utan att gå in på detaljer i den tekniska implementationen En modell av centrala objekt och relationer mellan objekten Analysen utförs utan hänsyn till tekniska lösningar eller begränsningar Syftet är att skapa en förståelse för den verksamhet systemet skall hantera Används som grund för att i en designfas konstruera systemet i detalj och välja teknisk lösning

8 previous next 8 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Analys: vanliga aktiviteter Insamla underlag –kravspecifikationer, önskemål, beskrivningar av verksamheten eller befintligt system, intervjuver. Problemdomän definieras Definiera användningsfall –dvs hur systemet kommer användas Sök objektkandidater –tex mha CRC-kort eller annan brainstormingliknande teknik Klassificera objekt –klassnamn, ansvarsområde och eventuellt karaktäristiska attribut och metoder Relationer mellan objekt –mha klass- och objektdiagram Slutdokumentation av analysfasen –skrivbordstest där olika användningsfall gås igenom, relationer mellan klasser och objekt testas. Valda namn på klasser värderas. Dokumenteras mha grafiska diagram med kompletterande text.

9 previous next 9 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Perspektiv Konceptuellt –I detta perspektiv ritar man diagram över koncept i domänen. Dessa koncept avbildas ofta på klasser som implementerar dem, men ofta är så inte fallet. –En konceptuell modell ritas med liten eller ingen hänsyn till den mjukvara som skall användas vid implementationen Specifikations –I detta perspektiv tittar vi i första hand på gränssnitten för mjukvaran, inte implementationen. Vi tittar snarare på typer än klasser Implementations –I detta perspektiv har vi verkligen klasser och implementationen görs tydlig

10 previous next 10 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Processen Påbörjande Utformande Konstruktion Överföring bestäm strategi och mål med projektet kalkylera kostnader samla detaljerade krav och gör analys och design på en hög nivå för att konstruera en grundarkitektur och planera konstruktionen. analysera risker (krav, teknik, skicklighet och politiska) konstruera systemet i en serie av iterationer testa, prestandaoptimera, träna användare

11 previous next 11 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Vattenfallsmodellen Analys Design Implementation Testning Underhåll Traditionell idealiserad modell av utvecklingsprocessen

12 previous next 12 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Boehms spiralmodell Boehms spiralmodell

13 previous next 13 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Utvecklingsprocessen, olika konfigurationer Kravanalys DesignAnalysImplementation Testning Kravanalys DesignImplementation Testning Implementation

14 previous next 14 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Nyare (kontroversiell?) metod för systemutveckling eXtreme Programming (XP), av Kent Beck, inne och hett Tillvägagångsätt (12 grundpelare) Planeringsspel planera snabbt förutsättningarna för nästa release; prioritera, teknikkrav Små releaser släpp nya versioner ofta Metafor hitta en enkel bra metafor Enkel design gör designen så enkel som möjligt Testa testa koden kontinuerligt. Måste lyckas innan utvecklingen går vidare Omstrukturera ("refactoring") strukturera om ofta; ta bort onödig kod, förenkla osv Parprogrammering två programmerare per maskin Kollektivt ägande av koden alla äger och kan ändra i koden Kontinuerlig integration integrera och bygg systemet flera gånger per dag 40-timmarsvecka jobba som regel inte mer än 40 timmar per vecka Inkludera en "kund" i teamet inkludera en "riktig användare" på full tid Följ kodstandard vilket förenklar kommunikation

15 previous next 15 Utvecklingsmetoder. Introduktion till OCTOPUS och UML UML (en kort introducerande översikt) Unified Modeling Language UML är de facto standard –används i bla utvecklingsmetoder designmönster Massor av litteratur –se tex "standardverken" av Booch, Rumbaugh och Jacobson börja förslagsvis med "The Unified Modeling Language User's Guide"

16 previous next 16 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Vi bryter ner systemet och ser på det på olika sätt Användningsfallsdiagram: Sätt gränser Analysera risker Prisför- handla Slut avtal Värdera Uppdatera konto Gränserna överskridna «uses» Handlare användningsfall aktör Chefsförhandlare Försäljare Redovisnings- system «extends»

17 previous next 17 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Klassdiagram (Enheter och relationer)

18 previous next 18 Utvecklingsmetoder. Introduktion till OCTOPUS och UML...Klassdiagram (med arv, dvs bla specialiseringar och generaliseringar)

19 previous next 19 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Sekvensdiagram (samarbete mellan delar)

20 previous next 20 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Tillståndsdiagram:

21 previous next 21 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Hitta dryck [inget kaffe] Kaffe i filtret Häll i vattenHämta koppar Filtret i bryggaren Hämta cola Slå på bryggaren Brygg Häll upp kaffe Aktivitetsdiagram (beskriver parallella förlopp) Exempel: "Person::ordna dryck" Drick [kaffe hittat] [cola hittad] [ingen cola] slå av lampan ^kaffepanna.slåPå

22 previous next 22 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Samarbetsdiagram

23 previous next 23 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Hello world-exempel import java.awt.Graphics; class Hello extends java.applet.Applet { public void paint(Graphics g) { g.drawString(”Hallå!”, 10, 10); } import java.awt.Graphics; class Hello extends java.applet.Applet { public void paint(Graphics g) { g.drawString(”Hallå!”, 10, 10); } Javakod för en applet

24 previous next 24 Utvecklingsmetoder. Introduktion till OCTOPUS och UML … Hello klassdiagram... Hello paint() g.drawString(”Hallå!”, 10, 10);

25 previous next 25 Utvecklingsmetoder. Introduktion till OCTOPUS och UML … Hello... Hello paint() Graphics Applet

26 previous next 26 Utvecklingsmetoder. Introduktion till OCTOPUS och UML … Hello... Hello Applet Panel Container Component Object ImageObserver

27 previous next 27 Utvecklingsmetoder. Introduktion till OCTOPUS och UML java … Hello paketering... Helloapplet awt lang

28 previous next 28 Utvecklingsmetoder. Introduktion till OCTOPUS och UML … Hello sekvensdiagram... :Thread:Toolkit:ComponentPeertarget:Hello run callbackLoop handleExpose paint

29 previous next 29 Utvecklingsmetoder. Introduktion till OCTOPUS och UML … Hello komponenter Hello.class Hello.java Hello.html Hello.jpg

30 previous next 30 Utvecklingsmetoder. Introduktion till OCTOPUS och UML OCTOPUS-metoden en översikt Objektorienterad Hanterar viktiga problem i realtidssystem som –parallellitet –synkronisering –kommunikation –avbrottshantering –ASICs (Application-Specific Integrated Circuit), kundanpassad hårdvara på chip –hårdvarugränssnitt –responstider I huvudsak för icke hårda realtidssystem Utgår från OMT och Fusion

31 previous next 31 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Olika faser, en översikt Faser –systemkravfas struktur via kontextdiagram funktionalitet och dynamiskt beteende mha användingsfallsdiagram och användningsfall kan kompletteras med scenarier –systemarkitekturfas systemstruktur via delsystemdiagram –delsystem analysfas görs för varje delsystem –delsystem designfas –delsystem implementationsfas

32 previous next 32 Utvecklingsmetoder. Introduktion till OCTOPUS och UML Utvecklingsprocessen: mjukvarusystem Systemkravsfas Användningsfall och kontextdiagram Systemarkitektur Delssystem och gränssnitt Delsystem analys Delsystem design Delsystem implementation Delsystem analys Delsystem design Delsystem implementation Hårdvaru- wrapper Delsystem program Delsystem program Wrapper program Systemprogram


Ladda ner ppt "Next previous Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion Objektorienterad Realtidsprogrammering 2000 Objektorienterad Realtidsprogrammering."

Liknande presentationer


Google-annonser