Trading Hus Automasjon System Dfd


1 Funksjonsorientert Programvare Design Fortsatt Forelesning 6 Prof R Mall Avdeling for CSE, IIT, Kharagpur. Presentasjon på tema 1 Funksjonsorientert Programvare Design Fortsatt Forelesning 6 Prof R Mall Avdeling for CSE, IIT, Kharagpur Presentasjonstrykk.1 1 Funksjonsorientert Programvare Design fortsatte Foredrag 6 Prof R Mall Dept CSE, IIT, Kharagpur.2 2 Eksempel 3 Trading House Automation System TAS Et stort handelshus ønsker at vi skal utvikle en programvare For å automatisere bokføring aktiviteter knyttet til sin virksomhet Det har mange faste kunder Hvem bestiller bestillinger for ulike typer varer. 3 3 Eksempel 3 Trading-House Automation System TAS Handelshuset opprettholder navn og adresser til sine faste kunder. Hver kunde har tildelt et unikt kundeidentifikasjonsnummer CIN Som gjeldende praksis når en kunde plasserer bestillingen. kontoavdelingen kontrollerer først kundens kredittverdighet.4 4 Eksempel Trading-House Automation System TAS Kredittverdigheten til en kunde er bestemmende ed Ved å analysere historien til hans betalinger til regningene som er sendt til ham tidligere. Hvis en kunde ikke er kredittverdig, blir hans ordrer ikke behandlet lenger. En passende ordreavvisningsmelding genereres for kunden. 5 5 Eksempel Trading-House Automation System TAS Hvis en kunde er kredittverdig Elementer som hun har bestilt, blir sjekket mot listen over varer som handelshuset avtaler med. De produktene som handelshuset ikke håndterer, blir ikke behandlet lenger. En passende melding til kunden for disse produktene er generert.6 6 Eksempel Trading-House Automation System TAS Varene i en kundes ordre som handelshuset behandler Er kontrollert for tilgjengelighet i varelager Hvis varene er tilgjengelige i varelageret i ønskede mengder En regning med videresendingsadressen til den kunden er skrevet ut En materialemisjonsslipp er trykt.7 7 Eksempel Trading-House Automation System TAS Kunden kan produsere materialemeldingsklippet i butikkhuset. e poster Inventar data justert for å gjenspeile salget til kunden.8 8 Eksempel Trading-House Automation System TAS Hvis et bestilt element ikke er tilgjengelig i beholdningen i tilstrekkelig antall For å kunne oppfylle ventende bestillinger, lagre detaljer i en ventende ordrefil utelukkende varer sammen med kvantitet bestilt kundeidentifikasjonsnummer.9 9 Eksempel Trading-House Automation System TAS Kjøpsavdelingen vil periodisk utstede kommandoer for å generere innrykk Når generere innrykk, blir kommandoen utstedt. Systemet bør undersøke den avventede bestillingsfilen. Bestem ordrer som er ventet Total mengde som kreves for hver av elementene.10 10 Eksempel Trading-House Automation System TAS TAS bør finne ut adressene til leverandørene som leverer de nødvendige elementene. Undersøk filen som inneholder leverandøren, detaljer om deres adresse, varer de oppgir osv. Skriv ut ut ledd til disse leverandørene.11 11 Eksempel Trading-House Automation System TAS TAS bør også svare på ledelsesmessige spørringer Statistikk av diff varige varer solgt over en gitt tidsperiode Tilsvarende mengde solgt og prisen realisert.12 12 Kontekstdiagram Handel - Hus - Automatisering - System 0 Leder KundeKjøp - Avdeling forespørselsstatistikk Bestillingsrespons Generer - indrykk 13 13 Nivå 1 DFD Godkjenningsordre 0 1 Prosessordre 0 2 Håndteringsforespørsel 0 4 Håndteringsforespørsel 0 3 ventende-bestilling Salgsstatistikkbeholdning Leverandørliste Kundefil Varefil Kundehistorikk Innrykksprosedanse Innledninger Godkjenningsordre forespørselsstatistikk rekkefølge Materiale - issue-slip bill.14 14 Eksempel Data Ordbok svarregning materiale-problem-slip, avvise-melding spørring periode spørring fra leder angående salgsstatistikk periode dato dato, måned, år, dag dato år måned dag år heltall måned heltall dag heltall bestille kunde - id akseptert rekkefølge rekkefølge bestilte varer tilgjengelig i lager avvis-melding ordre melding avvisning melding venter-bestillinger kunde-id kundeadresse adresse hus street city pin.15 15 Eksempel Data Ordbok element-navn stri ng hus streng strengen streng byen streng pin heltall kunde-ID heltall faktura totalbeløpet kundeadresse materiale utgave-slip melding element antall kunde-adresse melding streng statistikk salg statistikk mengde heltall.16 16 Observasjon Fra eksemplene, Observer at DFDs hjelp til å skape Datamodell Funksjonsmodell.17 17 Observasjon Som en DFD er raffinert til større detaljnivå Analysen utfører en implisitt funksjonell dekomponering Samtidig utføres dataforbedringer.18 18 Retningslinjer for konstruksjon av DFDer Kontekstdiagram skal representere systemet som en enkelt boble Mange nybegynnere begår feilen ved å tegne mer enn en boble i kontekstdiagrammet. 19 19 Retningslinjer for konstruksjon av DFD'er Alle eksterne enheter skal representeres i kontekstdiagrammet Eksterne enheter skal ikke vises på noe annet nivå av DFD Only 3 til 7 bobler per diagram bør tillates Hver boble skal dekomponeres til mellom 3 og 7 bobler.20 20 Retningslinjer for konstruksjon DFDs En vanlig feil begått av mange nybegynnere Forsøk å representere kontrollinformasjon i en DFD, for eksempel å prøve å representere rekkefølgen der forskjellige funksjoner utføres.21 21 Retningslinjer for konstruksjon av DFDer En DFD representerer ikke kontrollinformasjon Når eller i hvilken rekkefølge forskjellige funksjoner behandler påberopes. Forholdene under hvilke forskjellige funksjoner er påkalt, er ikke representert. For eksempel kan en funksjon påkalle en funksjon eller en annen, avhengig av en tilstand. Mange nybegynnere forsøker å representere dette aspektet ved å tegne en pil mellom de tilsvarende boblene.22 22 Eksempel 1 Kontroll inngangsverdien Hvis inngangsverdien er mindre enn -1000 eller høyere enn 1000, genererer du en feilmelding ellers søker etter nummeret. Tjenesten Feil Searc h nummer meldingsnummer funnet, ikke funnet.23 23 Retningslinjer for konstruksjon av DFDs Hvis en boble A påkaller enten boble B eller boble C avhengig av noen forhold representerer dataene som strømmer fra boble A til boble B a nd bobler A til C ikke betingelsene avhengig av hvilken prosess er påkalt.24 24 Eksempel-2 En funksjon aksepterer boknavnet som skal søges fra brukeren Hvis det angitte boknavnet ikke er et gyldig boknavn, genererer en feilmelding, hvis Boknavnet er gyldig, Søker boknavnet i databasen Hent boknavn Utskrifts-err-melding Søkebok Feilmelding Boknavn God boknavn Bokdetaljer.25 25 Retningslinjer for konstruksjon av DFDer Alle funksjoner i systemet må fanges i DFD-modellen Ingen funksjon angitt i SRS-dokumentet, bør overses Bare de funksjonene som er angitt i SRS-dokumentet, bør være representert. Ikke utnyt ekstra funksjonalitet for systemet som ikke er spesifisert i SRS-dokumentet.26 26 Felles feil Ubalansert DFDs Glemmer å nevne navnene på datastrømmer Urepresenterte funksjoner eller data Eksterne enheter som vises på høyere nivå DFDs Forsøker å representere kontrollaspekter Kontekstdiagram med mer enn en boble En boble dekomponeres i for ma ny bobler på neste nivå Avslutning av dekomponering for tidlig Nouns brukes til navngivning av bobler.27 27 Mangler på DFD-modell DFD-modellene lider av flere mangler DFDs lar stort omfang ikke være presist I en DFD-modell, går vi ut fra funksjonen som utføres av en boble fra etiketten En etikett kan ikke fange all funksjonalitet av en boble.28 28 DFD-modellens mangler For eksempel har en boble som heter finnbokstilling, bare intuitiv betydning. Angir ikke flere ting Hva skjer når det mangler noen inntastingsinformasjon? eller er feil. Ikke formidle noe om hva som skjer når boken ikke er funnet eller hva som skjer hvis det finnes bøker av forskjellige forfattere med samme boktittel.29 29 Mangler på DFD-modellen Kontrollinformasjonen er ikke representert For eksempel, rekkefølge som innganger forbrukes og utdata produseres er ikke spesifisert Godta-ordre Prosessordre Kundefil Varefil Kundehistorikk Godkjenningsordrer ordrebeholdning.30 30 Shortcomin gs av DFD Model A DFD spesifiserer ikke synkroniseringsaspekter. Eksempelvis angir DFD i TAS-eksempel ikke om prosessordre kan vente til akseptordreproduksjonen produserer data. Om akseptordre og håndteringsordre kan fortsette samtidig med noen buffering mekanisme mellom dem.31 31 TAS Nivå 1 DFD Godkjenningsordre Prosessordre Håndteringsforespørsel Håndteringsforespørsel ventende rekkefølge Salgsstatistikkbeholdning Forhandlerliste Kundefil Varefil Kundehistorikk Innrykksprosess Innrykk Godkjenningsordre forespørselsstatistikk rekkefølge.32 32 Mangler i DFD-modellen Måten dekomponering utføres for å komme til de påfølgende nivåene av en DFD er subjektiv. Det endelige nivået til hvilken dekomponering utføres er subjektiv. Avhenger av analytikerens valg og vurdering. Selv for Det samme problemet, Flere alternative DFD-representasjoner er mulige Mange ganger er det ikke mulig å si hvilken DFD-representasjon som er overlegen eller foretrukket.33 33 Mangler i DFD-modellen DFD-teknikk gir ikke noen klar veiledning om hvordan man skal gå om å dekomponere en funksjon Man må bruke subjektiv vurdering for å utføre dekomponering Strukturerte analyseteknikker angir ikke når man skal stoppe en spaltningsprosess I hvilken lengde må dekomponering utføres .34 34 Utvidelse av DFD-teknikk til sanntidssystemer For sanntidssystemsystemer som har tidsbegrensninger på deres handlinger, Vesentlig for å modellere kontrollflow og hendelser Bredt akseptert teknikk Ward og Mellor-teknikk En type prosessbobler som håndterer bare kontrollstrømmer er introdusert Disse prosessene er representert ved hjelp av stiplede sirkler.35 35 Strukturert design Formålet med strukturert design Transformere resultatene av strukturert analyse, dvs. en DFD-representasjon i et strukturskjema Et strukturskjema representerer programvarearkitekturen Ulike moduler som utgjør systemet, Modulavhengighet dvs. hvilket modul som ringer hvilke andre moduler, Parametere passert blant forskjellige moduler.36 36 Strukturdiagram Strukturdiagramrepresentasjon Lett implementerbar ved hjelp av programmeringsspråk Hovedfokus i et strukturskjema Definer modulstrukturen til en programvare, Interaksjon mellom forskjellige moduler, Prosessaspekter, for eksempel hvordan en bestemt funksjonalitet oppnås, er ikke representert.37 37 Grunnleggende byggeklokk av struktur Figur Rektangulær boks En rektangulær boks representerer en modul Merket med navnet på modulen representerer det Prosessordre.38 38 Piler En pil mellom to moduler innebærer Under utførelsen går kontrollen fra en modul til den andre i pilens retning. Prosess - OrderHandle-indent root Handle-query.39 39 Dataflytpiler Data-strømpiler representerer Data som går fra en modul til en annen i retning av pilen. Bestillingsordreordre.40 40 Biblioteksmoduler Biblioteksmoduler representerer ofte kalt moduler Et rektangel med dobbel sidekanter Forenkler tegning når en modul kalles av flere moduler. Hurtig sortering.41 41 Valg Di amond symbol representerer En modul med flere moduler knyttet til diamantsymbolet påberopes avhengig av noen tilstand ProsessordreHandle-indentrot Handle-spørring.42 42 Repetisjon En loop rundt kontrollflytpilene angir at de aktuelle modulene påberopes gjentatte ganger ProsessordreHandle - indrottningsrute Håndteringsspørsmål.43 43 Strukturdiagram Det er bare én modul øverst på rotsmodulen. Det er maksimalt ett kontrollforhold mellom to moduler hvis modul A påkaller modul B, modul B kan ikke påkalle modul A Hovedårsaken bak dette begrensning vurdere moduler i et strukturskjema som skal ordnes i lag eller nivåer.44 44 Strukturdiagram Abstraksjonsprinsippet tillater ikke moduler på lavere nivå å påkalle høyere nivå moduler. Men to høyere nivå moduler kan påberåbe seg samme lavere nivå modul.45 45 Eksempelrot Få god data Beregningsløsning Skjermløsning Få data Validate-data Gyldige tall rms.47 47 Mangler i strukturdiagram Ved å se på en struktur CHA rt vi kan ikke si om en modul kaller en annen modul bare en eller flere ganger Også ved å se på et strukturskjema kan vi ikke fortelle rekkefølgen der de forskjellige modulene er påkalt.48 48 Flow Chart Aside Vi er alle kjent med strømmen diagram representasjoner Flow diagram er en praktisk teknikk for å representere styringsflyten i et system AB hvis c 100 P 20 ellers p 80 mens p 20 skrive studentmerke ABP 20P 80 Skriv ut ja nei dummy ja nei 20 skrive studentmerke ABP 20P 80 Skriv ut ja ingen dummy ja no.49 49 Flow Chart versus Structure Chart Et strukturskjema er forskjellig fra et flytdiagram på tre hovedveier Det er vanskelig å identifisere moduler av en programvare fra sin flytskjemarepresentasjon Datautveksling mellom modulene er ikke representert i et flytskjema Sekvensiell bestilling av oppgaver som er iboende i et flytskjema er undertrykt i et strukturdiagram. 50 50 Transformasjon av en DFD-modell i strukturdiagram To strategier eksisterer for å lede transformasjon av en DFD til et strukturdiagram Transfor m Analyse Transaksjonsanalyse.51 51 Transform Analyse Det første trinnet i transformasjonsanalyse Del DFD i 3 deler, logisk behandling, utgang.52 52 Transform Analys Input-del i DFD-prosessene som konverterer inngangsdata fra fysisk til logisk form, f. eks. les tegn fra terminalen og lagre i interne tabeller eller lister Hver inngangsdel kalt en afferent gren Mulig å ha mer enn en avferent gren i en DFD.53 53 Transform Analyse Utgangsparti av en DFD forvandler utdata fra logisk form til fysisk form f. eks. fra liste eller array i utgangstegn Hvert utgangsparti kalt en efferent gren De resterende delene av en DFD kalles sentraltransformasjon.54 54 Transform Analyse Deriver struktur diagram ved å tegne en funksjonell komponent for den sentrale transformasjonen, hver avferent gren, hver efferent gren.55 55 Transform Analyse Identifisering av høyest nivå inngangs - og utgangstransformasjoner krever erfaring og ferdigheter Noen retningslinjer Spor inp uts til en boble er funnet hvis utgang ikke kan utledes fra inngangene alene Prosesser som validerer inngang er ikke sentrale transformasjoner Prosesser som sorterer inn - eller filterdata fra den.56 56 Transform Analyse Første nivå av strukturdiagram Tegn en boks for hver inngang og utdataenheter En boks for den sentrale transformasjonen Neste, avgrens strukturskjemaet Legg til underfunksjoner som kreves av hver høymodul. Mange moduler må kanskje legges til. 57 57 Factoring Prosessen med å bryte funksjonelle komponenter i underkomponenter Factoring inkluderer å legge til Les og skriv Moduler, Feilhåndteringsmoduler, Initialisering og Avslutningsmoduler, osv. Endelig, Kontroller om alle bobler er kartlagt til moduler.58 58 Eksempel 1 RMS Beregning av programvareberegning - RMS 0 Resultat av brukerdata-elementer Kontekstdiagram.59 59 Eksempel 1 RMS-beregning av programvare Fra en kort analyse av problembeskrivelsen, er det lett å se at systemet trenger å utføre akseptere inntastingsnumrene fra brukeren, validere tallene, beregne rotenes middelfirkant av inngangsnumrene, viser resultatet. 60 60 Eksempel 1 RMS Beregning av programvare Data-elementer Resultat Lesnummer 0 1 Valideringsnumre 0 2 Beregninger 0 3 Display 0 4 RMS-numre Gyldig - tallfeil.61 61 Eksempel 1 RMS Beregningsprogramvare Ved å observere nivå 1 DFD Identifiser lesnummer og valideringsnummerbobler som avferent-grenen Vis som efferent-grenen.62 62 Eksempel 1 RMS Beregning av programvarerot Få gode data Compute - løsning Visningsoppløsning Get-data Validate-data Gyldige tall rms.63 63 Eksempel 2 Tic-Tac-Toe dataspill Så snart en av spillerne eller datamaskinen vinner, bør en melding gratulere vinneren vises Hvis ingen spiller klarer å få tre påfølgende markeringer langs en rett linje, og alle torgene på tavlen er fylt opp. Da trekkes spillet. Datamaskinen forsøker alltid å vinne et spill.64 64 Kontekstdiagram for eksempel 2 Menneskespiller Tic-tac-toe programvare 0 skjermbevegelse.65 65 L evel 1 DFD-skjerm Skjermkort Innkjøpsvinner Valideringsflytt Play-move bevegelsesresultat game.66 66 Strukturskjema rot Get-good-moveCompute-gameDisplay Get-move Bekreft-flytte spill-flyt Innkjøpsvinner.67 67 Transaksjonsanalyse Nyttig for å designe transaksjonsbehandlingsprogrammer Transform-sentrerte systemer Karakterisert av lignende behandlingstrinn for hvert dataelement behandlet av innspill, prosess og utgangsbobler Transaksjonsdrevne systemer, En av flere mulige baner gjennom DFD er krysset avhengig av inngangsdataverdien.68 68 Transaksjonsanalyse Transaksjon En hvilken som helst inngangsdataverdi som utløser en handling For eksempel kan utvalgte menyalternativer utløse forskjellige funksjoner Representert med en tag som identifiserer dens type Transaksjonsanalyse bruker denne taggen for å dele systemet i Flere transaksjonsmoduler En transaksjons-sentralmodul.69 69 Transaksjonsanalyse Transaksjonssenter trans 1 trans 2 trans 3 type 1type 2type 3.70 70 Nivå 1 DFD for TAS Accept-order Prosessordrehånd ledig forespørsel Håndterings - forespørsel ventende rekkefølge Salgsstatistikk inventar Leverandørliste Kundefil Varefil Kundehistorikk Innrykksprosedanse Innledninger Godkjenningsordre forespørselsordrestatistikk.71 71 Konstruksjonsdiagramrot HåndteringsordreHandle-indentHandle-spørring Innkjøpsordre-ordre-ordre-bestilling-ordre-ordre-forespørsel.72 72 Sammendrag Vi diskuterte først strukturert analyse av et større problem Vi definerte noen generelle retningslinjer for bygging av en tilfredsstillende DFD-modell. DFD-modellen, men enkel og nyttig, har flere korte framkomster. Da startet vi diskutere strukturert design.73 73 Sammendrag Formålet med strukturert design Transformere en DFD-representasjon i et strukturskjema Strukturdiagram representerer Modulstruktur Interaksjon mellom ulike moduler, Prosessoriske aspekter er ikke representert.74 74 Sammendrag Strukturert design gir to strategier for å omdanne en DFD til en struktur diagram Transformanalyse Transaksjonsanalyse 75 75 Sammendrag Vi diskuterte tre eksempler på strukturert design som kreves mye øvelse for å bli en god programvaredesigner Prøv å løse alle problemene som er oppført i oppgavebladet ditt, Ikke bare de du forventes å sende inn. Funksjonsorientert programvaredesign fortsetter Foredrag 6 Dr R Mall. Presentasjon på tema Funksjon - Orienterte Software Design fortsatte Forelesning 6 Dr R Mall Presentasjon transkripsjon.1 Funksjonsorientert Software Design fortsatte Forelesning 6 Dr R Mall.2 Organisering av denne forelesningen zBrief gjennomgang av tidligere forelesninger zA Større eksempel på strukturert analyse zStruktured Design yA Hovedmål for dette forelesningen er at du skal kunne utvikle strukturert design fra en hvilken som helst DFD-modell zExamples zSummary.3 Gjennomgang av siste forelesning zLast forelesning vi startet diskusjon om strukturert analyse Strukturert design SA SD-teknikk inkorporerer funksjoner fra noen viktige designmetoder zSA SD består av to viktige deler ystructured analyse ystructured design.4 Gjennomgang av siste forelesning z Målet med strukturert analyse yperform funksjona l dekomponering representere ved hjelp av dataflytdiagrammer DFDs zDFD er en hierarkisk modell y Vi undersøkte hvorfor noen hierarkisk modell er lett å forstå ynumber 7 kalles magisk nummer.5 Gjennomgang av siste forelesning zDuring strukturert analyse yFunksjonell dekomponering foregår yin tillegg, data dekomponering finner sted zAt det mest abstrakte nivået ycontext diagram yrefined til mer detaljerte nivåer zWe diskuterte to små eksempler yRMS beregne programvare ytic-tac-toe dataspill programvare.6 Gjennomgang av siste forelesning zSeveral CASE-verktøy er tilgjengelige yhelp i designaktiviteter yhelp opprettholder datagrafikken ycheck hvorvidt DFD er balansert osv. ZDFD-modellen er vanskelig å implementere ved hjelp av et programmeringsspråk som skal transformeres til strukturert design.7 Eksempel 3 Trading House Automation System TAS zA store handelshus ønsker at vi skal utvikle en programvare for å automatisere bokføringsaktiviteter knyttet til dens Virksomheten har mange faste kunder og legger ordre for ulike typer av varer.8 Eksempel 3 Trading-House Automation System TAS zHandelshuset opprettholder navn og adresser til sine faste kunder. ZEach-kunden er tildelt et unikt kundeidentifikasjonsnummer CIN-ZAs per gjeldende praksis når en kunde plasserer bestillingen. Kontoavdelingen kontrollerer først kreditt - Kundens verdighet.9 Eksempel Trading-House Automation System TAS z Kreditverdien til en kunde bestemmes, og analyserer historien til hans betalinger til regningene som er sendt til ham i det siste. Hvis en kunde ikke er kredittverdig, så er ordrene ikke behandlet Enhver annen hensiktsmessig ordreavvisningsmelding er generert for kunden.10 Eksempel Trading-House Automation System TAS hvis en kunde er kredittverdige varer han har bestilt, blir sjekket mot listen over varer handelshuset håndterer med zThe varer som handler Huset håndterer ikke å behandle noen annen hensiktsmessig melding til kunden fordi disse elementene er generert.11 Eksempel Trading-House Automation System TAS zPostene i en kundes ordre som handelshuset behandler y, kontrolleres for tilgjengeligheten i beholdningen hvis varene er tilgjengelige i beholdningen i ønskede mengder, og fakturaen med videresendingsadressen til kunden er skrevet ut Materialeutslipp er trykt.12 Eksempel Trading-House Automation System TAS zKunden kan produsere materialemisjonsslippet i butikkhuset. Levering av varene til yinventory data justert for å gjenspeile salget til kunden.13 Eksempel Trading House Automation System TAS hvis et bestilt element ikke er tilgjengelig i beholdningen i tilstrekkelig mengde y for å kunne oppfylle ventende bestillinger lagre detaljer i en ventende rekkefølge xout-of-stock-elementer sammen med kvantitet bestilt xcustomer-ID.14 Eksempel Trading House Automation System TAS zInkjøpsavdelingen ywould avgis regelmessig kommandoer for å generere innrykk z Når genererer innrykk kommandoen er utstedt, skal systemet undersøke ventende ordre fil ydetermine de ordrene som er ventende ytotal kvantitet som kreves for hver av elementene.15 Eksempel Trading House Automation System TAS zTAS bør finne ut adressen til leverandørene som leverer de nødvendige elementene, og undersøk filen som inneholder leverandøren, detaljer om adressen sin, elementer som de leverer osv. skriv ut leddene til de leverandørene.16 Eksempel Trading House Automation System TAS zTAS bør også svare på ledelsesmessige forespørsler om statistikk av forskjellige varer solgt over en gitt tidsperiode tilsvarende mengde solgt og prisen realisert.17 Kontekstdiagram Trading House - Automasjon - System 0 Manager KundeKjøp - Avdeling forespørselsstatistikk Bestillingsrespons Genereringsindrykk 18 Grunn 1 DFD Godkjenningsordre 0 1 Prosessordre 0 2 Håndteringsforespørsel 0 4 Håndteringsforespørsel 0 3 Venteresalg Salgsstatistikk beholdning Leverandørliste Kundefil Varefil Kundehistorikk Innrykksprosedanse Innledninger Godkjenningsordre forespørselsstatistikkbestilling Materialemissionskort 19 Eksempeldata Ordbok zresponse regning materiale-utgave-slip, avvis-melding zquery periode spørring fra leder om salgsstatistikk zperiod dato dato, måned, år, dag zdate år måned dag zyear heltall zmonth heltall zday heltall zorder kunde-id zaccepted rekkefølge bestille bestilte varer tilgjengelig i varelager zreject-melding rekkefølge avslag melding zpending-ordre kunde-id zcustomer-adresse navn hus street city pin.20 Eksempel Data Dictionary sitem-navn streng zhouse streng zstreet streng zcity streng zpin heltall zcustomer-id heltall zbill totalbeløp kunde - adresse zmaterial-issue-slip meldingspost kvantitet kundeadresse zmessage streng zstatistikk zsales-statistikk zquantity integer.21 Observasjon zFor eksemplene, yobserve at DFDs bidrar til å lage xdata modell xfunction modell.22 Observasjon zAs en DFD er raffinert til større detaljnivåer analytiker utfører en implisitt funksjonell dekomponering yAt samme tid foregår dataforbedringer.23 Retningslinjer for konstruksjon g DFDs zContext diagram skal representere systemet som en enkelt boble. Mange nybegynnere begår feilen ved å tegne mer enn en boble i kontekstdiagrammet.24 Retningslinjer for å konstruere DFD'er zAll eksterne enheter skal representeres i kontekstdiagrammet yexternal entities should not appear at any annet nivå av DFD zOnly 3 til 7 bobler per diagram bør tillates, bobleboble skal dekomponeres til mellom 3 og 7 bobler.25 Retningslinjer for konstruksjon av DFDs zA vanlig feil begått av mange nybegynnere yattempting å representere kontrollinformasjon i en DFD, jeg prøver å representerer rekkefølgen der forskjellige funksjoner utføres.26 Retningslinjer for konstruksjon av DFD'er zA DFD representerer ikke kontrollinformasjon i eller i hvilken rekkefølge forskjellige funksjonsprosesser påberopes over de forhold der forskjellige funksjoner påberopes, ikke er representert. For eksempel kan en funksjon påberope seg en funksjon eller en annen, avhengig av noen tilstand, mange nybegynnere prøver å representere nt dette aspektet ved å tegne en pil mellom de tilsvarende boblene.27 Eksempel-1 zKontrollér inngangsverdien y Hvis inngangsverdien er mindre enn -1000 eller høyere enn 1000, generer en feilmelding, eller søk etter nummeret. Tjener Feil Searc h nummer meldingsnummer funnet, ikke funnet.28 Retningslinjer for konstruksjon av DFDer zIf en boble A påkaller enten boble B eller boble C, avhengig av noen forhold, representere dataene som strømmer fra boble A til boble B og bobler A til C ikke betingelsene avhengig av som en prosess er påkalt.29 Eksempel 2 zA-funksjonen aksepterer boknavnet som skal søkes fra brukeren hvis det oppgitte boknavnet ikke er et gyldig boknavn, gir en feilmelding, hvis boknavnet er gyldig, søker boknavnet i databasen Get-book-navn Utskrifts-err-melding Søkebok Feilmelding Boknavn Godboknavn Bokdetaljer.30 Retningslinjer for konstruksjon av DFDer zAll-funksjoner i systemet må fanges i DFD-modellen yno-funksjonen spesifisert i SRS-dokumentet bør overses ZOnly skal de funksjonene som er spesifisert i SRS-dokumentet, bli representert, og ikke utnytte ekstra funksjonalitet til systemet som ikke er angitt i SRS-dokumentet.31 Vanlige feilutviklinger ZUbalanced DFDs zForgetting å nevne navnene på datastrømmene zUnrepresented functions eller data zExternal enheter som vises på høyere nivå DFDs zTrying for å representere kontrollaspekter zContextdiagram som har mer enn en boble zA boble dekomponert i for mange bobler i neste nivå zTerminerende dekomponering for tidlig zNouns brukt til å navngi bobler.32 Mangler i DFD-modellen zDFD-modellene lider av flere mangler zDFDs gir rikelig med muligheter for å være upresistente y I en DFD-modell, går vi ut fra funksjonen som utføres av en boble fra etiketten. Etikett kan ikke fange all funksjonalitet av en boble.33 Mangler i DFD-modellen zFor eksempel et boblen heter finne-bokposisjon har bare intuitiv mening, ikke spesifiser flere ting xwhat skjer wh men noe inngangsinformasjon mangler eller er feil xDoer ikke formidle noe om hva som skjer når boken ikke er funnet xor hva skjer hvis det finnes bøker av forskjellige forfattere med samme boktittel.34 Mangler på DFD-modellen zControl-informasjonen er ikke representert yFor eksempel , rekkefølge hvor innganger forbrukes og utdata produseres ikke er angitt Godkjenningsordre Prosessordre Kundefil Varefil Kundehistorikk Ordrebeholdning for ordrebekreftet ordre.35 Mangler i DFD-modellen zA DFD spesifiserer ikke synkroniseringsaspekter yFor eksempel DFD i TAS-eksempel angir ikke at prosessordren kan vente til mottaksordren produserer data, hvis mottaksordre og håndteringsordre kan fortsette samtidig med noen buffermekanisme mellom dem.36 TAS Nivå 1 DFD Godkjennelsesordre Prosess - bestilling Handle-indent-request Handle-spørring ventende-bestilling Salgsstatistikk inventar Leverandørliste Kundefil Varefil Kundehistorikk Innrykksprosedanse Innrykk Akseptert - ordrer forespørselsstatistikk rekkefølge.37 Mangler i DFD-modellen zVegg dekomponeringen utføres for å komme til de påfølgende nivåene av en DFD er subjektiv z. Det ultimate nivået til hvilken dekomponering utføres er subjektivt avhengig av valg og vurdering av analytikeren. Det samme problemet er at alternative alternativer for DFD-representasjoner er mulige mange ganger, det er ikke mulig å si hvilken DFD-representasjon som er overlegen eller foretrukket.38 Mangler ved DFD-modellen zDFD-teknikken gir ikke noe tydelig veiledning om hvor nøyaktig det skal gå å nedbryte en funksjon yone må bruke subjektiv vurdering for å utføre dekomponering zStrukturerte analyseteknikker spesifiserer ikke når man skal stoppe en dekomponeringsprosess, i hvilken lengde nedbrytning må utføres.39 Utvide DFD-teknikk til sanntidssystemer zFor sanntidssystemsystemer som har tid begrensninger på deres handlinger, yessensial til modellkontrollflow og hendelser yWidely accepted technique Ward and Mellor teknikk xa type prosessbobler som håndterer bare kontrollstrømmer innføres x Disse prosessene er representert ved hjelp av stiplede sirkler. 40 Strukturert design zStøtten med strukturert design ytransformerer resultatene av strukturert analyse, dvs en DFD-representasjon i et strukturskjema. ZA strukturskjema representerer programvarearkitekturen yvrige moduler som utgjør systemet, og modulavhengighet dvs. hvilken modul som kaller hvilke andre moduler, yparametre som passerer mellom forskjellige moduler.41 Strukturdiagram zStrukturdiagram representasjon ja mulig implementerbar ved hjelp av programmeringsspråk zMain fokus på et strukturskjema, definere modulstrukturen til en programvare, yinteraction mellom ulike moduler, yprocedural aspekter, for eksempel hvordan en bestemt funksjonalitet oppnås, er ikke representert.42 Grunnleggende byggeklosser med strukturskjema zRektangulær boks yA rektangulær boks representerer en modul som er annotert med navnet på modulen det representerer Prosessordre.43 Piler zAn pil mellom to moduler es innebærer at ekstremt utførelsesstyring overføres fra en modul til den andre i pilens retning. ProsessordreHandle-indentrot Håndteringsspørsmål.44 Datastrømpiler ZData-strømpiler representerer ydata som går fra en modul til en annen i retning av pilen Prosessordreordre.45 Biblioteksmoduler zBiblioteksmoduler representerer ofte kalt moduler ya rektangel med dobbeltsidekanter ySimpliserer tegning når en modul kalles av flere moduler Hurtigsort.46 Valg zDemasymbolet representerer yone modul med flere moduler koblet til 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

Popular posts from this blog

Hl30 Forex

Aapl 21 Dagers Moving Average

Daglig Forex Priser Sbi