Arne Maus, Ifi, Uio © 2002 1 IN-OBJ2-EVU - UP/UML- del 1- Inception Arne Maus Inst. for informatikk, UiO.

Slides:



Advertisements
Liknende presentasjoner
Hvor stor er en fisk? Yggdrasil Hvor stor er en fisk?  Vanlige kundetyper og prosjekter  Faktorer som påvirker.
Advertisements

Kjøpte produkter - Rabatter - Budsjett 3 moduler som er integrert i SuperOffice Påfølgende bilder vil vise en enkel forklaring og noen skjermdumper om.
Tabeller av objekter Klassen ArrayList
Avhengigheter og installering
Antalis-HQ BRUKERVEILEDNING FOR BESTILLINGER. Antalis, Europas ledende distributør av papir, emballasjeløsninger og dekor & display produkter, presenterer.
Del 3 : Patterns (Kap 16 – kap 20, Craig Larman) Arne Maus Inst. for informatikk, UiO.
Hvordan etablere nettbutikk med GoOnline Commerce
GoOnline publisering Hvordan komme i gang med GoOnline. Denne presentasjonen tar deg steg for steg gjennom oppsett av nettsted med bruk av GoOnline Proffesional.
Ncg | group om |navigator™ xlforecast™
Utlandsprosessen Studiestøtteonferansen i Stockholm 1. – 3. juni 2014.
Praktisk info til prosjektkunder
Grafisk design Visuell kommunikasjon
Au2Pc med kortleser TPpay. Hurtigbruksanvisning.
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
Kontrollstrukturer (Kapittel 3)
Teknologiledelse 1 Hvordan utvikle produkter med høy designfokus Kristine Holbø SINTEF Teknologiledelse.
1 Litt om OO og programmering Arne Maus. 2 OO og Java (og C++, C#)  Arven fra Simula  Programstruktur i Java  Generering av objekter  Beskyttelse.
Programmering i Java versjon januar 2005 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
UML & object models av gruppe 8
Prototyping & Use Case Software Engineering Gruppe
Prosedyre for IPLOS- registrering Hjemmetjenesten, Øra distrikt
IS-102 Klassedefinisjoner
Eiendomsregister - eksempel
1 Oppgave gjennomgang Kap Oppgaver -Kap 12: 1, 2, 3, 5, 7, 8, 11, 18, 19.
Grunnleggende testteori
Prototyping In 140 Sommerville kap. 8. Mål Forstå hensikten med prototyping i forskjellige utviklingsprosjekt Forstå forskjellen mellom evolusjonær og.
Feilhåndtering. Feil er uunngåelige! Erfaring viser at feil i dataprogrammer som består av mer enn noen få linjer ikke er til å unngå. For å få et godt.
4/4/2017 IMT2243: 17.februar 2011 Domenemodellering / Konseptuelle Klassediagram Monopol- eksempel SSD : System Sequence Diagram Kort repetisjon av teknikken.
Hovedprinsipper i Rational Unified Process
Bendik Bygstad Høgskolen i Vestfold RUP-prosjekt Sammenhengen med UML 1.Hovedstruktur i RUP-prosjekter 2.Faser og iterasjoner 3.Sammenhengen med.
I dag snakker vi om: Brukergrensesnitt med kvalitet Bruksegenskaper Normans 7 stadier Testing med papirprototyp.
Eksempler: Pantemaskinen Airborne-systemet
Oppsummering av hovedområdene i kurset LO 135A Kirsten Ribu
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.
Gruppe 3 – Presentasjon 2 Henning Kristiansen, Mats Lindh, André Hauge og Vegard Simensen.
Object Oriented Measurement
Programmering i Java versjon desember 2002 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
1 Organisering av kode (Kapittel 5). 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte.
Konfigurasjonsstyring Configuration Management
Å lese tall fra en fil, klassen Scanner 1.Et Scanner-objekt kan knyttes til et strømobjekt eller til en streng. 2.Kan skanne teksten etter data av ulike.
Programmering sif8005. Praktisk informasjon  Innleveringsfrist øvinger: mandag kl  Alle øvinger er obligatoriske  Studass tilgjengelig 6 timer.
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.
PUG-NORWAY OKTOBER 2008 THOMAS SKJØRTEN, HILDE ANDREASSEN UML og OpenEdge OOABL.
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.
Metode for systembeskrivelse og
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
Objektorientert utforming In 140 Sommerville kap. 12.
Utvikling av rettslige beslutningssystemer, oversikt over emnet og presentasjon av ”Fra lovtekst til programkode” Utvikling av rettslige beslutningssystemer,
Forstudie Nå situasjonen: dagens situasjon med ulemper og fordeler
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 design
Konstruksjon og Testing Torsdag 30. september 2004 Av Even Aasland Harald Ueland.
Objektorientert utforming In 140 Forelesning Nr 11 Sommerville kap 12 – del 1.
Inf1000 (Uke 5) Arrayer, filer og tekst
Kapittel 4 Skriving av klasser. 4.1 Anatomien til ein klasse Så langt har vi brukt ferdige klasser frå klassebiblioteket i Java Vi lagar objekt og brukar.
Use case realisering Designmodellering Kirsten Ribu Kapittel 4 UML Distilled.
Android-Programmering Våren Oversikt Long-running operasjoner Introduksjon til Android services On-demand service Bruk av servicer på tvers av prosesser.
IN 265 Våren 2003 : Forelesning : Design av arkitektur og komponent 1 IN250 – Om komponent design Mål for forelesningen: l Se på prinsipper.
Registrering av testresultater fra mobiltelefon
Driftsbudsjett og regnskap
I den prosessorienterte organisasjon spør man
Identifisere behov – og etablere krav
RUP-prosjekt Sammenhengen med UML
Ting Forbindelser Ting og forbindelser blir til sammen et diagram
IN3030 – Effektiv parallellprogrammering Uke 1 2. del, våren 2019
Utskrift av presentasjonen:

Arne Maus, Ifi, Uio © IN-OBJ2-EVU - UP/UML- del 1- Inception Arne Maus Inst. for informatikk, UiO

2 Oversikt  Litt repetisjon  Java  UML  (P)UP – systemutviklingsprosessen  De ulike stadiene og bruk av UML  Domene-modellen og designmodellen, interaksjonsdiagrammer  Vi skal gå gjennom de 3 første fasene i UP med et eksempel

3 Java - repetisjon zAlt er objekter (eller enkle datatyper (int, char, double,..)) zAlle egenskaper - dvs. data og metoder (prosedyrer) er inne i klasser zAlle utførende setninger er inne i metoder i klasser. zDet finnes klasse-metoder og -data i tillegg til objekt-metoder og -data zBekyttelse (private, protected, public, ’friendly’/package)) zEnkel arv - alle klasser er sub(eller subsub,...) klasse av class Object zDynamisk binding - alle metoder er (med mindre man sier noe annet) ’virtuelle’ zAbstrakte klasser og grensesnitt zSøppeltømmer zUnntaks(feil)håndtering zParallellitet: Tråder zSpesielle mekanismer for www (applet, mm)

