Systemutvikling med UML. Øyvind Stavdahl Institutt for teknisk kybernetikk, NTNU Oktober 2004
|
|
- Berit Haraldsen
- 7 år siden
- Visninger:
Transkript
1 Systemutvikling med UML Øyvind Stavdahl Institutt for teknisk kybernetikk, NTNU Oktober 2004
2 Denne kursbolken er basert på Martin Fowler, UML Distilled, Third Edition Addison-Wesley, ISBN Stoffet er primært hentet fra kapittel 1-4 og 9-12
3 To ord om terminologi Norske ord og begreper bør brukes der de kan brukes UML er et engelsk-basert modelleringsspråk. Norske ord brukes her sporadisk når det er åpenbart hvilket UML-begrep vi snakker om
4 Innhold 1. Intro til UML SA/SD vs. UML 2. Funksjonskrav: Use case-diagram Sekvensdiagram 3. Informasjons-rommet : Klassediagram 4. Tilstandsrommet : Tilstandsmaskin Aktivitetsdiagram 5. Funksjonsrommet : Kommunikasjonsdiagram Andre UML-diagrammer 6. Et lite eksempel Oppsummering
5 UML: Unified Modeling Language Standardisert grafisk modelleringsspråk Primært for programvaretunge systemer Mange uavhengige og overlappende språk eksisterte UML er en sammenstilling og formalisering av noen av disse
6 UML omfatter: 1. En meta-modell Rigorøs definisjon av UMLbegreper Viktig ved bruk av UML som programeringspråk 2. Grafisk notasjon for 13 ulike diagramtyper Activity Class Communication Component Composite structure Deployment Interaction overview Object Package Sequence State machine Timing Use Case
7 UML is Not Enough! UML - flere diagramer enn de fleste trenger UML standardisert, systemer forskjellige UML passer ikke alltid like godt Bruk bare det du har nytte av! Bryt reglene når det er nyttig!
8 Tre måter å bruke UML på 1. UML som skisse 2. UML som blåkopi 3. UML som programmeringsspråk
9 1. UML som skisse Nøkkel: Selektivitet Bare modellere det du trenger akkurat nå Rask konkretisering av ideer Sammenlikning av alternativer Kommunikasjon Kunder Medarbeidere
10 2. UML som blåkopi Nøkkel: Kompletthet Forward engineering: Alle detaljer som programmereren trenger å vite Backwards engineering: Komplett grafisk innholdsfortegnelse for systemet Typisk automatisert prosess!
11 3. UML som programmeringsspråk Nøkkel: Modellen er systemet! Systemmodellen utgjør kildekoden Utfordringer: Modellen må inneholder ALT Lavnivå-algoritmer ofte modellert i tekstbaserte prog.-språk Flere måter å modellere oppførsel på i UML Hvilke(n) skal brukes til programmering?
12 Denne kursbolken: Primært UML som skisse Myk start for nye UML-brukere Bare de viktigste diagrammene
13 Innhold 1. Intro til UML SA/SD vs. UML 2. Funksjonskrav: Use case-diagram Sekvensdiagram 3. Informasjons-rommet : Klassediagram 4. Tilstandsrommet : Tilstandsmaskin Aktivitetsdiagram 5. Funksjonsrommet : Kommunikasjonsdiagram Andre UML-diagrammer 6. Et lite eksempel Oppsummering
14 Sammenliking av SA/SD og UML Utviklingsprosess uanvhengig av verktøy Sammenlikner verktøyene i lys av et typisk prosess-rammeverk: Analyse (spec., oppførselsmodell) Konstruksjon ( byggebeskrivelse ) Implementasjon (programmering) Dokumentasjon (for systemvedlikehold)
15 Egenskapsrommet Én - av uendelig mange - måter å dekomponere systemets egenskaper på Funksjonsrommet (hva systemet skal gjøre) Informasjonsrommet (hva systemet må huske) Tilstandsrommet (hvordan systemet skal reagere)
16 Analyse: Omgivelser, overordnet funksjon (1/2) SA/SD: Kontekstdiagram UML: Use case-diagram tastatur kortautomat Bensinstyring Bensinkunde Fyll bensin pistolbryter display
17 Analyse: Omgivelser, overordnet funksjon (2/2) SA/SD: Hendelsesliste UML: Sekvensdiagram Kunde Kortautomat Bensinpistol
18 Analyse/konstruksjon (1/3): Informasjonsrommet SA/SD: Logisk datamodell UML: Klassediagram farge Bil eies av regnr Bil farge: String regnr: String eier Person Person
19 Analyse/konstruksjon (2/3): Tilstandsrommet SA/SD: Tilstandstransisjonsdiagram UML: Tilstandsmaskin (aktivitetsd, interaksjonsd.) S1 S1 Hendelse 2 Aksjon 2a Aksjon 2b Hendelse Aksjon 1a Aksjon 1b Hendelse 2/Aksjon 2a, Aksjon 2b Hendelse/ Aksjon 1, Aksjon 1b S2 S2
20 Analyse/konstruksjon (3/3): Funksjonsrommet SA/SD: Dataflytdiagram UML: Kommunikasjonsdiagram Pros1 Data1 Data2 Pros2 2: data2 Obj1 Obj2 1: Data1
21 Modellering av funksjonelle systemkrav...eller: hvordan finne ut hva kunden egentlig bestiller, hvordan hun tenker og hvordan hun ønsker å bruke systemet.
22 Innhold 1. Intro til UML SA/SD vs. UML 2. Funksjonskrav: Use case-diagram Sekvensdiagram 3. Informasjons-rommet : Klassediagram 4. Tilstandsrommet : Tilstandsmaskin Aktivitetsdiagram 5. Funksjonsrommet : Kommunikasjonsdiagram Andre UML-diagrammer 6. Et lite eksempel Oppsummering
23 Use case-diagrammet Actor Association Use case Fyll bensin Bensinkunde
24 Use case = bruksmodus Systemet tilbyr et antall funksjoner som er aktuelle for ulike formål, til ulike tider og for ulike aktører Hvert use case er én slik bruksmodus Summen av alle use cases = hele systemets funksjonalitet
25 Eksempel: veggmontert elektrisk bryter Systemets grense Lysbruker Betjen <<include>> Montér Montør
26 Actors En Actor representerer en rolle, ikke en entitet (person, system, fysisk enhet) Samme entitet kan utgjøre flere Actors Flere entiteter kan utgjøre samme Actor Alle slags entiteter kan være Actors Personer Systemer eller enheter
27 Use case-relevant informasjon (1/2) Pre-conditions: Vilkår som må være tilfredsstilt for at use case t kan starte Trigger: Hendelsen som starter use case t
28 Use case-relevant informasjon (2/2) Guarrantee: Det systemet vil garantere er oppfylt ved avslutningen av use case t Success guarrantee: Det som garantert er oppfylt etter et vellykket scenario Minimal guarrantee: Det som er oppfylt etter et hvilket som helst scenario.
29 Tekstlig use case-beskrivelse. Eksempel: Montering av bryter Montér Pre-condition: Sikringen er tatt ut. Trigger: Kunde bestiller montering av bryter Suksess-scenario: 1. Montør åpner bryterdekselet 2. Montør fester bryteren til veggen 3. Montør fester ledningene 4. Montør lukker bryterdekselet 5. Montør setter i sikringen 6. Montør betjener bryteren og konstaterer at den virker Utvidelse: 6a: Bryteren virker ikke.1: Montør fjerner sikringen... (kopler fra bryteren...).n: Montør setter i sikringen Suksessgaranti: Bryteren montert og operativ. Minimal garanti: Alle strømførende ledninger isolert eller frakoplet, sikringen satt i.
30 Hvordan ikke bruke use case-diagrammet Ikke bruk masse tid på å lage et avansert diagram! Ikke prøv å synliggjøre alle spesialtilfeller Ikke bruk avansert notasjon KISS: Keep It Simple and Stupid! - Alt annet er bortkastet tid!
31 Hvordan bruke use case-diagrammet Betrakt diagrammet som en oversiktlig innholdsfortegnelse for systemets funksjonalitet Detaljene beskrives med tekst eller andre typer diagrammer Dette er den verdifulle informasjonen!
32 Innhold 1. Intro til UML SA/SD vs. UML 2. Funksjonskrav: Use case-diagram Sekvensdiagram 3. Informasjons-rommet : Klassediagram 4. Tilstandsrommet : Tilstandsmaskin Aktivitetsdiagram 5. Funksjonsrommet : Kommunikasjonsdiagram Andre UML-diagrammer 6. Et lite eksempel Oppsummering
33 Sekvensdiagrammet
34 Hva sekvensdiagrammet viser Hvordan en gruppe objekter samarbeider for å realisere en oppførsel Deltakerne i et scenario (sub-sett av et use case) Sekvensen og naturen i meldingsutvekslingen mellom deltakerne Deltakernes livsløp
35 Notasjonen er nesten selvforklarende
36 Synkrone vs. asynkrone meldinger Synkron: Senderen må vente til meldingen er utført (typisk: metodekall) Gammel notasjon Sender Ny notasjon Sender Mottaker Mottaker Asynkron: Senderen fortsetter så snart meldingen er sendt (typisk: meldingskø)
37 Hva sekvensdiagrammet ikke viser iallfall ikke så veldig godt: Løkker (loops, while ) Alternativer (conditionals; if, switch... ) og alt annet som ikke går i ren sekvens.
38 Loops and Conditionals
39 Hvordan (ikke) bruke sekvensdiagrammet Illustrere scenarier Ikke komplette/komplekse algoritmer Ikke for presis oppførselsemodellering Unntak finnes Sekvensielle algoritmer Bilateral kommunikasjon (protokoller)
40 Fra funksjonelle krav til detaljert oppførsel...eller: fra eksternt til internt perspektiv.
41 Funksjonrommets ortogonale dimensjoner Funksjonsrommet (hva systemet skal gjøre) Informasjonsrommet (hva systemet må huske) Tilstandsrommet (hvordan systemet skal reagere)
42 Innhold 1. Intro til UML SA/SD vs. UML 2. Funksjonskrav: Use case-diagram Sekvensdiagram 3. Informasjons-rommet : Klassediagram 4. Tilstandsrommet : Tilstandsmaskin Aktivitetsdiagram 5. Funksjonsrommet : Kommunikasjonsdiagram Andre UML-diagrammer 6. Et lite eksempel Oppsummering
43 Informasjonsrommet : Klassediagram
44 Klasse Navn Attributter Operasjoner BankKunde - navn: String - konto: KontoNummer - pinkode: Kryptert + hentnavn(): String + hentkontonr(): KontoNummer + sjekkpinkode(pin: PinKode): Boolean
45 Klassers egenskaper (Properties) - to varianter: Attributter Member-variable Assosiasjoner Referanser (i praksis pekere etc.) til andre klasser Inneholder det direkte informasjonsinnholdet i klassen Informasjon relatert til klassen selv, men inneholdt i de assosierte klassene
46 Eksempel: attributt vs. assosiasjon Bil farge: String regnr: String * eier 0..1 Person navn: String personnr: Integer adresse: AdrType Attributt Assosiasjon Begge klassene utviser egenskaper som er relevante for Bil.
47 Hva er forskjellen...? farge regnr Bil eier 0..1 navn Person Bil farge regnr eiernavn An attribute is the ghost of a class without attributes
48 Forskjellen er... Attributter: små egenskaper (elementære datatyper) Assosiasjoner: mer signifikante ting (egenskaper) som har sine egne attributter
49 Notasjon Tenk variabeldeklarasjon. Generell notasjon: visbility name: type multiplicity = default {property-string} Kun name er obligatorisk Noen raske eksempler: + farge: String [1..*] = sjokkrosa - pinkode: Digit [4]
50 Notasjon - Visibility + Public, dvs synlig utenfor klassen - Private, dvs. usynlig utenfor klassen m.fl. Eksempel: - pinkode: Digit [4]
51 Notasjon - Type Igjen: tenk variabeldeklarasjon. Type angir hva slags data som kan inneholdes i attributten (type er irrelevant for assosiasjoner) Eksempel: alder: Integer finished: Boolean
52 Notasjon - Multiplisitet 1 Nøyaktig én , 1 eller 2 * 0 eller flere Ingen multiplisitet angitt => 1 Eksempler: Person barn * hender: Hånd [0..2] hår: Hårstrå [*] ektefelle 0..1
53 Angir tilleggsegenskaper: Notasjon Property-string readonly ordered osv. Kan ikke endres Ordnet mende (dvs. elementenes rekkefølge fast) Eksempel: navn: String = Nemo {readonly}
54 Bidireksjonelle assosiasjoner (1/2) Person eier 0..1 * Bil Merk to navigerbarhespiler To egenskaper som er forbundet som inverse : Person har egenskapen biler: Bil [*] Bil har egenskapen eier: Person [0..1]
55 Bidireksjonelle assosiasjoner (2/2) Person eier 0..1 * Bil Hvorfor? Begge klasser avhenger av tjenester fra den andre Spesiell praktisk utfordring: Synkronisering begge referansene må være gyldige til enhver tid
56 Operasjoner Tenk metodedeklarasjoner. Generell notasjon: visbility name (parameter list): return-type {property-string} Eksempel: + sjekkpinkode(pin: PinKode): Boolean {query}
57 Notasjon - Property-string Property-string angir tillegsegenskaper for operasjonene: query modifier osv. Endrer ikke klassens tilstand Endrer klassens tilstand Eksempel: + sjekkpinkode(pin: PinKode): Boolean {query} + settpinkode(pin: PinKode): Boolean {modifier}
58 Til ettertanke Omverdenen aksesserer ofte properties via aksessorer (query-operasjoner). Den som kaller aksessoren kan ikke avgjøre om den mottar eksplisitt lagrede data eller beregnede data. Det er mao. i utgangspunktet ingen direkte korrelasjon mellom UML-begrepene og programkoden.
59 Til etterlevelse...derfor bør du (utviklingsteamet, bedriften) etablere en praksis som definere en slik korrespondanse. Dette kan bety at du bevisst gjør en begrenset tolkning av UML, og at du kun benytter et subsett av notasjonen.
60 Notasjon - Generalisering Arv i UML Person Kvinne Mann Frimurer
61 Avhengighet (Dependency) Client Supplier Sirkeline <<use>> Trigonometrix dependency Scenario: Sirkeline lager sirkler. Til dette trenger hun funksjonalitet som Trigonometrix tilbyr. Hvis Trigonometrix forandrer oppførsel, kan dette få følger for Sirkeline slik at hun også må endre seg. Trigonometrix er derimot helt uavhengig av Sirkeline.
62 Vær uavhengig! UML 2.0 definerer 10 ulike Dependencies... Fare: Overlessede diagrammer Vis bare signifikante relasjoner Evt. egne diagrammer med fokus på avhengigheter Som skapt for automatisk reverse engineering!!!
63 Hva så med alt det andre...? Constraint Rules: I UML kan du skrive hva som helst i diagrammet, på et hvilket som helst språk, bare du setter det i krøllparentes: {korrekthetssjekk: alder>0 år} Dessuten har vi kommentarboksen : Se opp for runde former! Sirkeline
Motivasjon: Hvorfor modellere? Systemutvikling med UML Del 2 (forelesning 4-6) Repetisjon: Egenskapsrommet. Egenskapsrommet
Motivasjon: Hvorfor modellere? Systemutvikling med UML Del 2 (forelesning 4-6) Øyvind Stavdahl Institutt for teknisk kybernetikk, NTNU Oktober 2004 Avmystifisere systemets kompleksitet Skaffe oversikt
DetaljerUML 1. Use case drevet analyse og design. 20.01.2004 Kirsten Ribu
UML 1 Use case drevet analyse og design 20.01.2004 Kirsten Ribu 1 I dag Domenemodell (forløper til klassediagram) Interaksjonsdiagrammer Sekvensdiagram Kollaborasjonsdiagram 2 Domenemodell visualisering
DetaljerGruppenavn. Prosjektnavn Beskrivelse av design For Navn på systemet. Versjon <1.0>
Gruppenavn Prosjektnavn Beskrivelse av design For Navn på systemet Versjon Revisjonshistorie Dato Versjon Beskrivelse av endring Forfatter Innhold 1. Innledning
DetaljerI dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?
UML Use case drevet analyse og design 31.01.2005 Kirsten Ribu I dag Domenemodell (forløper til klassediagram) Interaksjonsdiagrammer Sekvensdiagram Kollaborasjonsdiagram 1 2 Domenemodell visualisering
DetaljerUML-Unified Modeling Language
UML-Unified Modeling Language Use case realisering Designmodellering 21.01.2004 Kirsten Ribu Use Case diagram Klassediagram Oppførselsdiagrammer: Sekvensdiagram Kollaborasjonsdiagram Tilstandsdiagram Aktivitetsdiagram
Detaljer19. januar 2012 Noen punkter fra i går
1 19. januar 2012 Noen punkter fra i går Godkjente øvinger og prosjekt er obligatorisk for å få gå opp til eksamen Noen myter om systemutvikling Ariane 5 ulykken 2 Noen myter om systemutvikling Myte 1:
DetaljerHensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen
Hensikten med denne delen av kurset Objektorientert systemutvikling Rational Unified Process (RUP) Gurholt og Hasle kap. 6 UML Distilled kap. 2 Å lære modellerings- og designprinsipper og øve opp teknikker
DetaljerUKE 11 UML modellering og use case. Gruppetime INF1055
UKE 11 UML modellering og use case Gruppetime INF1055 Hva skal vi i dag? Analyse og design - kapittel 5 og 7 UML modellering Ukesoppgaver 3: Modellering av krav UML UML Kompetansemål Modellering av krav
DetaljerGJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML
GJENNOMGANG UKESOPPGAVER 6 MER OM OBJEKTORIENTERING OG UML INF1050 V16 KRISTIN BRÆNDEN DAGENS TEMA Klassediagram Aktivitetsdiagram Tilstandsdiagram Sekvensdiagram 1 Ta utgangspunkt i følgende klasser:
DetaljerFra krav til modellering av objekter
INF1050: Systemutvikling 14. februar 2017 Fra krav til modellering av objekter Førstelektor Yngve Lindsjørn INF1050 -> Systemutvikling -> Fra krav til modellering av objekter 1 Temaer i dagens forelesning
DetaljerSTE6221 Sanntidssystemer Løsningsforslag
HØGSKOLEN I NARVIK Avdeling for teknologi MSc.-studiet EL/RT Side 1 av 3 STE6221 Sanntidssystemer Løsningsforslag Tid: Fredag 02.03.2007, kl: 09:00-12:00 Tillatte hjelpemidler: Godkjent programmerbar kalkulator,
DetaljerUML- Use case drevet analyse og design. Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller
UML- Use case drevet analyse og design Bente Anda 23.09.2004 23.09.04 INF320 I dag Domenemodeller Sekvensdiagrammer Use case realisering med GRASP patterns Klassediagram - designmodeller 23.09.04 INF320
DetaljerUse case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel
Use case modellen Use case modellering i analysefasen Metode for å identifisere og beskrive de funksjonelle kravene til et system Kapittel 3 i UML Distilled Kirsten Ribu beskriver kravene til systemet,
DetaljerINF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE
INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE Datamodeller og andre UML diagrammer kan selvsagt tegnes for hånd, men vi kan også bruke alt fra enkle tegneprogrammer til komplette utviklingsmiljøer.
DetaljerUKE 13 Mer UML modellering. Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski
UKE 13 Mer UML modellering Gruppetime INF1055 Julie Hagen Nilsen & Maria Stolinski Hva skal vi i dag? Objektorientert design - kapittel 5 og 7 UML modellering Aktivitetsdiagrammer Klassediagram Ukesoppgaver
DetaljerUML-Unified Modeling Language. Prosess-oversikt. Use case realisering
Use case realisering Designmodellering 31.01.2005 Kirsten Ribu UML-Unified Modeling Language Use Case diagram Klassediagram Oppførselsdiagrammer Sekvensdiagram Kollaborasjonsdiagram Tilstandsdiagram Aktivitetsdiagram
DetaljerINF1000: Forelesning 7
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en
DetaljerTom Røise 26.02.2007. IMT2243 : Systemutvikling 1. IMT2243 Systemutvikling 26. februar 2007. Klassediagrammet. Klasse
IMT2243 Systemutvikling 26. februar 2007 Tema : Domenemodellering og Kravspeken - Repetisjon konseptuelle klassediagram - Eksempler - konseptuelle klassediagram (IHID løsningen og OL-Veiviseren) - Maler
DetaljerKlasser, objekter, pekere og UML. INF1000 - gruppe 13
Klasser, objekter, pekere og UML INF1000 - gruppe 13 Klasse Beskriver ofte ting fra den virkelige verden Veldig ofte et substantiv (Person, Bok, Bil osv.) class Person { String navn; int alder; } class
DetaljerKap3: Klassemodellering
Kap3: Klassemodellering I dag: Litt repetisjon fra sist (innledende om klassemodellen) Deretter egentlig litt mer repetisjon, men nå fra intro- Felt-/Instansvariabler og kurset i Java: Klasser og Objekt,
DetaljerUniversitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte
Universitetet i Oslo Institutt for informatikk Eskild Busch UML hefte 6. desember 2000 Innhold Dette heftet tar for seg deler av UML som er sentralt i kurset IN29. Use case-, sekvens-, tilstand- og klassediagrammer,
DetaljerUse Case-modellering. INF1050: Gjennomgang, uke 04
Use Case-modellering INF1050: Gjennomgang, uke 04 Kompetansemål Modellering av krav Kunne modellere ulike typer krav UML-diagrammer Innføring i grunnleggende UML-modellering Bruksmønster (use case) Sekvensdiagram
DetaljerINF1000: Forelesning 7. Konstruktører Static
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter
DetaljerUse case drevet design med UML
Use case drevet design med UML Bente Anda 26.09.2005 23.09.04 INF3120 1 I dag Domenemodeller System sekvensdiagrammer Operasjonskontrakter GRASP patterns Designmodeller med sekvens- og klassediagram 26.09.05
DetaljerKravspesifikasjon med UML use case modellering. Erik Arisholm 25.02.2009
Kravspesifikasjon med UML use case modellering Erik Arisholm 25.02.2009 Unified Modeling Language (UML) Notasjon som støtter opp under modellbasert systemutvikling objektorientert analyse ( hva systemet
DetaljerUse case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?
1/15/2004 1 Use case modellen Use case modellering i analysefasen Metode for å identifisere og beskrive de funksjonelle kravene til et system Kapittel 3 i UML Distilled Kapittel 8 i Gurholt og Hasle Kirsten
DetaljerMAT1030 Forelesning 30
MAT1030 Forelesning 30 Kompleksitetsteori Roger Antonsen - 19. mai 2009 (Sist oppdatert: 2009-05-19 15:04) Forelesning 30: Kompleksitetsteori Oppsummering I dag er siste forelesning med nytt stoff! I morgen
DetaljerUNIVERSITETET I OSLO
Eksamen i IN219, 13. desember 2001 Side 1 av 6 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN219 Store programsystemer Eksamensdag : Torsdag 13. desember 2001 Tid for eksamen
DetaljerSpesifikasjon av Lag emne
Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objekter Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use Cases) o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer
DetaljerLøsningsforslag til Case. (Analysen)
Løsningsforslag til Case (Analysen) Dette er en skisse til løsning av Case et med bussinformasjonssystemet. Jeg kaller det en skisse fordi det på den ene siden ikke er noe fasitsvar og fordi løsningen
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1050 Eksamensdag: 2. juni 2014 Tid for eksamen: 09:00-13:00 Oppgavesettet er på 4 sider Vedlegg: Ingen Tillatte hjelpemidler:
DetaljerAnsvarsdrevet OO: CRC og UML Sekvensdiagrammer
Fra krav til objekter Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050--1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller (Use
DetaljerOppgave 1: Multiple choice (20 %)
Oppgave 1: Multiple choice (20 %) For alle oppgavene gjelder at det bare er ett riktig svar. No Spørsmål Svar A Svar B Svar C Svar D 1 Kanban er et eksempel på: Prosess Software prosess Prosess modell
DetaljerBakgrunn. Kurset krever ingen spesielle forkunnskaper om modellering.
Bakgrunn Modellering har lenge vært et kjent begrep innen systemutvikling. På 80-tallet ble metoder som Yourdon/Demarco og Gane&Sarson brukt for å lage dataflyt-diagrammer. Etter hvert ble disse integrert
DetaljerForelesning 9 mandag den 15. september
Forelesning 9 mandag den 15. september 2.6 Største felles divisor Definisjon 2.6.1. La l og n være heltall. Et naturlig tall d er den største felles divisoren til l og n dersom følgende er sanne. (1) Vi
DetaljerLykke til! Eksamen i fag TDT4140 Systemutvikling 28.11.2012 9.00. NTNU Norges teknisk-naturvitenskapelige universitet
Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Sensurfrist:
DetaljerOptimalJ-kurs UIO Oppsummering av kurset. De ulike modellene egenskaper og formål
OptimalJ-kurs UIO 2004 Agenda Time 1: Oppsummering av kurset Time 2: De ulike modellene egenskaper og formål Team Development med OptimalJ Domain Patterns Egenutviklede transformasjoner (krever Architect
DetaljerKapittel 4: Logikk (predikatlogikk)
MAT1030 Diskret Matematikk Forelesning 7: Logikk, predikatlogikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 4: Logikk (predikatlogikk) 10. februar 2009 (Sist oppdatert: 2009-02-11
DetaljerInnholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5
1 Innholdsfortegnelse INNHOLDSFORTEGNELSE... 2 REVISJONSOVERSIKT...4 INTRODUKSJON MED FORUTSETNINGER... 5 FRA LEVERANSE 1 (GRUPPE 2)...5 TILLEGG I FORUTSETNINGER... 5 REVIDERT UTGAVE AV SPESIFIKASJON FRA
DetaljerLa oss først se på problemet med objektorientert tankegang. Se figuren under. Konto
Øving 11 - del b Oppgave 1 fasade av Session Beans. Denne oppgaven kan også gjøres samtidig som oppgave 2 (det er imidlertid enklere å holde oversikten om du gjør en ting i gangen). Du skal nå lage en
DetaljerMer$om$objektorientering$og$UML
INF1030:&25.&april&2019 Mer$om$objektorientering$og$UML Yngve&Lindsjørn ynglin@ifi.uio.no IN1030& >&Systemutvikling6>objektorientert modellering 1 Gjennomgang&i&dagens&forelesning! Tabeller&(arrays)&vs.&objekter!
DetaljerSlides made by Sommerville adapted by Letizia Jaccheri This lecture will be filmed
Chapter 5 System Modeling Letizia Jaccheri Norsk Professor Institutt for Datateknikk (IDI) Office 106, tel. (735)93469, letizia@idi.ntnu.no www.letiziajaccheri.org English Course home page http://www.idi.ntnu.no/emner/tdt4140/
DetaljerFra krav til objekter. INF1050: Gjennomgang, uke 05
Fra krav til objekter INF1050: Gjennomgang, uke 05 Kompetansemål Systemmodellering og systemperspektiv Utvikle abstrakte modeller av et system Ulike modeller representerer ulike perspektiver av systemet
DetaljerModellering av krav. INF1050: Systemutvikling 11. februar 2015. Universitetslektor Yngve Lindsjørn
INF1050: Systemutvikling 11. februar 2015 Modellering av krav Universitetslektor Yngve Lindsjørn INF1050 ->Systemutvikling-> Modellering av krav / Yngve Lindsjørn 1 Temaer i dagens forelesning Modellering
DetaljerKodestil i C++ Introduksjon. Navnekonvensjoner. Globale variabler. Simen Hagen 26.9.2003
Kodestil i C++ Simen Hagen 26.9.2003 Introduksjon I store programmeringsprosjekter er det viktig at koden har et konsistent utseende og at alle bruker en felles stil på koden. Alle som skriver kode har
DetaljerLæringsmål og pensum. Utvikling av informasjonssystemer. Oversikt. Systemutvikling Systemutvikling i seks faser Femstegs prosedyre for programmering
1 2 Læringsmål og pensum TDT4110 Informasjonsteknologi grunnkurs: Uke 38 Utvikling av informasjonssystemer Læringsmål Kunne seks faser for systemanalyse og design Kunne femstegs prosedyre for programmering
DetaljerGod objektorientert design Flere UML diagrammer UML Distilled kap. 7,8, 9 Using UML, kap. 11, 12, 14 Kirsten Ribu 17.03.04
Mer om UML God objektorientert design Flere UML diagrammer UML Distilled kap. 7,8, 9 Using UML, kap. 11, 12, 14 Kirsten Ribu 17.03.04 1 I dag Litt repetisjon GRASP mønstre og OO design Prosjektoppgaven:
DetaljerModellering av krav. INF1050: Systemutvikling 07. februar Førstelektor Yngve Lindsjørn
INF1050: Systemutvikling 07. februar 2017 Modellering av krav Førstelektor Yngve Lindsjørn INF1050 ->Systemutvikling-> Modellering av krav / Yngve Lindsjørn 1 Temaer i dagens forelesning Modellering av
DetaljerObjektorientering og UML. INF1050: Gjennomgang, uke 06
Objektorientering og UML INF1050: Gjennomgang, uke 06 Kompetansemål Objektorientert design Objektdesign og ansvarstilordning Bruk av UML Fokus på klassediagrammer Designmodeller Designmønstre ( design
DetaljerINF1300. Grunnbegrepene i ORM: fakta, begreper, roller, faktatyper, broer, entydighetsskranker, totale roller, funksjonelle avhengigheter
INF1300 Grunnbegrepene i ORM: fakta, begreper, roller, faktatyper, broer, entydighetsskranker, totale roller, funksjonelle avhengigheter Ogdens trekant begrep representasjon fenomen i UoD michael@ifi.uio.no
DetaljerAndre sett obligatoriske oppgaver i INF3100 V2013
Andre sett obligatoriske oppgaver i INF3100 V2013 Oppgavesettet skal i utgangspunktet løses av grupper på to og to studenter som leverer felles besvarelse. Vi godkjenner også individuelle besvarelser,
DetaljerUNIVERSITETET I OSLO
Bokmål Kandidat nummer: UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i: INF1050 Eksamensdag: 0. mai, 2011 Tid for eksamen: 00:00 00:00 Oppgavesettet er på 6 sider Vedlegg:
DetaljerDel - leveranse Del 2. Inf 2120 fredag Gruppe 1 Knut Johannes Dahle
Del - leveranse Del 2 Inf 2120 fredag 29.4 Gruppe 1 Knut Johannes Dahle AV Catrine Myhre (catrinem@ifi.uio.no) Mehdi Zare (mehdiz@ifi.uio.no) Odd Christer Brovig (oddcb@ifi.uio.no) Christer Aas (chrisva@ifi.uio.no)
DetaljerOversikt over forelesningen. DFD sentrale konsepter. Intro til Dataflytdiagrammer (DFD) Marakas, kap. 5
1 2 Oversikt over forelesningen Institutt for datateknikk og informasjonsvitenskap Guttorm Sindre Intro til Dataflytdiagrammer (DFD) Marakas, kap. 5 DFD, intro Sentrale konsept Diagramnotasjon, dialekter
DetaljerAlgoritmer og datastrukturer A.1 Filbehandling på bit-nivå
Vedlegg A.1 Filbehandling på bit-nivå Side 1 av 9 Algoritmer og datastrukturer A.1 Filbehandling på bit-nivå A.1 Filbehandling på bit-nivå A.1.1 Sammendrag Klassen BitInputStream gjør det mulig å lese
DetaljerObligatorisk oppgave 5: Modellering av krav
IN1030 - Systemer, krav og konsekvenser Obligatorisk oppgave 5: Modellering av krav Nøkkelord: UML, klassediagram, sekvensdiagram, tekstlig beskrivelse, prosjektplanlegging, risikoanalyse, aktivitetsdiagram.
DetaljerUendelige rekker. Konvergens og konvergenskriterier
Uendelige rekker. Konvergens og konvergenskriterier : Et absolutt nødvendig, men ikke tilstrekkelig vilkår for konvergens er at: lim 0 Konvergens vha. delsummer :,.,,,. I motsatt fall divergerer rekka.
DetaljerProduktrapport Gruppe 9
Forord Dette dokumentet er ment for personer som skal vedlikeholde, endre eller utvikle systemet. Produktdokument innholder informasjoner om programmets funksjoner og hvordan de fungerer. Før bruk av dette
DetaljerEn god presentasjon består av tre deler som henger nøye sammen: Innhold, utforming og framføring.
En god presentasjon Mange medlemmer i Fagforbundet må fra tid til annen redegjøre for saker og problemstillinger overfor små eller store forsamlinger. Hensikten med denne folderen er å gi noen tips om
Detaljer23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.
Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen
Detaljer1. Modellering av objektorienterte systemer
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Modellering av objektorienterte systemer Tore Berg Hansen Lærestoffet er utviklet for faget IFUD Objektorientert systemutvikling 1. Modellering
DetaljerGJENNOMGANG UKESOPPGAVER 4 USE CASE MODELLERING HELGA NYRUD & KRISTIN BRÆNDEN
GJENNOMGANG UKESOPPGAVER 4 USE CASE MODELLERING INF1050 V16 HELGA NYRUD & KRISTIN BRÆNDEN TEMAER SÅ LANGT I KURSET Forelesning 1: Systemutvikling og systemutviklingsprosesser Forelesning 2: Prosessmodeller
DetaljerLeksjon 3. Kontrollstrukturer
6108 Programmering i Java Leksjon 3 Kontrollstrukturer Del 1: Valg Roy M. Istad 2015 Utfør av et program Programflyt så langt: start setning setning setning setning slutt Sekvensielt: Alle setninger utføres,
DetaljerGo with the. Niende forelesning. Mye matematikk i boka her ikke så komplisert, men mye å holde styr på.
Go with the Niende forelesning Mye matematikk i boka her ikke så komplisert, men mye å holde styr på. Fokuserer på de viktigste ideene i dagens forelesning, så det forhåpentligvis blir lettere å skjønne
DetaljerInformasjonsarkitektens rolle i smidige prosjekter
Informasjonsarkitektur Informasjonsarkitektens rolle i smidige prosjekter -en del av Erik Gustavsen Erik Gustavsen - Informasjonsarkitekt 5 års erfaring gjennom to store offentlige utviklingsprosjekter:
DetaljerRomlig datamanipulering
Romlig datamanipulering Gunnar Tenge, 18.04.08 Romlige manipuleringsteknikker brukes i GIS-analyser. I denne artikkelen forklares alle manipuleringsteknikker som man kan forvente å finne i et GIS-program.
DetaljerGrafisk kryptografi (hemmelig koding av bilder)
Grafisk kryptografi (hemmelig koding av bilder) Legg den løse platen nøyaktig den faste og se hva som skjer. Hvordan kan det brukes? Grete skal til Australia, og mens hun er der kan hun få behov for å
DetaljerInvarianter, +lstander og li1 mer seman+kk
Invarianter, +lstander og li1 mer seman+kk INF1010 14.april 2016 Stein Gjessing April 13, 2016 1 Invariant (= Invariant +lstandspåstand) Vi har se3 flere ganger at det er svært nyjg å formulere +lstandspåstander
DetaljerEtter uke 9 skal du. Introduksjon til objektorientert programmering. Innhold. Klasser som abstraksjoner
Etter uke 9 skal du Introduksjon til objektorientert programmering INF1001 Høst 2016 Uke 9 Kunne designe og implementere en programstruktur med flere klasser Kunne etablere og manipulere objekter i (sammensatte)
DetaljerHvordan designe en ER-modell med MS-VISIO
AITeL Databaser Hvordan designe en ER-modell med MS-VISIO Kjell Toft Hansen 19. august 2003 Brukerveiledningen er forfatters eiendom. Som kursdeltaker kan du fritt bruke den til eget personlig bruk. Kursdeltakere
DetaljerKirsten Ribu - Høgskolen i Oslo 05.05.04
Prosessmodellering Strukturert analyse og design et overblikk Gurholt & Hasle, kapittel 10 Kirsten Ribu - Høgskolen i Oslo 05.05.04 1 Perspektiver på modellering Datamodellering var lenge den mest brukte
DetaljerFra krav til objektdesign
Fra krav til objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer INF1050-ansvar-1 Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Hva skal systemet gjøre? UML: Bruksmønstermodeller
DetaljerInnhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java
INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:
DetaljerFortsettelses kurs i Word
Fortsettelses kurs i Word Lynkurs fra Kristiansand folkebibliotek Innholdsfortegnelse Formål med dagens kurs... 2 Sette inn forsider... 2 Sette inn tabeller... 2 Topptekst Bunntekst Sidetall... 2 Sett
DetaljerPå lederutviklingsprogrammene som ofte gjennomføres på NTNU benyttes dette verktøyet. Du kan bruke dette til inspirasjon.
På lederutviklingsprogrammene som ofte gjennomføres på NTNU benyttes dette verktøyet. Du kan bruke dette til inspirasjon. Rolleanalyse rollen som leder på NTNU Denne oppgaven går ut på å kartlegge hvilken
DetaljerSRD GLIS. Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie
SRD GLIS Cecilie Dortea Gløsmyr, Espen Buø og Henrik Lie Innholdsfortegnelse 1. Systemoversikt... 2 2. Tekniske krav... 3 2.1. Funksjonskrav og brukergrensesnitt spesifikasjon... 3 2.2. Begrensninger...
DetaljerSpesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign
Dagens forelesning o Kort repetisjon av kravspesifikasjon med UML Fra krav til objektdesign Hva skal systemet gjøre? UML: Bruksmønstermodeller o Objektdesign Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer
Detaljer2 Grafisk grensesnitt 1
Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Grafisk grensesnitt 1 Mildrid Ljosland 01.02.2011 Lærestoffet er utviklet for faget LN350D Applikasjonsutvikling for mobile enheter 2 Grafisk
DetaljerSkjermbilder og veiledning knyttet til «Årlig innrapportering for vannforsyningssystem» basert på oppdaterte skjermbilder pr mars 2016.
Skjermbilder og veiledning knyttet til «Årlig innrapportering for vannforsyningssystem» basert på oppdaterte skjermbilder pr mars 2016. Denne veiledningen er et supplement til den generelle veiledningen:
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Prøveeksamen tirsdag 23. november 2010 Tid for eksamen:
Detaljer10-FAKTOR, Guide til god ledelse og Skodd for framtida. Siri Klevstrand, spesialrådgiver KS Arbeidsgiverpolitikk
10-FAKTOR, Guide til god ledelse og Skodd for framtida Siri Klevstrand, spesialrådgiver KS Arbeidsgiverpolitikk Arbeidsgiverpolitikk - hvorfor er det viktig? Utgjør et felles verdigrunnlag Synliggjør hvilke
DetaljerTittel Objektorientert systemutvikling 2
EKSAMENSFORSIDE Fagnr. OBJ208 Tittel Objektorientert systemutvikling 2 Ansvarlig faglærer Viggo Holmstedt Klasse(r) Dato IS/IN 2 11.06.2009 Eksamensoppgaven Ant. sider inkl. består av følgende: forside
DetaljerINF5120 - Oblig 2. Hour Registration System (HRS)
INF5120 - Oblig 2 Hour Registration System (HRS) 1 av 40 1 Innholdsfortegnelse 1 Innholdsfortegnelse... 2 2 Innholdsfortegnelse for figurer... 3 3 Hour Registration System (HRS)... 4 3.1 Introduksjon...
DetaljerKravspesifiseringsprosessen
IMT2243: 18.februar 2010 DAGENS : Metoder for å få kartlagt de Funksjonelle kravene Strukturert Analyse den gamle måten og gjøre det på (dette foilsettet + wikipedia-omtalen er eneste pensum innen SA)
DetaljerEndring av e-postoppsett med IMAP til ny e-posttjener
Endring av e-postoppsett med IMAP til ny e-posttjener MICROSOFT OUTLOOK 365 Din gamle e-postkonto hos oss var en såkalt POP3-konto. Når man henter e-post via POP3 slettes e-posten fra vår e-postserver,
DetaljerTransaksjonsstandard for virkesomsetningen i Norge. Transportert virke. Versjon 2.0. Desember 2007 SKOG-DATA AS
Transaksjonsstandard for virkesomsetningen i Norge Transportert virke Versjon 2.0 Desember 2007 SKOG-DATA AS Innhold 1 INNLEDNING 3 2 DOKUMENTASJON AV MELDING OM TRANSPORTERT VIRKE 3 2.1 Oversikt 3 2.1.1
DetaljerTransaksjonsstandard for virkesomsetningen i Norge. Business Acknowledge. Versjon 2.0. Desember 2007 SKOG-DATA AS
Transaksjonsstandard for virkesomsetningen i Norge Versjon 2.0 Desember 2007 SKOG-DATA AS Innhold 1 Innledning 3 2 Dokumentasjon av 3 2.1 Oversikt 3 2.1.1 Meldingstyper/funksjoner 3 2.1.2 BusinessAcknowledge
Detaljer1. Designe ER-modeller med MS Visio
Kjell Toft Hansen 01.07.2009 Opphavsrett: Forfatter og AITeL Lærestoffet er utviklet for faget LO151D Informatikk 1- databaser 1. I dette notatet skal vi se på hvordan vi kan lage ER-modeller ved å bruke
DetaljerAMS-case forts. Eksemplifisering av modellbasert. tilnærming til design av brukergrensesnitt
AMS-case forts. Eksemplifisering av modellbasert tilnærming til design av brukergrensesnitt Objekt-interaktor med valg Relatert objekt velges ofte blant mange kandidater Output av kandidat-sett Input av
DetaljerKlasser. Webprogrammering høsten 2015. Objekter. Eksempelklasser og -objekter. 2 of 11 14.10.2015 07:56. 1 of 11 14.10.2015 07:56
[Kurssidene] [ ABI - fagsider bibin ] Objekter Webprogrammering høsten 2015 Et objekt er en "ting" som representeres i et program. Representasjonen tar for seg attributter og oppførsel Attributter (egenskaper)
Detaljer6 ting du bør vite om Office 365
Skjuler deg seg noen hemmeligheter I Office 365 som du bør vite om. Office 365 er en verktøykasse i seg selv, og det er mer verktøy i Office 365 enn det de fleste kjenner til. Grupper? Delve? Ikke det,
Detaljer1 Kodegenerering fra Tau Suiten
Kodegenerering fra Tau Suiten For å generere Javakode eller en annen form for programmeringskode ut i fra Tau suiten, er det visse ting som må være utført.. En UML modell må eksistere og være korrekt.
DetaljerSikker Jobbanalyse. Dokumentnr.: POP-PRO-TEN-013. Versjon Dato Versjonsbeskrivelse 01 01.05.2010
Sikker Jobbanalyse Dokumentnr.: POP-PRO-TEN-013 Versjon Dato Versjonsbeskrivelse 01 01.05.2010 Navn Tittel Dato Utarbeidet av Magne Gundersen HMS rådgiver Revidert av Terje Løvereide Operation manager
DetaljerTOD063 Datastrukturer og algoritmer
TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage
DetaljerKravspesifikasjon med. UML diagrammer. systemutvikling. Dokumentasjon av systemets krav, arkitektur, design og implementasjon
Kravspesifikasjon med UML use case modellering Erik Arisholm 01.03.2010 Unified Modeling Language (UML) Notasjon som støtter opp under modellbasert systemutvikling objektorientert analyse ( hva systemet
DetaljerUnified Modeling Language (UML) Kravspesifikasjon med UML use case modellering. UML diagrammer. Notasjon som støtter opp under modellbasert
Kravspesifikasjon med UML use case modellering Erik Arisholm 25.02.2009 Unified Modeling Language (UML) Notasjon som støtter opp under modellbasert systemutvikling objektorientert analyse ( hva systemet
DetaljerModellering av data. Magnus Karge, Kartverket
Modellering av data Magnus Karge, Kartverket 02.05.2018 Modellering av data Innhold Sentrale elementer i klassediagrammer Sentrale elementer i pakkediagrammer Relevante standarder Internasjonalt: ISO 19103
DetaljerKravspesifikasjon med. Erik Arisholm
Kravspesifikasjon med UML use case modellering Erik Arisholm 01.03.2010 Unified Modeling Language (UML) Notasjon som støtter opp under modellbasert systemutvikling objektorientert analyse ( hva systemet
DetaljerGruppenavn. Prosjektnavn Kravdokument For Navn på systemet. Versjon <1.0>
Gruppenavn Prosjektnavn Kravdokument For Navn på systemet Versjon Revisjonshistorie Dato Versjon Beskrivelse av endring Forfatter Innhold 1. Innledning 4 1.1
Detaljer5 TIPS - FÅ RÅD TIL DET DU ØNSKER DEG
5 TIPS - FÅ RÅD TIL DET DU ØNSKER DEG Du vil lære... Hvorfor du skal ta kontroll på økonomien De 5 stegene til hvordan du får råd til det du drømmer om Hvorfor det er så smart å begynne før sommeren, dette
Detaljer