Friday 10 November 2017

Trading House Automaatio Järjestelmän Dfd


1 Toiminnallinen ohjelmistosuunnittelu jatkuu Luento 6 Prof. R Mall - yksikkö CSE: n, IIT: n ja Kharagpur: n toimipisteessä. Teeman 1 esittely Toiminnallinen ohjelmistosuunnittelu jatkuu Luento 6 Prof. Mallin CSE, IIT, Kharagpur Presentation transcript.1: Ohjelmistosuunnittelu jatkuu Luento 6 Prof. R Mall CSE, IIT, Kharagpur.2 2 Esimerkki 3 Trading-House Automation System TAS Suuri kauppakeskus haluaa meidän kehittää ohjelmiston Automaattisesti liiketoimintaan liittyvän kirjanpitotoiminnan automatisoinnilla On monia säännöllisiä asiakkaita Kuka asettaa tilauksia erilaisille hyödykkeille.3 3 Esimerkki 3 Trading-House Automation System TAS Kauppayhtiö ylläpitää säännöllisten asiakkaidensa nimiä ja osoitteita Jokaiselle asiakkaalle annetaan yksilöllinen asiakastunnus CIN Kuten nykyisessä käytännössä, kun asiakas tilaa tilauksen tilejä koskeva osasto ensin tarkistaa asiakkaan luottokelpoisuuden.4 4 Esimerkki kaupankäynti-automaatiojärjestelmästä TAS Asiakkaan luottokelpoisuus on määritelty ed Analysoimalla hänen aiempien maksujensa historiaa aiemmin hänelle lähetetyistä laskuista Jos asiakas ei ole luottokelpoinen Hänen tilauksiaan ei käsitellä enää Asiakkaalle syntyy sopiva tilaus hylkäysviesti.5 5 Esimerkki Trading-House Automation Järjestelmä TAS Jos asiakas on luottokelpoinen Tilaukset, jotka hän on tilannut, tarkistetaan niiden kohteiden luettelon kohdalla, jotka kaupankäynnin kohteena on. Kauppias ei käsittele niitä kohteita, joita ei käsitellä enää. Asianmukaista sanomaa asiakkaalle näistä tuotteista luodaan.6 6 Esimerkki kaupankäynnin automatisointijärjestelmästä TAS Asiakkaan kaupankäynnin kohteena olevien tilausten kohteet Tarkastetaanko varastosta saatavuus Jos kohteet ovat käytettävissä luettelossa haluamassasi määrin Laskut, joiden välitysosoitteen osoite on asiakas on painettu Materiaaliasiakirja on painettu.7 7 Esimerkki kaupankäynti-automaatioratkaisusta TAS Asiakas voi tuottaa materiaalilaskennan kauppakeskukseen. e-kohteet Inventaatiotiedot, jotka on oikaistu asiakkaan myynnin huomioon ottamiseksi.8 8 Esimerkki kaupankäynti-automaatiojärjestelmästä TAS Jos tilatut kohteet eivät ole riittävän suuret luettelossa, jotta ne pystyvät täyttämään odottamattomat tilaukset, tallentaa yksityiskohtia vireillä olevissa tilaustiedoissa varastossa olevat tilat ja tilauskohtainen asiakastunnistusnumero.9 9 Esimerkki kaupankäynti-automaatioratkaisusta TAS Ostoosasto antaisi määräajoin komentoja, joilla luodaan sisennykset Kun luodaan sisennykset-komento, järjestelmä tutkii odottamattoman tilauksen Tiedoston määrittäminen odottamattomat tilaukset Jokaiselle kohteelle vaaditut kokonaismäärät.10 10 Esimerkki kaupankäynnin automatisointijärjestelmästä TAS TAS: n on selvitettävä toimittajat, jotka toimittavat vaaditut kohteet Tarkastele toimittajan tiedot sisältävä tiedosto osoitteesta, toimitettavista tavaroista jne. Tulosta 11 Esimerkki kaupankäynti-taloautomaatiojärjestelmästä TAS TAS: n tulisi vastata myös johdon kyselyt Tilastotietoja diff eräitä eriä myydään tietyn ajanjakson aikana Vastaava myyntimäärä ja toteutunut hinta 12 12 Kontekstikaavio Kaupankäynti - Automaatio - Järjestelmä 0 Manager CustomerPurchase - Osasto kyselytilastot tilausvaste Generate - indent indent.13 13 Level 1 DFD Hyväksy-tilaus 0 1 Prosessijärjestys 0 2 Käsitelty pyyntö 0 4 Käsikysely 0 3 Jatkuva tilaus Myynti - tilastotietoryhmä Myyntiluettelo Asiakastiedosto Kohta-tiedosto Asiakkaan historia Sisennyspyyntö Sisennykset Hyväksytyt tilaukset kyselyn tilastotilaus Materiaali - issue-slip bill.14 14 Esimerkki Data Dictionary vastaus bill materiaali-issue-slip, hylätä-viesti kyselyn ajan kyselyn johtaja suhteen myyntitietojen ajanjakso päivämäärä päivämäärä, kuukausi, vuosi, päivä päivämäärä vuosi kuukausi päivä vuosi kokonaisluku kuukausi kokonaisluku päivä kokonaisluku tilaus asiakas - id hyväksytty-tilaus-tilaus tilat, jotka ovat käytettävissä inventaariossa hylkäys-viestin tilausviestin hylkäämisviesti vireillä-tilaukset asiakas-id asiakasosoite - nimi talon katu kaupunki pin.15 15 Esimerkki Data Dictionary-kohteen nimi stri ng talo merkkijono katu merkkijono kaupungin merkkijono pin kokonaisluku asiakas-id kokonaisluku lasku kokonaislukumäärä asiakasosoite materiaali-numero-liuska sanoma-määrä määrä asiakas-osoite viestin merkkijono tilastokauppamyynti-tilasto määrä kokonaisluku.16 16 Huomautus Esimerkkeistä Huomaa, että DFD auttaa luomaan datamallin toimintamalli.17 17 Tarkkailu DFD: stä tarkennetaan suurempaan yksityiskohtien tasoon Analyytikko suorittaa epäsuoran funktionaalisen hajoamisen Samaan aikaan datan tarkentaminen tapahtuu.18 18 DFD: iden konstruointiohjeet Kontekstikaavion pitäisi edustaa järjestelmää yhtenä kuplaa Useat aloittelijat tekevät erehdyksen piirtää useamman kuin yhden kuplan kontekstivaiheessa.19 19 DFD: n konstruointiohjeet Kaikki ulkoiset kokonaisuudet on esitettävä kontekstikaavassa Ulkopuoliset yksiköt eivät saa näkyä millä tahansa muulla DFD: n tasolla vain 3: stä 7 kuplaa kaaviossa tulisi olla sallittua Jokainen kupla on hajotettava 3-7 kupliin.20 20 Suunnitteluohjeet DFD: t Yleinen virhe, jonka monet aloittelijat ovat tehneet Toteutetaan edustamaan ohjausinformaatiota DFD: ssä esim. Yrittää edustaa järjestystä, jossa eri tehtävät toteutetaan.21 21 DFD: n rakentamista koskevat ohjeet DFD ei edusta ohjausinformaatiota Milloin tai missä järjestyksessä eri toiminnot käsittelevät Esimerkiksi funktio saattaa kutsua jonkin toiminnon tai jonkin toisen riippuen tietystä ehdosta. Monet aloittelijat yrittävät edustaa tätä näkökohtaa vetämällä nuolta vastaaviin kupliin 22. 22 Esimerkki-1 Tarkista syöttöarvo Jos tuloarvo on alle -1000 tai suurempi kuin 1000, synnyttää virheilmoituksen muuten etsiä numeroa Chec k numb er gener ate Error Searc h numero viestin numero löytynyt, ei löytynyt.23 23 Ohjeet DFD: n rakentamiseen Jos kupla A kutsuu joko kupla B tai kupla C riippuen joistakin oloista, ovat tietoja, jotka kulkevat kuplasta A kuplan B a n kuplat A-C eivät olosuhteita, jotka riippuvat prosessin käyttämisestä.24 24 Esimerkki-2 Toiminto hyväksyy käyttäjän etsimän kirjan nimen jos kirjattu nimi ei ole pätevä kirja-nimi Luo virheilmoituksen Jos kirjan nimi on kelvollinen, etsii kirjan nimeä tietokannassa Get-book-name Print-err - viesti Hakukirja Error-message Kirja-nimi Good-book-name Kirja-details.25 25 DFD: järjestelmä on tallennettava DFD-malliin SRS-asiakirjassa määritetty toiminto ei saa jättää huomiotta Vain vain SRS-asiakirjassa määritellyt toiminnot eivät saa olla sellaisia, jotka eivät ole SRS-asiakirjan mukaisia.26 26 Yleisesti tehdyt virheet epätasapainossa DFD: t Unohda mainita datavirtojen nimet Ei-edustavat toiminnot tai tiedot Ulkoiset yksiköt, jotka esiintyvät korkeamman tason DFD: issä Tarkasteltaessa valvontaan liittyviä näkökohtia Kontekstikaavio, jossa on useampi kuin yksi kupla Kuplan hajotettu liian ma ny kuplat seuraavalla tasolla Päättäminen hajoaminen liian aikaisin Nimikkeet, joita käytetään kuplien nimeämisessä.27 27 DFD-mallin puutteet DFD-malleissa on useita puutteita DFD: t jättävät runsaasti laajaa epätäsmällisyyttä DFD-mallissa päätämme kuparin suorittaman toiminnon sen etiketistä Etiketti ei välttämättä kerää kaikkea kuplien toimintoja.28 28 DFD-mallin puutteet Esimerkiksi kuplan nimeksi löytyvän kirjan sijainnista on vain intuitiivinen merkitys Ei määritä useita asioita Mitä tapahtuu, kun jotkut syöttötiedot puuttuvat tai se on väärä Ei välitä mitään siitä, mitä tapahtuu, kun kirjaa ei löydy tai mitä tapahtuu, jos eri tekijöiden kirjoja on samaa kirjan otsikkoa.29 29 DFD: n mallinohjaustietojen puutteet eivät ole edustettuina Esimerkiksi järjestys, kulutetaan ja tuotoksia tuotetaan ei määritetä Hyväksy - order Prosessin tilaus Asiakastiedosto Item-tiedosto Asiakashistoria Hyväksytty - tilaus tilausvarasto.30 30 Shortcomin gs DFD-mallista DFD ei täsmennä synkronointiin liittyviä näkökohtia Esimerkiksi DFD: ssä TAS-esimerkissä ei määritetä, onko prosessin tilaus odotettavissa, kunnes hyväksyntäjärjestys tuottaa tietoja. Voidaanko hyväksyntäjärjestys ja kädensijajärjestys siirtyä samanaikaisesti jonkin puskuroinnin kanssa mekanismi niiden välillä.31 31 TAS Taso 1 DFD Hyväksy - order Prosessin järjestys Kahta-välilehden pyyntö Kahta-kysely vireillä tilauksesta Myyntilistat-inventaario Toimittajan lista Asiakastiedosto Asiakirjatiedosto Asiakkaan historia Sisennyspyyntö Sisennykset Hyväksytyt tilaukset kyselytilastotilaus.32 32 DFD-mallin puutteet DFD: n peräkkäisissä tasoissa tapahtuva hajoaminen tapahtuu subjektiivisesti Lopullinen taso, johon hajoaminen suoritetaan, on subjektiivinen Riippuu analyytikon valinnasta ja arvioinnista sama ongelma Useita vaihtoehtoisia DFD-esityksiä on mahdollista Monta kertaa ei ole mahdollista sanoa, mikä DFD-esitys on parempi tai edullinen.33 33 DFD-mallin puutteet DFD-tekniikka ei anna mitään selkeää ohjeistusta siitä, miten täsmällisesti pitäisi mennä toiminnon hajoamiselle Yksi on käytettävä subjektiivista arviointia hajoamisen suorittamiseksi. Strukturoidut analyysitekniikat eivät täsmennä, milloin hajoamisprosessi pysähtyy. Kuinka pitkä hajoaminen on suoritettava .34 34 DFD-tekniikan laajentaminen reaaliaikaisiin järjestelmiin Reaaliaikaisille järjestelmille, joilla on aikarajoituksia toiminnoissaan, Olennaista mallinohjauksen virtauksille ja tapahtumille Laaja-alaisesti hyväksytty tekniikka Ward - ja Mellor-tekniikka Otetaan käyttöön tyypillinen prosessikuplat, jotka käsittelevät vain säätövirtoja Nämä prosessit on esitetty käyttämällä katkoviivoja.35 35 Structured Design Strukturoidun suunnittelun tavoite Muuta rakenteellisen analyysin tuloksia eli DFD: n esitys rakennekaavioksi Rakenteellinen kaavio edustaa ohjelmiston arkkitehtuuria Erilaiset moduulit, jotka muodostavat järjestelmän, Moduulin riippuvuus eli mikä moduuli vaatii mitkä muut moduulit, parametrit kulkivat eri moduuleissa.36 36 Rakennekaavio Rakenteen kaavion esitys Helppo toteuttaa ohjelmointikielten avulla Rakennekaavion pääkohde Määritä ohjelmiston moduulirakenne, Eri moduuleiden välinen vuorovaikutus, Menettelynäkökohdat, esimerkiksi kuinka tietyn toiminnallisuuden saavuttaminen ei ole edustettuna.37 37 Rakenteen perusrakenteet Taulukko Suorakulmainen laatikko Suorakulmainen laatikko edustaa moduulia Merkitty sen moduulin nimen kanssa, jota se edustaa Prosessin järjestys.38 38 Nuolet Kahden moduulin välinen nuoli merkitsee suorituksen aikana Ohjauksen aikana ohjataan moduulia toiseen nuolen suuntaan Process - orderHandle-indent root Handle-query.39 39 Datavirta-nuolet Tiedonsiirto-nuolet edustavat Data siirtyy moduulista toiseen nuolen suuntaan Prosessijärjestys-juuren järjestys.40 40 Kirjaston moduulit Kirjaston moduulit edustavat usein kutsuttuja moduuleita Suorakaide, jossa on kaksinkertainen sivureunat Yksinkertaistaa piirtämistä, kun moduulia kutsutaan useilla moduuleilla Quick-sort.41 41 Valinta Di amond symboli edustaa yhtä moduulia useista moduuleista, jotka on kytketty timanttisymboliin, riippuen joistakin ehdoista. Prosessin järjestysHandle-indent root Handle-query.42 42 Toisto Loop around control flow-nuolet merkitsee, että kyseisiä moduuleja kutsutaan toistuvasti Process-orderHandle - syvennysjono Käsikysely.43 43 Rakennekaavio Juurimoduulin yläosassa on vain yksi moduuli Jokaisen kahden moduulin välillä on enintään yksi ohjaussuhde, jos moduuli A kutsuu moduulia B, moduuli B ei voi kutsua moduulia A Tämän syy rajoitus huomioi moduulit rakenteessa, joka on järjestettävä tasoiksi tai tasoiksi.44 44 Rakennekaavio Apstraktion periaate ei salli alemman tason moduuleita kutsua korkeamman tason moduuleja. Mutta kaksi korkeamman tason moduulia voivat vedota samaan alempaan tason moduuli.45 45 Esimerkki pääkäyttäjälle Hyödyllinen data Laskennan ratkaisu Näyttöratkaisu Get-data Validate data Valid-numerot rms.47 47 Rakenteellisen kaavion puutteet Tarkastelemalla rakennetta cha rt emme voi sanoa, moduuli kutsuu toista moduulia vain kerran tai monta kertaa Myös tarkastelemalla rakennekaaviota emme voi kertoa järjestystä, jossa eri moduuleja kutsutaan.48 48 Flow Chart by Side Olemme kaikki perehtyneet virtaukseen kaavioesitykset Virtauskaavio on kätevä tekniikka, joka edustaa ohjauksen virtausta järjestelmässä AB jos c 100 P 20 muuta p 80 kun p 20 tulostaa opiskelijamerkin ABP 20P 80 Tulosta kyllä ​​ei tyhmä kyllä ​​ei 20 tulosta opiskelijamerkki ABP 20P 80 Tulosta kyllä no dummy yes no.49 49 Kaavio kaavioon verrattuna kaavioon Rakennekaavio eroaa vuokaaviosta kolmella päätavalla Ohjelmiston moduulit on vaikea tunnistaa sen vuokaavioesityksestä Moduulien välinen tiedonsiirto ei ole edustettu vuokaaviossa Vuokaaviossa luodut tehtävien peräkkäiset tilaukset poistuvat rakennekaaviosta 50 50 DFD-mallin muuntaminen kaavioksi Kahden strategian olemassaolo ohjaa DFD: n muunnosta rakennekaavioksi Transfor m Analysis Transaction Analysis.51 51 Muunnosanalyysi Ensimmäinen vaihe muunnosanalyysissä Jakaa DFD: n 3 osaan sisääntuloa, loogista käsittelyä, lähtöä.52 52 Muunnosanalyysi Tulo-osa DFD-prosesseissa, jotka muuntavat syöttödataa fyysisestä loogiseen muotoon, esim. terminaalista ja tallennetaan sisäisiin taulukoihin tai luetteloihin Jokainen sisäänsyöttöosa, jota kutsutaan afferent - tialaksi haaraksi Mahdollista olla enemmän kuin yksi afferentti haara DFD: ssä.53 DFD: n muunnosanalyysi Lähtöosa muuntaa lähtötiedot loogisesta muodosta fyysiseen muotoon esim. luettelosta tai taulukko lähtömerkkeihin Jokainen ulostulo-osa, jota kutsutaan efferent-haaraksi DFD: n jäljelle jääneet osat, joita kutsutaan keskusmuunnoksiksi.54 54 Muunnosanalyysi Johdetaan rakennekaavio piirtäen yksi funktionaalinen komponentti keskusmuunnokselle, kukin afferentti haara, jokainen efferent-haara.55 55 Transform Analyysi Korkeimman tason tulo - ja lähtömuunnoksien tunnistaminen edellyttää kokemusta ja taitoa Jotkut ohjeet Trace the inp kunnes tulokseksi ei löydy kuplaa, jonka tulosta ei voida päätellä pelkästään panoksista. Prosessit, jotka vahvistavat syötteen, eivät ole keskeisiä muunnoksia. Prosessit, jotka lajittelevat syötteen tai suodatustiedot siitä ovat.56 56 Muunnosanalyysi Rakennekaavion ensimmäinen taso Piirrä laatikko jokaiselle syötteelle ja Lähtöyksiköt Keskusmuunnoksen laatikko Seuraavaksi tarkennetaan rakennekaaviota Lisää jokaisen korkean tason moduulin edellyttämät alikäytöt Lisätään useita moduulitasoja.57 57 Tehtaus Funktionaalisten komponenttien hajoaminen alikomponentteihin Tehtaalla lisätään lukeminen ja kirjoittaminen moduulit, virheenkäsittelymoduulit, alustus - ja irrotusmoduulit jne. Lopuksi tarkista, onko kaikki kuplat liitetty moduuleihin.58 58 Esimerkki 1 RMS-laskenta-ohjelmisto Compute - RMS 0 Käyttäjätietojen tulokset Kontekstikuva 59 Esimerkki 1 RMS-laskentaohjelmisto Ongelman kuvauksen alueellisesta analyysistä on helppo ymmärtää, että järjestelmän on hyväksyttävä käyttäjän syöttötunnukset, validoitava numerot, laske syöttönumerojen juuren keskikulma ja näytä tulos.60 60 Esimerkki 1 RMS Ohjelmiston laskeminen Data - kohteiden tulos Luku - numerot 0 1 Validointinumero 0 2 Laskenta 0 3 Näyttö 0 4 RMS-numeroa Voimassa - numero-virhe.61 61 Esimerkki 1 RMS-ohjelmiston laskenta Tarkkailemalla tasoa 1 DFD Tunnista luku - ja validoi numero-kuplat afferent-haaraksi Näyttää efferent-haarana.62 62 Esimerkki 1 RMS Ohjelmiston laskenta Juuret-good-data Compute - ratkaisu Näyttöratkaisu Get-data Validate data Valid-numerot rms.63 63 Esimerkki 2 Tic-Tac-Toe - tietokonepeli Heti, kun jompikumpi ihmisen pelaaja tai tietokone voittaa, voittaja on näytettävä viesti, onnistuu saamaan peräkkäin kolme peräkkäistä merkkiä pitkin suoraa linjaa, ja kaikki kortin neliöt täyttyvät, sitten peli on piirretty Tietokone aina yrittää voittaa pelin.64 64 Kontekstikaavio esimerkille 2 Human Player Tic-tac - toe ohjelmisto 0 näyttö liikkua.65 65 L evel 1 DFD-kortti Näyttökortti Tarkista - voittaja Vahvista - siirrä Siirrä siirrä tulos-peli.66 66 Rakennekaavion juuret Hyödynnä-hyvä-liikkuaKompute-peliDisplay Get-move Validate - move play-move Check-winner.67 67 Transaction Analysis Hyödyllisiä transaktiokäsittelyohjelmien suunnitteluun Transformoidut järjestelmät Järjestelmä, joka on karakterisoitu samanlaisilla prosessointivaiheilla kullekin tietopisteelle, jota käsittelevät syöttö-, prosessointi - ja tuotoskuplat Tapahtumakäyttöiset järjestelmät Yksi monista mahdollisista poluista DFD: n läpi kulkee riippuen syöttöarvon arvosta.68 68 Transaction Analysis - transaktio Tapahtumaa käynnistettävän tulodatan arvo Esimerkiksi valitut valikkovaihtoehdot saattavat aiheuttaa erilaisia ​​toimintoja Tunnisteen tunnisteen edustamana Tapahtuma-analyysi käyttää tätä tunnistetta jakamaan järjestelmä useisiin liiketoimintomoduuleihin Yksi liiketoimintokeskus-moduuli.69 69 Transaction-analyysi Transaction-keskus trans 1 trans 2 trans 3 tyyppi 1tyyppi 2type 3.70 70 Taso 1 DFD for TAS Hyväksy - tilaus Prosessin järjestys Hand liitehakupyyntö Kahta-kysely vireillä-tilaus Myynti-tilastotietoryhmä Myyjän lista Asiakastiedosto Asiakirjatiedosto Asiakkaan historia Sisennyspyyntö Sisennykset Hyväksytyt tilaukset kyselyn tilaustilastoja.71 71 Rakenteenkuvake JuoksupyyntöHandle-indentHandle-query Get-order Hyväksy-orderProcess - order order query indent.72 72 Yhteenveto Keskustelimme ensin suuremman ongelman jäsennellystä analyysista. Me määritimme joitakin yleisiä ohjeita tyydyttävän DFD-mallin rakentamiseksi. DFD-mallissa on yksinkertaisia ​​ja hyödyllisiä useita lyhyitä tuloksia. keskustelu strukturoidusta suunnittelusta.73 73 Yhteenveto Rakenteellisen suunnittelun tavoite Muodosta DFD-esitys rakennekaavioksi Rakenteellinen kaavio edustaa moduulirakennetta Eri moduulien välinen vuorovaikutus, Prosessuaaliset näkökohdat eivät ole edustettu.74 74 Yhteenveto Rakenteellinen suunnittelu tarjoaa kaksi strategiaa DFD: n muuntamiseksi rakenteeksi kaavio Transform Analysis Transaction Analysis.75 75 Yhteenveto Keskustelimme kolmesta esimerkistä rakenteellisesta suunnittelusta paljon käytäntöä tulla hyvä ohjelmistosuunnittelija Ole hyvä ja yritä ratkaista kaikki ongelmat, jotka on lueteltu tehtäväluettelossasi, paitsi ne, joiden odotetaan lähettämäsi. Toiminnan suuntautunut ohjelmistosuunnittelu jatkuu Luento 6 Dr R Mall. Esitys teemasta Toiminto - Suuntautunut ohjelmistosuunnittelu jatkuu Luento 6 Dr R Mall Esittelysisältö.1 Toiminnallinen ohjelmistosuunnittelu jatkuu Luento 6 Dr R Mall.2 Tämän luennoituksen organisointi zTarjoittelujakson lyhyt esittely zA laajempi esimerkki rakenteellisesta analyysista zStructured Design yA Tämän luennon tärkein tavoite on että sinun pitäisi pystyä kehittämään jäsenneltyä mallia mistä tahansa DFD-mallista zExamples zSummary.3 Viimeisen luennon tarkastelu zLast luento aloitimme keskustelun Structured Analysis Structured Design SA SD - tekniikasta luodaan piirteitä joistakin tärkeistä suunnittelumenetelmistä zSA SD koostuu kahdesta tärkeästä osasta ystructured-analyysi rakenteellinen analyysi yperform functiona l hajoaminen on esitetty datavirtakaavioiden avulla DFD: t zDFD: t ovat hierarkkinen malli y Tarkastelimme, miksi hierarkkinen malli on helppo ymmärtää ynumeron 7 kutsutaan maagisyydeksi.5 Viimeisen luennon tarkastelu zRakenteisen analyysin yFunktionaalinen hajoaminen tapahtuu yin-lisäys, datan hajoaminen tapahtuu zParametrisin tason ycontext-kaavio, jota on käsitelty yksityiskohtaisemmilla tasoillaZWe keskusteli kahdesta pienestä esimerkistä yRMS-laskentajärjestelmästä ytic-tac-toe - tietokonepeliohjelmisto.6 Viimeisimmän luennon tarkastelu zVientä CASE-työkaluja on saatavana suunnittelutoiminnassa ja ylläpitää datan sanakirjaa, ycheck onko DFD: t tasapainossa, jne. zDFD-malli on vaikea toteuttaa käyttämällä ohjelmointikielen yneeds-järjestelmiä, jotka on muunnettava strukturoituun muotoiluun.7 Esimerkki 3 Trading-House Automation System TAS zA: n suuri kauppapaikka haluaa meidän kehittävän ohjelmiston, jolla automatisoidaan sen Liiketoiminnassa on monia säännöllisiä asiakkaita, jotka tarjoavat erilaisia ​​tilauksia Esimerkki 3 Kaupankäynti-taloautomaatiojärjestelmä TAS zYritys-talo ylläpitää säännöllisten asiakkaidensa nimet ja osoitteet. Jokaiselle asiakkaalle on määritetty yksilöllinen asiakastunnusnumero CIN zAs nykyistä käytäntöä kohden, kun asiakas tilaa tilauksen, asiakkaan arvokkuus.9 Esimerkki kaupankäynti-automaatioratkaisusta TAS z Asiakkaan luottokelpoisuus määräytyy analysoimalla maksujensa historian aikaisemmin hänelle lähetetyille laskulle Jos asiakas ei ole luottokelpoinen, hänen tilauksia ei käsitellä mikäli asiakas on luottokelpoinen, hän on tilannut sen, että hänet on tilattu. Tarkistetaan sitä yritystoimintaa käsittelevää luetteloa kohden. talo ei käsittele sitä, että sitä ei käsitelty, jotta asiakkaalle voitaisiin luoda lisäviennin asianmukainen viesti Kaupankäynti-talon automaatiojärjestelmä TAS zTietovaraukset asiakkaan tilauksessa, jossa kaupankäynnin kohteena oleva kauppa käsittelee y: ää, tarkistetaan saatavuudesta inventaariossaanJos kohteet ovat saatavilla inventaarissa halutulla tavalla ya laskutus asiakkaan edelleenlähetysosoitetta painetaan ya materiaaliasiakirjasta on tulostettu.12 Esimerkki kaupankäynti-automaatioratkaisusta TAS zVoittaja voi tuottaa materiaalikyselyn myymälän talon toimitushetkellä yinventory-tiedot, jotka on sopeutettu myyntiin asiakkaalle.13 Esimerkki kaupankäynti-automaatiojärjestelmästä TAS zJos tilattu tuote ei ole käytettävissä luettelossa riittävän suuressa määrin, jotta se voi täyttää odottamattomat tilaukset tallentaa yksityiskohtia vireillä olevaan tilaustiedostoon xout-of-stock - esineiden sekä määrällä tilatun asiakkaan tunnistenumeron.14 Esimerkki Trading-House Automation System TAS zToimitusosasto julkaisee säännöllisesti komentoja, joilla luodaan sisennykset zHaken luodin sisennysten komento annetaan. odottamaton tilaus - tiedosto ydetermiini tilaukset, jotka ovat odottavia yksittäisten kohteiden vaadittavaa kokonaismäärää.15 Esimerkki kaupankäynti-automaatiorajärjestelmästä TAS zTAS: n on selvitettävä toimittajat, jotka toimittavat vaaditut kohteet yexamine tiedoston, joka sisältää toimittajan tiedot osoitteensa, esineitä, jotka ne toimittavat yms. tulostaa viipymättä näille myyjille.16 Esimerkki kaupankäynnin automatisointijärjestelmästä TAS zTAS: n pitäisi vastata myös johdon kysymyksiin yhtenäisyyteen eri tavaroista, jotka myydään tietyn ajanjakson aikana ja vastaavan myydyn määrän ja toteutuneen hinnan perusteella.17 Context Diagram Trading House - Automaatio - Järjestelmä 0 Manager CustomerPurchase - Osasto kyselytilastot tilausvaste Generate - luetelmakohdan luetelmakohta.18 Taso 1 DFD Hyväksy - tilaus 0 1 Prosessin järjestys 0 2 Handle-indent-request 0 4 Handle-query 0 3 odottamaton tilaus Myynti-tilastot inventory Toimittajan lista Asiakastiedosto Elementti-tiedosto Asiakashistoria Sisennyspyyntö Indents Hyväksytyt-tilaukset kyselyn tilastotilaus Materiaali-issue-slip bill.19 Esimerkki tiedot Sanakirja zresponse bill materiaali-issue-slip, reject-message zquery period kysely managerilta myyntitilastoista zperiod päivämäärä päivämäärä, kuukausi, vuosi, päivä zdate vuosi kuukausi päivä zyear kokonaisluku zmonth kokonaisluku zday kokonaisluku zorder asiakas-id zaccepted-tilaus tilaus tuotteet saatavilla in inventory zreject-message tilausviestin hylkäämisviesti zpending-tilaukset asiakas-id zcustomer-osoitteen nimi house katu kaupunki pin.20 Esimerkki Data Dictionary zitem-nimi merkkijono zhouse merkkijono zstreet merkkijono zcity merkkijono zpin kokonaisluku zcustomer-id kokonaisluku zbill kokonaismäärä asiakas - osoite zmaterial-issue-slip viestikohde määrä asiakas-osoite zmessage merkkijono zstatistics zsales-tilastot zquantity integer.21 Havainnointi zVietoja esim. DFD: t auttavat luomaan xdata-mallin xfunction - mallia.22 Tarkkailu zAs DFD: tä tarkennetaan suurempaan yksityiskohtiin ythe analyytikko suorittaa epäsuoran funktionaalisen hajoamisen samaan aikaan, tietojen tarkentaminen tapahtuu.23 Suunnittelua koskevat ohjeet g DFD: t zContext-kaaviot edustavat järjestelmää yhtenä kuplaa yYksi aloittelijasta tulee erehtyä piirtää useampi kuin yksi kupla kontekstikuvassa.24 Suuntaviivat DFD: iden rakentamiseksi zMuut ulkoiset yksiköt olisi edustettava kontekstikaaviona yexternal-yksiköt eivät tule näkyviin mihinkään toinen taso DFD zOnly 3-7 kuplia kaaviossa pitäisi olla sallittua, että kupla olisi hajotettava 3-7 kupliin.25 Suuntaviivat DFD: iden rakentamiseksi zA yleinen virhe, jonka monet aloittelijat ovat syyllistyneet edustamaan ohjausinformaatiota DFD: ssä edustavat järjestystä, jossa eri tehtävät toteutetaan.26 DFD: ien konstruointiohjeet zA DFD ei edusta ohjausinformaatiota, missä tai missä järjestyksessä eri toimintamenetelmiä kutsutaan, ja ehtoja, joilla eri toimintoja kutsutaan, ei ole edustettuna. Esimerkiksi funktio voi vedota yksi funktio tai toinen riippuen joistakin ehdoista yYksi aloittelijoille yrittää represe nt tätä osaa vetämällä nuoli vastaavien kuplien väliin.27 Esimerkki-1 zTarkista syöttöarvo yIt syöttöarvo on pienempi kuin -1000 tai suurempi kuin 1000 luo virheilmoituksen yotherwise etsiä numero Chec k numb er gener ate Error Searc h-numeroa löydetty, ei löytynyt.28 DFD: iden rakentamista koskevat ohjeet z Jos kupla A kutsuu joko kuplaa B tai kupla C riippuen tietyistä olosuhteista, on olemassa tieto, joka kulkee kuplasta A kuplan B ja kuplien A välillä C: johon prosessi on vedottu.29 Esimerkki-2 zA - toiminto hyväksyy etsimäsi kirjan nimen, jos kirjoittimen nimi ei ole pätevä kirjaimen nimi, tuottaa virheilmoituksen z Jos kirjan nimi on kelvollinen, ysearches kirjaimen nimi tietokannassa Get-book-name Print-err - message Hakukirja Error-message Kirja-nimi Good-book-name Kirja-details.30 Ohjeet DFD: n konstruointiin zJärjestelmän kaikki toiminnot on kirjattava DFD-mallin yno-funktioon määritetty SRS-asiakirjassa pitäisi jättää huomioimatta. Jos SRS-asiakirjassa määritellyt toiminnot on esitettävä, ei ole syytä ottaa käyttöön lisätoimintoa järjestelmästä, jota SRS-asiakirja ei ole määritellyt.31 Yleisesti tehdyt virheet zUnbalanced DFDs zVaihdata mainita datavirtojen nimet. tai data zExternal-yksiköt, jotka esiintyvät korkeamman tason DFD: ssä zTrying edustamaan ohjausnäkökohtia zContext-kaavio, jossa on useampi kuin yksi kupla zA-kupla hajonnut liikaa kuplia seuraavaan tasoon zTerminating hajoaminen liian aikaisin zNouns käytetään kuplien nimeämisessä.32 DFD Model zDFD - mallien puutteet kärsivät useista puutteista zDFD: t jättävät runsaasti mahdollisuuksia olla epätarkkoja yDFD-mallissa päätämme kuparin suorittamasta toiminnosta sen etiketin yA-merkinnän ei ehkä kerää kaikkia kuplan toimintoja.33 DFD-mallin puutteet Esimerkiksi zFor, kupla nimeltään find - book-position on vain intuitiivinen merkitys ydoes ei määritä useita asioita xwhat tapahtuu wh fi jotkin syöttötiedot puuttuvat tai ovat virheellisiä xDoes ei välitä mitään siitä, mitä tapahtuu, kun kirjaa ei löydy xor mitä tapahtuu, jos eri tekijöiden kirjoja on samaa kirjan otsikkoa.34 DFD-mallin puutteita zControl-tietoja ei ole edustettuna yFor-esimerkissä , tilaus, jossa syötteet kulutetaan ja tuotokset tuotetaan, ei määritetä. Hyväksy tilaus Käsittelyprosessi Asiakastiedosto Kohta-tiedosto Asiakashistoria Hyväksytyt tilaukset tilausvarasto.35 DFD-mallin puutteet zA DFD ei täsmennä synkronointiin liittyviä näkökohtia yFor esimerkiksi , DFD TAS - esimerkissä ei määritä xwhether prosessinjärjestys voi odottaa, kunnes hyväksyntäjärjestys tuottaa tietoja x, jos hyväksyntäjärjestys ja kädensijajärjestys voivat edetä samanaikaisesti jonkin puskurointimekanismin välillä.36 TAS Taso 1 DFD Hyväksy - tilaus Käsiteltävä pyyntö Käsky - kysely vireillä tilaus Myynti-tilastotietoryhmä Myyjäluettelo Asiakastiedosto Kohta-tiedosto Asiakashistoria Sisennyspyyntö Sisennykset Hyväksytty - tilaa kyselyn tilastotilauksia.37 DFD-mallin puutteetMuotoinen hajoaminen suoritetaan DFD: n peräkkäisille tasoille subjektiivinenSuurin lopullinen taso, johon hajoaminen suoritetaan, on subjektiivinen ydin riippuvainen analyytikoiden valintaan ja arvostelukykyyn sama ongelma, useat vaihtoehtoiset DFD-esitykset ovat mahdollisia eri aikoina, eikä ole mahdollista sanoa, mikä DFD-esitys on parempi tai edullinen.38 DFD-mallin zDFD-tekniikan puutteet eivät anna yany selvää ohjausta siitä, miten tarkalleen pitäisi mennä hajoamisen funktio yone joutuu käyttämään subjektiivista arviointia hajoamisen suorittamiseksi zStruktuuritutkimuksen tekniikat eivät täsmennä, milloin hajoamisprosessin lopettaminen on, mihin pituuteen hajoaminen on suoritettava.39 DFD-tekniikan laajentaminen reaaliaikaisiin järjestelmiin zFor reaaliaikaiset järjestelmät, joilla on aikaa rajoittuu niiden toimista, jotka ovat välttämättömiä mallin ohjausvirtauksille ja tapahtumille yWidely hyväksytty tekniikka Ward ja Mellor-tekniikka xa prosessikuplien tyyppi, joka käsittelee vain ohjausvirtoja xTämä prosessit on esitetty käyttäen katkoviivoja.40 Structured Design zToimintasuunnitelma pyrkii transformoimaan strukturoidun analyysin tulokset eli DFD: n esitys rakennekaavioksi zA-rakennekaavio edustaa ohjelmistokehystä y-moduulit, jotka muodostavat järjestelmän, y moduuli-riippuvuus eli mikä moduuli soittaa, mitkä muut moduulit, yparametrit kulkevat eri moduuleiden välillä.41 Rakenteiden kaavio zStruktuurin kaavion esitys, joka on helposti toteutettavissa ohjelmointikielillä zMaintakohdan tarkennus ydefine ohjelmiston moduulirakenne, erilaisten moduulien kesken ei ole esitetty edistyksellisiä ominaisuuksia, esim. kuinka erityinen toiminnallisuus on saavutettu.42 Rakennekaavion perusrakenteet zKulmaisen laatikon yA suorakaiteen muotoinen ruutu edustaa moduulia, jolla on sen moduulin nimi, jota se edustaa. Prosessin järjestys.43 Nuolet zAn nuoli kahden moduulin välillä es tarkoittaa, että ydureitojen suorituksen ohjaus siirretään yhdestä moduulista toiseen nuolen suuntaan ProsessijärjestysHandle-indent root Handle-query.44 Datavirta Arrows zData - virtausnuolet edustavat ydataa, joka kulkee moduulista toiseen nuolen suuntaan Prosessijärjestys-juuriharjoitukset.45 Kirjaston moduulit zLiirimoduulit edustavat usein kutsuttuja moduuleja ya suorakulmio, jossa on kaksoisreunaiset reunat yVahvistaa piirtämisen, kun moduulia kutsutaan useilla moduuleilla Quick-sort.46 Valinta z Timanttisymboli edustaa useita moduuleja, jotka on kytketty timanttiin 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.

No comments:

Post a Comment