ecosmak.ru

Tarkvarapaketi kasutamise struktuurskeem. Programmi plokkskeem

Kontseptsioonis programmi struktuurid (programm struktuur) sisaldab kõigi programmi iseseisvaid funktsioone realiseerivate moodulite linkide koostist ja kirjeldust ning sisend- ja väljundandmekandjate ning üksikute alamprogrammide vahelise vahetusega seotud andmete kirjeldust.

Suurte ja keeruliste programmide väljatöötamiseks peab programmeerija valdama spetsiaalseid tehnikaid ratsionaalse programmistruktuuri saamiseks, mis võimaldab programmeerimise mahtu peaaegu kaks korda vähendada ja programmeerimist mitmekordselt.

Programmimoodulite alluvus kajastub hierarhiaskeemis. Viimane aga ei kajasta nende kutsumise järjekorda ega programmi toimimist. Hierarhia diagramm võib välja näha nagu joonisel fig. 5. Tavaliselt lisandub sellele moodulite poolt täidetavate funktsioonide dekodeerimine.

Enne hierarhia diagrammi koostamist on soovitav koostada programmi välised spetsifikatsioonid ja koostada programmi funktsionaalsed kirjeldused koos andmekandja muutujate kirjeldusega. Erilist tähelepanu tuleks pöörata struktureeritud andmetüüpide hierarhiale ja nende kommenteerimisele.

Programmi jagamine alamprogrammideks toimub põhimõttel üldisest konkreetsele, detailsemale. Funktsioonikirjelduse kirjutamise ja hierarhia diagrammi koostamise protsess on iteratiivne ja valikuline parim variant on mitmekriteeriumiline. Tükeldamine peaks andma osade kasutuselevõtuks mugava järjekorra.

Hierarhia diagrammile võib anda mis tahes topoloogilise mustri. Vertikaalsete kõnedega fragmendid saab teisendada sama taseme kõnedeks lisamooduli sisseviimisega, mis ei pruugi täita programmi algoritmi seisukohalt kasulikke funktsioone. Uue mooduli funktsioon saab olla ainult monitooring ehk teiste moodulite teatud järjekorras kutsumine.

Horisontaalsete kõnedega fragmendidÜhel tasemel saab teisendada vertikaalseteks väljakutseteks erineva tasemega moodulitele, lisades lisamuutujaid, mida ei olnud võimalik saada funktsioonikirjelduse alamfunktsioonideks lammutamisel. Need lisamuutujad on tavaliselt täisarvud või tõeväärtused ja neid nimetatakse lippudeks, semaforideks, sündmusevõtmeteks. Nende tähendust iseloomustab tavaliselt fraas: olenevalt järgmisest tegevuste ajaloost tehke selliseid ja selliseid toiminguid.

Kujundusprotsessi käigus peate tegema mitu disaini iteratsiooni, genereerides iga kord uue hierarhiaskeemi, ja võrdlema neid hierarhiaid vastavalt etteantud kriteeriumidele, et valida parim valik.

Võti - muutuja väärtus, mida kasutatakse teatud teabele või rutiinile juurdepääsu volituse kinnitamiseks.

Lipp- muutuja, mille väärtus näitab, et mõni riist- või tarkvarakomponent on teatud olekus või selle jaoks on teatud tingimus täidetud. Lippu kasutatakse tingimusliku hargnemise ja muude otsustusprotsesside rakendamiseks.

Semafor - andmetüüp eriotstarbeline, mis on vahend kriitilisele ressursile juurdepääsu kontrollimiseks järjestikuste protsesside koostöö kaudu.

Semaforiga saab teha ainult kaks toimingut (loomist ja tühistamist arvestamata): ooteoperatsioon(klassid) ja alarmi töö(vabanemine). Semafor aktsepteerib täisarvu, mis ei saa olla negatiivne. Ooteoperatsioon vähendab semafoori väärtust ühe võrra, kui seda saab teha ilma negatiivset väärtust saamata, mis näitab, et kasutatakse vaba ressurssi. Signaalioperatsioon suurendab semafori väärtust ühe võrra, et ressurss vabastada.

