Programvare- prosesser - del2 In 140 Forelesning nr. 4 Sommerville kap. 3.

Slides:



Advertisements
Liknende presentasjoner
Prosjektrettet systemarbeid Tema: introduksjon til systemarbeid
Advertisements

Praktisk info til prosjektkunder
Forelesning IMT Februar 2006
Prosjektstyring In 140 Sommerville kap 4.
Programvaretesting In 140 Sommerville kap 20.
Prototyping & Use Case Software Engineering Gruppe
Introduksjon til in 140 Systemering. In 140 Systemering Forelesninger Rom B137 –Mandag –Onsdag Foreleser: Hans F. Nordhaug Lærebok:
1 Validering og verifisering Kirsten Ribu I dag Validering og verifisering Inspeksjon Testing.
Validering og verifisering
23. januar 2004TDT4285 Planl&drift IT-syst1 Tjeneroppgraderinger TDT4285 Planlegging og drift av IT-systemer Anders Christensen, IDI.
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
Grunnleggende testteori
Prosjektstyring In 140 Sommerville kap 4.
Programvarekrav In 140 Sommerville kap 5. Introduksjon Ofte kompliserte situasjoner Vanskelig å stille enkle og klare krav til programvaren Kravspesifikasjonen.
Verifikasjon og validering
Programvare-prosesser
Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.
Systemmodeller In 140 Sommerville kap. 7. Mål Forstå hensikten med kontekstmodell Forstå ideene bak –oppførselsmodellering –datamodellering –objektmodellering.
Objektorientert utforming In 140 Forelesning Nr 13 Sommerville kap 12 – del 2.
Arbeidet med kravspesifikasjonen In 140 Sommerville kap. 6.
1 KravprosessenKravprosessen Noen sentral punkter.
Introduksjon til systemutvikling
Prosjekt 45e - WebConcret
Kravanalyse og spesifikasjon
Hovedprosjekt nr 57E: Et nettverksspill laget med Microsoft komponentteknologi, Microsoft Transaction Server og Rational Unified Process Gjennomføres av.
Jæger: Robuste og sikre systemer INF150 Programmering torsdag 31.8 Kapittel 3: Grunnlag for programmering i Visual Basic.
Hovedprinsipper i Rational Unified Process
Bendik Bygstad Høgskolen i Vestfold RUP-prosjekt Sammenhengen med UML 1.Hovedstruktur i RUP-prosjekter 2.Faser og iterasjoner 3.Sammenhengen med.
I dag snakker vi om: Brukergrensesnitt med kvalitet Bruksegenskaper Normans 7 stadier Testing med papirprototyp.
Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu
Empiriske metoder Oppgaveanalyse, observasjon
Combining Compound Conceptual User Interface Components with Modelling Patterns - a Promising Direction for Model-based Cross-platform User Interface Development.
UML og grensesnitt UML er standard for modellering innen objekt-orientert programvare kan UML også brukes til modellering av grensesnitt? fordel: bedre.
Testing av system Gruppe 6 Henrik Bækhus Morten A. Iversen Mathias Bondeson Gunnar K. Kulleseid Svein Ivar Kristiansen Ronny Hulthin.
DEKOMPONERING OG MODULARITET ~Gruppe 4~. Gjennomgang Designtyper/kriterier innen dekomponering Dekomponeringsspesifikasjon Strukturert og objektorientert.
Automated Testing Tool & When to Stop Testing
Konfigurasjonsstyring Configuration Management
Hvorfor bruke tid på testing ?
Å omfavne forandringer med ekstrem programmering(XP) Brukt i In140 Skrevet av Ola Bø Bygger på Kent Becks artikkel "Embracing change with extreme programming."
AI - Kunstig Intelligens
Eziz Annagurban Veiledere: Sven-Olai Høyland Carsten Helgesen
1 Oppgave gjennomgang Kap. 1 og 2. 2 Oppgaver -Kap 1: 5, 6, 7, 10, 12, 16, 22 og 25 -Kap 2: 2, 6, 10, 12, 13, 14 og 20.
Testing av objektorienterte systemer Testplanlegging
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
BUCS Utfordringer og valg av fokus Tor Stålhane. Rammebetingelser Første spørreundersøkelse viser at det vi gjør må kunne: Brukes sammen med UML Passe.
Objektorientert utforming In 140 Sommerville kap. 12.
1 Systemering In 140 forelesning nr. 2 Sommerville kap. 3.
Brukermedvirkning In 140 Forelesning. Historie Skandinaviske tradisjon Sosio-teknisk metode NJMF-prosjektet( ) –Dataavtalen LO-NAF(i dag NHO) –Arbeidsmiljøloven.
Programvareendring del 1 In 140 Forelesning Nr 21 Sommerville kap 27, 1. Del.
Programvarekrav In 140 Sommerville kap 5. Introduksjon Ofte kompliserte situasjoner Vanskelig å stille enkle og klare krav til programvaren Kravspesifikasjonen.
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
Gamle systemer In 140 Sommerville kap 26. Forelesninger fremover 8/4:Gamle systemer 22/4: Systemevolusjon og vedlikehold 28/4: Konfigurasjonsstyring.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
FINF- H -04, 21 september 2004 Arild Jansen. AFIN/UiO 1 FINF Forelesning uke 39 Personvern som premiss for SU-prosessen Diskusjon om personvern som.
FINF- H -05, 13. september 2005 Arild Jansen. AFIN/UiO 1 FINF Forelesning 13.sept Personvern som premiss for SU-prosessen Diskusjon om personvern.
Objektorientert design
Konstruksjon og Testing Torsdag 30. september 2004 Av Even Aasland Harald Ueland.
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Systemmodeller In 140 Forelesning nr. 9 Sommerville kap. 7.
Objektorientert design In 140 Sommerville kap 12 – del 1.
Introduksjon til in 140 Systemering. In 140 Systemering Forelesninger Rom 112 –Mandag –Torsdag Lærebok: –Sommerville, Ian. Software.
Programvare-prosesser
Use case realisering Designmodellering Kirsten Ribu Kapittel 4 UML Distilled.
1 Programvaretesting del 2 In 140 Forelesning Nr 18 a Sommerville kap 20 del 2.
Kap. 23 – Software Engineering How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen,
RIS-metoden for prosessforbedring
RUP-prosjekt Sammenhengen med UML
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
Programvareprosessen styrer utviklingen
Hva er XP ? Ikke ekstrem, men heller meget forsiktig
Utskrift av presentasjonen:

