PV7040 - Programvarukonstruktion Föreläsning 7 Software Prototyping Rapid software development to validate requirements.

Slides:



Advertisements
Liknande presentationer
Nya skolan till hösten Projektarbete En personlig dator Aktivt lärande
Advertisements

Processkartläggning.
Kapitel 5 Att köpa företagstjänster
Kvalitetssäkrad leverans i Maximoprojekt
Nyttorealisering på 10 min
Föreläsning 7, Kapitel 7 Designa klasser Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
Avalon Information Systems Vi är IT-företaget som behärskar framtagning av information och utveckling av konkurrenskraftiga IT-system. - Produktinformation.
Processkartläggning.
Nyutveckling av DOK • Projektorganisationen • Vilka är CTK • Hur uppdraget uppkom • Den gamla versionen • Hur vi har jobbat • Utmaningar i.
Tekniken, fördelar och nackdelar Av Elin och Johan Olofsson ht-07
Intranät – inte för alla?
Test och kvalitetssäkring i Ladok3
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.
Analys och validitet av systemstudier med MERLIN-baserade simuleringsmodeller Casper Hildings.
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.
Självförvaltningsfärdigheter
Kravspecifikation och IT-upphandling
e-Learning standarder och specifikationer
Informationssystem och databasteknik, 2I-1100
EN KOMPLETT INDUSTRIPARTNER ! ALLMÄNT OM MELSEC STYRSYSTEM.
Introduktionskurs för användare Del 1
Marknadsförarens mall för att skapa köpares persona!
Ramverk för patientmedverkan
Utvärdering av processmognad
Att lyckas med produktionssättning av Ladok3
1 onTarget project management TM VÄLKOMNA EFFEKTIV KOMMUNAL E-FÖRVALTNING INKLUSIVE SKOLPORTAL Microsoft och Sigma.
Next previous Mjukvaruprocessen: översikt och repetition. XP: problemformulering. JUnit. Innehåll Allmännt om utvecklingsprocesser från Bruegge kapitel.
1 Uppgift Implementera HProgSäk i Safety 1st Tillämpa HProgSäk i ”Pilotprojekt”
Design & Utvärdering, 5 poäng Produkt & Process Informatik A.3.
SAST Stockholm Avs. Joachim Kravhantering.
NU-sjukvården. Tiderna förändras Krav och förväntningar ändras samtidigt som sjukvården utvecklas och förändras. Det är dags att tänka nytt.
Så jobbar vi med användbarhet och verksamhetstest i Ladok3
Designstöd Daniel Fällman Institutionen för informatik Umeå universitet Design och utvärdering, 5 poäng.
ELEKTRONIKINGENJÖR ARBETSMETODER & VERKTYG. ?PROBLEM? Litet större Som störtas bort Händernågot annat ska då hända I omgivningensignalera.
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.
Läsbar prolog CM 8.1. allmäna principer correctness user-friendliness efficiency readability modifiability robustness documentation.
Design & Utvärdering, 5 poäng Designern Torsdagen den 23/3 Informatik A.3.
INFORMATIONSSYSTEM Informationssystem: datoriserat system som stödjer en organisations informationsförsörjning VERKSAMHET avbildar Definitionen alltför.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
Lärande utvärdering genom följeforskning
Testledaren. Ansvar Sköter den dynamiska verifieringen och valideringen av systemet genom exekvering Finns kvalitetssamordnare tar denne hand om inspektioner.
Lunds universitet / Samordnat IT-stöd vid LU / Mars 2010 NETinfo-möte Samordnat IT-stöd Lunds universitet Johnny Nilsson, PL Birgitta Lastow,
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
Vad är ett projekt? En grupp projektdeltagare utför under ledning av en projektledare en klart definierad uppgift, på en viss tid, med givna resurser.
Design & Utvärdering, 5 poäng Metoder & Tekniker ”Character of Things” Fredag den 24/3 Informatik A.3.
FÖ8a-VT07 TFYY98/TFKI13 - A.Henry/D.Lawrence 1 Ingenjörsprojekt för Teknisk Biologi och Kemisk Analysteknik Projektet, Under- och Efter-fas (Fö8a - vt2007)
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 6 ( )‏ Innehåll:  Att designa parallella program - manuell vs. automatisk parallellisering.
PV7170 Föreläsning 4a Validering
PV7170 Föreläsning 1a Introduktion
PV7170 Föreläsning 2b Analys och förhandling
PROJEKT Projektkurs - DA7075 VT04.
Föreläsning om RUP RUP – Rational Unified Process
Helena Lindgren 1 MDI – fördjupningskurs (D – nivå) Kursens mål ge teoretisk fördjupning i ämnet människa-dator interaktion, ge kunskap om metoder.
PV Programvarukonstruktion
Om denna presentation: Version Denna PPT-presentation tillsammans med det talspråksmanus du hittar i anteckningssidorna är framtaget för att.
Bra planering skapar trygghet
Några exempel på föregångare Växahuset 2001 Modellarbetsplatser 2003, Kravmärkt yrkesroll 2005 Lärande inom Äldreomsorgen 2006 Svenskutbildning med kompletterande.
ATT LÄRA SIG SKAPA GODA FÖRUTSÄTTNINGAR FÖR ATT MÖJLIGGÖRA LÄRANDE Ann-Charlotte Mårdsjö Olsson
Prototyper Grupp 4 Fredrik Persson | Mahdi Bawaqneh | Maksim Nikitin | Sverre Brecheisen.
Att mäta tillgänglighet Susanna Laurin
L ADOK 3- PROJEKTET Version SystemöversiktSystembeskrivning Ladok3-funktionalitet månader före ursprunglig plan. Syftar till tidig.
ACD 3 Bligård & Simonsen ACD 3 (Aktivitetscentrerad design) Lars-Ola Bligård & Eva Simonsen
Introduktion till The Rational IT Model
Vägledning 5 steg för att följa Dataskyddsförordningen
Utvecklingsprojekt 2015 enligt förvaltningsplan
Designstöd Design och utvärdering, 5 poäng
Infrastruktur för patientportaler
Systemutvecklingsprocessen Rational Unified Process
Att leda och genomföra transformation WS 3 Region 10
Förbättra klubbkvalitet
Presentationens avskrift:

