Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.

Slides:



Advertisements
Liknende presentasjoner
Leif Krane, Datakvalitet AS, Tromsø
Advertisements

Prosjektrettet systemarbeid Tema: introduksjon til systemarbeid
Stock Optimiser Beslutningsstøtteverktøy for optimalt reservedelslager
Programmering i ActionScript - hva er det, og hvordan undervise?
ISO 9000:2000 Prosessorientering v/Per L. Berge Excellence Norway
Mobilitet Fordeler / ulemper Maximo Høstmøte - Oslo 5-7 oktober 2010
Terje Hjerpbakk Oppgave 2 Vår ING. Problemstilling  Designe en database og lage et program som gjør det mulig å lage fleksible spesifikasjoner/rapporter.
Prototyping & Use Case Software Engineering Gruppe
MS kap 61 Nye trender  Vi skal se på  Virtualisering  ”Cloud computing”
Tips og triks Strukturering av større applikasjoner Automatiserte tester. Kristian Johannessen
Programmering av dynamiske websider i C# - hva er det, og hvordan undervise? Tom Heine Nätt.
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
Verifikasjon og validering
Programvare-prosesser
Systemmodeller In 140 Sommerville kap. 7. Mål Forstå hensikten med kontekstmodell Forstå ideene bak –oppførselsmodellering –datamodellering –objektmodellering.
Introduksjon til systemutvikling
Reidar Wisløff 3DSU Hovedprosjekt 16E
Kravanalyse og spesifikasjon
1 Skal vi snakke sammen? Jan Håvard Skjetne SINTEF / University of Melbourne
Innledning SIF80AP Future and HCI av Brad Myers m.fl.
  © Steria FitNesse som nyttig verktøy Smidig FitNesse som nyttig verktøy Anders Vindvad.
Software Requirements Elicitation
Testing av system Gruppe 6 Henrik Bækhus Morten A. Iversen Mathias Bondeson Gunnar K. Kulleseid Svein Ivar Kristiansen Ronny Hulthin.
Programmering i ActionScript - hva er det, og hvordan undervise?
Livet etter Frontpage og Access Tom Heine Nätt. Agenda Frontpage Hvorfor bytte? Krav til et webutviklingsverktøy Alternative webutviklingsverktøy Dreamweaver.
Tjenesteorientert arkitektur Hvordan statistikkproduksjonen støttes og forbedres av en tilpasset IT arkitektur Nordisk statistikermøte København.
Programvareendring del 2 In 140 Forelesning Nr 22 Sommerville kap 27, 2. Del.
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.
Kapping av plater Mål: Vi skal lage komponenter for en møbelfabrikk ut fra standardiserte plater på 12 x 24 dm. Komponentene har lengde og bredde oppgitt.
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.
4. Prioritizing Your Usability Problems Prioriteringer.
Forretningsplan, Nettsted med Flash, Ajax, PHP, MySQL
Teknisk utstyr database
1 Prototyping: verktøy og teknikker u Årsaker til å lage en prototyp u Konsekvenser for prototypen u ”Lag og kast” vs. evolusjonær utvikling u Horisontale.
Objektorientert utforming In 140 Sommerville kap. 12.
1 Systemering In 140 forelesning nr. 2 Sommerville kap. 3.
Utvikling av tegneverktøy for Generalized Sketches Student: Ørjan Hatland Veiledere: Yngve Lamo, Høgskolen i Bergen Uwe Wolter, Universitetet i Bergen.
Programvareendring del 1 In 140 Forelesning Nr 21 Sommerville kap 27, 1. Del.
Systemutviklingsmetoder Kravspesifikasjon Kirsten Ribu.
Subversion addin for Visual Studio.NET av: Arild Fines Per August Krämer Kristin Borud.
In Forelesning Sommerville kap 4 andre del
YXD-Kurdistan Om oss Asad Fattahi Samarbeidet i flere andre prosjekter
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
Trondheim Lytte- og Læresenter. Sammendrag Prosjektet ble iverksatt fordi Trondheim Lytte- og Læresenter så behovet i å ha et elektronisk kundearkiv i.
Helseinformatikk Øving 2. Studie av modeller GLIF –Protégé GEM – GEM Cutter.
Gamle systemer In 140 Forelesning Nr 19 Sommerville kap 26.
VirusLab Utvikling av en profesjonell applikasjon.
Av Ole Martin Klausen Ove Stokke Kenneth Hårstad.
FINF- H -05, 13. september 2005 Arild Jansen. AFIN/UiO 1 FINF Forelesning 13.sept Personvern som premiss for SU-prosessen Diskusjon om personvern.
Subversion addin for Visual Studio.NET av: Arild Fines Per August Krämer Kristin Borud.
1 Kap. 57 – Cloud Computing How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen, Universitetet.
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Subversion addin for Visual Studio.NET Gruppe 03-10: Arild Fines Per August Krämer Kristin Borud.
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
Online butikk for navneskilt og stempler
Gruppe 3 - DNVS. DNVS Programvarehus innen DNV 3 avdelinger med forskjellig fokus 1 ”støtte” avdeling som vi arbeidet for Programmet vi undersøker heter.
Kap. 25 – Simpler Software Development for Niche Companies How Information Technology Is Conquering the World: Workplace, Private Life, and.
Design, protoyping og konstruksjon INF 1500; introduksjon til design, bruk og interaksjon 4 oktober 2010.
Kap. 23 – Software Engineering How Information Technology Is Conquering the World: Workplace, Private Life, and Society Professor Kai A. Olsen,
Produktnavn Tittel på presentasjon. Oversikt Gi en kort beskrivelse av produktet eller tjenesten, brukerproblemene som løses, og brukerne produktet eller.
Tips og råd Til hva dere bør tenke på når dere setter samme et business case (basert på innspill fra seminar )
Nye trender Vi skal se på Virtualisering ”Cloud computing”
Sett inn bilde av produkt her
Frode Hammer Håvard Gustad
PROTO.IO INTERAKTIV PROTOTYPING.
Utskrift av presentasjonen:

Prototyping In 140 Sommerville kap. 8

Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og bruk-og-kast prototyping Ha sett på dynamisk høynivåspråk, databaseprogrammering og komponent- sammensetning for rask prototyping Forstå begrensningene

System prototyping Prototyping er rask systemutvikling Tidligere ble prototyper alltid kastet. Nå er grensen mellom prototyping og vanlig systemutvikling uklar. Mange system blir utviklet med en evolusjonær tankegang.

Bruk av prototyper Hovedbruken er for å hjelpe brukere og utviklere til å forstå systemkravene: –kravinnsamling –kravvalidering Prototyping er også en risko- reduseringsaktivitet for kravspesifikasjonen.

Fordeler med prototyping Misforståelser blir avslørt. Manglende og forvirrende tjenester kan bli identifisert. Kan bli brukt til brukertrening og systemtesting. Et virkende system er tidlig tilgjengelig. Kan brukes til å utlede system- spesifikasjoner.

Fordeler med prototyping (forts) Forbedret systembrukbarhet Systemet er nærmere brukernes behov Forbedret utformingskvalitet Forbedret vedlikeholdbarhet Redusert utviklingsarbeid (Fra en undersøkelse i 1995)

Prototypingsprosessen

Prototypingsmetoder/mål Evolusjonær prototyping: –Systemutvikling hvor en prototyp blir utviklet og forbedret gjennom mange steg til det ferdige systemet. (Boehms spiralmodell.) Bruk-og-kast prototyping: –Utvikles for å hjelpe til med systemkravspesifikasjonen og kastes når kunden er fornøyd.

Fremgangsmåter

Evolusjonær prototyping Brukes mest for system hvor spesifikasjonen ikke kan utvikles på forhånd, for eksempel web/GUI. Basert på teknikker som tillater raske systemiterasjoner. Verifikasjon er umulig. Validering vil si å demonstrere at systemet fungerer tilfredsstillende.

Evolusjonær prototyping (forts)