Programvare- prosesser - del2 In 140 Forelesning nr. 4 Sommerville kap. 3

Programvarespesifikasjon n Hvilken funksjonalitet er nødvendig n Hva er avgrensingene n Meget kritisk aktivitet

Fasene i kravspesifikasjon n Forstudie –Kan problemet løses? –Er det økonomisk forsvarlig? –Bør vi arbeide mer med dette? n Faktainnsamling og behovsanalyse –Studie av eksisterende løsning –Samtale med brukere –Utvikling av systemmodeller –Hensikten er å forstå systemet som skal utvikles

Fasene i kravspesifikasjon forts. n Kravspesifikasjonen –Omdanne forståelse av problemet til et dokument som stiller krav til systemet. –Brukerkrav er hva brukeren krever av systemet –Systemkrav er detaljerte krav til hvilken funksjonalitet systemet må inneholde n Kravvalidering sjekker kravspesifikasjonen –Er den realistisk? –Er den konsistent? –Er den komplett? –Feil som oppdages fører til endring i kravspesifikasjon. n Prosessen er ikke strengt sekvensiell.

Programvareutforming og -utvikling n Forvandle en kravspesifikasjon til et eksekverbart system. n En systemarkitektur er en beskrivelse av data, grensesnitt mellom komponentene og kanskje algoritmene n Endelig utforming gjennom skrittvis prosess n Utvikle flere stadig mer detaljerte modeller av systemet n Feil oppdages og må rettes i tidligere trinn n Hver aktivitet gir spesifikasjon for neste trinn

Trinnene i utformingsprosessen n Arkitekturutforming –Dokumentasjon av subsystemer og forholdet mellom dem n Abstrakt spesifikasjon –Subsystemenes tjenester og rammer n Grensesnittutforming –Grensesnitt mellom subsystemer utformes og dokumenteres. –Store krav til klarhet

