Disaini tarkvara struktuuri lähenemisviisis. Programmi struktuuri- ja funktsionaalse skeemi struktuurifond

Programmi struktuuri- ja funktsionaalne skeem

Struktuurne skeem on objekti elementaarne linkide ja nende vaheliste seoste kombinatsioon, mis on üks graafilise mudeli tüüpe. Elementaarse lingi all mõistetakse osa objektist, juhtimissüsteemist jne, mis rakendab elementaarset funktsiooni. Joonisel fig. 2.1 Esitati arenenud programmi struktuuriagramm.

Joonis 2.1 - programmi struktuurifond

Funktsionaalne skeem - dokument, milles selgitatakse protsesse, mis esinevad toote (paigaldus) või produkti eraldi funktsionaalsetel ahelates esinevatel protsessidel. Funktsionaalne skeem on teatud tüüpi integreeritud funktsiooniplokkide ja seadme ahelate teatud tüüpi protsesside selgitamine. Joonis 2.2 kujutab endast välja töötatud programmi funktsionaalset skeemi.

Joonis 2.2 - Programmi funktsionaalne skeem

Menetluste, funktsioonide ja moodulite kirjeldus

Mooduli väljakuulutamine:

Iga lähtefail peab sisaldama reklaami moodulit. Sõna üksus on võti, nii et see tuleb kirjutada väiketähti. Mooduli nimi võib sisaldada märke, nii ülemises kui ka väiketähel ning see peaks olema sama, mis kasutatav nimi selle faili operatsioonisüsteemi poolt.

Standard Delphi keele moodulid. Delphi keskkonna koosseis sisaldab suurepäraseid moodulite komplekti, mille võimalused rahuldavad isegi kõige valiv programmeerija. Kõik moodulid saab jagada kahte rühma: Visuaalsete komponentide süsteemi moodulid ja moodulid.

Süsteemi moodulid sisaldavad süsteemi, süssetsit, sharememit, matemaatikat. Need sisaldavad kõige sagedamini kasutatavaid andmetüüpe, konstante, muutujaid, protseduure ja funktsioone. Süsteemi moodul on Delphi keskkonna süda; Selles sisalduvad subprogrammid tagavad kõigi teiste süsteemimoodulite toimimise. Süsteemi moodul on ühendatud automaatselt iga programmi ja see ei ole vaja täpsustada seda kasutusalades.

Visual komponentmoodulid (VCL - visuaalne komponendi raamatukogu) kasutatakse visuaalseks arendamiseks täisfunktsionaalsete GUI rakenduste - graafilise kasutajaliidese. Need moodulid agregaat on kõrgetasemelise objektori orienteeritud raamatukogu igasuguste kasutajaliidese elemente: nupud, pealdised, menüüd, paneelid jne. Lisaks sisaldavad see raamatukogu moodulid lihtsat ja tõhusat juurdepääsu andmebaasidele. Need moodulid ühendatakse automaatselt komponentide vormi asetamisel.

Menetluse kirjeldus:

See protseduur lõpeb programmi pealkirja ja lehe ja väljundi sulgemine.

protseduur TFormL.Button2Click (saatja: tofject);

See protseduur avab programmi peamenüü ja eemaldab selle pealkirja lehekülje ekraanilt.

protseduur TForm2.Button1Click (saatja: tofject);

See protseduur avab akna valiku meetod lahendada transport ülesande ja eemaldab menüü aknas ekraanilt.

See protseduur avab akna, mis sisaldab teavet arendatud programmi kohta ja eemaldab menüüakna ekraanilt.

See protseduur avab aken selle programmi abi kohta, mis võimaldab teil hõlbustada kasutaja toimimist ja eemaldab menüü akna.

See protseduur avab akna arendaja kohta ja eemaldab menüü akna.

menetlus TForm2.Button5click (saatja: tofject);

See protseduur sulgub menüü akna ja väljub programmi.

protseduur TForm3.Button1Click (saatja: tofject);

See protseduur väljub peamenüüst ja sulgeb aken transpordiülesande lahenduse valikuga:

menetlus TForm3.Button3Click (saatja: tofject);

See protseduur lõpetab akna transpordiülesannete lahendustega kolme meetodiga ja kuvab probleemi lahendusega vormi minimaalse maksumuse meetodi abil:

See menetlus sulgeb akna transpordiülesannete lahendustega kolme meetodi abil ja kuvab probleemi lahendusega vorm kahekordse eelistusega:

menetlus TForm2.Button2Click (saatja: tofject);

menetlus TForm2.Button3Click (saatja: tofject);

menetlus TForm2.Button4click (saatja: tofject);

Need protseduurid võimaldavad kasutajal minna põhimenüüst mis tahes programmi kirjele: "Lahendusvorm", "kasutusjuhend", "Teave arendaja kohta", "Välju".

protseduuri samm-sammult;

See on programmi samm-sammult arvutusprotseduur, saate jälgida iga tabeli täitmise etappi. Pärast ühe arvutuse töö katkestab protseduur arvutuse täitmise ja ootab kasutajalt toime.

toimimisviis TForm4.label2Click (saatja: tofject);

menetlus TForm4.label3click (saatja: tofject);

menetlus TForm4.label4click (saatja: tofject);