Kriitiline ressurss Ressurss, mida ei kasuta korraga rohkem kui üks protsess. Kui kriitilisele ressursile juurdepääsu koordineerimiseks on vaja mitut asünkroonset protsessi, kasutatakse semafori kaudu kontrollitud juurdepääsu.

Selle meetodi puhul nimetatakse keeruka süsteemi jagamist mitmeks alamsüsteemiks " jaga ja valitse» (divide et impera), hierarhiline või funktsionaalne lagunemine jne. Sel juhul on põhiprintsiibid järgmised:

a) "jaga ja valluta";

b) Ülevalt alla projekteerimine - probleemi üldisest sõnastusest kuni üksikute alamülesanneteni jne;

c) hierarhilise järjestuse põhimõte, mis hõlmab süsteemi koostisosade organiseerimist hierarhilisteks puustruktuurideks koos uute detailide lisamisega igal tasandil.

Kompleksne projekteerimisprotsess tarkvara alustada selle struktuuri, st definitsioonide täpsustamisega konstruktsioonikomponendid ja nendevahelised seosed. Struktuuri täiustamise tulemust saab esitada struktuursete ja/või funktsionaalsete diagrammide ning komponentide kirjelduste (spetsifikatsioonide) kujul.

Arendatud tarkvara plokkskeem

Struktuurne kutsuge skeemi, mis kajastab arendatava tarkvara osade haldamise koostist ja interaktsiooni. Tavaliselt töötatakse sellised skeemid välja iga suure paketi programmi jaoks ja programmide loend määratakse lähteülesandes määratud funktsioonide analüüsimise teel.

Lihtsaim tarkvara on programm, mis saab struktuurikomponentidena sisaldada ainult alamprogramme ja ressursiteeke. Programmi plokkskeemi väljatöötamine toimub tavaliselt samm-sammulise detailistamise meetodil.

Tarkvarasüsteemi või -kompleksi struktuurikomponentideks võivad olla programmid, alamsüsteemid, andmebaasid, ressursiteegid jne.

Seega näitab tarkvarapaketi skeem juhtimise ülekandmist dispetšerprogrammilt vastavale programmile, nagu on näidatud joonisel fig. 4.1. Kompleksi programmid on reeglina lõdvalt ühendatud. Seetõttu kasutatakse nende ühise töö korraldamiseks dispetšerit.

Riis. 4.1. Tarkvarapaketi plokkskeemi näide.

Struktuurne skeem tarkvarasüsteem, näitab reeglina alamsüsteemide või muude struktuurikomponentide olemasolu. Erinevalt kompleksist vahetavad tarkvarasüsteemi üksikud osad (allsüsteemid) intensiivselt andmeid omavahel ja võimalusel ka põhiprogrammiga. Tarkvarasüsteemi plokkskeem seda reeglina ei näita, nagu on näha jooniselt fig. 4.2.


Tavaliselt on see juhtimisalamprogrammide vahelise interaktsiooni mitmetasandiline hierarhiline skeem. Peal esialgne etapp diagrammil kuvatakse kaks hierarhia taset, st näitab üldine struktuur programmid. Kuid sama meetod võimaldab saada plokkskeeme suur summa tasemed.


Astmemeetod rakendab ülalt-alla lähenemist ja põhineb struktureeritud programmeerimise põhistruktuuridel. See hõlmab algoritmi samm-sammult arendamist, nagu on näidatud joonisel 4.3. Iga samm hõlmab sel juhul funktsiooni jaotamist alamfunktsioonideks. Nii et esimeses etapis kirjeldatakse ülesande lahendust, tuues välja tavalised alamülesanded. Järgmisel kirjeldatakse sarnaselt alamülesandeid, sõnastades järgmise taseme elemendid. Seega viimistletakse igal etapil kavandatud tarkvara funktsioone. Protsess jätkub, kuni nad jõuavad alamülesanneteni, algoritmideni, mille lahendused on ilmsed.

