Dataflödesdiagram

Data flow diagram with data storage, data flows, function and interface
Dataflödesdiagram med datalagring, dataflöden, funktion och gränssnitt

Ett dataflödesdiagram är ett sätt att representera ett dataflöde genom en process eller ett system (vanligtvis ett informationssystem ). DFD ger också information om utdata och indata från varje enhet och själva processen. Ett dataflödesdiagram har inget kontrollflöde — det finns inga beslutsregler och inga loopar. Specifika operationer baserade på data kan representeras av ett flödesschema .

Det finns flera notationer för att visa dataflödesdiagram. Notationen som presenteras ovan beskrevs 1979 av Tom DeMarco som en del av strukturerad analys .

För varje dataflöde måste minst en av slutpunkterna (källa och/eller destination) finnas i en process. Den förfinade representationen av en process kan göras i ett annat dataflödesdiagram, som delar upp denna process i underprocesser.

Dataflödesdiagrammet är ett verktyg som ingår i strukturerad analys och datamodellering . När du använder UML tar aktivitetsdiagrammet vanligtvis över rollen som dataflödesdiagrammet . En speciell form av dataflödesplan är en platsorienterad dataflödesplan.

Dataflödesdiagram kan betraktas som inverterade petrinät , eftersom platser i sådana nätverk motsvarar semantiken för dataminnen. Analogt bör semantiken för övergångar från Petri-nät och dataflöden och funktioner från dataflödesdiagram anses likvärdiga.

Historia

DFD-notationen bygger på grafteori, som ursprungligen användes i operativ forskning för att modellera arbetsflöden i organisationer. DFD har sitt ursprung i aktivitetsdiagrammet som användes i metodiken för strukturerad analys och designteknik i slutet av 1970-talet. DFD-populariserare inkluderar Edward Yourdon, Larry Constantine, Tom DeMarco, Chris Gane och Trish Sarson.

Dataflödesdiagram (DFD) blev snabbt ett populärt sätt att visualisera de stora stegen och data som är involverade i mjukvarusystemprocesser. DFDs användes vanligtvis för att visa dataflödet i ett datorsystem, även om de i teorin kunde tillämpas på affärsprocessmodellering . DFD:er var användbara för att dokumentera de stora dataflödena eller för att utforska en ny design på hög nivå när det gäller dataflöde.

DFD-komponenter

Data flow diagram - Yourdon/DeMarco notation
Dataflödesdiagram - Yourdon / DeMarco -notation

DFD består av processer, flöden, lager och terminatorer. Det finns flera sätt att visa dessa DFD-komponenter.

Bearbeta

Processen (funktion, transformation) är en del av ett system som transformerar input till output. Symbolen för en process är en cirkel, en oval, en rektangel eller en rektangel med rundade hörn (beroende på typen av notation). Processen benämns i ett ord, en kort mening eller en fras som tydligt ska uttrycka dess väsen.

Data flöde

Dataflöde (flöde, dataflöde) visar överföring av information (ibland även material) från en del av systemet till en annan. Symbolen för flödet är pilen. Flödet bör ha ett namn som avgör vilken information (eller vilket material) som flyttas. Undantag är flöden där det tydligt framgår vilken information som överförs genom de enheter som är kopplade till dessa flöden. Materialskiften modelleras i system som inte bara är informativa. Flow bör endast överföra en typ av information (material). Pilen visar flödesriktningen (den kan också vara dubbelriktad om informationen till/från entiteten är logiskt beroende - t.ex. fråga och svar). Flöden länkar samman processer, lager och terminatorer.

lager

Lagret (datalager, datalager, fil, databas) används för att lagra data för senare användning. Butikens symbol är två horisontella linjer, det andra synsättet visas i DFD-notationen. Namnet på lagret är ett substantiv i plural (t.ex. beställningar) - det härrör från lagrets in- och utströmmar. Lagret behöver inte bara vara en datafil utan kan också vara till exempel en mapp med dokument, ett arkivskåp eller en uppsättning optiska skivor. Därför är visning av lagret i en DFD oberoende av implementering. Flödet från lagret representerar vanligtvis läsning av data som lagras i lagret, och flödet till lagret uttrycker vanligtvis datainmatning eller uppdatering (ibland även radering av data). Lagret representeras av två parallella linjer mellan vilka minnesnamnet finns (det kan modelleras som en UML-buffertnod).

Terminator

Terminatorn är en extern enhet som kommunicerar med systemet och står utanför systemet. Det kan till exempel vara olika organisationer (t.ex. en bank), grupper av människor (t.ex. kunder), myndigheter (t.ex. ett skattekontor) eller en avdelning (t.ex. en personalavdelning) i samma organisation, som inte tillhör samma organisation. till modellsystemet. Terminatorn kan vara ett annat system med vilket det modellerade systemet kommunicerar.

Regler för att skapa DFD

Enhetsnamn bör vara begripliga utan ytterligare kommentarer. DFD är ett system skapat av analytiker baserat på intervjuer med systemanvändare. Det bestäms för systemutvecklare, å ena sidan, projektentreprenörer å andra sidan, så enhetsnamnen bör anpassas för modelldomän eller amatöranvändare eller proffs. Entitetsnamn bör vara generella (oberoende, t.ex. specifika individer som utför verksamheten), men de bör tydligt ange enheten. Processer bör numreras för enklare kartläggning och hänvisning till specifika processer. Numreringen är slumpmässig, men det är nödvändigt att bibehålla konsistens över alla DFD-nivåer (se DFD-hierarki). DFD bör vara tydlig, eftersom det maximala antalet processer i en DFD rekommenderas att vara från 6 till 9, minst är 3 processer i en DFD. Undantaget är det så kallade kontextuella diagrammet där den enda processen symboliserar modellsystemet och alla terminatorer som systemet kommunicerar med.

DFD-konsistens

DFD måste överensstämma med andra modeller av system- entitetsrelationsdiagrammet , tillståndsövergångsdiagrammet , dataordboken och processspecifikationsmodellerna . Varje process måste ha sitt namn, ingångar och utgångar. Varje flöde ska ha sitt namn (undantag se Flöde). Varje datalager måste ha in- och utflöde. In- och utflöden behöver inte visas i en DFD - men de måste finnas i en annan DFD som beskriver samma system. Ett undantag är lager som står utanför systemet (externt lager) som systemet kommunicerar med.

DFD hierarki

För att göra DFD mer transparent (dvs inte för många processer) kan DFD:er på flera nivåer skapas. DFD:er som är på en högre nivå är mindre detaljerade (sammanställ mer detaljerade DFD på lägre nivåer). Den kontextuella DFD är den högsta i hierarkin (se DFD-skapanderegler). Den så kallade nollnivån följs av DFD 0, som börjar med processnumrering (t.ex. process 1, process 2). I nästa, den så kallade första nivån - DFD 1 - fortsätter numreringen. Exempelvis är process 1 uppdelad i de tre första nivåerna av DFD, som är numrerade 1.1, 1.2 och 1.3. På liknande sätt är processer i den andra nivån (DFD 2) numrerade t.ex. 2.1.1, 2.1.2, 2.1.3 och 2.1.4. Antalet nivåer beror på storleken på modellsystemet. DFD 0-processer kanske inte har samma antal nedbrytningsnivåer. DFD 0 innehåller de viktigaste (aggregerade) systemfunktionerna. Den lägsta nivån bör innehålla processer som gör det möjligt att skapa en processspecifikation för ungefär en A4-sida. Om minispecifikationen skulle vara längre är det lämpligt att skapa en ytterligare nivå för processen där den kommer att delas upp i flera processer. För en tydlig överblick över hela DFD-hierarkin kan ett vertikalt (tvärsnitts) diagram skapas. Lagret visas på den högsta nivån där det först används och även på varje lägre nivå.

Se även

Bibliografi

externa länkar