Trinnene i utformingsprosessen n Komponentutforming –Oppdeling av funksjonalitet og grensesnittspesifikasjon n Datastrukturutforming –Detaljert spesifikasjon av datastruktur n Algoritmeutforming –Nødvendige algoritmer n Generell modell, som kan være annerledes i praksis. F.eks kan de siste to bli slått sammen

Programvareutforming og utvikling

Utformingsmetoder n Ad Hoc –uformell utforming –Lite løpende oppdatering av utforming –Koding gir system som avviker fra utforming. n Strukturerte metoder = notasjon og retningslinjer –Structured design (Yourdon & Constantine) –Unified software development process (Rumbaugh & Jacobson) –En rekke andre –CASE verktøy

Strukturerte metoder n Vanlige modeller –Dataflytmodeller –E-R Diagrammer –Strukturert modell over systemkomponenter og deres samspill –Objektorienterte metoder inneholder modeller som dekker Arv Sammenheng mellom objekter Samspill mellom objekter n Mulige modeller –Tilstandsdiagrammer –Livsløpsdiagrammer for entiteter

Strukturerte metoder n Datakatalog anbefales ofte n Uformelle retningslinjer n Man tar det som passer inn n Metodene er standardnotasjon og god praksis n Bør gi en brukbar utforming n Kreativitet likevel nødvendig

Programmering og debugging n Normalt noe samtidig med utforming n CASE gir skjelett n Store forskjeller i framgangsmåte –kjent/ukjent –kode/datastruktur n Feilsøking og retting n Feil-> Hypotese om årsak-> Fjerne mulig årsak -> Feilen borte? n Hjelpemidler –Trace –Inspeksjon av variable underveis –Brakepoints –Stack –Assertions

Programvarevalidering n Hensikten er å vise at systemet følger spesifikasjon og oppfyller kundens forventninger –Inspeksjon og gjennomgang underveis. –Testing av fungerende system. –Inkrementell vs monolittisk testing.

Programvarevalidering Akseptansetest = alfatest Betatest gjelder prøveleveranse til et antall kunder Testteam utarbeider testplaner

Testprosessen n Enhetstest –uavhengig testing av enkeltfunksjoner n Modultest –testing av et sett funksjoner eller et objekt n Subsystemtest –testing av et subsystem satt sammen av moduler. Avdekker grensesnittproblemer n Systemtest –Test av systemet som helhet. Samspillsproblemer. Funksjonelle og ikke funksjonelle systemkrav etter spesifikasjon. n Godkjenningstest –Test med reelle data. Kan finne feil i spesifikasjonen. Vil også vise evt. ytelsesproblemer.

Om testteam n Functional tests or system tests should be developed by a separate small team whose only job is testing. This team should take a black-box view of the system and take particular delight in finding bugs. (Sinister moustaches and crackling laughs are optional but desirable) fra UML-Distilled av Martin Fowler

Programvareevolusjon Mer og mer vedlikehold Mer og mer blanding av gammelt og nytt Glidende overgang Programvare/maskinvare

Automatisert støtte for programvareprosessen (CASE) n Automatisering av aktiviteter og rapporterting n Støttbare aktiviteter –Utvikling av grafiske systemmodeller –Datakatalog –Grafisk bygging av brukergrensesnitt –Debuggingsstøtte –Automatisk oversettelse til nyere programmeringsspråk –Kodegenerering n Effektivisering ~ 40%, mye mindre enn ventet. –Begrenset av Kreativitet lar seg ikke automatisere (AI en fiasko her - hittil) Samarbeidsintens aktivitet. Ikke støttet av CASE

CASE- klassifisering n Funksjonelt perspektiv n Prosessperspektiv n Integrasjonsperspektiv CASE-verktøy klassifisert etter funksjon PlanleggingsverktøySpråkprossesseringsverktøy EditeringsverktøyProgramanalyseverktøy ForandringsadministrasjonTestverktøy KonfigurasjonsadministrasjonFeilsøkingsverktøy PrototypingsverktøyDokumentasjonsverktøy MetodestøtteverktøyRe-engineering verktøy

Verktøy, Arbeidsbenk, Utviklingsmiljø