PV Programvarukonstruktion Föreläsning 7 Software Prototyping Rapid software development to validate requirements

F7: Omfattning Prototyper i utvecklingsprocessen Prototyptekniker Användargränssnitt och prototyper Mindre noggrann läsning:

Syfte med föreläsningen Beskriva användningen av prototyper i olika utvecklingsprojekt Beskriva Evolutionary prototyping Beskriva Throw-away prototyping Beskriva tre snabba tekniker för prototyper Förklara behovet av gränssnittsprototyper

System prototyping Prototyping är snabb utveckling av system Det huvudsakliga syftet med prototyper är att stödja utvecklare och kunder i förståelsen för kraven ∙ Kravinsamling – kan visa att arbetssätt fungerar ∙ Kravvalidering – kan påvisa riktighet och fel Prototyping kan ses som en aktivitet som miskar riskerna i kravhanteringen

Fördelar med prototyper Missförstånd mellan utvecklare och användare påvisas Saknade tjänster identifieras och förvirrande tjänster kan klargöras En fungerande version av systemet är tillgänglig tidigt i projektet Prototypen kan fungera som basis för framställandet av systemspecifikationen Prototypen kan underlätta utbildning och träning av användare

Processen för prototyping

Fördelar med prototyper Förbättrad användbarhet i systemet Det utvecklade systemet är mer i enlighet med det system som behövs Förbättrad designkvalitet (!) Förbättrad underhållsförmåga (!) Minskad total resursåtgång vid utgång

