Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu

Slides:



Advertisements
Liknende presentasjoner
Etablering av effektiv produksjon på tvers av landegrenser
Advertisements

Prosjektrettet systemarbeid Tema: introduksjon til systemarbeid
Praktisk info til prosjektkunder
Systemutviklingsmetoder Kravspesifikasjon
Kan arbeidsmetodikken i IT-prosjekter overføres til rådgiverene ? VIANOVA Network Meeting 2013 Geir Andersen/Vianova Systems AS.
Innføring i The Rational Unified Process
Dokumentasjon og Planlegging av større IT-prosjekter
Smidig forvaltning – En pragmatisk tilnærming
Hvem stakk av med produkteieren min?
1 Validering og verifisering Kirsten Ribu I dag Validering og verifisering Inspeksjon Testing.
Prosjektstyring og prosjektgjennomføring
Validering og verifisering
Flere UML diagrammer UML Distilled kap. 7,8, 9 Kirsten Ribu
UML Distilled kap. 2 Kirsten Ribu
UML Distilled kap Kirsten Ribu
1 Nils Olsson Inst. for bygg, anlegg og transport, NTNU SINTEF Teknologi og Samfunn Ingrid Spjelkavik SINTEF Teknologi og Samfunn Oslo 25. Oktober 2007.
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
Gruppe 9 Design evaluering 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.
Introduksjon til systemutvikling
4/4/2017 IMT2243: 17.februar 2011 Domenemodellering / Konseptuelle Klassediagram Monopol- eksempel SSD : System Sequence Diagram Kort repetisjon av teknikken.
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Prosjektet transparente lag Composite og tegnende objekter Decorator og gui-kontrollere Factory Method Iterator.
En kort innføring i Design Patterns
Hovedprinsipper i Rational Unified Process
Bendik Bygstad Høgskolen i Vestfold Innføring i The Rational Unified Process Bendik Bygstad NITH 1.time: Noen grunnproblemer i systemutvikling 2.time:
Bendik Bygstad Høgskolen i Vestfold RUP-prosjekt Sammenhengen med UML 1.Hovedstruktur i RUP-prosjekter 2.Faser og iterasjoner 3.Sammenhengen med.
Patterns (mønstre) Patterns er erfaringer Patterns er best-practices Patterns er how-to Patterns er velkjent design Larman: ” ’new Pattern’ is an Oxymoron”
Kirsten Ribu HiO Systemutvikling – LO 135A Høsten 2005 Kirsten Ribu.
Kirsten Ribu HiO Ansvarsdrevet design og bruk av design-mønstre Kirsten Ribu.
Kirsten Ribu HiO Systemutvikling – LO 135A Våren 2005 Kirsten Ribu.
HiO -Anvendt datateknologi - Kirsten Ribu Testing og evaluering av systemer Kirsten Ribu
Bygg og funksjon – å bestille et bygg – roller i en byggeprosess
1 Skal vi snakke sammen? Jan Håvard Skjetne SINTEF / University of Melbourne
Empiriske metoder Oppgaveanalyse, observasjon
Iterate.no The Lean Software Development Consultancy Prolog: Case 2 ‣ Et prosjekt fra gamledager ‣ Prosjektleder sa “Godt nok!” ‣ Kunden sa “Hva?? Skal.
1. Vår høyeste prioritet er å tilfredsstille kunden gjennom tidlige og kontinuerlige leveranser av programvare som har verdi.
Tema: Test First Positivist: Det som ikke kan måles, eksisterer ikke! Reduserer sjanser for defekter! Gir en oppdatert ”TODO-liste” Gir trygghet til å.
Ledelse av systemutviklingsprosjekter Leikny Øgrim Høgskolen i Oslo.
Hovedoppgave 2002 for Dataingeniører
Å omfavne forandringer med ekstrem programmering(XP) Brukt i In140 Skrevet av Ola Bø Bygger på Kent Becks artikkel "Embracing change with extreme programming."
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.
Kontinuerlig kvalitetskontroll. Hvordan komme helt i mål.
Identifisere behov – og etablere krav
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
Prosjektledelse In 140 Forelesning Nr 18 a Sommerville kap
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
Metode for systembeskrivelse og
Objektorientert utforming In 140 Sommerville kap. 12.
Brukermedvirkning In 140 Forelesning. Historie Skandinaviske tradisjon Sosio-teknisk metode NJMF-prosjektet( ) –Dataavtalen LO-NAF(i dag NHO) –Arbeidsmiljøloven.
Systemutviklingsmetoder Kravspesifikasjon Kirsten Ribu.
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
Kirsten Ribu HiO Systemutvikling – og web- baserte systemer Høsten 2005 Kirsten Ribu.
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 utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Beredskap Risikohåndtering, kontinuitets- og katastrofeplaner.
1 Ansvarsdrevet design og bruk av design-mønstre Utforming av klassediagrammer
Objektorientert design In 140 Sommerville kap 12 – del 1.
Programvare-prosesser
Use case realisering Designmodellering Kirsten Ribu Kapittel 4 UML Distilled.
12 spørsmål om test Besvarelse på Case – Senior Testleder -Leif Kristian helstad 26.Mai 2015.
Kap. 23 – Software Engineering How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen,
Utviklingsprosesser INF 1500; introduksjon til design, bruk og interaksjon 12 september 2011.
I den prosessorienterte organisasjon spør man
Identifisere behov – og etablere krav
RUP-prosjekt Sammenhengen med UML
Programvareprosessen styrer utviklingen
Utskrift av presentasjonen:

Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu 19.05.2005 Systemutvikling Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu 19.05.2005

