Îngrijirea feței: ten gras

Schema funcțională a programului. Proiectarea structurală a programelor. Lista aproximativă a funcțiilor sistemului

Schema funcțională a programului.  Proiectarea structurală a programelor.  Lista aproximativă a funcțiilor sistemului

Subiectul 3. SOFTWARE

Pentru utilizarea adecvată a computerului ( procesarea informatiei) trebuie să cunoașteți scopul și proprietățile programelor de care aveți nevoie atunci când lucrați cu el. Un set de programe și documentație însoțitoare ( utilizate în operarea acestor programe), se numește software(DE). Software-ul este o parte integrantă a oricărui sistem de calcul și este partajat ( cu programare) în trei categorii: programul sistemului(necesar pentru a controla computerul, pentru a crea și a sprijini execuția altor programe de utilizator, pentru a oferi utilizatorului un set de diverse servicii), sisteme de programare sau sisteme de scule (oferind crearea de noi programe pentru calculatoare) și software de aplicație (asigurând direct efectuarea lucrării solicitate de utilizator).


Structura software

Programul sistemului include un set de programe care controlează funcționarea hardware-ului computerelor și rețelelor de calculatoare ( de regulă, aceste programe nu rezolvă sarcini specifice utilizatorului, ci creează condiții pentru soluționarea lor). Software de sistem trimis la:

pentru a asigura funcționarea stabilă a unui computer și a unei rețele de calculatoare;

să creeze condiții pentru funcționarea normală a programelor de aplicație;

să efectueze operații auxiliare;

pentru diagnosticarea hardware-ului de calculator și a rețelei de calculatoare;

Întregul set de programe de sistem poate fi împărțit în două grupuri mari: software de bazăȘi sisteme de servicii. Software-ul de bază este setul minim de software care face ca computerul să funcționeze.

Subclasa de bază Software-ul include:

· OS (OS) - un set de programe care controlează procesul de execuție a programelor de aplicație, planificarea și gestionarea resurselor de calcul pentru PC ( Sistemul de operare preia execuția unor astfel de operațiuni precum monitorizarea stării de sănătate a echipamentelor PC; efectuarea procedurii de bootstrap; gestionarea funcționării tuturor dispozitivelor PC; managementul sistemului de fișiere; interacțiunea utilizatorului cu un computer; încărcarea și execuția programelor de aplicație; distribuirea resurselor PC - RAM, timp procesor și dispozitive periferice între programele de aplicație).

shell-uri de operare - programe speciale concepute pentru a facilita comunicarea utilizatorului cu comenzile sistemului de operare, având opțiuni text și grafice pentru interfața utilizatorului final ( Programele shell oferă o modalitate convenabilă și vizuală de a comunica cu un computer, vă permit să afișați vizual conținutul directoarelor pe discuri, să copiați, să redenumiți, să trimiteți și să ștergeți fișiere, etc.).



· sisteme de operare în rețea - un set de programe care asigură procesarea, transmiterea și stocarea datelor în rețea.

Până de curând, majoritatea PC-urilor aveau instalat un sistem de operare. MS DOS, care a fost creat în 1981 de Microsoft ( rețineți că nu a fost dezvoltarea inițială a Microsoft în sine - compania lui Bill Gates a finalizat doar „OS” numit QDOS, creat de o altă companie). Înainte de apariția Windows, sistemul de operare pe disc MS DOS era cel mai popular și utilizat pe scară largă. În mediul său a fost creată o întreagă generație de software. Pe baza MS DOS, în procesul de dezvoltare a tehnologiei informatice, a apărut Windows ( Din 1996, MS DOS a fost inclus în mediul de operare Windows 95). Principalele componente ale sistemului de operare, dezvoltate în mediul MS DOS, sunt clasice și sunt incluse organic în Windows într-o nouă etapă de dezvoltare a software-ului în general și de bază - sistemele de operare.

MS DOS este un sistem de operare „interfață de linie de comandă” pe 16 biți, cu o singură sarcină, care este compact, are cerințe hardware modeste și îndeplinește strictul minim de funcții pentru utilizatori și programe. Principalele dezavantaje ale DOS:

Principalul său punct slab este lucrul cu RAM limitată ( în epoca creării MS-DOS, memoria RAM a majorității computerelor nu depășea 256 kiloocteți. DOS putea funcționa cu 640 de kiloocteți de RAM, iar Bill Gates a susținut că nimeni nu va avea nevoie vreodată de mai mult, dar odată cu trecerea timpului, au apărut programe care aveau nevoie de mai multă RAM pentru a funcționa și trebuiau să folosească programe speciale - manageri de memorie, dar nu s-au rezolvat. problema);

Al doilea dezavantaj al DOS a fost imposibilitatea de a lucra într-un mod grafic cu drepturi depline ( deși computerele vremii puteau deja să ofere suport pentru aceasta);

· Al treilea dezavantaj al MS-DOS a fost o singură sarcină.

Sistemele de operare ale familiei DOS, în ciuda simplității și rentabilității lor, sunt învechite și au fost înlocuite cu sisteme de operare de nouă generație. Aceste sisteme de operare includ sisteme de operare ale familiei Windows, sistemele de operare ale familiei Unix si etc.

Sisteme de service- destinat intretinerii computerelor ( extinde capacitățile software-ului de bază). Din punct de vedere funcțional, dintre software-ul de service, putem distinge:

Programe de întreținere a discurilor ( asigurarea verificării calității suprafeței discului, controlul siguranței fișierelor, compresia discului, crearea de copii de asigurare, backup de date pe suport extern etc.);

program antivirus ( asigurarea protecției computerului, detectarea și recuperarea fișierelor infectate);

programe de arhivare a datelor ( furnizează procesul de comprimare a informațiilor în fișiere pentru a reduce cantitatea de memorie pentru stocarea acestora);

programe de întreținere a rețelei.

programe pentru diagnosticarea stării de sănătate a unui computer;

Programe utilizate pentru efectuarea de operațiuni auxiliare de prelucrare a datelor sau de întreținere a computerului ( diagnosticare, testare, optimizare a utilizării spațiului pe disc, recuperarea informațiilor distruse pe un disc magnetic etc.) se numesc utilitati.

Sisteme de programare sau sisteme de instrumente sunt produse software care suportă tehnologia de programare. În această direcție, există instrumente pentru crearea de aplicații, inclusiv:

instrumente locale care asigură efectuarea muncii individuale privind crearea de programe;

· Medii integrate pentru dezvoltatorii de programe, care asigură implementarea unui set de lucrări interdependente privind crearea de programe.

