Arcápolás: zsíros bőr

A program funkcionális sémája. Programok szerkezeti tervezése. A rendszerfunkciók hozzávetőleges listája

A program funkcionális sémája.  Programok szerkezeti tervezése.  A rendszerfunkciók hozzávetőleges listája

3. témakör. SZOFTVER

A számítógép megfelelő használatához ( információ feldolgozás) ismernie kell a szükséges programok célját és tulajdonságait, amikor dolgozik vele. Programkészlet és a kísérő dokumentáció ( ezeknek a programoknak a működése során), nak, nek hívják szoftver(TOVÁBB). A szoftver minden számítástechnikai rendszer szerves része, és megosztott ( bejelentkezés alapján) három kategóriába sorolható: rendszer szoftver(szükséges a számítógép vezérléséhez, más felhasználói programok létrehozásához és végrehajtásának támogatásához, a felhasználó számára különféle szolgáltatások nyújtásához), programozási rendszerek vagy szerszámrendszerek (új programok létrehozásának biztosítása számítógépekhez) és alkalmazási szoftverek (közvetlenül biztosítva a felhasználó által megkívánt munkavégzést).


Szoftver szerkezet

Rendszer szoftver olyan programokat tartalmaz, amelyek a számítógépek és a számítógépes hálózatok hardverének működését vezérlik ( ezek a programok általában nem konkrét felhasználói feladatokat oldanak meg, hanem feltételeket teremtenek a megoldásukhoz). Rendszerszoftver elküldve a következő címre:

a számítógép és a számítógépes hálózat stabil működésének biztosítása;

az alkalmazási programok normál működésének feltételeit megteremteni;

segédműveletek elvégzésére;

számítógépes hardver és számítógépes hálózat diagnosztikájához;

A rendszerprogramok teljes készlete két nagy csoportra osztható: alapszoftverés szolgáltatási rendszerek. Az alapszoftver a minimális szoftverkészlet, amely a számítógép működését biztosítja.

Alap alosztály A szoftver a következőket tartalmazza:

· Operációs rendszer (OS) - olyan programkészlet, amely irányítja az alkalmazási programok végrehajtásának folyamatát, a számítógépes számítási erőforrások tervezését és kezelését ( Az operációs rendszer átveszi az olyan műveletek végrehajtását, mint a PC-berendezések állapotának felügyelete; a bootstrap eljárás végrehajtása; az összes PC-eszköz működésének kezelése; fájlrendszer-kezelés; felhasználói interakció a számítógéppel; Alkalmazási programok betöltése és végrehajtása; PC erőforrások elosztása - RAM, processzoridő és perifériás eszközök alkalmazási programok között).

operációs rendszerhéjak - speciális programok, amelyek megkönnyítik a felhasználói kommunikációt az operációs rendszer parancsaival, szöveges és grafikus opciókkal a végfelhasználói felülethez ( a shell programok kényelmes és vizuális módot biztosítanak a számítógéppel való kommunikációhoz, lehetővé teszik a lemezeken lévő könyvtárak tartalmának vizuális megjelenítését, fájlok kényelmes másolását, átnevezését, küldését és törlését stb.).



· hálózati operációs rendszerek - olyan programok összessége, amelyek a hálózaton feldolgozzák, továbbítják és tárolják az adatokat.

Egészen a közelmúltig a legtöbb számítógépen operációs rendszer volt telepítve. MS DOS, amelyet 1981-ben hozott létre a Microsoft ( vegye figyelembe, hogy nem magának a Microsoftnak az eredeti fejlesztése volt – Bill Gates cége csak a QDOS nevű „OS”-t véglegesítette, amelyet egy másik cég készített). A Windows megjelenése előtt az MS DOS lemezes operációs rendszer volt a legnépszerűbb és legszélesebb körben használt. A környezetében szoftverek egész generációja jött létre. Az MS DOS alapján a számítástechnika fejlesztése során megjelent a Windows ( 1996 óta az MS DOS a Windows 95 operációs környezet része). Az MS DOS környezetben kifejlesztett operációs rendszer fő összetevői klasszikusak, és szervesen bekerülnek a Windowsba a szoftverfejlesztés új szakaszában általában és az operációs rendszer alapvető elemei.

Az MS DOS egy 16 bites, egyfeladatos, "parancssori interfész" operációs rendszer, amely kompakt, szerény hardverigényekkel rendelkezik, és a minimumot biztosítja a felhasználók és programok számára. A DOS fő hátrányai:

Fő gyenge pontja a korlátozott RAM-mal való munkavégzés ( az MS-DOS létrehozásának korszakában a legtöbb számítógép RAM-ja nem haladta meg a 256 kilobájtot. A DOS 640 kilobájt RAM-mal tudott működni, és Bill Gates azzal érvelt, hogy soha senkinek nem lesz szüksége többre, de az idő előrehaladtával megjelentek olyan programok, amelyek működéséhez több RAM-ot igényelnek, és speciális programokat - memóriakezelőket - kellett használniuk, de ezek nem oldották meg a probléma);

A DOS második hátránya az volt, hogy nem lehetett teljes értékű grafikus módban dolgozni ( bár a korabeli számítógépek már támogatást tudtak nyújtani ahhoz);

· Az MS-DOS harmadik hátránya az egyfeladatos működés volt.

A DOS család operációs rendszerei egyszerűségük és költséghatékonyságuk ellenére elavultak, helyüket új generációs operációs rendszerek váltották fel. Ezek az operációs rendszerek magukban foglalják a család operációs rendszereit ablakok, a család operációs rendszerei Unix satöbbi.

Szolgáltatási rendszerek- számítógép karbantartására szolgál ( bővíteni a mögöttes szoftver képességeit). Funkcionális alapon a szolgáltató szoftverek között megkülönböztethetjük:

Lemezkarbantartó programok ( a lemezfelület minőségének ellenőrzése, fájlbiztonsági ellenőrzés, lemeztömörítés, biztosítási másolatok készítése, adatmentés külső adathordozóra stb.);

vírusirtó szoftver ( számítógépes védelem biztosítása, fertőzött fájlok észlelése és helyreállítása);

adatarchiváló programok ( biztosítja az információk fájlokban való tömörítésének folyamatát, hogy csökkentse a tároláshoz szükséges memória mennyiségét);

hálózatkarbantartó programok.

Számítógép állapotának diagnosztizálására szolgáló programok;

Kiegészítő adatfeldolgozási műveletek elvégzésére vagy számítógép karbantartására használt programok ( diagnosztika, tesztelés, lemezterület felhasználás optimalizálása, mágneslemezen megsemmisült információk helyreállítása stb.) segédprogramoknak nevezzük.

Programozási rendszerek vagy szerszámrendszerek olyan szoftvertermékek, amelyek támogatják a programozási technológiát. Ezen az irányon belül léteznek alkalmazások létrehozására szolgáló eszközök, többek között:

helyi eszközök, amelyek biztosítják az egyéni munkavégzést a programok létrehozásán;

· Integrált környezetek a programfejlesztők számára, amelyek biztosítják egy sor egymáshoz kapcsolódó programkészítési munka végrehajtását.