protseduur TForm4.label5click (saatja: tofject);

Need protseduurid laaditakse memo-õpiku tekstikastisse, sõltuvalt valitud menüüelemendist. Tekstokumendid on taotluse kasutamise kohta teavet.

menetlus TForm1.Button8Click (saatja: tofject);

See protseduur arvutab valemid asendajad sisestatud väärtused ja täitmise tulemusena kirjutab tulemuse muutujale.

menetlus TForm1.Button9Click (saatja: tofject);

See protseduur kuvab tekstiväljale vastuse.

menetlus TForm1.Button2Click (saatja: tofject);

See protseduur täidab sisendväljad vastavalt kursuse projekti ülesandele.

menetlus TForm3.Button4Click (saatja: tofject);

menetlus TForm4.Button1Click (saatja: tofject);

Need protseduurid suletakse aknaga ja kuvatakse vormi valiku menüüelementi.

protseduur Ochistka;

See protseduur puhastab sisend- ja väljundväljad, vabastab muutujaid nende salvestatud väärtusest.

Funktsionaalne diagramm või andmete diagramm (GOST 19. 701-90) - tarkvara komponentide interaktsiooni skeem teabevoogude kirjeldusega, andmete koostisega ojade ja kasutatud failide ja seadmete märge. Funktsionaalsete skeemide pildi puhul kasutatakse standardseid spetsiaalseid nimetusi.

Funktsionaalsed skeemid on rohkem informatiivsemad kui struktuurilised. Joonis 12. Võrdluseks antakse tarkvara komplekside ja süsteemide funktsionaalsed skeemid.

Joonis 12. Funktsionaalsete skeemide näited: A - tarkvara kompleks, B - tarkvara süsteem.

Kõiki struktuuriliste ja funktsionaalsete ahelate komponente tuleks kirjeldada. Struktuurilise lähenemisviisiga on eriti põhjalikult vajalik töötada välja programmidevaheliste liideste spetsifikatsioon, kuna kõige kallimate vigade summa sõltub nende kirjelduse kvaliteedist. Kõige kallim hulka kuuluvad vead, mis on leitud keeruliste katsetega, kuna see võib võtta juba dekugeeritud tekstide tõsiseid muudatusi.

Objektorile orienteeritud lähenemise ja UML-i visuaalse modelleerimise keele kasutamine ettevõtte või organisatsiooni tarkvarade nõuete analüüsimisel: eri liiki ehitusskeemid.

Objektile orienteeritud lähenemisviis ja UML Visual modelleerimise keel ettevõtte tarkvara (Organisatsiooni) nõuete analüüsimisel.

Unifient-orienteeritud modelleerimise ühtse modelleerimise keele ühtne keel oli vahend nende lähenemisviiside vahel kompromissi saavutamiseks. Seal on piisav kogus tööriistariistad, mis toetavad UML-i kasutavate infosüsteemide elutsüklit ja samal ajal on UML üsna paindlik erinevate arendajate meeskondade spetsiifikade konfigureerimise ja toetamise toetamiseks.

UML on objektorienteeritud modelleerimise keel, millel on järgmised põhiomadused:

· Kas visuaalse modelleerimise keel, mis annab esinduslike mudelite väljatöötamise kliendi ja uurimisperioodi arendaja, erinevate IP-arendajate rühmade interaktsiooni korraldamiseks;

· Sisaldab põhikeele mõistete laiendamise ja spetsialiseerumise mehhanisme.

· UML on standardi märge visuaalse modelleerimise tarkvarasüsteemide poolt vastu võetud objekti haldamise rühma (OMG) konsortsiumi 1997. aasta sügisel ja täna toetavad palju objektorienteeritud juhtumitooted.

· UML sisaldab sisemisi modelleerimisvahendeid (moodulid?) ("Kernel"), mis on nüüd vastu võetud paljudes meetodites ja modelleerimisvahendites. Need mõisted on vajalikud enamikul rakendatavate ülesannete puhul, kuigi iga taotluse igas osas ei ole iga kontseptsioon vajalik. Keele kasutajad on võimalus:

· Kerneli tööriistadel põhinevate mudelite ehitamine ilma laiendamismehhanisme kasutamata kõige tüüpilisemate rakenduste jaoks;

· Vajadusel lisamine uute elementide ja sümbolite lisamine, kui need ei kuulu tuuma või spetsialiseerunud komponendid, sümbolisüsteem (märge) ja konkreetsete teemavaldkondade piirangud.

Arvuti ülesannete lahendamiseks mõeldud programmide kombinatsiooni nimetatakse tarkvaraks. PC tarkvara koosseisu nimetatakse tarkvara konfiguratsiooniks. Tarkvara saab jagada kolme kategooriasse (joonis 1):

Joonis 1. Klassifikatsioon

    süsteemi tarkvara (üldine kasutamine), mis täidab erinevaid abifunktsioone, näiteks kasutatava teabe koopiate loomist, viiteandmete väljaandmist arvuti kohta, arvutiseadmete toimimise katsetamine jne.

    rakendustarkvara, mis tagab vajaliku töö PC: teksti dokumentide redigeerimine, jooniste või piltide loomine, teabe massiivide töötlemine jne.

    instrumentaalne tarkvara (programmeerimissüsteem), millega tagatakse uute tarkvaraprogrammide väljatöötamine programmeerimiskeeles.

