Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og. - ppt laste ned
Presentasjon om: "Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og."— Utskrift av presentasjonen:
1 Prototyping In 140 Sommerville kap. 8
2 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
3 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.
4 Bruk av prototyper Hovedbruken er for å hjelpe brukere og utviklere til å forstå systemkravene: –kravinnsamling –kravvalidering Prototyping er også en risko- reduseringsaktivitet for kravspesifikasjonen.
5 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.
6 Fordeler med prototyping (forts) Forbedret systembrukbarhet Systemet er nærmere brukernes behov Forbedret utformingskvalitet Forbedret vedlikeholdbarhet Redusert utviklingsarbeid (Fra en undersøkelse i 1995)
8 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.
10 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.
11 Evolusjonær prototyping (forts)
12 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
13 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.
14 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
15 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.
16 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
17 Bruk-og-kast prototyping (forts)
18 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.
19 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.
20 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.
21 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.
22 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.
23 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.
24 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.
25 Problemer med visuell prog. Vanskelig å koordinere lagbasert utvikling. Ingen eksplisitt systemarkitektur. Kompleks avhengighet mellom delene av programmet kan føre til problemer med vedlikehold.
26 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.
Laste ned ppt "Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og."