Sel juhul on vaja ennekõike täpsustada juhtimisprotsesse, jättes toimingute täpsustamise andmetega lõppu. See on tingitud asjaolust, et juhtimisprotsesside prioriteetne täpsustamine lihtsustab oluliselt hierarhia kõigi tasandite komponentide struktuuri ja võimaldab mitte eraldada otsustusprotsessi selle rakendamisest. Olles kindlaks teinud mõne alternatiivi valimise tingimuse, kutsutakse kohe välja seda rakendav moodul.

Funktsionaalne diagramm või andmeskeem (GOST 19. 701-90) - tarkvarakomponentide koostoime diagramm koos teabevoogude kirjeldusega, andmete koostis voogudes ning kasutatud failide ja seadmete tähis. Nende skeemide kujutamiseks kasutatakse standardiga kehtestatud eritähistusi.

Funktsionaalsed diagrammid on informatiivsemad kui struktuursed. Joonisel fig. 4.4 võrdluseks on tarkvarasüsteemide ja süsteemide funktsionaalsed diagrammid.



b)

Riis. 4.4. Funktsionaalsete diagrammide näited: a - programmide komplekt, b - tarkvarasüsteem.

Kõik struktuursete ja funktsionaalsete diagrammide komponendid peavad olema kirjeldatud. Struktureeritud lähenemise korral tuleb programmidevahelise liidese spetsifikatsioonid eriti hoolikalt läbi töötada, kuna neist sõltuvad kõige kulukamad vead.

Konstruktsioonide projekteerimisel kasutatakse kolme peamist tüüpi mudeleid (skeeme):

1) SADT (Structured Analysis and Design Technique – meetod). struktuurianalüüs ja disain) – mudelid ja vastavad funktsionaalskeemid;

2) DFD (Data Flow Diagrams) - andmevoo diagrammid;

3) ERD (Entity-Relationship Diagrams) - "olemi-suhete" diagrammid.

Funktsionaalne SADT mudel kuvab objekti funktsionaalse struktuuri, st. toimingud, mida see teeb, ja seosed nende toimingute vahel.

Mudeli põhikomponent on diagramm . Sellel on kõik funktsioonid ja liidesed esitatud vastavalt plokkide ja kaare kujul. Kaare ühenduspunkt plokiga määrab liidese tüübi. Juhtteave plokki kaasatud eespool. sisend kuvatakse töödeldavat teavet vasakule ploki pool ja tulemus(väljumine) - koos õige. mehhanism(isik või automatiseeritud süsteem), mis toimingu sooritab, on kujutatud plokki kaasatud kaarega altpoolt(joonis 4.5).

SADT mudeli konstrueerimine algab kogu süsteemi esitlemisest kõige lihtsama komponendi kujul - üks plokk ja kaared, mis kujutavad liidest süsteemiväliste funktsioonidega. Seejärel kirjeldatakse seda plokki üksikasjalikult teisel diagrammil, kasutades mitut liidese kaarega ühendatud plokki. Uued plokid määratlevad algse funktsiooni peamised alamfunktsioonid, mida saab omakorda alla puurida jne. (vt joonis 4.6).


Riis. 4.6

Andmevoo diagrammid(DFD) on peamised vahendid projekteeritava süsteemi funktsionaalsete nõuete modelleerimiseks. Nende abiga esitatakse need nõuded andmevoogudega ühendatud funktsionaalsete komponentide (protsesside) hierarhiatena. Selle esituse peamine eesmärk on näidata, kuidas iga protsess muudab oma sisendid väljunditeks, ja paljastada nende protsessidevahelised seosed.

Andmevoo diagrammi põhikomponendid on järgmised:

a) välised üksused;

b) süsteemid ja alamsüsteemid;

c) protsessid;

d) andmesalvestusseadmed;

e) andmevoog.

väline üksus esindab materiaalset objekti või isikut, kes on teabe allikas või vastuvõtja. See on kujutatud kolmemõõtmelise ristkülikuna, millel on kiri, nagu on näidatud joonisel 4.7.

Alamsüsteem(vt joonis 4.8) või protsessi(joonis 4.9) on kujutatud ümarate servadega ristkülikuna. See sisaldab kolme välja:

a) numbrid;

c) Füüsiline teostus.

