Sunteți pe pagina 1din 7

Curs 4

METODOLOGII SI TENDINTE IN DEZVOLTAREA INSTRUMENTELOR CASE

Majoritatea instrumentelor CASE furnizeaza un depozit (repository) care pastreaza


informatia inregistrata in obiecte cum ar fi entitatile. Sunt furnizate de obicei şi facilitatile de
raportare a informatiei precum şi verificari ale integritatii. Cu toate ca instrumentele CASE acopera
ambele niveluri, de regula, trebuie facuta distinctie intre instrumente CASE de nivel superior şi
inferior astfel:
o Instrumentele CASE de nivel superior suporta analiza şi specificatiile de sistem la nivel logic;
o Instrumentele CASE de nivel inferior suporta proiectarea şi construirea sistemului;
In literatura de specialitate, instrumentele CASE sunt clasificate si dupa un alt criteriu decat cel al
activitatilor din ciclul de viata al sistemelor pe care le sprijina. Acest criteriu se refera la metodologia
pe care o incorporeaza pentru realizarea sistemelor. Din acest punct de vedere se intalnesc
urmatoarele trei categorii:
o Instrumente CASE pentru analiză şi proiectare structurată;
o Instrumente CASE pentru analiză şi proiectare orientată-obiect;
o Instrumente hibride .

In cele ce urmeaza se vor prezenta cele mai utilizate metodologii de analiza si proiectare, respectiv
metodologia structurata si cea orientata pe obiecte.

1. Metodologia structurata
Un exemplu de instrument structurat este Westmount I-CASE Yourdon care ofera suport complet
pentru realizarea sistemelor informatice. Avand la baza metoda structurata propusa de Yourdon,
acest instrument CASE integrat ofera posibilitatea lucrului in echipa, posibilitatea de generare si
reutilizare a codului si generarea automata a documentatiei de realizare a sistemului informatic.
Arhitectura acestui mediu integrat de dezvoltare este prezentat in figura de mai jos:

Arhitectura Westmount I-CASE Yourdon

1
• Repository este componenta centrala a arhitecturii Westmount I-CASE Yourdon.
Repository este implementat cu ajutorul unui SGBD relational: Oracle, Informix, Ingres sau Sybase.

• Analyst este componenta ce ofera suport pentru analiza structurata.


Metoda implementata este Yourdon De Marco. Westmount I-CASE Yourdon ofera suport pentru un
set extins de instrumente si anume editoare pentru diagrame de flux a datelor, diagrame entitate
asociere, diagrame de structura a datelor, editoare matriciale pentru matricea listei de evenimente.

• Arhitect este componenta ce permite definirea arhitecturii sistemului (proiectare de


ansamblu).
Editorul pentru arhitectura sistemului permite :
o Definirea modelului hardware;
o Maparea aplicatiilor pe structura hardware;
o Modelarea aplicatiilor client/server;
o Analiza utilizarii monitorului de tranzactii (Tuxedo, TopenD);
o Includerea controlului in timp real.

• Designer este componenta ce ofera suport pentru proiectarea de detaliu a sistemului


informatic. Modelarea aplicatiei este realizata cu ajutorul urmatoarelor diagrame:
o Diagrama de proiectare a interfetei cu utilizatorul (Form Sequence Diagram) care defineste
structura meniului si a formularelor(formelor);
o Diagrama de definire a continutului formularelor (Form Contents Diagram) care permite
specificarea definitiilor logice (entitatile, atributele componente si relatiile dintre entitati);
o Schema de structura este definita pentru a specifica operatiile permise pe formular.
Proiectarea de detaliu a aplicatiei este strans legata de proiectarea bazei de date iar pentru modelarea
datelor se utilizeaza diagrama entitate asociere.

• Programmer este mediul de programare care ofera suport pentru compilare, generarea
codului sursa, lansare in executie si testarea aplicatiei.
Generatorul de cod translateaza specificatiile de proiectare in cod sursa. Astfel, pe baza diagramei
entitate-asociere se genereaza codul DDL (in SQL) care defineste structura fizica a bazei de date.
Codul poate fi completat pentru a defini restrictiile de integritate si modul fizic de stocare a bazei de
date. Este prezentata si facilitatea de inginerie inversata care translateaza definirile asociate bazei de
date existente intr-o diagrama entitate-asociere.
Codului aplicatiei este generat in limbajul C imbogatit cu instructiuni SQL (standardul ESQLC )
pornind de la specificatiile din schemele de structura.