Prototyping i utvecklingsprocessen Evolutionary prototyping ∙ En typ av systemutveckling där den initiala prototypen utvecklas och förbättras genom ett antal faser tills det blir det slutgiltiga systemet Throw-away prototyping ∙ En prototyp som används för att besvara frågeställningar om t.ex. krav. Den utvecklade prototypen kastas efter den fullgjort sitt syfte.

Mål för prototyper Målet för evolutionär prototyping är att leverera ett fungerande system till slutanvändare. Utvecklingen påbörjas med de krav som bäst förstås. Målet för throw-away prototyping är att validera eller härleda systemkrav. Processen påbörjas med krav som är oklara.

Tillvägagångsätt

Evolutionär prototyping Måste användas i sådana system där det inte går att utveckla specifikationen först, såsom AI- system och användargränssnitt Baseras på tekniker som tillåter snabb systemutveckling och snabba iterationer Verifiering är omöjlig eftersom det inte finns någon specifikation. Validering genomförs som en demonstration av lämpligheten i systemet.

Evolutionär prototyping

Fördelar med evolutionär prototyping Uppsnabbad leverans av systemet ∙ Snabb leverans är ibland viktigare än funktionalitet och underhållsmöjligeter i framtiden Användarna är engagerade i systemet ∙ Förutom att systemet troligare passar användarnas krav. Användarna kommer att vara intresserade av utvecklingen och att använda systemet.

Evolutionär prototyping Specifikation, design och implementation är sammankopplade Systemet utvecklas som en serie utökningar som levereras till kunden Tekniker för snabb systemutveckling används, t.ex. CASE-verktyg och fjärde generationens programmeringsspråk (4GLs) Användargränssnitt utvecklas främst med GUI- utvecklingsverktyg

Problem med evolutionär prototyping Ledning ∙ Existerande ledningsmodeller förutsätter en vattenfallsbaserad utvecklingsmodell ∙ Specialistförmågor krävs vilket inte är tillgängligt i alla utvecklingsprojekt Underhållsproblem ∙ Kontinuerlig förändring tenderar att fördärva systemstrukturen så att långtids underhåll blir dyrt ∙ Avtalsproblem

Prototyper som specifikationer Vissa delar av systemkraven (t.ex. säkerhets- kritiska funktioner) kan vara omöjliga att visa i en prototyp och därför så finns de inte i någon specifikation En implementation har inte någon laglig ställning som kontrakt Kvalitativa (Icke-funktionella) kan inte fullt ut testas i någon systemprototyp

Inkrementell utveckling System utvecklas och levereras i delar efter det att man etablerat en generell arkitektur Krav och specifikationer kan för varje utvecklingssteg utvecklas Användare kan experimentera med levererade delar därav kan verkar som prototyp-system Planerad för att kombinera vissa fördelar av prototyping, men med en mera kontrollerad process och systemstruktur

Inkrementell utvecklingsprocess

Throw-away prototyping Används för att minska risker med krav Prototypen utvecklas från en initial specifikation, levereras för utvärdering och test vartefter den kastas Throw-away prototypen skall INTE betraktas som ett slutgiltigt system ∙ Vissa systemegenskaper kan ha utelämnats ∙ Det finns inte någon specifikation för långtidsunderhåll ∙ Systemet kommer att vara dåligt strukturerat och svårt att underhålla

Throw-away prototyping

Leverans av prototyper Utvecklare kan bli pressade att leverera en throw-away prototyp som ett slutgiltigt system Detta rekomenderas inte eftersom: ∙ Det kan vara omöjligt att förändra prototypen så att den klarar av de kvalitativa kraven ∙ Prototypen är odokumenterad ∙ Systemstrukturen försämras efterhand som förändringar görs under utvecklingens gång ∙ Organisationens kvalitetsstandard behöver inte ha använts

