Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
» ELABORARE PROGRAME


ELABORARE PROGRAME


ELABORARE PROGRAME

Dupa incheierea etapei de proiectare urmeaza realizarea propriuzisa a progrmelor si crearea efectiva a bazelor de date.

Criterii care stau la baza alegerii SGBD-ului:

Facilitati si performante

Costuri de achizitionare

Costuri de exploatare



Nivel de pregatire necesar

Securitate

Portabilitate

Pe baza proiectului tehnic de detaliu, programatorul va trece la scrirea efectiva a programelor, adica codificarea in limbaj de programare a algoritmilor stabiliti. Acesta etapa are un caracter tehnic, parte din operatiile care initial erau facute de programator pot fi automatizate si realizate cu ajutorul generatoarelor (programarea vizuala).Tot programatorul va realiza si algoritmii specifici limbajului, care nu sunt prevazuti la proiectarea tehnica, lasandu-se alegerea lor pe seama programatorului care cunoaste cel mai bine posibilitatile limbajului.

Organizarea spatiului de depozitare si gestiunea fisierelor:

Fisierele utilizate se pastreaza in directoare separate (date, liste, program, meniuri, ecrane, vederi, rapoarte, etichete)

Gestiunea fisierelor se realizeaza cu ajutorul proiectelor

Organizarea echipei de programare :

Repartizarea uniforma a modulelor, pentru a se evita supraincarcarea unor programatori

Abordarea realizarii modulelor de jos in sus, pentru a putea fi testate la fiecare nivel (se va incepe cu realiza procedurilor de prelucrare elementare, apoi cele mai complexe, care vor fi asamblate la randul lor in module mai mari, pana se obtin programele)

TESTAREA

SI fiind compuse din multe programe, insumand zeci de mii de linii de cod, scrise de catre mai multi programatori, in mod normal contin erori, care sunt inlaturate la testare pe masura ce sunt puse in evidenta. Chiar si dupa testari indelungate, pot sa ramana erori ascunse, care pot sa apara pe parcursul exploatarii.

La realizarea aplicatiei, testarea dureaza mai mult decat scrierea ei, fiiind facuta pe niveluri: intai procedurile simple, apoi inglobate in module mai mari, apoi pe grupuri de module (pentru a testa corectitudinea comunicarii intre module), pana la testarea intregului sistem.

Datele de test trebuie sa fie cat mai aproape de realitate si sa acopere cat mai multe situatii posibile si mai ales situatiile extreme previzibile.

Exemplul final de testare se face de catre seful de proiect impreuna cu utilizatorul, specificandu-se in scris atat datele de intrare cat si situatiile finale care vor fi obtinute pe baza intrarilor.

Metodele de testare depind de tipul erorilor care se cauta si de nivelul la care se aplica.

Tipuri de erori :

Erori de sintaxa - sunt detectate in faza de compilare si sunt datorate constructiei gresite a unei instructiuni (nume de instructiune sau clauza scrise gresit, lipsa unei paranteze pereche intr-o expresie), compilatorul furnizeaza un mesaj de eroare in care se indica natura si uneori cauza erorii si linia din fisierul sursa in care apare. Uneori mesajele sunt derutante, mai ales cand sunt mai multe greseli.

Erori de executie - sunt detectate la rularea programului si se datoreaza imbinarii incorecte a instructiunilor, chair daca acestea sunt scrise corect dpdv sintactic

Ex. folosirea numelor de variabila in expresii daca acestea nu au fost initializate sau nu desemneaza campuri dintr-un fisier deschis in zona de lucru curenta

Erori de algoritm - rezultatele nu sunt cele asteptate (algoritm incorect gandit su codificat)