Ulike typer prosessmodeller De røde er viktige i kurset: Evolusjonær (prototyping) Inkrementell (RUP) XP fossefall gjenbruksbasert spiral-modellen

Prosessmodell - faser Forstudium/”Feasability study” (Hvilke muligheter har vi?) Kravspesifikasjon (Hva skal systemet gjøre?) Design (Hvordan skal systemet lages?) Programmering (Lage systemet) V&V (Validering og verifikasjon) / Testing Har vi bygd riktig system/produkt? (validering) Har vi bygd systemet/produktet riktig? (verifikasjon) Videreutvikling/Vedlikehold/Endring

Utviklingsmodeller En modell er en oversikt over utviklingsarbeidet Modellen beskriver hvilket arbeid som skal gjøres hvordan arbeidet skal inndeles i faser og aktiviteter og arbeidstrinn Det finnes mange forskjellige utviklingsmodeller Valg av modell er avhengig av: hvor store deler av systemutviklingsarbeidet modellen omfatter hvordan faser og aktiviteter er delt inn hvor fleksibel modellen er hvordan ansvaret og organiseringen skal gjøres

Inkrementell utvikling - fordeler Viktig funksjonalitet kan leveres tidlig Tidlige inkrementer kan være prototyper som avdekker krav for senere inkrementer Mindre risko for at prosjektet skal feile og ingenting leveres Funksjonalitet med høyest prioritet blir testet best.

Extreme programming - XP En ny tilnærming til utvikling basert på utvikling og leveranse av svært små inkrementer (deler) Rask og kontinuerlig koding Brukermedvirkning i utviklingsteamet Parprogrammering Anvendbarhet: For mindre systemer

’Best practises’ ved programvareutvikling Iterativ utvikling Håndtering av krav Bruk av komponentbasert arkitektur Visuell modellering Kontinuerlig verifisering av programvarekvaliteten Kontrollerte endringer i programvaren

Oversikt over prosessen …………. Inception Elaboration Construction Transition Idefase Utdypning Konstruksjon Overgang Idefasen: Krav, omfang, lønnsomhet Utdypning: planlegging, krav, arkitektur, risiko, prototyping Konstruksjon: konstruksjon, implementering, testing Overgangsfasen: kvalitetskontroll, brukeropplæring

Grunnleggende UML Use case modellen Beskriver kravene til systemet Beskriver systemet sett fra kundens perspektiv Beskriver ’hva’ som skjer, ikke ’hvordan’ det skjer Use case er ikke ’objekt-orienterte’, men beskrivelser av hendelsesforløp

