Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Kirsten Ribu HiO 20051 Objektorientert systemutvikling, litt UML og Rational Unified Process (RUP) UML Distilled kap. 2 Kirsten Ribu.

Liknende presentasjoner


Presentasjon om: "Kirsten Ribu HiO 20051 Objektorientert systemutvikling, litt UML og Rational Unified Process (RUP) UML Distilled kap. 2 Kirsten Ribu."— Utskrift av presentasjonen:

1 Kirsten Ribu HiO 20051 Objektorientert systemutvikling, litt UML og Rational Unified Process (RUP) UML Distilled kap. 2 Kirsten Ribu

2 Kirsten Ribu HiO 20052 Hensikten med denne delen av kurset Å lære og øve på modelleringsteknikker Å lære om gode designprinsipper Sammen bidrar dette til å oppnå høy kvalitet på det ferdige produktet

3 Kirsten Ribu HiO 20053 Objektorientering – hva er det? Et objektorientert system er bygget opp av selvstyrte strukturer Hvert objekt representerer en konkret ting (entitet) Objektet reagerer med seg selv og med andre objekter

4 Kirsten Ribu HiO 20054 Objektets egenskaper Innkapsling Polymorfisme Arv

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

6 Kirsten Ribu HiO 20056

7 7 Kravspesifikasjonen Tilhører analysefasen Definerer funksjonelle og ikke-funksjonelle krav  Funksjonelle krav: Konkrete krav til systemet som beskriver en ønsket tilstand. Enten er kravet oppfylt, eller ikke. Eks: Vi ønsker å bestille en time i Zebra systemet, og få en tilbakemelding om at timen er bestilt.  Ikke-funksjonelle krav: Kan ofte uttrykkes i tall (prosenter, antall, tid etc.) Eks: Ønskede (målbare) kvaliteter på systemet (svartid, feilprosent, antall samtidige brukere)

8 Kirsten Ribu HiO 20058 Noen kvalitetsattributter SikkertPortabeltTestbart PåliteligBrukervennligModulært RobustGjenbrukbartEffektivt ForståeligUtvidbart

9 Kirsten Ribu HiO 20059

10 10 RUP – Rational Unified Process En systemutviklingsprosess (industristandard) som beskriver:  Hvem som gjør hva, hvordan og når  Retningslinjer  Maler og mønstre  Konsepter for overvåkning/måling av fremdrift  IBM/Rational:  http://www-306.ibm.com/software/awdtools/rup/index.html http://www-306.ibm.com/software/awdtools/rup/index.html

11 Kirsten Ribu HiO 200511 IBM kjøpte Rational Software IBM Rational Unified Process®, or RUP®, is a configurable software development process platform that delivers proven best practices and a configurable architecture. Enables you to select and deploy only the process components you need for each stage of your project. The RUP platform includes: Tools for configuring RUP for your project's specific needs Tools for developing your own internal knowledge into process components Powerful and customizable Web-based deployment tools An online community for exchanging best practices with peers and industry leaders

12 Kirsten Ribu HiO 200512 The Unified Process – En prosessmodell  Use-case dreven: Use case modellen driver utviklingsprosessen, ikke bare for krav- spesifikasjon, men også for prosjektplanlegging og definisjon av test cases  Arkitektursentrisk: Basisarkitekturen, dvs. klassestrukturen etableres før utviklingen starter. Arkitekturen forfines underveis  Iterativ og inkrementell: Kontrollert inkrementell utvikling med mange iterasjoner

13 Kirsten Ribu HiO 200513 UP disipliner

14 Kirsten Ribu HiO 200514 The Unified Process forts. Prosessmodell som kombinerer best practises i software utvikling:  Iterativ livssyklus  Risikodrevet utvikling UP består av 4 faser:  Inception – gjennoførbarhetsanalyser, tidlige estimater  Elaboration – iterativ implementering av basisarkitektur, løsning av høyrisiko faktorer, identifikasjon av mesteparten av kravene  Construction – iterativ implementering av lavrisiko-elementer og forberedelser til innføring av systemet  Transition – beta-test og innføring

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

16 Kirsten Ribu HiO 200516 Eksempel på faser Inception og Elaboration 1. iterasjon Analyse: Kravanalyse: Utarbeide use case og identifisere ikke-funksjonelle krav Utarbeide domenemodell Design: Use case realisering: Utforme sekvensdiagrammer Utforme designmodell

17 Kirsten Ribu HiO 200517 En iterativ og inkrementell prosess Iterativ utvikling med flere korte, tidsbestemte iterasjoner i hver fase (for eksempel 4 uker) Hver iterasjon er et ’mini-prosjekt’ med egen kravanalyse, design-, implementering- og testaktiviteter Resultatet av en iterasjon er et testet og kjørbart system Systemet vokser inkrementelt - iterasjon for iterasjon - og leveres kunden i inkrementer (deler) RUP (Rational Unified Process) brukes i dag som prosessmodell i mange bedrifter – i store prosjekter ( www.rational.com)

18 Kirsten Ribu HiO 200518 Inception (idéfasen) – noen aktiviteter Gjennomførbarhetsanalyse Prototyping for å klargjøre krav Planlegging av 1. iterasjon Overordnet use case utforming  Finn aktører og use cases  Beskriv funksjonelle og ikke-funksjonelle krav  Finn riktig detaljeringsnivå for beskrivelsene  Detaljer ut ca 10-20% av use casene: de mest interessante, komplekse eller risikofylte