Alamsüsteem ja protsess erinevad nime poolest. Esimene sisaldab alamsüsteemi nime ja teine ​​​​verbi, mis määrab, mida protsess teeb.

Riis. 4.8. STI - Riiklik Maksuinspektsioon

Andmekogu on abstraktne seade teabe salvestamiseks. See on kujutatud nii, nagu on näidatud joonisel fig. 4.10. Selle tähistus algab D-tähega.

Andmevoog diagrammil on kujutatud joonega, mis lõpeb noolega, mis näitab voolu suunda. Igal andmevool on nimi, mis kajastab selle sisu.

Andmevoo diagrammi näide on näidatud joonisel fig. 4.11.

Keerulisem andmevoo diagramm on näidatud joonisel fig. 4.12.

ER diagramme käsitletakse hiljem.

Kursuse projektis on lisaks funktsionaaldiagrammile vaja esitada algoritmid kõige keerulisemate funktsioonide jaoks (näiteks sorteerimine ja otsimine).

Pärast tarkvara tehniliste nõuete läbimõtlemist saab võimalikuks selle struktuuri viimistlemine, s.o. konstruktsioonikomponentide määratlemine ja nendevahelised seosed. Struktuuri väljatöötamise tulemusena saadakse funktsionaalne diagramm ja komponentide kirjeldus.

Tarkvarastruktuuri arendamine

Tarkvara struktuuri saab esitada plokkskeemina koos komponentide kirjeldusega.

Plokkskeem kajastab arendatava tarkvara osade haldamise koostist ja interaktsiooni.

Süsteem koosneb kolmest omavahel ühendatud tarkvaramoodulist:

isikliku konto moodul;

Graafiku kuvamise moodul on loodud kasutajalt teabe saamiseks soovitud ajakava kohta ja selle kuvamiseks või printimiseks.

Projekteeritud tarkvara täielik plokkskeem on näidatud joonisel 2.1.

Joonis 2.1 – Tarkvara plokkskeem

Iga mooduli üksikasjalik uurimine võimaldab meil seda esitada järgmiste elementide kujul:

"Sisesta päringu parameetrid" - võimaldab teil määrata päringu andmeid.

"Ajakava lehe kuvamine" - lehe moodustamine ekraanil soovitud andmetega.

"Elektrooniliste dokumentide vormistamine" - failide moodustamine nõutud andmetega.

"Ajakava saatmine" - andmete saatmine muudatustega muudatuste tegemisel.

Funktsionaaldiagrammi väljatöötamine

Funktsionaalne diagramm või andmediagramm (GOST 19.701-90) - tarkvarakomponentide koostoime diagramm koos teabevoogude kirjeldusega, voogudes olevate andmete koostis ja kasutatud failide ja seadmete tähis. Funktsionaalsete diagrammide kujutamiseks kasutatakse standardiga kehtestatud eritähistusi.

Funktsionaalsed diagrammid on informatiivsemad kui struktuursed. Kirjeldada tuleb kõiki nii struktuursete kui ka funktsionaalsete diagrammide komponente. Struktuurse lähenemise korral on programmidevaheliste liideste spetsifikatsioonid eriti hoolikalt läbi töötatud, kuna kõige kallimate vigade arv sõltub nende kirjelduse kvaliteedist. Kõige kallimad on keerulise testimise käigus leitud vead, kuna nende kõrvaldamine võib nõuda tõsiseid muudatusi juba silutud tekstides.

Seega on see jagatud kolmeks programmimooduliks:

ajakava kuvamise moodul;

isikliku konto moodul;

Tarkvara funktsionaalne diagramm üldine vaade näidatud joonisel 2.2.

Joonis 2.2 – Tarkvara funktsionaalne skeem

Info, millega infosüsteem hakkab toimima, on korrastatud MySQL vahenditega loodud andmebaasi kujul (Joonis 16).

Joonis 16 MySQL-i abil loodud andmebaasiskeem

Arvutuste vormistamine (arvutusalgoritmid ja probleemide lahendamine)

Väljunddokumentatsiooni saamiseks teisendatakse sisendandmed kindla algoritmi järgi.

Paigaldusmaksumuse arvutamisel pinglagi on vaja täita vorm "Kulu", mis sisaldab 3 välja ja andmete sisestamist: lae laius, lae pikkus, materjali tekstuur. Pärast nende väljade täitmist küsib programm MySQL andmebaasist andmeid selle arvega materjali maksumuse kohta. Maksumus arvutatakse, korrutades laekatte pindala materjali maksumusega 1 m 2 kohta.

Vormis "Kulud" nupule "Jääb" vajutades arvutab programmimoodul lattu jääva materjali koguse. Vormis "Jääb" kahe välja täitmisel: materjali kättesaamise kuupäev, materjali tarbimise kuupäev, andmed võetakse MySQL andmebaasist koos päringuga materjali laekumise koguse kohta antud kuul ja tarbimise kogus sel kuul. Ülejäänud materjal arvutatakse konkreetse ajavahemiku materjali laekumise ja tarbimise vahe järgi.

Tarkvarapaketi kasutamise plokkskeem (dialoogipuu)

Süsteemimenüü - on rakenduslike andmetöötlussüsteemide dialoogi peamine vorm, mis sisaldab konkreetsete ülesannete täitmiseks mõeldud käske.

Arendatud rakendusel on intuitiivne menüü. Andmebaasi tabelitega töötamiseks koosneb IS "Ettevõtte juhtimine" moodulist.

Pärast andmete sisestamist on vaja anda kasutajale võimalus printida välja sertifikaadi blankett ja kliendi koopia. see toiming tuleb läbi viia veatult. Printida saab kahte tüüpi printeritega: löökprinteritega (maatriks) ja tindiprinteritega. Laserprinteritel pole printimisabi võimalik paberikvaliteedi kõrgendatud nõuete tõttu. Maatriksprinteriga spikri printimisel saab kopeerpaberit kasutades printida kaks eksemplari (spikker + koopia). Tindiprinter peab printima iga eksemplari eraldi. Seetõttu on vajalik kasutaja poolt muudetav koopiate arvu loendur või printeritüübi jaoks spetsiaalne seadistusfunktsioon.

Joonis 2 Interaktsiooni ja andmeside skeem

Programmi funktsionaalse skeemi väljatöötamine.

Programmi funktsionaalne koosseis peaks pakkuma kassapidajale maksimaalselt vajalikke võimeid ametlikud kohustused seotud andmete sisestamise, tehingute registreerimise ja aruandlusdokumentide koostamisega. Selleks koostame ligikaudse loendi funktsioonidest, mida tuleks meie süsteemis rakendada.

Süsteemi funktsioonide ligikaudne loend.

1) Vahetustehingu registreerimine

Andmete sisestamine valuuta ostmise kohta

Andmete sisestamine valuuta müügi kohta

Andmete sisestamine valuuta konverteerimise kohta

・Prindi kliendi viide

2) Vaadake dokumente

· Vaadake päeva dokumentide loendit

Vaadake arhiveeritud dokumentide loendit

3) Kataloogide hooldus

· Andmete sisestamine väärtuskoodide järgi

· Andmesisestus dokumendiliikide kaupa

Andmete sisestamine valuutakoodide järgi

Vahetuskursside sisestamine kuupäeva järgi

4) Aruandlusdokumentide genereerimine

· Sularaharublaste eest ostetud sularaha välisvaluuta registri trükkimine;

· Sularaha rubla eest müüdud sularaha välisvaluuta registri trükkimine;

· Sularaha välisvaluuta vahetamise (konverteerimise) registri trükkimine;

5) Muud funktsioonid

Andmete sisestamine sisestusväljale kataloogist

Arvu teisendamine digitaalsest väiketähtedeks (summa sõnades)

· Kursori välimuse muutmine

Andmete salvestamine arhiivifailidesse

See loend hõlmab kõiki jaotises kirjeldatud protseduure tehnoloogiline protsess OP ja täiendatud mõne funktsiooniga, mida läheb vaja andmete sisestamise ja parandamise protsessis.

Programmi plokkskeemi väljatöötamine.