Süsteemi tarkvara - See on programmide kogum, mis tagavad arvutisüsteemi komponentide tõhusa haldamise, näiteks protsessori, RAM, I / O-seadmete, võrguseadmete, mis on "vahekibi liidese" ühel küljel ja selle kohta Muu, kasutajarakendus. Erinevalt rakendustarkvarast ei lahenda süsteem konkreetseid rakendatavaid ülesandeid, kuid tagab ainult teiste programmide toimimise, haldab arvutisüsteemi riistvara ressursse ja nii edasi.

Need on üldprogrammid ei ole seotud arvuti konkreetse kasutamise ja traditsiooniliste funktsioonide täitmisega: ülesannete planeerimine ja juhtimine, sisendjuhtimise jne. Teisisõnu, süsteemiprogrammid täidavad erinevaid abifunktsioone, näiteks kasutatava teabe koopiate loomist, viiteandmete väljaandmist arvuti kohta, kontrollides arvutiseadmete toimivust jne. Süsteemi tarkvara sisaldab:

    operatsioonisüsteemid (see programm laaditakse arvutisse, kui arvuti on sisse lülitatud)

    programmid - kestad (pakkuda mugavamat ja visuaalset viisi arvutiga suhtlemiseks, kui DOS-käsurea kasutamine, näiteks Norton Commander)

    operatiivsed kestad - liidese süsteemid, mida kasutatakse graafiliste liideste loomiseks, multiprogrammi i.t.

    Draiverid (programmid, mis on ette nähtud välisseadmete sadamate juhtimiseks, laaditakse tavaliselt arvutisse käivitamisel RAM-ile)

    kommunaalteenused (abi- või teenuseprogrammid, mis esindavad kasutajale mitmeid lisateenuseid)

Kommunaalteenused hõlmavad järgmist:

    failihaldurid või failihaldurid

    dünaamilised andmete kokkusurumise tööriistad (võimaldavad teil suurendada selle dünaamilise kompressiooni tõttu ketta kohta teabe kogust)

    vaata ja taasesitusi

    diagnostilised tööriistad; Juhised võimaldavad teil kontrollida arvuti konfiguratsiooni ja kontrollige arvuti seadmete esitust, esiteks kõvakettad

    sidevahendid (kommunikatsiooniprogrammid) on mõeldud arvutite teabevahetuse korraldamiseks

    arvuti turvatööriistad (varukoopia, viirusetõrje tarkvara).

Utilities - programmid, mille eesmärk on lahendada kitsaste ülesannete ringi.

Mõnikord kuuluvad kommunaalteenused teenuse tarkvara klassi

Utilities kasutatakse:

    Andurite ja seadmete seirenäitajate jälgimine - protsessori temperatuuri jälgimine, videoadapter; Lugemine s.m.a.r.t. Kõvakettad;

    Seadmete juhtimisparameetrid - CD-ajami maksimaalse pöörlemiskiiruse piiramine; Muutke fännide pöörlemiskiirust.

    Indikaatorid Kontroll - viide terviklikkuse kontrollimine; Andmete salvestamise õigsus.

    Funktsioonide laiendamine - vormindamine ja / või ketta ümberarvutamine andmete salvestamisega, deletsioon ilma taastumiseta.

Kommunaaltegureid:

Disk kommunaalteenused

      Defragmentorid

      Plaadi kontrollimine - valesti salvestatud või kahjustatud erinevate failide ja kettaosade otsimine ning nende järgneva deletsioon kettaruumi tõhusaks kasutamiseks.

      Kuva puhastamine - ajutiste failide kustutamine, tarbetute failide, puhastamise "korvid" kustutamine.

      Disc Markep - Disc Jagades loogika plaate, mis võivad olla erinevad failisüsteemid ja tajuvad operatsioonisüsteemi mitu erinevat ketast.

      Varundus - varundamise koopiad kogu kettad ja individuaalsete faile, samuti nende koopiate taastumine.

      Ketta kompressioon - teabe kokkusurumine kettad kõvakettade võimsuse suurendamiseks.

      • Tegevuskommunaalteenused registriga

        Seadmete jälgimise kommunaalteenused

        Testide seadmed

Joonis 2. Asetage SPO mitmetasandilise arvuti struktuuri