• Docwriter este componenta care permite generarea documentatiei pentru fiecare etapa de
realizare a sistemului. Sunt utilizate documentele standard ale metodei Yourdon, dar pot fi
predefinite si documente cu structura proprie. Documentatia obtinuta va contine intotdeauna ultima
versiune a diagramelor si poate fi generata in format WordPerfect, Interleaf sau FrameMaker.

• Manager este componenta folosita pentru managementul proiectului.

• User Interface este interfata oferita de sistem cu functionalitati specifice dezvoltarii


aplicatiilor software.

Utilizarea produsului Westmount I-CASE Yourdon imbunatateste productivitatea realizarii


sistemelor informatice si ofera garantii pentru calitatea sistemelor obtinute.

2
2. Metodologia orientata-obiect

Expresia “pur orientate obiect” se refera la faptul ca, pe de o parte, instrumentele CASE contin
numai elemente specifice abordarii orientata obiect a sistemelor, iar pe de alta parte la faptul ca se
bazeaza pe metodele si tehnicile de analiza si proiectare orientate obiect. Caracteristicile de baza ale
unor astfel de instrumente sunt:
o Modelele conceptuale sunt imbogatite din punct de vedere al semanticii si permit modelarea
problemelor complexe prin gradul ridicat de abstractizare;
o Instrumentele depind de utilizarea metodelor de realizare a diagramelor orientate obiect
(diagrame ale obiectelor, claselor de obiecte, diagrame al starilor de tranzitie, diagrame
entitate-relatie), iar descrierea lor in depozitul de date permite generarea structurilor bazelor
de date relationale sau orientate obiect;
o Flexibilitate in realizarea modificarilor oferita de metodele orientate obiect;
o Avantajul crearii bibliotecilor de clase de obiecte prin reutilizarea lor pentru diferite
componente ale sistemului, mai ales in faza de intretinere;
o Permit modelarea aplicatiilor pe baza conceptului de reverse engineering;
o Conduc la generarea automata a codului sursa;
o Dispun de facilitati de gestiune a versiunilor si configuratiilor pentru proiecte, a integritatii si
controlul modificarilor asupra proiectelor, fazelor de derulare a fiecarui proiect, asupra
sistemelor;
o Ofera suport pentru gestiunea si reutilizarea modelelor la nivelul organizatiei;
o Posibilitatea asigurarii controlului accesului pe baza de reguli, care se poate stabili in functie
de tipul clasei, de clasa sau de obiect.

Instrumentele CASE orientate obiect, din punct de vedere al etapelor ciclului de viata al sistemelor
pot fi grupate ca si cele conventionale, astfel:
o Upper CASE orientat-obiect pentru analiza si proiectarea sistemelor;
o Lower CASE orientat-obiect pentru generarea codului-sursa al aplicatiilor;
o I-CASE orientat-obiect care acopera intregul ciclu de viata.
Pentru ca tendinta se indreapta tot mai mult spre tehnologiile informationale orientate obiect, nici
domeniul instrumentelor ce sprijina realizarea sistemelor nu poate sa nu se adapteze la aceasta
orientare, lucru ce a dus la aparitia a numeroase produse CASE orientate obiect sau la reorientarea
firmelor producatoare de instrumente conventionale spre inglobarea in produsele lor a elementelor
specifice abordarii obiectuale.
Un exemplu de instrument CASE orientat obiect este Eiffel CASE realizat de firma ISE (Interactive
Software Engineering) sub sistemul de operare Linux care se bazeaza pe limbajul Eiffel si metoda de
analiza si proiectare BON (Business Object Notation), utilizand conceptele tehnologiei orientate
obiect. Metodologia BON este orientata obiect dar foloseste un numar mic de concepte din
tehnologia orientata pe obiecte si are ca principiu de baza simplitatea in utilizare.
Caracteristicile ale acestei metodologii sunt urmatoarele:
o Se lucreaza cu doua tipuri de entitati: clasa si cluster. Clasa grupeaza obiectele dupa un singur
criteriu. Clusterul este o colectie de clase sau / si clustere care se grupeaza dupa mai multe
criterii (nivel de abstractizare, categorii de utilizatori, functional etc.);
o Legaturile intre entitati sunt de doua tipuri: mostenire si client/server. Intre clase se pot stabili
ambele tipuri de legaturi, intre clustere doar legaturi client/server;
o Descrierea in aplicatie se poate face static si dinamic.
Referitor la analiza si proiectarea in Eiffel CASE se poate spune ca instrumentul ofera un suport
partial pentru metoda BON. Caracteristicile pentru clase si relatii constau in faptul ca lipseste
complet descrierea dinamica si CASE-ul foloseste o serie de utilitare proprii pentru:
o Crearea si descrierea unui proiect;
o Manipularea descrierii textuale a sistemului, prin vizualizarea proiectului in diferite forme
(organizat pe clase si clustere, sau ca dictionar);