Tarkvarapaketi plokkskeem määratleb üldistatult ja välimus kavandatud süsteemist ja kasutajaga suhtlemise põhimõtetest. Kavandatud süsteemi skeem on hierarhiline puustruktuur, mis kirjeldab andmete sisestamise, töötlemise ja väljastamise protseduure. Info- ja referentsklassi programmide ülesehitus selle põhimõtte järgi teeb süsteemi kui terviku muutmise üsna lihtsaks ning hõlbustab programmi põhimõtte tajumist ja mõistmist. Plokkskeemi koostamiseks on vaja määrata ülaltoodud andmetöötlusprotseduuride hierarhia ja seos. Loomulik on kehtestada protseduuride hierarhia sellisel kujul, nagu neid eelmises peatükis kirjeldati, kuna selline skeem vastab protseduuride "olulisuse" ja "kasutatavuse" skeemile. Programmi plokkskeem, võttes arvesse kõike eelnevat, on näidatud joonisel 2.

Programmi ekraaniliidese arendamine

Olemasolevad lähenemisviisid ekraaniliidese kujundamisele

Programmi ekraaniliides määrab suuresti kasutaja mugavuse ja on üks olulisi tegureid, mis mõjutab tema töö efektiivsust. Kõiki talle määratud funktsioone täitev ja suure kiirusega programm võib vastuvõetamatu kasutajaliidese tõttu olla tööks täiesti sobimatu. Vaid paar aastat tagasi oli tekstiredaktor, mis illustreeris suurepäraselt seda lähenemist tarkvara kujundamisele. On ebatõenäoline, et kellelegi meeldiks tekstiredaktor, kus märgi reale sisestamiseks tuleb sisestada ühetäheline sisestamiskäsukood, töödeldava rea ​​number (õnneks mitte binaarne), märk, mille järel lisatakse uus märk ja see märk ise. Loomulikult on selline lähenemine täiesti vastuvõetamatu.

Kõige praktilisemad ja kasutajasõbralikumad süsteemid on süsteemid, millel on hüpikmenüüsüsteemi alusel üles ehitatud ekraaniliides. Praegu on kõige levinumad kaks ideoloogiat (tähendab DOS-i rakendusi), mis hõlmavad nii teatud kujul kuvatavaid aknaid kui ka värviskeemi ja hüpikakende loendeid. Need on Borlandi tööriistakeskkonnad ja Symanteci Norton Operating Shell. Mõlemad ideoloogiad näevad ette ekraaniruumi teatud jaotuse aladeks või tsoonideks, mis on mõeldud konkreetsete infoobjektide ja tegevuste jaoks. Tsoone saab kasutaja soovil teatud määral ümber seadistada: muudetakse suurusi ja asukohta ekraanil. Andmetöötluskäsud kutsutakse välja menüüsüsteemist, püsivalt ekraanil (Borland) või funktsiooniklahviga (Symantec).

Mõlemal juhul on kõik süsteemikäsud jaotatud vastavalt nende funktsionaalsetele omadustele rühmadesse ja peamenüüs on need olemas

käsurühmade tegelikud nimed. Valides rühma, pääseb kasutaja ligi rühmakäskude loendile, mis võib sisaldada ka teise taseme rühmadesse rühmitatud käske jne.

Nii luuakse mitmetasandiline hüpikmenüüsüsteem. Sellise ideoloogia kasutamine tagab orienteerumismugavuse süsteemis, millel on üsna keeruline, mitmetasandiline ja paljude valikutega menüü. Loomulikult peaks valikunimekirjade pesastumise ja suuruse suurendamisel olema mõistlikud piirid, mis on õnneks monitori piiratud ekraanipinna näol. Enamikus süsteemides on ka võimalus kasutaja soovil värvipaletti kohandada. Nortoni operatsioonishell pakub gammavalikut mitmete standardvalikute hulgast, Borlandi süsteemides saate luua oma värvigamma kuni pisidetailideni. Ligikaudne vaade mõned ekraaniobjektid on näidatud joonistel 4,5.

Ekraani liidese ideoloogia valik

Laadimine...