Evolusjonær proto. fordeler Raskere levering av systemet Brukerne er engasjert med systemet under utviklingen –Mer sannsynlig at brukerkrav blir innfridd –Mer sannsynlig at brukerne vil bruke systemet

Evolusjonær proto. ulemper Administrasjon. Fossefallmetoden som er standard passer ikke. Utvikling går for fort til at man kan dokumentere. Vedlikehold. Kontinuerlige endringer ødelegger strukturen i systemet. Kontrakt. Manglende kravspesifikasjon gjør det vanskelig å skrive kontrakt.

Evolusjonær prototyping Spesifikasjon, utforming og utvikling er blandet. Systemet blir utviklet i en serie av steg som blir levert til kunden. CASE-verktøy og 4GL-er blir brukt for rask utvikling

Prototyper som spesifikasjon Noen deler av kravene (f.eks. sikkerhetskritiske funksjoner) er umulig å prototype og er derfor ikke med i spesifikasjonen. Prototypen er ingen juridisk kontrakt. Ikke-funksjonelle krav kan ikke bli tilfredsstillende testet.

Bruk-og-kast prototyping For å redusere risiko ved krav Utviklet fra en spesifikasjon, levert for eksperimentering og deretter kastet. Prototypen skal IKKE betraktes som et ferdig system: –Deler av systemet er utelatt –Dårlig struktur og vanskelig å vedlikeholde

Bruk-og-kast prototyping (forts)

Prototypleveranse Utviklere kan bli presset til å levere en kast-og-bruk prototyp som et ferdig produkt. Det er ikke anbefalt: –Kan være umulig å møte ikke-funksjonelle krav. –Ikke dokumentert og følger muligens ikke bedriftens kvalitetsstandard. –Systemstruktur er ødelagt.

Teknikker for rask prototyping Noen eksempler er dynamisk høynivåspråk, databaseprogrammering og komponentsammensetning. Disse teknikkene brukes ofte sammen. Visuell programmering er del av de fleste prototyputviklingssystemer.

Dynamisk høynivåspråk Språk som har gode dataadministrasjonsegenskaper. Trenger stor run-time støtte. Vanligvis ikke brukt for utvikling av store system. Noen språk tilbyr enkel GUI-utvikling. Noen har gode utviklingsmiljø for prototyping.

Databaseprogrammering Områdespesifikke språk for industri- systemer basert rundt en database. Inkluderer vanligvis database- spørrespråk, skjerm- og rapportlager og regneark. (Kjent som 4GL.) Kan være integrert i et CASE-verktøy. Kostnadseffektivt for små til mellomstore industrisystemer.

Komponentsammensetning Prototyper utvikles raskt fra gjenbrukbare komponenter som ’limes’ sammen med en eller annen teknikk. Teknikken som ’limer’ må ha kontrol- og kommunikasjonsegenskaper. Systemspesifikasjonen må ta hensyn til eksisterende komponenter.

Prototyping med gjenbruk Applikasjoner. –Hele applikasjoner blir integrert med prototypen. Komponenter –Individuelle komponenter blir integrert i et felles rammeverk. –Rammeverket kan være et skriptspråk (Tcl/Tk, Perl osv) eller integrasjonsrammeverk som CORBA.

Visuell programmering Noen skriptspråk (som Visual Basic) støtter visuell programmering hvor en prototyp blir utviklet ved å lage en GUI fra standard deler/komponenter. Det eksisterer store bibliotek av komponenter som støtter slik utvikling. Komponentene kan tilpasses.

Problemer med visuell prog. Vanskelig å koordinere lagbasert utvikling. Ingen eksplisitt systemarkitektur. Kompleks avhengighet mellom delene av programmet kan føre til problemer med vedlikehold.

Prototyping av brukergrensesnitt Siden det er umulig å forhånds- spesifisere en GUI på en effektiv måte, er prototyping essensielt. GUI-utvikling tar en økende del av de totale utviklingskostnadene. GUI-lagere kan brukes til å ’tegne’ grensesnittet, f.eks. websider kan lages med websideredigerer.