Ex. Afisare facturi din anul 1998 - LIST FOR YEAR(dataf)=1998 (daca inaintea listarii exista setarea SET YEAR TO 4, facturile din 1998 vor fi afisate, altfel nu pentru ca 98#1998)

Erori de utilizare - sistemul functioneaza corect, dar utilizatorul il foloseste gresit. Pentru a se evita SI informatic trebuie sa fie cat mai bine protejat prin :

o       Sa se foloseasca proceduri de validare pentru a nu permite utilizatorului sa introduca date gresite

o       Sa se puna la dispozitia utilizatorului numai acele actiuni care au sens la un moment dat, celelalte sa fie dezactivate

o       Sa avertizeze utilizatorul in cazul detectarii intentiei de executie a unor operatii suspecte a fi gresite

o       Sa ofere cat mai multe informatii de ajutor prin intermediul unui subsistem de ajutor performant

o       Sa aiba o documentatie cat mai clara, explicita, completa, la nivelul celui mai slab pregatit utilizator

Nivelul la care apar erorile :

La nivelul sistemului de operare - se datoreaza configurarii gresite a SO sau a incompatibilitatii dintre configurarea SO si a SGBD-ului.

Ex. « Prea multe fisiere deschise simultan » (in CONFIG.SYS, FILES=<n>, n prea mic)

In interiorul modulelor sau programelor independente - erori de compilare, rulare, algoritm

La nivelul sistemului in ansamblu - erori ce tin de legatura dintre module (chiar daca acestea testate independentfunctioneaza corect)

Erori sau neajunsuri de proiectare - erori ce tin de conceptia de ansamblu a sistemului

Cu cat nivelul la care apare eroarea este mai ridicat, cu atat efortul de inlaturare este mai mare.

Tehnici de testare si depanare a programelor SI

Includerea in program a unor instructiuni speciale pentru depanare (afisarea diferitelor variabile)

Memorarea urmei executuiei programelor (fiecare operatie inceputa si terminata cu succes sa fie memorata intr-un fisier, ca sa se vada unde programul nu actioneaza cum ne asteptam)

Memorarea automata a starii curente a sistemului in cazul aparitiei unei erori (ON ERROR)

Tehnici speciale

o       rularea pas cu pas

o       rularea rapida pana la un punct mentionat in care controlul revine programatorului

o       rularea cu viteza prestabilita

o       afisarea valorilor unor variabile)

IMPLEMENTAREA SI

Tipuri de programe componente ale SI

Programele de introducere a datelor- au rolul de a prelua datele de la utilizator si de a le incarca in bazele de date.

Operatii asigurate de programele de introducere a datelor :

-adaugarea de date noi

-modificarea unor date existente in baza de date

-stergerea datelor

-consultarea pe ecran a continutului bazei de date

-tiparirea la imprimanta

-aplicarea unor filtre pe datele din bazele de date, operatie prin care o parte din date, care nu respecta o anumita conditie sunt ascunse utilizatorului, ramanand disponibile numai cele care respecta conditia

-calculul unor indicatori statistici privind datele din baza.

Modul de lucru cu programele de introducere a datelor.

Scenariu 1.

Dpdv al UTILIZATORULUI, lucrul cu un astfel de program poate decurge astfel :

-din meniul afisat utilizatorul isi alege operatia dorita

-urmeaza apoi un scenariu specific operatiei:

Adaugare: se intra intr-o procedura de citire a datelorde la utilizator (si validarea lor) si dupa ce utilizatorul confirma datele se salveaza in baza.

Modificare : se incepe cu selectarea inregistrarii de modificat, se incarca datele din baza in memoria interna, pe care se face editarea si dupa confirmarea utilizatorului se salveaza datele pe disc in baza.

Stergerea : se incepe cu selectarea inregistrarii de sters (se identifica prin cheie), se afiseaza inteaga inregistrare, se cere o noua confirmare din partea utilizatorului, dupa care se trece la stergerea propriuzisa

Consultarea pe ecran sau tiparirea consta in selectarea inregistrarii sau grupului de inregistrari si afisarea/tiparirea datelor.

-dupa executarea operatiei se revine in meniul de selectie si se alege din nou o operatie.

Scenariu 2

-initial se intra intr-o lista de selectie a unei inregistrari

-cu ajutorul unor combinatii de taste se indica actiunea dorita asupra selectiei

Acest scenariu are avantajul ca ofera o privire de ansamblu asupra continutului tabelului, dar are dezavantajul ca tabelul nu seamana cu documentul primar

Structura generala a unui program de culegere date dpdv al PROGRAMATORULUI

PROCEDURE prog_date1

Initializare

Deschidere tabele

Definire meniu

Afisare ecran initial

Definire variabile de memorie

Raspuns1='D'

Raspuns2='D'

Iesire=.F.

DO WHILE Iesire=.F.

DO CASE

CASE optiune='Adaugare'