4 Faser, aktiviteter, iterasjoner og produkter (RUP)

5 Om aktiviteter og faser – kap 2 Aktiviteter (radene)  Forretnings-modellering - > Domenemodel  Kravspec -> Use Case + andre krav  Analyse & Design -> Designmodel +.. Faser (kolonnene, iterasjonene):  Oppstart/Interception (Use Case, Kravspec, Prosjektmål, enkle estimater)  Vidererbearbeiding/Elaboration (mer Use Case & krav, analyse design, kjernearkitektur, et enkelt system kjører  Konstruksjon/Construction ( Mer krav, mer analyse&design, implementasjon,...)  Trasisjon( beta test, sette i drift)

6 Aktiviteter og produkter (oversikt)

7 Problem 1 POS (kasse-apparat) – kap 3 Ny generasjon kasseapparat :  Hva gjør et salgs-punkt-kasse apparat  Registrerer salg (ulike typer varer & inndatakilder)  motta betaling (ulike former : cash, kort, sjekk, krita..)  gi kvittering  gi opplysninger (skatteberegninger, logføre salg, oppdatere lagerbeholdning..)  feilsituasjoner  spesielle situasjoner (rabatter, vedlikehold, endringer i priser)

8 Oppstart / Inception – kap 4  Hva er forretningsideen for prosjektet  Er det gjennomførbart  Hva kjøpes / hva lages selv  Første kostnadsoverslag  Fortsette eller stoppe ?  Varighet: Et par uker max.

9 Hva skal lages (delvis)  Produkt-ideen / Forretningsplanen 1 utkast  Use Case – de fleste navngis eller lages i 1 versjon  Andre kravspesifikasjoner  Sentrale begreper defineres  Risiko – list vanskelige/dyre krav  Lag en enkel prototyp (prøve ut ett par vanskelige punkter) – kastes  Iterasjons-plan – 1 ver.  Finne/navngi de fleste sentrale aktører (de med interesse i produktet)

10 Å forstå prosjektkravene – typer av krav – kap 5  Funksjonelle  egenskaper / antall & typer funksjoner, sikkerhet,..  Brukervennlighet  Ergonomi, GUI, dok, mm  Ytelse svartider, maks. antall brukere oppetid,.  Support  Endrbarhet, vedlikeholdbarhet, internasjonalisering,.. + Språk, vektøy, hw, grensesnitt, samarbeidende systemer, regelverk (lov om..)

11 Hvordan få ned kravene til systemet – kap 6  Bestemme systemets grenser / virkeområde  Hva er utenfor, hvilke forbindelser har systemet, hva gjør det selv  Finne sentrale aktører  de som har kontakt/samhandling / gjør noe med systemet eller systemet gjør noe med  Både mennesker og andre datasystemer  Identifisere aktørenes mål for / hensikt med systemet  Skrive typiske brukssituasjoner = Use Cases  N.B er en tekstlig liste av brukssituasjoner – IKKE diagrammer først  Ikke bare normale tilfeller, men også for alle typer feilsituasjoner  Andre krav identifiseres  Ytelse, verktøy, hw, database,..

12 Finne aktører – Kasseapparat  Hvem  Bruker systemet daglig - kassabetjenten  starter/stopper systemet - Butikksjef  tar hånd om sikkerhet - Systemansvarlig  leser logger, bruker data som fanges – ledelsen i firma / salgssjef  Oppdatere datagrunnlaget (regler, kontanttabeller (priser)) – systemansvarlig eller butikksjef  Hvilke  andre data-systemer kommuniserer det med – lagersystemet, regnskap, skatteberegning  Lag liste over aktørene og deres mål med systemet

13 Bruksitusjoner (Use Case) – hvordan lage første (ufullstendige) utkast  Spør etter hensikten for en aktør med systemet – ikke hva man forventer det skal gjøre  Start med et verb for å navngi et Use Case  Behandle systemet som en ’sort boks’

14 Eks: Kassaterminalen – aktører og ønsker  Primær aktør: Kassabetjent  Ønsker høy nøyaktig (få feil), rask registrering, ingen betalingsfeil, brukervennlig (ergonomi mm)  Selger:  Ønsker registrert salg (bonus) på seg  Firma  ønsker nøyaktig registret antall solgte varer og beløp, fornøyde kunder, drift selv om linjer til bank etc. er nede, minimalt svinn  Staten  Ønsker registret nøyaktig salg – muligens direkte innrapportert  Bank / Visa / MasterCard  Nøyaktig registrering av kort, autorisering av bruker, sikker overføring. Identifikasjon av kassabetjent

15 Use Cases - eksempler  Salg - hovedsenario – uten feil : 1. Kunde kommer til terminal med varer 2. Kassabetjent starter nytt salg 3. Systemet registrerer ny varetype og antall 4. Systemet lager en varelinje med antall type og pris (totalt og denne vare) – vis total på display 5. Gjenta 3-4 til ferdig 6. Systemet presenterer total inkl. moms 7. Betjent ber Kunde om betaling 8. Kunden betaler og Systemet mottar betalingen 9. Systemet logfører salg til lagersystem og i økonomisystem 10. Systemet skriver kvittering 11. Kunde forlater skranke med kvittering og varene

16 Andre senarioer – eks: 1. Generelt ved feil, sikre konsistent oppstart og riktig betalings-registrering : 1. Betjent restarter systemet, logger inn spør om nåværende feilsituasjon 2. Systemet rekonstruerer tidligere tilstand 1. Ved feil som hindrer gjenstart: 1. Systemet signaliserer feiltype til Betjenten, og går over i en annen sikker tilstand 2. Betjenten starter et nytt salg (hvis mulig å starte) 2. Kunde sier han skal ha rabatt: 1. Betjent registrerer rabatt-forespørsel 2. Betjenten registrerer Kundens identifikasjon 3. Systemet gir nå ny total-pris basert på rabatt-type (hvis gyldig)

17 Ethvert Use Case har sin for- og etter betingelse  Forbetingelse:  Noe som alltid må gjelde før et Use Case kan starter  Eks: KassaBetjenten har identifisert seg og logget inn før salg kan starte  Etterbetingelse  Noe som gjelder etter at et Use Case er ferdig  Eks: Salget er sikret både på egen logg, i lagersystemet og i regnskap, Kvittering utskrevet, Evt. kommisjon godskrevet selger.

18 Om Use Case  Et Use Case :  håndterer en oppgave for en person på ett sted og til en tid for å gjøre en handling som endrer vedkommendes (forretnings)interesser målbart, og som etterlater data i en konsistent tilstand.  Dvs. Lag et Use Case for hver av aktørenes mål  Utvidelse / feilsituasjoner er mye lenger enn normaltilfellet – langt flere alternativer  Lag betingelser for Use Case som Systemet kan oppdage (Hvordan starter et Use Case)  Eks: Systemet oppdager linjefeil til bank – IKKE: Linjen til banken er nede  Bland ikke inn GUIen (brukergrensenittet) i et Use Case

19 Use Case er IKKE objekt- orientert  Grovt sett drives resten av systemutviklings- prosessen videre av at man utvikler flere Use Case og implementerer disse.  En iterasjon (i enten viderebearbeiding eller realisering) er å velge noen Use Case som implementeres i den iterasjonen.  Tegn UML diagrammer for hvert mål for hver aktør  (N.B. Ikke for alle Use Case’ne)  Lag oversiktsliste for Use Casene

21 Å finne andre krav – kap 7  Funksjonalitet  Logging av transaksjoner og feil,  Forretningsregler (kan endres)  Sikkerhet  Ergonomi (Eks: Tall synlige på 1 m.- bruk lydsignal ved strek-kodelesing)  Ytelse, feilhåndtering, konfigurering, krav til hw og sw.  Prissetting, rabatter, kredittsystem, Moms, ulike strekkoder  Ulike rapporter  Lisenser mm.  brukerstøtte, opplæring, dok

22 Å lage et forretningsmål, visjon for systemet  Består av opptil 50 egenskaper for Systemet  Gruppert i ulike overskrifter  En egenskap skal kunne brukes i flg. setning:  Systemet skal kunne  eks: Gjøre betalings-autorisasjon, håndtere et salg, skrive kvittering, gi feilmeldng ved uleselig strek-kode, oppdatere lager-registeret,.....  Skriv først et utkast til visjon  Identifiser brukermål og tilhørende Use Case’er  Skriv ut Use Case og tilhørende tilleggskrav  Redeifiner visjonen for systemet

23 UP er en Use-case drevet prosess

24 Domene-modellen

25 Design-modellen (videreutvikles fra domenemodellen, tar bl.a med I/O, maskinene)

27 Oppsummering av Oppstart / Inception  De fleste aktører, mål og use case’r er navngitt  Noen av Use casene er delvis utskrevet  De vanskeligste kravene er identifisert, risikoliste utarbeidet  Forretningsideen ver. 1 laget  Tekniske vanskelige punkter uttestet (Eks: Java Swing mot ’berøringsskjerm’ – virker det?)  Laget prototyp for litt av brukergrensesnittet  Vektøy og ferdige komponenter innkjøpt  Plan for første iterasjon laget  Utkast til høynivå arkitektur (Eks. to-lags arkitektur med fete klienter, SQL-Server,.NET og C#,