Trading house automation systemet dfd


1 Funktionsorienterad programvaru design fortsatte Föreläsning 6 Prof R Mall Dept CSE, IIT, Kharagpur. Presentation på tema 1 Funktionsorienterad programvaru design fortsatte Föreläsning 6 Prof R Mall Dept CSE, IIT, Kharagpur Presentation transkript 1 1 Funktionsorienterad Software Design fortsatte Föreläsning 6 Prof R Mall Avdelning CSE, IIT, Kharagpur.2 2 Exempel 3 Trading-House Automation System TAS Ett stort handelshus vill att vi ska utveckla en programvara För att automatisera bokföringsaktiviteter i samband med sin verksamhet Det har många vanliga kunder Vem lägger order för olika typer av varor.3 3 Exempel 3 Trading-House Automation System TAS Handelshuset upprätthåller namn och adress till sina vanliga kunder Varje kund har tilldelats ett unikt kundidentifikationsnummer CIN Enligt gällande praxis när en kund beställer The kontonavdelningen kontrollerar först kundens kreditvärdighet.4 4 Exempel Trading-House Automation System TAS Kreditens värdighet för en kund är bestämd ed Genom att analysera historien om sina betalningar till de sedlar som skickades till honom i det förflutna Om en kund inte är kreditvärdig, behandlas hans order inte längre. Ett lämpligt orderavvisningsmeddelande genereras för kunden. 5 5 Exempel Trading-House Automation System TAS Om en kund är kreditvärdig De poster som hon beställt kontrolleras mot listan över objekt som handelshuset behandlar. De varor som handelshuset inte hanterar. Behandlas inte längre. Ett lämpligt meddelande till kunden för dessa varor genereras.6 6 Exempel Trading-House Automation System TAS Varorna i kundens order som handelshuset handlar om Är kontrollerade för tillgänglighet i lager Om varorna finns i lager i önskade kvantiteter En faktura med vidarebefordringsadressen till kunden är utskriven En materialutgåva är tryckt.7 7 Exempel Automationssystem för handel-hus TAS Kunden kan producera materialutgåva på affären Ta leverans av e poster Lagerdata justerad för att återspegla försäljningen till kunden.8 8 Exempel Trading-House Automation System TAS Om en beställd vara inte finns tillgänglig i förteckningen i tillräcklig mängd För att kunna uppfylla väntande beställningar, lagra detaljer i en pågående ordning externa varor tillsammans med kvantitet beställt kundidentifikationsnummer.9 9 Exempel Trading House Automation System TAS Inköpsavdelningen skulle regelbundet utfärda kommandon för att generera inslag. När generera inslag kommandot utfärdas Systemet bör undersöka den pågående orderfilen Bestäm order som väntar Total mängd som krävs för var och en av föremålen.10 10 Exempel Automation System TAS TAS bör ta reda på adresserna till leverantörerna som levererar de nödvändiga objekten. Undersök filen som innehåller leverantören detaljerad adress, artiklar som de tillhandahåller etc Skriv ut ut inslag till dessa leverantörer.11 11 Exempel Trading-House Automation System TAS TAS bör också svara ledningsfrågor Statistik för diff föremål som säljs under en viss tidsperiod Motsvarande kvantitet såld och priset realiserat.12 12 Kontext Diagram Handel - Hus - Automation - System 0 Förvaltare Kundköp-Avdelning Frågestatistik Orderreaktion Generera - Indra indent.13 13 Nivå 1 DFD Acceptorder 0 1 Processorder 0 2 Handlingsinstruktion 0 4 Handläggning 0 3 väntande beställning Försäljningsstatistik inventering Leverantörslista Kundfil Artfil Kundhistorik Inlämningsansökan Innehåll Accepterade beställningar frågeformulär Order Material - issue-slip bill.14 14 Exempel Data Dictionary svarregistrering material-issue-slip, avvisa meddelande fråga period fråga från chef om försäljningsstatistik period datum datum, månad, år, dag datum år månad dag år heltal månad heltal dag heltal beställ kund - id order för beställning beställda objekt tillgängliga i lager avvisa meddelande order meddelande avvisande meddelande väntande beställningar kund-id kundadress adress hus gatu stad pin.15 15 Exempel Data Ordbok objektnamn stri ng hus sträng gata sträng stad sträng stift stift heltal kund-id heltal räkning totalt antal kundadress material-utgåva meddelande objekt kvantitet kundadress adress sträng statistik försäljning statistik kvantitet heltal.16 16 Observation Från exemplen, Observera att DFDs hjälpa till att skapa Datamodell Funktionsmodell.17 17 Observation När en DFD förädlas till större detaljnivåer Analytikern utför en implicit funktionell sönderdelning Samtidigt utförs raffinering av data.18 18 Riktlinjer för att konstruera DFD: er Kontextdiagram ska representera systemet som en enda bubbla Många nybörjare begår misstaget att dra mer än en bubbla i sammanhangsdiagrammet. 19 19 Riktlinjer för att konstruera DFD: s Alla externa enheter ska representeras i kontextdiagrammet Externa enheter ska inte visas på någon annan nivå av DFD Endast 3 till 7 bubblor per diagram ska tillåtas Varje bubbla ska sönderföras mellan 3 och 7 bubblor.20 20 Riktlinjer för konstruktion DFDs Ett vanligt misstag begått av många nybörjare Att försöka representera kontrollinformation i en DFD, t ex försöker representera den ordning i vilken olika funktioner exekveras.21 21 Riktlinjer för att konstruera DFD: er En DFD representerar inte kontrollinformation När eller i vilken ordning olika funktioner fungerar åberopas Villkoren för vilka olika funktioner åberopas är inte representerade Till exempel kan en funktion påverka en funktion eller en annan beroende på något tillstånd Många nybörjare försöker representera denna aspekt genom att dra en pil mellan motsvarande bubblor.22 22 Exempel-1 Kontroll ingångsvärdet Om ingångsvärdet är mindre än -1000 eller högre än 1000 generera ett felmeddelande annars sök efter numret Chec k numb er Gener ate Error Searc h nummer meddelande nummer hittades, ej hittades.23 23 Riktlinjer för att konstruera DFDs Om en bubbla A åberopar antingen bubbla B eller bubbla C beroende på vissa förhållanden representerar data som strömmar från bubbla A till bubbla B a nd bubblor A till C inte villkoren beroende på vilken process som åberopas.24 24 Exempel-2 En funktion accepterar boknamnet som ska sökas från användaren Om det angivna boknamnet inte är ett giltigt boknamn genererar ett felmeddelande, Om boknamnet är giltigt, Söker boknamnet i databasen Hämtningsnamn Utskrifts-err-meddelande Sökbok Felmeddelande Boknamn Bokföringsbok Bokuppgifter.25 25 Riktlinjer för konstruktion av DFD Alla funktioner i systemet måste fångas i DFD-modellen Ingen funktion som anges i SRS-dokumentet bör förbises. Endast de funktioner som anges i SRS-dokumentet bör representeras. Antag inte extra funktionalitet för det system som inte specificerats i SRS-dokumentet.26 26 Vanligen gjorda fel Obalanserade DFD: s Glömma att nämna namnen på dataflödena Orepresenterade funktioner eller data Externa enheter som visas på högre nivå DFD: s Försök att representera kontrollaspekter Kontextdiagram med mer än en bubbla En bubbla sönderdelas i för ma nybubblor på nästa nivå Avslutande sönderdelning för tidigt Nouns används för att namnge bubblor.27 27 Brister i DFD-modellens DFD-modeller lider av flera brister DFD: er ger riklig räckvidd för att vara osäkra I en DFD-modell går vi utifrån funktionen som utförs av en bubbla från etiketten En etikett kanske inte registrerar alla bubblans funktionalitet.28 28 DFD-modellens brister Till exempel har en bubbla som heter sökboksställning enbart intuitiv mening. Anger inte flera saker Vad händer när någon information saknas eller är inkorrekt Överför inte något om vad som händer när boken inte hittas eller vad som händer om det finns böcker av olika författare med samma boktitel.29 29 DFD-modellens bristfällighet Kontrollinformationen är inte representerad Till exempel order i vilka ingångar konsumeras och utdata produceras är inte specificerat Acceptera orderorder Beställningsorder Kundfil Fil-fil Kundhistorik Accepterade orderorder inventering.30 30 Shortcomin gs i DFD-modellen A DFD anger inte synkroniseringsaspekter. Exempelvis anger inte DFD i TAS-exemplet huruvida processordern kan vänta tills acceptordern ger data. Om acceptorder och handhavande-order kan fortsätta samtidigt med någon buffring mekanism mellan dem.31 31 TAS Nivå 1 DFD Accepteringsorder Processorder Inlämningsförfrågan Handlingsfråga väntar-order Försäljningsstatistik inventering Leverantörslista Kundfil Filfil Kundhistorik Inlämningsansökan Innehåll Accepterade beställningar förfrågan statistik order.32 32 Brister i DFD-modellen Sättet sönderdelning utförs för att komma fram till de successiva nivåerna av en DFD är subjektiv. Den ultimata nivån till vilken sönderdelning utförs är subjektiv. Beroende på analytikerens val och bedömning. Även för samma problem, flera alternativa DFD-representationer är möjliga många gånger är det inte möjligt att säga vilken DFD-representation som är överlägsen eller föredragen.33 33 brister i DFD-modellen DFD-tekniken ger inte någon tydlig vägledning om hur exakt det ska gå att sönderdela en funktion Man måste använda subjektiv bedömning för att utföra sönderdelning Strukturerade analystekniker anger inte när man ska stoppa en sönderdelningsprocess Till vilken längd sönderdelning måste utföras .34 34 Förlängning av DFD-teknik till realtidssystem För system i realtidssystem som har tidsbegränsningar på deras handlingar, är det viktigt att modellera kontrollflöde och händelser. Bredt accepterad teknik Ward och Mellor-teknik En typ av processbubblor som hanterar endast kontrollflöden introduceras Dessa processer representeras med streckade cirklar.35 35 Strukturerad design Syftet med strukturerad design Överför resultaten av strukturerad analys, dvs en DFD-representation i ett strukturdiagram Ett strukturdiagram representerar programvaruarkitekturen Olika moduler som utgör systemet, modulberoende dvs vilken modul som ringer vilka andra moduler, parametrar som passerade bland olika moduler.36 36 Strukturdiagram Strukturdiagramrepresentation Enkelt implementerbar med hjälp av programmeringspråk Huvudfokus i ett strukturdiagram Definiera modulstrukturen hos en programvara, Interaktion mellan olika moduler, Procedurella aspekter, t. ex. hur en viss funktionalitet uppnås är inte representerade.37 37 Grundläggande byggnadsblock Diagram Rektangulär ruta En rektangulär ruta representerar en modul Antecknad med namnet på modulen representerar det Process-order.38 38 pilar En pil mellan två moduler innebär under kontrollen överförs kontrollen från en modul till den andra i pilens riktning Process - orderHandle-indent root Handle-query.39 39 Dataflödespilar Dataflöden representerar data som passerar från en modul till en annan i pilens riktning. 40 40 Biblioteksmoduler Biblioteksmoduler representerar ofta kallade moduler En rektangel med dubbla sidokanter Förenklar teckning när en modul kallas av flera moduler Snabb sortering.41 41 Val av di amond symbol representerar En modul med flera moduler kopplade till diamantsymbolen åberopas beroende på något tillstånd Process-orderHandle-indent root Handle-query.42 42 Repetition En slinga runt kontrollflödespilen indikerar att de berörda modulerna upprepas flera gånger ProcessorderHandle - indentrot Handle-query.43 43 Structure Chart Det finns bara en modul överst på rotmodulen Det finns högst ett kontrollförhållande mellan två moduler om modul A kallar modul B, modul B kan inte påkalla modul A Huvudskälet bakom detta begränsning överväga moduler i ett strukturdiagram som ska arrangeras i skikt eller nivåer.44 44 Strukturdiagram Abstraktionsprincipen tillåter inte moduler på lägre nivå att åberopa moduler på högre nivå Men två högre nivåmoduler kan åberopa samma lägre nivå modul.45 45 Röda data Få god data Beräkningslösning Skärmlösning Få data Validata-data Giltiga nummer rms.47 47 Brister i strukturdiagrammet Genom att titta på en strukturcha rt vi kan inte säga om en modul kallar en annan modul bara en eller flera gånger. Genom att titta på ett strukturdiagram kan vi inte berätta för vilken ordning de olika modulerna påkallas.48 48 Flödesschema Bortsett Vi är alla bekanta med flödet diagramföreställningar Flödesschema är en praktisk teknik för att representera kontrollflödet i ett system AB om c 100 P 20 annorlunda p 80 medan p 20 skrivande elevmärke ABP 20P 80 Skriv ut ja nej dummy ja nej 20 skrivande elevmärke ABP 20P 80 Skriv ut ja nej dummy ja nej 49 49 Flödesschema kontra strukturdiagram Ett strukturdiagram skiljer sig från ett flödesschema på tre huvudvägar Det är svårt att identifiera moduler av en programvara från dess flödesschema representation Datautbyte mellan modulerna representeras inte i ett flödesschema Sekvensiell ordering av uppgifter som är inneboende i ett flödesschema är undertryckt i ett struktureringsdiagram. 50 50 Transformering av en DFD-modell i strukturdiagram Två strategier finns för att styra omvandling av en DFD till ett strukturdiagram Transfor m Analys Transaktionsanalys.51 51 Transform Analys Det första steget i Transformationsanalys Del DFD i 3-delars ingång, Logisk bearbetning, Utgång.52 52 Transform Analys Input-del i DFD-processerna som konverterar ingångsdata från fysisk till logisk form, t. ex. läs tecken från terminalen och lagra i interna tabeller eller listor Varje ingångsdel kallas en avferentgren Möjlig att ha mer än en avferentgren i en DFD.53 53 Transform Analys Output-delen av en DFD omvandlar utgångsdata från logisk form till fysisk form, t ex från listan eller matris i utmatningstecken Varje utmatningsdel kallas en efferent gren De återstående delarna av en DFD kallas centraltransform.54 54 Transform Analys Derivera strukturdiagram genom att dra en funktionell komponent för centraltransformationen, varje avgreningsgren, varje efferentgren.55 55 Transformera Analys Identifiering av högsta nivåingångs - och utgångstransformationer kräver erfarenhet och skicklighet Några riktlinjer Spå inp uts tills en bubbla hittas, vars output inte kan härledas från inmatningarna ensamma Processer som validerar ingången är inte centrala transformer Processer som sorterar inmatnings - eller filterdata från den.56 56 Omforma analys Första nivå av strukturdiagram Rita en låda för varje ingång och utmatningsenheter En låda för centraltransformen Nästa, förfina strukturplanen Lägg till underfunktioner som krävs av varje högnivåmodul Många modulnivåer kan behöva läggas.57 57 Factoring Processen att bryta funktionella komponenter i delkomponenter Factoring inkluderar att lägga till Läs och skriv moduler, felhanteringsmoduler, initialisering och avslutningsmoduler, etc. Kontrollera slutligen om alla bubblor har kartlagts till moduler.58 58 Exempel 1 RMS Beräkning av mjukvaruberäkning-RMS 0 Resultat av användardata-poster Kontextdiagram.59 59 Exempel 1 RMS-beräkningsprogramvara Från en kortfattad analys av problembeskrivningen är det lätt att se att systemet behöver utföra acceptera ingångsnumren från användaren, validera siffrorna, beräkna ruttens medelkvadrat av ingångsnumren, visa resultatet.60 60 Exempel 1 RMS Beräkning av programvara Data-resultat Resultat Läsnummer 0 1 Valideringsnummer 0 2 Beräkning 0 3 Display 0 4 RMS-nummer Giltigt - Nummerfel.61 61 Exempel 1 RMS Beräkning av programvara Genom att observera nivån 1 DFD Identifiera läsnummer och valideringsnummerbubblor som avferentgrenen Visa som efferentgren.62 62 Exempel 1 RMS Beräkna mjukvararrot Få bra data Kalkylera - lösning Visningslösning Hämta data Validata-data Giltiga nummer rms.63 63 Exempel 2 Tic-Tac-Toe dataspel Så fort någon av den mänskliga spelaren eller datorn vinner, bör ett meddelande som gratulerar vinnaren visas om ingen spelare lyckas få tre på varandra följande märken längs en rak linje och alla rutor på tavlan är fyllda. Därefter spelas spelet. Datorn försöker alltid att vinna ett spel.64 64 Kontextdiagram för exempel 2 Mänsklig spelare Tic-tac-toe mjukvara 0 visningsdrag.65 65 L evel 1 DFD-kort Skärmkontroll Inkommande vinnare Validera-drag Spela-flytta flytta resultat spel.66 66 Strukturskarta rot Få bra-moveCompute-gameDisplay Get-move Bekräfta-flytta spela-move-inkräktare.67 67 Transaktionsanalys Användbar för att utforma transaktionsbehandlingsprogram Transform-centrerade system Kännetecknas av liknande bearbetningssteg för varje dataobjekt som behandlas av ingångs-, process - och utgångsbubblor Transaktionsdrivna system kryssas en av flera möjliga banor genom DFD beroende på ingångsdata-värdet.68 68 Transaktionsanalys Transaktion Varje ingångsdatavärde som utlöser en åtgärd Till exempel kan valda menyalternativ utlösa olika funktioner Representerade av en tagg som identifierar sin typ Transaktionsanalys använder denna tagg för att dela systemet i flera transaktionsmoduler En transaktionscentralmodul.69 69 Transaktionsanalys Transaktionscentrum Trans 1 Trans 2 Trans 3 Typ 1 Typ 2 Typ 3.70 70 Nivå 1 DFD för TAS Accepteringsorder Processorder Hand inlämningsförfrågan Handlingsfråga i väntan på beställning Försäljningsstatistik inventering Leverantörslista Kundfil Filfil Kundhistorik Inlämningsbegäran Innehåll Accepterade beställningar frågeordningsstatistik.71 71 Konstruktionsschema root HandtagsorderHandle-indentHandle-query Orderorder-order-fråga-inloggning.72 72 Sammanfattning Vi diskuterade först strukturerad analys av ett större problem Vi definierade några allmänna riktlinjer för att bygga en tillfredsställande DFD-modell. DFD-modellen, men enkel och användbar, har flera korta framsteg. Sedan började vi diskutera strukturerad design.73 73 Sammanfattning Syftet med strukturerad design Transformera en DFD-representation i ett strukturdiagram Strukturdiagram representerar Modulstruktur Samverkan mellan olika moduler Procedurella aspekter är inte representerade.74 74 Sammanfattning Strukturerad design ger två strategier för att omvandla en DFD till en struktur diagram Transform Analysis Transaction Analysis.75 75 Sammanfattning Vi diskuterade tre exempel på strukturerad design som krävs mycket träning för att bli en bra programvaruformgivare Vänligen försök lösa alla problem som anges i ditt uppdragsblad, Inte bara de som du förväntas skicka. Funktionsorienterad programvarudesign fortsatte Föreläsning 6 Dr R Mall. Presentation on theme Function - Orienterad mjukvaru design fortsatte Föreläsning 6 Dr R Mall Presentation transkript.1 Funktionsorienterad programvara design fortsatte Föreläsning 6 Dr R Mall.2 Organisation av denna föreläsning zBrief granskning av tidigare föreläsningar zA större exempel på strukturerad analys zStructured Design yA huvudmål för denna föreläsning är att du borde kunna utveckla strukturerad design från någon DFD-modell zExamples zSummary.3 Översyn av senaste föreläsning zLast-föreläsningen vi började diskutera strukturerad analys Strukturell design SA SD-teknik innehåller funktioner från några viktiga designmetoder zSA SD består av två viktiga delar strukturerade analyser ystructured design.4 Översyn av senaste föreläsningen zMålet med strukturerad analys yperform functiona l sönderdelning representerar med hjälp av dataflödesdiagram DFDs zDFDs är en hierarkisk modell y Vi undersökte varför någon hierarkisk modell är lätt att förstå ynumber 7 kallas det magiska numret.5 Översyn av senaste föreläsningen zDuring strukturerad analys yFunktionell sönderdelning sker yin dessutom, sönderdelning av data sker zAt det mest abstrakta nivån ycontext diagram definierat till mer detaljerade nivåer zWe diskuterade två små exempel yRMS beräkningsprogramvara ytic-tac-toe dator spelprogramvara.6 Översyn av senaste föreläsningen zSeveral CASE-verktyg finns tillgängliga yhelp i designaktiviteter yhelp behålla datalogiken, ycheck huruvida DFD är balanserade osv. zDFD-modell som är svår att implementera med ett programmeringsspråk, behöver omvandlas till strukturerad design.7 Exempel 3 Trading House Automation System TAS zA stora handelshus vill att vi ska utveckla en mjukvara för att automatisera bokföringsaktiviteter i samband med dess Business ZIt har många stamkunder som gör beställningar av olika slag av varor.8 Exempel 3 Trading-House Automation System TAS zHandelshuset behåller namn och adresser till sina stamkunder zEach-kunden har tilldelats ett unikt kundidentifieringsnummer CIN zAs per nuvarande praxis när en kund placerar orderna. Kontoavdelningen kontrollerar först kredit - kundens värdighet.9 Exempel Trading-House Automation System TAS z Kreditvärdet av en kund bestäms genom att analysera historien om sina betalningar till de sedlar som skickades till honom tidigare. Om en kund inte är kreditvärdig, så är beställningarna inte bearbetade Eventuella ytterligare avvisningsmeddelanden skapas för kunden.10 Exempel Trading House Automation System TAS Om en kund är kreditvärda varor som hon har beställt kontrolleras mot listan över objekt som handelshuset handlar med zThe items som handeln Huset hanterar inte yare som inte behandlas ytterligare ett lämpligt meddelande till kunden för att dessa objekt genereras.11 Exempel Trading-House Automation System TAS zFöremålen i en kund s order som handelshuset behandlar y kontrolleras för tillgänglighet i varan zIf varorna finns i förteckningen i önskade kvantiteter är fakturan med vidarebefordranadressen till kunden tryckt ya materialutskriftsstrykning skrivs ut.12 Exempel Trading House Automation System TAS zKunden kan producera materialutslagsfliken i butikshallen. Leverans av objekten innehåller uppgifter som justeras för att återspegla försäljningen till kunden.13 Exempel Trading House Automation System TAS zIf en beställd vara inte finns tillgänglig i förteckningen i tillräcklig mängd för att kunna uppfylla väntande beställningar lagras detaljer i en ordning som inte är tillgänglig för beställning, och det är beställa xcustomer-ID nummer.14 Exempel på Trading House Automation System TAS zInköpsavdelningen ska regelbundet utfärda kommandon för att generera inslag zNär generera indragningskommandon utfärdas ska systemet undersöka pending-order-fil, bestäm de order som väntar på ytotal kvantitet som krävs för var och en av föremålen.15 Exempel Trading House Automation System TAS zTAS ska ta reda på adresserna till leverantörerna som tillhandahåller de nödvändiga objekten, och undersök filen som innehåller säljaren uppgifter om deras adress, poster som de tillhandahåller osv. skriva ut inslag till de säljare.16 Exempel Trading House Automation System TAS zTAS bör också svara ledningsfrågor ystatistik av olika föremål som såldes under en viss tidsperiod motsvarande motsvarande kvantitet och priset realiserat.17 Kontext Diagram Trading House - Automation - System 0 Förvaltare Kundköp-Avdelning frågestatistik ordersvar Generatorindelning.18 Nivå 1 DFD Acceptorder 0 1 Processorder 0 2 Hanteringsinfordran 0 4 Hantering 0 3 väntande beställning Försäljningsstatistik inventering Leverantörslista Kundfil Filfil Kundhistorik Inlämningsbegäran Innehåll Accepterade beställningar förfrågningsstatistikorder Materialutslagsräkning 19 Exempel på data Ordbok zresponse bill material-issue-slip, avvisa meddelande zquery period fråga från chef om försäljningsstatistik zperiod datum datum, månad, år, dag zdate år månad dag zyear heltal zmonth heltal zday heltal zorder kund-id zaccepted order order beställda föremål i lager zreject-meddelande ordermeddelande avvisande meddelande zpending-order kund-id zcustomer-adressnamn house street city pin.20 Exempel Data Dictionary sitem-namn sträng zhouse sträng zstreet sträng zcity sträng zpin heltal zcustomer-id heltal zbill total mängd kund - adress zmaterial-issue-slip meddelandeobjekt kvantitet kundadress zmessage sträng zstatistik zsales-statistik zquantity integer.21 Observation zFrån exemplen gör du att DFDs hjälper till att skapa xdata modell xfunction model.22 Observation zAs en DFD förädlas till större detaljnivåer analytiker utför en implicit funktionell sönderdelning y Samtidigt utförs raffinering av data.23 Riktlinjer för konstruktion g DFDs zContext-diagram ska representera systemet som en enda bubbla. Mycket nybörjare begår misstaget att dra mer än en bubbla i sammanhangsdiagrammet.24 Riktlinjer för att konstruera DFD: er zAll externa enheter ska representeras i sammanhangsdiagrammet. externa enheter ska inte visas på någon annan nivå av DFD zOnly 3 till 7 bubblor per diagram borde tillåtas, bubblan borde sönderföras mellan 3 och 7 bubblor.25 Riktlinjer för att konstruera DFDs zA vanliga misstag begått av många nybörjare yattempting för att representera kontrollinformation i en DFD försöker du representera den ordning i vilken olika funktioner exekveras.26 Riktlinjer för att konstruera DFD: er zA representerar DFD inte kontrollinformation när eller i vilken ordning olika processer på olika sätt åberopas. Omständigheterna under vilka olika funktioner åberopas är inte representerade. Till exempel kan en funktion påkalla en funktion eller en annan beroende på vissa villkor, många nybörjare försöker återge nt denna aspekten genom att dra en pil mellan motsvarande bubblor.27 Exempel-1 zKontrollera ingångsvärdet yOm ingångsvärdet är mindre än -1000 eller högre än 1000 generera ett felmeddelande eller sök efter numret Chec k numb er Gener ate Error Searc h nummer meddelande nummer hittat, ej hittat.28 Riktlinjer för att konstruera DFDs zIf en bubbla A åberopar antingen bubbla B eller bubbla C beroende på vissa förhållanden representerar data som flyter från bubbla A till bubbla B och bubblor A till C inte villkoren beroende som en process åberopas.29 Exempel 2-zA-funktionen accepterar boknamnet som ska sökas från användaren, om det angivna boknamnet inte är ett giltigt boknamn ger ett felmeddelande, om boknamnet är giltigt, söker boknamnet i databasen Get-book - namn Print-err - meddelande Sökbok Felmeddelande Boknamn Bokföringsbok Bokinformation.30 Riktlinjer för att bygga DFDs zAll-funktioner i systemet måste fångas i DFD-modellen yno-funktionen specificerad i SRS-dokumentet bör förbises zOnly de funktioner som anges i SRS-dokumentet bör vara representerade, men inte anta extra funktionalitet för det system som inte anges i SRS-dokumentet.31 Vanligtvis gjorda fel za balanserade DFDs zForget att nämna namnen på dataflytorna zUnrepresenterade funktioner eller data zExternal enheter som visas på högre nivå DFDs zTrying för att representera kontrollaspekter zContextdiagram med mer än en bubbla zA-bubbla sönderdelas i alltför många bubblor på nästa nivå zTerminerande sönderdelning för tidigt zNouns som används för att namnge bubblor.32 Brister i DFD-modellen zDFD-modellerna lider av flera brister ZDFD: s lämnar gott om räckvidd för att vara oklara. I en DFD-modell kan vi dra nytta av funktionen som utförs av en bubbla från etiketten. En etikett kanske inte registrerar alla bubblers funktionalitet.33 Brister i DFD-modellen zFor ett bubblan som heter find-book-position har bara intuitiv mening men inte specificera flera saker xwhat händer wh men någon inmatningsinformation saknas eller är inkorrekt xVisa inte något om vad som händer när boken inte hittas xor vad händer om det finns böcker av olika författare med samma boktitel.34 Brister i DFD-modellen zControl-informationen är inte representerad yFör exempel , order där ingångar konsumeras och utgångar produceras är inte specificerat Accepteringsorder Processorder Kundefil Artikelfil Kundhistorik Accepterad orderorderinventering.35 Brister i DFD-modellen zA DFD anger ingen synkroniseringsaspekter yFör exempel DFD i TAS-exemplet anger inte när processordern kan vänta tills acceptordern producerar data, såväl accept-order och handtagsorder kan fortsätta samtidigt med någon buffermekanism mellan dem.36 TAS Level 1 DFD Accept-order Process - order Handle - indent-request Handling-query Pending-order Försäljningsstatistik inventering Leverantörslista Kundfil Produktfil Kundhistorik Inlämningsansökan Innehåll Accepted - orderordningsstatistikorder.37 Brister i DFD-modellen zDe sätt sönderdelning utförs för att komma fram till de successiva nivåerna av en DFD är subjektivt z Den ultimata nivån till vilken sönderdelning utförs är subjektiv beroende av valet och bedömningen av analytikern zEven för Det samma problemet är att alternativa DFD-representationer är möjliga många gånger, det är inte möjligt att säga vilken DFD-representation som är överlägsen eller föredragen.38 Brister i DFD-modellen zDFD-tekniken ger inte tydlig vägledning om hur exakt det ska gå att sönderdela en funktion yone måste använda subjektiv bedömning för att utföra sönderdelning zStrukturerad analysteknik anger inte när man ska stoppa en sönderdelningsprocess, till vilken längd sönderdelning måste utföras.39 Utvidga DFD-teknik till realtidssystem zFör system i realtidssystem som har tid gränser för deras handlingar, avgörande för modellstyrning och händelser. yWidely accepted technique Ward and Mellor teknik xa Typ av processbubblor som hanterar endast kontrollflöden introduceras x Dessa processer representeras med streckade cirklar. 40 Strukturerad design zTyftet med strukturerad design omvandlar resultaten av strukturerad analys, dvs en DFD-representation i ett strukturdiagram. ZA-strukturdiagram representerar programvaruarkitekturen Yvarious moduler som utgör systemet, beroende på modulen, dvs vilken modul som kallas vilka andra moduler, yparametrar som passerade mellan olika moduler.41 Strukturdiagram zStrukturdiagramrepresentation kan implementeras jämt med programmeringsspråk zMain fokus på ett strukturdiagram definierar modulstrukturen hos en mjukvara, yinteraction bland olika moduler, processfaktorer, t. ex. hur en viss funktionalitet uppnås är inte representerade.42 Grundläggande byggstenar med strukturschema zRektangulär lådan yA rektangulär lådan representerar en modul som är annorlunda med namnet på modulen som representerar Processorder.43 Pilar zAn pil mellan två moduler es innebär att uthållig exekveringskontroll överförs från en modul till den andra i pilens riktning ProcessorderHandle-indentrot Handle-query.44 Dataflöde Pilar zData flödespilar representerar ydata som går från en modul till en annan i pilens riktning Order-order rotorder.45 Biblioteksmoduler zLibrary moduler representerar ofta kallade moduler ya rektangel med dubbla sidokanter y Förenklar ritning när en modul kallas av flera moduler Quick-sort.46 Val z z Diamant symbol representerar yone modul av flera moduler kopplade till diamanten symbol is invoked depending on some condition Process-orderHandle-indent root Handle-query.47 Repetition zA loop around control flow arrows denotes that the concerned modules are invoked repeatedly Process-orderHandle-indent root Handle-query.48 Structure Chart zThere is only one module at the top ythe root module zThere is at most one control relationship between any two modules yif module A invokes module B, ymodule B cannot invoke module A zThe main reason behind this restriction yconsider modules in a structure chart to be arranged in layers or levels.49 Structure Chart zThe principle of abstraction ydoes not allow lower-level modules to invoke higher - level modules yBut, two higher-level modules can invoke the same lower-level module.50 Example root Get-good-dataCompute-solutionDisplay-solution Get-data Validate-data Valid-numbers rms.52 Shortcomings of Structure Chart zBy looking at a structure chart ywe can not say whether a module calls another module just once or many times zAlso, by looking at a structure chart ywe can not tell the order in which the different modules are invoked.53 Flow Chart Aside zWe are all familiar with the flow chart representations yFlow chart is a convenient technique to represent the flow of control in a system zA B zif c 100 z P 20 zelse p 80 zwhile p 20 z print student mark A B P 20P 80 Print yes no dummy yes no 20 z print student mark A B P 20P 80 Print yes no dummy yes no.54 Flow Chart versus Structure Chart zA structure chart differs from a flow chart in three principal ways yIt is difficult to identify modules of a software from its flow chart representation yData interchange among the modules is not represented in a flow chart ySequential ordering of tasks inherent in a flow chart is suppressed in a structure chart.55 Transformation of a DFD Model into Structure Chart zTwo strategies exist to guide transformation of a DFD into a structure chart yTransform Analysis yTransaction Analysis.56 Transform Analysis zThe first step in transform analysis ydivide the DFD into 3 types of parts xinput, xlogical processing, xoutput.57 Transform Analysis zInput portion in the DFD yprocesses which convert input data from physical to logical form ye g read characters from the terminal and store in internal tables or lists zEach input portion ycalled an afferent branch yPossible to have more than one afferent branch in a DFD.58 Transform Analysis zOutput portion of a DFD ytransforms output data from logical form to physical form xe g from list or array into output characters yEach output portion xcalled an efferent branch zThe remaining portions of a DFD ycalled central transform.59 Transform Analysis zDerive structure chart by drawing one functional component for ythe central transform, yeach afferent branch, yeach efferent branch.60 Transform Analysis zIdentifying the highest level input and output transforms yrequires experience and skill zSome guidelines ytrace the inputs until a bubble is found whose output cannot be deduced from the inputs alone yProcesses which validate input are not central transforms yProcesses which sort input or filter data from it are.61 Transform Analysis zFirst level of structure chart ydraw a box for each input and output units ya box for the central transform zNext, refine the structure chart yadd subfunctions required by each high-level module yMany levels of modules may required to be added.62 Factori ng zThe process of breaking functional components into subcomponents zFactoring includes adding yread and write modules, yerror-handling modules, yinitialization and termination modules, etc zFinally check ywhether all bubbles have been mapped to modules.63 Example 1 RMS Calculating Software Compute - RMS 0 User Data - items result Context Diagram.64 Example 1 RMS Calculating Software zFrom a cursory analysis of the problem description, yeasy to see that the system needs to perform xaccept the input numbers from the user, xvalidate the numbers, xcalculate the root mean square of the input numbers, xdisplay the result.65 Example 1 RMS Calculating Software Data - items result Read - numbers 0 1 Validate - numbers 0 2 Compute - rms 0 3 Display 0 4 RMS numbers Valid - numbers error.66 Example 1 RMS Calculating Software zBy observing the level 1 DFD yidentify read-number and validate-number bubbles as the afferent branch ydisplay as the efferent branch.67 Example 1 RMS Calculating Software root G et-good-dataCompute-solutionDisplay-solution Get-data Validate-data Valid-numbers rms.68 Example 2 Tic-Tac-Toe Computer Game zAs soon as either of the human player or the computer wins, ya message congratulating the winner should be displayed zIf neither player manages to get three consecutive marks along a straight line, yand all the squares on the board are filled up, ythen the game is drawn zThe computer always tries to win a game.69 Context Diagram for Example 2 Human Player Tic-tac-toe software 0 display move.70 Level 1 DFD board Display - board Check - winner Validate - move Play - move move result game.71 Structure Chart root Get-good-moveCompute-gameDisplay Get-move Validate - move play-move Check - winner.72 Transaction Analysis zUseful for designing transaction processing programs yTransform-centered systems xcharacterized by similar processing steps for every data item processed by input, process, and output bubbles yTransaction-driven systems, xone of several possible paths throu gh the DFD is traversed depending upon the input data value.73 Transaction Analysis zTransaction yany input data value that triggers an action yFor example, selected menu options might trigger different functions yRepresented by a tag identifying its type zTransaction analysis uses this tag to divide the system into yseveral transaction modules yone transaction-center module.74 Transaction analysis Transaction - center trans 1 trans 2 trans 3 type 1type 2type 3.75 Level 1 DFD for TAS Accept - order Process - order Handle - indent - request Handle - query pending-order Sales-statistics inventory Vendor-list Customer-file Item-file Customer-history Indent-request Indents Accepted-orders query order statistics.76 Structure Chart root Handle-orderHandle-indentHandle-query Get-order Accept-orderProcess - order order query indent.77 Summary zWe first discussed structured analysis of a larger problem zWe defined some general guidelines yfor constructing a satisfactory DFD model zThe DFD model though simple and useful ydoes have several short comings zWe then started discussing structured design.78 Summary zAim of structured design ytransform a DFD representation into a structure chart zStructure chart represents ymodule structure yinteraction among different modules, yprocedural aspects are not represented.79 Summary zStructured design provides two strategies to transform a DFD into a structure chart yTransform Analysis yTransaction Analysis.80 Summary zWe Discussed three examples of structured design zIt takes a lot of practice to become a good software designer yPlease try to solve all the problems listed in your assignment sheet, y not only the ones you are expected to submit. xiaomi forex. types of stock options canada. how to avoid double taxation on stock options. advanced forex trading strategies. ams trading system. imulticur forex indicator free download. forex plus 500 opinie. free futures trading system. eur usd charts forex. trading out of the money options. kursus forex malaysi a. forex money exchange rates pakistan. forex tick volume data. forex trader in nepal. usd chf forex factory. forex trading lernen youtube. glazed balustrade systems. fx options trader careers. cara investasi forex yang aman. forex trendline trading.

Comments