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 DFD vs andre modelleringsteknikker DFD vs use cases DFD vs ER DFD vs UML activitetsdiagrammer Eksempler TDT415 Informadsjonssystemer 3 DFD sentrale konsepter 4 DFD - notasjoner Prosesser Viser hva som gjøres i systemet Kan være automatiserte eller manuelle Typisk navngiving: verb + substantiv Datalager Inneholder data som ivaretas av systemet elektronisk eller på andre måter Data produseres og brukes av prosesser Lagrene selv er passive Eksterne entiteter (ikke forveksle med ER entiteter!) Er utenfor systemet, leverer eller mottar data Kan være en person, organisasjon, et IT-system, Dataflyt Binder sammen de tre ovenstående Viser hvordan data flyter i systemet Prosess prosess; prosess lager; process ekstern entitet Flere dialekter, jfr. Fig 5-1
5 6 DFD - diagramtyper Kontekstdiagram, fig 5-4 Kontekstdiagram: Viser hele systemet som en prosess, jfr. Fig 5-4 Viser eksterne entiteter, men ikke datalager Toppnivå diagram: Flere prosesser + datalagre, jfr. Fig 5-2, 5-5 Lavere nivås diagrammer: En prosess kan dekomponeres i flere sub-prosesser, Jfr. Fig 5-6, 5- (nummereringskonvensjon, fig 5-3) Kan gjøres i flere nivåer Syntaksregler Tabell 5-1 Toppnivå (nivå 0), fig 5-5 8 Nivå-1, Fig 5-6 NB: Vanligst å vise en enkelt dekomponering per diagram, ikke alt i samme (blir fort for komplekst)
9 Logisk vs. fysisk DFD Karakteristikk Logisk Fysisk 10 Eksempel, logisk Hva viser modellen? Hva er prosessene? Hva viser datalagrene? Typer datalagre Systemkontroll Hvordan organisasjonen opererer Forretningsaktiviteter Samlinger av data, uavh. av lagringsmåte Permanente datasamlinger Viser kontroller iht forretningsregler Hvordan systemet konkret er / vil bli implementert Programmer og manuelle prosedyrer Fysiske filer og databaser, manuelle arkiv Også midlertidige lagre Alle mulige kontroller (datavalidering etc.) D1 1 2 3 4 Identifiser vare Varer for kjøp Vare-ID Priser Sjekk Priser Varer og Beregn totalpris Beløp Betaling Utfør transaksjon Kvittering 11 12 Eksempel, fysisk Også mulig i fysisk DFD Varer for kjøp D1 UPC-kode UPC prisliste Varebeskr., D2 Temp. trans.fil Varer, Varer,, delsum Kontanter, sjekk eller kort Sekretær Kassakvittering GQXsystem Morgenmøte Logisk: hva som gjøres (av GQX / Sekr. / på møtet), f.eks Planlegg produksjon Lag møteinnkalling Sett opp arbeidsliste 1 2 3 4 Dra varer over scanner UPC-kode Sjekk kode i prisliste Varekode, Beregn totalpris Beløp Utfør transaksjon D3 XRW-database D3 Arkivskap nr 14 D3 Gerica påmeldingsskjema kjørebok Logisk: hva slags data som er lagret / som flyter, f.eks Deltagerpersonalia Kjøretider og distanser D3 Kjørebok
13 Vanlig modelleringssekvens (jfr fig 3-6) 14 Forhold til andre teknikker (1) 1. Fysisk DFD for nåværende system Dette vil være det som ligner mest på det som brukere direkte forteller om nåsituasjon f.eks i intervjuer, og som de lettest kan kjenne seg igjen i 2. Logisk DFD for nåværende system Abstrahere seg bort fra fysiske detaljer for å bedre forstå evt. svakheter ved nåværende måte å gjøre ting på 3. Logisk DFD for nytt system Finne en bedre måte å gjøre ting på 4. Fysisk DFD for nytt system Konkret implementasjon av den nye løsningen NB: trenger ikke nødvendigvis gå gjennom alle disse stegene i et hvert prosjekt Use cases Vanlig misoppfatning: DFD og UC nesten det samme Eksterne entiteter use case aktører DFD prosesser use cases Begge viser aktiviteter som gjøres Begge navngis verb + substantiv Dekomponering includes Punktene over til dels korrekte, men modellene er ganske ulike Viser ulike ting Bruker med ulik hensikt UC modell er ekstern mens DFD er intern 15 Kategorisering av modeller (Bray, 2002) Eksterne Representasjonelle Statiske: skjermbilder Dynamiske: bruk-og-kast prototyper Oppførselsfokuserte Funksjonelle: beslutningstabeller, use cases, Tilstandsbaserte: tilstandsmaskiner, Petrinett Interne Prosessorienterte Kommuniserende parallelle prosesser, f.eks. DFD Kommuniserende sekvensielle pros., f.eks., strukturkart Enkle prosesser, f.eks., pseudokode, flytkart, UML AD Dataorienterte, f.eks. ER Prosess / data kombinasjon, f.eks. Entitet-livshistorier (ELH) OO klassediagram 16 Forhold til andre teknikker (2) DFD vs ER Begge er interne, men liten overlapp Data som flyter og lagres i DFD vil være de samme som vi modellerer i ER DFD og ER brukes ofte sammen DFD vs. UML klassediagrammer OO Kombinerer data og prosess Alternativ til DFD+ER Fordeler: Både data og aktivitet i ett diagram Lettere overgang til OOD Ulempe: prosess skjules / fragmenteres av klassene Alt i ett diagram kan bli for komplekst Overgang til OOD ikke alltid relevant
1 18 Forhold til andre teknikker (3) UML aktivitetsdiagrammer Har mye til felles med DFD UML activities DFD processes Men også forskjeller: Aktivitetsdiagrammer: enkle proseser fra start til slutt Ett diagram per prosess Eksplisitte valg og forgreninger Svømmebaner: hvem gjør hva DFD: modellere hele systemer Eksterne entiteter viser hvor data kommer inn og ut Flere eksempler på DFD Rekker ikke noe stort eksempel i denne ene timen Ikke så mye i boka, men se gamle eksamensaver Starter typisk med tekstlig beskrivelse Oppgave enten å lage logisk DFD eller å lage både fysisk og logisk Eksempler tre neste slides, eksamen mai 2005: Oppgave 3a, fysisk diagram 3a, dekomponering 3b, logisk diagram For avetekst, se fagets webside, lenken Gamle eksamener 19 20 Student.frist studnr 5. Stud-IS r r mulige sensorer 1. Lag eksamenssett målformer 3. Eksamenskontor eksamensinfo aver avefrister purring Vitass øvings 2. Organiser sensur,, sensurfrist 4. Sekretær eksamensinfo Tilbud om sensuroppdrag, respons Sensor sensurfrist (fra Sekretær) 2.1 Finn sensorer (fra Sekretær) mulige sensorer (fra Lag ) fordelings info respons Tilbud om sensuroppdrag 2.2 Fordele arelser Oppg, Sensor 2.3 Bestem eksamens r øvings Vitass 2.4 Sett karakter karakter (til Sekretær) 2.5 Fyll inn DATABASE
21 4. Gjennomfør sensur 1. Forbered eksamen 3. Gjennomfør eksamen FAGDATA Datoer, Målformer Ant. oppmeldte 2. Forbered sensur Sensor aver Vitass Ø- Student 5. Finn karakter,, sensurfrist Tilbud om sensuroppdrag, respons.frist, målformer r mulige sensorer STUDENTDATA fremmøteinfo studentlister studnr