Tuleb märkida, et osa kasuliku osa on osa operatsioonisüsteemist ja teine \u200b\u200bosa funktsioone iseseisvalt. Enamik kokku (süsteemi) tarkvara sisaldab OS (joonis 2). Üldise tarkvara osa on osa arvutist ise (osa operatsioonisüsteemi programmidest ja kontrolli testidest registreeritakse Süsteemilauale paigaldatud ROM-i või PPZ-ga). Osa üldise tarkvara kuulub iseseisev programmid ja on eraldi.

          Rakendatud tarkvara. Rakendusprogramme saab kasutada autonoomselt või tarkvara komplekside või pakendite osana. Rakendustarkvara otseselt pakkudes vajalikku tööd arvutis: teksti dokumentide redigeerimine, jooniste või piltide loomine, arvutustabelite loomine jne. Kaasaegsed integreeritud paketid sisaldavad kuni viie funktsionaalse komponendi: test ja tabeli protsessor, DBMS, graafiline toimetaja, telekommunikatsioon. Näiteks rakendatud tarkvarale kuuluvad:

    Office'i rakenduste komplekt MS Office

    Raamatupidamissüsteemid

    Finantsnalüütilised süsteemid

    Integreeritud kontori tööpaketid

    CAD - süsteemid (automatiseeritud disaini süsteemid)

    HTML või Web Toimetajad - toimetajad

    Brauserid - veebilehe vaatajad

    Graafiline toimetaja

    Ekspertide süsteemid.

          Instrumentaalne tarkvara. Instrumentaalse tarkvara või programmeerimissüsteem on süsteem uute programmitööprogrammide väljatöötamise automatiseerimiseks. Kõige üldisem juhtum, et luua programmi valitud programmeerimiskeele (süsteemi programmeerimiskeel), peate olema järgmised komponendid: 1. Tekstiredaktor, et luua faili lähtetekstiprogrammiga. 2. kompilaator või tõlk. Kompilaatorprogrammi abil lähteteksti tõlgitakse vahepealse objekti koodi. Suure programmi lähtetekst koosneb mitmest moodulid(Failid allika tekstidega). Iga moodul koostatakse eraldi faili objekti koodiga, mis tuleb seejärel ühendada ühte. Linkide redaktor või kollektor, mis teostab objekti moodulite seondumist ja genereerib töötava rakenduse väljund-käivitatava koodiga. Käivitatav kood on täielik programm, mida saab käivitada mis tahes arvutis, kus operatsioonisüsteem on paigaldatud, mille jaoks see programm loodi. Tavaliselt on lõplik fail laiendus. Lee või. OS.4. Hiljuti on levitatud visuaalsed programmeerimismeetodid (kasutades stsenaariumi kirjeldus keeli), mis keskenduvad Windowsi rakenduste loomisele. See protsess on automatiseeritud kiire disaini keskkondades. See kasutab valmis visuaalseid komponente, mis on konfigureeritud spetsiaalsete toimetajatega. Kõige populaarsemad toimetajad (tarkvara programmeerimissüsteemid, mis kasutavad visuaalseid vahendeid) visuaalset disaini:

    Borland Delphi - mille eesmärk on lahendada peaaegu kõik rakendatud programmeerimise ülesanded

    Borland C ++ Builder on suurepärane vahend DOS-i ja Windowsi rakenduste arendamiseks.

    Microsoft Visual Basic on populaarne vahend Windowsi programmide loomiseks

    Microsoft Visual C ++ - See tööriist võimaldab teil välja töötada mis tahes operatsioonisüsteemi operatsioonisüsteemide rakendused Microsoft Windowsis

Kontrolli küsimused:

    Anna operatsioonisüsteemi määratlus.

    Millist tarkvara nimetatakse süsteemile?

    Nimetage teenuse tarkvara.

    Millist tarkvara omistatakse rakendatakse?

    Mis on tarkvara eesmärk?

    Millised on programmide põhiklassid? Andke näiteid igas klassis programmidest.

Kontseptsioonis programmi struktuurid (programmi struktuur)kompositsioon ja kirjeldus kõigi moodulite linkide, mis rakendab sõltumatu funktsioone programmi ja meedia kirjeldus sisend- ja väljundandmete, samuti andmeid kaasatud vahetada individuaalsete alampiiride vahel.

Suurete ja keeruliste programmide väljatöötamiseks, programmeerijat tuleb konfiskeerida spetsiaalsete tehnikatega programmi ratsionaalse struktuuri saamiseks, mis annab programmitöö ja mitmekordse vähendamise peaaegu kahekordne vähendamine

Programmi moodulite alluvus kajastub hierarhia skeemis. Viimane ei kajasta siiski oma kõne või programmi toimimise järjekorda. Hierarhia skeemi võib vaadelda joonisel fig. 5. Seda täiendavad tavaliselt moodulite dekodeerimisfunktsioonidega.

Enne hierarhiakava koostamist on soovitatav kompileerida välise programmi spetsifikatsioonid ja koostada programmi funktsionaalsed kirjeldused koos andmete muutujate kirjeldusega. Erilist tähelepanu tuleks pöörata struktureeritud andmete tüüpide hierarhiatele ja kommenteerides neid.

Programmi demamisandmine alamprogrammide kohta tehakse erasektori erasektori põhimõtete kohaselt. Funktsionaalse kirjelduse koostamise ja hierarhia skeemi koostamise protsess on iteratiivne ja parim valik on mitme kriteeriumid. Laemine peaks andma mugava tellimuse tellimise järjekorra.

Hierarhia skeemi võib anda topoloogilise mustriga. Vertikaalsete väljakutsetega fragmendidvõib konverteerida ühele tasemele helistamiseks täiendava mooduli kehtestamisega, mis ei pruugi programmi algoritmi seisukohast kasutada kasulikke funktsioone. Uue mooduli funktsioon võib koosneda ainult seires, mis on teiste moodulite helistamine konkreetses järjekorras.

Horisontaalsete väljakutsetega fragmendidÜhel tasandil saab seda muundada erinevate tasandite moodulite vertikaalseteks kõvenditeks, kehtestades täiendavad muutujad, mida ei saa saada funktsionaalse kirjelduse lagunemise teel subfunktsioonis. Neil täiendavatel muutujatel on tavaliselt terve või loogiline ja nimetatakse liputeks, semafoorideks, ürituste võtmeks. Nende tähendust iseloomustab tavaliselt fraas: Sõltuvalt järgmisest tegevuste eelajaloolist täidab selliseid toiminguid.

Projekteerimisprotsessis peate tegema mitmeid projekteerimise iteratsioone, iga kord genereerides uue hierarhia skeemi ja võrrelge neid hierarhiaid vastavalt nendele kriteeriumidele parema võimaluse valimiseks.

Võti -muutuja väärtus, mida kasutati asutuse kinnitamiseks mõnele teabele või alamprogražiini.

Lipp- Muutuja, mille väärtus näitab, et mõni riistvara või tarkvara komponent on teatud olekus või selle jaoks teostatakse teatud tingimus. Lipu kasutatakse tavapäraste hargnevate ja muude otsuste tegemise protsesside rakendamiseks.

Semafore -eriotstarbeliste andmete tüüp, mis on vahend juurdepääsu kontrolli kriitilise ressursi kõrval ühiste järjestikuse protsesside poolel.

Semafori üle saate toota ainult kahte toimingut (loomine ja tühistamise loendamine): oodatav operatsioon(klassid) ja häire kasutamine(Vabastamine). Semafor võtab täisarvu tähtsuse, mis ei saa olla negatiivne. Ootusoperatsioon vähendab semafori väärtust ühe võrra, kui seda saab teha ilma negatiivse väärtuse saamata ja see tähendab, et vaba ressurssi kasutatakse. Häire toimimine suurendab semafori väärtust seadme ühiku kohta, mis tähendab ressursi vabastamist.

Kriitiline ressurss- ressurss, mida igal ajal kasutatakse mitte rohkem kui ühe protsessi. Kui on vaja mitmeid asünkroonseid protsesse koordineerivad nende juurdepääsu kriitilisele ressursile, kasutatakse Smaphori kaudu juhitavat juurdepääsu.

Kvaliteedi hindamise kriteeriumid

Programmi struktuurifond

Esimene versioon struktuurse skeemi, mis on saadud lihtsalt liikmelisuse programmi funktsioone subtsükkel, mis näitab andmete paigutamiseks vajalikud muutujad on kõige sagedamini optimaalne ja disaini iterations nõuab, et parandada diagrammi topoloogia. Neid tegevusi teostab tavaliselt "kohtuprotsessi ja vea" meetodit. Iga uut versiooni võrreldakse allpool eelnenud kriteeriumidega:

1) määratletud funktsioonide täitmise täielikkus;

2) kiire ja odava täiendamise võimalus uute, varem ei ole määratud funktsioonidega;

3) programmi komponentide disaineri häire (selgem);

4) programmi üksikute osade maksimaalne sõltumatus;

5) seonduva alampiiride võimalikkus suhte toimetaja poolt;

6) RAM adekvaatsus;

7) programmi rakendamise kiiruse hierarhiakskeemi topoloogia mõju, kui kasutate programmi dünaamilist laadimist ja lehekülje otsingumehhanismi;

8) erinevate moodulite puudumine sarnaste funktsioonidega. Sama moodulit tuleb kutsuda hierarhia skeemi erinevatel tasanditel;

9) programmide meeskonna sellise ajakava saavutamine programmi rakendamisel, mis tagab kollektiivse ühtse laadimise;

10) kulude testimise kulude kogu aeg.
Hea hierarhia skeem 2-5 korda vähendab katsekulusid võrreldes algse võimalusega;

11) Kasutamine selles projektis nii palju kui võimalik välja töötada välja eelmistes projektides moodulite ja raamatukogude minimaalse mahuga uuesti installitud osad.

Valikute tootmine peatub edasiste paranduste võimatusega. Programmi ratsionaalne struktuur annab kokku teksti kogu tekste 2-3 seetõttu kõhutab see programmi loomist ja selle katsetamist, mis moodustab tavaliselt vähemalt 60% kogukuludest. Programmi toetuse maksumus on lihtsam ja vähendamine.

Modulaarne programmeerimine

Struktuuriprogrammi põhimõtte rakendamine toimub makroutide ja kõnemehhanismide abil alamprogrammide abil. Need samad mehhanismid sobivad modulaarse programmeerimise rakendamiseks, mida võib pidada struktuurilise lähenemisviisi osaks.

On vaja eristada sõna kasutamist moodul,kui see on mõeldud suure programmi purustamisüksus eraldi plokkideks (mida saab rakendada protseduuride ja funktsioonide kujul) ja kui see tähendab programmeerimiskeelte süntaksi kujundamist (Üksus.sisse Objekti Pascal).

Modulaarne programmeerimine -see programmi korraldamine sõltumatute plokkide komplektina, mida nimetatakse mooduliteks, mille struktuur ja käitumine on teatud eeskirjade suhtes kohaldatavad.

Mõiste modulaarse programmeerimise saab valmistada mitme mõistete ja sätete kujul:

1) suured ülesanded jagunevad mitmeks väiksemateks, funktsionaalselt sõltumatuteks alampiirideks - mooduliteks, mis on omavahel ühendatud ainult sisend- ja väljundandmete abil;

2) Moodul on "must kast" ühe sisendi ja ühe väljundiga. See võimaldab teil valuuta ajakohastada programmi moderniseerimist selle toimimise protsessis, hõlbustab seda
eskort ja võimaldab teil arendada ka programmeerimisprojekti osi erinevates programmeerimiskeeltes;

3) Iga moodulis tuleks läbi viia selged ülesanded. Kui mooduli ülesanne ei ole selge, tähendab see, et moodulite lagunemine ei olnud piisavalt kehtiv. Lagunemisprotsessi tuleb jätkata seni, kuni on selge arusaam kõigi moodulite ja nende optimaalse kombinatsiooni eesmärgist;

4) mooduli allika tekstil peab olema päis ja liidese osa, kus mooduli ülesanne peegeldub ja kõik selle välised sidevahendid;

5) Programmimoodulite väljatöötamise ajal peaksite pakkuma erioperatsioone operatsioone, mis võtavad arvesse vastuseid võimalike vigade andmete või kasutaja tegevuses.

Suure tähtsusega modulaarse programmeerimise kontseptsioonis on seotud juhtide korraldamise ja teabevahetuse organisatsioonide korraldamisele programmi moodulite vahel, otsustavad ühiselt ühe või mitme suure ülesanded.

Moodulitega töötamisel peate meeles pidama nende peamist erinevust protseduuridest ja funktsioonidest. Globaalsete ja kohalike muutujate traditsioonilised eeskirjad moodulite jaoks ei tööta. See keelekujundus on mõeldud selleks, et kõrvaldada peamisprogrammis deklareeritud globaalsete muutujate mõju mooduli sisemiste kirjelduste kohta. Seega, kui on vaja sisestada globaalsete kirjelduste kättesaadavaks kõigile programmiplokkidele, siis peaks looma globaalse reklaami mooduli ja võimaldab see nimekirja impordi kõik moodulid, kus selle kirjeldused on vaja.

3.7. Mooduli struktuur B. Pascal

Pascalsellel on erinevad vahendid programmide struktureerimiseks. Alumine tasandil jagamise (elementaarne alamülesannete), protseduuride ja funktsioonide on kõige levinum ja tipptasemel (suurte ülesannete) mooduleid kasutatakse.

Keskkonnas Delphi.iga vorm vastab tingimata selle moodulile, mis võimaldab teil lokaliseerida kõik akna omadused eraldi programmiüksuses. Lisaks koostatakse ka Nesvalge algoritmilised toimingud individuaalsete moodulite kujul. Mooduli esimene rida algab märksõnaga:

Üksus.<идентификатор_модуля>;

Programmeerimiskeskkonna nõuetekohaseks töötamiseks peab see nimi vastama kettafaili nimele, mis asetab mooduli allika teksti. Millele järgneb

(Liidese osa)liidese.

kui selle mooduli koostoimet on kirjeldatud teiste kasutaja- ja standardmoodulitega, samuti peamise programmiga.

Mooduli ühendamine teiste moodulitega määrab spetsiaalse pakkumise abil:

(Liidese liidese loendi nimekiri)kasutusalad.<список_модулей>

Selles nimekirjas on mooduli identifikaatorid loetletud komadega, mille teave liidese osad peavad olema selles moodulis kättesaadavad.

(Liidese osa ekspordi nimekiri)const tüüpi var.

menetluse funktsioon.

Ekspordi nimekiri koosneb käesoleva mooduli määratletud konstantide, tüüpide, muutujate, protseduuride ja funktsioonide kirjelduse alajaodest, vaid kasutamiseks, mis on lubatud kõigis teistes moodulites ja programmides, mis sisaldavad selle mooduli nime string. Menetluste ja funktsioonide puhul on siin kirjeldatud ainult pealkirju, kuid ametlike parameetrite kohustusliku täieliku kirjeldusega.

(Rakendusosa)rakendamine

See osa näitab selle mooduli kirjelduste rakendamist (isiklikku) osa, mis ei ole teiste moodulite ja programmide jaoks saadaval.

(Rakendamise sektsiooni rakendamise loetelu)kasutusalad.

Selles nimekirjas on mooduli identifikaatorid loetletud komadega, mille teave liidese osad peavad olema selles moodulis kättesaadavad. Siin on soovitatav kirjeldada kõigi vajalike moodulite tuvastamist, millest teavet ei kasutata selle mooduli liidese osa kirjeldustes.

(Kirjelduse mooduli sisemised alad)label const tüüpi var

menetluse funktsioon.

Need alapunktid kirjeldavad silte, konstantide, tüüpe, muutujaid, protseduure ja funktsioone, mis kirjeldavad selle mooduli algoritmilisi toiminguid ja mis on "isiklik omandiõigus" ainult ainult selle mooduli. Need kirjeldused ei ole ühele teisele moodulile kättesaadavad.