Instrumentele locale de dezvoltare software includ limbaje și sisteme de programare, precum și mediul de instrumente al utilizatorului. Există limbaje de programare a mașinilor ( codurile de mașină acceptate de hardware-ul computerului), limbaje orientate către mașină ( limbaje de programare care reflectă structura unui anumit tip de computer - asamblatori), algoritmic ( universal) limbi independente de arhitectura computerului, cum ar fi Fortran ( Fortran), Cobol ( Cobol), Algol ( Algol), Pascal ( Pascal), BAZĂ ( De bază), Si ( C), C++ ( C++) si etc.; limbi procedurale ( unde se poate descrie programul ca un set de proceduri – subrutine), limbi specifice domeniului ( concepute pentru a rezolva probleme dintr-o anumită clasă), sisteme de programare integrate. Rețineți că clasificarea limbajelor de programare nu este fixată de GOST-uri ( în scop educativ, acestea sunt de obicei clasificate după diverse criterii). Un program pregătit într-un limbaj de programare trece prin etapa de traducere, depanare și testare.

Scopul principal al setului de instrumente al mediilor software integrate este de a crește productivitatea programatorilor, de a automatiza crearea de programe care oferă o interfață grafică pentru utilizator etc.

În plus, există instrumente pentru crearea de sisteme informatice complexe ( CAZ - tehnologie). Proiectarea sistemelor informatice este o muncă intensivă în muncă și consumatoare de timp, care necesită specialiști de înaltă calificare implicați în aceasta. În trecutul recent, designul a fost adesea realizat la un nivel intuitiv, cu metode informale care includeau elemente de artă, experiență practică, judecată experților și teste de performanță experimentale costisitoare. La începutul anilor 70. în SUA a fost o criză de programare ( criza software-ului). Acest lucru s-a reflectat în faptul că proiectele mari au început să fie realizate cu întârziere sau depășind costurile estimate, produsul dezvoltat nu avea funcționalitatea necesară, performanța sa era scăzută și calitatea software-ului rezultat nu se potrivea consumatorilor. Necesitatea de a controla procesul de dezvoltare a software-ului, de a prezice și de a garanta costul dezvoltării, calendarul și calitatea rezultatelor a dus la necesitatea trecerii de la metodele artizanale la cele industriale de creare a software-ului și la apariția unui set de metode și instrumente de inginerie pentru crearea de software. , unită prin denumirea comună „ingineria software” ( Inginerie software). Ingineria software se bazează pe ideea că proiectarea software este un proces formal care poate fi învățat și îmbunătățit. Până la sfârșitul anilor 80. au fost multe cercetări în domeniul programării ( dezvoltarea și implementarea de limbaje de nivel înalt, metode de programare structurată și modulară, limbaje de proiectare și instrumente de suport ale acestora, limbaje formale și informale pentru descrierea cerințelor și specificațiilor de sistem etc.). termen CAZ ( Inginerie software asistată de calculator) are un sens foarte larg. Inițial, sensul termenului CASE a fost limitat la problemele de automatizare a dezvoltării doar a software-ului, dar acum a căpătat un nou sens și acoperă procesul de dezvoltare a sistemelor informaționale complexe în ansamblu. Tehnologia CASE este un set de metode de proiectare a sistemelor informatice, precum și un set de instrumente care vă permit să modelați vizual un domeniu, să analizați acest model în toate etapele de dezvoltare și întreținere și să dezvoltați aplicații în conformitate cu nevoile de informații ale utilizatorii. Majoritatea instrumentelor CASE existente se bazează pe metode de analiză și proiectare structurale sau orientate pe obiecte, folosind specificații sub formă de diagrame sau texte pentru a descrie cerințele externe, relațiile dintre modelele de sistem, dinamica comportamentului sistemului și arhitecturile software.

Programe de aplicație- conceput pentru a rezolva sarcinile aplicate de utilizator ( asigură executarea sarcinilor necesare utilizatorului pe computer). Condițional ( conform scopului lor) pot fi împărțite în următoarele subclase:

Programe pentru procesarea textului;

· editor grafic;

Programe pentru procesarea imaginilor foto și video;

programe pentru pregătirea prezentărilor;

foi de calcul;

sisteme de gestionare a bazelor de date;

· Programe de analiză economică şi statistică;

Sisteme de proiectare asistată de calculator (CAD);

sisteme de regăsire a informațiilor;

software de rețea ( programe de e-mail, acces la videoconferințe, browsere de internet etc.);

programe de joc.

Aplicația software constă din pachete de aplicații(PPP) și programe de aplicație utilizator.

În prezent, un loc semnificativ în software-ul de aplicație îl ocupă pachetele software de aplicație, care, în funcție de domeniul de aplicare, sunt împărțite în pachete specifice domeniului (care vizează rezolvarea unei game restrânse de probleme), pachete de uz general (concepute pentru a rezolva sarcini tipice de prelucrare a datelor) Și pachete integrate (domeniul de aplicare a acestora este în principal sfera economică; ele conțin de obicei: o foaie de calcul, un editor de text, un sistem de gestionare a bazelor de date, un editor grafic, instrumente de comunicare). Programe de aplicație sunt create ca parte a unui mediu de calcul specific ( acestea sunt de obicei dezvoltate de la caz la caz, în conformitate cu acordul PPP sau OS în temeiul căruia se aplică).

În această metodă, împărțirea unui sistem complex în mai multe subsisteme se numește „ împărțiți și domniți» (divide et impera), descompunere ierarhică sau funcțională etc. În acest caz, principiile de bază sunt:

a) „împarte și cuceri”;

b) Design de sus în jos - de la enunțul general al problemei la sub-sarcini individuale etc.;

c) principiul ordonării ierarhice, care presupune organizarea părților constitutive ale sistemului în structuri arborescente ierarhice cu adăugarea de noi detalii la fiecare nivel.

Procesul de proiectare a unui software complex începe cu clarificarea structurii acestuia, adică determinarea componentelor structurale și a relațiilor dintre ele. Rezultatul perfecționării structurii poate fi prezentat sub formă de diagrame structurale și/sau funcționale și descrieri (specificații) componente.

Diagrama bloc a software-ului dezvoltat

Structural numiți o schemă care reflectă compoziția și interacțiunea în gestionarea părților software-ului dezvoltate. De obicei, astfel de scheme sunt dezvoltate pentru fiecare program al unui pachet mare, iar lista de programe este determinată prin analizarea funcțiilor specificate în termenii de referință.

Cel mai simplu tip de software este un program care poate include doar subrutine și biblioteci de resurse ca componente structurale. Dezvoltarea diagramei bloc a programului este de obicei realizată prin metoda detalierii pas cu pas.

Componentele structurale ale unui sistem software sau complex pot fi programe, subsisteme, baze de date, biblioteci de resurse etc.

Deci, schema pachetului software demonstrează transferul controlului de la programul dispecer în programul corespunzător, așa cum se arată în Fig. 4.1. Programele complexului, de regulă, sunt slab conectate. Prin urmare, un dispecer este folosit pentru a-și organiza munca în comun.