Detaljering i iterasjoner En overordnet use case modell består av diagram og en kort beskrivelse av alle use case En uformell modell har “main success” scenarier på de viktigste use case Variasjoner og feilsituasjoner (alternativ oppførsel) finnes ved hjelp av “brainstorming” Use casene detaljeres ut i flere iterasjoner til alle er komplette

Objektdesign – GRASP mønstre: Patterns of General Principles in Assigning Responsibilites: Ekspertprinsippet: La det objektet som har kunnskapen (dataene) også behandle den (Eksempel ’Spørreskjema’) Kontrollobjektprinsippet: Velg objekt som håndterer systemhendelser (Eksempel: ’SpørreskjemaHåndterer’ – use case kontrollobjekt) Skaperprinsippet: Legg ansvar for å opprette et nytt objekt i klassen som må vite om det nye objektet (Eksempel: ’SpørreskjemaGenerator’) Høy kohesjon Et objekt skal bare ha ansvar for relaterte ting Lav kobling Et objekt skal ha samarbeid med et begrenset antall andre objekter

Kostnadsestimering Ingen enkel oppgave: Tidlige estimater baserer seg på ufulstendig informasjon i kravspesifikasjonen Man må kanskje benytte ny teknologi Det kan være ukjente folk i prosjektteamet Estimater kan være selvoppfyllende profetier: Estimatet bestemmer budsjettet produktet justeres for å holde budsjettet

Bottom-up vs. Top-down Bottom-up estimering begynner med komponentene på laveste nivå, og det lages et estimat for hver del. Bottom-up tilnærmingen setter sammen estimering av enkelttdeler til høynivå estimater. Top-down estimering begynner med det overordnede produkt Estimater for enkeltdelene regnes ut som deler (prosenter) av estimatet for hele systemet.

Prosentvis bottom-up estimering basert på empiri Prosjektledelse 20% Analyse: 15% Design: 20% Koding: 25% Testing 15% Systemintegrasjon 5% Totalt 100%

Validering og verifikasjon – hvorfor? Å sørge for at et datasystem tilfredsstiller brukerens behov For å kunne vurdere hva vi gjør og hvorfor vi gjør det Behov for verifikasjon øker med størrelsen på systemet Ca 1/3 av utviklingstiden brukes å testing, noen ganger opp til 50% Systemutvikling er en industriell prosess!

V&V: Validering: “Bygger vi det riktige systemet?” Snakke med brukerne Bruke use case modellen Verifikasjon: “Bygger vi systemet riktig?” Manuelle inspeksjonsmetoder Automatisert testing

Typer testing Enhetstest Integrasjonstest Betatest Akseptansetest Tester at komponenten (klassen) virker isolert Integrasjonstest Tester at komponenten (klassen) virker sammen med andre komponenter Betatest Utvalgte kunder tar i bruk systemet før offisiell lansering Akseptansetest Tester at systemet lar brukerne gjøre det de trenger Tester med reelle data Utføres gjerne i samarbeid mellom kunder og testere Systemtest Tester at systemet oppfører seg korrekt i samspill med omgivelsene

Type testing forts. Ytelsestest (tester ytelse = hastigheten på én transaksjon) Stresstest (overbelastningstest) (tester skalerbarhet = hastigheten på mange samtidige transaksjoner) Recoverability-test (tester systemets håndtering av uforutsette avbrudd)

Testing med use case’ne Bruk use case beskrivelsene som test cases. Viktig: At use casene oppdateres ved alle endringer Test pre- og postbetingelsene Test at all beskrevet funksjonalitet er på plass ved gå gjennom hvert use case Test alle feilsituasjoner og alternativ oppførsel

Hva er konfigurasjonsstyring Konfigurasjonsstyring – disiplin for å håndtere endringer og ulike versjoner av komponenter Konfigurasjonsstyringsverktøy – støtter håndtering av versjoner av komponentene og i å konfigurere (sette sammen) et system

Takk for nå! Gruppetime i dag og fredag Lykke til med innleveringen! Hva betyr

Løsning Rebus: Kvinnenavn M