DO proc_ad

CASE optiune='Modificare'

DO proc_mod

CASE optiune='Stergere'

DO proc_st

CASE optiune='Consultare'

DO proc_cons

CASE optiune='Tipatire'

DO proc_tip

CASE optiune='Iesire'

Iesire=.T.

ENDCASE

ENDDO

*in final

dezactivare meniu

inchidere tabele

RETURN

PROCEDURE proc_ad

Initializare

Definire si afisare fereastra de adaugare

Definire obiecte de control

Continuare=.T.

DO WHILE Continuare=.T.

citire date in variabile de memorie

afisare

@ l,c SAY 'Salvati ? [D/N]' GET raspuns1 PICT '!'

READ

IF Raspuns1='D'

DO salvare

ENDIF

@ l+1,c SAY 'continuati  ? [D/N]' GET raspuns2 PICT '!'

READ

IF raspuns2='N'

Continuare=.F.

ENDIF

ENDDO

Finalizare

Eliminare obiecte de control

Eliminare fereastra de adaugare

RETURN

PROCEDURE proc_mod

Initializare

Definire si afisare fereastra de modificare

Definire obiecte de control

Continuare=.T.

DO WHILE Continuare=.T.

Selectare inregistrare de modificat

incarcare date din inreg. de modificat in variabile de memorie

afisare

editare date din variabile de memorie

@ l,c SAY 'Salvati ? [D/N]' GET raspuns1 PICT '!'

READ

IF Raspuns1='D'

DO salvare

ENDIF

@ l+1,c SAY 'Continuati  ? [D/N]' GET raspuns2 PICT '!'

READ

IF raspuns2='N'

Continuare=.F.

ENDIF

ENDDO

Finalizare

Eliminare obiecte de control

Eliminare fereastra de modificare

RETURN

PROCEDURE proc_st

Initializare

Definire si afisare fereastra de stergere

Continuare=.T.

DO WHILE Continuare=.T.

Selectare inregistrare de sters

Afisare date in inreg selectata

@ l,c SAY 'Doriti stergerea acestei inregistrari ? [D/N]' GET raspuns1 PICT '!'

READ

IF Raspuns1='D'

DO sterg

ENDIF

@ l+1,c SAY 'Continuati  ? [D/N]' GET raspuns2 PICT '!'

READ

IF raspuns2='N'

Continuare=.F.

ENDIF

ENDDO

Finalizare

Eliminare fereastra de stergere

RETURN

PROCEDURE proc_cons

Initializare

Definire si afisare fereastra de consultare

Definire obiecte de control

Continuare=.T.

DO WHILE Continuare=.T.

Selectare inregistrare de afisat/tiparit

incarcare date din inreg. selectata in variabile de memorie

afisare/tiparire

@ l+1,c SAY 'Continuati  ? [D/N]' GET raspuns2 PICT '!'

READ

IF raspuns2='N'

Continuare=.F.

ENDIF

ENDDO

Finalizare

Eliminare obiecte de control

Eliminare fereastra de consultare

RETURN

Programe de actualizare

-directa- datele primare introduse intra in actualizare in momentul salvarii

-in transe- datele primare sunt memorate in fisiere echivalente documentului de pe care s-au preluat, urmand sa se actualizeze baza de date dupa o prelucrare a lor (poate fi necesara o corelare a datelor anterior culese in diverse fisiere), la cererea expresa a utilizatorului.

Programe de parcurgere

Variante:

1.Inregistrarile sunt parcurse in ordinea logica (data de indexul activ)

SCAN

Prelucrare inregistrare curenta

ENDSCAN

Sau

GOTO TOP

DO WHILE NOT EOF()

Prelucrare inregistrare curenta

SKIP

ENDDO

2.Inregistrarile sunt parcurse in ordinea fizica (cum au fost create)

FOR i=1 TO RECCOUNT()

GOTO i

Prelucrare pentru a inregistrare cu nr. de inreg. i

ENDFOR

3. Pentru bazele de date multitabelare

activare tabele parinte

SCAN

Prelucrare inregistrare_parinte curenta si inregistrare_copil curanta (1-1) sau toate cele

legate de parinte (1-n)

ENDSCAN

