1.3 Identificarea functiilor

 

Modelarea functiilor este o activitate importanta si este complementara modelarii proceselor.

Functia constituie un concept de baza al metodologiei SSADM si al metodologiei Oracle CDM si se refera la un set de procese (prelucrari) care din punct de vedere al utilizatorului se executa impreuna, in mod continuu, de la inceput pina la sfirsit. Majoritatea functiilor sunt asociate optiunilor din meniul aplicatiei dar exista si functii care se executa off-line, care nu apar explicit in meniu. Functiile sunt identificate in cadrul modelului proceselor (fiecare proces atomic fiind alocat cel putin unei functii) Daca un grup de procese se executa intotdeauna in secventa vor fi grupate intr-o singura functie.

Oracle Designer nu face distinctie intre procesul atomic creat in diagrama proceselor si o functie creata in diagrama ierarhiei de functii. In consecinta procesele atomice sunt salvate in Repository ca functii. Numele functiei este la fel ca numele procesului atomic asociat. Instrumentul Process Modeller creeaza o ierarhie de functii implicita care uneori este referita ca o ierarhie de procese.

Instrumentul Function Hierarchy Diagram (FHD) reprezinta cerintele functionale ale sistemului economic modelat si gruparile lor din punct de vedere logic. Aceasta diagrama se foloseste pentru:

- a identifica toate functiile. Fiecare functie are asociata o eticheta (label) unica si o scurta definitie a functiei in termeni economici;

- a arata cum sunt grupate functiile;

- a identifica granitele sistemului si functiile automate.

O diagrama ierarhica de functii este compusa din :

-         Root (radacina) este functia care nu are parinte (varful ierarhiei)

-         Full este o functie ce are un parinte si cel putin un copil

-         Frunza este o functie care nu se mai descompune (functie atomica). Oracle Designer seteaza automat propietatea Atomic pe “Y” pentru toate functiile atomice. Daca se creeaza o functie copil care are ca parinte o functie frunza, atunci instrumentul FHD schimba automat setarea propietatii Atomic, pentru caea functie.

Se utilizeaza diagrama ierarhiei de functii pentru a identifica care din functiile atomice pot fi automatizate sau nu.

Toate functiile automate folosesc date. Dupa identificarea functiilor automate trebuie sa se specifice datele pe care le utilizeaza aceste functii (Function:data usages)

Pentru fiecare functie atomica se specifica si tipul de raspuns (imediat, peste noapte), ce se foloseste pentru a determina tipul de modul (program) ce se va crea.

Functiile, prin care se introduc date sau se manipuleaza date, trebuie sa aiba un timp de raspuns mic de citeva minute (immediate). Alte functii au un timp de raspuns mai mare, posibil ore sau chiar zile (overnight).

 

SINTEZA:

 

Etapa 5 Crearea diagramei ierarhiei de functii

·        Click pe icoana Function Hierarchy Diagrammer.

·        Se creeaza o noua diagrama selectind optiunea File/New din meniul principal.

·        Se selecteaza functia radacina pe care se bazeaza ierarhia sau se selecteaza butonul New Function pentru a crea o noua radacina. Se specifica eticheta si definitia scurta pentru noua radacina. Se apasa butonul OK.

 

5.1  Identificarea unei functii automate

·        Se cauta functiile a caror definitie indica ca actualizeaza datele (inserare/modificare/stergere).

·        Dublu click pe functia ce este automata si se deschide fereastra de dialog Edit function.

·        Se marcheaza aceasta functie ca fiind automata prin setarea optiunii To be Automated .

 

5.2  Schimbarea culorii unei functii:

·        se selecteaza functia pentru care se va schimba culoarea.

·        se utilizeaza butonul Fill Color pentru a selecta culoarea dorita. Se apasa butonul OK.

 

5.3  Schimbarea etichetei unei functii:

·        Dublu click pe functia ce se modifica.

·        Se utilizeaza optiunea Definition pentru a introduce noua eticheta.

 

Etapa 6. Definirea detaliilor pentru functii:

Se adauga detalii la functii (modul de utilizare a entitatilor si timpul de raspuns). Functiile frunza si modul de utilizare a datelor de catre functii se vor transforma in definitii ale modulelor aplicatiei si ale utilizarii datelor de catre module.

 

6.1 Definirea modului de utilizare a datelor

·        Dublu click pe functia frunza pentru care dorim sa definim modul de utilizare a datelor si se deschide fereastra de dialog Edit Function.

·        Se selecteaza optiunea Entity Usages.

·        Se alege entitatea dorita si se adauga (de exemplu Client).

·        Se specifica modul de utilizare a entitatii (de exemplu Create, Retrieve, Update, Delete ).

 

