Presentation laddar. Vänta.

Presentation laddar. Vänta.

Systemutvecklingsprocess, hitta objekt och lite Javakodning Innehåll Systemutveckling Något om att hitta klasser och objekt Java några kodexempel (vi kör.

Liknande presentationer


En presentation över ämnet: "Systemutvecklingsprocess, hitta objekt och lite Javakodning Innehåll Systemutveckling Något om att hitta klasser och objekt Java några kodexempel (vi kör."— Presentationens avskrift:

1 Systemutvecklingsprocess, hitta objekt och lite Javakodning Innehåll Systemutveckling Något om att hitta klasser och objekt Java några kodexempel (vi kör ett par modifierade grafiska Budd-exempel) OOMPA 1999 Föreläsning 9

2 - 2 - © Björn Eiderbäck 1999 Systemutveckling-mjukvaruindustri i kris "Om man frågar kunden efter vad han vill så skulle vi börja koda med en gång" Endast en liten del av alla levererade system har all önskad funktionalitet Dom flesta projekt förlitar sig på experter som har gjort samma sak tidigare Vi söker en standard som löser alla problem

3 - 3 - © Björn Eiderbäck 1999 Systemutveckling-Processen, vad ger den? En välbeskriven arbetsprocedur med en organiserade aktiviteter och information Ett av flera nödvändiga verktyg för utveckling Vi får –Kontroll –Tillförlitliga resultat –Oberoende av fysisk organisation –Reducerar tid –Säkrare förutsägelser

4 - 4 - © Björn Eiderbäck 1999 Varför används utvecklingsprocesser oftare Typiska kommentarer och påståenden –Datorvetenskapen relativt ung –Systemutveckling är en konst –Systemutveckling är väldigt svårt –Alla vet hur man skriver ett program –Kunden är inte beredd att betala för det hela –....

5 - 5 - © Björn Eiderbäck 1999 Systemutveckling-Processen, hur ser den ut? Nya eller modi- fierade krav Systemutveckling Ny version av systemet

6 - 6 - © Björn Eiderbäck 1999 Delprocesser Nya eller modi- fierade krav Kravanalys Ny version av systemet DesignAnalysImplementation Testning

7 - 7 - © Björn Eiderbäck 1999 Definition av process En process är en välbeskriven fungerande procedur med organiserade aktiviteter och information har väldefinierad in- respektive utdata utför upprepade aktiviteter bevarar en modell har väldefinierat resultat

8 - 8 - © Björn Eiderbäck 1999 Olika systemmodeller En modell är en komplett systemspecifikation från en viss synvinkel och en viss abstraktionsnivå Olika typer av modeller –Användningsfallsmodell - en beskrivning av systemets funktionalitet och dess kommunikation med omgivningen –Analysmodell - en beskrivning av systemets ideala struktur –Designmodell - en beskrivning av det implementerade systemets struktur –Kodmodell - den mest detaljerade beskrivningen av ett system (källkoden) –Testmodell - en beskrivning av dom tester som skall göras respektive deras resultat

9 - 9 - © Björn Eiderbäck 1999 Exempel-lagersystem: användningsfall

10 © Björn Eiderbäck analysmodell...

11 © Björn Eiderbäck designmodell...

12 © Björn Eiderbäck kod- och testmodell

13 © Björn Eiderbäck 1999 Varför flera modeller? Fokusera på ett problem Olika behov av information Observera att alla modeller beskriver samma system men från olika synvinklar och med olika abstraktionsgrad

14 © Björn Eiderbäck 1999 Modeller är dokument Varje modell dokumenteras med hjälp av flera olika sorters dokument, som –översiktsdokument –detaljerad beskrivning –diagram –designregler och beslut –produktbeskrivningar –spår- och förändringskartor –....

15 © Björn Eiderbäck 1999 Processen är iterativ Kravanalys DesignAnalysImplementation Testning

16 © Björn Eiderbäck 1999 Systemutveckling är att utveckla modeller!

17 © Björn Eiderbäck 1999 Avsikten med delprocess 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

18 © Björn Eiderbäck 1999 Process och faser En process beskriver vad som skall göras, kriterier, nödvändig input, vad som skall produceras, osv En fas är en tidsperiod i ett projekt Flera processer utförs parallellt under en viss fas och en viss process utförs under flera faser En modell kan modifieras under flera faser men bara av en process

19 © Björn Eiderbäck 1999 Kravanalysprocess Formulera funktionella krav –komplettera, ommöblera tjänster och deras innehåll –definiera ett gränssnitt mot systemet –validera krav ("skriv ett kontrakt med kunden") Involvera kunden och slutanvändare i utvecklingsarbetet Utveckla användningsfallsmodeller –används i kommunikation med kunder och användare –grund för att strukturera system samt för testning –grund för planering samt beräkningar av omfattning och tid –används för att spåra vägen från krav till kod

20 © Björn Eiderbäck 1999 Översikt Indata –Kravspecifikation –Affärsmodell –Intervjuver med kunder, slutanvändare, domänexperter Utdata –Användningsfallsmodeller –Översiktsbeskrivningar och beskrivande dokument –Diagram –Gloslista –(updaterade kravspecar) Aktiviteter –Hitta aktörer –Sammanställ gloslista –Hitta användningsfall –Beskriv användningsfall –Iterera –Granska

21 © Björn Eiderbäck 1999 Proceduren Hitta potentiella aktörer –Namnge och gör kortfattad beskrivning av varje aktör –Begränsa systemet Sammanställ gloslista 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

22 © Björn Eiderbäck 1999 Analysprocedur För varje användningsfall: definiera ett samarbete –Beskriv samarbetet översiktligt För varje samarbete: hitta potentiella klasser och associationer –Namnge och gör översiktsbeskrivning Granska samarbetena och iterera –Missade roller Hitta nödvändiga klasser och associationer, iterera –Leta efter synonymer, homonymer och duplikat Identifiera gemenesamma strukturer, lokalisera, strukturera och paketera modellen Beskriv klasser och associationer, granska, iterera Beskriv varje samarbete, granska, iterera –missade och förändrade roller och funktionalitet Granska och godkänn modellen

23 © Björn Eiderbäck 1999 Vad skiljer process och metod? En process –beskriver hur flera människor arbetar tillsammans, itererar eller arbete som pågår parallellt –beskriver vad som skall konstrueras och hur det skall dokumenteras –beskriver vad som skall granskas och hur En metod –är en steg-för-steg-procedur –fokuserar på en person En metod är del av en process En process kan använda flera olika metoder och en metod kan användas i flera processer

24 © Björn Eiderbäck 1999 Använd en anpassningsbar utvecklingsprocess Det finns INGEN universell utvecklingsprocess! Beroende av behoven, målsystem och krav i projektet, anpassa (och dokumentera) –modellspråk –arbetsprocedurer –dokumentmallar

25 © Björn Eiderbäck olika konfigurationer Kravanalys DesignAnalysImplementation Testning Kravanalys DesignImplementation Testning Implementation

26 © Björn Eiderbäck 1999 Verktyg Kan vara bra att använda som stöd för processen –utveckling av modeller –dokumentation –versionshantering –verifiering –transformation –...

27 © Björn Eiderbäck 1999 Hur hitta klasser och objekt Under kursen har vi bla diskuterat användningsfall och scenarier som sätt att identifiera vad ett system skall göra –Från dessa beskrivningar kan man hitta en del objekt i systemet Vi har också diskuterat CRC-kort som ett sätt att spåna fram klasser, ansvar och relationer Senare i kursen kommer vi också diskutera designmönster som ett sätt att applicara återanvända och identifiera framgångsgrika strukturer på olika designproblem

28 © Björn Eiderbäck 1999 Wirfs-Brocks nominalfras-strategi Läs och förstå kravdokumentet. Målet är att hitta en modell som väldigt väl avspeglar den aktuella problemdomänen Läs igenom dokumentet igen. Titta speciellt efter nominalfraser. Skapa en preliminär lista av dessa fraser och ändra alla plural till singular Dela nominalfraserna i tre kategorier: definitivt objekt, nonsensobjekt och möjliga objekt Strunta i nonsenobjekten Diskutera "möjliga objekt" och placera vart ett av dom i någon av dom andra två kategorierna

29 © Björn Eiderbäck 1999 Exempel Vi skall bygga ett datorsystem för ett universitetsbibliotek Några krav –Böcker och tidningar. Biblioteket innehåller böcker och tidningar. Det kan finnas flera kopior av en given bok. Vissa böcker kan bara lånas på korttidslån. Alla andra böcker kan lånas av en lånekortsinnehavare i tre veckor. En lånekortsinnehavare kan normalt låna sex saker samtidigt, men anställda kan låna upp till 12 saker på en gång. Endast anställda får låna tidningar. –Lån. Systemet måste hålla reda på när böcker och tidningar är lånade och tillbakalämnade under reglerna som beskrevs ovan.


Ladda ner ppt "Systemutvecklingsprocess, hitta objekt och lite Javakodning Innehåll Systemutveckling Något om att hitta klasser och objekt Java några kodexempel (vi kör."

Liknande presentationer


Google-annonser