In cazul unei legaturi de tipul 1-n nu se va folosi varianta cu GOTO deoarece ar fi prelucrata numai o singura inregistrare dimn tabela_copil.

Programe pentru raportare - asigura extragerea selectiva a informatiilor din baza de date si afisarea/tiparirea lor intr-un raport de obicei in format text, dar poate sa fie si grafic.

Etapele realizarii raportului dpdv al UTILIZATORULUI:

-introducere parametri de lucru (definire domeniu de inregistrari, optiuni de imprimare)

-activare procedura de extragere a datelor

-activare procedura de afisare/tiparire

Structura generala a unui program de raportare dpdv al PROGRAMATORULUI

Initializare

Deschidere tabele

Definire variabile de memorie

Citire parametri in ecranul de introducere

DO creare_rap WITH lista_parametri

IF loc_afis='Ecran'

DO afis_rap

ELSE

DO tipar_rap

ENDIF

*in final

dezactivare ferestre si meniu

inchidere tabele

Obs. Daca raportul are dimensiune mai mare poate fi vizualizat pe ecran :

-pagina cu pagina

-creat intr-un fisier de listare care se deschide intr-o fereastra si poate fi derulat in toate directiile

MODIFY FILE raport.txt NOEDIT

Tiparirea rapoartelor

-iesirea raportului direct la imprimanta

REPORT FORM raport.frx TO PRINTER

-tiparirea fisierului text creat anterior (cu REPORT FORM raport.frx TO FILE raport.txt)

TYPE raport.txt TO PRINTER

Meniul principal al sistemului - reprezinta grupari de optiuni la a caror alegere sunt declansate anumite prelucrari.

Pot fi de tip text, grafice sau combinate.

Dpdv al asezarii pe ecran cele grafice pot fi : orizontale, verticale, neregulate.

Cele mai des intalnite sunt cele cu un meniu orizontal, fiecarui punct de meniu fiindu-i atasat un meniu vertical (fiecarui punct din meniul vertical i se poate atasa un alt meniu vertical-maximum trei nivele).

Aspecte legate de construirea meniurilor :

-Textul afisat ca punct de meniu sa fie sugestiv, concis, sa respecte o serie de reguli standardizate (evidentiere cailor si tstelor directe de apelare, mesaj explicativ pe ultima linie a ecranului, nu mai lung decat ~15 caractere).

-Sa se evidentieze prin simboluri sugestive ce urmeaza dupa activare unui punct de meniu :

-in general se activeaza o procedura specifica

-se deschise un alt meniu (u

-urmeaza o fereastra de completare optiuni (.)

-Sa fie active numai optiunile care au sens sa fie selectate la un moment dat.

Sistemul de asistenta si ajutor (HELP)

Dpdv al utilizatorului, ajutorul oferit consta in informatii care sa-l ajute in momentul unui impas.

De obicei pe ultima linie a ecranului sau intr-o fereastra de atentionare se afisaza mesajele prevazute de programator legate de actiunea in curs de derulare.

Informatiile de ajutor furnizate la cererea expresa utilizatorului prin selectare din meniu sau cu ajutorul tastei F1 pot sa fie :

-dependent de context

-insensibile la context, cand utilizatorul isi alege singur informatia din cele puse la dispozitia lui.

Dpdv al programatorului poate oferi ajutorul solicitat :

-printr-un program propriu, codificand un scenariu

-sau folosind modelul de ajutor din FoxPro, organizandu-si informatiile de ajutor intr-o tabela cu aceiasi structura ca cea folosita din FoxPro (foxhelp.dbf).

Numele tabelei de Help poate fi modificat in CONFIG.FP (HELP=nume_tabh) sau din programul utilizatorului prin comanda SET HELP TO nume_tabh.

Structura tabelului FOXHELP.DBF

CAMP

TIP

LUNGIME

SCOP

TOPIC

CHARACTER

Titlul subiectului ce apare in fereastra de ajutor principala

DETAILS

MEMO

Textul informatiei

CLASS

CHARACTER

Codul clasei de ajutor

Securitatea SI

-Protectia impotriva defectiunilor hardware

-salvari periodice pe suporturi externe

-surse neintreruptibile de alimentare

-Protectia prin parole - stabileste dreptul fiecarui utilizator de a avea acces la aplicatie si ii stabileste actiunile pe care poate sa le efectueze





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate