UML Distilled kap. 2 Kirsten Ribu

Slides:



Advertisements
Liknende presentasjoner
Prosjektrettet systemarbeid Tema: introduksjon til systemarbeid
Advertisements

Praktisk info til prosjektkunder
Systemutviklingsmetoder Kravspesifikasjon
Innføring i The Rational Unified Process
Dokumentasjon og Planlegging av større IT-prosjekter
Elementer av en utviklingsprosess
Målinger generelt •I et moderne samfunn brukes målinger i mange ulike sammenhenger •Eksempler: –Sammenligne priser, lønninger –Høyde: størrelse på klær.
Universell utforming Kirsten Ribu HiO Evaluering av datasystemer Analyse av systemegenskaper Kirsten Ribu
Use case modellering Kravspesifikasjon
Mer om tilgjengelighet og Flash. Kirsten Ribu HiO.
UML & object models av gruppe 8
Prototyping & Use Case Software Engineering Gruppe
Unified Process – Elaboration Iterasjon 3
Flere UML diagrammer UML Distilled kap. 7,8, 9 Kirsten Ribu
Estimeringsmetoder. Kirsten Ribu HiO - Kirsten Ribu 2005.
Flere UML diagrammer UML Distilled kap. 7,8, 9 Kirsten Ribu
UML Distilled kap Kirsten Ribu
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
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.
1 KravprosessenKravprosessen Noen sentral punkter.
Introduksjon til systemutvikling
Kort om oppgavestiller Sintef Energiforskning AS, avdeling for kraftproduksjon og marked. Driver med oppdragsforskning i det nasjonale og internasjonale.
Kryptografi og nettverkssikkerhet
IMT3102 Objektorientert 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”
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.
Objektorientering i systemutvikling god organisering av kode UML som beskrivelsesspråk softwareprosesser.
Kirsten Ribu HiO Systemutvikling – LO 135A Høsten 2005 Kirsten Ribu.
Oppsummering av hovedområdene i kurset LO 135A 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.
INTERNETT FORMÅL: Å skape forståelse for og gi kunnskap om utvikling av klient-tjener apllikasjoner basert på web.
1 Skal vi snakke sammen? Jan Håvard Skjetne SINTEF / University of Melbourne
Empiriske metoder Oppgaveanalyse, observasjon
UML og grensesnitt UML er standard for modellering innen objekt-orientert programvare kan UML også brukes til modellering av grensesnitt? fordel: bedre.
Ledelse av systemutviklingsprosjekter Leikny Øgrim Høgskolen i Oslo.
Prosjektoppgave Modelldrevet utvikling og brukeragenter for kommunikasjon i sykehusomgivelser Marie S. Fuglesang NTNU, høsten 2004.
”Voksne funksjonshemmedes læring” - - Skandinavisk innsats i takt eller utakt?
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."
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
HJELPER TILTAK? Unni Espenakk Unni Espenakk 2005.
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.
Kirsten Ribu Samfunnsinformatikk Mer om tilgjengelighet Kirsten Ribu HiO.
Programvare- prosesser - del2 In 140 Forelesning nr. 4 Sommerville kap. 3.
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.
Kirsten Ribu - HiO Personvern, anonymitet, ytringsfrihet. Og om prosjektarbeidet Kirsten Ribu
Objektorientert design
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.
Use case realisering Designmodellering Kirsten Ribu Kapittel 4 UML Distilled.
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
RUP-prosjekt Sammenhengen med UML
Programvareprosessen styrer utviklingen
Koblingspunkter og diagramtyper
Utlånssystem for datautstyr
Utskrift av presentasjonen:

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

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 Kirsten Ribu HiO 2005

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 Kirsten Ribu HiO 2005

Objektets egenskaper Innkapsling Polymorfisme Arv Kirsten Ribu HiO 2005

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

Kirsten Ribu HiO 2005

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) Kirsten Ribu HiO 2005

Noen kvalitetsattributter Sikkert Portabelt Testbart Pålitelig Brukervennlig Modulært Robust Gjenbrukbart Effektivt Forståelig Utvidbart Kirsten Ribu HiO 2005

Kirsten Ribu HiO 2005

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 Kirsten Ribu HiO 2005

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 Kirsten Ribu HiO 2005

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 Kirsten Ribu HiO 2005

UP disipliner Disipliner, tidligere workflows, = aktiviteter Kirsten Ribu HiO 2005

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 Feasability- gjennomførbarhets analyse- skal man fortsette med prosjektet eller stoppe. Kirsten Ribu HiO 2005

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 Kirsten Ribu HiO 2005

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 Kirsten Ribu HiO 2005

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) Kirsten Ribu HiO 2005

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 Kirsten Ribu HiO 2005

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) Kirsten Ribu HiO 2005

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 Kirsten Ribu HiO 2005

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

Kirsten Ribu HiO 2005

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 Kirsten Ribu HiO 2005

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. Kirsten Ribu HiO 2005

Use case modell for ’Ordrebehandlingssystem’ Kirsten Ribu HiO 2005

Sekvensdiagrammer: fra krav til design 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 Interaksjoner: Interaksjoner: Hvordan objektene samarbeider Beskjeder: På det abstrakte planet. Vi ser det utenfra. Metoder: Implementert. Konkret. Nå er vi inne i programvaren Kirsten Ribu HiO 2005

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

Sekvensdiagram for ’Lag ordre’ Kirsten Ribu HiO 2005

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 Kirsten Ribu HiO 2005

Overordnet domenemodell Kirsten Ribu HiO 2005

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

Eksempel assosiasjonsnavn Pil for leseretning (kan utelates) har Ordre Produkt 1 1…* multiplisitet navigasjonspil Kirsten Ribu HiO 2005

Designmodell for ordre-systemet - overordnet Kirsten Ribu HiO 2005

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/ Bestem dere for et prosjekt Eksempel: 4 kokker 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 Kirsten Ribu HiO 2005

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? Kirsten Ribu HiO 2005

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