Käivitatav osa sisaldab liidese osas deklareeritud alampiiride kirjeldusi. SUBROGRAMME KIRJELDUS peab eelnema pealkirja, kus saate formaalsete parameetrite loendi ja funktsiooni tulemuste tüübi vähendada. Kui päised on parameetritega määratud, peab nende nimekiri olema identne sama nimekirjaga sobiva menetluse või funktsiooni jaoks liidese osas.

(Initsialiseerimisosa)initsialiseerimine

Selles osas asuvad märksõnade initsialiseerimise ja finantskohtasutuse vahelised esialgsed seadistusoperaatorid mooduli õige töö alustamiseks. Need ettevõtjad täidetakse enne peamise programmi juhtimise üleandmist ja neid kasutatakse tavaliselt selle töö ettevalmistamiseks. Programmis kasutatavate moodulite moodulite operaatorid viiakse läbi siis, kui programm esialgu käivitatakse samas järjekorras, kus mooduli identifikaatorid on kirjeldatud kasutusalade projektide ettepanekutes. Kui initsialiseerimise operaatorid ei ole vaja, siis reserveeritud sõna initsialiseerimine võib välja jätta.

(Lõpetamise sektsioon)lõpuleviimine

Lõpetamise lõpetamise sektsioon on vabatahtlik ja võib esineda ainult initsialiseerimise alustamise sektsiooniga. Lõpetamise jaotises on loetelu ettevõtjatest, kes täidetakse mooduli lõpus, mis tavaliselt toimub rakenduse lõpetamisel. Lõpetamismoodulite osad viiakse läbi täpse järjekorras nende moodulite initsialiseerimisosade täitmiseks.

Lõpposa kasutatakse reeglina vabastada ressursse, mis eraldatakse rakendusega initsialiseerimisosas. See tagab taotluse õige lõpuleviimise, mis on eriti oluline, kui taotlus lõpeb erakorraliste olukordade tekkimisega.

Selles meetodis sai mitme allsüsteemi keerulise süsteemi partitsiooni nime nime " jaga ja reegli"(Divide et Impha), hierarhiline või funktsionaalne lagunemine jne. Samal ajal on põhiprintsiip:

a) "jagamine ja vallutamine";

b) "ülevalt alla" disain - individuaalsete alamülesaste probleemide üldisest seadistamisest jne;

c) hierarhilise tellimise põhimõte, mis hõlmab süsteemi komponentide kombineerimist hierarhiliste puude struktuuridesse uute osade lisamisega igal tasandil.

Kompleksi tarkvara projekteerimise protsess hakkab selle struktuuri selgitama, st struktuuriliste komponentide ja nendevaheliste ühenduste määratlusi. Struktuuri täiustamise tulemust võib esindada komponentide struktuuriliste ja / või funktsionaalsete skeemide ja kirjelduste kujul.

Arenenud tarkvara struktuurne skeem

Struktuurne Arvuta kava, mis peegeldab arenenud tarkvara osade koostist ja koostoimet. Tavaliselt on sellised skeemid välja töötatud iga suure paketi programmi jaoks ja programmi nimekiri määratakse tehnilise ülesande täpsustatud funktsioonide analüüsimisega.

Lihtsaim tarkvara tüüp on programm, mis võib hõlmata ainult rutiinide ja ressursside raamatukogusid struktuursete komponentidena. Programmi struktuurse skeemi väljatöötamist teostatakse tavaliselt samm-sammult detailide kaupa.

Tarkvarasüsteemi või kompleksi konstruktsioonikomponendid võivad olla allsüsteemide, andmebaaside, ressursside raamatukogude jne.

Seega näitab tarkvarapaketi skeem kontrolli edastamine vastava programmi programmijuhist, nagu on näidatud joonisel fig. 4.1. Programm kompleks on tavaliselt halvasti ühendatud. Seetõttu kasutatakse dispetšeri nende koostöö korraldamiseks.

Joonis fig. 4.1. Näide tarkvarapaketi struktuursest skeemist.

Struktuurskava tarkvara süsteemReeglina näitab allsüsteemide või muude struktuursete komponentide olemasolu. Erinevalt keerulistest, individuaalsetest osadest (allsüsteemide) tarkvarasüsteemi intensiivselt vahetab andmete omavahel ja võimaluse korral peamise programmiga. Selle tarkvarasüsteemi struktuurne skeem reeglina ei näita, nagu on näha jooniselt fig. 4.2.


See on tavaliselt mitmetasandilise hierarhilise skeemi juhtimispiirkondade interaktsiooni jaoks. Esialgses etapis kuvatakse diagramm kaks hierarhia taset, s.o näitab programmi üldist struktuuri. Samas meetod võimaldab teil saada suure hulga tasandite struktuurseid skeeme.


Samm-sammult detailide meetod Rakendab allapoole lähenemisviisi ja põhineb peamiste struktuuriliste programmide kujunduste põhjal. Ta tähendab algoritmi samm-sammulist arengut, nagu on näidatud joonisel 4.3. Iga etapp antud juhul hõlmab lagunemist funktsiooni alampiirkonnas. Seega kirjeldage esimeses etapis ülesande lahendust, rõhutades ühiseid alamülevaateid. Järgnevalt kirjeldatakse sarnaselt alamülesandeid, moodustades järgmise taseme elemendid. Seega toimub igas etapis kavandatud tarkvara disaini funktsioonid. Protsess jätkub seni, kuni nad jõuavad alamülesastena, algoritme, mille lahendused on ilmsed.

