Systemutvecklingsprocess, hitta objekt och lite Javakodning

Slides:



Advertisements
Liknande presentationer
Det värdefulla ENGAGEMANGET
Advertisements

Beskriver vad eleven ska försöka uppnå
Att identifiera och utveckla ledare
Projekttitel Projektdeltagare Bild 1 Så anpassar du informationen i sidfoten Du kan enkelt anpassa vilken information som ska visas i sidfoten.
Kommunikation som påverkar Göteborg 4 oktober 2012 Välkommen!
Utveckla en applikation Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Skriva för att lära – så gör du
OOMPA 2000 Föreläsning 4 Utvecklingsprocessen en översikt. Lite om kravspecifikationer. CRC-kort. XP som exempel på lättviktigare process.
Relationsdatabasdesign
Föreläsning 7, Kapitel 7 Designa klasser Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
Servicekunskap Hur vill du jobba med boken?
Fi2 Lägesrapport om IT-utvecklingen i fastighetsbranschen
1 Medarbetarenkät 2011 • 573 svar. 2 Kön 3 Jag är knuten till en klass, undervisningsgrupp eller barngrupp.
Systemkarta.
Next previous XP: varför fungerar det? Något om tentan. Innehåll Introduktion till eXtreme Programming (XP) Varför fungerar XP? Något om tentan Vad ska.
Leif Håkansson’s Square Dancer Rotation
Objektorienterad Realtidsprogrammering
Programmeringsteknik Föreläsning 13 Skolan för Datavetenskap och kommunikation.
Tjänster.
Brott och utsatthet för brott Elever som snattat de senaste 12 månaderna.
HUR GÖR BORN GLOBALS? – OM FÄLLOR OCH FRAMGÅNGSFAKTORER FÖR UTLANDSFÖDDA FÖRETAG Sara Melén och Emilia Rovira Nordman Handelshögskolan i Stockholm.
Next previous Refactoring och lite mönster kodade i Java Innehåll Vad är refactoring? Ett större refactoringexempel Några mönster kodade i Java OOMPA 2000.
©storm.
Kravspecifikation och IT-upphandling
Elkraft 7.5 hp distans: Kap. 3 Likströmsmotorn 3:1
Informationssystem och databasteknik, 2I-1100
1 Medarbetarenkät svar. 2 Kön 3 Jag är knuten till en klass, undervisningsgrupp eller barngrupp.
Kommunpussel Din uppgift är att sortera de organisatoriska delar på nästa sida på ett sådant sätt att det överensstämmer med hur din kommun är organiserad.
V E R S I O N N R 2. 0 T A V E L I D É E R I M I L J Ö.
V ersion Dialogseminarium – Patientens väg i vården Välkommen!
1.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.
Programmering B PHP Lektion 2
Gymnasieskolan år 2 Brott och utsatthet för brott 2008 BILD 1 Elever som snattat de senaste 12 månaderna.
Grundskolan år 9 Brott och utsatthet för brott 2008 BILD 1 Elever som snattat de senaste 12 månaderna.
Företagarpanelen – Q SEPTEMBER 2011 Hallands län.
Programmering B PHP Lektion 3
1 Vänsterskolan Debattartiklar. 2 Aktuell krok 3 Aktuella krokar 1. Direkt krok.
RIALTO Jenny Alvolin Barn- och ungdomsombud Broschyren: Kartläggning av barnets förmågor och behov. Underlätta för barnets vistelse i fsk/skola.
TÄNK PÅ ETT HELTAL MELLAN 1-50
Att lyckas med produktionssättning av Ladok3
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:
Listor En lista är en föränderlig ordnad samling objekt.
Känna till och ha provat metoder och verktyg för processledning
1 Föreläsning 3 programmeringsteknik och Matlab 2D1312/ 2D1305 Matlab fortsättning Funkioner, styrstrukturer, manipulering av matriser.
SEO Manager för EPiServer LÅT REDAKTÖRERNA VARA REDAKTÖRER.
1(31) Ett omdiskuterat ämne. Vad är det som händer? 2.
Nya föreskrifter och allmänna råd
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Styrteknik 7.5 hp distans: SFC Introduction PLC5A:1 Bilder SFC = Sequential Function Chart Language SFC är ett grafiskt programspråk som används.
En guide för arbeten i SO
1 Logging and monitoring of TCP traffic in SSH tunnels Masters thesis Anton Persson.
1 L U N D S U N I V E R S I T E T Forskningsplattform Förnyelse av tjänstebaserade, komplexa system Gunilla Jönson Fredrik Nilsson Lunds Tekniska Högskola.
Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion
Utvecklingsprocessen Webbutveckling. Utvecklingsprocessen Bli inte rädd för alla begrepp och alla verktyg man verkar behöva kunna. Du måste inte använda.
Riktlinjer Dokumentation Kompetens- utveckling Stödmaterial.
Struktur för att värdera strategiskt viktiga processer (enligt Cliff Norman, Texas, USA, API, Assositation in process Improvement) och uppdaterad och översatt.
Integration av webbaserat analysprogram och kartprogram Examensarbete Daniel Hermansson.
INFORMATIONSSYSTEM Informationssystem: datoriserat system som stödjer en organisations informationsförsörjning VERKSAMHET avbildar Definitionen alltför.
Vara kommun Grundskoleundersökning 2014 Föräldrar 2 Levene skola årskurs 5 Antal svar 2014 för aktuell årskurs i skola: 12 Antal svar 2014 för årskurs.
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Föreläsning 12 Sökning och Sökträd.
BVForum - en genomgång för revisorer Sören Thuresson.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
Föreläsning om RUP RUP – Rational Unified Process
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning 16.
Elev loggbok.
Anpassa fri programvara - Frihet ett, hur nyttjar man den? Copyright © 2006, 2007 Marcus Rejås Rejås Datakonsult Jag ger härmed rätten till alla att nyttja.
ACD 3 Bligård & Simonsen ACD 3 (Aktivitetscentrerad design) Lars-Ola Bligård & Eva Simonsen
Presentationens avskrift:

Systemutvecklingsprocess, hitta objekt och lite Javakodning OOMPA 1999 Föreläsning 9 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)

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 © 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 © 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 .... © Björn Eiderbäck 1999

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

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

har väldefinierad in- respektive utdata utför upprepade aktiviteter 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 © Björn Eiderbäck 1999

Olika typer av modeller 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 © Björn Eiderbäck 1999

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

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

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

...kod- och testmodell © Björn Eiderbäck 1999

Fokusera på ett problem Olika behov av information 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 © 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 .... © Björn Eiderbäck 1999

Processen är iterativ Kravanalys Analys Design Implementation Testning © Björn Eiderbäck 1999

Systemutveckling är att utveckla modeller! © 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 © Björn Eiderbäck 1999

En fas är en tidsperiod i ett projekt 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 © Björn Eiderbäck 1999

Formulera funktionella krav 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 © Björn Eiderbäck 1999

Översikt Indata Aktiviteter Utdata 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 © Björn Eiderbäck 1999

Proceduren Hitta potentiella aktörer Sammanställ gloslista 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 © 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 © 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 © 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 © Björn Eiderbäck 1999

...olika konfigurationer Implementation Kravanalys Design Implementation Testning Kravanalys Analys Design Implementation Testning © Björn Eiderbäck 1999

Kan vara bra att använda som stöd för processen Verktyg Kan vara bra att använda som stöd för processen utveckling av modeller dokumentation versionshantering verifiering transformation ... © 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 © 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 © 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. © Björn Eiderbäck 1999