6.2 Specificarea timpului de raspuns:

·        In optiunea Definition se selecteaza optiunea Response (de exemplu Response : immediate).

 

6.3 Crearea matricei Functii/Atribute:

·        Se alege optiunea Utilities/Function Attribute Matrix din meniul principal al instrumentului FHD.

·        Se selecteaza butonul Select ALL si apoi OK. Se creeaza pentru toate functiile, modul de utilizare al atributelor entitatilor folosite de functiile respective.

 

6.4. Modificarea matricei Functii/Atribute:

·        Se selecteaza o functie pentru care s-a definit modul de utilizare a entitatilor.

·        Se deschide fereastra de dialog Edit Function (dublu click pe functie).

·        Se modifica modul de utilizare selectind optiunea Attribute Usages. De obicei atributele incluse in identificatorul unic al entitatii nu trebuie sa fie modificate.

·        Se salveaza diagrama ierarhiei de functii selectind optiunea File/Save din meniul principal (de exemplu FHD1).

 

 

1.4 Crearea matricei CRUD

 

Matricea de corespondenta entitate functii (CRUD) pune in evidenta efectul pe care il au in timp functiile asupra entitatilor. Entitatile corespund obiectelor reale sau abstracte din sistemul real. Ca urmare matricea CRUD pune in evidenta modul in care sistemul isi schimba starea (continutul entitatilor), tranzitia intre stari fiind determinata de functiile de actualizare din sistem. Functiile sunt reprezentate pe coloane iar entitatile pe linii. Matricea CRUD verifica doua aspecte: ce entitati sunt utilizate de o functie si cum sunt ele utilizate.

Un element din matrice pune in evidenta efectul functiei asupra entitatii care poate fi : inserarea/creare (C), modificare (U), citire (R), stergere (D), arhivare (A). Functiile de actualizare schimba starea entitatilor si se vor reprezenta individual in matrice. Rindurile matricei pun in evidenta ciclul de viata al entitatii. Fiecare rind trebuie sa cuprinda cel putin o inserare, o citire si o stergere. Ca urmare dupa completarea matricei, trebuie sa facem o analiza pe rindurile matricei si sa identificam si sa solutionam doua situatii extreme:

·        Entitati care sunt utilizate dar nu sunt create (trebuie sa introducem o functie care sa le actualizeze (I/M/D). In general pentru toate entitatile de tip nomenclator (Clienti, Produse, Beneficiari) este bine sa avem o functie separata care sa asigure actualizarea lor. Daca apar functii noi, atunci se va modifica modelul de procese, respectiv diagrama ierarhiei de functii.

·        Entitati care sunt create dar nu sunt utilizate. Trebuie sa analizam utilitatea lor (cazul sistemelor integrate)si sa le eliminam din sistem daca nu sunt folosite. Entitatile trebuie eliminate si din diagrama entitate asociere.

In concluzie, la sfirsitul analizei functionale, dupa ce s-au pus in evidenta functiile sistemului precum si modul cum utilizeaza aceste functii datele, se va utiliza matricea CRUD care face legatura intre modelele de date construite cu instrumentul Entity Relationship Diagram si modelele de functii construite cu instrumentul Function Hierarchy Diagrammer, ale sistemului economic analizat.

Este foarte important de a defini corect din perspectiva activitatii analizate ce date sunt utilizate si cum sunt utilizate deoarece instrumentul Application Design Transformer utilizeaza Function:entity usages pentru a crea module:table usages (modul cum modulele aplicatiei folosesc tabelele bazei de date).

Exista si alte matrici utilizate in etapa de analiza a sistemului economic existent:

·        Matricea Business Function: Business unit care defineste cum o functie este folosita de o anumita unitate de afaceri. Unitatea de afacere este un termen sinonim cu unitatea organizationala.

·        Matricea Business Function: Atributte este o forma mai detaliata a matricii CRUD.

 

SINTEZA:

Etapa 7 Crearea matricei CRUD

Odata create modelele de functii si cele de date, se compara unele cu altele pentru a se vedea daca sunt complementare.

 

7.1 Definirea setarilor pentru matrice.

·        Click pe icoana Matrix Diagrammer.

·        Se selecteaza optiunea File/New din meniul principal pentru a crea a noua matrice CRUD.

·        In fereastra Row se selecteaza Entities .

·        In fereastra Column se selecteaza Business Functions. Se apasa butonul OK.

·        Apare fereastra de dialog Settings. Optiunea Row-Entities permite selectarea propietatilor care se vor vizualiza pe rinduri. Optiunea Column-Business Functions permite selectarea propietatilor care se vor vizualiza pe coloane. Optiunea Intersection specifica tipul de asociere intre obiectele de pe axe (rinduri si coloane). Se poate afisa C,R,U,D.

·        Se selecteaza butonul OK si se afiseaza matricea.

 

7.2 Setarea propietatii Filter

Modificarea setarilor se poate face prin selectarea optiunii Edit/Settings.

Fereastra de dialog Settings permite modificarea matricii. Optiunea View specifica care propietati ale unui element se afiseaza. De exemplu pentru Business Functions se va afisa eticheta (Label), definitia scurta (Short Definition) si daca functia este atomica sau nu (Atomic?). Optiunea Order defineste o ordine de sortare pentru propietatile unui tip de element. In mod obisnuit se poate ordona (crescator /descrescator) numai dupa o singura propietate (de exemplu numele entitatii sau eticheta functiei). Optiunea Filter introduce o restrictie pentru elementele afisate. De exemplu daca se doreste afisarea numai a functiilor atomice se seteaza propietatea Atomic=’Y’.

 

7.3 Modificarea celulelor din matrice

·        Click in celula de intersectie.

·        Apare fereastra Property Palette care afiseaza numele functiei si a entitatii utilizata de functie. Se pot modifica optiunile Create, Retrieve, Update, Delete, Archive si Other.

·        Se salveaza matricea selectind optiunea File/Save As (de exemplu MDX1).


1.5 Validarea modelelor de analiza

 

Analistul trebuie sa identifice clar cerintele informationale ale sistemului existent. Un rol major il au utilizatorii finali care trebuie sa se implice in identificarea corecta a acestor cerinte informationale. Modelele utilizate de analisti pentru a specifica cerintele informationale ale sistemului existent (modelul proceselor, modelul functiilor si modelul datelor) reprezinta o metoda efectiva de comunicare cu utilizatorii (specialisti si nespecialisti). La sfirsitul etapei de analiza se va verifica corectitudinea acestor modele:

Validarea modelului de date.

Inainte de a lansa in executie instrumentul Database Design Transformer se va verifica daca :

·        Toate entitatile au un set complet de atribute;

·        Fiecare entitate are cel putin o asociere;

·        Fiecare entitate are un atribut de identificare. Daca nu exista sau daca nu se poate stabili un astfel de atribut instrumentul Database Transformer creeaza o cheie surogat.

·        Fiecare entitate trebuie sa aiba o descriere completa;

·        Fiecare entitate trebuie sa fie folosita de cel putin o functie;

·        Fiecare atribut are specificat formatul, lungimea si daca accepta sau nu valori nule;

·        Fiecare asociere trebuie sa fie valida.

Validarea modelului de procese si a diagramei ierarhiei de functii:

Inainte de a lansa in executie instrumentul Application Design Transformer se va verifca daca:

·        Fiecare functie automata are definit modul de utilizare a entitatilor;

·        Propietatea Response este setata astfel instrumentul Application Design Transformer poate identifica tipul de modul corespunzator pentru functia respectiva.

Oracle Designer are un numar mare de rapoarte care pot realiza aceste validari. Rapoartele sunt grupate in 13 grupuri (de exemplu grupul Entity Relationship Modeling, grupul Function Event Modeling, grupul Quality, etc). Grupa Entity Relationship Modeling cuprinde urmatoarele rapoarte : Entity Definition, Entities and their Attributes, Attribute Definition, Attributes in a domain, Function to

Entity Matrix, Function to Attribute Matrix, Entity Model Reference, System Glossary.

Raportul Table Definition listeaza detalii despre coloanele si indecsii unei tabele, raportul Column in a Domain listeaza tabelele si coloanele ce exista in fiecare domeniu, pentru a anumita aplicatie etc

 

SINTEZA:

 

Etapa 8 Validarea modelelor

Se lanseaza instrumentul Repository Reports pentru a verifica calitatea modelelor. Se specifica parametrii pentru raport si se lanseaza in executie.

·        Click pe instrumentul Repository Reports.

Se detaliaza fiecare grup pentru a vizualiza lista de rapoarte dintr-un anume grup. Click pe (?) pentru a vedea ce inseamna fiecare raport. Pentru a selecta un raport click pe numele lui. De exemplu se alege din grupul Entity Relationship Modeling raportul Entity Definition/ Entity and their Attributes. Se afiseaza lista de parametri atasati raportului.

·        Se selecteaza parametru pe care dorim sa-l definim. Se alege o valoare dintr-o lista sau se tasteaza valoarea parametrului (de exemplu pentru parametru ER Diagram se alege diagrama ERD1, pentru parametru Entity Name se alege entitatea Client, pentru parametru Application System se alege aplicatia Exemplu).

·        Pentru a lansa in executie raportul, se selecteaza optiunea File/Run Report din meniul principal sau se selecteaza butonul Run Report din bara de butoane.