Orez. 4.1. Un exemplu de diagramă bloc a unui pachet software.

Schema structurala sistem software, de regulă, arată prezența subsistemelor sau a altor componente structurale. Spre deosebire de un complex, părți individuale (subsisteme) ale unui sistem software schimbă intens date între ele și, eventual, cu programul principal. Diagrama bloc a sistemului software, de regulă, nu arată acest lucru, așa cum se poate vedea din Fig. 4.2.


De obicei, este o schemă ierarhică pe mai multe niveluri de interacțiune între subrutinele de control. În etapa inițială, diagrama afișează două niveluri de ierarhie, adică arată structura generală a programului. Cu toate acestea, aceeași metodă face posibilă obținerea de diagrame bloc cu un număr mare de nivele.


Metoda de pas implementează o abordare de sus în jos și se bazează pe structurile de bază ale programării structurate. Aceasta implică dezvoltarea pas cu pas a algoritmului, așa cum se arată în Figura 4.3. Fiecare pas în acest caz include descompunerea funcției în subfuncții. Deci, în prima etapă, este descrisă soluția sarcinii, evidențiind subsarcinile comune. Pe următorul, subsarcinile sunt descrise în mod similar, în timp ce se formulează elementele nivelului următor. Astfel, la fiecare pas, funcțiile software-ului proiectat sunt rafinate. Procesul continuă până când ajung la subsarcini, algoritmi ale căror soluții sunt evidente.

În acest caz, este necesar, în primul rând, detalierea proceselor de control, lăsând în final rafinarea operațiunilor cu date. Acest lucru se datorează faptului că detalierea cu prioritate a proceselor de control simplifică foarte mult structura componentelor tuturor nivelurilor ierarhiei și face posibilă nu separarea procesului decizional de implementarea acestuia. După ce s-a determinat condiția pentru alegerea unei alternative, modulul care o implementează este apelat imediat.

Diagrama functionala sau schema de date (GOST 19. 701-90) - o diagramă a interacțiunii componentelor software cu o descriere a fluxurilor de informații, compoziția datelor în fluxuri și o indicație a fișierelor și dispozitivelor utilizate. Pentru a descrie aceste scheme, sunt utilizate denumiri speciale stabilite de standard.

Diagramele funcționale sunt mai informative decât cele structurale. Pe fig. 4.4 pentru comparație sunt diagrame funcționale ale sistemelor și sistemelor software.



b)

Orez. 4.4. Exemple de diagrame funcționale: a - un set de programe, b - un sistem software.

Toate componentele diagramelor structurale și funcționale trebuie descrise. Cu o abordare structurată, specificațiile interfeței de interprogramare trebuie elaborate cu atenție, deoarece de ele depind cele mai costisitoare erori.

Proiectarea structurală utilizează trei tipuri principale de modele (diagrame):

1) SADT (Structured Analysis and Design Technique - metoda de analiză structurală și proiectare) - modele și diagrame funcționale corespunzătoare;

2) DFD (Data Flow Diagrams) - diagrame de flux de date;

3) ERD (Entity-Relationship Diagrams) - diagrame „entity-relationship”.

Model SADT funcțional afișează structura funcțională a obiectului, adică acțiunile pe care le efectuează și conexiunile dintre aceste acțiuni.

Componenta principală a modelului este diagramă . Pe acesta, toate funcțiile și interfețele sunt prezentate sub formă de blocuri și, respectiv, arce. Punctul de conectare al arcului cu blocul determină tipul de interfață. Informații de control incluse în bloc de mai sus. intrare informația în curs de procesare este afișată cu stânga partea blocului și rezultat(ieșire) - cu dreapta. Mecanism(sistem uman sau automatizat) care efectuează operația este reprezentat de un arc inclus în bloc de desubt(Fig. 4.5).

Construcția modelului SADT începe cu reprezentarea întregului sistem sub forma celei mai simple componente - un bloc și arce care descriu o interfață cu funcții în afara sistemului. Apoi acest bloc este detaliat pe o altă diagramă folosind mai multe blocuri conectate prin arcuri de interfață. Noile blocuri definesc principalele subfuncții ale funcției originale, care, la rândul lor, pot fi detaliate și așa mai departe. (vezi figura 4.6).


Orez. 4.6

Diagramele fluxului de date(DFD) sunt principalele mijloace de modelare a cerințelor funcționale pentru sistemul proiectat. Cu ajutorul lor, aceste cerințe sunt prezentate sub formă de ierarhii de componente funcționale (procese) conectate prin fluxuri de date. Scopul principal al acestei reprezentări este de a arăta modul în care fiecare proces își transformă intrările în ieșiri și de a dezvălui relațiile dintre aceste procese.

Principalele componente ale diagramelor de flux de date sunt:

a) entitati externe;

b) sisteme și subsisteme;

c) procese;

d) dispozitive de stocare a datelor;

e) fluxul de date.

entitate externă reprezintă un obiect material sau un individ care este sursă sau receptor de informaţie. Este reprezentat ca un dreptunghi tridimensional cu o inscripție, așa cum se arată în Figura 4.7.

Subsistemul(vezi figura 4.8) sau proces(Fig. 4.9) sunt reprezentate printr-un dreptunghi cu marginile rotunjite. Acesta conține trei câmpuri:

a) numere;

c) Implementare fizică.

Subsistemul și procesul diferă ca nume. Primul conține numele subsistemului, iar al doilea conține verbul care definește ceea ce face procesul.

Orez. 4.8. STI - Inspectoratul Fiscal de Stat

Stocare a datelor este un dispozitiv abstract pentru stocarea informațiilor. Este reprezentat așa cum se arată în Fig. 4.10. Denumirea sa începe cu litera D.

Flux de date pe diagramă este reprezentată printr-o linie care se termină cu o săgeată care arată direcția curgerii. Fiecare flux de date are un nume care reflectă conținutul său.

Un exemplu de diagramă de flux de date este prezentat în fig. 4.11.

O diagramă de flux de date mai complexă este prezentată în fig. 4.12.

Diagramele ER vor fi discutate mai târziu.

În proiectul de curs, pe lângă diagrama funcțională, este necesar să se prezinte algoritmi pentru cele mai complexe funcții (de exemplu, sortarea și căutarea).

Un set de programe concepute pentru a rezolva probleme pe un PC se numește software. Compoziția software-ului PC se numește configurație software. Software-ul poate fi împărțit în trei categorii (Fig. 1):

Figura 1. Clasificarea software-ului

    software de sistem (programe de uz general) care îndeplinesc diverse funcții auxiliare, cum ar fi crearea de copii ale informațiilor utilizate, emiterea de informații de ajutor despre computer, verificarea funcționalității dispozitivelor computerizate etc.

    software de aplicație care asigură munca necesară pe un computer: editarea documentelor text, crearea de desene sau imagini, procesarea matricelor de informații etc.

    unelte software (sisteme de programare) care asigură dezvoltarea de noi programe pentru un calculator într-un limbaj de programare.