19 Kirsten Ribu HiO 200519 Elaboration (utdypningsfasen) Analysefase på systemnivå, ikke detaljnivå De viktigste eller mest kritiske deler av systemet utvikles inkrementelt Alle modeller som innvirker på hele systemet lages nå:  Mesteparten av kravene blir identifisert  80-90% av use casene blir skrevet i detalj  Sekvensdiagrammer  Klassediagram  Risikohåndtering  Mønstre (patterns) vurderes Fasen består av flere iterasjoner (f.eks 4)

20 Kirsten Ribu HiO 200520 Construction (konstruksjonsfasen) Består av mange iterasjoner Hver iterasjon inneholder analyse, design, implementering og testing på detaljert nivå Delprodukter blir ferdig dokumentert, testet og integrert Et delprodukt realiserer ett eller flere use cases Testing:  Enhetstesting: Gjøres av utvikleren på han/hennes delprodukt  Funksjonstest: En systemtest som involverer mange delprodukter, og gjøres av testere  Ved testing brukes use casene fra use case modellen

21 Kirsten Ribu HiO 200521 Transition (overgangsfasen) Programmering er ferdig Endringer gjøres for optimalisering Feilrettinger Ferdigstilling av produktet Forberedelse til pilotprosjekt Brukeropplæring Planlegging av videreutvikling (nye versjoner)

22 Kirsten Ribu HiO 200522

23 Kirsten Ribu HiO 200523 Kort repetisjon av 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

24 Kirsten Ribu HiO 200524 Ordrebehandlingssystem Kravspesifikasjon: En bedrift ønsker et online ordresystem for å kunne selge produkter fra flere forhandlere. Når kunder bestiller varer legger de inn en ordre sammen med betalingsinformasjon. Man kan legge til varer og lagre underveis for å kunne fortsette bestillingen senere. Ordre kan kanselleres etter at de er lagt inn, men før varene sendes.

25 Kirsten Ribu HiO 200525 Use case modell for ’Ordrebehandlingssystem’

26 Kirsten Ribu HiO 200526 Et UML sekvensdiagram viser hendelsesflyten i et use case viser interaksjoner (samarbeid) mellom objekter i systemet viser rekkefølgen på beskjedene som sendes mellom objektene kan brukes til å identifisere metodene til objektene i systemet Sekvensdiagrammer: fra krav til design

27 Kirsten Ribu HiO 200527 Use case ’Lag ordre’ Aktør: Kunde Sekundær aktør: Regnskapssystem 1.Systemet viser et ordreskjema med varebeskrivelser 2.Kunden skriver inn de ønskede varene og betalingsinformasjon 3.Systemet sjekker at alle felt er fylt ut og viser totalsum 4.Kunden bekrefter bestillingen 5.Systemet lagrer ordren og sender betalingsinformasjon til regnskapssystemet 6.Regnskapssystemet bekrefter betalingsinformasjonen 7.Systemet sender en ordrebekreftelse til kunden

28 Kirsten Ribu HiO 200528 Sekvensdiagram for ’Lag ordre’

29 Kirsten Ribu HiO 200529 Domenemodell Domenemodellen tilhører analysefasen og er en representasjon av objekter i domenet. Domeneklassene gjenspeiler objekter i den virkelige verden, ikke systemkomponenter Lages i parallell med use case modellen Typisk informasjon om objektene:  Assosiasjoner  Attributter  Multiplisitet

30 Kirsten Ribu HiO 200530 Overordnet domenemodell

31 Kirsten Ribu HiO 200531 Designmodell - Design En designmodell viser systemklasser, ikke konseptuelle klasser som i domenemodellen Typisk informasjon er:  Klasser, assosiasjoner, attributter og navigasjon  Grensesnitt  Metoder  Avhengigheter

32 Kirsten Ribu HiO 200532 Eksempel OrdreProdukt har 1…* 1 assosiasjonsnavn multiplisitet Pil for leseretning (kan utelates) navigasjonspil

33 Kirsten Ribu HiO 200533 Designmodell for ordre- systemet - overordnet

34 Kirsten Ribu HiO 200534 Om prosjektoppgaven Obligatoriske innleveringer Frister for innleveringer kommer fortløpende på websiden  Webside for prosjektet: Skal være ferdig i løpet av neste uke. For tips om utforming: http://www.webpagesthatsuck.com/ http://www.webpagesthatsuck.com/ Bestem dere for et prosjekt Eksempel: 4 kokker http://student.iu.hio.no/~s115359 http://student.iu.hio.no/~s115359 Husk: Prosjektet må ha et navn 1. Leveranse: Prosjektbeskrivelse med kravspesifikasjon og overordnet use case modell. Frist: fredag 4. februar

35 Kirsten Ribu HiO 200535 Oppgaver Hva er en modell? Hva er en systemutviklingsmodell (prosessmodell)? Hvorfor bruker vi prosessmodeller? Beskriv Fossefallsmodellen med egne ord Hva er RUP? Hvilke faser inngår i RUP, og hva skjer i de ulike fasene? Hva kjennetegner objekt-orientering? Hva er et use case, og hva brukes det til?

36 Kirsten Ribu HiO 200536 Neste gang Use case modellering – utbrodert Kap 3 i UML Distilled


Laste ned ppt "Kirsten Ribu HiO 20051 Objektorientert systemutvikling, litt UML og Rational Unified Process (RUP) UML Distilled kap. 2 Kirsten Ribu."

Liknende presentasjoner


Annonser fra Google