Snabba tekniker för prototyper Olika tekniker kan användas för snabb utveckling ∙ Dynamiska högnivåspråk används i utvecklingen ∙ Databasprogrammering ∙ Komponent- och applikationssammansättning Teknikerna kan användas tillsammans och det gör ofta Visuell programmering är en stor del av merparten av utvecklingssystem för prototyper

Dynamiska högnivåspråk Språk som använder kraftfulla datakontroller Behöver ofta mycket systemstöd. Används normalt inte för utveckling av stora system. Vissa språk erbjuder ofta utmärkt stöd för användargränssnitt och utveckling av dessa Vissa språk kan ha en integrerad stödmiljö som går att använda prototypen

Språk för prototyper

Val av programmeringsspråk Vilken är applikationsdomänen och vilka problem finns i den? Vilken användarinteraktion krävs? Vilken stödmiljö medföljer språket? Olika delar av systemet kan programmeras i olika språk. Det kan däremot bli problem vid kommunikation mellan språken.

Databas-programmeringsspråk Domänspecifika språk för affärssystem baserade på databashanteringssystem Innehåller normalt ett databasfrågespråk, en skrämgenerator, en rapportgenerator och ett spreadsheet Kan vara integrerat med ett CASE-verktyg Språket med miljön kallas ibland fjärde generationens programmeringsspråk (4GL) Kostnadseffektiv lösning för små till medelstora affärssystem

Databasprogrammering

Komponent- och applikationssammansättning Prototyper kan snabbt skapas från en mängd återanvändbara komponenter tillsammans med en mekanism som sammanfogar alltihop Den sammanfogande mekanismen måste innehålla kontrollfunktioner och en mekanism för komponent kommunikation Systemspecificeringen måste behandla tillgängligheten och funktionaliteten hos existerande komponenter

Prototyper med återanvändning Applikationsnivå ∙ Hela systemet är integrerat med prototypen så att dess funktionalitet delas ∙ T.ex. om ett textbehandlande funktion krävs kan en standard ordbehandlare användas Komponentnivå ∙ Individuella komponenter integreras inuti ett standardramverk för implementation av systemet ∙ Ramverket kan vara skriptspråk eller ett integrerat ramverk som CORBA

Sammansättning av återanvändbara komponenter

Sammansatta dokument (Compound) För vissa applikationer, kan en prototyp skapas genom utvecklingen av ett dokument Detta dokument har aktiva element (såsom ett kalkylblad) som tillåter användaren att genomföra beräkningar Varje aktivt element har en associerad applikation som anropas när elementet aktiveras Dokumentet själv står för integrationen för de olika applikationerna

Länkning av applikationer i ett dokument

Visuell programmering Skriptspråk såsom Visual Basic stödjer visuell programmering där en prototyp utvecklas genom att ett användarformulär skapas med standardkomponenter och systemkomponenter associeras med dessa Ett omfattande bibliotek av komponenter finns som stöd för denna typ av utveckling Komponenterna kan skräddarsys för att passa specifika systemkrav (till viss del)

Visuell programmering med återanvändning

Problem med visuell utveckling Det är svårt att koordinera flerpersonsutveckling Det finns inte någon specifik systemarkitektur Komplexa beroenden mellan delar av programmet kan skapa problem vid underhåll Systemegenskaper kan vara svåra att påverka Komponenter kan vara stora och svåra att dela upp

Prototyper för användargränssnitt Det är omöjligt att förutbestämma ”look-and-feel” för ett användargränssnitt på ett effektivt sätt – användning av prototyper är en förutsättning UI (user-interface) utveckling förbrukar en ökande mängd av systemutvecklingens kostnader UI generatorer kan användas för att ”rita” gränssnittet och simulerar dess funktionalitet med komponenter associerade med gränssnittet Prototyper för Webbgränssnitt kan utvecklas med Webbside-editorer

Instuderingsfrågor (8.5) – för Datateknik