Programul sistemului este un set de programe care asigură un control eficient al componentelor sistemului informatic, cum ar fi un procesor, RAM, dispozitive de intrare-ieșire, echipamente de rețea, care acționează ca o „interfață interstrat”, pe o parte din care se află hardware-ul, iar pe cealaltă - aplicatii utilizator. Spre deosebire de software-ul de aplicație, software-ul de sistem nu rezolvă probleme specifice aplicației, ci doar asigură funcționarea altor programe, gestionează resursele hardware ale unui sistem informatic etc.

Aceste programe de utilizare generală nu au legătură cu o anumită aplicație pentru PC și îndeplinesc funcții tradiționale: programarea și gestionarea sarcinilor, gestionarea I/O etc. Cu alte cuvinte, programele de sistem îndeplinesc diverse funcții auxiliare, de exemplu, crearea de copii ale informațiilor utilizate, emiterea de informații de ajutor despre computer, verificarea funcționalității dispozitivelor computerizate etc. Software-ul de sistem include:

    sisteme de operare (acest program este încărcat în RAM când computerul este pornit)

    programe shell (oferă o modalitate mai convenabilă și mai vizuală de a comunica cu computerul decât utilizarea liniei de comandă DOS, cum ar fi Norton Commander)

    shell-urile de operare sunt sisteme de interfață care sunt utilizate pentru a crea interfețe grafice, multiprogramare etc.

    Drivere (programele concepute pentru a controla porturile dispozitivelor periferice sunt de obicei încărcate în RAM atunci când computerul pornește)

    utilități (programe auxiliare sau de serviciu care oferă utilizatorului o serie de servicii suplimentare)

Utilitățile includ:

    manageri de fișiere sau manageri de fișiere

    mijloace de compresie dinamică a datelor (vă permit să creșteți cantitatea de informații de pe disc datorită compresiei sale dinamice)

    instrumente de vizualizare și redare

    unelte de diagnostic; instrumentele de control vă permit să verificați configurația computerului și să verificați operabilitatea dispozitivelor computerizate, în primul rând hard disk-urile

    mijloacele de comunicare (programele de comunicare) sunt concepute pentru a organiza schimbul de informații între calculatoare

    instrumente de securitate informatică (backup, software antivirus).

Utilitarele sunt programe concepute pentru a rezolva o gamă restrânsă de sarcini auxiliare.

Uneori, utilitățile sunt clasificate ca software de serviciu.

Utilitățile sunt folosite pentru:

    Monitorizarea indicatorilor de performanță ai senzorilor și echipamentelor - monitorizarea temperaturilor procesorului, adaptorului video; citind S.M.A.R.T. hard disk-uri;

    Controlul parametrilor echipamentului - limitarea vitezei maxime de rotație a unității CD; modificarea vitezei ventilatorului.

    Controlul indicatorilor - verificarea integritatii referentiale; înregistrarea corectă a datelor.

    Îmbunătățiri - formatarea și/sau re-partiționarea discului cu păstrarea datelor, ștergerea fără posibilitatea de recuperare.

Tipuri de utilitate:

Utilitare de disc

      Defragmentare

      Verificarea discului - căutarea fișierelor și secțiunilor discului care au fost înregistrate incorect sau deteriorate în diferite moduri și ștergerea lor ulterioară pentru utilizarea eficientă a spațiului pe disc.

      Disk Cleanup - ștergeți fișierele temporare, fișierele inutile, goliți „coșul de reciclare”.

      Partiționarea discului - împărțirea unui disc în discuri logice, care pot avea sisteme de fișiere diferite și sunt percepute de sistemul de operare ca mai multe discuri diferite.

      Backup - crearea de copii de rezervă ale întregilor discuri și fișiere individuale, precum și restaurarea din aceste copii.

      Comprimarea discului - comprimă informațiile de pe discuri pentru a crește capacitatea hard disk-urilor.

      • Utilități de registru

        Utilitare de monitorizare hardware

        Teste de echipamente

Figura 2. Locul software-ului open source în structura pe mai multe niveluri a unui computer

Trebuie remarcat faptul că unele dintre utilități fac parte din sistemul de operare, în timp ce cealaltă parte funcționează autonom. Majoritatea programelor generale (de sistem) fac parte din sistemul de operare (Fig. 2). O parte din software-ul general este inclusă în computerul însuși (o parte din programele OS și testele de control sunt înregistrate în ROM sau PROM instalat pe placa de sistem). O parte din software-ul partajat este software autonom și este disponibil separat.

          Software de aplicație. Programele de aplicație pot fi utilizate independent sau ca parte a sistemelor sau pachetelor software. Software de aplicație - programe care asigură în mod direct efectuarea lucrărilor necesare pe un computer: editarea documentelor text, crearea de desene sau imagini, crearea de foi de calcul etc. Pachetele de software de aplicație sunt un sistem de programe care, în funcție de sfera lor de aplicare, sunt împărțite în probleme. -orientate, pachete generale destinatii si pachete integrate. Pachetele moderne integrate conțin până la cinci componente funcționale: un procesor de testare și foi de calcul, un DBMS, un editor grafic și facilități de telecomunicații. Aplicația software include, de exemplu:

    Suita MS OFFICE

    Sisteme contabile

    Sisteme analitice financiare

    Pachete de birou integrate

    CAD - sisteme (sisteme de proiectare asistată de calculator)

    Editore HTML sau Web

    Browsere - Vizualizatori web

    Editor grafic

    Sistem expert.

          Software pentru instrumente. Software-ul instrument sau sistemele de programare sunt sisteme pentru automatizarea dezvoltării de noi programe într-un limbaj de programare. În cel mai general caz, pentru a crea un program în limbajul de programare ales (limbaj de programare a sistemului), trebuie să aveți următoarele componente: 1. Editor de text pentru crearea unui fișier cu codul sursă al programului. 2. Compilator sau interpret. Textul sursă este tradus într-un cod obiect intermediar folosind un program compilator. Codul sursă al unui program mare este format din mai multe module(fișiere sursă). Fiecare modul este compilat într-un fișier separat cu cod obiect, care apoi trebuie combinat într-un singur întreg.3. Un linker sau un asamblator care conectează module obiect și produce o aplicație funcțională - cod executabil. Un cod executabil este un program complet care poate fi rulat pe orice computer care are sistemul de operare pentru care a fost creat programul. De regulă, fișierul rezultat are extensia .EXE sau .COM.4. Recent, s-au răspândit metodele de programare vizuală (folosind limbaje de scripting), axate pe crearea de aplicații Windows. Acest proces este automatizat în medii de proiectare rapidă. În acest caz, sunt utilizate componente vizuale gata făcute, care sunt configurate folosind editori speciali. Cei mai populari editori (sisteme de programare folosind instrumente vizuale) pentru design vizual:

    Borland Delphi - conceput pentru a rezolva aproape orice problemă de programare a aplicațiilor

    Borland C++ Builder este un instrument excelent pentru dezvoltarea aplicațiilor DOS și Windows

    Microsoft Visual Basic este un instrument popular pentru crearea de programe Windows.

    Microsoft Visual C++ - acest instrument vă permite să dezvoltați orice aplicație care rulează într-un mediu OS, cum ar fi Microsoft Windows