3
o Introducerea de clase si clustere (in format grafic);
o Stabilirea de legaturi intre acestea (mostenire, client/server);
o Apelarea unor componente specializate pe clase, clustere sau legaturi;
o Introducerea unor proprietati pentru o anumita clasa (reutilizarea, persistenta, abstractizarea,
interfata, etc.);
o Lucrul direct asupra unei metode;
o Lucrul direct pe legaturi pentru a le stabili proprietatile si modul in care apar in forma grafica;
o Lucrul asupra unui singur cluster;
o Lucrul cu view-uri asupra proiectului.

CASE-ul ofera si o serie de generatoare proprii:


o Generatorul de documentatie permite obtinerea de: harti de clustere si de clase, diagrame de
sistem si de clustere, dictionarul clasei;
o Generatorul de cod pleaca de la descrierea statica a sistemului si genereaza sabloane.

Fiecare cluster va fi retinut intr-un director separat care va contine fisiere corespunzatoare fiecarei
clase pe care o contine. Codul generat va contine declaratiile de clasa. Caracteristicile clasei (pe
langa mostenire) se regasesc in codul generat, in forma in care utilizatorul le-a introdus.
Eiffel CASE face parte dintr-un pachet integrat de programe care contine toate instrumentele
necesare proiectarii unui aplicatii. Comutarea de la un instrument la altul se face usor, utilizandu-se
aceleasi concepte si notatii.

Proiectarea unei clase cu Eiffel Case

4
Compilarea surselor cu Eiffel Case

3. Tendinte in dezvoltarea instrumentelor CASE

Instrumentele CASE actuale prezinta o serie de lacune in ceea ce priveste posibilitatea de generare
automata a codului pornind de la specificatiile de programare, posibilitatea de reutilizare a modulelor
software existente, integrarea diferitelor instrumente CASE in acelasi mediu si dezvoltarea iterativa a
sistemelor informatice.
Cresterea productivitatii si flexibilitatii instrumentelor CASE, depinde, in mare masura, de modul de
rezolvare a acestor probleme.
Generarea partiala sau integrala a codului sursa pornind de la specificatiile de proiectare, in paralel
cu cresterea sferei de aplicare a ingineriei avansate, va reduce mult timpul si costul de realizare a
sistemului informatic si va creste flexibilitatea de actualizare a sistemului obtinut. Totodata se
creeaza premisele pentru dezvoltarea iteractiva a sistemelor informatice cu ajutorul instrumentelor
CASE. Cresterea nivelului de integrare a instrumentelor CASE depinde, in mare masura, de definirea
unui standard pentru componenta repository care sa fie recunoscut de majoritatea instrumentelor.
Datele din repository pot fi accesate prin intermediul unor instrumente standard de catre alte
instrumente sau aplicatii software.
Instrumentele CASE apartin unei alte generatii conceptuale, care incearca sa realizeze proceduri şi
metode mai complexe de proiectare şi realizare a sistemelor, comparativ cu metodele clasice,
crescand mult performantele acestor produse.
Folosirea instrumentelor CASE in realizarea sistemelor informatice este motivata in principal de
urmatoarele avantaje:
o Reducerea complexitatii logicii de descriere a sistemului;
o Posibilitatea de a alege dintre mai multe variante de proiectare;
o Reducerea timpului de realizare a sistemelor;
o Realizarea succesiva a componentelor unui sistem;
o Creşterea gradului de integrare;
o Consolidarea disciplinei de proiectare;
o Oferirea unei interfete de integrare;
o Folosirea depozitelor modularizate;

