ISTORIA METODELOR DE PROIECTARE
De-a lungul timpului, metodologia proiectarii a cunoscut diferite etape.
Aceste etape sunt in strinsa corelatie cu evolutia tehnologiei informationale, precum si cu descoperirile din domenii corelate.
Astfel, domeniul cibernetic si-a adus contributia in ceea ce priveste abordarea sistemica pe care o au unele metode.
Corespunzator anilor '60-'70 avem METODELE IERARHICE.
In cadrul acestor metode se punea un puternic accent asupra functionalitatii datelor ; aplicatiile si sistemele erau proiectate luand in calcul functiunile pe care acestea trebuiau sa le indeplineasca.
O asemenea abordare permitea realizare unor modele functionale la nivel local.
In momentul in care un asemenea model se incerca sa fie aplicat la nivel global, se constata ca datele, prin maniera de organizare a acestora, nu permiteau acest lucru.Era ignorata, intr-o asemenea abordare, structura si "lizibilitatea" datelor in detrimentul functionalitatii.O problema era descompusa pe criterii functionale intr-o ierarhie de subprobleme.Acest proces era unul iterativ (se relua) pana in momentul in care respectivele probleme nu mai puteau fi descompuse
.Problema era descompusa in subprobleme si aferent acestora erau constituite functii care sa asigure rezolvarea acesteia.Avantajele unei asemenea metode erau :
-timpul redus de dezvoltare
-complexitate scazuta a realizarii respectivelor functii.
Dezavantajele acestor metode constau in faptul ca mentenanta unui asemenea sistem ridica numeroase probleme, deseori insurmontabile.Astfel, datorita mediului de afaceri caracterizat de o dinamica continua, apareau deseori schimbari, atat in formularea problemelor, cat si in modul de rezolvare a acestora.Aferent acestor schimbari, echipele de proiectanti trebuiau sa regandeasca anumite probleme.
De cele mai multe ori, rezolvarea intr-o asemenea abordare a unei subprobleme atragea dupa sine modificari in lant, pe cale ierarhica superior si inferior.
Monitorizarea acestor probleme era posibila in cazul sistemelor mici si de-a dreptul imposibila pentru sistemele mari.
Exemple de astfel de metode :
-SADT (structured analysis design technique)
-JSD (Jackson design)
Intre anii '70-'80, datorita progreselor realizare in domeniul stiintelor sistemice, coroborat cu studiile in domeniul algebrei relationale, realizat de catre E.F.Codd, au fost puse la punct METODELE RELATIONALE.
Intr-o asemenea abordare se acorda o atentie sporita modului de organizare a datelor.
Astfel, au fost introduse conceptele unei redundante a datelor controlata, in scopul mentinerii atat a structurii unitare a acestora, cat si a functionalitatii lor.
Intr-o asemenea situatie, datele erau modelate in conformitate cu niste reguli bine determinate si enuntate in cadrul metodelor sistemice datorita metodelor relationale care stateau la baza modelarii datelor.
Astfel se incerca sa se vina in intampinarea problemelor ridicate de catre metodele ierarhice si in mare parte s-a si reusit rezolvarea acestora.
Datele cu privire la o anumita entitate erau stocate in cadrul unui model relational intr-un singur loc si toate celelalte referiri la acestea erau realizate prin intermediul codurilor si al relatiilor proiectate, avand in vedere modelul relational.Astfel, modificarea datelor se realiza o singura data iar aceasta modificare era vizibila la nivel global.Modelul relational si metodele relationale (sistemice) raspundeau astfel atat unor cerinte la nivel local cat si unor cerinte globale.
Stergerea unor date intr-un asemenea model era posibila doar in cazul in care nu existau referiri la acele date.
Metode specifice acestor metode sistemice sunt :
-AXIAL
-MERISE
In anii '90, datorita unui curent aparut la nivelul limbajelor de programare, s-a extrapolate acest concept si la nivelul metodelor de proiectare: conceptul de obiect.
Aferent acestui concept au aparut METODELE ORIENTATE OBIECT.
Daca in cadrul metodelor sistemice totul se focaliza in jurul conceptului de entitate, in cadrul metodelor orientate obiect in centrul atentiei se gaseste obiectul.
Un obiect constituie o abstractizare a unui concept similar din lumea reala.
Ceea ce are in plus un obiect fata de o entitate este ca, pe langa datele care descriu respectiva entitate sau respectivul obiect, obiectul mai contine si metodele de prelucrare a datelor.
Astfel, daca pentru o entitate de tip persoana modelul relational ne permite ca, pe langa alte informatii sa stocam si data de nastere, un obiect care descrie o aceeasi persoana ar putea sa contina pe langa datele continute de unitate si metode (proceduri) de prelucrare a respectivelor date.
Daca, in primul caz, pentru calcularea varstei persoanei era necesar ca asupra entitatii sa se efectueze o operatie de scadere din data curenta a datei de nastere, in cazul obiectelor aceasta procedura este continuta laolalta cu celelalte date.
Obiectele prezinta in plus fata de entitati o componenta comportamentala, care descrie comportamentul acestora in anumite situatii.
Comunicarea intre obiecte se realizeaza pe baza de mesaje iar relatiile dintre aceste obiecte trebuie privite dintr-o tripla perspectiva :
-statica
-dinamica
-functionala.
Metodele orientate obiect incearca sa reprezinte realitatea inconjuratoare prin construirea unor ierarhii de obiecte.Acestea au o existenta proprie in cadrul unor asemenea sisteme.
Obiectele aduc avantajul incapsularii, mostenirii si polimorfismului fata de entitatile metodelor sistemice.
Un sistem conceput avand la baza o metodologie orientata obiect va putea fi mult mai usor intretinut decat cele dezvoltate prin celelalte doua metode.
Astfel, metodele orientate obiect aduc cu ele o puternica refolosire a codului, reducand la minim efortul de mentenanta a unui sistem informatic.
Metode reprezentative in cadrul acestora :
-OMT
-BOOCH
In cadrul acestor metode vor fi analizate relatiile care iau nastere intre diferite obiecte modelate.
Limitarile acestei metode constau in faptul ca nu toate aspectele realitatii pot fi modelate cu ajutorul conceptului de obiect.
ETAPELE PROIECTARII UNUI SISTEM INFORMATIC
In literatura de specialitate exista numeroase opinii cu privire la etapele care trebuiesc parcurse de o echipa de proiectanti in scopul realizarii unui sistem informatic.
De-a lungul timpului diferite firme sau grupuri de firme, cu sau fara aport guvernamental, au incercat sa elaboreze diferite modele cu privire la implementarea si realizarea unui sistem informatic.
Astfel, Victoria Stanciu, in "Proiectarea Sistemelor Informatice", enumera peste cinci modele privitoare la etapele de implementare si realizare a unui sistem informatic:
-model in cascada
-model "W"
-model pinball
-model minge de baschet
dar si metode care au obtinut o recunoastere internationala:
-modelul ISO (international standard organization).
Etapele sunt:
1.modelarea globala
2.modelarea conceptuala
-a datelor
-a prelucrarilor
-a comunicatiilor
3.modelarea logica (organizationala)
-a datelor
-a prelucrarilor
-a comunicatiilor
4.modelarea fizica
-a datelor
-a prelucrarilor
-a comunicatiilor
5.implementarea sistemului
6.exploatarea sistemului
7.mentenanta sistemului
8.reproiectarea sistemului.
1.Modelarea globala
In cadrul modelarii globale a sistemelor informatice vor fi avute in vedere aspectele cu caracter general pe care trebuie sa le rezolve o echipa in procesul de proiectare.
Astfel, vor fi analizati factorii care conduc la declansarea procesului de informatizare a unei organizatii.
Acesti factori pot fi clasati in:
-factori interni organizatiei
-factori externi organizatiei
In cadrul factorilor interni organizatiei, in functie de specificul activitatii, se va incerca identificarea acelor cauze care contribuie in mod decisiv la luarea deciziei de schimbare a modului de prelucrare a datelor.
In cadrul unei asemenea situatii ne putem confrunta cu una din variantele:
-prelucrare integral-manuala a informatiei
-prelucrare semi-automata a datelor
-prelucrare integral-automata
In cazul in care in respectiva organizatie existau anumite componente automatizate, va trebui sa se analizeze daca este necesara o proiectare a acestora (presupunand o inlocuire partiala a lor) sau o reproiectare integrala (presupunand inlocuirea totala a acelor componente).
Exemple de factori interni organizatiei:
-conducerea organizatiei constata ca nu are informatia necesara la un moment dat sau ca acea informatie nu este corecta.
-exista o oarecare nemultumire a personalului in legatura cu volumul de munca prestat peste orele de serviciu.
-regasirea informatiilor in cadrul organizatiei se constituie intr-o maniera costisitoare, atat din punct de vedere al timpului cat si al banilor.
-constatarea strecurarii a numeroase greseli in situatiile curente urmarite.
Factorii externi organizatiei, care pot conduce la adoptarea unei decizii de implementare-proiectare a unui sistem informatic sunt niste factori care-si exercita actiunea prin intermediul unor interactiuni cu mediul exterior.
Astfel de factori sunt:
-prevederile legislative.
-existenta unor sincope in ceea ce priveste relatiile cu partenerii externi; astfel furnizorii pot fi nemultumiti de lansarea unor comenzi care ulterior sunt refuzate iar clientii pot deveni nemultumiti datorita nerespectarii termenelor de predare a anumitor lucrari (marfuri).
-concurenta in domeniu a adoptat ca pe un avantaj strategic un anumit sistem informatic.
Enuntarea obiectivelor care se urmareste a fi atinse prin implementarea sau proiectarea unui sistem informatic:
Enuntarea acestor obiective este in stransa corelatie cu analiza cauzelor care au generat decizia de implementare.
A. Din punct de vedere al aplicabilitatii, putem avea:
-obiective locale
-obiective globale
Obiectivele locale sunt acele cerinte carora se doreste a li se raspunde la nivel local, utilizand uneori informatii culese la nivel global.
Obiectivele locale trebuie sa fie in concordanta cu obiectivele globale.
B. Din punct de vedere al intinderii in timp:
-obiective pe termen scurt
-pe termen mediu
-pe termen lung
De multe ori, etapa de modelare globala presupune realizarea unor studii cu privire la starea actuala a sistemului informational, respectiv la ceea ce se vrea sa devina respectivul sistem informational.
In acest sens vor fi realizate studii de fezabilitate si se va incerca o analiza pe mai multe scenarii.De exemplu, o banca poate analiza intre urmatoarele scenarii:
-proiectarea prin forte proprii a unui sistem informatic si implementarea acestuia(ar necesita o perioada foarte lunga de timp)
-recurgerea la o mixtura de solutii proprii cu solutii specializate, puse la dispozitie de firme specializate
-alegerea unei solutii specializate:
-cu consultanta din exterior
-fara consultanta, doar pe baza unor prezentari
In vederea optarii cu privire la o solutie sau alta se poate recurge la algoritmi de alegere a unei solutii optime globale.
Analiza, in etapa modelarii globale, trebuie dezvoltata in trei directii:
-tehnic
-uman
-financiar,
luandu-se in calcul analiza de detaliu a cadrului legislativ specific domeniului respectiv.
Concretizarea acestei etape se regaseste intr-un plan de proiectare-implementare a aplicatiei cu termene de predare si bugete alocate pentru fiecare etapa in parte.