Întrebări de control:

    Definiți un sistem de operare.

    Ce software este clasificat ca software de sistem?

    Denumiți software-ul utilitar.

    Ce software este aplicat?

    Care este scopul software-ului?

    Care sunt principalele clase de programe? Dați exemple de programe din fiecare clasă în funcție de scop.

Proiectarea software-ului începe cu definirea structurii acestuia.

5. 1. Elaborarea schemelor structurale si functionale.

Procesul de proiectare a unui software complex începe cu clarificarea structurii acestuia, adică determinarea componentelor structurale și a relațiilor dintre ele. Rezultatul perfecționării structurii poate fi prezentat sub formă de diagrame structurale și/sau funcționale și descrieri (specificații) componente.

Diagrama bloc a software-ului dezvoltat

O diagramă structurală este o diagramă care reflectă compoziția și interacțiunea în gestionarea părților software-ului dezvoltat.

Diagrame bloc pachete software nu sunt informative, deoarece organizarea programelor în pachete nu prevede transferul controlului între ele. Prin urmare, diagramele bloc sunt dezvoltate pentru fiecare program pachet, iar lista programelor pachet este determinată prin analiza funcțiilor specificate în termenii de referință.

Cel mai simplu tip de software este un program care poate include doar subrutine și biblioteci de resurse ca componente structurale.

Dezvoltarea diagramei bloc a programului este de obicei realizată prin metoda detalierii pas cu pas.

Componentele structurale ale unui sistem software sau pachet software pot fi programe, subsisteme, baze de date, biblioteci de resurse etc.

Schema structurala pachete software demonstrează transferul controlului din programul dispecerului în programul corespunzător (Fig. 1.1).

Orez. 5.1. Un exemplu de diagramă bloc a unui pachet software.

Schema structurala sistem software, de regulă, arată prezența subsistemelor sau a altor componente structurale. Spre deosebire de un pachet software, părțile individuale (subsistemele) ale unui sistem software schimbă intens date între ele și, eventual, cu programul principal. Diagrama bloc a unui sistem software de obicei nu arată acest lucru (Fig. 1.2).


Orez. 5.2. Un exemplu de diagramă bloc a unui sistem software.

O imagine mai completă a software-ului proiectat în ceea ce privește interacțiunea componentelor sale între ele și cu mediul extern este dată de o diagramă funcțională.

Diagrama functionala

Diagrama funcțională sau diagrama de date (GOST 19. 701-90) - o diagramă a interacțiunii componentelor software cu o descriere a fluxurilor de informații, compoziția datelor în fluxuri și o indicație a fișierelor și dispozitivelor utilizate. Pentru a descrie diagramele funcționale, sunt utilizate denumiri speciale stabilite de standard.

Diagramele funcționale sunt mai informative decât cele structurale. Pe fig. 1.3 pentru comparație sunt diagrame funcționale ale sistemelor și sistemelor software.



Orez. 5.3. Exemple de diagrame funcționale: a - un set de programe, b - un sistem software.

Toate componentele diagramelor structurale și funcționale trebuie descrise. Cu o abordare structurală, este deosebit de necesar să se elaboreze specificațiile interfețelor interprogram cu o grijă deosebită, deoarece numărul celor mai scumpe erori depinde de calitatea descrierii lor. Cele mai scumpe sunt erorile găsite în timpul testării complexe, deoarece eliminarea lor poate necesita modificări serioase ale textelor deja depanate.

5.2. Utilizarea metodei pas cu pas pentru a proiecta structura software.

Abordarea structurală a programării în forma în care a fost formulată în anii 70 ai secolului XX a propus să se realizeze descompunerea programelor prin metoda detalierii pas cu pas. Rezultatul descompunerii este o diagramă bloc a programului, care este o schemă ierarhică pe mai multe niveluri de interacțiune între subrutinele de control. Cel puțin, o astfel de schemă afișează două niveluri de ierarhie, adică arată structura generală a programului. Cu toate acestea, aceeași metodă face posibilă obținerea de diagrame bloc cu un număr mare de nivele.

Metoda pas cu pas implementează o abordare de sus în jos și se bazează pe constructele de bază ale programării structurate. Implica dezvoltarea pas cu pas a algoritmului. Fiecare pas în acest caz include descompunerea funcției în subfuncții. Deci, în prima etapă, este descrisă soluția sarcinii, evidențiind subsarcinile comune, în etapa următoare, soluția subsarcinilor este descrisă în mod similar, în timp ce se formulează subsarcinile de la nivelul următor. Astfel, la fiecare pas, funcțiile software-ului proiectat sunt rafinate. Procesul continuă până când ajung la subsarcini, algoritmi ale căror soluții sunt evidente.

Când descompuneți un program folosind metoda de detaliere în trepte, ar trebui să respectați regula de bază a descompunerii structurale, care decurge din principiul controlului vertical: în primul rând, detaliați procesele de control ale componentei descompuse, lăsând rafinarea operațiunilor de date. în cele din urmă. Acest lucru se datorează faptului că detalierea cu prioritate a proceselor de control simplifică semnificativ structura componentelor tuturor nivelurilor ierarhiei și face posibilă nu separarea procesului decizional de implementarea acestuia: astfel, după ce s-a determinat condiția de alegere o alternativă, modulul care o implementează este imediat numit.

Detalierea operațiunilor cu structuri în ultimă instanță va face posibilă amânarea specificației specificațiilor acestora și va oferi posibilitatea modificării relativ nedureroase a acestor structuri prin reducerea numărului de module care depind de aceste date.

În plus, este recomandabil să respectați următoarele recomandări:

Nu separați operațiunile de inițializare și terminare de procesarea corespunzătoare, deoarece modulele de inițializare și terminare au o coeziune slabă (temporală) și cuplare puternică (prin control);

Nu proiectați module prea specializate sau prea generice, deoarece proiectarea modulelor prea specializate crește numărul acestora, iar proiectarea modulelor prea generice crește complexitatea acestora;