A helyi szoftverfejlesztő eszközök közé tartoznak a programozási nyelvek és rendszerek, valamint a felhasználói eszközkörnyezet. Vannak gépi programozási nyelvek ( számítógépes hardver által elfogadott gépi kódok), géporientált nyelvek ( programozási nyelvek, amelyek tükrözik egy adott típusú számítógép szerkezetét - összeszerelők), algoritmikus ( egyetemes) számítógép-architektúrától független nyelvek, mint például a Fortran ( Fortran), Cobol ( Cobol), Algol ( Algol), Pascal ( Pascal), BASIC ( Alapvető), Si ( C), C++ ( C++) satöbbi.; eljárási nyelvek ( ahol lehetőség van a program leírására eljárások – szubrutinok – halmazaként), domain-specifikus nyelvek ( egy bizonyos osztályba tartozó problémák megoldására tervezték), integrált programozási rendszerek. Vegye figyelembe, hogy a programozási nyelvek osztályozását a GOST-ok nem rögzítik ( oktatási célból általában különféle szempontok szerint osztályozzák). A programozási nyelven elkészített program a fordítás, a hibakeresés és a tesztelés szakaszán megy keresztül.

Az integrált szoftverkörnyezetek eszköztárának fő célja a programozók produktivitásának növelése, a grafikus felhasználói felületet biztosító programok létrehozásának automatizálása stb.

Ezen kívül léteznek eszközök komplex információs rendszerek létrehozására ( ÜGY - technológia). Az információs rendszerek tervezése munkaigényes és hosszadalmas munka, amelyhez magasan képzett szakemberekre van szükség. A közelmúltban a tervezést gyakran intuitív szinten végezték informális módszerekkel, amelyek magukban foglalták a művészet elemeit, a gyakorlati tapasztalatokat, a szakértői ítéletet és a költséges kísérleti teljesítményteszteket. A 70-es évek elején. az USA-ban programozási válság volt ( szoftverválság). Ez megnyilvánult abban, hogy a nagy projektek ütemezése késedelmes vagy a becsült költséget meghaladó mértékben kezdtek megvalósulni, a kifejlesztett termék nem rendelkezett a szükséges funkcionalitással, alacsony volt a teljesítménye, és az így létrejövő szoftver minősége nem volt megfelelő a fogyasztóknak. A szoftverfejlesztési folyamat ellenőrzésének szükségessége, a fejlesztési költségek, az időzítés és az eredmények minőségének előrejelzése és garantálása oda vezetett, hogy a kézműves szoftverkészítési módszerekről az ipari módszerekre kell elmozdulni, és létrejött egy sor mérnöki módszer és eszköz a létrehozáshoz. szoftver, amelyet a "szoftvertervezés" köznév egyesít ( szoftverfejlesztés). A szoftverfejlesztés azon az elgondoláson alapul, hogy a szoftvertervezés formális folyamat, amely tanulható és javítható. A 80-as évek végére. sok kutatás folyt a programozás területén ( magas szintű nyelvek fejlesztése és megvalósítása, strukturált és moduláris programozási módszerek, tervezési nyelvek és támogató eszközeik, formális és informális nyelvek a rendszerkövetelmények és specifikációk leírására stb.). CASE kifejezés ( Számítógéppel segített szoftverfejlesztés) nagyon tág jelentése van. Kezdetben a CASE kifejezés jelentése csak a szoftverfejlesztés automatizálásának kérdéseire korlátozódott, de mára új jelentést kapott, és a komplex információs rendszerek fejlesztési folyamatának egészét fedi le. A CASE technológia az információs rendszerek tervezésének módszerei, valamint olyan eszközök halmaza, amelyek lehetővé teszik egy témakör vizuális modellezését, a modell elemzését a fejlesztés és karbantartás minden szakaszában, valamint alkalmazások fejlesztését a vállalat információs igényeinek megfelelően. felhasználókat. A legtöbb létező CASE eszköz strukturális vagy objektum-orientált elemzési és tervezési módszereken alapul, diagramok vagy szövegek formájában megjelenő specifikációkat használva a külső követelmények, a rendszermodellek közötti kapcsolatok, a rendszer viselkedésének dinamikájának és a szoftverarchitektúrának leírására.

Alkalmazási programok- alkalmazott felhasználói feladatok megoldására tervezték ( biztosítja a felhasználó számára szükséges feladatok végrehajtását a számítógépen). Feltételesen ( céljuk szerint) a következő alosztályokra osztható:

szövegszerkesztő programok;

· grafikus szerkesztő;

Fénykép- és videoképek feldolgozására szolgáló programok;

prezentációk készítésére szolgáló programok;

táblázatok;

adatbázis-kezelő rendszerek;

· Gazdasági és statisztikai elemzési programok;

Számítógéppel segített tervezőrendszerek (CAD);

információkereső rendszerek;

hálózati szoftver ( e-mail programok, hozzáférés videokonferenciákhoz, internetböngészők stb.);

játékprogramok.

Az alkalmazásszoftver a következőkből áll pályázati csomagok(PPP) és felhasználói alkalmazási programok.

Jelenleg az alkalmazásszoftverben jelentős helyet foglalnak el az alkalmazási szoftvercsomagok, amelyek alkalmazási körük szerint a következőkre oszlanak: domain specifikus csomagok (egy szűk problémakör megoldására irányul), általános célú csomagok (tipikus adatfeldolgozási feladatok megoldására tervezték) és integrált csomagok (alkalmazási körük elsősorban a gazdasági szféra; általában tartalmaznak: táblázatkezelőt, szövegszerkesztőt, adatbázis-kezelő rendszert, grafikus szerkesztőt, kommunikációs eszközöket). Alkalmazási programok egy adott számítási környezet részeként jönnek létre ( ezeket általában eseti alapon dolgozzák ki annak a PPP-nek vagy operációs rendszernek a megállapodása alapján, amely alapján vonatkoznak).

Ebben a módszerben egy összetett rendszer több alrendszerre való felosztását nevezzük " Oszd meg és uralkodj» (divide et impera), hierarchikus vagy funkcionális dekompozíció stb. Ebben az esetben az alapelvek a következők:

a) „oszd meg és uralkodj”;

b) Top-down tervezés - a probléma általános megfogalmazásától az egyes részfeladatokig stb.;

c) a hierarchikus rendezés elve, amely magában foglalja a rendszer alkotórészeinek hierarchikus fastruktúrákba szervezését, minden szinten új részletek hozzáadásával.

A komplex szoftver tervezésének folyamata a szerkezetének tisztázásával kezdődik, vagyis a szerkezeti komponensek és a köztük lévő kapcsolatok meghatározásával. A szerkezeti finomítás eredménye szerkezeti és/vagy funkcionális diagramok, valamint a komponensek leírása (specifikáció) formájában is bemutatható.

A kifejlesztett szoftver blokkvázlata

Szerkezeti hívjon egy sémát, amely tükrözi a fejlesztés alatt álló szoftver részeinek összetételét és interakcióját. Az ilyen sémákat jellemzően egy nagy csomag minden programjára fejlesztik, és a programok listáját a feladatmeghatározásban meghatározott funkciók elemzésével határozzák meg.

A szoftverek legegyszerűbb fajtái olyan programok, amelyek szerkezeti komponensként csak szubrutinokat és erőforráskönyvtárakat tartalmazhatnak. A program blokkdiagramjának kialakítása általában a lépésről lépésre történő részletezés módszerével történik.

Egy szoftverrendszer vagy komplexum szerkezeti összetevői lehetnek programok, alrendszerek, adatbázisok, erőforráskönyvtárak stb.

Tehát a szoftvercsomag séma bemutatja a vezérlés átadását a diszpécser programról a megfelelő programra, amint az az ábrán látható. 4.1. A komplexum programjai általában lazán kapcsolódnak egymáshoz. Ezért közös munkájuk megszervezésére diszpécsert vesznek igénybe.

Rizs. 4.1. Példa egy szoftvercsomag blokkdiagramjára.

Szerkezeti séma szoftver rendszer, általában alrendszerek vagy egyéb szerkezeti komponensek jelenlétét mutatja. Az összetetttől eltérően a szoftverrendszer egyes részei (alrendszerei) intenzíven cserélnek adatot egymással és esetleg a főprogrammal. A szoftverrendszer blokkvázlata általában ezt nem mutatja, amint az a 2. ábrán látható. 4.2.


Általában ez egy többszintű hierarchikus séma a vezérlési szubrutinok között. A kezdeti szakaszban a diagram a hierarchia két szintjét jeleníti meg, azaz a program általános felépítését mutatja. Ugyanez a módszer azonban lehetővé teszi nagy számú szinttel rendelkező blokkdiagramok előállítását.


Lépésmód felülről lefelé irányuló megközelítést valósít meg, és a strukturált programozás alapvető struktúráira épül. Ez magában foglalja az algoritmus lépésről lépésre történő fejlesztését, amint az a 4.3. ábrán látható. Ebben az esetben minden lépés magában foglalja a függvény részfüggvényekre bontását. Tehát az első szakaszban a feladat megoldását ismertetjük, kiemelve a gyakori részfeladatokat. A következőn a részfeladatokat hasonló módon ismertetjük, miközben megfogalmazzuk a következő szint elemeit. Így minden lépésnél finomodnak a tervezett szoftver funkciói. A folyamat addig folytatódik, amíg el nem jutnak olyan részfeladatokhoz, algoritmusokhoz, amelyek megoldása nyilvánvaló.

Ebben az esetben mindenekelőtt az ellenőrzési folyamatokat kell részletezni, a műveletek pontosítását az adatokkal a végére hagyva. Ez annak köszönhető, hogy az irányítási folyamatok prioritásos részletezése nagymértékben leegyszerűsíti a hierarchia minden szintjének összetevőinek felépítését, és lehetővé teszi, hogy a döntéshozatali folyamat ne válasszuk el a megvalósítástól. Az alternatív választás feltételének meghatározása után azonnal meghívásra kerül az azt megvalósító modul.

Funkcionális diagram vagy adatséma (GOST 19. 701-90) - a szoftverkomponensek interakciójának diagramja az információáramlás leírásával, az adatfolyamokban lévő adatok összetételével és a használt fájlok és eszközök jelzésével. E sémák ábrázolásához a szabvány által meghatározott speciális megjelöléseket használják.

A funkcionális diagramok informatívabbak, mint a szerkezeti diagramok. ábrán. A 4.4 összehasonlításképpen a szoftverrendszerek és rendszerek funkcionális diagramjai.



b)

Rizs. 4.4. Példák funkcionális diagramokra: a - programok halmaza, b - szoftverrendszer.

A szerkezeti és működési diagramok minden összetevőjét le kell írni. Strukturált megközelítéssel a programközi interfész specifikációit különösen gondosan kell kidolgozni, mivel ezektől függenek a legköltségesebb hibák.

A szerkezeti tervezés három fő modelltípust (diagramokat) használ:

1) SADT (Structured Analysis and Design Technique - szerkezeti elemzés és tervezés módszere) - modellek és a megfelelő funkcionális diagramok;

2) DFD (Data Flow Diagrams) - adatfolyam diagramok;

3) ERD (Entity-Relationship Diagrams) - "entitás-kapcsolat" diagramok.

Funkcionális SADT modell megjeleníti az objektum funkcionális szerkezetét, azaz. az általa végrehajtott cselekvések és az ezek közötti kapcsolatok.

A modell fő összetevője az diagram . Rajta az összes funkció és interfész blokkok és ívek formájában jelenik meg. Az ív és a blokk csatlakozási pontja határozza meg az interfész típusát. Vezérlő információ szerepel a blokkban felett. Bemenet a feldolgozás alatt álló információ jelenik meg bal a blokk oldalán, és eredmény(kilépés) - -val jobb. Gépezet(emberi vagy automatizált rendszer) amely a műveletet végzi, a blokkba foglalt ív ábrázolja alulról(4.5. ábra).

A SADT modell felépítése a teljes rendszer reprezentációjával kezdődik a legegyszerűbb komponens formájában - egy blokk és ívek, amelyek interfészt ábrázolnak a rendszeren kívüli funkciókkal. Ezután ezt a blokkot egy másik diagramon részletezzük több interfészívekkel összekapcsolt blokk segítségével. Az új blokkok meghatározzák az eredeti függvény fő alfunkcióit, amelyek viszont lefúrhatók stb. (lásd a 4.6. ábrát).


Rizs. 4.6

Adatfolyam diagramok(DFD) a tervezés alatt álló rendszer funkcionális követelményeinek modellezésének fő eszköze. Segítségükkel ezek a követelmények adatfolyamokkal összekapcsolt funkcionális komponensek (folyamatok) hierarchiái formájában jelennek meg. Ennek a reprezentációnak az a fő célja, hogy bemutassa, hogyan alakítja át az egyes folyamatok bemeneteit outputokká, valamint feltárja e folyamatok közötti kapcsolatokat.

Az adatfolyamdiagramok fő összetevői a következők:

a) külső jogalanyok;

b) rendszerek és alrendszerek;

c) folyamatok;

d) adattároló eszközök;

e) adatáramlás.

külső entitás anyagi tárgyat vagy egyént képvisel, aki információforrás vagy -fogadó. Háromdimenziós téglalapként van ábrázolva felirattal, ahogy az a 4.7. ábrán látható.

Alrendszer(lásd a 4.8. ábrát) ill folyamat(4.9. ábra) lekerekített élű téglalappal vannak ábrázolva. Három mezőt tartalmaz:

a) Számok;

c) Fizikai megvalósítás.

Az alrendszer és a folyamat névben különbözik. Az első tartalmazza az alrendszer nevét, a második pedig azt az igét, amely meghatározza a folyamat tevékenységét.

Rizs. 4.8. STI – Állami Adófelügyelőség

Adattárolás egy absztrakt eszköz információ tárolására. ábrán látható módon van ábrázolva. 4.10. Megnevezése D betűvel kezdődik.

Adatfolyam a diagramon egy nyíllal végződő vonal jelöli, amely az áramlás irányát mutatja. Minden adatfolyamnak van egy neve, amely tükrözi a tartalmát.

ábrán látható egy példa egy adatfolyam-diagramra. 4.11.

Egy bonyolultabb adatfolyam diagram látható a 2. ábrán. 4.12.

Az ER diagramokról később lesz szó.

A kurzusprojektben a funkcionális diagramon kívül a legösszetettebb függvények (például rendezés és keresés) algoritmusait is be kell mutatni.

A számítógépen felmerülő problémák megoldására tervezett programkészletet szoftvernek nevezzük. A PC-szoftver összetételét szoftverkonfigurációnak nevezzük. A szoftverek három kategóriába sorolhatók (1. ábra):

1. ábra Szoftver osztályozás

    rendszerszoftverek (általános felhasználású programok), amelyek különböző segédfunkciókat látnak el, mint például a felhasznált információkról másolatok készítése, a számítógépről súgó információk kiadása, számítógépes eszközök működőképességének ellenőrzése stb.

    alkalmazási szoftver, amely biztosítja a szükséges munkát PC-n: szöveges dokumentumok szerkesztése, rajzok vagy képek készítése, információs tömbök feldolgozása stb.

    eszközszoftver (programozási rendszerek), amely programozási nyelven új programok fejlesztését biztosítja számítógép számára.

Rendszer szoftver olyan programok összessége, amelyek hatékonyan vezérlik a számítógépes rendszerelemeket, mint például a processzort, a RAM-ot, a bemeneti-kimeneti eszközöket, a hálózati berendezéseket, amelyek „rétegközi interfészként” működnek, amelyek egyik oldalán a berendezés, a másikon pedig - felhasználói alkalmazások. Az alkalmazásszoftverekkel ellentétben a rendszerszoftver nem old meg konkrét alkalmazási problémákat, hanem csak más programok működését biztosítja, kezeli egy számítástechnikai rendszer hardver erőforrásait stb.

Ezek az általánosan használható programok nem kapcsolódnak egy adott PC-alkalmazáshoz, és hagyományos funkciókat látnak el: ütemezés és feladatkezelés, I/O vezérlés stb. Vagyis a rendszerprogramok különféle segédfunkciókat látnak el, például másolatokat készítenek a felhasznált információkról, súgó információkat adnak ki a számítógépről, ellenőrzik a számítógépes eszközök működőképességét, stb. A rendszerszoftver a következőket tartalmazza:

    operációs rendszerek (ez a program a számítógép bekapcsolásakor betöltődik a RAM-ba)

    shell programok (kényelmesebb és vizuálisabb módot biztosítanak a számítógéppel való kommunikációra, mint a DOS parancssor használata, például a Norton Commander)

    Az operációs héjak olyan interfészrendszerek, amelyek grafikus interfészek létrehozására, multiprogramozásra stb.

    Illesztőprogramok (a perifériás eszközök portjainak vezérlésére tervezett programok általában a számítógép indításakor töltődnek be a RAM-ba)

    segédprogramok (kiegészítő vagy szerviz programok, amelyek számos kiegészítő szolgáltatást biztosítanak a felhasználónak)

A segédprogramok a következők:

    fájlkezelők vagy fájlkezelők

    dinamikus adattömörítés eszköze (lehetővé teszi a lemezen lévő információ mennyiségének növelését a dinamikus tömörítés miatt)

    megjelenítő és lejátszó eszközök

    diagnosztikai eszközök; A vezérlőeszközök lehetővé teszik a számítógép konfigurációjának ellenőrzését és a számítógépes eszközök, elsősorban a merevlemezek működőképességének ellenőrzését

    a kommunikációs eszközök (kommunikációs programok) a számítógépek közötti információcsere megszervezésére szolgálnak

    számítógépes biztonsági eszközök (mentés, vírusirtó szoftver).

A segédprogramok olyan programok, amelyeket a segédfeladatok szűk körének megoldására terveztek.

Néha a segédprogramokat a szolgáltatási szoftverek közé sorolják.

A segédprogramokat a következőkre használják:

    Az érzékelők és a berendezések teljesítményének mutatóinak monitorozása - a processzor, a videó adapter hőmérsékletének figyelése; S.M.A.R.T. merevlemezek;

    A berendezés paramétereinek vezérlése - a CD-meghajtó maximális forgási sebességének korlátozása; a ventilátor sebességének megváltoztatása.

    Indikátorok ellenőrzése - hivatkozási integritás ellenőrzése; az adatok helyes rögzítése.

    Továbbfejlesztések - a lemez formázása és/vagy újraparticionálása adatmegőrzéssel, törlés a helyreállítás lehetősége nélkül.

A segédprogram típusai:

Lemez segédprogramok

      Töredezettségmentesítők

      Lemez ellenőrzése - hibásan rögzített vagy különböző módon sérült fájlok és lemezszakaszok keresése, majd ezek törlése a lemezterület hatékony kihasználása érdekében.

      Lemezkarbantartás - törölje az ideiglenes fájlokat, a szükségtelen fájlokat, ürítse ki a "lomtárt".

      Lemezparticionálás - a lemez felosztása logikai lemezekre, amelyek különböző fájlrendszerekkel rendelkezhetnek, és az operációs rendszer több különböző lemezként érzékeli őket.

      Biztonsági mentés - biztonsági másolatok készítése teljes lemezekről és egyes fájlokról, valamint visszaállítás ezekből a másolatokból.

      Lemeztömörítés – tömöríti a lemezeken lévő információkat a merevlemezek kapacitásának növelése érdekében.

      • Nyilvántartási segédprogramok

        Hardverfigyelő segédprogramok

        Berendezés tesztek

2. ábra A nyílt forráskódú szoftverek helye a számítógép többszintű struktúrájában

Meg kell jegyezni, hogy a segédprogramok egy része az operációs rendszer része, míg a másik része önállóan működik. Az általános (rendszer-) szoftverek többsége az operációs rendszer része (2. ábra). Az általános szoftver egy része magában a számítógépben található (az operációs rendszer programok és a vezérlőtesztek egy része az alaplapra telepített ROM-ban vagy PROM-ban van rögzítve). A megosztott szoftverek egy része önálló szoftver, és külön is elérhető.

          Alkalmazás szoftver. Az alkalmazási programok használhatók önállóan vagy szoftverrendszerek vagy csomagok részeként. Alkalmazási szoftverek - olyan programok, amelyek közvetlenül biztosítják a szükséges munka elvégzését a számítógépen: szöveges dokumentumok szerkesztése, rajzok vagy képek készítése, táblázatok készítése stb. Az alkalmazási szoftvercsomagok olyan programok rendszerei, amelyek hatókörük szerint problémákra vannak felosztva. -orientált, általános csomagcélok és integrált csomagok. A modern integrált csomagok legfeljebb öt funkcionális komponenst tartalmaznak: teszt- és táblázatkezelő processzort, DBMS-t, grafikus szerkesztőt és távközlési eszközöket. Alkalmazási szoftverek például:

    MS OFFICE csomag

    Számviteli rendszerek

    Pénzügyi elemző rendszerek

    Integrált irodai munkacsomagok

    CAD - rendszerek (számítógéppel támogatott tervezőrendszerek)

    HTML vagy webszerkesztők

    Böngészők – Webnézegetők

    Grafikus szerkesztő

    Szakértői rendszerek.

          Szerszámszoftver. Az eszközszoftverek vagy programozási rendszerek olyan rendszerek, amelyek automatizálják az új programok fejlesztését egy programozási nyelven. A legáltalánosabb esetben a választott programozási nyelven (rendszerprogramozási nyelven) való program létrehozásához a következő összetevőkkel kell rendelkeznie: 1. Szövegszerkesztő fájl létrehozásához a program forráskódjával. 2. Fordító vagy tolmács. A forrásszöveget fordítóprogram segítségével közbülső objektumkódmá fordítjuk. Egy nagy program forráskódja több részből áll modulok(forrás fájlok). Minden modul külön fájlba van fordítva objektumkóddal, amelyet ezután egyetlen egésszé kell egyesíteni.3. Egy linker vagy assembler, amely összekapcsolja az objektummodulokat, és működőképes alkalmazást – futtatható kódot – állít elő. A végrehajtható kód egy teljes program, amely bármely olyan számítógépen futtatható, amely rendelkezik azzal az operációs rendszerrel, amelyre a programot létrehozták. Általános szabály, hogy az eredményül kapott fájl kiterjesztése .EXE vagy .COM.4. Az utóbbi időben széles körben elterjedtek a vizuális programozási módszerek (szkriptnyelveket használva), amelyek a Windows alkalmazások létrehozására irányulnak. Ez a folyamat automatizált a gyors tervezési környezetekben. Ebben az esetben kész vizuális komponenseket használnak, amelyeket speciális szerkesztőkkel konfigurálnak. A látványtervezés legnépszerűbb szerkesztői (vizuális eszközöket használó programozási rendszerek):

    Borland Delphi – szinte minden alkalmazásprogramozási probléma megoldására tervezték

    A Borland C++ Builder kiváló eszköz DOS és Windows alkalmazások fejlesztéséhez

    A Microsoft Visual Basic egy népszerű eszköz a Windows-programok létrehozására.

    Microsoft Visual C++ – ez az eszköz lehetővé teszi bármely olyan alkalmazás fejlesztését, amely operációs rendszer környezetben, például Microsoft Windowsban fut

Tesztkérdések:

    Határozzon meg egy operációs rendszert.

    Milyen szoftverek minősülnek rendszerszoftvernek?

    Nevezze el a segédprogramot.

    Milyen szoftvert alkalmaznak?

    Mi a szoftver célja?

    Melyek a programok főbb osztályai? Adjon példákat az egyes osztályok programjaira cél szerint!

A szoftvertervezés a struktúrájának meghatározásával kezdődik.

5. 1. Szerkezeti és funkcionális sémák kidolgozása.

A komplex szoftver tervezésének folyamata a szerkezetének tisztázásával kezdődik, vagyis a szerkezeti komponensek és a köztük lévő kapcsolatok meghatározásával. A szerkezeti finomítás eredménye szerkezeti és/vagy funkcionális diagramok, valamint a komponensek leírása (specifikáció) formájában is bemutatható.

A kifejlesztett szoftver blokkvázlata

A szerkezeti diagram egy diagram, amely tükrözi a fejlesztés alatt álló szoftver részeinek összetételét és interakcióit.

Blokkdiagramok szoftvercsomagok nem tájékoztató jellegűek, mivel a programok csomagokba rendezése nem biztosítja közöttük az irányítás átadását. Ezért minden csomagprogramhoz blokkdiagramok készülnek, a csomagprogramok listája pedig a feladatmeghatározásban meghatározott funkciók elemzésével kerül meghatározásra.

A szoftverek legegyszerűbb fajtái olyan programok, amelyek szerkezeti komponensként csak szubrutinokat és erőforráskönyvtárakat tartalmazhatnak.

A program blokkdiagramjának kialakítása általában a lépésről lépésre történő részletezés módszerével történik.

A szoftverrendszer vagy szoftvercsomag szerkezeti összetevői lehetnek programok, alrendszerek, adatbázisok, erőforráskönyvtárak stb.

Szerkezeti séma Szoftver csomag szemlélteti a vezérlés átadását a diszpécser programról a megfelelő programra (1.1. ábra).

Rizs. 5.1. Példa egy szoftvercsomag blokkdiagramjára.

Szerkezeti séma szoftver rendszer, általában alrendszerek vagy egyéb szerkezeti komponensek jelenlétét mutatja. A szoftvercsomagoktól eltérően a szoftverrendszer egyes részei (alrendszerei) intenzíven cserélnek adatot egymással és esetleg a főprogrammal. Egy szoftverrendszer blokkvázlata általában ezt nem mutatja (1.2. ábra).


Rizs. 5.2. Példa egy szoftverrendszer blokkdiagramjára.

A tervezett szoftverről a komponenseinek egymással és a külső környezettel való kölcsönhatása tekintetében teljesebb képet ad egy funkcionális diagram.

Funkcionális diagram

Funkcionális diagram vagy adatdiagram (GOST 19. 701-90) - a szoftverkomponensek interakciójának diagramja az információáramlás leírásával, az áramlásokban lévő adatok összetételével és a használt fájlok és eszközök jelzésével. A funkcionális diagramok ábrázolásához a szabvány által meghatározott speciális megjelöléseket használják.

A funkcionális diagramok informatívabbak, mint a szerkezeti diagramok. ábrán. Az 1.3 összehasonlításképpen a szoftverrendszerek és rendszerek funkcionális diagramjai.



Rizs. 5.3. Példák funkcionális diagramokra: a - programok halmaza, b - szoftverrendszer.

A szerkezeti és működési diagramok minden összetevőjét le kell írni. Strukturális megközelítéssel különösen szükséges a programközi interfészek specifikációinak különös gondos kidolgozása, mivel a legdrágább hibák száma a leírás minőségétől függ. A legdrágábbak az összetett tesztelés során talált hibák, mivel ezek kiküszöbölése komoly változtatásokat igényelhet a már hibakeresett szövegeken.

5.2. A szoftverstruktúra megtervezése lépésről lépésre.

A programozás strukturális megközelítése abban a formában, ahogyan azt a 20. század 70-es éveiben megfogalmazták, a programok lebontását a lépésről lépésre történő részletezés módszerével javasolta. A dekompozíció eredménye a program blokkdiagramja, amely a vezérlési szubrutinok közötti interakció többszintű hierarchikus sémája. Egy ilyen séma legalább két szintű hierarchiát jelenít meg, vagyis megmutatja a program általános felépítését. Ugyanez a módszer azonban lehetővé teszi nagy számú szinttel rendelkező blokkdiagramok előállítását.

A lépésről lépésre történő módszer felülről lefelé irányuló megközelítést valósít meg, és a strukturált programozás alapvető konstrukcióin alapul. Ez magában foglalja az algoritmus lépésről lépésre történő fejlesztését. Ebben az esetben minden lépés magában foglalja a függvény részfüggvényekre bontását. Tehát az első szakaszban a feladat megoldásának ismertetése történik, kiemelve a közös részfeladatokat, a következő szakaszban a részfeladatok megoldását írják le hasonló módon, miközben megfogalmazzák a következő szint részfeladatait. Így minden lépésnél finomodnak a tervezett szoftver funkciói. A folyamat addig folytatódik, amíg el nem jutnak olyan részfeladatokhoz, algoritmusokhoz, amelyek megoldása nyilvánvaló.

A program lépésenkénti részletezés módszerével történő felbontásánál be kell tartani a szerkezetbontás alapszabályát, amely a vertikális szabályozás elvéből következik: mindenekelőtt a felbontott komponens szabályozási folyamatait kell részletezni, elhagyva a az adatműveletek finomítása a végén. Ennek az az oka, hogy az ellenőrzési folyamatok prioritásos részletezése jelentősen leegyszerűsíti a hierarchia minden szintjén lévő összetevők felépítését, és lehetővé teszi, hogy ne válasszuk el a döntéshozatali folyamatot a megvalósítástól: így meghatározott alternatíva választásának feltétele. , az azt megvalósító modul azonnal meghívásra kerül.

A szerkezetekkel végzett műveletek részletezése végső megoldásként lehetővé teszi a specifikációik megadásának elhalasztását, és lehetőséget biztosít ezeknek a szerkezeteknek a viszonylag fájdalommentes módosítására az ezen adatoktól függő modulok számának csökkentésével.

Ezenkívül tanácsos betartani a következő ajánlásokat:

Ne válassza szét az inicializálási és befejezési műveleteket a megfelelő feldolgozástól, mivel az inicializálási és befejező modulok kohéziója gyenge (időbeli) és erős csatolású (vezérléssel);

Ne tervezzen túl speciális vagy túl általános modulokat, mert a túlságosan specializált modulok megtervezése növeli a számukat, a túl általános modulok megtervezése pedig növeli azok összetettségét;

Kerülje el a műveletek megkettőzését a különböző modulokban, mivel amikor megváltoznak, akkor minden programrészletben korrekciót kell végezni, ahol végrehajtják őket - ebben az esetben tanácsos ezeket a műveleteket egyszerűen egy külön modulban végrehajtani;

Csoportosítsa a hibaüzeneteket egy modulba az erőforráskönyvtár típusa szerint, így könnyebb lesz megegyezni a megfogalmazásban, elkerülni az üzenetek megkettőzését, és az üzeneteket más nyelvre is lefordítani.

Ugyanakkor az egyes problémák megoldásának leírásánál célszerű legfeljebb 1-2 strukturális vezérlési struktúrát használni, mint például a while ciklus vagy elágazás, amely lehetővé teszi a szervezett számítási folyamat felépítésének pontosabb elképzelését. .

A modulokba történő particionálás az ilyen típusú tervezésben heurisztikusan történik, az ajánlott modulméretek (20-60 sor) és a struktúra összetettsége (két vagy három egymásba ágyazott vezérlőstruktúra) alapján. Elvileg modulként (alprogramként) a részletezési folyamat bármely lépésében megfogalmazott részfeladatok megoldása megvalósítható, azonban a program modulokra bontásában meghatározó szerepe van a modulok gyárthatóságát biztosító elveknek.

Az így létrejövő modulhierarchia gyárthatóságának elemzéséhez célszerű Constantine vagy Jackson szerkezeti térképeket használni.

5. 3. Konstantin szerkezeti térképei.

A szerkezeti térképen a modulok közötti kapcsolatokat grafikonként ábrázoljuk, melynek csúcsai a moduloknak és a közös adatterületeknek, az íveknek pedig - modulok közötti hívásoknak és közös adatterületekre irányuló hívásoknak - felelnek meg.

A csúcsoknak négy típusa van (1.4. ábra):

Modul - szubrutin,

Alrendszer - program,

Könyvtár - egy külön modulban található szubrutinkészlet,

Adatterület - egy speciálisan kialakított adathalmaz, amely kívülről is elérhető.

a) b). ban ben). G).

Rizs. 5.4. A csúcsok kijelölése az IBM, ISO és ANSI szabványok szerint:

a – modul; b - alrendszer; c - könyvtár; d – adatterület.

Ebben az esetben a szoftverrendszer egyes részei (programok, szubrutinok) szekvenciálisan, párhuzamosan, vagy korutinként hívhatók (1.5. ábra).


Rizs. 5.5. Hívástípus megnevezése:

a – szekvenciális hívás; b – párhuzamos hívás; c egy korutin hívása.

Leggyakrabban használt következetes olyan hívás, amelyben a modulok a vezérlés átadása után megvárják a hívott program vagy szubrutin végrehajtásának befejezését, hogy folytathassák a megszakadt feldolgozást.

Alatt párhuzamos hívás alatt több számítógépen végzett számítások párhuzamosítását értjük, amikor egy másik folyamat aktiválásakor ez a folyamat tovább működik . Az egyprocesszoros számítógépeken többprogramozási környezetben ebben az esetben megkezdődik a megfelelő programok alternatív végrehajtása. A párhuzamos folyamatok szinkronok vagy aszinkronok. A szinkronizálási pontokat a szinkron folyamatokhoz határozzák meg – azok az időpillanatok, amikor a folyamatok között információcsere zajlik. Az aszinkron folyamatok csak a párhuzamos folyamat aktiválásának pillanatában cserélnek információt.

Alatt korutin hívás megértse két egyidejűleg futó program egymás utáni végrehajtásának lehetőségét, például ha az egyik program előkészített egy adatcsomagot a kimenetre, akkor a második ki tudja azt írni, majd a következő kötegre váró állapotba kerül. Ezenkívül a többprogramos rendszerekben a fő program az adatok átvitelét követően továbbra is működik, és nem megy várakozási állapotba.

Constantine szerkezeti térképei lehetővé teszik egy program modulokra bontásának eredményének megjelenítését és minőségének értékelését, vagyis a strukturált programozás ajánlásainak való megfelelést (csatolás és kapcsolódás).

5.4. Adatstruktúrák tervezése.

Az adatstruktúrák tervezése alatt azok memóriabeli reprezentációinak fejlesztését értjük. Az adatszerkezetek tervezésekor figyelembe veendő fő paraméterek:

Az egyes adatelemekhez tárolt információk típusa;

Adatelemek és beágyazott struktúrák közötti kapcsolatok;

Struktúraadatok tárolási ideje ("élettartam");

Adatelemekkel, beágyazott struktúrákkal és általában struktúrákkal kapcsolatos műveletek halmaza

A tárolt információ típusa meghatározza a megfelelő memóriamező típusát. A használt programozási nyelvtől függően a következők tekinthetők adatelemeknek:

Egész és valós számok különböző formátumokban;

Szimbólumok;

Logikai értékek: igaz és hamis;

valamint néhány szerkezeti adattípus, például:

Speciálisan deklarált osztályok.

Ugyanakkor a numerikus mezők esetében nagyon fontos a lehetséges értékek tartományának helyes meghatározása, a karakterlánc-adatoknál pedig a karakterlánc lehetséges maximális hosszát.

Az elemek és a beágyazott struktúrák közötti kapcsolatok, valamint stabilitásuk, valamint az elemeken és a beágyazott struktúrákon végzett műveletek halmaza határozza meg az adatok megjelenítésére használt memóriastruktúrákat. Az élettartamot az adatok statikus vagy dinamikus memóriába, valamint külső memóriába helyezésekor veszik figyelembe.

Tekintsük részletesebben az adatok belső megjelenítésének meglévő lehetőségeit, azok elemeit és a köztük lévő kapcsolatokat.

Adatok ábrázolása a RAM-ban

A RAM-ban az adatok rendszerezésére két alapvető struktúra létezik: vektor és lista.

vektor keret A memória bájtjainak sorozata, amely adatmezők elhelyezésére szolgál (1.6. ábra).

Rizs. 5.6. Vektor memória szerkezete.

A szervezett adatstruktúrák szekvenciális elhelyezése lehetővé teszi az elemek közvetlen elérését: index (indexek halmaza) alapján - tömbökben vagy karakterláncokban, vagy mezőnév alapján - rekordokban vagy objektumokban.

Az elemek hozzáadása és eltávolítása azonban, amikor vektorstruktúrákat használ a tömbelemek elhelyezésére, többszörös elemeltolást igényelhet.

A vektoros ábrázolású adatszerkezetek statikus és dinamikus memóriában is elhelyezhetők. A vektoros ábrázolások elhelyezkedése a dinamikus memóriában néha jelentősen növelheti a RAM használatának hatékonyságát. Kívánatos a dinamikus memóriában átmeneti, köztes eredményeket tároló, illetve a bemeneti adatoktól erősen nagymértékben függő struktúrákat elhelyezni.

Listastruktúrák speciális elemekből épülnek fel, beleértve az információs részen kívül egy vagy több mutatót - az elemhez kapcsolódó elemek címét vagy beágyazott struktúráit. Az ilyen elemek dinamikus memóriába helyezésével különféle belső struktúrákat szervezhetünk (1.7. ábra).


Rizs. 5.7. Példák listás memóriastruktúrákra:

a - lineáris, egyszeresen linkelt lista; b - faszerű lista; c egy n-kapcsolt lista.

Listastruktúrák használatakor azonban ne feledje, hogy:

További memória szükséges a mutatók tárolásához;

Az információ keresése lineáris listákban történik egymás után, és ezért több időt igényel;

A listák összeállítása és a listákban tárolt adatelemeken végzett műveletek képzettebb programozókat igényelnek, időigényesebbek, a megfelelő szubrutinok pedig több hibát tartalmaznak, ezért alaposabb tesztelést igényelnek.

A vektoros ábrázolást általában statikus halmazok, táblázatok (egydimenziós és többdimenziós), például mátrixok, sorok, rekordok, valamint szomszédsági mátrixszal, előfordulási mátrixszal vagy analitikusan ábrázolt gráfok tárolására használják. A listanézet hasznos dinamikus (változó) struktúrák és összetett kapcsolatokkal rendelkező struktúrák tárolására.

A legkritikusabb esetekben a belső reprezentáció kiválasztásakor célszerű meghatározni a leggyakrabban előforduló műveletek elvégzésének számítási bonyolultságát egy adatszerkezettel vagy annak elemeivel a különböző lehetőségekhez. És értékelje a kapacitív összetettségüket is.

Adatok ábrázolása a külső memóriában

A modern operációs rendszerek kétféle módon támogatják az adatok külső memóriában való rendszerezését: a szekvenciális és a közvetlen hozzáférést.

Az adatokhoz való szekvenciális hozzáféréssel csak az adatelemek szekvenciális kiolvasása vagy szekvenciális írása lehetséges. Ez az opció feltételezhető, ha logikai eszközökkel, például billentyűzettel vagy kijelzővel dolgozik, szövegfájlok vagy olyan fájlok feldolgozásakor, amelyek rögzítési formátuma működés közben megváltozik.

Közvetlen hozzáférés csak a rögzített hosszúságú rekordokkal cserélt lemezfájlokhoz lehetséges (bináris C-fájlok vagy gépelt Pascal-fájlok). Egy ilyen fájl írási címe meghatározható a fájlból szám, amely lehetővé teszi a kívánt rekord közvetlen elérését.

Amikor memóriatípust választ az adatstruktúrák megtalálásához, tartsa szem előtt a következőket:

A RAM-ban olyan adatok kerülnek, amelyekhez gyors hozzáférésre van szükség, mind az olvasáshoz, mind a módosításhoz;

A külső oldalon - az adatok, amelyeket a program befejezése után el kell menteni.

Előfordulhat, hogy működés közben célszerű a RAM-ban tárolni az adatokat, hogy felgyorsítsuk a hozzáférést, és ha ez elkészült, átírjuk a külső memóriába hosszú távú tárolás céljából. A legtöbb szövegszerkesztő ezt a módszert alkalmazza: a szöveggel való munka közben annak egy része vagy egésze a RAM-ba kerül, ahonnan szükség szerint átírják a külső memóriába. Ilyen esetekben az adatok két reprezentációját fejlesztik ki: az üzemi és a külső memóriában.

A struktúrák helyes megválasztása nagymértékben meghatározza a kifejlesztett szoftver hatékonyságát és technológiai minőségét, ezért erre a kérdésre kellő figyelmet kell fordítani, függetlenül az alkalmazott megközelítéstől.

5.5. Adatbontáson alapuló szoftvertervezés.

Szinte egyidejűleg javasolták Jackson és Warnier-Orr szoftvertervezési technikákat, amelyek az adatbontáson alapulnak. Mindkét technikát olyan "egyszerű" programok létrehozására tervezték, amelyek összetett, de hierarchikusan szervezett adatstruktúrákkal dolgoznak. Ha mindkét esetben szoftverrendszert kell fejleszteni, akkor javasolt először a rendszert külön programokra bontani, majd ezeket a technikákat alkalmazni.

Jackson módszer

M. Jackson módszertana megalkotásakor abból indult ki, hogy a kiindulási adatok és eredmények struktúrái határozzák meg a program szerkezetét.

A technika a kiindulási adatok struktúrái és az eredmények közötti megfelelés keresésén alapul. Alkalmazása esetén azonban előfordulhatnak olyan helyzetek, amikor bizonyos szinteken nincs megfelelés. Például a forrásfájl rekordjai nem abban a sorrendben vannak rendezve, ahogyan a megfelelő soroknak meg kell jelenniük a jelentésben. Az ilyen helyzeteket "ütközésnek" nevezték. Az ütközéseknek többféle típusa van, amelyeket különböző módon oldanak meg. A rekordok eltérő sorrendjével a rendszer a feldolgozás előtt egyszerűen rendezi őket.

A módszertannak megfelelő programstruktúrák kialakítása az alábbiak szerint történik:

Képet készíteni a bemeneti és kimeneti adatstruktúrákról;

Az ezen adatok közötti feldolgozási kapcsolatok (levelezés) azonosítása;

az adatstruktúrák és az észlelt egyezések alapján programstruktúra létrehozása;

blokkokat adjon hozzá olyan elemek feldolgozásához, amelyekhez nem található egyezés;

Az inkonzisztenciák elemzése és feldolgozása, azaz az "ütközések" feloldása;

Adja hozzá a szükséges műveleteket (bemenet, kimenet, fájlok megnyitása/bezárása stb.); írjuk fel a programot szerkezeti jelöléssel (pszeudokód).

Warnier-Orr technika.

A Warnier-Orr technika ugyanazon a pozíción alapul, mint a Jackson-technika, de a diagram felépítésénél a kimeneti adatstruktúrákat tekintjük a főnek, és ha a bemeneti adatstruktúrák nem egyeznek meg a kimeneti struktúrákkal, akkor módosíthatók. Így az ütközések fő oka megszűnik.

A gyakorlatban azonban nem mindig lehetséges a bemeneti adatszerkezetek átrendezése: ezek a struktúrák már szigorúan megadhatók, például ha a programok végrehajtása során nyert adatokat használjuk, ezért ritkábban alkalmazzák ezt a technikát.

A fentiekből következően a Jackson és Warnier-Orr módszerek csak akkor használhatók, ha a kifejlesztett programok adatai hierarchia vagy hierarchia halmaz formájában reprezentálhatók.

5.6. Szerkezetelemzésen és tervezési módszertanon alapuló esettechnológiák.

Mára már tapasztalatokat szereztek a legtöbb jól ismert szerkezetelemzési és -tervezési módszertan sikeres alkalmazásában a megfelelő CASE eszközökben. A legszélesebb körben használt módszertanok a következők: SADT (3,3%), Gein-Sarson szerkezeti rendszerelemzés (20,2%), Jordan-De szerkezeti elemzés és tervezés (36,5%), Jackson rendszerfejlesztés (7,7%), szerkezeti DSSD fejlesztése (Data). Strukturált rendszerfejlesztés) Warnier-Orr (5,8%), valós idejű rendszertervezés elemzése Ward-Mellore és Hutley, információs modellezés Martin (22,1%).

Amint az a fenti statisztikákból látható, az adatfolyam-diagramokat használó strukturális módszertanok találták a legnagyobb alkalmazást. Ennek két oka van:

Az adatfolyam-diagramok részletesebben, mint a funkcionális diagramok számos jelenlegi sajátosságait tükrözik információ rendszerek: nem igénylik a feldolgozott információk szigorú beírását, biztosítják az adattárolás lehetőségét, meghatározzák a külvilággal való interakciót, gondoskodnak egy komplex szoftvermodell beszerzéséről stb.;

A tervezési specifikációk (Jackson vagy Constantine szerkezeti térképek) adatfolyam-diagramokon alapuló elkészítésére olyan módszert dolgoztak ki, amely lehetővé teszi az ilyen specifikációk automatikus elkészítését.

Az adatok megadása után lehetőséget kell adni a felhasználónak a tanúsítvány nyomtatvány és az ügyfél másolatának kinyomtatására. ezt a műveletet hiba nélkül végre kell hajtani. A nyomtatás kétféle nyomtatón végezhető: ütési (mátrix) és tintasugaras nyomtatón. A lézernyomtatókon a nyomtatási súgó a megnövekedett papírminőségi követelmények miatt nem lehetséges. Ha mátrixnyomtatón nyomtat súgót, szénpapír használatával egy menetben két példányt (súgó + másolás) nyomtathat. A tintasugaras nyomtatónak minden példányt külön kell nyomtatnia. Ezért szükség van egy felhasználó által megváltoztatható példányszám-számlálóra vagy egy speciális beállítási funkcióra a nyomtató típusához.

2. ábra Interakciós és adatkapcsolati séma

A program funkcionális sémájának kidolgozása.

A program funkcionális összetételének maximálisan biztosítania kell a szükséges képességeket az EP pénztárosának adatrögzítéssel, tranzakciók nyilvántartásával és beszámolási dokumentumok lebonyolításával kapcsolatos hatósági feladatai ellátásához. Ehhez összeállítunk egy hozzávetőleges listát a rendszerünkben megvalósítandó funkciókról.

A rendszerfunkciók hozzávetőleges listája.

1) Csereművelet bejegyzése

Devizavásárlási adatok megadása

A valuta eladásával kapcsolatos adatok megadása

Adatok megadása a valutaváltáshoz

· Nyomtassa ki az ügyfél referenciáját

2) Dokumentumok megtekintése

· Tekintse meg a nap dokumentumainak listáját

Az archivált dokumentumok listájának megtekintése

3) Könyvtárak karbantartása

· Adatbevitel értékkódokkal

· Adatbevitel dokumentumtípusok szerint

Adatbevitel devizakódok szerint

Árfolyamok megadása dátumok szerint

4) Beszámolási dokumentumok előállítása

· A készpénzes rubelért vásárolt készpénz deviza nyilvántartásának kinyomtatása;

· A készpénz rubelért eladott készpénz deviza nyilvántartásának nyomtatása;

· Készpénz deviza átváltási (átváltási) nyilvántartásának kinyomtatása;

5) Egyéb funkciók

Adatok bevitele a beviteli mezőbe a könyvtárból

Szám konvertálása digitálisról kisbetűre (összeg szavakban)

· A kurzor megjelenésének megváltoztatása

Adatok mentése archív fájlokba

A fenti lista az OP munkafolyamat részében leírt összes eljárást lefedi, és kiegészíti néhány olyan funkcióval, amelyekre az adatbeviteli és javítási folyamat során szükség lesz.

A program blokkdiagramjának kidolgozása.

A szoftvercsomag blokkvázlata általánosságban meghatározza mind a tervezett rendszer megjelenését, mind a felhasználóval való interakció elveit. A tervezett rendszer sémája egy hierarchikus fastruktúra lesz, amely leírja az adatok bevitelének, feldolgozásának és kiadásának eljárásait. Az információs és referencia osztály programjainak ezen elv szerinti felépítése meglehetősen egyszerűvé teszi a rendszer egészének módosítását, és megkönnyíti a program elvének észlelését és megértését. A blokkdiagram felépítéséhez meg kell határozni a fent felsorolt ​​adatfeldolgozási eljárások hierarchiáját és kapcsolatát. Természetes az eljárások hierarchiájának felállítása abban a formában, ahogy az előző fejezetben leírtuk, hiszen egy ilyen séma megfelel az eljárások „jelentőségének” és „használhatóságának” sémájának. A program blokkvázlata a fentiek figyelembevételével a 2. ábrán látható.

A program képernyős felületének fejlesztése

A képernyő interfész tervezésének meglévő megközelítései

A program képernyős felülete nagymértékben meghatározza a felhasználó kényelmét, és az egyik fontos tényező, amely befolyásolja munkájának hatékonyságát. Az összes hozzárendelt funkciót végrehajtó, nagy sebességű program az elfogadhatatlan felhasználói felület miatt teljesen alkalmatlan lehet a munkára. Alig néhány évvel ezelőtt volt egy szövegszerkesztő, amely tökéletesen illusztrálta a szoftvertervezés ezen megközelítését. Nem valószínű, hogy valakinek tetszeni fog egy olyan szövegszerkesztő, amelyben egy karakter beszúrásához be kell írnia egy egybetűs beszúrási parancskódot, a feldolgozott sor számát (szerencsére nem binárisan), a karakter, amely után az új karakter beszúrásra kerül, és maga ez a karakter. Természetesen ez a megközelítés teljesen elfogadhatatlan.

A legpraktikusabb és legfelhasználóbarátabb rendszerek azok a rendszerek, amelyek egy előugró menürendszerre épülő képernyőfelülettel rendelkeznek. Jelenleg a legelterjedtebb a két ideológia (értsd: DOS-alkalmazások), amelyek magukban foglalják a képernyőn megjelenő ablakok bizonyos formáit és a színsémát és a pop-up listák megjelenését. Ezek a Borland eszközkörnyezetei és a Symantec Norton Operating Shell. Mindkét ideológia előírja a képernyőtér bizonyos felosztását területekre vagy zónákra, amelyek meghatározott információs objektumok és cselekvések számára készültek. A zónák a felhasználó kérésére bizonyos mértékig átkonfigurálhatók: változnak a méretek és a képernyőn elfoglalt helyzet. Az adatfeldolgozási parancsokat a menürendszerből hívják, állandóan jelen vannak a képernyőn (Borland), vagy a funkcióbillentyűvel (Symantec).

Mindkét esetben az összes rendszerparancs funkcionális jellemzői szerint csoportokba van osztva, és a főmenüben vannak

a parancscsoportok tényleges nevei. A csoport kiválasztásával a felhasználó hozzáfér a csoportparancsok listájához, amely másodszintű csoportokba csoportosított parancsokat is tartalmazhat, stb.

Így egy többszintű előugró menürendszer jön létre. Egy ilyen ideológia alkalmazása biztosítja az eligazodás kényelmét egy meglehetősen összetett, többszintű, sok választási lehetőséget kínáló rendszerben. Természetesen a kiválasztási listák egymásba ágyazásának és méretének növelésének ésszerű korlátokat kell szabni, amelyek szerencsére a monitor korlátozott képernyőterülete formájában jelentkeznek. A legtöbb rendszerben lehetőség van a színpaletta testreszabására is a felhasználó kérésére. A Norton operációs shell több szabványos opció közül is választhat színskálát, a Borland rendszerekben a legapróbb részletekig saját színskálát alakíthatunk ki. Néhány képernyőobjektum hozzávetőleges nézete a 4,5 ábrán látható.

A képernyő interfész ideológiájának megválasztása