Prosessmodellering. Strukturert design med dataflytdiagrammer (DFD) Gurholt & Hasle Kapittel 10. Kirsten Ribu Høgskolen i Oslo



Like dokumenter
Kirsten Ribu - Høgskolen i Oslo

Kirsten Ribu - Høgskolen i Oslo

Kap. 12 Analysemodellering (Analysis Modeling)

Oversikt over forelesningen. DFD sentrale konsepter. Intro til Dataflytdiagrammer (DFD) Marakas, kap. 5

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Kravspesifiseringsprosessen

Tom Røise 2/28/2007. IMT2243 : Systemutvikling 1. Forelesning IMT mars Tema : Litteratur : Strukturert analyse. Strukturert analyse

Slope-Intercept Formula

SIF 8035 Informasjonssystemer Våren Øving 2 DFD-modellering. Innlevering: Mandag 12. februar

UML 1. Use case drevet analyse og design Kirsten Ribu

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Endringer i neste revisjon av EHF / Changes in the next revision of EHF 1. October 2015

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case? Use case modellering. Eksempel

1. Funksjonsmodellering

Innovasjonsvennlig anskaffelse

Verktøy for å håndtere siteringer og referanser i masteroppgaven. Citation and reference tools for your master thesis. Citations and references

Hensikten med denne delen av kurset. Objektets egenskaper. Objektorientering hva er det? Best practises ved programvareutvikling. Kravspesifikasjonen

1. SQL datadefinisjon og manipulering

Neural Network. Sensors Sorter

Dagens tema: Eksempel Klisjéer (mønstre) Tommelfingerregler

Use case modellen. Use case modellering i analysefasen. Hva er en Aktør? Hva er et Use case?

AMS-case forts. Eksemplifisering av modellbasert. tilnærming til design av brukergrensesnitt

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

Dynamic Programming Longest Common Subsequence. Class 27

Trigonometric Substitution

Eksamen INF

1 User guide for the uioletter package

Brukerkrav og use case diagrammer og -tekst 19. januar Agenda. Brukerkrav og use case. Diagrammer Tekst.

case forts. Alternativ 1 Alternativer Sammensetning Objekt-interaktor med valg

EKSAMENSOPPGAVE I FAG TKP 4105

UML-Unified Modeling Language

IBE430 Forretningsprosesser og ERP Forelesning nr. 6. Fortsetter om salgsforretningsprosessen

Kurskategori 2: Læring og undervisning i et IKT-miljø. vår

UNIVERSITY OF OSLO. Faculty of Mathematics and Natural Sciences

Andrew Gendreau, Olga Rosenbaum, Anthony Taylor, Kenneth Wong, Karl Dusen

Databases 1. Extended Relational Algebra

Elektronisk innlevering/electronic solution for submission:

MID-TERM EXAM TDT4258 MICROCONTROLLER SYSTEM DESIGN. Wednesday 3 th Mars Time:

EKSAMEN I FAG TDT MMI Lørdag 11. august 2012 Tid: kl

TDT4117 Information Retrieval - Autumn 2014

Hvordan ser pasientene oss?

Prosessmodell. Hurtigguider - rammeverk Sist redigert Snorre Fossland Eier og driver Snorres Modellbyrå

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)

I dag UML. Domenemodell visualisering av konsepter. Eksempel. Hvordan finne domeneklasser?

SAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM

Hvordan komme i gang med ArchiMate? Det første modelleringsspråket som gjør TOGAF Praktisk

INF5120 Eksamen Løsningsforslag Oppgave 1a,b COMET

Feilmelding Årsak Løsning

Citation and reference tools for your master thesis

5 grunner til at Blockchain teknologien kan revolusjonere finansnæringen

Citation and reference tools for your master thesis

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Tom Røise 18. Februar 2009

Mathematics 114Q Integration Practice Problems SOLUTIONS. = 1 8 (x2 +5x) 8 + C. [u = x 2 +5x] = 1 11 (3 x)11 + C. [u =3 x] = 2 (7x + 9)3/2

Information search for the research protocol in IIC/IID

A Study of Industrial, Component-Based Development, Ericsson

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

MØTEPROTOKOLL. Internasjonalt Utvalg. Dato: kl. 9:00 Sted: Skype Arkivsak: 15/01544

Citation and reference tools for your master thesis

Referansearkitektur use cases. Kjell Sand SINTEF Energi AS NTNU Institutt for elkraftteknikk

Examination paper for TDT4252 and DT8802 Information Systems Modelling Advanced Course

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.

Public roadmap for information management, governance and exchange SINTEF

Bostøttesamling

buildingsmart Norge seminar Gardermoen 2. september 2010 IFD sett i sammenheng med BIM og varedata

2A September 23, 2005 SPECIAL SECTION TO IN BUSINESS LAS VEGAS

SmartPass Mini User Manual BBNORGE.NO

UNIVERSITETET I OSLO

The exam consists of 2 problems. Both must be answered. English

Vekeplan 4. Trinn. Måndag Tysdag Onsdag Torsdag Fredag AB CD AB CD AB CD AB CD AB CD. Norsk Matte Symjing Ute Norsk Matte M&H Norsk

TUSEN TAKK! BUTIKKEN MIN! ...alt jeg ber om er.. Maren Finn dette og mer i. ... finn meg på nett! Grafiske lisenser.

INF2120 Tools at your fingertips

Rom-Linker Software User s Manual

INFO TAXI REMOTE. Taxi Management CONTROL SYSTEM (TMCS)

TUSEN TAKK! BUTIKKEN MIN! ...alt jeg ber om er.. Maren Finn dette og mer i. ... finn meg på nett! Grafiske lisenser.

Cyberspace og implikasjoner for sikkerhet

EKSAMENSOPPGAVE I BI2034 Samfunnsøkologi EXAMINATION IN: BI Community ecology

Generalization of age-structured models in theory and practice

Høgskolen i Telemark EKSAMEN 6102 DATABASER Tid: Hjelpemidler: Vedlegg: Eksempeldata til oppgave 1

TUSEN TAKK! BUTIKKEN MIN! ...alt jeg ber om er.. Maren Finn dette og mer i. ... finn meg på nett! Grafiske lisenser.

Teknisk dokumentasjon for integrasjon. mellom SuperOffice og Visma.net

ADDENDUM SHAREHOLDERS AGREEMENT. by and between. Aker ASA ( Aker ) and. Investor Investments Holding AB ( Investor ) and. SAAB AB (publ.

OTC USE IN NORWAY FOR PARACETAMOL, ATC-CODE: N02BE01

Perpetuum (im)mobile

Examination paper for (BI 2015) (Molekylærbiologi, laboratoriekurs)

Syntax/semantics - I INF 3110/ /29/2005 1

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

Software Requirements and Design (SRD) 1 Generelt om dokumenter

Issues and challenges in compilation of activity accounts

Trådløsnett med. Wireless network. MacOSX 10.5 Leopard. with MacOSX 10.5 Leopard

UNIVERSITY OF OSLO DEPARTMENT OF ECONOMICS

Produktrapport Gruppe 9

SAMMENDRAG.

Prosjektet Digital kontaktinformasjon og fullmakter for virksomheter Digital contact information and mandates for entities

FYSMEK1110 Eksamensverksted 23. Mai :15-18:00 Oppgave 1 (maks. 45 minutt)

Exercise 1: Phase Splitter DC Operation

Du må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor.

FASMED. Tirsdag 21.april 2015

Vekstkonferansen: Vekst gjennom verdibaserte investeringer. Thina Margrethe Saltvedt, 09 April 2019

Physical origin of the Gouy phase shift by Simin Feng, Herbert G. Winful Opt. Lett. 26, (2001)

Transkript:

Prosessmodellering Strukturert design med dataflytdiagrammer (DFD) Gurholt & Hasle Kapittel 10 Kirsten Ribu Høgskolen i Oslo 1

Perspektiver på modellering De strukturerte metodene SA/SD sammen med datamodellering var lenge den mest brukte måten å modellere datasystemer på. Objektorienterte språk vokste fram med Simula67, og senere Smalltalk, C++, Java. På slutten av 80-tallet dukket de første variantene av objektorienterte modelleringsmetoder fram, OOA/OOD. UML er mye brukt i dag sammen med OO progrmmering Dataflytdiagrammer modellerer dataflyt, filer, prosesser og dataelementer 2

Et dataflytdiagram 3

Prosessmodellering med DFD Det finnes to sett av diagramsymboler for DFD, hvert sett inneholder 4 symboler 4

Diagrammene - historikk Det sentrale verktøyet ved design av data-flyt er dataflyt-diagrammet (DFD) Dets historie går tilbake til Paris i 1920, hvor en rasjonaliseringsekspert skulle beskrive dokumentflyten mellom de ulike arbeidsbord i et stort kontorrom. Den utgave av dataflyt-diagrammet som beskrives her er utviklet av Tom demarco. Den andre hovedvarianten av DFD er utviklet av Chris Gane og Trish Sarson. Det som skiller de to metodene er stort sett den grafiske notasjonen. Tankegangen og prinsippene er de samme. 5

Symbolene Prosess. Beskriver en behandling eller transformering av data Dataflyt. Beskriver data som flyter til eller fra en prosess. Data-lager. Beskriver et sted hvor data lagres over lengre tid. For eks en fil, arkiv, databasetabell, etc. Ekstern entitet. Kilder eller mottaker av data som befinner seg utenfor det systemet som beskrives. 6

Prosesser og lagre Prosesser viser hva systemet kan gjøre. En prosess beskriver en system-funksjon. DeMarco bruker av og til ordet boble om en prosess. Derfor forekommer også begrepet boblediagram. Prosessen har et unikt navn og et nummer (identifikasjon). Datalager er oppbevaringsplass for data. Prosesser kan hente data fra datalager (lese) og legge data på lageret (skrive). Datalageret har et unikt navn. Datalager er passive elementer i diagrammet. 7

Dataflyt Dataflyt beskriver de dataelementer som behandles i systemet. Pil-retningen viser hvilken vei dataene flyter, og pilene må gis et unikt og beskrivende navn. Dataflyt kan forekomme mellom prosesser mellom prosess og datalager mellom prosess og ekstern entitet. 8

Ekstern entitet Ekstern entitet representerer kilde eller mottaker av data som ligger utenfor systemet. Den eksterne entiteten er utenfor det vi ønsker å modellere. I en bedriftsmodell kan det være kunder eller leverandører Det kan også være andre avdelinger i en bedrift dersom disse ligger utenfor systemet 9

Eksempel: Nivå 1 The first level DFD shows the main processes within the system. Each of these processes can be broken into further processes until you reach pseudocode. 10

MERK! Dataflyt-diagrammet viser ikke rekkefølge av det som skjer, heller ikke betingelser for at noe kan utføres. (Jfr use case modellen). Et DFD er en modell av dataflyten, og ingenting annet. Alt som vises på dataflytdiagrammet kan i prinsippet skje parallelt. En vanlig nybegynnerfeil når man skal tegne et DFD er å forveksle data-flyt med kontroll-flyt. Et dataflytdiagram hvor hele systemet beskrives som en prosess (øverste nivå) kalles et kontekst-diagram. 11

Prosessmodellering (1) En prosess (funksjon) er arbeidet eller hendelsene som utføres på data på en slik måte at de endres, lagres eller distribueres Når en prosess modelleres spiller det ingen rolle om prosessen utføres manuelt eller av en datamaskin En prosess manipulerer, lagrer og distribuerer data mellom et system og omgivelsene samt mellom komponenter innen et system Et datalager kan inneholde data om kunder, studenter eller leverandørfakturaer 12

Eksempel informasjonsflyt internt hva brukeren gjør, ikke hvordan eller tekniske detaljer (jfr use case) Kommunikasjonsmiddel kan brukes overfor kunden 13

Prosessmodellering (2) En dataflyt kan best forstås som data i bevegelse fra en plass i systemet til en annen en dataflyt kan representere data om en kundes ordre eller lønnsslippen til en ansatt kan også representere resultatet av en forespørsel til en database, innholdet i en rapport eller data i et datafelt på et skjermbilde en dataflyt kan være sammensatt av mange individuelle datadeler som genereres på samme tid og flyttes samtidig til et felles bestemmelsessted 14

Prosessmodellering (3) En datakilde (source) eller et databestemmelsessted (sink) er opprinnelsen og/eller bestemmelsesstedet for data kalles også eksterne entiteter fordi de ligger utenfor systemet og definerer dermed grensene for systemet data kommer alltid inn fra en eller flere kilder systemet må produsere informasjon til ett eller flere bestemmelsessted 15

These diagrams show a group of related sets: Context Diagram: This is the highest level and represents the overall system and its interaction with its environment Level 0 Diagram: This shows the major subsystems and their interactions Level x Diagram: Shows the processes that make up each of the major subsystems Level x.y Diagram: Shows detail of the above diagrams 16

Nivåer (1) 17

Nivåer (2) 18

Diagrammer Kontekstdiagram: En oversikt over systemet som viser grenser, eksterne entiteter som samhandler med systemet og hovedinformasjonen som flyter mellom de eksterne entitetene og systemet 19

Kontekstdiagram 20

Kontekstdiagram notasjon 2 Kontekstdiagram for et ordresystem 21

Nivå-0-diagram: Et dataflytdiagram som representerer systemets hovedprosesser, dataflyt, datalagre og eksterne entiteter på et høyt detaljeringsnivå 22

Et dataflytdiagram nivå 0 Notasjon 2 23

Nivå 0 eksempel Nivå-0-diagram for et ordresystem 24

Dekomponering (1) En prosess kan deles opp i flere sub-prosesser. Dette angis i dataflytdiagrammet ved nummereringsregler. Dersom prosess 3 deles i 2 sub-prosesser, vil disse få numrene 3.1 og 3.2. Hvis prosess 3.2 igjen deles opp i 4 sub-prosesser, vil disse nummereres som henholdsvis 3.2.1, 3.2.2, 3.2.3 og 3.2.4. Vi beveger oss mot stadig lavere detaljeringsnivå. På øverste nivå (nivå 0) har vi kontekstdiagrammet. På neste nivå vil prosessene nummereres fra 1 og oppover. Nivået under der vil ha 2 komponenter i prosessnummeret (1.1, 1.2,..) osv. 25

Dekomponering (2) Funksjonell dekomponering En iterativ prosess der beskrivelsen av et system brytes ned slik at hvert nivå blir mer detaljert enn det foregående Nivå-n-diagram Et dataflytdiagram som er resultatet av n dekomponeringer av en prosess i et nivå-0-diagram viser ikke eksterne entiteter (datakilder/databestemmelsessteder) Hver prosess skal dekomponeres inntil de består av enkeltstående funksjoner Hvert nivå-n-diagram skal lages på atskilte sider 26

Dekomponering - eksempel Nivå-1-diagram som viser dekomponering av prosess 1.0 fra ordresystemet 27

Dekomponering i flere nivå (Kilde: I.T. Hawryszkiewycz: Introduction to Systems Analysis and Design, Prentice Hall, 1994). 28

Tommelfingerregler 1. COMPUTE SALES TAX The processes should be numbered in order to conveniently reference them in the DFD. A process is named or described with a single word, phrase, or simple sentence. The process name should describe what the process does. A good name will generally consist of a verb-object phrase such as COMPUTE TAX RATE. 29

Flyten CUSTOMER INQUIRY The flow is represented graphically by an arrow into or out of a process (Figure 2). The flow is used to describe the movement of chunks, or packets of information from one part of the system to another part. The flows represent data in motion. CUSTOMER INQUIRY The flows show direction: an arrowhead at either end of the flow or possibly at both ends indicates whether data is moving into or out of a process or both. 30

Input og output Ordre PROCESS ORDER Input flyt GENERATE INVOICE REPORT Faktura Output flyt 31

Eksempel ORDER DETAILS ORDER ORDER 1. ENTER ORDERS ORDERS 2. RESPOND TO INQUIRY INQUIRY ACKNOWLEDGMENT RESPONS E A flow from a store is normally interpreted as a read or an access to information in a data store. The data store is not changed when a packet of information moves from the store along the flow. A flow to a store is normally described as a write, an update, or possibly 32 a delete. The data store is changed as a result of the flow entering the store.

Typisk DFD for et lite system ORDRE Fakturaer Kunder 33

Viktig: Konsistens Det må være konsistens mellom nivåene Data må ikke forsvinne på veien 34

35

36

37

38

39

Neste gang Etikk i Cyberspace Lover og regler 40