5
o Salvarea şi refolosirea unor componente din diagramele realizate;
o Simplificarea activitatilor de proiectare şi realizare a sistemelor/aplicatiilor.
Prin ceea ce s-a prezentat se poate spune ca folosirea instrumentelor CASE ofera multiple avantaje
organizatiilor care isi dezvolta sisteme informatice cu ajutorul lor. In acelasi timp, ne gasim in
perioada generatiei post-CASE caracterizata de apropierea mai mult de aspectele ce tin de analiza si
proiectare, de prototipizare, de generarea automata a codurilor, etc. Cu toate acestea sunt inca unele
retineri din partea firmelor de a apela la o astfel de tehnologie de dezvoltare a sistemelor.
Unul dintre motive l-ar putea constitui costul pe care il presupune achizitia unui produs CASE care,
in unele cazuri, se poate ridica la ordinul zecilor de mii de dolari. Pe langa acest aspect, mai apare
unul, respectiv cel de redirectionare a eforturilor firmelor in a-si pregati un nou personal de
specialitate si, uneori, chiar renuntarea la o parte din vechii specialisti, care nu isi mai gasesc locul in
echipa de realizare a sistemelor. Totusi, problema utilizarii acestei tehnologii ar trebui privita prin
prisma atuurilor pe care le are in fata metodelor clasice de realizare a sistemelor.
Desi, in prezent, din ce in ce mai multe firme au inceput sa-si orienteze eforturile de construire a
sistemelor spre utilizarea instrumentelor CASE, se constata, totusi, ca nu au o aplicare atat de larga,
asa cum se credea la inceput, cand cei entuziasmati de noutatile din domeniu incercau sa descopere
noile valente ale unor astfel de instrumente.
Aria restransa de utilizare trebuie vazuta insa ca efect al unor cauze care ar putea fi eliminate fie de
catre cei care produc astfel de instrumente, fie de cei carora li se adreseaza.
Dintre principalele cauze ar putea fi enumerate:
o Neclaritate in ceea ce priveste responsabilitatea selectiei si evaluarii unor astfel de produse
pentru a putea fi utilizate in organizatie. Implementarea tehnologiei CASE impune si o
planificare riguroasa a sistemului la nivelul intregii organizatii, pentru a se asigura integrarea
tuturor componentelor acestuia;
o Programatorii si realizatorii de sisteme nu sunt inca suficient de bine pregatiti pentru a-si
reorienta eforturile catre utilizarea tehnologiilor CASE;
o Instrumentele CASE sunt inca limitate din punctul de vedere al metodologiilor si modelelor
de realizare a sistemelor, ceea ce determina ca rolul principal sa nu-l aiba sistemul analizat, ci
metodologia care poate fi aplicata si care, de multe ori, nu corespunde cerintelor sistemului;
o Uneori calitatea documentatiei oferita de produsele CASE nu este cea la care se asteapta
echipa de dezvoltatori, ceea ce determina si o oarecare dificultate in parcurgerea fazelor din
ciclul de viata a sistemelor. Totusi, pentru ultimele produse aparute in acest domeniu punctul
forte il constituie capacitatea de generare a unei documentatii cat mai clare, concise si corecte
pentru proiectarea unui sistem sau a unei aplicatii.
o Managerii sistemelor informationale incearca sa-si protejeze investitiile deja facute in
dezvoltarea si utilizarea sistemelor si se stie ca produsele CASE au, inca, un pret destul de
ridicat. Este necesar sa se constientizeze faptul ca instrumentele CASE nu aduc beneficii pe
termen scurt, ci ele trebuie privite din perspectiva unei perioade mai mari de timp;
o Organizatiile doresc un instrument care sa le asigure integrarea rezultatelor obtinute cu
ajutorul altor instrumente in noile lor aplicatii sau chiar transferul lor catre produse mult mai
performante si integrarea produselor ce lucreaza pe diferite platforme. Aceasta problema
poate fi rezolvata tot de catre producatorii produselor, astfel incat sa se realizeze integrarea
intre diferitele categorii de instrumente CASE si intre diferiti furnizori.
Se considera ca pentru adoptarea cu succes a instrumentelor CASE, de catre organizatii, trebuie sa se
indeplineasca anumite conditii, cum ar fi:
o Achizitia de sisteme CASE mult mai performante, care permit integrarea produselor
existente, incorporarea sistemelor expert si utilizarea tehnicilor orientate obiect. De
asemenea, trebuie sa existe posibilitatea transferului sistemelor realizate cu ajutorul
diferitelor instrumente specifice diferitelor arhitecturi si sa ofere o mai mare integrare si
flexibilitate intre diferite medii de operare pe care sunt implementate.
o Implicare organizationala. Pentru a fi adoptata cu succes, este necesar ca tehnologia CASE
sa fie acceptata de catre toate componentele organizationale si, in special, de nivelul strategic
al organizatiei. Chiar daca beneficiile pe termen scurt nu pot fi obtinute, organizatia trebuie sa

6
se implice atat prin personalul ei, cat si prin resursele financiare solicitate de utilizarea unor
astfel de instrumente.
o Adoptarea unei baze metodologice inainte ca tehnologia CASE sa fie implementata. Aceasta
metodologie nu se refera numai la aspectele ce tin de partea tehnica a realizarii unui sistem, ci
trebuie sa fie privita si prin prisma planificarii strategice a organizatiei, alaturi de stabilirea
tehnicilor si instrumentelor de analiza si proiectare;
o Existenta unor sisteme deschise, a unui grad ridicat de informatizare a organizatiei si
reorientarea sistemelor catre arhitecturile de tip web sunt alte elemente de care depinde
reusita tehnologiei CASE.