|
PROIECTAREA SISTEMELOR INFORMATICE
Proiectarea unui sistem informatic se realizeaza in functie de complexitatea si gradul de detaliere a problemelor ce trebuie rezolvate se impart in 2 etape:
- proiectarea de ansamblu sau generala sau logica in care se stabileste componenta de ansamblu a sistemelor, adica modul de descompunere si componente, care sunt intrarile si iesirile, care sunt modelele de organizare a datelor, care sunt colectiile de date, etc..
proiectarea de detaliu care va detalia fiecare componenta a sistemului si va descrie modul de stocare si accesare a datelor.
1 PROIECTAREA DE ANSAMBLU / GENERALA / LOGICA
Proiectarea de ansamblu isi propune sa defineasca sistemul informatic din punct de vedere functional si structural. Aceasta inseamna ca se identifica componentele, dupa care se vor descrie atat din punct de vedere structural, cat si functional.
Criteriile avute in vedere la proiectarea generala a unui sistem sunt :
a) obiectivele avute in vederea de organizarea respectiva,
b) posibilitati de modificare a iesirilor,
c) aria de intindere pe noul sistem, costurile si termenele de realizare.
Structura de ansamblu a unui sistem informatic e formata din intrari, iesiri si prelucrari.
Intrarile sunt reprezentate de:
tranzactii externe care redau dinamica operatiilor economice, provin din exteriorul sistemului informatic electronic de calcul si sunt furnizate de proceduri automate. Exemplu: inregistrarea unei operatii de aprovizionare cu marfa;
tranzactii interne care redau modificarile structurale din cadrul bazei de date; sunt asigurate exclusiv in cadrul sistemului informatic prin intermediul procedeului de exploatare sau de actualizare a bazei de date. Exemplu: totalul facturilor primite de la un furnizor care actualizeaza soldul furnizorului respectiv.
Prelucrarile sunt asigurate de un ansamblu de proceduri automate care realizeaza actualizarea si exploatarea colectiilor de date ca urmare a tranzactiilor interne si externe in vederea obtinerii rapoartelor, listelor, situatiilor de iesire ale sistemului informatic.
Iesirile sistemului informatic sunt rezultatul prelucrarii bazei de date si sunt redate in functie de continutul lor si de structura lor sub forma de indicatori sintetici, rapoarte, liste, situatii de iesire, grafice, stocare pe suporturi.
Pentru determinarea necesarului de date de intrare se utilizeaza mai multe metodologii care determina anumite variante de abordare a proiectarii de ansamblu.
Astfel, in functie de complexitatea obiectivelor stabilite, de aria de cuprindere a noului sistem informatic, de posibilitatile de modificare a iesirilor, de costurile si termenele de realizare a sistemului informatic, se folosesc urmatoarelor variante de abordare a proiectarii de ansamblu:
Prima varianta de abordare, pe baza principiului iesiri-intrari asigura determinarea continutului bazei informationale in functie de obiectivele stabilite de unitatea beneficiara. In aceasta varianta iesirile sunt reflectate de obiectivele informationale solicitate, in timp ce intrarile sunt reflectate de continutul bazei informationale.
Avantajul acestei metode consta in furnizarea unui continut complet al bazei informationale determinata initial si pe baza stabilirii listelor de iesire.
Dezavantajul este legat de imposibilitatea emiterii de noi situatii de iesire, deoarece varianta nu poate genera la iesire decat continutul bazei informationale De asemenea, nu poate genera alti indicatori rezultati ca urmare a aplicarii unui algoritm de calcul asupra continutului bazei informationale.
A doua varianta, pe baza principiului intrari - iesiri determina continutul bazei informationale independent de iesirile solicitate urmand sa se asigure atat cerintele imediate cat de perspectiva.
Avantajul consta in determinarea unei baze informationale complete, cu mentiunea insa ca unele atribute nu vor fi poate niciodata utilizate in prelucrarile sistemului informatic.
Dezavantajul rezida din cheltuielile mari de realizare a bazei informationale, cheltuieli determinate de studierea tuturor activitatilor desfasurate si de supradimensionarea acesteia.
A treia varianta, mixta imbina avantajele celor doua variante prezentate si le minimizeaza dezavantajele.
In practica economica, datorita vehicularii unui numar foarte mare de documente de intrare, la proiectarea sistemelor informatice se foloseste varianta de abordare pe baza principiului iesiri - intrari
Activitatile desfasurate in cadrul proiectarii de ansamblu sunt:
stabilirea obiectivelor noului sistem informatic.
proiectarea rapoartelor, listelor, situatiilor de iesire
proiectarea bazei informationale.
STABILIREA OBIECTIVELOR SISTEMULUI INFORMATIC
Obiectivele sistemului informatic reprezinta scopuri imediate si de perspectiva care vor determina structura, functionalitatea si conexiunile noului sistem informatic si care vor asigura minimizarea perturbatiilor aparute in desfasurarea activitatilor, contribuind astfel la maximizarea eficientei economice si a rentabilitatii unitatii beneficiare.
Determinarea obiectivelor noului sistem are la baza ideea potrivit careia acest sistem este dedicat procesului decizional, deoarece numai cu un management performant se pot obtine efecte economice ridicate, cu eforturi cat mai reduse.
Din acest motiv, obiectivele unui sistem informatic pot fi grupate in doua categorii:
Obiective generale ce trebuie sa asigure cunoasterea exacta si operativa a activitatii desfasurate de unitatea economica;
Obiective specifice care vor sigura conditiile necesare realizarii obiectivelor generale
Obiective generale
Obiectivele generale ale unui sistem informatic urmaresc generarea si furnizarea operativa si selectiva, catre toate nivelele de conducere, a unor date cu caracter strategic, tactic, operativ si functional, pentru asigurarea atributelor conducerii si ale functiilor unitatilor economice. In raport de aceste aspecte, obiective generale pot fi:
de conducere (manageriale);
functionale.
Obiectivele de conducere vizeaza probleme cu caracter global si structural, de conducere ale unitatii economice si se axeaza pe:
realizarea in conditii de maxima eficienta a intregii activitati;
realizarea globala si structurala a indicatorilor economico-financiari (cifra de afaceri, valoarea adaugata, profitul brut si net, capitalul propriu, capacitatea de plata, rata rentabilitatii, eficienta utilizarii fondurilor fixe etc.), calculul si planificarea "rezultatelor", planificarea financiara a investitiilor, previzionarea activelor circulante si a surselor de finantare, previzionarea activitatii de trezorerie, inclusiv utilizarea bugetului general al unitatii economice;
perfectionarea structurilor si a activitatii de productie in vederea asigurarii unui optim global;
asigurarea unui fundament informational superior pentru fundamentarea si implementarea strategiilor si politicilor unitatii economice;
realizarea unei functionalitati superioare de ansamblu a sistemului decizional;
facilitarea introducerii si utilizarii anumitor tehnici, metode si sisteme manageriale;
degrevarea conducerii de procesele decizionale de rutina, formalizarea prin noul sistem a informatiilor sintetice necesare derularii relatiilor informationale cu organismele de stat si cu alte regii autonome sau societati comerciale;
cresterea operativitatii si gradului de fundamentare si adoptare a deciziilor.
Obiectivele functionale au in vedere informatizarea activitatilor esentiale si specifice ale unitatii economice in vederea asigurarii functiilor sale fundamentale: cercetare-dezvoltare, comerciala, productie sau exploatare, financiar- contabilitate, personal.
1. Activitatea de cercetare-dezvoltare vizeaza strategiile de dezvoltare a produselor si tehnologiilor precum si cele de dezvoltare a unitatii economice in ansamblul sau. Informatizarea acestor activitati presupune informatizarea urmatoarelor subactivitati
proiectare produselor;
proiectarea in domeniul tehnologiilor si echipamentelor;
determinarea capacitatii de productie si utilizare eficienta a acesteia;
elaborarea normativelor si normelor de consum pentru resurse materiale si energetice;
elaborarea normativelor si normelor de munca si a consumurilor specifice de manopera.
2. Activitatea de productie desfasurata in cadrul unor compartimente are in vedere elementele specifice fiecarei subactivitati, din punct de vedere informatic, dupa cum urmeaza:
definirea ingredientelor si proceselor ce sunt utilizate in productia continua;
definirea sectiilor, operatiilor si ordonarea lor, care intervin in fabricarea unui produs;
definirea materialelor si (sub)ansamblelor folosite pentru fabricarea unui produs;
gestiunea calitatii;
previziunea produselor;
program de productie;
planificarea cerintelor materiale;
planificarea cerintelor capacitatii;
planificarea cerintelor de manopera;
planificare resurse.
3. Activitatea comerciala este reprezentata prin trei subactivitati: aprovizionare, desfacere, marketing. Sistemul informatic va trebui sa solutioneze optim urmatoarele aspecte specifice:
Subactivitatea de aprovizionare
determinarea necesarului de resurse materiale si energetice;
contractarea necesarului de aprovizionat.
Subactivitatea de desfacere
situatia necesarului de livrat conform contractelor;
situatia cantitativ si valorica a livrarilor ;
urmarirea ritmicitatii livrarilor in scopul onorarii contractelor.
Subactivitatea de marketing
studierea caracteristicilor tehnico-economice, inclusiv a tehnicilor de comercializare a produselor concurente, furnizate de alte societati comerciale din tara sau strainatate;
evolutia pietelor de desfacere in vederea realizarii relatiilor valutar-financiar si de distribuire a produselor proprii;
cooperarea cu alte societatii comerciale din tara sau strainatate in vederea promovarii produselor pe terte piete
Activitatea financiar-contabila desfasurata in cadrul compartimentelor specifice presupune rezolvarea din punct de vedere informatic a unor elemente specifice dupa cum urmeaza:
Subactivitatea financiara
elaborarea bugetului general al unitatii economice pe an financiar, si desfacere pe subunitati.
gestiunea creditului clienti pune in evidenta sumele datorate de clienti, ce rezulta din datele generate de cumpararile si platile acestuia;
gestiunea numerarului colecteaza informatii privind toate intrarile si iesirile de numerar din organizatie, in mod periodic sau chiar in timp real.
gestiunea portofoliului (titlurilor) de plasament evidentiaza surplusul de numerar investit in hartii de valoare pe termen scurt (fie cu un grad de risc scazut-bonuri de tezaur, certificate de trezorerie, fie cu un grad de risc mai ridicat dar si cu posibilitati mai mari de castig), astfel incat sumele rezultate sa poata fi disponibile atunci cand sunt necesare fonduri.
Subactivitatea contabila se desfasoara in doua circuite:
Contabilitatea financiara (sintetica), reflecta starea patrimoniala a unitatii economice prin intermediul activului, datoriile (obligatiile), capitalul propriu si rezultatele nete obtinute pe parcursul unei perioade de gestiune.
Contabilitatea de gestiune (analitica), ofera informatii care reflecta cheltuielile si veniturile pe purtatori de valoare si resursele repartizate spre gestionarea la nivelul fiecarei structuri organizatorice.
Subactivitatea de control financiar, la nivelul unitatii economice urmareste analiza si controlul gestiunii patrimoniului regiei automate sau societatii comerciala prin instrumente proprii, in scopul prevenirii si sesizarii incalcarii normelor legale de utilizare a resurselor umane, materiale si banesti.
5. Activitatea de personal acopera intreaga gama de activitatii legate de evidenta personalului, salarizarea, perfectionarea calificarii personalului si presupune rezolvarea sub aspect informatic a urmatoarelor sarcini:
Subactivitatea de evidenta a personalului trebuie sa asigure:
evidenta personalului pe meserii, in functie de vechime, pe locuri de munca, pe diferite intervale de timp;
verificarea incadrarii personalului pe meserii, functii si locuri de munca;
evidenta miscarii de personal (angajarii, promovari, transferari, pensionari, concedii)
Subactivitatea de salarizare asigura:
inregistrarea orelor lucrate pe baza fiselor de partaj sau a foilor colective de prezenta, prin care se determina numarul orelor care va fi luat in calcul la stabilirea salariilor pentru o luna. Poate sa apara situatia in care se vor folosi fisele de manopera;
calculul drepturilor salariale se particularizeaza in functie de modul de plata al fiecarei organizatii;
-evidentierea obligatiilor de plata ale salariatilor, fie sub forma impozitelor si contributiilor fie sub forma retinerilor datorate catre firme sau banci.
Subactivitatea de perfectionare a calificarii personalului se particularizeaza de la o firma la alta, in functie de specificul obiectivului de activitate si de criteriile de evaluare stabilite la nivelul politicii de personal si urmareste:
performantele salariatilor, pe faza unor criterii de evaluare stabilite in functie de specificitatea activitatii desfasurate. Pe baza evaluarilor de performante conducerea poate stabili nivelul salariului pentru fiecare angajat, posibilitatea de promovare, necesitatile de instruire s.a.
inregistrarea pregatirilor profesionale si a instruirilor la care au participat salariatii, urmarindu-se prelucrarea datelor necesare elaborarii programului de imbunatatire a aptitudinilor si performantelor profesionale ale salariatilor;
stabilirea prioritatilor in angajarea a noi categorii de salariati, astfel incat activitatea unitatii economice sa se desfasoare, la cel mai inalt grad de tehnicitate.
Obiectivele specifice
Obiectivele specifice asigura conditiile realizarii obiectivelor generale si trebuie sa tina seama de aspectele concrete din realitatea unitatii economice studiate, cum ar fii:
marimea unitatii economice;
structura sa organizatorica;
ponderea acesteia intr-o ramura de activitate;
gradul de participare al unitatii economice la derularea operatiunii de export-import, cooperarea internationala;
alte elemente ce pot conduce la alte tipuri de obiective cu o nuantare specifica.
Obiectivele generale si specifice ale unui sistem informatic pot urmari si alte aspecte, cum ar fi:
asigurarea proiectarii automate a datelor in conditii de eficienta economica;
optimizarea fluxurilor si circuitelor informationale;
furnizarea automata a informatiilor cu caracter sintetic si analitic destinate conducerii si structurilor organizatorice pentru crearea conditiilor informationale necesare realizarii obiectivelor de conducere, tehnologice si informatice;
utilizarea eficienta a unitatilor centrale a calculatoarelor printr-o alocare dinamica a spatiului de memorie;
realizarea celei mai adecvate si operative metode de introducerea datelor in vederea minimizarii timpului de incarcare a colectiilor de date, in vederea obtinerii la termenele stabilite a tuturor situatiilor de iesire in care se concretizeaza obiectivele noului sistem.
PROIECTAREA RAPOARTELOR/LISTELOR/SITUATIILOR DE IESIRE
Datele de iesire sunt informatii livrate de sistemele de prelucrare autonoma a datelor utilizatorului sub forma unor mesaje, rapoarte, grafice etc.
Iesirile noului sistem informatic sunt stabilite de catre conducerea unitatii economice, in colaborare cu echipa de realizare a sistemului, ca urmare a analizei obiectivelor sistemului proiectat, in proiectarea lor tinandu-se seama de urmatoarele aspecte
1) Destinatia situatiei si momentul cand se estimeaza, se poate obtine nivelul de detaliere al informatiei, respectiv informatii mai analitice pentru nivele de baza si mai sintetice la nivelele superioare.
2) Existenta in situatie a tuturor informatiilor necesare, avandu-se in vedere in acelasi timp, ca pe cat posibil, o informatie sa nu apara inutil in mai multe situatii.
Structura informationala si formatul iesirii sunt determinate, in principiu, de urmatoarele reguli:
respectarea specificatiilor cadrului legislativ in vigoare
proiectarea se va face in concordanta cu activitatile specifice obiectivelor sistemului;
continutul va fi redat sintetic sau analitic si cu o frecventa precizata in legislatie;
Formatul de afisare, dispozitivul periferic folosit si beneficiile iesirilor sistemului informatic sunt stabilite in raport cu solicitarile sistemului de management, sistemului operant, sistemelor informatice externe.
Criteriile utilizate pentru determinarea formatului, continutului, dispozitivului periferic si beneficiarilor iesirilor noului sistem, au impus structurarea acestora in urmatoarele categorii:
A. Rapoartele/listele/situatiile de iesire contin indicatori sintetici si analitici, al caror continut reflecta starea, dinamica si tendinta fenomenelor si proceselor economice ce fac obiectul procesului de prelucrare a datelor din sistemul proiectat. Reprezentarea datelor se face, de regula , in format de tabel. Anumite rapoarte au formatul stabilit prin respectivul cadru legal.
B. Indicatorii sintetici redau fenomene si procese economico-financiare prin intermediul unor date succinte utilizate in special informarii operative si demersului decizional.
C. Graficele redau sub forma sinoptica starea si evolutia unui fenomen economico-financiar in scopul informarii conducerii sau compartimentelor unitatii economice, adoptarii unor decizii operative, prin care sa asigure fenomenul de feed - back al activitatii economico-financiare analizate.
D. Iesirile catre alte sisteme sunt de fapt transmisii de date on-line, prin intermediul unei retele locale de calculatoare, sau off-line, prin intermediul suporturilor magnetice(disc flexibil, disc magnetic, banda magnetica).
PROIECTAREA BAZEI INFORMATIONALE
Baza informationala contine nucleul informational format din totalitatea atributelor necesare prelucrarilor specifice sistemului informatic si structura informationala reprezentata de entitati intre care se stabilesc corespondente si legaturi.
Proiectarea bazei informationale presupune:
A. Determinarea continutului bazei informationale si a algoritmilor utilizati;
B. Determinarea structurii bazei informationale.
C. Normalizarea relatiilor
A. Determinarea continutului bazei informationale si a algoritmilor utilizati
Continutul bazei informationale se determina in functie de variantele de abordare a proiectarii generale alese.
In varianta iesiri-intrari continutul bazei informationale se determina in functie de obiectivele propuse concretizate in situatiile de iesire. Baza informationala se va constitui pe baza iesirilor solicitate si va fi modificata pe tot parcursul exploatarii sistemului in concordanta cu dinamica fenomenelor si proceselor din unitatea beneficiara.
Aceasta varianta se aplica in cazul realizarii sistemelor informatice mari si mijlocii caracterizate printr-o complexitate ridicata a iesirilor informationale si implicit a obiectivelor avute in vedere.
In varianta intrari-iesiri continutul bazei informationale presupune cunoasterea datelor de intrare si dinamismul iesirilor solicitate. Se aplica in cazul realizarii sistemelor informatice de dimensiuni mici.
Sistemele informatice din domeniul economic presupun realizarea unor obiective delimitate si fundamentate in stransa legatura cu cadrul legislativ-normativ care impune natura iesirilor informationale, motiv pentru care in majoritatea cazurilor determinarea continutului si structurii bazei informationale se face pe varianta iesiri-intrari.
Determinarea continutului bazei informationale prin varianta iesiri-intrari presupune studierea multimii atributelor din situatiile de iesire in functie de modul de obtinere in urma prelucrarii automate.
Pentru proiectarea corecta a continutului bazei informationale este necesara indeplinirea concomitenta a urmatoarelor conditii:
multimea atributelor de iesire este formata din submultimea atributelor preluate reunita cu submultimea atributelor calculate;
submultimea operanzilor primari intersectata cu submultimea atributelor preluate corespunde atributelor comune ce se gasesc in ambele submultimi;
submultimea atributelor de intrare este reprezentata corect de nucleul informational ce constituie continutul bazei informationale.
B. Determinarea structurii bazei informationale
Structura bazei informationale de intrare reprezinta gruparea continutului acestuia (atributele de intrare intr-un ansamblu de entitati inclusiv corespondentele (legaturile) dintre acestea).
Structura bazei informationale de intrare este efectuata prin intermediul unui model de reprezentare care asigura independenta logica si fizica a prelucrarilor fata de colectiile de date in care va fi transpusa baza informationala. Aceasta proprietate asigura implicit independenta relativa a proiectarii generale fata de solutiile tehnice adoptata in cadrul proiectarii de detaliu.
In mod concret, gruparea atributelor de intrare in entitati informationale si reflectarea corespondentelor (legaturilor) dintre acestea se realizeaza gradat printr-un proces de modelare ce permite definirea riguroasa a structurii bazei informationale. Acest proces de modelare are la baza modelul de reprezentare entitate - atribut - corespondenta. Acest model considera baza informationala de intrare ca un ansamblu finit de entitati informationale, caracterizate in mod unic, printr-o multime specifica de atribute si un ansamblu de corespondente (legaturi) stabilite intre entitati sau chiar in interiorul acestora. In acest context corespondentele pot fi definite ca asocieri intre realizarile aceleiasi entitati sau realizarile entitatilor diferite
Modelul conceptual al datelor redat sub forma diagramei entitate-asociere, este rafinat inainte de a fi trecut intr-un format logic (de regula, un model relational al datelor) din care se definesc bazele de date si are loc proiectarea fizica a acestora (procesul de modelare a datelor este descris in vol. I "Analiza si modelarea datelor").
Optimizarea structurii bazei informationale
Definirea entitatilor, atributelor, legaturilor dintre colectiile de date au drept scop depistarea si inlaturarea disfunctionalitatilor ce ar putea afecta performantele bazei informationale.
Optimizarea structurii bazei informationale are in vedere asigurarea unei flexibilitati adecvate, eliminarea redundantelor dintre atribute si crearea modalitatilor necesare unei actualizari permanente a colectiilor de date.
Prin optimizarea bazei informationale se asigura o flexibilitate ridicata si o simplificare a structurii bazei informationale. Astfel, entitatile complexe sunt descompuse in entitati elementare sau atributele sunt compuse in entitati.
C. Normalizarea relatiilor
Procesul de normalizare a relatiilor este util in activitatea de proiectare a structurii logice si a bazei de date relationale si consta in eliminarea neajunsurilor ce apar in exploatarea efectiva a bazei de date, neajunsuri introduse de dependente incorecte, existente intre datele relationale.
Din punctul de vedere al influentei asupra performantelor in exploatare a bazei de date, normalizarea afecteaza negativ eficienta cu care sunt rezolvate interogarile. Aceasta pentru ca informatiile care intr-o baza de date nenormalizata ar putea fi regasite intr-o singura relatie, in cazul unei baze normalizate necesita, de cele mai multe ori, cuplarea a doua sau mai multe relatii. De aceea normalizarea este considerata necesara si utila doar in ipoteza ca operatiile de adaugare, stergere si actualizare sint frecvent utilizate. Asadar normalizarea imbunatateste integritatea datelor prin reducerea redundantei si a inconsistentei in detrimentul eficientei unor operatii de regasire a datelor.
E. F. Codd a aratat ca intr-o anumita forma relatiile poseda proprietati nedorite pe care le-a numit anomalii de actualizare si le-a structurat astfel:
anomalii de stergere se refera la faptul ca stergand un tuplu dintr-o tabela, pe langa datele ce trebuie eliminate se sterg si cele necesare.
anomalii de adaugare constau in faptul ca anumite date noi care trebuie introduse intr-o tabela fac parte din tupluri incomplete, motiv pentru care nu pot fi introduse.
anomalii de modificare semnifica faptul ca e dificil de schimbat o valoare a unui atribut cand ea apare in mai multe tupluri ale relatiei.
Pentru a elimina aceste anomalii Codd a stabilit trei forme normale pentru relatii si a introdus notiuni de normalizare care se bazeaza pe dependenta functionala intre atributele unei relatii. Ulterior, alti cercetatori au mai completat formele normale cu inca doua forme normale plus una suplimentara.
Primele patru nivele sint definite in termenii dependentelor functionale, si sunt: prima, a doua, a treia forma normala si forma normala Boyce-Codd (notate FN1, FN2, FN3 si FNBC). A patra forma normala (FN4) si a cincea forma (FN5) normala sint definite in termenii dependentelor multivalorice. Diferitele nivele de normalizare impun conditii din ce in ce mai restrictive asupra relatiilor. Astfel o relatie aflata pe un anumit nivel de normalizare satisface toate restrictiile cerute de nivele inferioare de normalizare. Deci o relatie in FN4, este si in FN3, FN2 s.a.m.d.
Formalizarea atributelor
Activitatea de formalizare a atributelor presupune studierea documentelor de intrare si adaptarea lor la cerintele sistemului informatic, iar multitudinea de atribute sunt codificate.
A. Adaptarea documentelor de intrare la cerintele sistemului informatic
Documentele de intrare reflecta starea si dinamica fenomenelor si proceselor economice desfasurate in unitatea respectiva. Ele reprezinta principala sursa de date pentru crearea si actualizarea colectiilor de date.
Daca aceste documente nu corespund integral din punct de vedere al continutului si al formei cu structura bazei informationale si cu restrictiile impuse de sistemul informatic proiectat, vor suferi modificari de continut si de forma.
Modificarile de continut constau in :
adaugarea rubricilor de coduri acolo unde nu sunt prevazute, insistandu-se pe codurile ce specifica natura operatiilor reflectate si a celor care servesc pentru identificarea si asocierea colectiilor de date(exemplu: cod_material, cod_produs, nr._marca);
modificarea si regruparea rubricilor aferente atributelor ce vor contine date care sa se introduca in acelasi loc in toate documentele. In acest mod se formeaza o zona comuna tuturor documentelor, pastrandu-se insa individualitatea fiecarui document.
Modificarile de forma ale documentelor de intrare sunt impuse de necesitatea cresterii facilitatilor de preluare directa a datelor prin intermediul videoterminalului si vizeaza urmatoarele aspecte:
toate atributele care se introduc de la terminal se vor grupa astfel incat sa fie inlaturata dispersarea lor pe toata suprafata terminalului;
atributele se vor ordona asigurandu-se intai prezenta atributelor de identificare, apoi a celor informative si terminand cu cele cantitativ-valorice;
atributele ce se preiau din colectiile de date nu se vor intercala cu atributele care au un caracter constant sau rezulta din calcule(de exemplu, din documentul de intrare "bon de consum" nu se vor prelua atributele constante: pret unitar, unitate de masura, inclusiv atributele rezultate din calcule, desi ele sunt consemnate in documentele pentru efectuarea controlului in gestiune).
Pe langa aceste modificari se vor stabili si regulile de completare si utilizare a documentelor de intrare, se stabilesc numarul de exemplare, circuitul fiecarui exemplar, frecventa si termenul de introducere a datelor in colectiile de date.
De asemenea, se precizeaza responsabiltatile pentru completare si verificare, semnaturile care valideaza continutul documentelor de intrare, inclusiv persoanele imputernicite in acest sens. Aceste specificatii sunt folosite pentru proiectarea sistemului informatic si sunt trecute in documentatia finalizata in etapa de implementare.
B. Codificarea atributelor
Activitatea de codificare trebuie sa realizeze corelatia intre specificul activitatii unitatii beneficiare si particularitatile sistemului informatic proiectat.
Necesitatea de codificare este impusa de cerintele de grupare si ierarhizare a atributelor care oferea multiple solutii (posibilitati de prelucrare a datelor) regasite in colectiile de date care constituie baza informationala.
Codificarea atributelor consta in atribuirea, manuala sau automata, intr-o forma sistematizata, de coduri fiecarui element din sistemul informatic proiectat.
Prin codificarea atributelor se asigura urmatoarele avantaje:
folosirea intensiva a memoriei externe prin inlocuirea atributelor cu coduri numerice, alfabetice sau alfanumerice;
realizarea unei ierarhizari a atributelor in functie de criteriile specifice prelucrarii prin care se poate obtine o ordonare a acestora in raport cu cerintele de selectare a atributelor din baza informationala sau de obtinere a gradelor de total sau subtotal pentru situatiile de iesire;
reducerea erorilor prin folosirea codului care simplifica scrierea in comparatie cu folosirea denumirilor explicite ale atributelor.
utilizarea intensiva a suporturilor direct admisibile a memoriei interne, ceea ce permite optimizarea accesului de diverse valori a atributelor concomitent cu minimizarea timpului de prelucrare a viitoarelor colectii de date.
confidentialitatea datelor, precum si integritatea acestora, ceea ce ofera bazei de date(B.D) o securitate si o protectie in timpul prelucrarii
Pentru ca un sistem de codificare sa fie eficient in procesul de prelucrare a datelor, se urmaresc urmatoarele:
1) Cerintele si functiile codificarii.
2) Tipurile de coduri utilizate intr-un sistem informatic
3) Realizarea codificarii propriu-zise
1) Cerintele si functiile codificarii
Cerintele codificarii sunt redate de proprietatile esentiale ale unui cod pentru ca acesta sa asigure un sistem de codificare eficient si viabil. Cele mai importante proprietati sunt:
unicitatea codului, presupune existenta unui singur simbol pentru un atribut al bazei informationale si pentru atribuirea unei valori unice a fiecarui atribut,proprietate care trebuie asigurata la nivelul intregului sistem informatic
stabilitate si suplete in timp, exprima necesitatea utilizarii unui tip de cod pe toata perioada de utilizarii bazei de date (B.D) inclusiv posibilitatea extinderii expresiilor valorice in functie de dinamica valorilor bazei informationale.
comoditatea utilizarii codului-se refera la facilitatea operatiilor de codificare si de detectare a erorilor, precum si corectare a acestora. Atribuirea codurilor trebuie sa fie usor de inteles si aplicat astfel incat personalul unitatii beneficiare sa asimileze intr-un timp foarte scurt noul sistem de coduri
concizia codului se refera la necesitatea unui numar redus de caractere pentru reprezentarea elementelor codificate, astfel incat sa se asigure o viteza mare de prelucrare si o reducere a procentelor de erori in procedurile manuale de introducere a datelor. Pentru realizarea acestor cerinte codificarea atributelor consta in atribuirea manuala sau automata, intr-o forma sistematizata a unor coduri fiecarui atribut din baza informationala.
Functiile codificarii
Trebuie sa permita caracterizarea directa a fiecarui atribut ce va fi supus codificarii, identificarea formala a acestora, controlul valorilor posibile atribuite, posibilitatea de manipulare a atributelor codificate.
Functia de caracterizare, exprima intr-o forma concisa, unica si stabila in timp continutul semantic al fiecarui atribut, prin intermediul codurilor asociate(exemplu: in loc de Facultatea de Management Financiar Contabil se poate utiliza codul FMFC).
Functia de identificare, ofera posibilitatea regasirii mai rapide a atributelor, decat prin folosirea complexa a semanticii atributului. Aceasta functie creaza posibilitatea ulterioara de selectare a anumitor atribute prin intermediul carora se vor identifica in mod unic atributele solicitate prin intermediul cheilor primare si externe.
Functia de control asigura existenta unui caracter care ataseaza in ultima pozitie din dreapta structurii codului pe baza caruia prin metode matematice (aritmetica si geometrica) au algoritmi specifici ,se poate verifica integral corectitudinea simbolurilor care intra in componenta codurilor.
Functia de manipulare a atributelor codificate, faciliteaza introducerea eficienta a codurilor in memorie, reduce timpul de prelucrare a acestora, faciliteaza usurinta folosirii atributelor de catre toate compartimentele functionale implicate in realizarea sistemului informatic respectiv.
2) Tipologia codurilor
Diversitatea si complexitatea continutului bazei informationale de intrare, precum si multitudinea proceselor de prelucrare a atributelor componente, au condus la aparitia unei game variate de coduri, grupate in mai multe categorii, in functie de urmatoarele criterii de clasificare:
a) Natura caracterelor;
b) Controlul erorilor;
c) Structura simbolului;
d) Lungime;
e) Modul de elaborare(atribuire).
a) Natura caracterelor ce intra in componenta codului determina urmatoarele coduri:
numerice: formate numai din cifre;
alfabetice: formate numai din litere:
alfanumerice: formate din cifre, litere si eventual caractere speciale.
b) Controlul erorilor se realizeaza prin intermediul unui caracter de control, cifra sau litera, situat la dreapta structurii codului. Acest caracter de control face parte din structura codului si va avea aceeasi valoare atata timp cat valorile
De asemenea, caracterul de control asigura fie detectarea automata a erorilor introduse (coduri autodetectoare de erori), fie si corectarea automata a acestora (coduri autocorectoare de erori).
Codurile autodetectoare de erori se bazeaza pe existenta caracterului de control care asigura detectarea automata a erorilor introduse prin compararea caracterului de control care insoteste codul respectiv cu caracterul de control determinat de calculator atunci cand respectivul cod este utilizat.
Pentru calculul caracterului de control se folosesc mai multe metode, dintre care cele mai cunoscute sunt:
metoda aritmetica;
metoda geometrica;
metoda literei de control.
c) Structura simbolului
Coduri secventiale se formeaza prin atribuirea unui sir de caractere fiecarui element al multimii stabilind o corespondenta (in ordine crescatoare) intre elementele acestora si multimea numerelor naturale. Fiecarui element supus codificarii i se asociaza un cod crescator, imediat disponibil. De exemplu: unei persoane angajate i se atribuie marca 123, este precedata de marca 122 si succedata de marca 12
Codul de semnificatie mnemonica se formeaza prin utilizarea unor simboluri recunoscute de standardele in vigoare sau prin atribuirea unor consoane rezultate din abrevierea elementului respectiv (de exemplu OL pentru otel laminat).
Codul de semnificatie descriptiva se formeaza prin combinarea initialelor desemnate pentru denumirea elementului respectiv cu particularitatile tehnico-constructive ale acestuia. Acest tip de coduri este utilizat in special in nomenclatoarele de coduri speciale cu posibilitatile de extindere pentru particularitatile tehnice semnificative (de exemplu: Codurile complexe contin atribute ce apartin unor multimi distincte, dar sunt folosite in comun in viitoarele prelucrari.
In aceasta categorie se include codurile ierarhizate juxtapuse.
Codurile de ierarhizare redau numarul maxim de operatii, al fiecarui tip de atribut in cadrul treptelor de ierarhizare.
Codurile juxtapuse se realizeaza prin concatenarea codurilor ierarhice sau secventiale in vederea utilizarii grupate sau utilizarii individuale a atributelor codificate in raport de cerintele statice sau dinamice de prelucrare.
Exemplu: codificarea personalului unei unitati economice poate avea un cod juxtapus, rezultat din concatenare valorilor distincte ale atributelor (atelier de productie, sectie de productie, marca)
d) Lungimea codurilor este data de numarul maxim de caractere folosite de un cod. Asfel avem
coduri de lungime fixa: cu aceiasi lungime efectiva pentru toate valorile atributelor codificate (exemplu: Codul tarilor RO, DL, SW).
coduri de lungime variabila: au lungimi diferitepentru anumite valori efective ale atributelor (exemplu: Acronimul folosit pentru codurile societatilor comerciale cu lungimea maxima de caractere).
e) Modul de atribuire a codului se refera la modalitatea in care se realizeaza practic codificarea: manual sau automat.
Codificarea manuala este utilizata pentru orice tip de cod si se realizeaza de operatori umani prin scrierea codurilor pe documentele primare.
Codificarea automata este utilizata numai pentru acele tipuri de coduri pentru care se poate defini un algoritm de codificare programabil. De asemenea , aceasta modalitate de codificare solicita standardizarea denumirii atributelor codificate si eventual redactarea unor programe sau rutine de recunoastere.
3) Realizarea codificarii
Activitatea de codificare se realizeaza prin parcurgerea urmatoarelor faze:
pregatirea activitatilor de codificare;
codificarea atributelor bazei informationale;
intocmirea nomenclatoarelor de coduri;
intretinerea nomenclatoarelor de coduri.
Pregatirea activitatilor de codificare presupune urmatoarele operatii
analizarea continutului si structurii bazei informationale in vederea stabilirii acestor atribute ca sunt sau ar trebui codificate;
studierea volumului atributelor codificabile, a tipului de cod utilizat, inclusiv a modului de realizare a codificarii.
In cazul unei codificarii fara pregatire prealabila, activitatea se reduce la o analiza sumara asupra volumului de atribute. Daca se opteaza pentru codificare cu pregatire prealabila este necesara ordonarea atributelor codificabile, analiza particularitatilor continutului bazei informationale si alegerea codului:
ordonarea atributelor codificabile se poate realiza prin sortarea identificatorilor atributelor, ceea ce presupune clasificarea atributelor pe nivele ierarhice in scopul definirii grupelor de codificare precum si reguli precise de introducere a acestora in baza informationala;
analiza particularitatilor continutului bazei informationale, presupune determinarea dimensiunii multimii de codificat si estimarea evolutiei ulterioare. Pentru aceasta este necesara sa se precizeze responsabilitatile de gestionare a bazei informationale, modul de utilizare concreta a codurilor in documente de intrare si iesire, frecventa de utilizarea, precum si gradul de acomodare a utilizatorilor cu sistemul de coduri propus;
alegerea codului se face in corespondenta cu valorile efective potentiale ale atributelor, metoda de introducere si validare a codurilor, metode de codificare, costul si timpul de realizare a activitatii de codificare;
codificarea este subordonata cerintelor si restrictiilor sistemului informatic, deoarece acesta va stabili cerintele de informare pe nivele ierarhice, elemente ce determina fundamental tipul, aria de utilizare si gradul de generalitate al codului proiectat;
costul si timpul de realizare a activitatii de codificare determina solutia acelor tipuri de coduri care implica cheltuieli reduse si un timp minim de realizare a nomenclatoarelor de coduri;
examinarea posibilitatii preluarii in noul sistem informatie a codurilor deja folosite, data fiind obisnuinta folosirii acestor tipuri de coduri, dar si scurtarea perioadei de implementare experimentare a sistemului informatic proiectat.
2 Proiectarea de detaliu/fizica
Proiectarea fizica a sistemelor informatice este concretizata intr-un ansamblu de baze de date, proceduri de pregatire si introducere a datelor, actualizare si obtinere a rezultatelor, precum si reguli tehnice de utilizare si exploatare a intregului sistem.
Proiectarea fizica a sistemelor informatice este caracterizata printr-o serie de trasaturi specifice:
Alegerea sistemului optim de gestiune a datelor si a sistemului de calcul care vor asigura realizarea functionalitatii sistemului informatic definit in proiectarea logica;
Transformarea entitatilor din baza informationala definite in proiectarea logica, in colectii de date ce urmeaza a fi organizate in baze de date;
Proiectarea structurala si functionala a datelor organizate in baze de date la nivelul aplicatiilor;
Elaborarea strategiei de definire a procedurilor de actualizare si exploatare-listare a bazelor de date, precum si specificarea masurilor de securitate si protectie.
Proiectarea fizica a sistemelor informatice are un caracter preponderent tehnic si solicita un volum mare de munca, iar activitatile desfasurate sunt influentate direct de solutia aleasa de gestiune a colectiilor de date, sistemul electronic de calcul si sistemul de operare.
Proiectarea fizica implica parcurgerea urmatorilor pasi:
Proiectarea fisierelor fizice si a bazelor de date - descrierea modului in care vor fi stocate si accesate datele in/din memoriile secundare si cum se va asigura controlul lor pentru a oferi o securitate maxima.
Proiectarea structurii sistemelor si a programelor - se descriu programele sau modulele acestora care sa fie in stransa concordanta cu diagramele fluxurilor de date si cu celelalte piese ale documentatiei realizate in etapele anterioare.
Proiectarea strategiilor de prelucrare distribuita - se vor prezenta modalitatile in care utilizatorul poate sa dispuna de datele si facilitatile de prelucrare oferite de retelele de calculatoare.
Proiectarea fisierelor fizice si a bazelor de date isi propune sa asigure trecerea de la descrierea logica a datelor la una tehnica, de stocare a datelor. Totusi, proiectarea fizica se concretizeaza in specificatii folosite ulterior de programatori si alti specialisti implicati in construirea sistemului (in timpul implementarii), prin crearea fisierelor, definirea modurilor de organizare a acestora, precum si a bazelor de date.
Proiectarea fizica a fisierelor si bazelor de date are doua obiective:
1. Transpunerea relatiilor dintr-un model de reprezentare logica a datelor intr-un proiect tehnic.
Un astfel de proiect va contine formatele sub care vor fi reprezentate atributele, modul de grupare a acestora din una sau mai multe relatii in una sau mai multe inregistrari fizice, alegerea modului de organizare a fiecarui fisier cu inregistrari fizice, precum si proiectarea metodelor de accesare a datelor din unul sau mai multe fisiere.
2. Selectarea tehnologiilor folosite pentru stocarea datelor
Tehnologiile includ diverse functii ale sistemelor de operare, numite metode de acces si sisteme de gestiune a bazelor de date. Fiecare tehnologie va fi specifica unei anumite arhitecturi a sistemului.
Concret activitatile din cadrul proiectarii fizice sunt
1. Alegerea tipului de suport si modalitatilor de prezentare a iesirilor informationale;
2. Proiectarea machetelor de editare/vizualizare a iesirilor;
3. Proiectarea procedurilor si a programelor.
1. Alegerea Sistemului de Gestiune a Bazei de Date
Un sistem de Gestiune a Bazelor de Date SGBD) este acel sistem de programe care faciliteaza si supervizeaza introducerea de informatii in baza de date, actualizarea si extragerea datelor din baza, controlul si autorizarea accesului la date, precum si asigurarea unei independente intre structura bazei de date si programele de aplicatii.
Functiile mai importante ale unui Sistem de Gestiune a Bazelor de Date sunt:
1. Functia de descriere a datelor permite definirea structurii bazei de date cu ajutorul limbajului de definire. Definirea datelor poate fi realizata la nivel logic, conceptual si fizic. La nivelul acestei functii se descrie multitudinea atributelor (campurilor) din cadrul structurii bazei de date, legaturile dintre entitatile bazei de date sau dintre atributele aceleiasi entitati se definesc eventualele criterii de validare a datelor, metodele de acces la date, aspectele referitoare la asigurarea integritatii si confidentialitatii datelor. Rezultatele acestei functii se vor concretiza in schema bazei de date , memorate in cod intern.
2. Functia de manipulare a datelor este cea mai complexa functie si realizeaza urmatoarele activitati:
Crearea (incarcarea) bazei de date;
Adaugarea de noi inregistrari (tupluri);
Suprimarea unor inregistrari;
Modificarea valorilor corespunzatoare unor campuri;
Cautarea, sortarea si editarea partiala sau totala a unei inregistrari virtuale.
Functia de manipulare se realizeaza prin intermediul limbajului de manipulare a datelor.
3. Functia de utilizare asigura multimea interfetelor necesare pentru comunicarea tuturor utilizatorilor cu baza de date.
In cadrul realizarii acestei functii, apar mai multe categorii de utilizatori:
Utilizatori ,,liberi" sau conversationali, numiti si utilizatori finali, constituiti din beneficiarii de informatii care folosesc limbajele de interogare a bazei de date intr-o forma simplista, sunt neinformaticienii.
Utilizatori programatori, care utilizeaza limbajele de manipulare, realizand complexe de exploatare a bazei de date.
Administratorul bazei de date apare ca un utilizator special si are rol hotarator in ceea ce priveste functionarea optima a intregului ansamblu.
Functia de administrare a bazei de date apare ca o functie complexa si este de competenta administratorului bazei de date.
Esential este faptul ca utilizatorii au acces rapid, eventual, simultan la date
Pornind de la modelele realizate prin activitatea de analiza, se poate proiecta structura BD, parcurgand doua subactivitati: alegerea SGBD-ului, proiectarea functiilor BD.
a). Alegerea SGBD-ului se face tinand cont de doua aspecte: cerintele aplicatiei (utilizatorului) si performantele tehnice ale SGBD-ului.
Cerintele aplicatiei se refera la:
volumul de date estimat a fi memorat si prelucrat in BD;
complexitatea problemei de rezolvat;
ponderea si frecventa operatiilor de intrare/iesire;
conditii privind protectia datelor;
operatii necesare pe baza de date (incarcare/validare, actualizare, regasire etc.)
particularitati ale activitatii pentru care se realizeaza baza de date.
performantele tehnice ala SGBD-ului se refera la:
modelul de date pe care-l implementeaza;
ponderea utilizarii SGBD-ului pe piata si tendinta;
configuratia de calcul minim ceruta,
limbajele de programare din SGBD;
facilitati de utilizare oferite pentru diferite categorii de utilizatori;
limitele SGBD-ului;
optimizari realizate de SGBD;
facilitati tehnice;
lucrul cu mediul distribuit si concurenta de date;
elemente de multimedia;
elemente de CASE;
interfete de comunicare;
autodocumentarea;
instrumente specifice oferite.
b) Proiectarea functiilor BD se realizeaza prin: proiectarea schemelor BD, proiectarea modulelor functionale specializate.
Proiectarea colectiilor de date
Se realizeaza pornind de la rezultatele modelarii conceptuale (analiza de sistem) si tinand cont de modelul de date implementat de SGBD-ul ales. Se vor proiecta schemele: conceptuala, externa interna.
Proiectarea schemei structurale porneste de la identificarea setului de date necesar sistemului. Aceste date sunt apoi integrate si structurate intr-o schema (exemplu: pentru BD relationale cea mai utilizata tehnica este normalizarea).
Proiectarea schemei externe are rolul de a specifica viziunea fiecarui utilizator asupra BD. Pentru acest lucru, din schema conceptuala se identifica datele necesare fiecarei viziuni. Datele obtinute se structureaza logic in subscheme tinand cont de facilitatile de utilizare si de cerintele utilizatorului. Schema externa devine operationala prin construirea unor viziuni (view) cu SGBD-ul si acordarea drepturilor de acces. Datele intr-o viziune pot proveni din una sau mai multe colectii si nu ocupa spatiul fizic.
Proiectarea schemei interne presupune stabilirea structurilor de memorare fizica a datelor si definirea cailor de acces la date. Acestea sunt specifice fie SGBD-ului (scheme de alocare), fie sistemului de operare.
Proiectarea schemei interne inseamna realizarea operatiilor:
estimarea spatiului fizic pentru BD si definirea unui model fizic de alocare (a se vedea daca SGBD-ul permite explicit acest lucru);
definirea unor indecsi pentru accesul direct, dupa cheie, la date;
.2 Proiectarea machetelor de editare/vizualizare a iesirilor
La proiectare trebuie sa se tina seama de o serie de consideratii practice, cum ar fi:
Respectarea unor cerinte ale factorilor de decizie privind macheta situatiei finale. O serie de cerinte ale conducerii finale obliga proiectantul la o anumita structurare si machetare a situatiilor finale. Totodata, se are in vedere faptul ca unele situatii finale sunt destinate raporturilor externe ale unitatii cu alte organizatii economico-sociale.
Restrictii tehnice. In proiectarea situatiilor finale intervin o serie de restrictii datorate caracteristicilor si performantelor tehnice ale echipamentelor periferice, si anume:
o numarul maxim de caractere pe linie;
o numarul maxim de linii pe pagina/ecran;
o facilitatile de imprimare.
Elemente de eficienta. In proiectarea situatiilor finale nu trebuie sa scape atentiei si aspectele de eficienta economica privind: reducerea tipului calculator consumat cu editarea propriu-zisa a situatiilor, economie de hartie de imprimanta.
Pentru a nu irosi timp de calculator cu editarea unor situatii finale voluminoase se recomanda mai intai rularea unor programe scurte care sa verifice cheile de control aplicate. Numai daca aceste chei sunt corecte, eventual verificate si de utilizator,se poate lansa editarea analitica a situatiilor finale. Programele care editeaza situatii finale voluminoase trebuie prevazute cu posibilitatea de intrerupere sau editarea lor sub forma unui fisier ASCII sau text pe hard-disk, urmand imprimarea ulterioara a acestui fisier, total sau partial.
Lizibilitate - spatiere. Este necesar ca situatia sa fie autoexplicativa. Pentru aceasta antetul va contine informatii si coduri ce vor indica sursa de emitere a raportului, exprimand clar, sintetic, continutul raportului si perioada la care se refera. Capul de tabel, impreuna cu titlul si antetul, se afiseaza pe urmatoarele pagini numai daca au intervenit schimbari in cadrul caracteristicilor de grupare fata de prima pagina, astfel se imprima doar numerotarea coloanelor de tabel. Totalurile se separa de informatiile care se repeta pe linii succesive se imprima o singura data.
Utilizarea formularelor pretiparite. Aceasta implica utilizarea unei hartii de imprimanta ce cuprinde elemente fixe ale situatiei finale, cum ar fi antetul, titlul, capul de tabel,o diminuare a uzurii imprimantelor, devenind mai estetice si mai usor de parcurs de utilizatori.
Utilizarea monitoarelor. Monitoarele ofera posibilitatea afisarii situatiilor finale, atat in regim alfanumeric, cat si in regim grafic, alegerea modului de lucru facandu-se prin intermediul unor comenzi sau comutatori. Reprezentarea informatiilor de iesire sub forma grafica este preferat de factorii de decizie de pe nivelurile de conducere superioare, dat fiind gradul de sintetizare a informatiilor pe ecran, la proiectarea videoformatelor de iesire se iau in considerare si facilitatile oferite de monitoare, si anume:
Regimul de lucru (defilare ecran, pagina sau linie);
Regimul de afisare (normal, mai luminos, cu intermitente, invers video);
Regimul de semnalizare sonora (normal, semnal sonor dupa afisarea unui camp).
.3 Proiectarea procedurilor si a programelor
Se tine cont de conceptia generala a BD, precum si de schemele proictate anterior. In acest sens, se proiecteaza
fluxul informational;
modulele de incarcare si manipulare a datelor;
interfetele specializate;
integrarea elementelor proiectate cu organizarea si functionarea BD.
Procedurile de utilizare si interpretare sunt absolut necesare utilizatorilor finali. Ele contin instructiuni, pasi, criterii de control care usureaza utilizarea si interpretarea informatiilor. De obicei el insotesc situatiile finale.
Proiectarea programelor
Cu etapa de proiectare a programelor se incheie procesul de construire a sistemului. urmand apoi implementarea practica a acestuia. In cadrul analizei au fost identificate procesele elementare si ulterior functiile sistemului informatic. In cadrul proiectarii, acestea se detaliaza, cu tranzitia catre codul sursa, aceasta realizandu-se dupa alegere limbajului de programare pentru implementarea sistemului.
Pe baza cerintelor din activitatile precedente se poate stabili necesarul de progran pentru sistemul informatic. Pentru acest lucru se determina categoriile de programe lista programelor necesare in sistemul informatic.
A. Categoriile de programe necesare reprezinta o prima evaluare. Pentru a stabili aceste categorii se au in vedere sursele de obtinere a programelor:
componente din software-ul de baza al calculatorului;
proceduri utile din software-ul aplicativ existent;
interfete de legatura;
programe originale.
a) Componente din software-ul de baza al calculatorului.
Proiectantul trebuie sa cunoasca diferite sisteme de operare in diferite versiuni, restrictiile de exploatare si facilitatile oferite de acestea, pentru a putea realiza un stuc comparativ. Trebuie sa se tina cont, de asemenea, de flexibilitatea si portabilitai: pachetelor de programe din cadrul sistemului de operare.
Din aceasta categorie fac parte: compilatoarele, utilitarele (shell-uri pentru manipulare fisiere si alte operatii speciale, editoare de texte), SGBD-uri, biblioteci de programe (matematice, grafice, de comunicatie etc).
b) Proceduri utile din software-ul aplicativ existent. Din cadrul aplicatii informatice existente se pot selectiona anumite module care acopera integral sau partial module din cadrul sistemului proiectat in acest moment. De cele mai multe ori este necesar un proces de adaptare, in sprijinul caruia vine tehnologia de realizare a sistemelor deschi:care prevede inca din cadrul proiectarii posibilitatea de adaptare si refolosire a componentelor din sistem. Tehnologiile informatice de tipul abordarii orientate obiect sau inteligenta artificiala permit abordarea reutilizarii modelelor conceptuale, a datelor, cunostintelor sau obiectelor si a modulelor de program. Evidenta componentelor de mai sus utilizate in diferite aplicatii, analiza, compararea lor au condus la biblioteci reutilizabile in diferite aplicatii. Acest efort indreapta spre o standardizare in domeniu.
O alta directie de realizare a sistemelor informatice tinand cont de software-ul existent este cea data de proiectarea asistata de calculator, aceasta fiind o solutie rapida si foarte utila in faza de incercari si testari a programelor. Pentru elaborarea propriu-zisa a programelor solutia generatoarelor este, de multe ori, rigida si cu mica portabilitate, ceea ce contravine sistemelor deschise.
c) Interfete de legatura. Programele existente din categoriile de mai sus pot corespunde ca functionalitate pentru sistemul proiectat, dar pot fi incompatibile din punct de vedere al datelor de intrare/iesire, din punct de vedere al formei de prezentare sau a structurii. Pentru rezolvarea acestor probleme se realizeaza interfetele de legatura care realizeaza conversii si adaptari, eventual anumite prelucrari intermediare, parametrizari etc. Echipa de proiectanti trebuie sa evalueze efortul realizarii acestor interfete, care trebuie sa fie mai mic decat efortul scrierii programelor corespunzatoare. Interfetele trebuie sa valorifice fondul de programe existent si sa micsoreze efortul de programare in proiect.
d) Programe originale. Acestea sunt create conform cerintelor si restrictiilor rezultate din activitatile precedente. Elaborarea programelor se va face utilizand tehnici de programare (structurata, modulara etc), care contribuie la cresterea eficientei, lizibilitatii si calitatii in activitatea de programare.
B. Lista programelor necesare in sistemul informatic este utila, in general, pentru managerul echipei de programatori. Aceasta lista se poate realiza in urma analizei categoriilor de programe necesare identificate mai sus si a cerintelor rezultate din celelalte faze ale proiectarii.
In cadrul acestei liste se incadreaza Lista programelor existente si lista programelor de realizat.
Lista programelor existente contine modulele de program reutilizabile in proiectul curent, din alte surse
Lista programelor de realizat contine programele care trebuie realizate de proiectanti. Programele sunt indicate aici la nivel global, eventual tipul de program necesar, urmand ca ulterior sa se detalieze
Activitati de proiectare a programelor
A. Definirea problemei de rezolvat
Se are in vedere:
cerintele informationale ale conducerii
cerintele legate de evolutie sistemului informatic.
B. Descompunerea problemei in operatii
Dupa cum se stie, o problema este o expresie logica de forma: dandu-se o serie de conditii initiale, sa se determine scopul. In cazul nostru este vorba de o problema economica in care se da o multime de factori economici, o multime de operatori de transformare, care actioneaza conform unor criterii pentru scopul de a atinge anumite obiective.
Pe de alta parte, orice problema este un proces ce se poate reprezenta sub forma unei secvente de subprobleme, ce trebuie rezolvate. In cazul sistemelor informatice se realizeaza o descompunere de la varf spre baza (metoda top-down) pana se ajunge la operatii elementare, folosind tehnica modularizarii. Se obtine astfel, aplicand diferite criterii de descompunere, un arbore de componente. Criteriul principal care se realizeaza descompunerea este cel al functionalitatii.
Modulele functionale cele mai intalnite sunt:
Modul director. Supravegheaza, comanda (dirijeaza), si controleaza executia tuturor celorlalte module din sistem.
Modul de incarcare/validare date. Pentru cazul folosirii bazelor de date exista posibilitatea ca aceste module sa fie realizate prin generatoare oferite de sistemul de gestiune a bazelor de date sau prin proceduri realizate de programator.
Modul de actualizare. Cuprinde cele trei operatii: adaugare, modificare, stergere pentru fiecare colectie de date sau obiecte.
Modul de interogare. Cuprinde rezolvarea cererilor de regasire instantanee (interactive), obtinerea de liste cu rezultate intermediare sau finale, obtinerea de rapoarte finale, obtinerea de statistici asupra datelor.
Modul de prelucrare. Realizeaza prelucrari asupra inregistrarilor sau obiectelor, asupra datelor de intrare sau de iesire, calcule matematice. Acest modul implementeaza cea mai mare parte din algoritmii sistemului informatic.
Modul de administrare. Are functii utile administratorului de sistem, cum ar fi salvari/restaurari, reorganizari, protectie si securitate pentru date si obiecte. Tot aici intra procedurile pentru diferite optimizari: accese, adresari, calcule etc.
Cele mai des intalnite module/proceduri operationale (executive) sunt:
Proceduri prelucrative. Realizeaza operatii elementare de acces, de calcul,matematice, operatii auxiliare, putand fi inglobate in oricare dintre modulele de mai sus dar in special in modulul de proiectare si in cel de interogare.
Proceduri comunicative (de utilizare). Realizeaza interfata de utilizare printr-un dialog intre program si utilizator. Se construiesc meniuri, videoformate sau numai simplu mesaje. Procedurile comunicative care se realizeaza strict cu scopul de a realiza legaturi intre module/proceduri se numesc proceduri monitor. Un modul director poate contin una sau mai multe proceduri monitor.
Proceduri mixte. Au atat rol prelucrativ, cat si de comunicatie. Dat fiind caracterul operational indivizibil al procedurii, cele mixte sunt mai rare.
Rezumand, modularizarea se realizeaza in trei etape:
descompunerea intregului in parti componente;
definirea si conturarea modulelor (nume, tip, functie);
stabilirea legaturilor intre module in concordanta cu cerintele globale a intregului.
La nivelul bazei de date se pot proiecta:
a. Proceduri si functii stocate in baza de date
La apelul procedurilor/functiilor se paraseste executia programului apelant (principal) se face salt la modulul indicat (programul apelat) prin nume, se executa subprogramul, apoi se revine la programul principal la urmatoarea instructiune de dupa cea de apel. Sunt proiectate urmatoarele elemente: numele procedurii/functiei; parametrii de intrare si de iesire; algoritmul continut.
b. Pachete. Un pachet este un obiect care incorporeaza un set de variabile, proceduri si functii. Practic, pachetul reuneste un ansamblu de prelucrari efectuate asupra aceluiasi domeniu sau acelorasi obiecte. Se vor proiecta toate functiile si proceduriile din cadrul sau.
c. Script-uri declansate la actualizarea bazei de date. Acestea se stocheaza in dictionarul bazei de date si vor fi disponibile tuturor celor care au drept de acces la baza de date. Permite sa se implementeze reguli de gestiune complexe si sa se intensifice (masuri suplimentare) protectia datelor. In Oracle poarta denumirea de triggeri.
Script-urile pot fi declansate inainte/dupa inserare (after/before insert), modificare (after/before update), stergere (after/before delete). De asemenea, script-urile se pot rula pentru fiecare dintre inregistrarile care au fost actualizate sau o singura data pentru un proces de actualizare.
La nivelul aplicatiei se proiecteaza procesele prin identificarea:
evenimentului declansator, care poate fi: executia unei instructiuni, clic de mouse, apasarea unei taste, aparitia unei erori etc;
tratamentului efectuat, adica actiunea care se desfasoara. Aceasta actiune se poate realiza inainte de declansarea evenimentului (procese de tip pre), in timpul evenimentului (procese de tip on) sau dupa terminarea evenimentului (procese de tip post).
C. Documentarea pachetului de programe
Este etapa care pregateste toate elementele necesare realizarii propriu-zise a modulelor de program. Pe baza arborelui de structura identificat in etapa precedenta, se realizeaza urmatoarele etape: esalonarea in timp a realizarii programelor, realizarea schemei de sistem, realizarea schemei logice/preudocodului, realizarea specificatiilor de programare.
a. Realizarea esalonarii in timp a realizarii programelor
Graficul de esalonare a realizarii si testarii produsului program are rolul de a afecta resursele de timp si umane fiecarui modul, incadrandu-ne intr-o perioada data (disponibila).
In acest sens, se porneste de la arborele de module, completandu-se pentru fiecare modul/procedura astfel:
se identifica modulele predecesoare si urmatoare;
se stabileste durata de realizare;
se stabileste termenul de incepere si de terminare;
se indica numarul de programatori.
Pentru alocarea de mai sus se are in vedere atat realizarea, cat si testarea produsului program. Pentru o realizare rapida si corecta se recomanda utilizarea software-ului specializat pentru managementul proiectelor (Microsoft Project, Primavera etc.)
b .Realizarea schemei de sistem pe module
Pentru fiecare modul se construieste o schema de sistem, care contine modulul de program si echipamentele periferice pe care acesta le acceseaza la citire (intrare) si scriere (iesire), precum si fisierele sau tabelele corespunzatoare.
c. Realizarea schemei logice/pseudocodului
Pentru realizarea acestei etape se parcurg urmatoarele activitati:
Precizarea operatiunilor pe care le efectueaza modulul, precum si succesiunilor acestora. Aceste operatii rezulta din scopul modulului, incadrarea lui in graficul de esalonare si in schema de sistem;
Construirea setului de date de test, in functie de datele de intrare in modul si de incadrarea lui in produsul program. Datele de test trebuie sa acopere toate ramurile modulului.
Stabilirea parametrilor de intrare /iesire. Pentru fiecare modul se identifica parametrii de intrare, de iesire si de intrare/iesire, precizandu-se tipul, lungimea si functia lor.
Elaborarea algoritmului de prelucrare pe modul se realizeaza pornind de algoritmii identificati in activitatea de modelare a noului sistem, prin adaugarea elementelor specifice modulului, rezultate din precizarea operatiilor si conditiilor pe care le efectueaza modulul. Algoritmul este testat folosind setul de date de test identificat anterior.
intocmirea efectiva a schemei logice / pseudocodului.
Schema logica da o reprezentare grafica a algoritmului prin simboluri specifice, fiind independenta de limbajul de programare utilizat sau de calculatorul pe care va fi realizat programul. Se utilizeaza tehnica programarii structurate, reprezentand cele trei structuri fundamentale de program: secventiala, alternativa si repetitiva.
d. Realizarea specificatiilor de programare pe module.
Avand ca baza schema de sistem si schema logica, respectiv pseudocodul pentru un anumit modul, se intocmesc specificatiile de programare.