180 likes | 376 Views
Processen. Gegevens. Activiteit 1.5 Opstellen functiemodel. Data Flow Diagram of DFD gegevens & processen communicatie. Data Flow Diagram of DFD. Onderdelen van een DFD. Proces. Cirkel Informatieverwerkende activiteit (= invoer in uitvoer transformeren)
E N D
Processen Gegevens Activiteit 1.5 Opstellen functiemodel • Data Flow Diagram ofDFD • gegevens & processen • communicatie
Proces • Cirkel • Informatieverwerkende activiteit (= invoer in uitvoer transformeren) • Processen produceren noch vernietigen informatie. De enige bewerkingen zijn opsplitsen van samengestelde informatiestroom, samenvoegen van afzonderlijke gegevens of berekenen van gegevens met behulp van andere gegevens Totale netto informatie-instroom = totale netto informatie-uitstroom • Unieke naam/functieomschrijving en uniek (hiërarchisch) nummer • Eventueel vermelding van locatie of uitvoerder
Gegevensstroom (flow) • Benoemde vector/pijl / betekenis • Overdracht van informatie • Richting = instroom, uitstroom of dialoogstroom van één soort gegevens (zelfde naam = zelfde soort gegevens!) • Samengesteld of atomair • Divergeren • Convergeren
Data store (gegevensopslag) • Open rechthoek • Opslag van informatie door processen ten behoeve van processen • Verbonden met proces d.m.v. flow van een data store (leesactiviteit) of naar een data store (schrijfactiviteit) • Niet noodzakelijk een database (vandaar data store) • Niet-destructieve leesopdrachten (!)
Externe entiteit / externe actor / terminator • Vierkant met kleine letter linksboven en eventueel lijnen rechtsonder (dubbels) • Alle entiteiten die met een proces communiceren maar zelf niet aan de voorwaarden van een proces voldoen (d.w.z. niet volledig tot het beschouwde informatiesysteem behoren – geen 100% controle) • Externe entiteiten vallen buiten systeem en bijgevolg ook buiten het bereik • Relaties tussen externe entiteiten worden niet in DFD’s opgenomen
DFD richtlijnen • Kies betekenisvolle namen voor processen, stromen, data stores en externe entiteiten. • Nummer de processen. • Vermijd al te complexe DFD’s. • Teken een DFD zo vaak als nodig opnieuw om het er goed te laten uitzien. • Overtuig jezelf ervan dat het DFD zelf ten opzichte van alle met dit DFD samenhangende DFD’s consistent is.
Proces 2.2.2.2 maakt deel uit van proces 2.2.2, dat deel uitmaakt van proces 2.2, dat deel uitmaakt van proces 2 dat deel uitmaakt van proces 0.
DFD Ontwerpstrategie (top-down) • Teken het systeem als een cirkel. • Teken de externe entiteiten. • Teken de gegevensstromen van en naar de externe entiteiten • Splits de cirkel in deelcirkels. • Neem de informatie over van het hoger liggende niveau. • Teken de data stores en gegevensstromen die noodzakelijk zijn om de processen te laten samenwerken. • Teken eventueel bijkomende stromen en opslag. • Herhaal 4 t.e.m. 7 tot voldoende detailleringniveau.
Checklist • Een goed DFD weerspiegelt de werkelijke structuur van processen en informatiestromen en bakent de grenzen van informatiesystemen correct af. De kwaliteit van een DFD kan slechts ten volle beoordeeld worden door iemand die uitstekend op de hoogte is van de processen zelf. Niettemin zijn er enkele regeltjes die de ontwerper zelf kan hanteren om "zwarte gaten" in het diagram te detecteren. • Processen creëren geen informatie. De informatiestructuren die een proces verlaten, moeten volledig en ondubbelzinnig kunnen worden afgeleid uit de binnenkomende informatiestructuren. • Processen slorpen geen informatie op. Alle informatiestructuren die een proces binnengaan, moeten volledig noodzakelijk zijn om bepaalde uitvoerinformatie te genereren. • Zijn alle archieven inert ? De totale invoer van een archief is precies gelijk aan de totale uitvoer. Als je een archief wil modelleren dat informatie "van elders" bevat, dan heb je waarschijnlijk een externe actor vergeten, of het archief is zelf een externe actor. • Zijn alle informatiestromen verbonden met een proces ? Een informatiestroom kan geen twee archieven verbinden, of twee externe actoren, of een externe actor met een archief. Er moet een proces zitten bij het beginpunt van de pijl, of bij het eindpunt, of beide. • Consistentie van processen. Het werk dat verricht wordt door alle processen in één diagram samen, moet precies gelijk zijn aan het werk van één proces in een diagram op een niveau hoger. • Consistentie van gegevensstromen. De informatie die van buitenaf binnenkomt in alle processen van één diagram samen, moet precies gelijk zijn aan de informatie die binnenkomt in het overeenkomstige proces in het hogergelegen diagram. Idem voor uitgaande informatie. • Teken archieven op het juiste niveau. Een archief dat slechts met één proces communiceert, is in werkelijkheid een onderdeel van dat proces; het wordt pas in het diagram opgenomen op het eerstvolgende detailniveau als het daar met verscheidene processen communiceert.
Oefeningen – basics • Teken een DFD voor de volgende situaties: • Klanten vragen hun rekeningstand. Het proces “Behandel aanvraag rekeningstand” krijgt deze toe, haalt de nodige informatie uit de “Klantenrekening” data store en stuurt de actuele rekeningstand terug naar de klant. • Klanten kunnen zolang de bank open is hun rekeningstand opvragen. Het proces “Behandel aanvraag rekeningstand” wordt in die periode ongeveer 200 keer opgeroepen en haalt telkens de nodige data uit de data store “Klantenrekening” met een maximale responstijd voor de klant van 15 seconden. Na sluitingstijd wordt de data store “Klantenrekening” geupdate met de meest recente info uit het Klantenrekeningsysteem.
Oefeningen – contextdiagrammen (1) • In een contextdiagram komen geen data stores voor. Waarom niet? • Verkopers gaan van deur tot deur met stofzuigers. Telkens wanneer ze een stofzuiger verkopen, ontvangen ze 250 EUR contant. Het totale ontvangen bedrag storten ze op de rekening van de firma, die aan het eind van de maand 25% commissie uitkeert.
Oefeningen – contextdiagrammen (2) • Op een informatica-tentoonstelling staat een urne van een tombola. Bedoeling is, de geografische spreiding van de bezoekers te meten. De adressen worden ingevoerd op een PC en vervolgens via Internet naar een IBM mainframe verzonden. De IBM toetst de adressen aan een geografische database waarin ondermeer alle Belgische straten met hun geografische ligging (lengte + breedte) zijn opgenomen. Aan de hand van de (benaderde) geografische coördinaten van de bezoeker wordt de afstand in vogelvlucht van zijn woonplaats tot de tentoonstelling berekend. De organisator van de tentoonstelling krijgt de aantallen bezoekers te horen per afstandsklasse van vijf kilometer, d.w.z.: • het aantal deelnemers dat minder dan 5 km ver woont • het aantal deelnemers dat tussen 5 en 10 km ver woont • (enz...)
World’s Trend • World’s Trend is een leverancier van modekleding van hoge kwaliteit. Klanten kunnen kleding bestellen via telefoon, fax, of mail op basis van een bestelformulier dat zich bij elke catalogus bevindt. • Nieuwe klanten worden in een klantenbestand ingegeven. Als een nieuwe klant wordt toegevoegd, krijgt hij een nummer dat gebruikt wordt voor het plaatsen van bestellingen. • Wanneer een bestelling wordt geplaatst, wordt de informatie gecontroleerd en kijkt men of de klant reeds bestaat. Als hij nog niet bestaat, wordt hij eerst toegevoegd. Bestellingen worden ingegeven en het klantenbestand en het bestellingenbestand wordt aangepast.
World’s Trend (vervolg) • Wanneer een klant van een bepaald kledingstuk meer bestelt dan wat in voorraad is, dan wordt de afdeling voorraadbeheer hiervan op de hoogte gebracht. Als de nabestelling bij World’s trends wordt ontvangen, wordt deze doorgestuurd naar de betrokken klant. • Bestellingen worden naar het magazijn gestuurd waar zij worden klaargemaakt. • Verzendinformatie wordt toegevoegd aan de bestelling zodat deze kan verstuurd worden naar de klant. Op basis van de bestelling wordt een factuur gemaakt die naar de klant wordt gestuurd. • Deze informatie gaat ook naar de boekhouding die de betalingen verder opvolgt.
Film Magic verhuur van Video’s • Klanten moeten beschikken over een videokaart om video’s te kunnen huren. • Daartoe vullen ze een formulier in waarop allerlei identiteitsgegevens staan. • Klanten geven hun videokaart als ze een videocassette of een videospelletje willen huren. • Het te betalen bedrag wordt berekend en vervolgens betaald door de klant. De klant krijgt een ontvangstticket met de datum waarop hij de video’s moet terugbrengen. Deze gegevens worden ook geregistreerd.
Film Magic (vervolg) • De klant brengt zijn video’s terug. Als hij te laat is, wordt dit geregistreerd en moet hij de volgende keer als hij een video wil huren bijbetalen. • Een keer per maand, wordt nagegaan welke klant voor meer dan x Euro heeft gehuurd die maand. Dergelijke ‘bonus’ klanten krijgen een bedankbrief gestuurd samen met een aantal gratis bons voor het huren van video’s (aantal is afhankelijk van het bedrag gespendeerd die maand). • Een keer per jaar, worden de personen die voor een hoger bedrag dan de jaarbonus gehuurd hebben, aangeschreven. Zij krijgen een aantal gratis bons voor het huren van video’s én een ticket voor een gratis video.