Evitați dublarea acțiunilor în diferite module, deoarece atunci când acestea se schimbă, vor trebui făcute corecții în toate fragmentele de program în care sunt executate - în acest caz, este recomandabil să implementați pur și simplu aceste Acțiuni într-un modul separat;

Grupați mesajele de eroare într-un singur modul în funcție de tipul bibliotecii de resurse, apoi va fi mai ușor să ajungeți la un acord asupra textului, să evitați duplicarea mesajelor și, de asemenea, să traduceți mesajele într-o altă limbă.

În același timp, atunci când descrieți soluția fiecărei probleme, este de dorit să utilizați nu mai mult de 1-2 structuri structurale de control, cum ar fi o buclă while sau ramificare, care vă permite să vă imaginați mai clar structura procesului de calcul organizat. .

Partiționarea în module în acest tip de proiectare se realizează euristic, pe baza dimensiunilor recomandate ale modulelor (20-60 de linii) și a complexității structurii (două sau trei structuri de control imbricate). În principiu, ca modul (subprogram), este posibil să se implementeze soluția de subsarcini formulate la orice pas al procesului de detaliere, cu toate acestea, principiile de asigurare a fabricabilității modulelor joacă un rol decisiv în împărțirea programului în module.

Pentru a analiza fabricabilitatea ierarhiei de module rezultate, este recomandabil să folosiți hărți structurale Constantine sau Jackson.

5. 3. Hărți structurale ale lui Constantin.

Pe harta structurală, relațiile dintre module sunt reprezentate sub formă de grafic, ale cărui vârfuri corespund modulelor și zonelor de date comune, iar arcelor - apeluri inter-module și apeluri către zone comune de date.

Există patru tipuri de vârfuri (Fig. 1.4.):

Modul - subrutină,

Subsistem - program,

Biblioteca - un set de subrutine situate într-un modul separat,

Zona de date - un set special conceput de date care poate fi accesat din exterior.

A). b). V). G).

Orez. 5.4. Desemnarea vârfurilor conform standardelor IBM, ISO și ANSI:

a – modul; b - subsistem; c - bibliotecă; d – zona de date.

În acest caz, părțile individuale ale sistemului software (programe, subrutine) pot fi apelate secvenţial, în paralel sau ca corutine (Fig. 1.5.).


Orez. 5.5. Desemnarea tipului de apel:

a – apel secvenţial; b – apel paralel; c este un apel la o corutine.

Cel mai des folosit consistent un apel în care modulele, după ce au trecut controlul, așteaptă finalizarea execuției programului sau subrutinei apelate pentru a continua procesarea întreruptă.

Sub paralel un apel este înțeles ca paralelizarea calculelor pe mai multe computere, atunci când, atunci când este activat un alt proces, acest proces continuă să funcționeze . Pe computerele cu un singur procesor din medii multiprogramare, în acest caz, începe execuția alternativă a programelor corespunzătoare. Procesele paralele sunt fie sincrone, fie asincrone. Punctele de sincronizare sunt determinate pentru procesele sincrone - momente de timp în care se face schimb de informații între procese. Procesele asincrone fac schimb de informații numai în momentul activării procesului paralel.

Sub apel de rutinăînțelegeți posibilitatea executării secvențiale a două programe care rulează simultan, de exemplu, dacă un program a pregătit un pachet de date pentru ieșire, atunci cel de-al doilea îl poate scoate și apoi trece în starea de așteptare pentru următorul lot. Mai mult, în sistemele cu mai multe programe, programul principal, având date transferate, continuă să funcționeze și nu intră într-o stare de așteptare.

Hărțile structurale Constantine vă permit să vizualizați rezultatul descompunerii unui program în module și să evaluați calitatea acestuia, adică respectarea recomandărilor de programare structurată (cuplare și conectivitate).

5.4. Proiectarea structurilor de date.

Proiectarea structurilor de date este înțeleasă ca dezvoltarea reprezentărilor lor în memorie. Principalii parametri care trebuie luați în considerare la proiectarea structurilor de date sunt:

Tipul de informații stocate pentru fiecare element de date;

Relațiile dintre elementele de date și structurile imbricate;

Durata de stocare a datelor de structură („durată de viață”);

Un set de operații asupra elementelor de date, structuri imbricate și structuri în general

Tipul de informații stocate determină tipul câmpului de memorie corespunzător. În funcție de limbajul de programare utilizat, următoarele pot fi considerate elemente de date:

Numere întregi și reale de diferite formate;

Simboluri;

Valori booleene: adevărat și fals;

precum și unele tipuri de date structurale, de exemplu:

Clase special declarate.

În același timp, pentru câmpurile numerice este foarte important să se determine corect intervalul de valori posibile, iar pentru datele șir - lungimea maximă posibilă a șirului.

Relațiile dintre elemente și structurile imbricate, precum și stabilitatea acestora și setul de operații asupra elementelor și structurilor imbricate determină structurile de memorie utilizate pentru reprezentarea datelor. Durata de viață este luată în considerare la plasarea datelor în memoria statică sau dinamică, precum și în memoria externă.

Luați în considerare mai detaliat opțiunile existente pentru reprezentarea internă a datelor, elementele acestora și relațiile dintre ele.

Reprezentarea datelor în RAM

Există două structuri de bază pentru organizarea datelor în RAM: vector și listă.

cadru vectorial este o secvență de octeți de memorie care sunt utilizați pentru a găzdui câmpurile de date (Fig. 1.6.).

Orez. 5.6. Structura memoriei vectoriale.

Amplasarea secvențială a structurilor de date organizate permite accesul direct la elemente: după index (set de indici) - în matrice sau șiruri, sau după numele câmpului - în înregistrări sau obiecte.

Cu toate acestea, adăugarea și eliminarea elementelor atunci când se utilizează structuri vectoriale pentru a plasa elemente de matrice poate necesita deplasări multiple ale elementelor.

Structurile de date în reprezentarea vectorială pot fi plasate atât în ​​memoria statică, cât și în memoria dinamică. Locația reprezentărilor vectoriale în memoria dinamică poate crește uneori semnificativ eficiența utilizării RAM. Este de dorit să se plaseze în memoria dinamică structuri temporare care stochează rezultate intermediare și structuri a căror dimensiune depinde puternic de datele de intrare.

Liste Structuri sunt construite din elemente speciale, incluzând, pe lângă partea informațională, unul sau mai mulți pointeri - adrese ale elementelor sau structuri imbricate asociate acestui element. Prin plasarea unor astfel de elemente în memoria dinamică, puteți organiza diverse structuri interne (Fig. 1.7.).


Orez. 5.7. Exemple de structuri de memorie de listă:

a - listă liniară unică legată; b - listă de tip arbore; c este o listă n-legată.

Cu toate acestea, atunci când utilizați structuri de listă, rețineți că:

Este nevoie de memorie suplimentară pentru a stoca indicatorii;

Se efectuează căutarea informațiilor în liste liniare rand pe rand, și, prin urmare, necesită mai mult timp;

Construirea listelor și efectuarea operațiunilor pe elementele de date stocate în liste necesită programatori mai pricepuți, consumă mai mult timp, iar subrutinele corespunzătoare conțin mai multe erori și, prin urmare, necesită testare mai amănunțită.

De obicei, o reprezentare vectorială este utilizată pentru a stoca seturi statice, tabele (unidimensionale și multidimensionale), cum ar fi matrice, rânduri, înregistrări, precum și grafice reprezentate printr-o matrice de adiacență, o matrice de incidență sau analitic. Vizualizarea listă este utilă pentru stocarea structurilor dinamice (în schimbare) și a structurilor cu relații complexe.

În cazurile cele mai critice, la alegerea unei reprezentări interne, este recomandabil să se determine complexitatea de calcul a efectuării celor mai frecvente operații cu o structură de date sau elementele acesteia pentru diferite opțiuni. Și, de asemenea, evaluați complexitatea capacitivă a acestora.

Reprezentarea datelor în memoria externă

Sistemele de operare moderne suportă două moduri de organizare a datelor în memoria externă: acces secvenţial şi acces direct.

Cu acces secvenţial la date, este posibil să se efectueze numai citirea secvenţială a elementelor de date sau scrierea lor secvenţială. Această opțiune este asumată atunci când lucrați cu dispozitive logice, cum ar fi o tastatură sau un afișaj, atunci când procesați fișiere text sau fișiere al căror format de înregistrare se modifică în timpul funcționării.

Accesul direct este posibil numai pentru fișierele de disc schimbate cu înregistrări cu lungime fixă ​​(fișiere C binare sau fișiere Pascal tastate). Adresa de scriere a unui astfel de fișier poate fi determinată din acesta număr, care vă permite să accesați direct înregistrarea dorită.

Când alegeți un tip de memorie pentru localizarea structurilor de date, rețineți că:

În RAM sunt plasate date care necesită acces rapid, atât pentru citire, cât și pentru modificarea acestora;

În exterior - datele care ar trebui salvate după terminarea programului.

Este posibil ca în timpul funcționării să fie recomandabil să stocați datele în RAM pentru a accelera accesul la acestea, iar când este finalizat, să le rescrieți în memoria externă pentru stocare pe termen lung. Aceasta este metoda pe care o folosesc majoritatea editorilor de text: în timp ce lucrează cu text, tot sau o parte din acesta este plasat în RAM, de unde este rescris în memoria externă după cum este necesar. În astfel de cazuri, sunt dezvoltate două reprezentări ale datelor: în memoria operațională și în memoria externă.

Alegerea corectă a structurilor determină în mare măsură eficacitatea software-ului dezvoltat și calitățile tehnologice ale acestuia, astfel încât acestei probleme ar trebui să i se acorde suficientă atenție, indiferent de abordarea utilizată.

5.5. Proiectare software bazată pe descompunerea datelor.

Aproape simultan, au fost propuse tehnici de proiectare software Jackson și Warnier-Orr bazate pe descompunerea datelor. Ambele tehnici sunt concepute pentru a crea programe „simple” care funcționează cu structuri de date complexe, dar organizate ierarhic. Dacă este necesar să se dezvolte sisteme software în ambele cazuri, se propune mai întâi împărțirea sistemului în programe separate și apoi folosirea acestor tehnici.

Metoda Jackson

La crearea metodologiei sale, M. Jackson a pornit de la faptul că structurile datelor și rezultatelor inițiale determină structura programului.

Tehnica se bazează pe căutarea corespondenței între structurile datelor inițiale și rezultate. Cu toate acestea, atunci când se aplică, sunt posibile situații când nu există corespondențe la unele niveluri. De exemplu, înregistrările din fișierul sursă nu sunt sortate în ordinea în care ar trebui să apară rândurile corespunzătoare în raport. Astfel de situații au fost numite „coliziuni”, Există mai multe tipuri de coliziuni care sunt rezolvate în moduri diferite. Cu o secvență diferită de înregistrări, acestea sunt pur și simplu sortate înainte de procesare.

Dezvoltarea structurilor programului în conformitate cu metodologia se realizează după cum urmează:

Construiți o imagine a structurilor de date de intrare și de ieșire;

Efectuează identificarea legăturilor de prelucrare (corespondență) între aceste date;

generarea unei structuri de program pe baza structurilor de date și a potrivirilor detectate;

adăugați blocuri pentru procesarea elementelor pentru care nu se găsesc potriviri;

Analizați și procesați inconsecvențele, adică rezolvați „coliziunile”;

Adăugați operațiunile necesare (intrare, ieșire, deschidere/închidere fișiere etc.); scrieți programul în notație structurală (pseudocod).

Tehnica Warnier-Orr.

Tehnica Warnier-Orr se bazează pe aceeași poziție ca și tehnica Jackson, dar structurile de date de ieșire sunt considerate principale la construirea unei diagrame, iar dacă structurile de date de intrare nu corespund structurilor de ieșire, atunci acestea pot fi modificate. Astfel, cauza principală a coliziunilor este eliminată.

Cu toate acestea, în practică nu este întotdeauna posibilă rearanjarea structurilor de date de intrare: aceste structuri pot fi deja specificate strict, de exemplu, dacă se folosesc date obținute în timpul execuției programelor, prin urmare această tehnică este utilizată mai rar.

După cum rezultă din cele de mai sus, metodele Jackson și Warnier-Orr pot fi utilizate numai dacă datele programelor dezvoltate pot fi reprezentate sub forma unei ierarhii sau a unui set de ierarhii.

5.6. Tehnologii de caz bazate pe analiză structurală și metodologii de proiectare.

Până acum, a fost acumulată experiență în utilizarea cu succes a majorității metodologiilor binecunoscute de analiză structurală și proiectare în instrumentele CASE corespunzătoare. Cele mai utilizate metodologii sunt: ​​SADT (3,3%), Gein-Sarson Structural Systems Analysis (20,2%), Jordan-De Structural Analysis and Design (36,5%), Jackson Systems Development (7,7%), dezvoltarea DSSD structurale (Data). Dezvoltarea sistemului structurat) Warnier-Orr (5,8%), analiză în timp real a proiectării sistemului Ward-Mellore și Hutley, modelarea informațiilor Martin (22,1%).

După cum se poate observa din statisticile de mai sus, metodologiile structurale care utilizează diagrame de flux de date au găsit cea mai mare utilizare. Acest lucru se datorează a două motive:

Diagramele fluxului de date, mai detaliat decât diagramele funcționale, reflectă specificul multor în prezent informație sisteme: nu necesită tastarea strictă a informațiilor prelucrate, prevăd posibilitatea de stocare a datelor, specifică interacțiunea cu lumea exterioară, prevăd obținerea unui model software complex etc.;

A fost dezvoltată o metodă de construire a specificațiilor de proiectare (hărți structurale Jackson sau Constantine) pe baza diagramelor de flux de date, ceea ce face posibilă crearea automată a unor astfel de specificații.

După introducerea datelor, este necesar să se ofere utilizatorului posibilitatea de a imprima formularul de certificat și o copie a clientului. această operație trebuie efectuată fără greșeală. Imprimarea se poate face pe două tipuri de imprimante: impact (matrice) și inkjet. Ajutorul de imprimare pe imprimantele laser nu este posibil din cauza cerințelor crescute pentru calitatea hârtiei. Când imprimați ajutor pe o imprimantă cu matrice de puncte, puteți imprima două copii (ajutor + copie) într-o singură trecere folosind hârtie carbon. O imprimantă cu jet de cerneală trebuie să imprime fiecare copie separat. Prin urmare, este necesar să furnizați un contor modificabil de utilizator pentru numărul de copii sau o funcție specială de setare pentru tipul de imprimantă.

Fig.2 Schema de interacțiune și legături de date

Dezvoltarea unei scheme funcționale a programului.

Compoziția funcțională a programului ar trebui să ofere la maximum setul necesar de capabilități pentru ca casierul PE să își îndeplinească sarcinile oficiale legate de introducerea datelor, înregistrarea tranzacțiilor și executarea documentelor de raportare. Pentru a face acest lucru, vom compila o listă aproximativă de funcții care ar trebui implementate în sistemul nostru.

Lista aproximativă a funcțiilor sistemului.

1) Înregistrarea unei tranzacții de schimb valutar

Introducerea datelor privind achiziționarea de monedă

Introducerea datelor privind vânzarea de monedă

Introducerea datelor despre conversia valutară

・Tipărește referința clientului

2) Vizualizați documentele

· Vizualizați lista documentelor zilei

Vizualizați o listă de documente arhivate

3) Întreținerea directoarelor

· Introducerea datelor prin coduri valorice

· Introducerea datelor pe tipuri de documente

Introducerea datelor prin coduri valutare

Introducerea cursurilor de schimb pe date

4) Generarea documentelor de raportare

· Tipărirea registrului de numerar valută străină achiziționată pentru ruble numerar;

· Tipărirea registrului de numerar valuta străină vândută pentru ruble numerar;

· Tipărirea registrului de schimb (conversie) valută străină numerar;

5) Alte funcții

Introducerea datelor în câmpul de intrare din director

Conversia unui număr din digital în minuscule (cantitate în cuvinte)

· Modificarea aspectului cursorului

Salvarea datelor în fișiere de arhivă

Lista de mai sus acoperă toate procedurile descrise în secțiunea privind fluxul de lucru din PO și este completată de unele funcții care vor fi necesare în timpul procesului de introducere și corectare a datelor.

Dezvoltarea diagramei bloc a programului.

Schema bloc a pachetului software determină în termeni generali atât aspectul sistemului care se proiectează, cât și principiile de interacțiune cu utilizatorul. Schema sistemului proiectat va fi o structură arborescentă ierarhică care descrie procedurile de intrare, procesare și ieșire a datelor. Construirea programelor clasei de informații și referințe conform acestui principiu face destul de ușoară modificarea sistemului în ansamblu și facilitează percepția și înțelegerea principiului programului. Pentru a construi o diagramă bloc, este necesar să se determine ierarhia și conexiunea procedurilor de prelucrare a datelor enumerate mai sus. Este firesc să se stabilească o ierarhie a procedurilor în forma în care au fost descrise în capitolul precedent, întrucât o astfel de schemă corespunde schemei de „importanță” și „utilizabilitate” a procedurilor. Diagrama bloc a programului, ținând cont de toate cele de mai sus, este prezentată în Figura 2.

Dezvoltarea interfeței ecran a programului

Abordări existente în proiectarea interfeței ecranului

Interfața de ecran a programului determină în mare măsură confortul utilizatorului și este unul dintre factorii importanți care afectează eficiența muncii sale. Un program care îndeplinește toate funcțiile care îi sunt atribuite și are viteză mare poate fi complet nepotrivit pentru lucru din cauza unei interfețe de utilizator inacceptabile. Cu doar câțiva ani în urmă, a existat un editor de text care ilustra perfect această abordare a designului software. Este puțin probabil ca cineva să placă un editor de text în care, pentru a insera un caracter într-o linie, trebuie să tastați un cod de comandă de inserare cu o singură literă, numărul liniei care este procesată (din fericire nu este binar), numărul caracter după care va fi introdus noul caracter și acest caracter însuși. Desigur, această abordare este complet inacceptabilă.

Cele mai practice și mai ușor de utilizat sunt sistemele care au o interfață cu ecran construită pe baza unui sistem de meniu pop-up. Cele mai comune în prezent sunt două ideologii (adică aplicații DOS), care includ atât o anumită formă de ferestre pe ecran, cât și o schemă de culori și apariția unor liste pop-up. Acestea sunt mediile de instrumente Borland și Norton Operating Shell de la Symantec. Ambele ideologii prevăd o anumită împărțire a spațiului ecranului în zone sau zone destinate obiectelor și acțiunilor informaționale specifice. Zonele pot fi reconfigurate într-o oarecare măsură la cererea utilizatorului: dimensiunile și poziția de pe ecran sunt modificate. Comenzile de prelucrare a datelor sunt apelate din sistemul de meniu, prezente permanent pe ecran (Borland), sau apelate de tasta funcțională (Symantec).

În ambele cazuri, toate comenzile de sistem sunt distribuite în funcție de caracteristicile lor funcționale în grupuri, iar în meniul principal există

numele efective ale grupurilor de comandă. Prin selectarea unui grup, utilizatorul are acces la lista de comenzi de grup, care poate include și comenzi grupate în grupuri de nivel al doilea etc.

Astfel, este creat un sistem de meniu pop-up pe mai multe niveluri. Folosirea unei astfel de ideologii asigură confortul orientării într-un sistem care are un meniu destul de complex, pe mai multe niveluri, cu multe opțiuni. Desigur, creșterea cuibării și a dimensiunii listelor de selecție ar trebui să aibă limite rezonabile, care, din fericire, sunt sub forma unui spațiu limitat de ecran al monitorului. În majoritatea sistemelor, există și posibilitatea de a personaliza paleta de culori la cererea utilizatorului. Shell-ul de operare Norton oferă o gamă de gamă de selecție din mai multe opțiuni standard, în sistemele Borland vă puteți crea propria gamă de culori, până la cel mai mic detaliu. O vedere aproximativă a unor obiecte de pe ecran este prezentată în Fig.4,5.

Alegerea ideologiei interfeței ecranului