Samal ajal on vaja kõigepealt üksikasjalikult kontrollimisprotsesse detareerida, jättes lõplikult täiustatud toimingute täiustamise. See on tingitud asjaolust, et kontrolliprotsesside prioriteetsed üksikasjad lihtsustavad oluliselt hierarhia kõikide tasandite osade struktuuri ja lubab mitte eraldada otsustusprotsessi selle rakendamisest. Olles määranud mõningase alternatiivi valiku tingimuse, põhjustab mooduli kohe selle rakendamisel.

Funktsionaalne diagramm või andmekava (GOST 19. 701-90) - tarkvara komponentide interaktsiooni skeem teabevoogude kirjeldusega, andmete koostisega ja kasutatavate failide ja seadmete näitamine. Nende skeemide pildi puhul kasutatakse standardseid spetsiaalseid nimetusi.

Funktsionaalsed skeemid on rohkem informatiivsemad kui struktuurilised. Joonisel fig. 4.4 Võrdluseks antakse tarkvara komplekside ja süsteemide funktsionaalsed skeemid.



b)

Joonis fig. 4.4. Funktsionaalsete skeemide näited: A - keerulised programmid, B - tarkvarasüsteem.

Kõiki struktuuriliste ja funktsionaalsete ahelate komponente tuleks kirjeldada. Struktuurilise lähenemisviisiga on eriti vajalik töötada välja programmidevaheliste liideste spetsifikatsioon, kuna kõige kallim viga sõltub neist.

Konstruktsioonisaeg kasutab kolme peamist mudelit (diagrammid):

1) SADT (Streethurde analüüs ja disaini tehnika - struktuurianalüüsi ja disaini meetod) - mudelid ja vastavad funktsionaalsed diagrammid;

2) DFD (andmevoo skeemid) - Andmevoolu diagrammid;

3) ERD (üksuse-suhete diagrammid) - diagrammide "sisuliselt-kommunikatsioon".

Funktsionaalne mudel SADT Kuvab objekti funktsionaalse struktuuri, st Nende meetmete poolt toodetud meetmed ja sidemed.

Mudeli peamine komponent on diagramm . Sellel on kõik funktsioonid ja liidesed vastavalt plokkide ja kaarete kujul. Arc-ühenduse asukoht plokiga määratleb liidese liik. Teabe haldamine siseneb blokeerima ülevalt. Sissepääs Töödeldud teave kuvatakse leva külgede plokk ja tulemus (Väljund) - koos õigus. Mehhanism (Isik või automatiseeritud süsteem), mis teostab operatsiooni, esindab plokis sisalduv Arc allpool (Joonis 4.5).

SADT-mudeli ehitamine algab kogu süsteemi esindamisega kõige lihtsamate komponentidena - üks plokk ja kaared, mis kujutavad liidese funktsioone väljaspool süsteemi. Siis see seade on üksikasjalikult kirjeldatud teise diagrammi abil, kasutades mitmeid plokki ühendatud liidese kaarega. Uued plokid määratlevad lähtefunktsiooni peamised alamfunktsioonid, mis omakorda võib olla üksikasjalikud jne. (Vt joonis 4.6).


Joonis fig. 4.6.

Andmevoolu diagrammid (DFD) on kavandatud süsteemi funktsionaalsete nõuete modelleerimise peamised vahendid. Nende abiga esitatakse need nõuded andmevoogude funktsionaalsete komponentide (protsesside) hierarhiate välimusele. Sellise esitluse peamine eesmärk on näidata, kuidas iga protsess muudab oma sisendandmed nädalavahetusel, samuti nende protsesside vahelisi suhteid.

Andmevoolu diagrammide peamised komponendid on järgmised:

a) välised üksused;

b) süsteemid ja allsüsteemid;

c) protsessid;

d) andmete salvestamise seadmed;

e) andmevoog.

Välise olemus See on materiaalne objekt või üksikisik, mis on teabe allikas või vastuvõtja. See on kujutatud lahtiselt ristkülik koos pealkirjaga, nagu on näidatud joonisel 4.7.

Allsüsteem (vt joonis 4.8) või protsess (Joonis 4.9) esindab ristkülik ümarate servadega. See sisaldab kolme väljad:

a) numbrid;

c) füüsiline rakendamine.

Allsüsteem ja protsess erinevad nimes. Esimene salvestatakse allsüsteemi nimi ja teises verbis, mis määrab protsessi.

Joonis fig. 4.8. RAKKUJU - RIIGI Maksuinspektsioon

Andmekogu - See on abstraktne salvestusseade. See on kujutatud, nagu on näidatud joonisel fig. 4.10. Tema nimetus algab tähega D.

Andmevoog Diagramm näitab joont, lõpp-nool, mis näitab voolu suunda. Igal andmevooge on oma sisu kajastav nimi.

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

Keerulisem andmevoodiagramm on näidatud joonisel fig. 4.12.

ER diagrammid loetakse hiljem.

Kursuse projektis lisaks funktsionaalse diagrammile on vaja esitada kõige keerulisemate funktsioonide algoritme skeemid (näiteks sorteerimine ja otsimine).

Jaga: