64
UNIVERSITATEA "VASILE ALECSANDRI" DIN BACAU Facultatea de Stiinte Economice Programul de masterat Contabilitate, Audit si Informatica de Gestiune PROIECTAREA SISTEMELOR INFORMATICE Note de curs Master, CAIG, anul I 2012-2013 Lect. univ. dr. Romică Adam

proiectarea sistemelor informatice

Embed Size (px)

DESCRIPTION

curs

Citation preview

Page 1: proiectarea sistemelor informatice

UNIVERSITATEA "VASILE ALECSANDRI" DIN BACAU

Facultatea de Stiinte Economice

Programul de masterat Contabilitate, Audit si Informatica de Gestiune

PROIECTAREA SISTEMELOR INFORMATICE

Note de curs Master, CAIG, anul I

2012-2013

Lect. univ. dr. Romică Adam

Page 2: proiectarea sistemelor informatice

1

CUPRINS

1. Noţiuni generale privind sistemele informatice 2 1.1. Conceptul de sistem informatic 2 1.2. Rolul sistemului informatic în procesul decizional 6 2. Tehnici de proiectare a sistemelor informatice 8 2.1. Principii de baza in proiectarea si realizarea sistemelor informatic 8 2.2. Modele ale ciclului de viata al sistemului informatic 11 2.3. Etape de realizare a sistemelor informatice 17 3. Metodologii de analiza si proiectare a sistemelor informatice 18 3.1. Metodele sistemice 18 3.2. Metodele orientate obiect 18 3.3. Metodele orientate agent 19 4. Fundamentele sistemelor multiagent 21 4.1. Concepte şi caracteristici ale agenţilor 21 4.2. Taxonomia agentilor software 22 4.3. Sistemele multiagent 26 4.4. Aplicaţii şi avantaje ale sistemelor multiagent 27 5. Virtualizarea afacerilor cu tehnologia agent 29 5.1. Modele de afaceri electronice 29 5.2. Întreprinderea virtuală versus întreprinderea tradiţională 33 5.3. Caracteristici şi tipuri de întreprinderi virtuale 35 5.4. Abordarea sistemului informaţional din perspectiva tehnologiei agent 37 5.5. Modelarea avansurilor spre decontare prin tehnologia workflow bazată pe agenţi 40 6. Modele de referinţă pentru standardizarea sistemelor bazate pe tehnologia agent 42

6.1. Modelul FIPA 42

6.2. Comunicarea între agenţi 45

6.3. Limbajul KQML 46

Bibliografie 49

Page 3: proiectarea sistemelor informatice

2

Capitolul 1. NOŢIUNI GENERALE PRIVIND SISTEMELE INFORMATICE

1.1. Conceptul de sistem informatic

Definită iniţial de către Academia Franceză (în 1966), ca fiind ştiinţa prelucrării raţionale, îndeosebi prin maşini

automate, a informaţiei,1 considerată ca suport al cunoştinţelor umane şi al comunicărilor în domeniile tehnicii, economice şi sociale”, informatica se conturează ca activitate practică şi concepţie teoretică, pe măsura dezvoltării calculatoarelor electronice şi a perfecţionării tehnologiei de prelucrare a datelor. Ca domeniu distinct de activitate, informatica preia treptat toate sarcinile dintr-un sistem economico-social privind elaborarea de metode, tehnici, concepte şi sisteme pentru prelucrarea automată a informaţiei. Din acest punct de vedere informatica este definită ca fiind ştiinţa care se ocupă cu studiul şi elaborarea metodelor de prelucrare a

informaţiei cu ajutorul sistemelor automate de calcul. Ca activitate practică, informatica are o existenţă dinamică; ea apare şi se dezvoltă dintr-o necesitate obiectivă, aceea de a rezolva problemele complexe privind prelucrarea datelor. În stadiul actual de maturizare a informaticii, aceasta trebuie să urmărească două obiective majore: pe de o parte, să realizeze prin metode şi tehnici proprii, sisteme informatice performante prin care să se asigure accesul larg la informaţie, iar pe de alt parte, să asigure utilizarea eficientă a tuturor resurselor sistemelor de calcul. Activitatea umană, indiferent sub ce formă se desfăşoară, este generatoare de informaţii. Cu cât această activitate este mai complexă şi mai dinamică, cu atât volumul de informaţii creşte şi se diversifică tinzând să frâneze sau chiar să blocheze procesul decizional. Apare astfel un conflict între creşterea volumului de informaţii şi posibilităţile limitate ale sistemelor clasice de prelucrare, sisteme ce nu pot furniza informaţii cât mai rapide, complete şi corecte necesare luării deciziilor. În aceste condiţii, rolul informaticii este decisiv în deblocarea şi fluidizarea sistemelor informaţionale şi decizionale, prin asigurarea gestiunii, prelucrării şi distribuirii informaţiei într-un mod cât mai eficient către utilizatori. Ca domeniu de activitate, informatica cuprinde toate activităţile legate de proiectarea, realizarea şi exploatarea

sistemelor de prelucrare automată a datelor, în scopul creşterii eficienţei activităţilor umane, Informaţiile şi cunoştinţele au o mare importanţă atât pentru dezvoltarea personalităţii umane, cât şi pentru evoluţia vieţii şi societăţii democratice. Nici societatea şi nici indivizii ei, nu pot evolua, nu pot progresa satisfăcător dacă nu dispun de informaţii. Prin intermediul informaţiilor se asigură transferul cunoştinţelor de la o generaţie la alta, se asigură accesul la cele mai avansate realizări ale omenirii2. Conceptul de informaţie reprezintă o noţiune de maximă generalitate care semnifică o ştire, un mesaj, un semnal, etc. despre evenimente, fapte, stări, obiecte, etc. în general despre forme de manifestare a realităţii care ne înconjoară. Forma de exprimare şi transmitere a informaţiilor o reprezintă comunicarea. Informaţia are sens de noutate pentru cel căruia i se adresează, indiferent de forma pe care o ia (ştire, semnal, comunicare). Se poate spune deci că informaţia este un mesaj, dar cu precizarea că nu orice mesaj este o informaţie. Dacă mesajul nu transmite nici o noutate şi nu are un suport real, atunci acesta nu prezintă interes pentru receptor şi deci nu are caracter de informaţie. Informaţiile dobândite în urma unui proces de informare într-un anumit domeniu, formează cunoştinţele despre acel domeniu, iar mulţimea acestora reprezintă patrimoniul de cunoştinţe. Cunoştinţele reprezintă o însumare în timp a tuturor informaţiilor dobândite într-un anumit domeniu. Data este forma de reprezentare materială a informaţiei. Datele reprezintă suportul formal al informaţiei care se concretizează în cifre, litere, simboluri, coduri şi alte semne plasate pe suporţi tehnici de date. Datele reprezintă obiectul prelucrării pentru informatică, materia primă a acesteia şi numai prin asociere cu realitatea pe care o reflectă, se poate spune că informatica generează informaţii.

1 Arsac, J., Informatica, Editura Enciclopedica Româna, Bucuresti, p. 71 2 Trauth, E.M., Kahn, B.K., Warden, F., Information literacy. An introduction to information systems, MacMillan Publishing Company, 1991

Page 4: proiectarea sistemelor informatice

3

Datele obţinute în urma procesului de prelucrare pot avea calitatea de informaţii pentru o anumită categorie de utilizatori sau rămân simple date dacă îşi pierd calitatea de noutate semantică. În practică, de multe ori termenul de informaţie este utilizat pentru a desemna date, iar expresia "prelucrarea informaţiilor" înlocuieşte expresia "prelucrarea datelor". Se poate considera că datele prelucrate, în măsura în care afectează în sens pozitiv comportamentul receptorilor (oameni sau maşini), au calitatea de informaţii. În procesul prelucrării şi utilizării informaţiilor, acestea sunt privite din trei puncte de vedere: - din punct de vedere sintactic, când se urmăreşte aspectul formal al reprezentării acestora, în sensul că datele care se prelucrează se supun riguros anumitor reguli de validitate; - din punct de vedere semantic, urmărindu-se semnificaţia, înţelesul informaţiei (conţinutul real al informaţiei) ce derivă din datele prelucrate; - din punct de vedere pragmatic, urmărindu-se utilitatea, adică măsura în care sunt satisfăcute cerinţele utilizatorilor. Deşi informatica are în vedere în primul rând aspectul formal al informaţiei, în procesul prelucrării datelor nu se poate face abstracţie de nici unul dintre cele trei aspecte (sintactic, semantic şi pragmatic). Chiar dacă în procesul prelucrării datelor se porneşte de la un interes pragmatic, acesta nu se poate realiza dacă nu se respectă anumite reguli de sintaxă şi semnificaţie privind datele supuse prelucrării.

Sistemul informaţional asigură gestiunea tuturor informaţiilor din cadrul unui sistem economic, folosind toate metodele şi procedeele de care dispune. La studierea unui sistem trebuiesc analizate in principal urmatoarele aspecte:

• mediul in care acesta functioneaza • partile componente ale sistemului • relatiile care se manifesta in cadrul sistemului • intrarile si iesirile sistemului • obiectivul(ele) sistemului

Sistemul informatic este un ansamblu tehnico-organizatoric de metode, procedee, echipamente de calcul si personal de specialitate, prin care se asigura culegerea, verificarea, transmiterea, stocarea si prelucrarea informatiilor in vederea fundamentarii si elaborarii deciziilor Dupa cum rezulta si din definitie, putem spune ca sistemul informatic este format din urmatoarele componente principale: - resursele materiale (hardware-ul) - totalitatea elementelor necesare pentru introducerea datelor, prelucrarea datelor, stocarea programelor si rezultatelor obtinute, comunicarea rezultatelor - resursele logice (software-ul) – totalitatea programelor ce asigura functionarea si exploatarea controlata a sistemului: sistemele de operare, sisteme de gestionare a bazelor de date, programe utilitare, pachete de programe, software de aplicatii etc - baza de date – ansamblul datelor stocate in vederea prelucrarilor prin programele de aplicatii. - personalul – intregul personal care intr-un fel sau altul folosesc sistemul informatic: specialisti (analisti de sistem, programatori, proiectanti de sisteme, ingineri de sistem, administratori baze de date, operatori) si nespecialisti (consultanti, utilizatori finali beneficiari ai serviciilor oferite de sistemele informatice etc.) - metodologiile – principiile, proiectele si procedurile aplicate in sistemele informatice pentru a fi realizate sarcinile stabilite Ansamblul informaţiilor şi deciziilor (caracterizate prin conţinut, frecvenţă, calitate, volum, formă, suport), necesare desfăşurării unei anumite activităţi sau operaţii şi care se transmit între două posturi de lucru, formează un flux informaţional. Între circuitul informaţional şi fluxul informaţional există o strânsă dependenţă în sensul că circuitul informaţional reflectă traseul (drumul) şi mijlocul care asigură circulaţia unei informaţii de la generarea ei şi până la arhivare, iar fluxul informaţional reflectă ansamblul informaţiilor vehiculate, necesare unei anumite activităţi.

Sistemul informaţional cuprinde, într-o concepţie unitară, circuitele şi fluxurile informaţionale, la care se

adaugă metodele şi tehnicile de prelucrare a informaţiilor. Fluxul informational este compus din informatii strategice, tactice si operative. La nivel strategic sistemul informational sprijina luarea deciziilor de catre conducere. Acestea sunt rezultate pe termen lung, privesc intreaga activitate desfasurate in intreprindere. Informatiile se refera la: - valoarea rezultatelor financiare necesare stabilirii modului de repartizare a profitului - starea financiara actuala

Page 5: proiectarea sistemelor informatice

4

- modul de utilizarea a capacitatilor de productie. La nivel tactic, informatiile oferite de sistemul informational sprijina luarea deciziilor privind planificarea activitatilor ce vor fi desfasurate in firma pe termen mediu. La nivel operational sistemul informational sprijina luarea deciziilor pentru desfasurarea activitatilor curente ale firmei, informatii referitoare la productie (stoc de materii prime, materiale), aprovizionare cu materii prime, materiale, la desfacere, situatia mijloacelor fixe, situatia necesarului de mijloace de plata, a obligatiilor de plata , cu termene de scadente. Sistemul informatic este o componentă a sistemului informaţional3 şi anume, acea parte a acestuia care preia şi rezolvă sarcinile de culegere, prelucrare, transmitere, stocare şi prezentare a datelor, cu ajutorul sistemelor de calcul. Pentru a-şi îndeplini rolul în cadrul sistemului informaţional, sistemul informatic cuprinde ansamblul tuturor

resurselor, metodelor şi tehnicilor, prin care se asigură prelucrarea automată a datelor.

Procesul de prelucrare automată a datelor în cadrul unui sistem informaţional, reprezintă tocmai procesul prin care datele sunt supuse operaţiilor de culegere, transmitere, prelucrare şi stocare. Principalele activităţi dintr-un sistem informatic sunt cele de prelucrarea informaţiilor. Acestea includ4:

a - Introducerea datelor; b - Procesarea datelor pentru obţinerea de informaţii; c - Ieşirea produselor informaţionale; d - Stocarea resurselor informaţionale; e - Controlul performanţelor sistemului.

Introducerea datelor – datele despre tranzacţiile comerciale sau despre alte evenimente trebuie să fie adunate şi pregătite pentru prelucrare. Introducerea se referă la editarea de înregistrări. Odată introduse, datele pot fi transferate pe un suport (magnetic/optic) până la prelucrare.

3 Reix, R., Informatique appliqueé à la gestion, Les Editions Foucher, Paris, 1990, vol.2, p.7 4 Bernard-Faqouillet, E., Boufares F., Informatique pour la comptabilite et la gestion, Editions Eska, Paris, 1995, p.18.

Page 6: proiectarea sistemelor informatice

5

Prelucrarea datelor – datele care sunt subiectul activităţilor de prelucrare cuprind: calcule, comparări, sortări, clasificări sau însumări. Aceste activităţi organizează, analizează şi manipulează datele convertindu-le în informaţii pentru utilizatori. Ieşirea produselor informaţionale – informaţiile rezultate în urma prelucrării apar în forme variate pentru a fi transmise utilizatorilor în forma solicitată de aceştia. Informaţiile trebuie să îndeplinească anumite condiţii de calitate ce se referă în general la: • timp – viteza cu care informaţia ajunge la utilizator; • conţinut – atributele care conferă valoare informaţiei; • formă – felul în care ajunge la utilizator; Stocarea produselor informaţionale – această activitate nu constituie o componentă foarte importantă în cadrul sistemelor informatice. Ea reprezintă activitatea dintr-un sistem informatic în care datele şi informaţiile sunt depozitate într-un mod organizat în vederea unei utilizări ulterioare. Atunci procesul de regăsire este necesar utilizatorilor prin rapiditatea şi acurateţea sa. Suporturile utilizatorilor pentru stocarea datelor şi informaţiilor sunt în general magnetice sau optice. Controlul performanţelor sistemului – reprezintă o activitate de mare importanţă în cadrul sistemului informatic o reprezintă controlul performanţelor sale.

Page 7: proiectarea sistemelor informatice

6

1.2. Rolul sistemului informatic în procesul decizional

Sistemele informatice joacă un rol important în a asigura suportul activităţilor manageriale şi operaţionale în business. Din acest motiv există posibilitatea de a clarifica tipologia sistemelor informatice la nivel conceptual în5: - Sisteme informatice operaţionale

- sisteme pentru procesarea (prelucrarea) tranzacţiilor - sisteme pentru controlul proceselor; - sisteme pentru colaborarea la nivelul organizaţiei

- Sisteme informatice pentru management - sisteme informatice pentru management (în general); - sisteme informatice pentru fundamentarea deciziei;

Sistemele informatice operaţionale sunt necesare pentru a prelucra datele generate şi utilizate în operaţiile de business. Aceste sisteme produc a varietate de produse informaţionale pentru uz intern sau extern care vor fi prelucrate mai departe de către sistemele informatice pentru management. În general acestea au rolul de a procesa date privind business-ul si de a controla procese industriale. Sistemele informatice de prelucrare a tranzacţiilor sunt orientate către prelucrarea datelor rezultate din business sau operaţionale: vânzări, cumpărări, inventar şi oferă o varietate de produse informatice (liste, situaţii etc.) de uz intern sau extern. Prelucrarea datelor se face în urma acumulării (la o perioadă de timp) sau în timp real. Sistemele informatice pentru controlul proceselor sunt acele sisteme care utilizează computerul pentru a controla anumite procese fizice (linii de producţie robotizate, fabrici automate etc.) Sistemele informatice pentru colaborarea la nivelul organizaţiei sunt sisteme care utilizează o gamă largă de tehnologii informatice pentru a asigura colaborarea, comunicarea dintre angajaţii (membrii) unei organizaţii. Aceasta ajută la schimbul de idei, împărţirea resurselor, coordonarea între membrii. Scopul acestor sisteme informatice este de a creşte productivitatea şi creativitatea echipelor şi grupurilor de lucru dintr-o întreprindere modernă. Sistemele informatice pentru management6 sunt orientate spre a oferi suport şi informaţii pentru autoritatea efectivă de luare a deciziei. Ele asigură suportul pentru necesităţile decizionale de la nivelul de vârf (strategic), la cel de mijloc (tactic) sau cel operaţional. Sistemele informatice pentru management oferă o varietate de rapoarte

5 Nitchi, S., Racovitan, D., si colectiv, Bazele prelucrării informaţiilor şi tehnologie informaţională, Editura Intelcredo, Deva, 1996, pp. 21-24. 6 Mawhinney, C.H., Millet, I., Executive information systems: A critical perspective, in “Information and Management”, nr. 23, 1992, pp. 83-92.

Page 8: proiectarea sistemelor informatice

7

specifice folositoare în activităţile manageriale curente. Produsele informatice pot fi obţinute la cerere, periodic sau când apar necesităţi excepţionale. Sistemele informatice pentru fundamentarea deciziei oferă managerilor utilizatori informaţii într-un mod interactiv ori de câte ori este nevoie. Managerii îşi generează informaţiile de care au nevoie pentru decizii, folosind modele decizionale şi baze de date specializate. Sistemele informatice pentru activitatea executivă7 sunt sistemele care asistă nivelul mediu şi de vârf al managementului organizaţiei. Oferă un acces imediat şi uşor la informaţiile necesare atingerii obiectivelor strategice ale firmei. Au un mod uşor de operare şi înţelegere. Inteligenţa artificială - este o combinaţie între ştiinţă şi tehnologie, al cărei scop este de a dezvolta computere care pot gândi. Se porneşte de la ideea că dezvoltarea de funcţii ale computerului sunt asociate în mod normal cu inteligenţa umană. Sistemele expert - sunt sistemele bazate pe computer şi care îşi utilizează cunoştinţele în aplicaţii specifice cu o complexitate ridicată şi care acţionează similar cu un consultant uman. Aceste sisteme se compun dintr-o bază de cunoştinţe (informaţii) şi nişte module software care se interferează şi comunică apoi răspunsul la întrebările utilizatorului. Sistemele de management a cunoştinţelor. Cele mai multe organizaţii au realizat că au devenit companii de creare de cunoştinţe pentru a supravieţui şi se dezvoltă într-un mediu de business într-o continuă şi rapidă schimbare. Aceste sisteme sunt dezvoltate pentru a gestiona învăţământul organizaţional şi business know-how-ul. Sisteme informatice strategice - asigură rolul strategic al sistemelor informatice care implică utilizarea tehnologiei informaţiei pentru dezvoltarea de produse, servicii, care se vor constitui în avantaje strategice faţă de competitori pe piaţa globală. Această necesitate a creat sisteme informatice strategice care sprijină poziţia competitivă şi strategia întreprinderii. Un sistem informatice strategic poate fi orice tip de sistem informatice care ajută organizaţia să câştige un avantaj competitiv, să reducă din distanţa competitivă sau să-şi îndeplinească obiectivele strategice. Sistemele informatice pentru business - aceste sisteme pot sprijini direct atât activităţile operaţionale cât şi pe cele de management din zona business-ului: contabilitate, finanţe, managementul resurselor umane, marketing, turism şi management operaţional. Pot fi atât sisteme informatice operaţionale cât şi sisteme informatice pentru management. Sistemele informatice integrate - sistemele informatice din lumea reală sunt de fapt combinaţii integrate a mai multor tipuri de sisteme informatice. Acestea sunt sisteme informatice bazate pe computere care combină activităţile desfăşurate de mai multe tipuri de sisteme informatice. Cele mai multe sisteme informatice sunt elaborate pentru a produce informaţii şi pentru a sprijini luarea deciziilor la diferite niveluri ale managementului, dar şi pentru ţinerea de diverse evidenţe şi prelucrare a tranzacţiilor8.

7 ERMES, Systemes d’information. La perspective du management, Edition Masson, Paris, Milan, Barcelone, 1994, p.32 8 Oprea, D., Premisele şi consecinţele informatizării contabilităţii, Editura Graphix, Iasi, 1994,p.22

Page 9: proiectarea sistemelor informatice

8

Capitolul 2. Tehnici de proiectare a sistemelor informatice 2.1 Principii de baza in proiectarea si realizarea sistemelor informatice Proiectarea si realizarea sistemelor informatice are la baza urmatoarelor principii generale: 1. fundamentarea realizarii sistemelor informatice pe criterii de eficienta economica. Acest principiu presupune:

- evaluarea cheltuielilor necesare pentru conceperea, realizarea, implementarea si exploatarea curenta a sistemelor informatice

- compararea cheltuielilor cu efectele economice directe si indirecte obtinute in urma implementarii 2. participarea nemijlocita a beneficiarului la conceperea si realizarea sistemului, presupune:

- adoptarea si transpunerea in practica de catre beneficiar a tuturor masurilor cu caracter organizatoric necesar desfasurarii proiectarii si introducerii in exploatare a sistemului

- participarea beneficiarului cu specialistii proprii la elaborarea conceptiei si realizarii efective a sistemului informatic

- definirea obiectivelor si performantelor viitorului sistem - definirea cerintelor informationale la care urmeaza sa raspunda sistemul - stabilirea si mobilizarea resurselor umane si financiare pentru realizarea sistemului - pregatirea personalului din compartimentele functionale pentru angajarea in activitatea de informatica

3. asigurarea calitatii solutiei adoptate, presupune: - aplicarea celor mai eficiente metode si tehnici de proiectare - specificarea unor caracteristici de calitate care sa fie validate si controlate pe parcursul realizarii sistemului

4. adoptarea de solutii in concordanta cu resursele disponibile, presupune:

- corelarea permanenta a proiectarii SI si caracteristicile echipamentelor de tehnica de calcul existente sau prevazute a intra in dotare

- integrarea si valorificarea cat mai completa a echipamentelor de calcul de diverse tipuri existente deja in dotarea beneficiarului.

Proiectarea sistemelor informatice de gestiune se realizeaza in functie de particularitatile sistemelor de conducere, operational si informational ale fiecarei organizatii. În vederea proiectării abordarea sistemică reprezintă cea mai bună soluţie, si are in vedere parcurgerea mai multor etape din aşa numitul ciclu al dezvoltării de sisteme informatice9, respectiv:

1. Investigarea sistemului -> Studiul de fezabilitate 2. Analiza sistemului existent -> Necesităţile funcţionale 3. Proiectarea sistemelor -> Specificaţiile de sistem 4. Implementarea sistemelor -> Sistemul operaţional 5. Întreţinerea sistemului -> Îmbunătăţirea sistemului

Investigarea sistemului10 Primul pas în procesul de elaborare este de a investiga sistemele existente. Această investigaţie poate include studii preliminare ale sistemului informatic propus cu soluţii pentru rezolvarea problemelor ce vor urmări:

⇒ determinarea faptului că există sau nu o problemă;

⇒ elaborarea unui studiu de fezabilitate;

9 Hoffer J.A., George J.F., Valacich J.S., - Modern Systems Analysis and Design, The Benjamin/Cummings Publishing Company, Inc., Menlo Park, CA, 1996 10 Lungu I., Sabau G., Velicanu M., Muntean M., Ionescu S., Posdarie E. - Sisteme informatice, Editura Economica, 2003

Page 10: proiectarea sistemelor informatice

9

⇒ dezvoltarea unui plan de management.

Studiul de fezabilitate este un studiu preliminar care investighează necesarul de informaţii şi determină necesarul de resurse, costuri, avantaje precum şi fezabilitatea proiectului propus. În acest sens, fezabilitatea poate fi:

- fezabilitate organizaţională – care se canalizează asupra modului în care sistemul informatic propus atinge obiectivele organizaţiei;

- fezabilitate economică – care pune accentul pe costurile şi beneficiile sistemului propus în relaţie cu osturile dezvoltării şi operării sale;

- fezabilitate tehnică – care se ocupă de necesităţile de hardware şi software şi de modul în care acestea pot fi achiziţionate în timp;

- fezabilitate operaţională – ce analizează dacă managerii, angajaţii etc., pot opera, utiliza sistemul propus. Analiza sistemului existent Analiza sistemelor reprezintă un studiu asupra necesităţilor informaţionale ale utilizatorului final. Ea implică studii detaliate asupra:

1. informaţiilor necesare pentru organizaţie şi utilizatorii finali; 2. activităţile, resursele şi produsele existente în cadrul sistemului informatic prezent.

Premergător elaborării unui nou sistem trebuie făcută o analiză a sistemului prezent (manual sau informatic). Aceasta analiză implică studiul activităţilor, resurselor şi produselor. Se mai analizează modul în care sistemul actual utilizează:

� hardware, software, persoanele, convertirea lor în produse informatice; � cum se efectuează introducerea, transmiterea, prelucrarea şi controlul datelor.

Proiectarea sistemelor Design-ul sistemului – dacă analiza sistemului descrie ce fel de sistem trebuie folosit pentru îndeplinirea scopului, design-ul sistemului specifică cum sistemul îşi va atinge obiectivele. Design-ul este constituit din specificaţii utilizate pentru: - dezvoltare de softuri; - achiziţia de hardware; - testarea sistemului; - alte activităţi legate de implementarea sistemului. Totodată, design-ul sistemului are la bază trei activităţi: - designul interfeţei cu utilizatorul; - datele utilizate; - procesul. Design-ul interfeţei – se referă la interacţiunea ce va avea loc între utilizatorul final şi program (aplicaţie). Acesta trebuie să fie atractiv şi uşor de utilizat, să poată fi folosite şi alte echipamente de introdus date (de exemplu un scanner). Interfaţa cu utilizatorul are în vedere: - ecranele de afişare; - dialogurile interactive calculator/utilizator; - formulare de introducere a datelor; - documente; - rapoarte; Design-ul datelor – are în vedere structura bazei de date şi a fişierelor ce vor fi utilizate de noul sistem informatic. În acest caz trebuie avut în vedere: - atributele sau caracteristicile entităţilor (obiecte, oameni, locuri, eveniment) prin care sistemul informatic propus - relaţiile ce se stabilesc între aceste entităţi; - specificarea elementelor prin care fiecare entitate va fi urmărită de către SI propus; - stabilirea condiţiilor pentru ca datele utilizate să fie valide. Design-ul procesului – această activitate are în vedere resursele software, adică programele utilizate precum şi procedurile prin care acestea vor fi utilizate de sistem. Astfel, în această etapă, se vor elabora: - specificaţii detaliate de programe şi proceduri; - specificaţii care să întreţină controlul funcţional şi să analizeze performanţele sistemului. Specificaţiile de sistem - vor fi orientate către: - resursele hardware; - resursele software;

Page 11: proiectarea sistemelor informatice

10

- resursele de personal. Implementarea sistemului Implementarea de sisteme informatice bazate pe computer într-o organizaţie implică, din punct de vedere managerial schimbări majore în procesele comerciale, în structurile organizaţionale precum şi în relaţiile de muncă. Implementarea de sisteme informatice trebuie văzută ca un proces care asigură respectarea planului elaborat. Astfel, procesul de implementare urmăreşte investigarea, analiza şi designul ca etape ale dezvoltării sistemului. Activităţile principale ale procesului de implementare sunt: 1. Achiziţionarea de software, hardware şi servicii; 2. Dezvoltarea de software; 3. Pregătirea (trainingul) personalului; 4. Elaborarea documentaţiei de sistem; 5. Elaborarea sistemului pilot.

Întreţinerea sistemului În general întreţinerea sistemului priveşte testarea, documentarea, trainingul şi alte activităţi legate de ea. 1. Testarea sistemului, implică următoarele activităţi: - testarea hardware-ului şi a conexiunilor; - testarea şi modificarea (dacă e cazul) a programelor; - testarea procedurilor de prelucrare a informaţiilor. 2. Documentarea Serveşte ca o metodă de comunicare a personalului responsabil cu dezvoltarea, implementare şi întreţinerea sistemelor informatice. Aceasta e importantă în diagnoza erorilor şi a reparării lor. Documentarea implică: - manuale pentru procedurile operaţionale; - mostre de formulare pentru introducerea datelor; - mostre de rapoarte. 3. Trainingul Este un component vital care serveşte la buna funcţionate a sistemului. Acesta poate include: - pregătirea introducerii datelor - pregătirea procedurilor de lucru - pregătirea personalului în înţelegerea necesităţii sistemului - pregătirea specifică pentru anumite elemente de hardware şi software 4. Întreţinerea propriu zisă Este reprezentată de activităţile de monitorizare, evaluare şi modificare operaţională a sistemului prin care se pot face şi unele îmbunătăţiri. Funcţiile de întreţinere includ: - o postimplementare care vine să asigure că sistemul îşi îndeplineşte obiectivele şi corespunde aşteptărilor - efectuarea de corecţii în dezvoltarea sau utilizarea sistemului care include şi o revizuire periodică sau un audit pentru sistem pentru a se asigura că sistemul funcţionează corespunzător - efectuarea de schimbări în sistem datorate modificării mediului de afaceri sau a activităţii în general.

Page 12: proiectarea sistemelor informatice

11

2.2. Modele ale ciclului de viata al sistemului informatic În timp au fost elaborate mai multe modele ale ciclului de viaţă al SI11, autorii încercând să identifice, în viziune proprie, etapele de dezvoltare a produsului software. Modelele elaborate au cunoscut îmbunătăţiri permanente încercându-se adaptarea lor la noile cerinţe ale modelării orientate obiect, precum şi inserarea unor etape specifice managementului proiectelor. Modelul cascadă Modelul cascadă (Waterfall Model) a fost elaborat de W.W. Royce12 la începutul anilor ’70. Este un model de referinţă în literatura de specialitate caracterizat prin parcurgerea secvenţială a fazelor ciclului de viaţă, faze care la rândul lor sunt formate din activităţi iar acestea din urmă din subactivităţi. Modelul prezintă următoarele avantaje: - controlul total al fazelor, datorită modului de ordonare a acestora; - uşor de însuşit de către membrii echipelor de analiză şi proiectare; - fiecare fază se încheie cu o verificare a soluţiei oferite şi asigură o documentaţie prezentând soluţia elaborată. Ca dezavantaje, se pot enumera: - sistemul se predă doar după parcurgerea etapelor anterioare, ceea ce înseamnă o lungă perioadă de timp; - acordă o foarte mare importanţă fazei de analiză; - nu corespunde intențiilor de abordare dinamică a sistemelor; - nu este deschis schimbărilor ce pot interveni pe parcurs; În timp au fost propuse variante îmbunătăţite ale modelului: - modelul cu revenire la pasul următor (waterfall model with back flow) - modelul cu reluare de la faza iniţială (“Da Capo” Waterfall Model).

În versiuni mai noi ale modelului cascadă, primele faze grupează activităţi specifice gestiunii proiectului aceste elemente lipsind în modelul iniţial.

Figura 1- Modelul cascadă

Modelul in V Modelul în V este o variantă a modelului cascadă care aduce elemente calitative noi importante. Un element caracteristic al modelului este introducerea conceptelor de sistem şi componente (subsisteme) aplicându-se teste explicite pentru creşterea controlului asupra modului în care se desfăşoară etapele. Fazele plasate în partea superioară a modelului se caracterizează prin implicarea directă a viitorului utilizator.

11 Digital - A Guide to Use Digital Program Methodology, 1996 12 Royce W. W., - Managing the Development of Large Systems, Proceeding of WESTCON, CA, USA, 1970

Page 13: proiectarea sistemelor informatice

12

Braţul stâng al diagramei, parcurs descendent, reuneşte fazele în cadrul cărora se realizează, pas cu pas, proiectarea şi realizarea sistemului informatic. Detalierea activităţilor de proiectare, codificare şi asamblare a componentelor se realizează gradual. De altfel, Ould, creatorul modelului în forma lui consacrată, a prevăzut doar latura din stânga unde efortul principal de proiectare se focalizează pe descompunerea sistemului pe componente. Braţul drept al diagramei cuprinde reprezentarea fazelor asigurând asamblarea progresivă a componentelor sistemului pe măsura testării lor individuale, până la obţinerea sistemului global şi acceptarea acestuia de către beneficiar. În cadrul modelului se remarcă realizarea distincţiei dintre verificare şi validare. Prima se referă la testarea sistemului în diversele stadii pe care le parcurge, iar validarea urmăreşte să identifice în ce măsură sistemul corespunde cerinţelor iniţiale, ceea ce constituie un punct slab al modelului datorită întârzierii cu care se produce această validare13. Avantajele modelului sunt: - sistemul poate fi livrat şi pe componente independente, realizate la perioade scurte de timp; - proiectul sau sistemul final poate fi realizat de mai multe echipe sau persoane datorită modularizării lui. Dintre dezavantaje pot fi enumerate: - imposibilitatea aplicării lui în toate cazurile, deoarece în unele cazuri nu există elementele necesare descompunerii întregului; - componentele pot fi realizate numai după ce întregului sistem i se defineste arhitectura, ceea ce presupune cunoasterea si formularea cerintelor din faza de început de abordare a sistemului; - de fiecare dată când se adaugă o noua componentă, sistemul poate fi considerat unul nou, astfel încât eforturile de integrare a acestora în întreg sunt destul de mari. Modelul în V i-a oferit lui Rumbaugh elementele necesare pentru modelul pe care l-a elaborat în 1991 şi totodată este punct de plecare pentru modelele în W şi X.

Figura 2 - Modelul în V

13 Sommerville I., - Software Engineering, lth Edition, Addison-Wesley, UK, 1989

Page 14: proiectarea sistemelor informatice

13

Modelul in W Acest model reia ideea modelului în V pe care îl dezvoltă şi perfecţionează prin integrarea activităţilor de validare la nivelul fazelor de proiectare.

Figura 3 - Modelul W

Modelul incremental Modelul incremental14 este o altă variantă a modelului cascadă care promovează ideea proiectării şi realizării independente a componentelor după definirea arhitecturii globale a SI.. Sistemul va putea fi livrat beneficiarului şi etapizat pe măsura realizării componentelor (în funcţie de priorităţile formulate de beneficiar) dar într-o astfel de abordare pot apărea dificultăţi legate de integrarea componentelor în sistemul final. Din figură se observă faptul că primele două etape – definirea cerinţelor şi analiza – sunt identice cu cele două etape de început ale modelului cascadă, însă din momentul definirii arhitecturii SI fiecare componentă îşi urmează propriul ciclu de viaţă. Spre deosebire de modelul în V care presupunea integrarea componentelor, testarea şi validarea acestuia, de această dată se oferă şi posibilitatea livrării independente a componentelor SI către beneficiar fără a se exclude şi posibilitatea livrării SI final având toate componentele integrate.

14 Stanciu V. (coordonator) – Sisteme informatice financiar-monetare, ASE, p. 30

Page 15: proiectarea sistemelor informatice

14

Modelul spirală Modelul spirală, elaborat de Barry Boehm, se bazează pe acelaşi principiu ca şi modelul evolutiv. Modelul presupune construirea mai multor prototipuri succesive în condiţiile realizării unei analize a riscului pe fiecare nivel. Fazele de dezvoltare sunt reluate la fiecare iteraţie în aceeaşi succesiune şi presupun:

1. Analiza riscurilor 2. Realizarea unui prototip 3. Simularea şi testarea prototipului 4. Determinarea cerinţelor în urma rezultatelor testării 5. Validarea cerinţelor 6. Planificarea ciclului următor

Ultimul ciclu conduce la realizarea versiunii finale a sistemului informatic.

Figura 4 - Modelul spirală

În centrul spiralei este plasată cunoaşterea cerinţelor şi estimarea costurilor la nivel preliminar. Evoluţia SI urmează desfăşurarea spiralei înregistrând acumulări succesive ale costurilor şi este marcată de

succesiunea prototipurilor, fiecare dintre acestea valorificând acumulările realizate al nivelul prototipului anterior. Interacţiunea dintre faze nu este reliefată direct atâta timp cât modelul prevede o succesiune continuă a rafinării legate de decizii pe care riscurile proiectului le asociază cu următoarea detaliere.

Modelul evidenţiază atenţia acordată planificării, căutării de soluţii alternative, evaluării riscurilor şi validării soluţiilor pentru fiecare prototip, văzut ca un stadiu distinct în realizarea sistemului informatic.

În ingineria software, un prototip este folosit atât pentru validarea cât şi pentru identificarea cererilor utilizatorilor, pentru verificarea soluţiei de proiectare şi a oferi baza dezvoltării ulterioare a proiectului de sistem informatic. Apelarea la utilizarea prototipului este consecinţa faptului că un model funcţional este mai uşor de înţeles de către viitorul utilizator decât un set de diagrame însoţite de documentaţie.

Prototipul funcţional presupune proiectarea sistemului, realizarea primului prototip funcţional, verificarea măsurii în care răspunde cererilor formulate de utilizator şi rafinarea acestei prime soluţii, prin dezvoltări viitoare care adaugă noi funcţionalităţi până la obţinerea variantei finale a sistemului.

Page 16: proiectarea sistemelor informatice

15

Modelul fântână arteziană Modelul fântână arteziană îşi are izvoarele în modelul spirală (ierarhic) şi modelul vârtej de apă. Porneşte de la cunoaşterea lumii reale, a cerinţelor şi elaborarea studiului de fezabilitate. Se parcurg apoi etapele de: analiză, proiectarea sistemului, proiectare componentă, codificare, testare componentă, testare sistem, utilizare, întreţinere, dezvoltare.

Figura 5 - Modelul fântână arteziană

În cazul sistemelor informatice realizate pe baza modelelor de proiectare orientată obiect (POO) modelul fântână arteziană este preferat modelului cascadă şi acesta datorită necesităţii fuzionării unor etape ale ciclului de viaţă şi creşterii gradului de iteraţie. De această dată se pune accentul mai degrabă pe clase decât pe sistem. Se consideră mai adecvat să nu se aibă în vedere doar întregul sistem la fiecare etapă a ciclului de viaţă, ci mai degrabă la identificarea claselor ce-şi urmează propriul ciclu de viaţă. Modelul evolutiv Modelul evolutiv15 porneşte de la realizarea unui studiu iniţial privind obiectivele viitorului SI a cărui arhitectură este definită ulterior. Fiecare componentă astfel definită îşi va urma propriul său ciclu de viaţă (definirea cerinţelor, analiză, proiectare, realizare, testare, utilizare) urmând să fie livrată beneficiarului în momentul finalizării. SI reprezintă ansamblul unor componente în interacţiunea lor, fiind rezultatul unei concepţii bazate pe arhitecturi deschise şi flexibile. O astfel de abordare este apropiată celei orientată obiect caracterizate prin încapsularea datelor şi funcţionalităţii obiectelor. Reprezentarea grafică a modelului evolutiv este influenţată de modelul circular a cărui caracteristică o reprezintă marcarea unui ciclu complet al SI printr-un cerc.

Figura 6 - Modelul evolutiv

15 Carmichael A.R., Object Development Methods, SIGS Books, New York, 1994

Page 17: proiectarea sistemelor informatice

16

Modelul minge de baseball Modelul minge de baseball (dezvoltarea concurenţială) propus de CODD, Yourdon şi Nicola pleacă de la ideea renunţării la paşii succesivi în realizarea sistemului în favoarea promovării activităţilor desfăşurate în paralel. Este vorba de analiza orientată obiect (AOO), proiectarea (design) orientată-obiect (DOO) şi programarea orientată-obiect (POO). Într-o astfel de abordare, AOO ar beneficia de rezultatele DOO şi POO; DOO, beneficiază de rezultatele AOO şi POO, iar POO valorifică rezultatele AOO şi DOO.

Figura 7 – Modelul minge de baseball

Modelul pinball Modelul pinball elaborat în 1994 de S.W.Ambler este caracteristic ciclului de viaţă al produselor software realizate cu ajutorul metodologiilor orientate-obiect. Modelul este realizat după principiul deplasării aleatoare a unei bile într-un sistem mecanic cu arc (de tip flipper) în vederea atingerii unor ţinte, reprezentate de obiective ale proiectării şi programării OO. Tampoanele, obstacolele şi braţele mobile (din partea de jos) aparţinând spaţiului de “joc” corespund următoarelor activităţi: aflarea clasei de apartenenţă a atributelor şi metodelor, determinarea relaţiilor dintre obiecte, definirea agregărilor, moştenirilor, scrierea codului, testarea, implementarea sistemului.

Figura 8 - Modelul pinball

Modelul RAD

Modelul RAD16 (Rapid Application Development), cu varianta sa europeană PD (Participatory Design), se caracterizează printr-un număr redus de faze, utilizarea prototipurilor în faza de realizare şi participarea activă a viitorilor utilizatori.

Etapele prevăzute de model sunt: iniţializare, formularea cerinţelor, proiectare, realizare, implementare.

Figura 9 - Modelul RAD

Fiecare din etapele enunţate se descompune în faze prezentând următoarea structură: lucrări preliminarii, sesiunea participativă (la activitatea grupului de specialişti se alătură şi utilizatorii), lucrări de sinteză (concluzii).

16 Martin, J., Rapid Application Development, New York, MacMillan, 1991

Page 18: proiectarea sistemelor informatice

17

2.3. Etape de realizare a sistemelor informatice In opinia celor mai multi autori, metodologia de proiectare si realizare a sistemelor informatice se desfasoara prin parcurgerea urmatoarelor etape: 1. identificarea cerintelor si a fezabilitatii sistemului:

- determinarea a ceea ce nu functioneaza in vechiul sistem si identificarea obiectivelor noului sistem - analize de prefezabilitate tehnica, operationala, economica, juridica si a programarii in timp - stabilirea comitetului coordonator a proiectului noului sistem si a echipei de proiectare

2. analiza de sistemului informational existent - studierea si documentarea sistemului curent si depistarea problemelor cu care se confrunta - colectarea informatiilor despre cerintele noului sistem - integrarea cerintelor si realizarea unui model al noului sistem

3. proiectarea conceptuala (de ansamblu) a sistemului - realizarea modelului conceptual al noului sistem - luarea deciziei asupra modului de realizare a softului de aplicatii - descrierea detaliata a noului sistem

4. proiectarea de detaliu a noului sistem - proiectarea formularealor si a rapoartelor - proiectarea interfetelor si a dialogurilor - proiectarea bazelor de date

5. elaborarea si testarea programelor - construirea unei versiuni operationale a sistemului

6. implementarea sistemului

- conversia de la vechiul sistem la noul sistem - instruirea utilizatorilor pentru exploatarea noului sistem - test final pentru acceptarea noului sistem

7. exploatareasi intretinerea noului sistem informatic

- punerea in functiune a noului sistem - evaluarea performantelor noului sistem si a modului de satisfacere a ceintelor - inregistrarea tuturor modificarilor aparute in sistem

Page 19: proiectarea sistemelor informatice

18

2.4 Analiza sistemului informational existent Tehnici de culegere a datelor Analiza sistemului informational existent are scopul de a efectua un studiu complex asupra activitatilor si fluxurilor informationale, a volumului de informatii prelucrate, a ariei de cuprindere a sistemului informational, in vederea stabilirii cerintelor generale ce vor fi asigurate prin intermediul noului sistem informatic. In vederea culegerii cu succes a datelor se recomanda sa se tina seama de urmatoarele principii: - nu se considera nimic cunoscut dinainte - orice informatie trebuie sustinuta prin date certe - nu se porneste cu idei preconcepute in privinte solutiilor de imbunatatirea a sistemului

informational contabil - in timpul culegerii datelor nu se elaboreaza solutii - sa se tina seama in permanenta de obiectivele analizei In general, la culegerea datelor colectivul de analiza poate intimpina doua categorii de dificultati: - din partea sistemului (conducatorii compartimentelor cand sunt intrebati in detaliu cu privire

la sistemul existent, impotriva aparentelor, de multe ori nu stiu sau mai curand raspund ce cred sau cum ar vrea sa functioneze sistemul pe care il conduc).

- din partea analistor din cadrul colectivului de analiza, care pot fi superficiali, slab pregatiti profesional, fara spirit analitic, lipsiti de tenacitate etc.

In analiza unui sistemu informational contabil se utilizeaza mai multe procedee sau metode de culegere a datelor: - observarea directa - studierea documentatiei existente - participarea personala la intocmirea activitatilor - inventarierea documentelor sistemului informational - chestionarul - interviul Folosirea unui procedeu nu exclude folosirea concomitenta sau ulterioara si a unui alt procedeu. Alegerea unui anumit procedeu de culegere a datelor depinde de: - complexitatea si particularitatile sistemului informational - aria de cuprindere a acestuia - conditiile de lucru si experienta personalului implicat Observarea directa a activitatilor desfasurate - se realizeaza prin deplasarea analistilor de sistem in compartimentele functionale, pentru a surprinde sfera si particularitatile activitatilor desfasurate de fiecare compartiment. Observarea directa se foloseste pentru o analiza cat mai obiectiva a modului de efectuare a operatiilor de prelucrare, a documentelor utilizate, a timpului necesar realizarii fiecarei operatiuni.

Studierea documentatiei existente poate include: bugetem, planuri de conturi, corespondenta firmei, diagramele fluxurilor de date, regulamentul de ordine interioara, regulamentul de organizare si functionare, manuale de referinta si alte materiale privind procedurile manuale si cele executate pe calculator. Participarea la executare activitatilor din sistemul informational consta in executarea efectiva a anumitor lucrari complexe in paralel cu personalul compartimentelor respective. Procedeul permite obtinerea de date certe cu privire la volumul activitatilor si gradul de dificultate in

Page 20: proiectarea sistemelor informatice

19

realizarea acestora, inclusiv timpul de raspuns al compartimentelor implicate in rezolvarea lucrarilor cu caracter complex.

Inventarierea documentelor utilizate in sistemul informational contabil – consta in identificarea si descrierea tuturor documentelor din sistemul informational. Prin acest procedeu se verifica gradul de utilizare a documentelor tipizate si alte tipuri de documente care se vehiculeaza in sistem.

Chestionarul este un procedeu care are la baza o lista de intrebari adresate personalului din compartimentele functionale, pentru a raspunde in scris cu privire la anumite elemente necesare studiului sistemului informational Interviul – consta in studiul sistemului informational prin dialog direct intre analisti si personalul din compartimentele implicate. Acest procedeu este eficient deoarece reprezinta modalitatea principala de investigare a aspectelor pozitive si a neajunsurilor sistemului informational analizat. In vederea culegerii cu succes a datelor se recomanda sa se tina seama de urmatoarele principii: - nu se considera nimic cunoscut dinainte - orice informatie trebuie sustinuta prin date certe - nu se porneste cu idei preconcepute in privinte solutiilor de imbunatatirea a sistemului

informational contabil - in timpul culegerii datelor nu se elaboreaza solutii - sa se tina seama in permanenta de obiectivele analizei In general, la culegerea datelor colectivul de analiza poate intimpina doua categorii de dificultati: - din partea sistemului (conducatorii compartimentelor cand sunt intrebati in detaliu cu privire

la sistemul existent, impotriva aparentelor, de multe ori nu stiu sau mai curand raspund ce cred sau cum ar vrea sa functioneze sistemul pe care il conduc).

- din partea analistor din cadrul colectivului de analiza, care pot fi superficiali, slab pregatiti profesional, fara spirit analitic, lipsiti de tenacitate etc.

In analiza unui sistemu informational contabil se utilizeaza mai multe procedee sau metode de culegere a datelor: - observarea directa - studierea documentatiei existente - participarea personala la intocmirea activitatilor - inventarierea documentelor sistemului informational - chestionarul - interviul Folosirea unui procedeu nu exclude folosirea concomitenta sau ulterioara si a unui alt procedeu. Alegerea unui anumit procedeu de culegere a datelor depinde de: - complexitatea si particularitatile sistemului informational - aria de cuprindere a acestuia - conditiile de lucru si experienta personalului implicat Observarea directa a activitatilor desfasurate - se realizeaza prin deplasarea analistilor de sistem in compartimentele functionale, pentru a surprinde sfera si particularitatile activitatilor desfasurate de fiecare compartiment. Observarea directa se foloseste pentru o analiza cat mai obiectiva a modului de efectuare a operatiilor de prelucrare, a documentelor utilizate, a timpului necesar realizarii fiecarei operatiuni.

Page 21: proiectarea sistemelor informatice

20

Studierea documentatiei existente poate include: bugetem, planuri de conturi, corespondenta firmei, diagramele fluxurilor de date, regulamentul de ordine interioara, regulamentul de organizare si functionare, manuale de referinta si alte materiale privind procedurile manuale si cele executate pe calculator. Participarea la executare activitatilor din sistemul informational consta in executarea efectiva a anumitor lucrari complexe in paralel cu personalul compartimentelor respective. Procedeul permite obtinerea de date certe cu privire la volumul activitatilor si gradul de dificultate in realizarea acestora, inclusiv timpul de raspuns al compartimentelor implicate in rezolvarea lucrarilor cu caracter complex.

Inventarierea documentelor utilizate in sistemul informational contabil – consta in identificarea si descrierea tuturor documentelor din sistemul informational. Prin acest procedeu se verifica gradul de utilizare a documentelor tipizate si alte tipuri de documente care se vehiculeaza in sistem.

Chestionarul este un procedeu care are la baza o lista de intrebari adresate personalului din compartimentele functionale, pentru a raspunde in scris cu privire la anumite elemente necesare studiului sistemului informational Interviul – consta in studiul sistemului informational prin dialog direct intre analisti si personalul din compartimentele implicate. Acest procedeu este eficient deoarece reprezinta modalitatea principala de investigare a aspectelor pozitive si a neajunsurilor sistemului informational analizat. Studiul sistemului informational existent Studiul sistemului informational existent presupune o cunoastere detaliata a :

a) structurii organizatorice a unitatii b) activitatilor si mijloacelor de calcul folosite c) fluxului informational rezultat d) determinarea volumului de date din sistemului informational e) identificarea cheltuielilor de functionare a sistemului informational existent

a) Studiul structurii organizatorice vizeaza urmatoarele aspecte:

- cunoasterea obiectivelor activitatii de baza - descrierea operatiilor tehnologice, a fluxului de productie - determinarea modului de ierarhizare a sectoarelor de productie si a compartimentelor

functionale - referiri la forma de contabilitate, metode de evidetierea valorilor materiale si cea de

calculatie a costurilor Fiecare compartiment si post din organigrama este privit sub aspectul legalitatii si oportunitatii, al sarcinilor ce-I revin, al functiilor si numarului de personal incadrat, a posibilitatilor de perfectionare a organizarii si functionarii, avand in vedere avantajele prelucrarii automate a datelor.

b) Studiul activitatilor si a dotarii cu tehnica de calcul vizeaza:

- natura si specificul activitatilor desfasurate - documentele utilizate in cadrul fiecarei activitati si compartimentele functionale implicate - dotarea cu tehnica de calcul si gradul de utilizare a acesteia

Studierea documentelor utilizate in unitate are in vedere determinarea informatiilor privitoare la:

Page 22: proiectarea sistemelor informatice

21

- felul documentelor utilizate - frecventa si termenul intocmirii - temeiul legal al emiterii acestora - numarul de exemplare utilizate pentru fiecare document - stabilirea fluxului informational al fiecarui document - daca documentul este sub forma tipizata sau nu - ce decizii se iau be baza datelor din document - care sunt informatiile din documentele existente care raman nevalorificate - ce echipamente de calcul sunt folosite pentru intocmirea fieacarui document - determinarea gradului de incarcare a compartimentului cu documente

Analiza are menirea sa puna in evidenta gradul de automatizare a executarii lucrarilor sistemului informational contabil, limitele mijloacelor de calcul folosite si posibilitatile de integrare a acestora in sistemele de calcul mult mai evoluate.

c) Studiul fluxurilor informationale are ca obiective:

- sa stabilieasca activitatile in detaliu si circulatia privind fiecare fel de document si exemplar, de la aparitia (emiterea) lui pana la arhivare

- sa stabileasca compartimentele implicate in emiterea documentelor, prelucrarea datelor si valorificarea rezultatelor prelucrarii datelor

- prezentarea intr-o forma grafica cat mai sugestiva, uzand de semne conventionale, a prelucrarilor la care sunt supuse datele din documente in cadrul compartimentelor unde circula

- identificarea deficientelor de circulatie a documentelor (fluxuri informationale paralele, inutile, stationari prelungite in cadrul compartimentelor), pentru a fi eliminate din sistemul informational

- determinarea gradului de utilizare a documentelor tipizate - verificarea oportunitatii datelor din documentele utilizate, in scopul precizarii datelor

neutilizate, nevalorificate in totalitate sau neincluse in continutul documentelor - determinarea gradului de incarcare si solicitare a fiecarui compartiment implicat in cadrul

functionarii intregului sistem - integrarea sistemului informational specific cu alte sisteme informationale externe

d) Studiul volumului datelor in sistemul informational contabil Informatiile pentru stabilirea volumului de date din sistemul informational contabil se culeg odata cu studiul documentelor si al circulatiei acestora. Analiza volumului datelor se realizeaza prin intocmirea unui tabel cuprinzand elementele cantitative de date despre fiecare document cum ar fi: - denumirea documentului - frecventa intocmirii - nr. maxim si mediu de documente intocmite pe perioada frecventei - nr. mediu de randuri completate pentru fiecare fel de document pe perioada frecventei - nr. de exemplare pentruu fiecare fel de document - evolutia probabila a numarului mediu din fiecare fel de document in urmatorii 5 ani Concomitent cu descrierea acestor documente se vor urmari si sistemul de coduri utilizat in unitate pentru a fi preluate in viitorul sistem informatic, facand astfel sa existe o compatibilitate a datelor preluate. Analiza documentelor sub aspectul volumului de date, corelata cu numarul de posturi din statul de functiuni sau cu acela al personalului efectiv incadrat pe compartiment, permite se se puna in evidenta : � volumul de ansamblu al documentelor, al datelor continute, exprimat in numa de randuri

(inregistrari, articole) � volumul de munca necesar

Page 23: proiectarea sistemelor informatice

22

� gradul de incarcare-solicitare a personalului incadrat � gradul de folosire a tehnicii de calcul Pe baza evaluarilor facute prin studierea volumului datelor din sistemul informational, echipa de analiza poate formula recomandari privind: - tipul configuratiei echipamentelor de calcul necesare viitorului sistem informatic - numarul si capacitatea unitatilor periferice , etc.

e) Studiul costurilor de functionare a SIC – asigura determinarea categoriilor de cheltuieli efectuate in scopul comensurarii efortului financiar al unitatii pentru intretinerea sistemului.

2.5. Structurarea cerintelor sistemului. Modelarea proceselor Toate metodologiile folosite in realizarea unui sistem apeleaza la operatiunea de modelare logica a datelor si a prelucrarilor sub forma diagramelor fluxurilor de date (DFD). Scopul diagramelor fluxurilor de date (DFD), pentru o anumita componenta organizatorica sau functionala (sectie, birou, compartiment, intreaga unitate, o anumita activitate – vanzari, cumparari, incasari, plati etc) este de a scoate in relief urmatoarele aspecte: - sursa datelor de prelucrat - operatiunile de prelucrare prin care trec datele - destinatia datelor prelucrate - legatura existenta intre prelucrari si activitatea de memorare a datelor Diagrama fluxurilor de date poate fi utilizata in doua moduri: pentru documentarea unui sistem existent sau pentru schitarea unuia in curs de proiectare. DFD pot fi clasificate in : - Diagrame de context - Diagrame ale fluxului de date logic - Diagrame ale fluxului de date fizic In practica cele mai multe produse de proiectare automata a sistemelor informatice (produsele CASE), apeleaza la doua tehnici de construire a DFD: Gane&Sarson si Yourdon & DeMarco. Aceste tehnici, in general, folosesc patru simboluri de baza pentru a reprezenta sistemele informationale si anume :

Obiect Simbolul

Gane & Sarson Simbolul

Yourdon & DeMarco Entitate externa

Patrat ingrosat

Patrat

Flux de date

Sageata

Sageata care poate lua diverse forme

Loc de memorare / pastrare

Dreptunghi deschis la dreapta

Linii paralele

Proces (prelucrare)

Dreptunghi cu colturi rotunjite

Cerc

Page 24: proiectarea sistemelor informatice

23

a) Diagrama de context este diagrama de pe cel mai inalt nivel al sistemului informational, prin care se descriu fluxurile datelor in si din sistem, din si spre entitatile externe sistemului analizat.

Fig. 4.1. Descrierea activitatii de incasare a unui client

Entitatile externe cele mai relevante: Client si Banca Fluxurile de date ale sistemului cu mediul sau: Plata si Depunere b) Diagrama fluxului de date logice (DFDL) este o reprezentare simbolizata a unui sistem, prin care se evidentiaza procesele sistemului, precum si intrarile sau iesirile de date in/din procese. Prin ea se reprezinta ce activitati efectueaza sistemul, fara sa specifice cum, unde sau de catre cine sunt executate activitatile. DFDL pentru exemplul anterior ar putea arata astfel:

Fig. 4.2 DFDL incasare client

CLIENT

Proces de incasare

BANCA

Plata

Depunere

CLIENT

Pregatire depunere bani

BANCA

Validare incasari

Depunere

Incasare

Plata

Inregistrare vanzare

Jurnal_vanzari

Contabilizare

Page 25: proiectarea sistemelor informatice

24

Dupa cum se observa, din aceasta diagrama nu putem sti cum este efectuata "plata", sub forma de cec, bani lichizi ? etc. c) Diagramele fluxului de date ale sistemului fizic – sunt o reprezentare schematica a sistemului prin care sunt scoase in evidenta entitatile interne si externe ale sistemului, precum si fluxul datelor in si din aceste entitati. O entitate interna poat fi o persoana, un loc (sectie, compartiment) sau un echipament (calculator) din sistem cate contribuie la transformarea datelor. Din aceasta cauza diagrama fluxului de date fizice (DFDF) specifica unde, cum si de cine este realizat acest proces al sistemului.

Fig. 4.3. DFDF incasare client In DFDF cercurile definesc entitatile interne. In figura de mai sus : Client Plateste la Vanzator Vanzator Jusitificare-Vanzari la Casier etc. Deci, se observa unde merg banii si cum sunt pastrate informatiile privind incasarile, dar de exemplu, nu stim cu exactitate ce face Vanzatorul. Concluzie: a. DFDL permit reprezentarea activitatilor sistemului, in timp ce DFDF descriu infrastructura

sistemului, ambele fiind necesare pentru intelegerea completa a sistemului. b. DFD nu scot in evidenta factorul timp. De exemplu, nu rezulta daca un flux de date apare

constant, cu repetitie zilnica, saptamanala sa.m.d. De asemenea, nu reiese ca un proces este executat intr-un moment sau altul. Aceste aspecte pot fi evidentiate prin intermediul diagramele starilor de tranzitii.(DST). DST – reliefeaza modul in care procesele unei diagrame a fluxului de date si stari diferite in timp ale aceluiasi proces sunt ordonate in timp. DST sunt forme de redare a logii folosite indeosebi in analiza si proiectarea orientata-obiect.

c. Procesul de descompunere a analizei unui sistem este foarte subiectiv. El poate inceta in orice moment, dar poate fi reluat si ulterior daca se considera utila descompunerea, o importanta deosebita avand-o DFD logice.

d. Atunci cand se intentioneaza realizarea unor diagrame ale fluxurilor de date mai complexe, se recomanda ca inainte de demararea procesului de construire a diagramei, sa se inceapa cu crearea unei liste a entitatilor externe si a intrarilor/iesirilor cu aceste entitati..

e. Prin analiza DFD finale pot rezulta urmatoarele concluzii : - fluxuri de date redundante

CLIENT

Casier

BANCA

Monetar + Bani

Foaie de varsamant +

Bani

Vanzator

Bani

Contabilitate

Registru de casa Jurnal_vanzari

Page 26: proiectarea sistemelor informatice

25

- date care intra in prelucrari, dar nu sunt folosite - date ce sunt actualizate identic in mai multe locuri.

f. Diagramele fluxului de date prezinta atat datele stocate in sistem, cat si procesele de prelucrare prin care trec acestea, indicand relatiile existente intre datele sistemului si procesele de prelucrare.

4.4. Tehnica Yourdon & DeMarco Tehnica Yourdon & DeMarco sugereaza ca un sistem sa fie reprezentat prin urmatorul set de diagrame: - o diagrama de context - se recomanda ca nici o diagrama sa nu cuprinda mai mult de 7

procese de prelucrare (cercuri) - o diagrama de nivel 0 indicand principalele subsisteme ale sistemului - pana la 7 diagrame de nivel 1, indicand principalele functii (aplicatii) ale fiecarui subsistem - pana la 49 de diagrame de nivel 2, indicand detaliile fiecarei functii sai ale fiecarei aplicatii Ex. Diagrama de context pentru procesul de vanzare-cumparare: Diagrama fluxurilor de date pentru vanzarea produselor

BANCA

CLIENTI

FURNIZORI

MANAGEMENT

Comenzi vanzare

Prelucrare stocuri vanzari si

cunmparari de marfuri

Documente de

Date vanzari

Comenzi aproviziona

PRODUSE

Date despre

Prelucrare comenzi

Comenzi

Clienti

VANZARI

Date vanzari

Page 27: proiectarea sistemelor informatice

26

2.6 Implementarea sistemului informatic Obiectivele pe care trebuie sa le realizeze implementarea unui sistem informatic fac ca momentul punerii in functiune sa se identifice cu momentul trecerii in exploatare a sistemului. Orice intrerupere a mentinerii in exploatare dupa momentul punerii in functiune, inseamna nereusita acestei actiuni. Sunt unele metodologii care recomanda punerea in functiune a noului sistem informatic in paralel cu vechiul sistem de prelucrare a datelor. Este evident ca, in asemenea cazuri, obiectivul urmarit nu este acela de punere in functiune, ci este acela de experimentare a noului sistem. Implementarea sistemului informatic proiectat depinde de modul in care beneficiarul asigura conditiile de punere in functiune. Acesta activitate presupune: A. Difuzarea instructiunilor de executare a procedurilor manuale si automate Aceste instructiuni se pot grupa astfel:

• instructiuni pentru beneficiar - au rolul de a da posibilitatea beneficiarului sa cunoasca procedurile manuale si automate ce trebuie sa le execute. Ele cuprind:

- prezentarea succinta a aplicatiei si a fluxurilor informationale - prezentarea noilor documente proiectate si a instructiunilor de completare aferente - prezentarea situatiilor de iesire (listelor, ecranelor), a modului de folosire si interpretare a

acestora • instructiuni pentru unitatea de prelucrare. Ele cuprind: - modalitatile de prezentare si receptie a documentelor primare si a situatiilor cu rezultate

finale - modalitatile de pregatire si verificare a purtatorilor tehnici de informatii precum si de

corectare a erorilor aferente - modalitatile de operare pe parcursul fluxului de prelucrare si de interventie in cazul unor

incidente ce pot apare in timpul executiei programelor. B. Instruirea personalului utilizator, presupune:

• sensibilizarea beneficiarului in probleme de informatica - urmareste sa aduca la cunostinta avantajele folosirii tehnicii de calcul precum si noua disciplina informationala impusa. Aceasta se poate face prin cursuri de initiere de scurta durata organizate de proiectant la sediul acestuia sau la sediul beneficiarului.

• atragerea personalului cu putere de decizie in activitatea de implementare - este garantia asigurarii la timp si integrale a conditiilor necesare implementarii, lucru ce va duce implicit la incadrarea acestei etape in termenele stabilite de proiectant

• pregatirea psihologica a personalului unitatii beneficiare - are drept scop convingerea acestuia ca introducerea tehnicii moderne nu urmareste reducerea personalului ci usurarea muncii acestuia, preluarea unei parti din personal in activitati de informatica si reorientarea altei parti in activitati utile unitatii. Acest lucru va da posibilitatea crearii unui climat favorabil implementarii solutiei proiectate.

E. Asigurarea fondului informational

D. Asigurarea resurselor hard

Asigurarea conditiilor de implementare

A. Difuzarea instructiunilor de executare a procedurilor mnuale si automate

B. Instruirea personalului utilizator

C. Asigurarea conditiilor organizatorice

Page 28: proiectarea sistemelor informatice

27

Pregatirea utilizatorului consta in instruirea acestuia cu privire la: - noile modele de documente de intrare, regulile de completare si de utilizare a acestora,

inistandu-se asupra necesitatii completarii clare, precise, fara ambiguitati a tuturor rubricilor din documente

- modalitatile de verificare si de transmitere a documentelor, atributiile fiecarei persoane in completarea si verificarea documentelor de intrare

- utilizarea corecta a codurilor - descrierea continutului informational al situatiilor de iesire, analiza si folosirea acestora

pentru luarea deciziilor, modul de interpretare a rezultatelor si a mesajelor.

C. Asigurarea conditiilor organizatorice necesare Conditiile organizatorice ce trebuie asigurate implementarii noului sistem se refera in primul rand la asigurarea transpunerii in practica a modificarilor organizatorice preconizate in etapa de proiectare, la lansarea efectiva a documentelor proiectate si la instituirea noilor fluxuri informationale. In al doilea rand se refera la constituirea nucleului de informaticieni in cadrul unitatii beneficiare, nucleu ce trebuie format inainte de inceperea proiectarii si implementarii si apot dezvoltat cantitativ si calitativ pe parcursul realizarii sistemului informatic. O alta problema care permite o buna organizare a implementarii este planficarea activitatilor specifice acestei etape, lucru ce se poate face cu ajutorul unor grafuri Grantt, a metodei A.D.C. (analizei drumului critic), PERT. D. Asigurarea resurselor hard , se poate realiza in trei moduri:

• prin dotarea unitatii beneficiare cu unul sau mai multe sisteme de calcul • prin perfectarea accesului la o unitate de informatica pentru un anumit numar de ore-

calculator • printr-o solutie mixta, care presupune rezolvarea unot probleme de volum mic in cadrul

unitatii, iar pentru problemele mai complexe sa se apeleze la capacitatea unei unitati de informatica cu o dotare corespunzatoare, lucrandu-se eventual in regim de teleprelucrare.

O alta conditie este asigurarea unui spatiu corespunzator desfasurarii activitatii nucleului de informatica, care sa permita realizarea unor lucrari de calitate, asigurarea integritatii, securitatii si confidentialitatii fondului de date manipulat, precum si asigurarea multiplicarii documentelor primare reproiectate in concordanta cu prevederile proiectului tehnic de detaliu, a instructiunilor de completare si utilizare aferente. De o deosebita importanta este de asemenea asigurarea materialelor consumabile specifice functionarii sistemelor informatice. E. Asigurarea fondului informational Presupune pregatirea datelor reale si incarcarea fisierelor sau bazei de date in vederea testarii si punerii in functiune a noului sistem, pregatire ce se face prin: - constituirea fisierelor sau entitatilor bazei de date, prin culegerea fondului informational

necesar si stocarea a cestuia pe purtatori tehnici de informatie. Pentru aceasta va fi necesara, in prealabil, o ampla munca de colectare, ordonare, codificare, incarcare si validare a datelor.

- preluarea partiala sau integrala a datelor dintr-o serie de fisiere deja create, cu ajutorul unor programe de conversie a fisierelor.

Executarea procedurilor de conversie se aplica atunci cand exista deja un sistem informatic sau aplicatii informatice in functiune, ce trebuiesc inlocuite. De asemenea, conversiile se impun atunci cand prin realizarea si implementarea esalonata in timp a componentelor noului sistem informatic, pentru realizarea legaturilor functionale dintre acestea, sunt necesare proceduri de conversie cum ar fi: conversii de fisiere, conversii de programe sau conversii de proceduri.

Page 29: proiectarea sistemelor informatice

28

2.7 Strategii de implementare a sistemelor informatice Strategiile de implementare urmaresc gasirea celor mai adecvate cai, metode, proceduri fata de conditiile si situatiile concrete existente, pentru realizarea obiectivelor de realizare si utilizare a sistemelor informatice. Dintre variantele de solutii posibile pentru punerea in functiune a unui sistem informatic, pot fi mentionate: a) punerea in functiune simultana a tuturor componentelor sistemului informatic si pe intreaga

lui sfera de actiune. O asemenea solutie se recomanda in cazul unor sisteme de o complexitate mai redusa sau in cazurile cand sistemele informatice respective nu pot functiona prin punerea in functiune esalonata a componenetelor sistemului informatic.

b) punerea in functiune simultana a tuturor componentelor sistemului informatic, dar cu esalonarea in timp in ceea ce priveste sfera de cuprindere. Se aplica de regula la sistemele informatice generalizabile pe un numar mai mare de unitati. Punerea in functiune a sistemului respectiv la toate unitatile prevazute se poate esalona pe o perioada mai mare, in funcite de numarul unitatilor si de posibilitatile de asigurare a conditiilor si resurselor necesare.

c) punerea esalonata in functiune a componentelor sistemului informatic. Aceasta varianta se aplica in cazul sistemelor informatice complexe, in functie de criteriile care stau la baza stabilirii prioritatilor in esalonarea punerii in functiune a diferitelor componente a sistemului informatic. Perioada de esalonare a punerii in functiune a unui sistem informatic complex este determinata intr-o mare masura de dimensiunea, calitatea si modul de alocare a resurselor financiare, umane si materiale pentru proiectarea si darea in exploatare a acestor sisteme.

Alegerea momentului punerii in functiune Momentul punerii in functiune a unei componente a unui sistem informatic corespunde datei cand prima sa aplicatie informatica se da in functiune. Declansarea momentului punerii in functiune se plaseaza in zona operatiilor de culegere, inregistrare si transmitere a datelor, corespunzand astfel debutului ciclului de operatii tehnologice ale aplicatiei. Momentul punerii in functiune trebuie sa corespunda cu inceputul unei perioade (ciclu) semnificativ din activitatea unitatii respective (inceput de an calendaristic, introducerea unei noi forme de organizare, lansarea in productie a unei noi tehnologii etc.) Inainte de activitatea de punere in functiune trebuie sa se asigure o perioada de timp corespunzatoare cerintelor de indeplinire a conditiilor de pregatire calitativa a momentului punerii in functiune. Momentul punerii in functiune se alege si in functie de posibilitatea de pregatire a categoriilor de personal in realizarea noilor sarcini. Activitatile de punere in functiune a noului sistem sau a unei componente nu reprezinta inlocuirea unui sistem informational, ci ea are si sarcina dificila de a inlocui si unele conceptii depasite cu privire la rolul, locul si calitatea acestui sistem. Aceste activitati in mod aproape inevitabil, reprezinta o confruntare directa intre “nou” si “vechi”. Pentru exploatarea sistemului se pot folosi mai multe procedee: - functionarea concomitenta atat a sistemului manual existent cit si a sistemului automat

proiectat - experimentarea sistemului proiectat pe baza datelor provenite din perioade precedente - inlocuirea directa a sistemului existent cu cel proiectat a) Functionarea in paralel atat a sistemului manual existent cat si a sistemului proiectat cuprinde o perioada de cca 1-3 luni in care se verifica si se compara rezultatele obtinute de sistemul de prelucrare automata a datelor si de catre sistemul existent. Renuntarea la sistemul manual se va

Page 30: proiectarea sistemelor informatice

29

face numai dupa ce intregul lant de programe a fost executat fara incidente si fara erori, de mai multe ori. Cu toate ca functionarea in paralel este mai dificila si mai costisitoare, implicand eforturi mai mari, este totusi mai eficienta deoarece permite sa depisteze unele erori si anomalii de la cadrul proiectat. Printre cauzele care conduc la aparitia erorilor se mentioneaza: - intocmirea necorepunzatoare a documentelor de intrare - atribuirea incorecta a codurilor - erori de programare - utilizarea necorespunzatoare a programelor Avantaje: - asigura eliminarea eventualelor erori exitent fara ca aceasra sa impiedice desfasurarea

normala a activitatii beneficiarului - evidentiaza cauzele generatoare de erori - verifica si compara in permanenta rezultatelel celor doua sisteme - realizeaza actualizarea si intretinerea bazei de date in ambele sisteme - organul de decizie poate folosi informatiile sistemului existent pana cand noul sistem

informatic intra definitiv in functiune b) Experimentarea sistemului proiectat folosind date provenite din perioade precedente prezinta aceleasi avantaje ca procedeul anterior. In plus, evita aglomerarea excesiva a personalului, in perioadele de varf si nu are timpul de executie limitst in raport cu perioada pentru care se face experimentarea c) Inlocuirea imediata (directa) a sistemului existent cu cel proiectat poate fi aplicata numai in situatii deosebite, in functie de volumul si importanta problemei, de marimea unitatii beneficare si de masurile organizatorice intreprinse. Etapa de implementare a sistemului informatic se finalizeaza atunci cand noul sistem functioneaza in conformitate cu cerintele stabilite prin proiect, atunci cand se realizeaza corelarea procedurilor manuale si automate, se completeaza corect documentele de intrare, se obtin in timp util informatiile dorite pe toate nivelele de conducere, se atinge ritmul de exploatare si se obtin performatenle scontate. Etapa de implementare nu poate fi considerata incheiata daca nu se definitiveaza intreaga documentatie a proiectului. Aceasta presupune definitivarea atat a manualelor de prezentare cat si a celor de utilizare si exploatare. Lucru impus de necesitatea realizarii unei concordante depline intre sistemul proiectat si documentatia sa. 2.8. Exploatarea si intretinerea sistemelor informatice Activitatile de exploatare si intretinere a sistemului informatic pus in functiune, urmaresc asigurarea realizarii continue a parametrilor tehnici, economici si functionali ai sistemului respectiv, in concordanta cu proiectul elaborat si cu dinamica cerintelor activitatii de conducere si operative din unitatea respectiva. Acestor activitati le revine sarcina de realizare a exploatarii curente si a consolidarii functionarii sistemului informatic pus in functiune pe intreaga perioada pentru care s-a preconizat a fi utilizat, perioada care se inscrie intr-un ciclu. Acest ciclu de viata al sistemului informatic, este determinat de frecventa perfectionarilor de fond in domeniul tehnicii de calcul, precu, si in domeniul evolutiei produselor program. Totodata, acest ciclu corespunde si cerintelor de perfectionare a metodelor si tehnicilor utilizate in activitatile de conducere din unitatile economico-sociale. Activitatile de exploatare si intretinere se pot grupa astfel: - activitati de exploatare - activitati de intretinere

Page 31: proiectarea sistemelor informatice

30

- activitati de inregistrare a cerintelor de reproiectare Activitatile de exploatare se concentreaza in principal asupra executiei curente a operatiilor de culegere, transmitere, validare, prelucrare, vizualizare a datelor, prin respectarea stricta a instructiunilor tehnice de lucru. Ele vizeaza responsabilitatea utilizatorului si a personalului din informatica in exploatarea sistemului informatic. Activitatile de intretinere a sistemului informatic se refera atat la realizarea constanta a parametrilor sistemului proiectat si aflat in exploatare, cat si la introducerea in sistem a unor perfectionari curente, care conduc la ridicarea nivelului parametrilor tehnico-functionali si economici ai sistemului respectiv. Activitatile de inregistrare a cerintelor de reproiectare a sistemului informatic in functiune vizeaza pregatirea trecerii la reproiectare, respectiv la un nou ciclu de parcurgere a etapelor de realizare a sistemelor informatice. Dintre sarcinile avute in vedere la exploatarea si intretinerea sistemului informatic pot fi mentionate: - organizarea si urmarirea executiei operatiilor de actualizare a fisierelor si/sau a bazelor de

date la momentele stabilite, operatii de importanta deosebita pentru mentinerea in functiune a sistemului informatic

- imbunatatirea continua a calitatii datelor, reducerea timpului de raspuns a sistemului si reducerea costurilor pe unitate de informatie prelucrata si valorificata

- introducerea perfectionarilor in tehnologia de prelucrare automata a datelor - organizarea si intretinerea arhivelor de date inregistrate pe suporti magnetici - asigurarea reviziilor tehnice si reparatiilor echipamentelor de prelucrare a datelor Practica demonstreaza ca neglijarea activitatilor de mentinere in functiune, intretinere si dezvoltare a sistemelor informatice implementate, conduce la inregistrarea unei scaderi constante dupa momentul punerii in functiune, mergand uneori pana la nivelul de periclitare a functionarii sistemului. In momentul in care se ajunge ca perfectionarile ce se impun in cadrul sistemul informatic sa afecteze o buna parte a sistemului in functiune, cand ele sunt mai generale ca sfera de actiune si mai radicale din punct de vedere al tehnicilor si procedeelor utilizate, inseamna ca s-a ajuns la o situatie conflictuala intre cerinte si existente si se cere o reproiectare a intregului sistem, o trecere evidenta la un nou ciclu de perfectionare. Perfectionarile curente ce se cer a fi aduse sistemului informatic in functiune nu trebuie sa afecteze solutiile tehnice si organizatorice de fond prevazute de catre proiectul initial, ci sa le completeze, sa le perfectioneze.

Page 32: proiectarea sistemelor informatice

31

Capitolul 3. Metodologii de analiza si proiectare a sistemelor informatice Exista mai multe metode de abordare privind realizarea sistemului informatic. In mod general, ele pot fi grupate astefel: - metode empirice, nefundamentate sistemic - metode sistemice, orientate spre sistem:

- metoda descompunerii functionale - orientate spre functii - metode ale fluxurilor de date - orientate spre procese - metoda analizei informationale - orientate spre date, bazate pe diagramele entitate-relatie.

- metode orientate-obiect - metode orientate agent 3.1.Metodele sistemice

- propuse si utilizate in anii 1980 - se bazeaza pe aplicarea teoriei sistemelor in analiza intreprinderii - sistemul informational/informatic este abordat prin prisma datelor si prelucrarilor, care sunt studiate si

modelate independent si reunite cat mai tarziu cu putinta - acorda prioritate datelor fata de prelucrari

a) Metoda descompunerii functionale (orientate-functii) presupune descompunerea fiecarei functii in subfunctii, pana cand se obtin forme usor de transpus in intructiunile limbajelor de programare. Conceptele au fost introduse mai intai in programarea structurata si apoi in proiectare, urmate de analiza. Dintre autorii remarcabili care au abordat descompunerea functionala enumeram pe: DeMarco, Yourdon, Constantine, Jakson, Warnier. b) Metoda fluxurilor de date (orientate-proces) are un mare grad de asemanare cu descompunerea functionala si este deseori descrisa ca “analiza structurata”. Prin aceasta metoda sunt definite cu claritate evenimentele din lumea reala la care sistemul trebuie sa raspunda si interactiunile dintre utilizator si sistem. De asemenea, sunt descrise incluse fluxurile datelor si transformarile la nivel inferior prin intermediul dictionarului de date, respectiv al specificatiilor de procese. Ex. Diagrama fluxurilor de date pentru vanzarea produselor foloseste liniile pentru reprezentarea fluxurilor de

date si a cercurilor pentru procese. c) Metode orientate spre date presupune sa se identifice obiectele lumii reale si apoi descrierea lor cu ajutorul atributelor. Aceasta metoda are la baza modelarea datelor cu ajutorul diagramelor entitate-relatie (Peter Chen -1976). 3.2. Metodele orientate obiect Metodele de analiza si proiectare orientate obiect au aparut dupa anul 1990 preluand cele mai bune idei ale programarii structurate pe care le-a combinat cu concepte noi. La 17 noiembrie 1997, OMG (Object Management Group - un consortiu american format din peste 800 de companii ce produc si distribuie aplicatii la orientate obiect) a hotarat unificarea celor mai utilizate si mai apreciate metode de analiza si proiectare, prin realizarea unui standard in domeniul construirii sistemelor software, respectiv a unui LIMBAJ DE MODELARE UNIFICAT - UML (Unified Modeling Language).

Prelucrare comenzi

Comenzi vanzare

Clienti

PRODUSE

VANZARI

Date vanzari

Date despre produse

Page 33: proiectarea sistemelor informatice

32

Limbajul de modelare unificat (UML) utilizeaza simbolisitici grafice in simbioza cu adnotarile textuale care conduc la: - o intelegere mai rapida si completa a domeniului problemei - schimbarea instantanee a nivelului de abstractizare a prezentarii cu ajutorul instrumentelor - automatizarea activitatilor In cadrul metodelor orientate obiect, sistemul informatic este perceput ca o structura de obiecte autonome, ce se organizeaza si coopereaza intre ele. Un obiect este o abstractizare a datelor elementare si poate fi descris astfel: Obiect = Identitate

+ Comportament + Stare Datele si prelucrarile prin care este implementat comportamentul obiectului sunt incapsulate si sunt inaccesibile celorlate obiecte. De asemenea, fiecare obiect poate participa la compunerea altor obiecte mai complexe. Un obiect apartine unei clase, iar o clasa este o grupare logica a obiectelor care au aceeasi structura si un comportament similar. In incheiere, ii citam pe autorii James Martin si James Odell, care in lucrarea Object-Oriented Methods: A Foundation, spunea “Exista multe metode de realizare a sistemelor, ele vor exista intotdeauna si trebuie sa existe intotdeauna. Diferite activitati pot avea caracterisitici diferite care sa necesite moduri diferite de abordare. Provocarea consta in selectia si integrarea acestor metode”. 3.3. Metode orientate agent Metodologiile orientate agent şi tehnicile de modelare aferente au devenit o prioritate pentru dezvoltarea sistemelor multiagent. În ultimii ani au fost propuse numeroase metodologii pentru proiectarea sistemelor orientate-agent: Kendall ş.a. (1995), Burmeister (1996), Kinnz şi Georgeff (1996), Brazier (1997), Drogoul şi Zucker (1998), Lind (2000), Odell (2000), Wooldridge (2000), Shehorz şi Sturm (2001), DeLoach (2001), Bresciani (2002), Wagner (2002), Burrafato şi Cossentino (2002), Padgham şi Winikoff (2002). Multe din metodologiile orientate-agent existente nu sunt încă finalizate pentru a fi utilizate efectiv în industria dezvoltării software: ele au rămas încă în sfera cercetării sau sunt destinate numai proiectării unui unor agenţi specifice, sau nu sunt descrise cu detalii suficiente. Dintre metodologiile care au fost considerate complete de către specialişti - sunt descrise în detaliu, oferă instrumente de sprijin în proiectare – se numără metodologiile MaSE (DeLoach, 2001), Tropos (Bresciani, 2002), Gaia (Wooldridge, 2000) şi PASSI (Burrafato şi Cossentino, 2002), Prometheus (Padgham şi Winikoff, 2002).

Page 34: proiectarea sistemelor informatice

33

Metodologia Prometheus, elaborată de Lin Padgham şi Michael Winikoff [PadgWini04] în colaborare cu compania Agent Oriented Software (http://www.agent-software.com), defineşte în detaliu procesele pentru specificarea, proiectarea, implementarea şi testarea sistemelor software orientate-agent. Metodologia constă din trei faze principale : 1. specificarea sistemului – se concentrează pe identificarea obiectivelor şi funcţiilor de bază ale sistemului, a intrărilor (percepţiilor) şi ieşirilor (acţiunilor); 2. proiectarea arhitecturii sistemului – utilizează rezultatele fazei anterioare pentru a determina ce tipuri de agenţi va conţine sistemul şi cum aceştia vor interacţiona; 3. proiectarea detaliată a sistemului – urmăreşte arhitectura internă a fiecărui agent şi cum va reacţiona acesta în cadrul sistemului pentru îndeplinirea obiectivelor stabilite.

Page 35: proiectarea sistemelor informatice

34

Capitolul 4. FUNDAMENTELE SISTEMELOR MULTIAGENT

4.1. Concepte şi caracteristici ale agenţilor

Tehnologia agenţilor reprezintă o nouă paradigmă pentru conceptualizarea şi dezvoltarea sistemelor

informatice, care astăzi îşi găseşte aplicaţii în diverse domenii de activitate: industria energetică, aeronautică, robotică, psihologie, comerţ electronic, financiar-contabil, instruire interactivă, medicină etc.

Tehnologia agent îşi are originea la începutul anilor 1980, când companii ca Apple şi Hewlett-Packard au promovat dezvoltarea sistemelor pentru automatizarea secvenţelor de comenzi folosite frecvent de cãtre utilizatori. Caracteristica principalã a acestor sisteme a fost caracterul lor de programe de independente, capabile de a soluţiona sarcini ce pãreau a fi de competenţã pur umanã. Cercetările din domeniu au reuşit să treacă de la abordările pur teoretice la aplicaţii concrete ce utilizează tehnologia agent: comerţul electronic, managementul reţelelor de telecomunicaţii, modelarea şi optimizarea traficului de călători şi de marfă, coordonarea traficului aerian, regăsirea informaţiilor în mediul Internet, optimizarea proceselor de producţie industrială, jocuri virtuale pe calculator, proiectări de aplicaţii tehnice, simulări de fenomene sociale şi multe altele.

Originea tehnologiei agent este înrădăcinată în ştiinţa inteligenţei artificiale, care are ca obiectiv explorarea bazelor sociologice şi psihologice şi dezvoltarea acelor mecanisme, metode şi echipamente capabile de comportament inteligent, care să permită sistemelor (agenţilor) să interacţioneze la fel ca oamenii, în scopul rezolvării unor probleme complexe.

Eterogenitatea celor implicaţi direct în cercetarea şi crearea de aplicaţii orientate agent, a împiedicat pânã acum apariţia unei definiţii unice pentru conceptul de „agent software", sau „agent inteligent".

Termenul de agent derivă din limba latină, provenind de la participiul verbului agere – a conduce, a interpreta, a face. Conform dicţionarului Collins English Dictionary, termenul de agent se referă la “o persoană, care acţionează sau este capabilă să acţioneze sau este împuternicită să acţioneze pentru altcineva”. Oxford Dictionary defineşte agentul ca fiind “o persoană ce acţionează în numele cuiva”, “o persoană sau companie care acţionează ca un broker şi oferă un serviciu specific”. Conform Dicţionarului Explicativ al Limbii Române, un agent este un „reprezentant al unei instituţii, organizaţii, etc. care îndeplineşte anumite însãrcinãri"; sau un „factor activ, eficient, care provoacã diverse fenomene fizice, chimice, etc." [DEX].

Definiţia unui agent scoate în evidenţă două atribute cheie ale acestuia: (i) un agent execută sarcini şi (ii) un agent acţionează în numele cuiva. Aceste caracteristici au stat la baza definirii agentului software ca fiind acea entitate de calcul, care execută autonom activităţile ordonate de un anumit utilizator.

Orice agent are un proprietar, care îi stabileşte obiectivele de realizat şi îi asigură implementarea într-un anumit mediu. Pentru a putea acţiona în acel mediu agentul trebuie să deţină acea arhitectură care să-i permită înţelegerea mediului respectiv, să-l perceapă şi să acţioneze asupra acestuia (figura nr. 4.1).

Figura nr. 4.1 Arhitectura abstractă a unui agent

Un agent este o entitate situată într-un mediu, pe care îl percepe şi asupra căruia acţionează continuu - în

concordanţă cu propria agendă - pentru a atinge anumite scopuri. După Michael Wooldridge [Wooldridge99] pentru ca o entitate să fie considerată agent, trebuie să aibă cel puţin următoarele caracteristici: autonomie, reactivitate, comportament orientat spre scop, abilitate socială.

Autonomia este una din caracteristicile esenţiale ale unui agent, respectiv capacitatea acestuia de a acţiona independent, în funcţie de modificările survenite în mediul pe care acesta îl monitorizează şi conform obiectivelor pe care agentul le urmăreşte.

A fi reactiv înseamnă ca agentul să perceapă mediul în permanenţă, prin intermediul senzorilor şi imediat să reacţioneze la modificările survenite, prin executarea anumitor acţiuni. În acţiunile pe care agentul le întreprinde, acesta urmăreşte întotdeauna ca acestea să aibă ca efect atingerea unui anumit obiectiv, respectiv să poată să identifice căile de atingere a obiectivului, iar dacă acest lucru nu mai este posibil să sesizeze din timp posibilele variante de schimbare a obiectivului. Aceasta înseamnă să aibă un comportament dirijat spre scop.

Page 36: proiectarea sistemelor informatice

35

Abilitatea socială presupune ca agentul să aibă acea arhitectură internă care să-i permită să schimbe informaţii cu alţi agenţi sau alte entităţi, adică să comunice cu aceştia şi să fie capabil să negocieze şi să coopereze pentru atingerea obiectivelor.

Din punctul de vedere al schimbului de informatii cu mediul, acţiunile pot fi (i) de perceptie – capacitatea agentului de a-şi percepe mediul de execuţie, (ii) de mişcare – abilitatea de a migra de la sine de pe o platformă pe alta, (iii) de comunicare – capacitatea agentului de a intereacţiona cu alti agenţi.prin intermediul unui limbaj de comunicare inter-agent.

Literatura de specialitate abundă în definiţii, caracterisitici şi proprietăţi ale agenţilor. Termenii tehnici şi de piaţă sub care agenţii sunt întâlniţi în literatura de specialitate pot fi confuzi, deoarece numele lor descriu diferite componente ale agenţiilor, mediul în care ei trăiesc, activităţile executate şi arhitectura modulului de cunoştinţe.

Stuart Russell şi Peter Norvig [Russell02] au definit agentul ca fiind acea entitate care poate percepe mediul prin senzori şi poate acţiona asupra acestui mediu prin efectori. Problema fundamentală a agentului este să aleagă dintre toate acţiunile posibile la un moment dat, pe cea care îl ajută cel mai mult la îndeplinirea obiectivelor pentru care a fost proiectat.

Pattie Maes (Massachusetts Institute of Technology) [Maes07] a definit agenţii ca fiind acele sisteme de calcul care se regăsesc într-un mediu dinamic complex şi care acţionează autonom în acest mediu prin realizarea unui set de scopuri sau sarcini, pentru a-şi îndeplini obiectivele planificate. De regulă, un agent are o anumită gamă de acţiuni pe care le poate efectua. Mulţimea tuturor acţiunilor posibile ale unui agent poartă denumirea de capacitate efectorică.

Ted Selker de la IBM Almaden Research Center a lansat o definiţie interesantă, pornind de la ideea că activităţile de rutină sau cu un caracter repetitiv, pot fi delegate unui agent software: "un agent este acea entitate software care ştie să facă lucrurile aşa cum probabil le-ai face tu însuţi dacă ai avea timp" .

Agentul care poate să interacţioneze cu alţi agenţi, să se adapteze la schimbările survenite în mediu şi să-şi îmbunătaţească comportamentul - adică să înveţe din fiecare situaţie întâlnită - este un agent inteligent. Inteligenţa unui agent este dată de capacitatea de învăţare şi înţelegere pe care o posedă.

S-a scris mult pe seama proprietăţilor minimale pe care să le deţină un agent pentru a fi considerat agent inteligent. Concluzia este că dezvoltatorii agenţilor, i-au înzestrat cu anumite proprietăţi, în funcţie de mediul în care urmau să activeze. Astfel un agent care are ca obiectiv dirijarea unei nave de zbor, respectiv suţinerea echipajului navei în păstrarea traseului spre destinaţie şi executarea acelor manevre în funcţie de modificările condiţiilor meteo şi de alţi participanţi la traficul aerian, va avea o arhitectură diferită de a unui agent de căutare pe Internet sau a unui agent personal. 4.2. Taxonomia agenţilor software Agenţii sunt proiectaţi să acţioneze într-un mediu particular, cum ar fi un sistem de operare, o aplicaţie, o reţea de calculatoare. Internetul, sistemul de operare şi agenţii web sunt exemple de agenţi etichetaţi în funcţie de mediul lor. Asistenţii, experţii şi vrăjitorii pentru o anumită aplicaţie, sunt agenţi de asemenea etichetaţi în concordanţă cu mediul în care aceştia acţionează.

Caracteristicile unui agent referitoare la coordonare, cooperare, comportament etc., nu sunt uşor de realizat având în vedere că mediile în care poate acţiona agentul sunt foarte diferite. De aceea, deocamdată vom întâlni o diversitate de tipuri şi arhitecturi de agenţi, care sunt specifice anumitor medii şi care pot acţiona doar în mediul respectiv. Tipul unui agent este stabilit în concordanţă cu sarcinile acestuia (agent de căutare, de filtrare etc.) şi în concordanţă cu arhitectura modulului de cunoştinţe cu care este înzestrat - învaţă de la utilizatori, acumulează cunoştinţe, utilizează reguli de inferenţe etc. De regulă, numele agentului descrie mediul în care acţionează, obiectivele, aptitutidinile cu care acesta este înzestrat sau acţiunile specifice pe care acesta le întreprinde.

O clasificare de referinţă a agenţilor a fost realizată de Stan. Franklin şi Art Graesser (Institute for Intelligent Systems – University of Memphis) [FrankGra96], care în analogie cu arborele filogenetic din biologie, au identificat opt categorii de agenţi (figura nr. 4.2)

Page 37: proiectarea sistemelor informatice

36

Hyacinth Nwana (Advanced Applications & Technology Department – BT Laboratories) [Nwana96], consideră că atributele ideale pentru agenţi sunt autonomia, capacitatea de învăţare şi capacitatea de cooperare cu alţi agenţi. Ponderea acestor caracteristici în totalul structurii conduc la obţinerea agenţilor colaborativi de învăţare, a agenţilor interfaţă, a agenţilor colaborativi şi a agenţilor inteligenţi, care au fost consideraţi ca fiind acele entităţi care dispun de autonomie, interacţionează în permanenţă cu mediul, posedă capacităţi de cooperare şi comunicare cu alţi agenţi şi sunt înzestraţi cu mecanisme de raţionament (figura nr. 4.3)

Figura nr. 4.3 Taxonomia agenţilor după H. Nwana [Nwana96] Michael.R. Genesereth şi Steven.P. Ketchpel (Computer Science Department – Standford University) [GenesKetch94], au propus următoarea taxonomie agent: (figura nr. 4.4)

Figura nr. 4.4. Taxonomia agenţilor după M.R. Genesereth şi S.P. Ketchpel [GenesKetch94] În funcţie de mediul software în care sunt situaţi şi de activităţile desfăşurate, agenţii pot fi clasificaţi

astfel [CagHarr97]: • Agenţi desktop

o Agenţi sistem operare: sunt agenţii care oferă asistenţă utilizatorilor cu interfaţa sistemului de operare; de exemplu ei pot monitoriza evenimentele de la nivelul sistemului de operare şi executa diverse sarcini atunci când utilizatorul nu mai lucrează o anumită perioadă;

o Agenţi aplicaţie: agenţii interfaţă care oferă asistenţă utilizatorilor într-o aplicaţie particulară; o Agenţi aplicaţii multiple: agenţii care ajută utilizatorii în rezolvarea unei suite de aplicaţii.

• Agenţi Internet o Agenţi de căutare Web: agenţi Internet care oferă utilizatorilor servicii de căutare; o Agenţi de server Web: agenţi Internet care locuiesc pe un site Web pentru a oferi servicii agent; o Agenţi de filtrare a informaţiilor: agenţi Internet care filtrează informaţiile electronice în concordanţă cu

preferinţele specifice ale utilizatorilor; o Agenţi de regăsire a informaţiilor: agenţi Internet care transmit un pachet de informaţii personalizate în

concordanţă cu preferinţele utilizatorilor; o Agenţi de notificare: agenţi Internet care notifică un utilizator de apariţia unor evenimente de interes

personal al utilizatorului ; o Agenţi de servicii: agenţi Internet care oferă servicii specializate utilizatorilor; o Agenţii mobili: agenţi Internet care migrează dintr-un loc în altul, să excute sarcini specificate de utilizator.

• Agenţi Intranet o Agenţi de colaborare: agenţi care procesează o schemă de lucru automată; o Agenţi de automatizare a proceselor: agenţi care execută o schemă automată a unui proces de afaceri; o Agenţi bază de date: agenţi care oferă servicii pentru utilizatorii bazelor de date; o Agenţi de brokeraj a resurselor: agenţi care execută alocarea resurselor în arhitecturile client/server.

Agenţi colaborativi de învăţare

Agenţi inteligenţi

Cooperare Învăţare

Autonomie Agenţi interfaţă

Agenţi colaborativi

Agenţi colaborativi

Agenţi interfaţă

Agenţi mobili

Agenţi de informaţii

Agenţi reactivi

Agenţi hibrizi

Agenţi inteligenţi

Tipuri de agenti

Page 38: proiectarea sistemelor informatice

37

După complexitaea problemelor, obiectivele şi activităţile concrete pe care agenţii le rezolvă, aceştia pot fi grupaţi în: • asistenţi personali

o agent de informare - ex. MAXIMIS [Maes, a994] pentru gestionarea şi filtrarea emailurilor, NewT [Maes, 1994] pentru filtrarea ştirilor;

o agent de cumpărare - ex. Jango [Doorembos, 1997]; o agent interfaţă – ex. Mailtalk [Cohen, 1994], COLLAGEN [Rich&Sidner, 1997]; o agent pentru jocuri şi realitate virtuală – ex. [Hayes-Roth, 1995], [Cassel, 1994]; o agent de control pentru roboţi – ex. [Burgard, 1998]; o agent de control al aparatelor de zbor – ex. [Muscettola, 1998];

• sisteme distribuite o managementul proceselor de afaceri şi a sistemelor workflow – ex. ADEPT; o managementul sistemelor industriale - ex. ARCHON; o controlul traficului de zbor - ex. OASIS; o sisteme informaţionale cooperative, biblioteci digitale - ex. Carnot [Huhns, 1992]; o sisteme de control multi robot; o simulari sociale - ex. proiectul EOS [Doran&Palmer, 1995].

Taxonomia agenţilor poate fi făcută şi după alte criterii cum ar fi: după mediul în care se desfăşoară, după sarcinile pe care le execută, după arhitectura lor de control, după mecanismele de control utilizate, după starea lor internă, după tipul de interfaţă cu care sunt înzestraţi, după aplicaţiile pe care le rezolvă, după rolul acestora etc.

Agenţii inteligenţi, numiţi şi agenţi cognitivi, au toate proprietăţile agenţilor software (autonomie, abilitate socială, reactivitate, proactivitate) dar în plus, sunt conceptualizaţi folosind noţiuni ce se aplică de obicei oamenilor, cum ar fi: - noţiuni mentale epistemice : convingeri, cunoştinţe; - noţiuni mentale de atitudine: intenţii, obligaţii, angajamente, decizii; - raţionalitate; - adaptabilitate sau capacitate de învăţare.

Modulul de cunoştinţe al unui agent inteligent conţine regulile după care acesta se ghidează pentru a-şi atinge obiectivul. Cunoştinţele pot fi căpătate prin tehnicile menţionate în figura nr. 4.5.

Figura nr. 4.5 Arhitectura generală a unui agent inteligent

Deprinderile de comunicare ale agentului afectează modul cum interacţionează el cu utilizatorul. În mediile

distribuite, modulul de comunicare controlează interacţiunea cu alţi agenţi. Interfaţa utilizator (umană) serveşte ca un canal de comunicaţie cu utilizatorul, folosind diverse tehnici de comunicare (mesaj de email, interfeţe multimedia). Pentru comunicarea interagent, se foloseşte un limbaj de comunicare agent (ex. KQML, Telescript, Agent Tcl, Knowledge Interface Format (KIF), Agent Communication Language (ACL))

După Paulo Leitao (Polytechnic Institute of Braganca – Portugal) [Leitão00] arhitectura unui agent inteligent este bazată pe patru module şi o bază de cunoştinţe, care conţine toate informaţiile relevante despre comportamentul agentului şi a mediului (figura nr. 4.6): - modulul de luare a deciziilor controlează toate activităţie agentului şi include un rezolvitor de probleme şi luare decizii. Procesul de luare a deciziilor cuprinde analiza informaţiilor disponibile, aplicarea mecanismelor de decizie, evaluarea deciziei şi învăţarea. Pentru luarea deciziilor, modulul utilizează baza de cunoştinţe locală şi când nu dispune de suficiente informaţii pentru luarea unei decizii, este pornit procesul de cooperare cu alţi agenţi;

Agent

Aptitudini de comunicare

Agenda de activităţi

Cunoştinţe

Cunoştinţe apriori

Învăţare Activităţi Utilizator

Alti agenţi

Specificate de: -dezvoltator -utilizator -sistem

Dialog Reţele neuronale Memorie Cazuri Expertiză

Căutare iinformaţii Filtrare informaţii

Interfaţă sociala Limbaj de comunicare interagent

Page 39: proiectarea sistemelor informatice

38

- modulul de cooperare gestionează cooperarea cu agenţii externi, solicitarea cooperării cu alţi agenţi, colectarea răspunsurilor şi trimiterea acestora către modulul de luare a deciziilor. Acest modul implementează mecanisme de negociere (de ex. un protocol de negociere Contract Net Protocol); - modulul de comunicare urmăreşte interacţiunea cu alţi agenţi şi defineşte un limbaj de comunicare. Nivelul fizic al acestui modul conţine acele protocoale de comunicare care să permită interacţiunea dintre aplicaţii (ex. CORBA);

Figura nr. 4.6. Arhitectura unui agent generic, după P. Leitao [Leitão00] - modulul de control şi monitorizare are menirea de a monitoriza activităţile din mediu şi de acţiona asupra acestuia conform deciziilor luate pentru atingerea obiectivului. - baza de cunoştinţe – memorează toate cunoştinţele despre mediu şi despre comportamentul agentului, sub diferite dipuri de cunoştinţe cum ar fi: constrângeri, obiective, proceduri, reguli, experinţe, tehnici şi structuri organizaţionale.

Michael Wooldridge [Wooldridge99], clasifică agenţii inteligenţi, după arhitectura acestora, în patru categorii: - agenţi bazaţi pe logică – deciziile sunt luate pe baza deducţiilor logice (Yves Lesperance, 1996 – York University Canada; Klaus Fischer, 1994); - agenţi reactivi – luarea deciziilor este implementată ca o mapare directă a situaţiei de acţiune (Brooks, Maes); - agenţi BDI – luarea deciziilor depinde de manipularea unor reprezentări a convingerilor, dorinţelor şi intenţiilor agentului (Anand Rao, Michael Georgeff, 1992); - agenţi multi-nivel – luarea deciziilor este realizată printr-un anumit număr de niveluri software, fiecare reprezentând explicit diferite niveluri de abstractizare a mediului (Muller, 1995 ; Fergusson, 1995).

Dintre aceste tipuri de agenţi, o atenţie deosebită o merită agenţii BDI, a căror arhitectură a devenit un standard pentru diferite modele de agenţi. Arhitectura BDI a unui agent inteligent după Michael P. Georgeff (Australian Artificial Intelligence Institute) convingeri (engl. Beliefs), dorinţe (engl. Desires), şi intenţii (engl. Intentions). Acest model are ca punct de plecare filosofia raţionamentului practic, care presupune mai întâi stabilirea scopului, printr-un proces deliberativ, şi apoi identificarea mijloacelor disponibile pentru atingerea acelui scop.

Figura nr. 4.7. Arhitectura de bază a unui agent mobil

Platforma agent Platforma agent

Platforma agent

Sistem gazdă Sistem gazdă

Sistem gazdă Servicii sistem

Page 40: proiectarea sistemelor informatice

39

O caracteristică specială a agenţilor este mobilitatea. Un agent mobil este acel agent care poate transfera codul şi starea sa în cadrul reţelei, acolo unde poate să-şi execute cel mai bine taskurile. Astfel, agenţii mobili sunt entităţi ce posedă un comportament, o stare şi o locaţie. Aceştia pot migra pe diverse platforme, în fiecare moment identificându-se cu o anumită locaţie (site-ul pe care a ajuns), un anumit comportament (sarcina pe care o realizează în acea situaţie/stare) şi starea corespunzătoare (figura nr. 4.7.).

Aspectele suplimentare pe care trebuie să le definească arhitectura unui agent mobil se referă la: - migrarea agentului pe diferite platforme – respectiv cum şi unde se mută un agent mobil; - autentificarea – cum sa se identifice corect un agent mobil de un alt cod care poate fi un virus; - secretizarea - păstrarea confidenţialităţii datelor transportate de agent; - securitatea – cum se poate proteja un agent mobil îmoptriva virusilor sau de gazde distructive şi cum se poate

proteja un sistem gazdă de un agent mobil distructiv; - performanţa – care va fi efectul în situaţia aglomerării unei reţele de multipli agenţi mobili; - interoperabilitatea – cum comunică un agent mobil cu alti agenţi sau platforme agent. 4.3. Sistemele multiagent

Un sistem multiagent este o aplicaţie software capabilă să rezolve o problemă, prin structurarea sistemului

într-un număr de agenţi, amplasaţi într-un anumit mediu, cu scopul de a atinge diferite cerinţe funcţionale şi de calitate a sistemului.

Capacitatea unui singur agent este limitată de cunoştinţele sale, de resursele de calcul disponibile, de perspectiva sa asupra domeniului studiat, fiecare agent având o perspectivă parţială şi imprecisă asupra sistemului (figura nr. 4.8.).

Figura nr. 2. 1. Viziunea unui agent asupra mediului (adaptare după http://www.csc.liv.ac.uk/˜mjw/pubs/imas/)

Astfel, pentru un domeniu problemă complex, soluţia este dezvoltarea unui număr specific de agenţi,

specializaţi în rezolvarea unor aspecte particulare a problemei. Prin utilizarea expertizei proprii, a resurselor şi informaţiilor locale, agenţii pot lucra cooperativ pentru formularea de soluţii parţiale şi ulterior prin integrarea soluţiilor parţiale cu a altor agenţi, pot construi o soluţie globală care să conducă la îndeplinirea obiectivele sistemului.

Sistemele multiagent abordează modul cum mai mulţi agenţi pot lucra împreună pentru rezolvarea unor probleme complexe, pornind de la premisa că un agent este capabil să lucreze autonom şi să rezolve o anumită sarcină. Cercetările din acest domeniu s-au concentrat pe tehnicile de distribuire a datelor şi a controlului şi de coordonare a activităţilor agenţilor, astfel încât fiecare să-şi rezolve propriul interes sau să satisfacă un obiectiv comun.

Un sistem multiagent este caracterizat prin următoarele aspecte [Weiss99]: - fiecare agent are informaţii sau abilităţi incomplete sau insuficiente pentru rezolvarea problemei globale; - agenţii au diferite sfere de influenţă asupra mediului (care pot să se întrepătrundă); - agenţii sunt reuniţi de anumite relaţii organizaţionale; - agenţii interacţionează prin comunicare; - nu există un sistem global de control; - datele sunt descentralizate; - calculele sunt asincrone. Un agent are una sau mai multe limitări: cognitive, fizice, temporale, instituţionale [MostRanaFou04]. Limitările cognitive provin de la faptul că un agent poate deţine datele şi cunoştinţe limitate. Un anumit agent poate fi limitat fizic, datorită arhitecturii sale sau datorită resurselor disponibile la un moment dat. Putem întâlni limitări temporale, în cazul în care atingerea unui anumit obiectiv depăşeşte durata planificată pentru execuţia acelei sarcini

Mediu Sfera de influenţă

Interacţiuni

Agent Relaţii organizaţio

Page 41: proiectarea sistemelor informatice

40

sau perioada de timp pentru care sunt disponibile anumite resurse. Limitările instituţionale pot fi de ordin juridic sau politic.

În proiectarea unei aplicaţii multiagent, plecând de la arhitectura agenţilor şi a sistemului, este necesar să se stabilească două aspecte generale: care sunt cunoştinţele pe care le deţine un agent şi cum poate un agent să acceseze şi utilizeze cunoştinţele unui alt agent.

După tipul de agenţi utilizaţi putem avea sisteme multiagent cu: - agenţi omogeni – agenţii au aceeaşi structură internă (scopuri, acţiuni, cunoştinţe) şi aceeaşi procedură de selecţie a acţiunilor; - agenţi eterogeni – agenţii au scopuri diferite, acţiuni diferite şi arhitecturi diferite.

După gradul de cooperare deţinut de agenţii individuali avem: - agenţi cooperativi – agenţi care cooperează în rezolvarea problemei distribuite; - agenţi auto-interesaţi – agenţii sunt concurenţi şi îşi urmăresc propriul interes.

Pentru menţinerea unei coerenţe globale asupra sistemului, agenţii trebuie să fie capabili să-şi determine propriile scopuri şi să comunice cu ceilalţi agenţi, astfel încât să-şi coordoneze comportamentul şi acţiunile.

Mediile multiagent furnizează o anumită infrastructură ce specifică protocoalele de comunicare şi de interacţiune între agenţi. Comunicaţia trebuie definită pe niveluri diferite, plecând de la nivelul cel mai de jos, folosit de cel mai slab agent. Pentru a comunica, agenţii trebuie să între în dialog, unde pot avea rolul de master (activ), slave (pasiv) sau poate fi un dialog egal de tipul peer-to-peer.

Motivele pentru care este necesară coordonarea într-un sistem multiagent sunt: - previne haosul – nici un agent nu deţine o privire de ansamblu asupra întregului sistem; - agenţii posedă cunoştinţe şi aptitudini – de exemplu, personalul unui spital. ce este format din infirmiere,

anestezişti, asistenţi, doctori etc, trebuie să se coordoneze pentru a trata pacienţii; - acţiunile agentului sunt frecvent în relaţie cu a celorlalţi agenţi - un agent trebuie să aştepte un alt agent să

execute o altă sarcină în prealabil.

Planificarea distribuită permite agenţilor să-şi modeleze planurile unii altora. Agenţii comunică pentru a construi şi actualiza planurile şi modelele individuale până când toate conflictele sunt înlăturate. Activitatea de rafinare a modelelor are loc până când toate converg către un plan global coerent.

Rezolvarea unei probleme complexe presupune descompunerea planului general şi alocarea de subplanuri către diferiţi agenţi. Alocarea sarcinilor se poate efectua după mai multe variante. O primă variantă presupune existenţa a doi agenţi specifici: un agent supervizor, care cunoaşte cum să descompună un anumit plan, şi un agent mediator, care cunoaşte care agenţi sunt capabili să execute acele sarcini. A doua variantă este cazul în care agentul mediator nu are abilităţile necesare pentru a executa o alocare completă a sarcinilor. În acest caz, supervizorul mai întâi va descompune planul complex şi apoi va trimite o descriere a fiecărei activităţi ce trebuie executate de către mediator. Mediatorul ataşează la fiecare descriere abilităţile şi calificările necesare, apoi efectuează o licitaţie. Agenţii potenţiali utilizează aceste informaţii pentru a decide dacă se înscriu sau nu la această licitaţie.

Structura organizaţională este cel mai simplu scenariu de coordonare, deoarece organizaţia are implicit definite responsabilităţile, abilităţile, conectivitatea şi fluxul de control al agenţilor. Ea oferă cadrul necesar desfăşurării activităţilor şi interacţiunilor prin definirea rolurilor, căilor de comunicare şi relaţiilor de autoritate. 4.4. Aplicaţii şi avantaje ale sistemelor multiagent

Sistemele multiagent reprezintă o nouă tehnologie software cu avantaje în rezolvarea distribuită a problemelor şi în rezolvarea problemelor de natură distribuită. Rezolvarea unei probleme complexe de către un sistem multiagent se poate face prin distribuirea de sarcini mai multor agenţi din cadrul sistemului. Fiecare agent va fi specializat în rezolvarea de subprobleme în domeniul său., iar pentru soluţionarea unor probleme comune, va interacţiona cu alţi agenţi.

Există mai multe modalităţi de a clasifica aplicaţiile tehnologiei agent: după tipul de agenţi, după tehnologia utilizată pentru implementarea agenţilor, sau după domeniul de aplicare. După acest ultim criteriu, avem următoarele aplicaţii ale sistemelor multiagent:

a) Aplicaţii industriale Aplicaţiile industriale ale tehnologiei agent au fost printre primele dezvoltate, încă de prin 1987. De

exemplu, s-a folosit protocolul de contractare în reţea pentru medii de fabricaţie. Astăzi agenţii sunt folosiţi într-o mare varietate de aplicaţii industriale.

- Controlul proceselor. Există o platformă software numită ARCHON, pentru construirea de sisteme multiagent pentru aplicaţii de control al proceselor, cum ar fi administrarea transportului energiei electrice (nordul Spaniei) şi controlul acceleratoarelor de particule [JennCor98];

- Fabricaţie. Parunak descrie sistemul YAMS (Yet Another Manufacturing System [Parunak87]), care aplică protocolul de contractare în reţea la controlul fabricaţiei, în care o întreprindere este modelată ca o ierarhie de celule de lucru, fiecare celulă de lucru ocupându-se de un anumit aspect al fabricaţiei; celulele de lucru vor fi ulterior grupate în sisteme de fabricaţie flexibile, care vor forma o uzină, iar o companie poate avea mai multe uzine, care îşi pot partaja funcţionalitatea şi capacităţile. Scopul lui YAMS este de a administra eficient procesul de producţie al acestora;

Page 42: proiectarea sistemelor informatice

41

- Controlul traficului aerian. Kinny şi colaboratorii descriu un sistem de control al traficului aerian, bazat pe tehnologia agent, numit OASIS, folosit cu succes la aeroportul din Sydney; agenţii sunt folosiţi pentru a reprezenta atât avioanele, cît şi diferitele sisteme de control aerian care operează [KinnyGeorgeff96];

- În robotică colectivă un ansamblu de roboţi cooperează pentru un scop comun; roboţii sunt agenţi inteligenţi fizici ce compun un SMA. În robotica colectivă există două domenii principale: robotica celulară şi robotica cooperativă; robotică celulară se referă la construirea de roboţi modulari, în care mişcarea este rezultatul coordonării unui ansamblu; în robotica cooperativă, roboţii îşi coordonează mişcările şi cooperează pentru a-şi îndeplini sarcinile atribuite; un exemplu este controlul vehiculelor aeriene autocomandate (UAV - unmanned air vehicle);

b) Aplicaţii comerciale - Administrarea informaţiei; Volumul imens de informaţie disponibil prin Internet reprezintă o problemă

reală foarte serioasă; în acest sens, agenţii inteligenţi se ocupă de filtrarea şi de informaţiei; - Comerţul electronic; Comerţul este aproape în întregime condus de interacţiunea umană, dar anumite

activităţi comerciale pot fi automatizate, deci anumite decizii comerciale pot fi lăsate în sarcina unor agenţi; - Administrarea afacerilor; directorii companiilor iau decizii pe baza unei combinaţii de judecăţi şi

informaţii de la mai multe departamente, dar obţinerea de informaţie pertinentă, consistentă şi actualizată în cadrul unei mari companii este un proces complex şi consumator de timp. Din acest motiv, unele companii au dezvoltat sisteme multiagent necesare managementului. Proiectul ADEPT [JenningsNor98] abordează această problemă privind un proces de afaceri ca o comunitate de agenţi furnizori de servicii, care negociază între ei. Fiecare agent reprezintă un rol sau un departament diferit din întreprindere şi este capabil să ofere unul sau mai multe servicii.

c) Aplicaţii medicale Sistemele multiagent s-au dezvoltat şi în următoarele domenii ale informaticii medicale: - monitorizarea pacienţilor; Sistemul Guardian descris de Barbara Hayes-Roth [HayesRoth98] este

conceput pentru a ajuta în administrarea şi monitorizarea pacienţilor din laboratorul de chirurgie intensivă; - ocrotirea sănătăţii; J., Huang [Huang95] a descris un prototip de sistem de îngrijire medicală bazat pe un

sistem multiagent. d) Alte aplicaţii - amuzament Agenţii au un rol evident în jocurile pe calculator, în teatrul interactiv şi în aplicaţiile legate

de realitatea virtuală. aceste sisteme tind să conţină caractere animate semi-autonome, ce pot fi în mod natural implementate ca agenţi;

- simulare şi lumi artificiale. Sistemele multiagent au fost folosite şi pentru simularea unor sisteme vii, de exemplu a unui ecosistem cu animale de pradă şi victime. Există mai mulţi parametri care intră în calcul, iar fiecare animal (de pradă sau victimă) poate fi văzut ca un agent inteligent, care are scopul fie de a vâna, fie de a se feri din calea vânătorilor. Aşa cum unele animale atacă în grupuri (ex. haitele de lupi), se poate simula negocierea agenţilor prădători în vederea atingerii scopului comun;

- instruire asistată de calculator, dacă ne gândim la sistemele bazate pe agenţii pedagogici. Sistemele multiagent sunt capabile să ofere mai multe avantaje:

- viteză şi eficienţă – agenţii pot opera asincron şi în paralel, fapt ce duce la creşterea vitezei; - robusteţe – eşecul unuia dintre agenţi nu implică căderea sistemului deoarece alţi agenţi sunt gata să preia acele

sarcini; - flexibilitate – sistemul poate fi extins pentru rezolvarea de probleme de dimensiuni mai mari adaugând noi

agenţi; - costuri reduse – un sistem multiagent poate fi construit la un cost mai scăzut decât un sistem centralizat; - dezvoltare şi reutilizare – agenţi individuali pot fi proiectaţi separat de specialişti, sistemul poate fi testat şi

întreţinut mai uşor şi este posibilă reconfigurarea şi reutilizarea agenţilor în diferite scenarii de aplicaţii. În concluzie, tehnologia sistemelor multiagent este una dintre cele mai promiţătoare tehnologii ale

momentului.

Page 43: proiectarea sistemelor informatice

42

Capitolul 5. Virtualizare afacerilor cu tehnologia agent 5.1. Modele de afaceri electronice

Se poate spune că odată cu intrarea în era Internetului şi a e-business-ului, s-au produs transformări

fundamentale ale structurilor socioeconomice. Succesul în afaceri implică din partea organizaţiilor, în primul rând apel la tehnologia informatică şi extinderea relaţiilor de afaceri în afara limitelor teritoriului naţional.

Tehnologia şi în special Internetul au schimbat modul în care se fac afacerile. Internetul oferă infrastructura tehnică ce permite prezenţa online, respectiv abilitatea de a comunica cu clienţiii, partenerii de afaceri, de a avea acces usor şi rapid la informaţii direct de la serviciu sau de acasă.

Internetul reprezintă infrastructura prin care se vehiculează informaţia de orice fel: text, sunet, voce, imagine, video. In esenţă, el este o reţea globală realizată din reţele mai mici, prin care se reunesc milioane de calculatoare din întreaga lume, prin infrastructura telecomunicaţiilor.

Tehnologia World Wide Web (www) introdusă Tim Berners-Lee în anul 1990, a schimbat fundamental Internetul, astfel încât astazi nu se mai face de fapt o distincţie între Web şi Internet. Din punct de vedere tehnic, spaţiul Web pune la dispoziţie un sistem global şi standardizat de comunicare multimedia, informaţiile fiind organizate asociativ şi distribuite în funcţie de cerinţele utilizatorilor. Pe măsură ce Internetul a devenit mai sofisticat, şi site-urile Web şi-au adaptat cerinţele. Schimbările din Internet pot fi grupate în patru generaţii de site-uri web17 : - generaţia I - site-uri web simple de tip "brosura on-line". Iniţial companiile erau mulţumite să aibe o simplă

prezenţă pe Internet. Dezavantajele acestor tipuri: nu erau site-uri interacţive, cititul conţinutului on-line consuma timp şi tindea să fie dificil, timp mare de download a informaţiilor;

- generaţia a II-a - site-uri web structurate pe specificul intern al companiei: informaţii despre strategia şi misiunea companiei, locuri de muncă, ştiri din presă, mesajul preşedintelui companiei. Aceasta generaţie este mult mai apropiată de un site Intranet şi se caracterizează prin prezenţa numeroasă a imaginilor în pagini, fără multe informaţii afişate, vizitatorii trebuind să selecteze anumite imagini pentru a obtine informaţii mai detaliate cu privire la produse, preţuri.

- generaţia a III-a - site-uri web ce utilizează elemente simple de navigare (cuvinte pentru navigare în loc de imagini), iar conţinutul este orientat spre vizitator. Elementele de navigare utilizează explicaţii text pentru un download rapid. Vizitatorii pot accesa informaţiile dorite din câteva click-uri fără a aştepta încarcarea unor imagini mari. Imaginile tind să fie cât mai reduse în dimensiune, informaţiile interne despre companii pot fi gasite pe site, dar nu mai sunt afişate/centrate pe pagina home.

- generaţia IV-a reprezintă viitorul Internetului. Ea seamană cu generaţia a III-a, diferenţele fiind în spatele scenelor. Ele sunt strâns legate de toate aspectele companiei. Când un client cauta o informaţie dîntr-un astfel de site, informaţia este generată dintr-o bază de date specifică pentru clienţi. De exemplu, pe site-ul Dell Computers http://www.dell.com/ poti să configurezi dinamic calculatorul pe care doreşti să-l cumperi, prin alegerea opţiunilor din meniurile afişate pe site. Chiar dacă nu cumperi acel calculator, compania păstrează opţiunea pentru o cercetare de marketing, respectiv pentru a o ajuta să identifice caracteristicile mai mult sau mai putin căutate.

Internetul face posibil şi usor pentru ca companiile să ofere clienţilor o prezenta pe intreg globul. Prin intermediul Internetului, produsele companiei pot fi accesate direct şi de asemenea: - face nerelevantă mărimea companiei: fie că sunt mai mari sau mai mici, firmele au acelaşi acces la clienţi şi pot

crea acelaţi tip de prezenţă în mediul Internet; - face nerelevantă locaţia companiei. Clienţii localizaţi oriunde pot uşor accesa site-ul companiei. De asemenea,

timpul zonal este nerelevant. Internetul este accesibil 24 de ore din 24, şapte zile din şapte. Bazele de date şi e-mail-urile au caracteristici tipice interacţive. Nici una dintre ele nu necesită interacţiune umană pentru a oferi clienţilor informaţii despre produse şi servicii;

- creşte feedback-ul - poţi avea acces instantaneu la reacţia clientului şi un feedback la programele de marketing şi la preţurile produselor lansate pe web.

Din acest punct de vedere, se poate spune că întreprinderile mici au un avantaj. Pentru ele este mai usor să-şi modifice infrastructura internă şi să se adapteze la noile cerinţe ale comerţului online, faţă de marile companii care vor necesita schimbări ale infrastructurii interne pentru a deveni sisteme flexibile şi funcţionale în mediul Internet.

17 Rosen, A., E-Commerce Question and Answer Book, AMACOM Books, 1999, p. 10

Page 44: proiectarea sistemelor informatice

43

Internetul aduce mult mai aproape compania de clienţi şi de furnizori. Un site Internet permite o prezenţă web pentru publicul general. Un site Intranet utilizează tehnologia Internet pentru a oferi angajaţilor proprii acces la informaţiile interne. Aceste site-uri sunt separate de Internet prin intermediul unor metode de securitate, astfel încât persoanele din afara organizaţiei să nu poată avea acces la informaţiile private. Pe un site Extranet, partenerii de afaceri - pe baza unei parole protejate - pot accesa informatii pe care publicul general nu poate (figura nr. 5.1)

Figura nr. 5.1. Tehnologia Internet şi modele de afaceri electronice

Comerţul electronic (e-commerce), în concepţia Organizaţiei Economice de Cooperare şi Dezvoltare

(OECD), reprezintă desfăşurarea unei afaceri prin intermediul reţelei Internet, vânzarea de bunuri şi servicii având loc offline sau online.

Există deja multe modele pentru derularea afacerilor pe Internet. Acestea pot fi clasificate în funcţie de numărul de furnizori, prestatori de servicii către clienţi, astfel:

• 1-catre-1 (e-shop) • mai mulţi-către-1 (e-mall) • mai mulţi-către-mai mulţi (e-licitaţie).

După tipul clientului, ce are o anumită formare profesională, anumite interese şi preferinţe, putem avea următoarele modele de afaceri de comerţ electronic (figura nr. 5.2)

• un consumator - Business-to-Consumer (B2C sau BTC) - se referă la relaţiile dintre comerciant şi consumatorul final, fiind considerat comerţ electronic cu amănuntul;

• o altă firmă - Business-to-Business (B2B sau BTB) - cuprinde toate tranzacţiile ce se efectuează între doi sau mai mulţi parteneri de afaceri, care actionează pe Internet prin utilizarea de nume şi parole pentru paginile de web proprii;

• administraţia publică - Business-to-Government (B2G sau BTG) acoperă toate tranzacţiile dintre firme şi autorităţi administrative locale sau centrale (pentru acest model de afaceri se mai utilizează şi termenul Business-to-Administration);

• un angajat - Business-to-Employee (B2E) se referă la tranzacţiile din interiorul unei firme, destinate personalului angajat al firmei şi efectuate prin sistemul intranet propriu.

Figura nr. 5.2. Modele de afaceri de comerţ electronic

Alte relaţii stabilite prin intermediul reţelei Internet, adiacente comerţului electronic, sunt: government to

government (G2G), government to business (G2B), government to consumer (G2C), consumer to government (C2G), consumer to business (C2B) şi consumer to consumer (C2C), fiind sintetizate în tabelul de mai jos:

Parteneri de afaceri

Angajatii firmei

Consumatori

Intranet Extranet Internet

Page 45: proiectarea sistemelor informatice

44

Guvern (G) Intreprinderi (B) Consumatori (C)

Guvern (G) G2G

coordonare G2B

informare G2C

informare

Intreprinderi (B) B2G

administraţie, logistică

B2B comerţ electronic

B2C comerţ electronic

Consumatori (C) C2G

achitare taxe online C2B

comparaţie preţuri C2C

licitaţii online

Tabel 1 - Tipuri de relaţii în comerţul electronic

Analizând evoluţia comerţului în mediul Internet, prin analogie cu clasificarea site-uri-lor web efectuată de

A. Rosen, se poate spune că aceasta ar putea fi împărţită în 4 faze distincte: • informare electronică. În aceasta etapă, companiile au recepţionat valoarea Internetului în primul rând ca un

mediu de comunicaţie. Interacţiunea consumatorului cu un site web tip "brosura" al unei companii, este limitată doar la citirea unor texte şi a vizualizării unor imagini. Realizarea tranzacţiilor şi interacţiunea cu clienţii sunt încă conduse de medii tradiţionale cum sunt telefonul sau faxul.

• business-to-consumer. Modele de comerţ electronic sau concentrat pe aplicaţiile care permit tranzacţii şi interacţiuni între companie şi consumator (modelele de afaceri B2C).

• business-to-business. În aceasta fază iniţiativele de comerţ electronic sunt concentrate pe aplicatiile B2B care permit tranzacţii şi interacţiuni între companii şi partenerii de afaceri.

• e-enterprise. Această fază este caracteristică acelor companii ale căror pieţe conţin atât aplicaţii B2C cât şi B2B. Practic acestea au implementat acele tehnologii comune care să le permită utilizarea diferitelor categorii de e-aplicaţii care să deservească ambele segmente de piaţa (ex. American Express, Dell Computers)

În figura nr. 5.3 sunt reflectate fazele evoluţiei comerţului prin intermediul Internetului, cu precizarea că nu este indicată o dată de începere şi de finalizare a unei anumite faze. În fapt aceste etape se suprapun, astfel încât unele companii operează în faza de informare electronică iar altele în etapa e-business. Puţine firme şi-au integrat diferitele faze într-o formă coerentă astfel incât să poată trece la faza următoare de integrare, respectiv faza de e-Enterprise.

Figura nr. 5.3. Fazele de evoluţie a comerţului prin Internet Dacă în trecut sistemele informatice ale firmelor s-au dezvoltat în jurul unor necesităţi legate în principal de

gestiunea resurselor întreprinderii - planificarea producţiei, gestiunea stocurilor şi livrărilor, evidenţa contabilă şi financiară, evidenţa resurselor umane, astăzi accentul se pune din ce în ce mai mult pe deschiderea acestor sisteme informatice pentru a e-interacţiona cu mediul de afaceri înconjurator. Implementarea acestui potenţial în cadrul unei întreprinderi, presupune culegerea datelor din sistemele operaţionale, transformarea datelor în informaţii, a informaţiilor în cunoştinţe şi a cunostinţelor în decizii şi acţiuni.

1997 1995 1999 2000

Informare electronica

Business to customer

Business to business

e - Enterprise

Integrare

Page 46: proiectarea sistemelor informatice

45

Astfel, o serie de companii au investit masiv pentru dezvoltarea unor sisteme şi procese care să permită integrarea operaţiunilor proprii cu partenerii de afaceri şi oferirea unor servicii mai bune clienţilor finali.

În era e-Enterprise, întregul lanţ valoric de la procurarea de materii prime şi livrarea mărfurilor către consumatori şi managementul clienţilor, se realizează prin combinarea proceselor interne şi externe şi a relaţiilor cu clienţii, furnizorii, distribuitorii, partenerii şi competitorii. În acest mod, e-întreprinderile evoluează rapid spre organizaţiile virtuale (figura nr. 5.4).

Figura nr. 5.4. Evoluţia întreprinderii către organizaţiile virtuale

Avantajul competitiv al unei e-întreprinderi este viteza şi agilitatea de care dă dovada în stabilirea unui

model de afaceri electronic. Impactul faţă de relaţia tradiţională producător-consumator este profund. Prin oferirea informaţiilor în timp real în intregul lant valoric, companiile işi pot indrepta modelele de afaceri ce au în centrul atenţiei clientul (tabelul nr. 2)

Tabel 2 - Etape în evoluţia către o organizaţie virtuală

1. Firme independente

2. Anumite firme incep să coopereze în lanţul valoric

3. Cooperarea continuă în interiorul ierarhiei pentru a proteja resursele de concurenţa din exterior

4.. Unităţile înalt ierarhizate continuă să evolueze

Funcţia de bază a unei pieţe, electronică sau nu, este de a facilita tranzacţiile de bunuri şi servicii. Pentru mulţi vânzători de produse fizice, comerţul electronic se simplifică doar la un canal alternativ de vânzare a produselor. Dar spre deosebire de alte canale alternative de distribuţie (vânzarea prin poştă, vânzarea la domiciliu), comerţul electronic lucrează cu produse fundamental diferite - şi anume produsele digitale - care sunt altfel fabricate, livrate şi consumate decât produsele fizice.

Soluţiile de comerţ electronic oferă o gamă largă de avantaje companiilor de orice mărime: • Venituri mai mari - comerţul electronic permite diversificarea surselor de venituri prin includerea de noi produse şi servicii Web;

• Lărgirea pieţelor - comerţul electronic permite vânzarea produselor şi serviciilor dincolo de limitele pieţei fizice actuale, la un cost mai redus decât în cazul altor alternative tradiţionale;

• Culegerea on-line de informaţii despre clienţi - comerţul electronic oferă informaţii importante privind comportamentul de cumpărare al clienţilor. Aceste informaţii pot fi folosite pentru a stabili şi păstra relaţii solide cu toţi clienţii, pentru a cerceta dorinţele şi impresiile cumpărătorilor despre produsele firmei;

• Costuri reduse - comerţul electronic măreşte volumul de vânzări al firmei, reduce costurile de marketing şi de vânzare;

Cooperarea între firme - comerţul electronic facilitează coooperarea între firme şi oferă acces pe noi pieţe. Comerţul electronic permite chiar şi celor mai mici furnizori, indiferent de poziţia lor geografică, să facă afaceri în întreaga lume.

Intreprindere

Intreprindere Intreprindere Client

B2

B2

Comerţ electronic

Întreprinderi virtuale

Page 47: proiectarea sistemelor informatice

46

5.2. Întreprinderea virtuală versus întreprinderea tradiţională

Urmare a competiţiilor foarte puternice la care trebuie să facă faţă întreprinderile, acestea caută soluţii de a intra pe piaţă cu produse şi servicii de calitate şi la preţuri atractive. Scăderea ciclurilor de inovare, schimbarea situaţiilor pe piaţă ca şi creşterea specializării în segmente de piaţă individuale, au condus la noi moduri de gandire economică, încurajând întreprinderile să coopereze, chiar dacă uneori ele se află într-o directă competiţie.

Descoperirile recente din domeniul comunicaţiilor şi tehnologiilor informatice distribuite, au schimbat modul de conducere a afacerilor. Având că tehnologii drept agenţii software şi comerţul electronic, întreprinderile nu mai au graniţe geografice şi socio-culturale şi au devenit enitităţi care nu acţionează doar pe o piaţă globală, ci îşi dimensionează resursele pe piaţa internaţională. Trendul existent este de crearea de alianţe strategice, unde întreprinderi individuale lucrează împreună pentru atingerea unui obiectiv comun. Această cooperare permite întrepriderilor să împartă aptitudini, costuri, să acceseze reciproc pieţele şi resursele şi uneori să reducă riscul investiţional.

Noţiunea de întreprindere virtuală (virtual enterprise) conţine un număr mare de modele, cu diferite caracteristici, în funcţie de formele şi mediile în care le putem întâlnim.

Teoria întreprinderilor virtuale a apărut în SUA, în completarea teoriei întreprinderilor agile care se referea la acele întreprinderi, capabile să-şi modifice rapid producţia în funcţie de evoluţia pieţei şi să integreze din mers tehnologiile informaţionale. Obiectivul cheie al unei organizaţii virtuale este de a capta o agilitate maximă: să producă orice, oricând şi oriunde cu o productivitate şi eficienţă crescută. O întreprindere virtuală poate fi definită că fiind o alianţă temporară de companii independente, reunite prin intermediul tehnologiei informaţionale cu scopul de a exploata oportunităţile pieţei. Fiecare partener va contribui cu propria cunoaştere, pricepere şi iscusinţă pentru realizarea obiectivului întreprinderii virtuale. Cand obiectivul a fost atins sau a oportunitatea pieţei a dispărut, întreprinderea virtuală se dizolvă.

.

Figura nr. 5.5- Întreprinderea virtuală versus întreprinderea tradiţională

(după ALIVE project - Katholieke Univerisitet Leuven - Law School)

Dacă pentru a iniţia o afacere este nevoie de un anumit capital fizic, o întreprindere virtuală poate potential

demara în jurul unei oportunităţi a pieţei, cu ajutorul capitalului uman. Economisind bani prin necheltuirea acestora pe spaţii de producţie, de desfacere, mijloace de transport, utilaje, echipamente, etc, companiile sunt capabile să investească mai mult în acele activităţi ce permit obţinerea unui avantaj competitiv. Astfel, o întreprindere virtuală poate angrena mai multe resurse decât o întreprindere posedă în mod curent.

Caracteristic pentru o întreprindere virtuală este oportunitatea de afaceri aparută pe piaţă şi faptul că diferite companii işi unesc forţele pentru atingerea unui anumit obiectiv (obtinerea unui profit cât mai mare). Modelul unei companii tradiţionale, comparativ cu unul al unei întreprinderi virtuale, arată ca în figura nr. 5.5.

Cum se crează o întreprindere virtuală? Să presupunem că dorim să fabricăm un model de uşi de o calitate deosebită, dintr-o materie primă relativ ieftină. Pe Internet găsim suficiente informaţii despre diferite locuri de unde putem procura materia prima. Pentru transportul materiei prime trebuie să atragem o companie specializată, care să le transporte la fabricantul care va produce uşile pentru firma noastră. De asemenea, dorim ca usile să fie atractive, să aibe un design placut. Penrtu aceasta, nu vom angaja o echipa de designeri ci vom contacta o agenţie de designeri care să participe alături de noi la acest proiect. Mai rămâne de stabilit unde şi cum vom vinde usile pe care le-am fabricat. Pentru a fi siguri că atingem cerinţele clienţilor, contactăm o agenţie de marketing pentru a explora piaţa şi care de asemenea, ne va deveni un partener strategic. In final, nu vom investi bani într-un magazin de vânzare cu amanuntul, dar vom contacta diverşi comercianţi care sa distribuie prin reţelele lor de magazine produsele noastre. Astfel am creat o întreprindere virtuală. Dacă ne imaginăm că ajungem o firma de top în industria fabricării uşilor,

Companie tradiţionala

Oportunitate de afaceri

Oportunitate de afaceri

Oportunitate de afaceri

Oportunitate de afaceri

Oportunitate de afaceri

Membru VE

Membru VE Membru VE

Membru VE

VE

Page 48: proiectarea sistemelor informatice

47

populatia va percepe compania noastră ca având circa 1000 de salariati, spaţii de producţie extinse, o reţea de distribuţie lărgită etc.

Practic, pentru crearea unei întreprinderi virtuale nu se utilizează decât tehnologia informaţională într-un mod anume. Instrumentele groupware şi tehnologiile de informaţionale şi de comunicaţii permit micilor firme să acţioneze ca unele mari.

Întreprinderile tradiţionale (prin contrast cu întreprinderile virtuale) integrează sub o singură umbrelă toate funcţiile necesare pentru oferirea produselor şi serviciilor pe care acestea le crează. Beneficiul major al acestei structuri este acela că toate resursele şi toate activiăţile desfăşurate sunt sub un singur punct de control, lucruri ce permit integrarea rezultatelor, monitorizarea activităţilor şi luarea deciziilor pentru atingerea obiectivelor pe termen scurt şi lung. De asemenea, existând un singur punct de control, sunt uşor de optimizat diferite fluxuri de operaţiuni (detaşarea angajaţilor de la o activitate la alta, schimbarea locatiilor pentru optimizarea logisticii etc). În schimb, integrarea într-o singură organizaţie a tuturor activităţilor necesită investiţii masive şi capital.

John Byrne în 1993, în lucrarea sa The Virtual Corporation18, a definit întreprinderea virtuală că fiind o reţea temporară de companii independente - furnizori, clienţi - reunite prin intermediul tehnologiilor informatice, pentru a partaja aptitudinile şi costurile şi de a accesa oportunităţile pieţei. Companiile se reunesc rapid pentru a exploata oportunităţile pieţei şi întreprinderea virtuală se dizolvă după realizarea obiectivului stabilit.

O.F. Arnold19 a definit întreprinderea virtuală că fiind o alianţă între întreprinderi independente, instituţii sau indivizi, care furnizează un serviciu pentru realizarea unei afaceri comune. Entităţile actionează la exterior ca o singură corporaţie prin cooperarea cu capacităţi, aptitudini şi resurse proprii. Cooperarea este coordonată prin utilizarea de tehnologii de comunicaţie şi informatice foarte flexibile.

Procesul de producţie nu este suplinit doar de un singur partener. Fiecare partener reprezintă un nod al întreprinderii virtuale care adaugă o anumită valoare (un pas în fluxul de producţie). Întreprinderea virtuală se materializează prin selectarea resurselor şi a competenţelor de bază din diferite firme şi gruparea lor intr-o singura entitate de afaceri (figura nr. 5.6).

Figura nr. 5.6. Întreprindere virtuală realizată pe lanţul valoric aprovizionare-producţie-desfacere J.E. van Aken (1998) a definit întreprinderea virtuală ca fiind o organizaţie retea, care este structurată şi

condusă în asemenea maniera încât operează faţă de clienţi şi alte entitati externe ca o organizaţie completă şi cu identitate.

A. Mowshowitz20 a subliniat importanţa cooperării şi coordonării activităţilor între membrii unei organizaţii virtuale şi a definit metamanagementul - managementul activităţilor organizate virtual - ca fiind esenţa unei organizaţi virtuale. Bob Travica21 a definit organizaţia virtuală că fiind o colecţie temporară sau permanentă de indivizi, grupuri, departamente organizaţionale sau întregi organizaţii, dispersate geografic, care sunt dependente de comunicaţiile electronice pentru a susţine proceselor lor de producţie.

Figura nr. 5.7. Crearea unei întreprinderi virtuale prin unificarea competenţelor de bază ale partenerilor (dupa Fischer, K.22 )

18 Byrne, J., The Virtual Corporation, in Business Week, p. 98-103, Feb. 8, 1993 19 Arnold, O.F., Wolfgang H.M., Seiber P., Virtual Integration, 2000, http://www.itvd.uni-stuttgart.de/wa/man/projects/virtex 20 Mowshowitz, A., Virtual Organisation: A Vision of Management in the Informaţion Age, in: The Informaţion Society vol. 10, United Kingdom, 1994, p.267-288 21 Travica, B., The Design of the Virtual Organizaţion, www.hsb.baylor.edu/ramsover/ais.ac.97/papers/travica/ 22 Fischer, K., Müller, J., Heimig, I., Agents in Virtual Enterprises http://citeseer.nj.nec.com/ fischer96intelligent.html, 1996

Întreprindere virtuală

Întreprinderea 2 Întreprinderea 1

Întreprinderea 3 Întreprinderea 4

Page 49: proiectarea sistemelor informatice

48

W. Jansen, H. Jägers şi G.Steenbakkers (1997) au definit organizaţia virtuală ca fiind o combinaţie de diferite entităţi (persoane şi/sau organizaţii) dispersate geografic, care şi-au propus să realizeze un obiectiv comun, prin unificarea competenţelor lor de bază. Entităţile componente se bucură de un statut egalitar şi sunt dependente de infrastructura informaţională şi de telecomunicaţii pentru coordonarea activităţilor lor.

Pentru atingerea obiectivului întreprinderii virtuale, fiecare entitate componentă participă cu competenţele lor forte (de bază), respectiv acele activităţi, produse, servicii, tehnologii, cunoştinţe şi iscusinţe care reprezintă forţa şi „inima meseriei” întreprinderii (figura nr. 5.7).

În figura nr. 11, întreprinderile 1-4 sunt unităţi independente, care pentru a profita de o oportunitate a pieţei şi pentru a obţine un avantaj competitiv, s-au reunit într-o întrepindere virtuală pentru a realiza un flux de activităţi Ai- Ei, mai eficient decât al concurentilor. Fiecare întreprindere executa un lanţ valoric în cinci paşi şi va furniza către întreprinderea virtuală procesele parţiale de afaceri pentru care detine cele mai înalte competenţe de bază .

5.3. Caracteristici şi tipuri de întreprinderi virtuale Pieţele globale şi competiţia motivează crearea organizaţiilor virtuale. Întreprinderea virtuală este o formă

de joint venture dar cu importante diferenţe. Ea este o alianţă temporară a companiilor membre care se reunesc pentru a câştiga avantajul unei oportunităţi a pieţii. Fiecare companie membră va oferi toate competenţele sale de bază pentru reuşita întreprinderii virtuale. Caracteristica cheie a unei întreprinderi virtuale este dependenta de oportunităţi. Oportunitatea de afaceri este inima unei întreprinderi virtuale. Companiile care se reunesc caută să întâmpine o oportunitate a pietii şi îşi unesc forţele pentru a atinge un set de obiective. Când oportunitatea pieţii a dispărut, întreprinderea virtuală se dizolvă.

La înfiinţarea unei întreprinderi virtuale este important de identificat care este scopul sau motivaţia unei companii de a se reuni într-o reţea. Motivaţia poate fi extinderea graniţelor companiei pentru a mentine un control asupra partenerilor vitali (de ex. pentru mentinerea unui control al calitatii) sau poate fi participarea cu anumite competenţe de bază pentru a fructifica alături de alţi parteneri oportunităţile pieţei.

O întreprindere virtuală poate fi descrisă ca un scenariu unde entităţi individuale - oameni, agenţi software sau organizaţi - se reunesc într-o echipă pentru a realiza un obiectiv specific. În vederea atingerii obiectivelor propuse, partenerii cooperează, schimbă informaţii, partajează cunoştinţe şi aptitudini. Întreprinderile virtuale nu sunt rigide, ele nu au în permanenţă aceeaşi structură - fiind posibilă retragerea unui partener din cadrul alianţei sau asocierea concomitentă la mai multe întreprinderi virtuale. Întreprinderile virtuale sunt o echipă de parteneri ce au obiective comune şi conlucrează pentru atingerea acestor obiective.

Întreprinderile virtuale sunt caracterizate de o multitudine de aspecte specifice. Literatura de specialitate încearcă să le clasifice şi să le ordoneze după importanţa fiecărui aspect, să sublinieze care din factori sunt opţionali sau nu pentru a exista o întreprindere virtuală, sau care din factori sunt factorii cheie ai unei întreprinderi virtuale. Ce ce este unanim acceptat, este faptul că între toţi factorii care caracterizează un model de întreprindere virtuală, exista o interdependenţă ce asigură atingerea scopurilor propuse. Întreprinderile virtuale pot fi caracterizate după următoarele aspecte esenţiale:

a) Structura • O întreprindere virtuală este o reţea de organizaţii, dispersate geografic, dar care sunt reunite prin intermediul

tehnologiilor informaţionale şi de comunicaţie. Întreprinderea virtuală diferă de o organizaţie retea în principal prin rolul important pe care î-l joacă tehnologiile informaţionale, prin gradul înalt de cooperare şi de încredere al tuturor partenerilor (orice organizaţie virtuală este o organizaţie retea, dar nu orice organizaţie reţea este o organizaţie virtuală).

• Structura întreprinderei virtuale se caracterizează prin aceea că este o structură dinamică -organizaţiile parăsi sau ataşa alianţei în orice moment.

• nu există o schemă organizatorică - o întreprindere virtuală este o reţea de toate tipurile de structuri organizaţionale şi este dificil de a schiţa o schemă organizatorică. De asemenea, nu există ierahii în structura unei întreprinderi virtuale, deoarece partenerii sunt egali (structură egalitară).

• întreprinderea virtuală este o organizaţie bazată pe încredere şi pe o participare egalitară concentrată pe atigerea unui anumit obiectiv. În alianţele strategice, încrederea este reglementată prin proceduri şi contracte. O structură egalitară conduce la sporirea eficienţei şi responsabilităţii, fiecare partener jucând un anumit rol pentru atingerea rezultatului final.

• Independenţă temporală şi geografică - o întreprindere virtuală se caracterizează prin dispersia geografică a partenerilor. Comunicarea între aceştia se face prin intermediul tehnologiilor înformaţionale şi de comunicaţie, astfel încât distanţa nu mai constituie o problemă (de exemplu asistenţa tehnică pentru Sun Microsistems poate fi obţinută printr-un singur număr de telefon rutat în funcţie de ora zonei locale, la centre de servire din California, Anglia sau Australia). Distanţa este de exemplu irelevantă pentru transmiterea informaţiei sau pentru comercializarea produselor digitale, dar este o constrângere importantă cu privire la durata transportului de materii prime sau mărfuri. Locatiile partenerilor şi distanţa dintre ei reprezintă probleme strategice în funcţie de cerinţele lanţului valoric aprovizionare-desfacere a întreprinderii.

• Durata de viaţă. Pe această temă au fost multe discuţiii din partea specialistilor, majoritatea însă descriind întreprinderea virtuală ca o alianţă temporară. Conceptul derivă în parte din câtă rapiditate şi flexibilitate este

Page 50: proiectarea sistemelor informatice

49

nevoie pentru a capta scurta oportunitate a pieţii. Văzute din această perspectivă, întreprinderile virtuale sunt organizaţii bazate pe proiect, care există până când acesta este realizat sau abandonat. Unele întreprinderi virtuale sunt bazate pe proiect, altele au o durată limitată, în timp ce altele cum ar fi întreprinderile mari multi-naţionale există de ani de zile şi se adaptează continuu la schimbările mediului. Capacitatea de a se transforma rapid şi de a se adapta la condiţiile pieţei, redau flexibilitatea întreprinderilor virtuale. În cazul unor condiţii stabile, întreprindere virtuală poate reţine aceeaşi parteneri pentru o perioadă considerabilă de timp, în timp ce în cazul unor condiţii instabile, întreprinderil virtuale vor schimba constant partenerii cu scopul de a întâmpina noile cerinţe. Astfel, putem avea întreprinderi virtuale temporare sau permanente.

b) Procesele O altă caracteristică estenţială a întreprinderilor virtuale este aceea ca au la bază o înaltă specializare şi calificare a membrilor săi, respectiv partajarea competenţelor forte ale fiecărui partener - capacitati, tehnologii, know-how, aptitudini etc. (în engleză core competence). Cu toate că outsourcing-ul proceselor de susţinere este o practică de afaceri modernă, în cazul întreprinderilor virtuale este o caracteristică esenţială. Pentru întreprinderea virtuală este specifică externalizarea nu numai pentru activităţile de susţinere ci chiar şi pentru activităţile operaţionale pentru care nu se posedă o înaltă expertiză (competenţă de bază). Întreprinderea virtuala va reţine numai procesele care oferă un avantaj competitiv semnificativ şi care sunt dificil de copiat/realizat de competitori23. Excelenţa în afaceri a partenerilor este foarte importantă deoarece fiecare partener, prin competenţa sa, face posibil ca să creeze o organizaţie care are cea mai înalta calificare pentru procesele respective ("best- of -everything"). Flexibilitatea, agilitatea şi adaptabilitatea sunt elementele cheie al partenerilor dintr-o întreprindere virtuală. Intr-o întreprindere virtuală ideală, toţi partenerii contribuie cu competenţele lor de bază pentru a atinge obiectivele întregii organizaţii. Partenerii colaborează, îşi impart resursele, costurile, profiturile, riscurile şi pieţele. Aceasta însă presupune un grad înalt de încredere şi implicare din partea tuturor membrilor întreprinderii virtuale. Soarta fiecarui partener şi întreprinderii virtuale depinde de ceilalţi parteneri. Relaţiile semi-stabile şi partajarea riscului fac ca partenerii să devină dependenţi, iar ca urmare a partajării informaţiilor şi cunoştintelor, trebuie să existe o cantitate mare de încredere între toţi partenerii. c. Tehnologia informaţională şi a comunicaţiilor

Tehnologia informaţională şi a comunicaţiilor reprezintă un alt factor cheie pentru existenta unei întreprinderi virtuale. Întreprinderile virtuale au nevoie de flexibilitate şi rapiditate de la membrii lor şi necesită un sistem de cooperare inter-întreprinderi capabil să susţină schimbul de informaţii şi cunoştinte între partenerii dispersaţi geografic. Cerinţele tehnologice pentru o întreprindere virtuală sunt: - aplicaţii de prelucrare distribuită a datelor - groupware pentru procese de integrare - sisteme interoperabile între toţi partenerii - conectivitate internă şi externă între indivizi. Tehnologiile informaţionale şi de comunicaţii reprezintă motorul întreprinderii virtuale şi au misiunea este de a procesa şi distribui informaţiile în timp real în intregul sistem, pentru a permite luarea rapidă a deciziilor şi coordonarea acţiunilor.

d. Identitate Întreprinderea virtuală este o alianţă dintre mai multe întreprinderi independente, care nu are o suprastructură, dar care este percepută de teţele parţi că o singura entitate. Entitatea centrală a întreprinderii virtuale este responsabilă de formularea deciziilor pentru anticiparea şi adaptarea rapidă la cerinţele pieţei şi va armoniza întreaga reţea de firme independente. Membrii întreprinderii virtuale sunt parteneri şi îşi mentin independenţa pe toata durata existenţei alianţei.

Problemele care se ridică din punct de vedere juridic, încă nu au răspunsuri foarte clare. Totul gravitează în jurul prevederilor legale cu privire la existenţa şi funcţionarea întreprinderii virtuale. Faptul că terţe parţi percep întreprinderea virtuală că o singură entitate, acestea pot invoca fie faptul că au fost induse în eroare la semnarea unui anumit contract fie că întreprinderea virtuală nu avea competenţa legală de a semna acel contract întrucât nu este o entitate cu personalitate juridică. Fără personalitate juridică, întreprinderea virtuală nu poate avea legal bunuri, nu are o naţionalitate, nu are un sediu, nu poate angaja salariati Dacă partenerii doresc să dea legal personalitate întreprinderii virtuale, nu se încă bine precizat legea cărui stat este aplicabilă atâta timp cât întreprindere virtuală nu are un sediu social localizat într-o anumita tară.

O soluţie ar fi să i se dea întreprinderii virtuale o entitate legală sau să se dezvăluiască identitatea unora sau a tuturor membrilor alianţei. Aplicarea acestei soluţii afectează caracteristica legată de flexibilitatea întreprinderii virtuale la oportunităţile de afaceri, care presupune o structură dinamică, în permanentă schimbare. Este prioritar interesul legitim al întreprinderii virtuale sau protejarea terţelor părţi cu care aceasta intră în contact? Prea multe formalităţi şi informaţii solicitate vor pune în pericol fundamentele pe care se bazeaza întreprinderea virtuală. Prea puţine informaţii sau identificări neclare periclitează drepturile terţilor părţi şi activitatea de afaceri în general.

23 Boudreau M.C., LochDaniel, K., Straud, R.D., Going Global: Using Informaţion Technology to Advance the Competitiveness of the Virtual Transnaţional Organisation, Academy of Management, No. 12.4, 1998

Page 51: proiectarea sistemelor informatice

50

5.4. Abordarea sistemului informaţional din perspectiva tehnologiei agent

După cum am observat, agentul inteligent este acea entitate implementată într-un anumit mediu, cu scopul

de a studia şi capta, prin intermediul unor senzori, modificările acestuia şi de a acţiona autonom sau de a coopera cu alte entităţi, astfel încât să-şi atingă obiectivul pentru care a fost implementat.

Agenţii prezintă un alt mod de abordare şi de gestionare a complexităţii problemei întrucât oferă o nouă variantă de descriere a proceselor şi sistemelor complexe. Considerând, de exemplu, proiectarea unui sistem pentru aprobarea unor aplicaţii de credit, acesta implică interdependenţe între sucursalele băncii, firma care depune cererea de credit, instituţia unde se raportează creditele acordate şi automatizarea procesului de aprobare. Construind acest sistem utilizând tehnologia curentă, vom observa dificultatea şi complexitatea activităţilor, deoarece descompunerea sistemului obligă proiectantul să considere concepte de nivel de bază (ex. aplicaţia de credit, balanţa de verificare, ratingul creditului etc.) la definirea arhitecturii generale a sistemului. Mai mult, definirea protocolului de comunicaţie şi interfeţelor care vor permite băncii să schimbe date cu CRB şi solicitanţii de credit, va necesita un timp suplimentar. În proiectarea unui sistem orientat agent, soluţia sistemului va include un agent client, un agent consilier credit, un agent analist credit etc. Proiectarea unui sistem din aceasta perspectiva se va focaliza pe comportamentul agenţilor şi pe comunicarea dintre aceştia. Astfel, se va uşura procesul de proiectare deoarece nivelul de abstractizare este mult mai înalt şi programarea problemei insistă pe comportamentul specific al agentului.

Pentru proiectarea unei aplicaţii bazate pe agenţi, Y. Lesperance [Lesper03], propune abordarea problemei în două etape principale, la nivel micro (agent) şi la nivel macro (sistem multiagent), respectiv clarificarea următoarelor aspecte: - arhitectura agentului – stabilirea specificaţiilor formale ale proprietăţilor agentului, stările mentale ale acestuia şi modul cum reacţionează la anumite evenimente; - limbajul de programare agent – stabilirea limbajelor utilizate pentru programarea agenţilor şi implementarea lor; - protocoalele de negociere – proiectarea mecanismele pentru atingerea acordurilor dintre agenţii competitivi; - alocarea sarcinilor şi coordonarea – proiectarea mecanismelor de alocare a sarcinilor, partajarea resurselor şi planificarea multiagent; - limbajul de comunicare agent – stabilirea limbajelor de comunicare, conţinutul acestora, ontologiile; - platforma multiagent – proiectarea platformelor multiagent şi a infrastructurii necesare, serviciile de bază pentru agenţi (yelow pages, white pages, servicii de reţea etc.).

Jennings N.R., Sycara K. şi Wooldridge M.J., [JennSyc98] au abordat proiectarea aplicaţiilor bazate pe agenţi plecând de la o întrebare foarte simplă, dar plină de conţinut: ce oferă în plus tehnologia agent faţă de celelalte tehnologii, astfel încât să utilizăm acest model de proiectare? Proprietăţile şi caracteristicile agenţilor / sistemelor multiagent, pot descrie cazurile în care paradigma tehnologiei agent este recomandată, iar avantajele utilizării tehnologiei agent trebuiesc judecate din prisma a două direcţii:

• abilitatea sa de a rezolva noi tipuri de probleme şi • abilitatea sa de a îmbunătăţi eficienţa soluţiilor curente.

Tehnologia agent reprezintă nivelul superior de abstractizare în modelarea întreprinderilor şi a aplicaţiilor economice. Modelarea bazată agent este o tehnică puternică de simulare, în care un sistem este modelat ca o colecţie de entităţi autonome de luare a deciziilor, numite agenţi.

Multe din acţiunile executate de utilizatori pot fi acum delegate către diferiţi agenţi software. Utilizarea tehnologiei agent în sistemele informaţionale presupune să dispunem de diferite tipuri de agenţi cooperativi, înzestraţi cu obiectivele fiecărei activităţi, cu procedurile standard aplicabile şi cu un tezaur de informaţii şi cunoştinţe, pentru a putea executa sarcinile trasate.

Caracteristicile cheie ale agenţilor, prin care sunt diferenţiaţi de alte entităţi software sunt: autonomia, abilitatea de a percepe, de a înţelege şi de a acţiona în mediul lor, respectiv abilitatea de a coopera cu alţi agenţi pentru rezolvarea problemelor complexe. Inteligenţa unui agent este dată de cantitatea de cunoştinţe cu care este înzestrat, la care se adaugă capacitatea de învăţare şi raţionament pe care o poate etala agentul, în vederea atingerii unui comportament orientat spre obiectivele de îndeplinit.

În sistemul informaţional al unei organizaţii, putem utiliza agenţii software în activităţi precum: - căutarea pentru culegerea, analiza, integrarea şi arhivarea informaţiilor; - informarea utilizatorilor cu privire la disponibilitatea informaţiilor despre un domeniu de interes; - negocierea pentru achiziţia de informaţii, servicii sau bunuri; - explicarea relevanţei şi calităţii unei informaţii; - învăţarea şi adaptarea la schimbările condiţiilor din mediul monitorizat.

Sistemul informaţional al unităţi bancare, modelat cu ajutorul tehnologiei agent, poate arăta ca în figura 5.8 În modelul prezentat, agenţii pot executa activităţi specifice compartimentelor sau structurilor

organizaţionale pe care le reprezintă cum ar fi relaţii clienţi, credite, logistică, resurse umane, contabilitate etc., comunică între ei şi în plus sunt capabili să rezolve şi să anticipeze anumite comportamente. Modelările complexe încorporează reţele neuronale, algoritmi şi tehnici de învăţare şi reprezentare a lumii reale.

Comportamentul unui agent trebuie înţeles şi descris în relaţie cu structura socială a organizaţiei şi cu obiectivele generale ale acesteia. Astfel, agenţii sunt entităţi individuale situate într-un mediu, care reacţionează la acest mediu şi la ceilalţi agenţi, negociază şi se coordonează pentru atingerea obiectivelor trasate.

Page 52: proiectarea sistemelor informatice

51

Figura 5.8. Modelul conceptual al sistemului informaţional bazat pe agenţi Figura 5.9. exemplifică un model conceptual al procesului de analiză şi acordare a unui credit unei societăţi

comerciale, cu ajutorul agenţilor. Ipoteza problemei de modelat este următoarea: o societate comerciala solicită un credit de la bancă, agentul ofiţer relaţii clienţi comunică cu clientul în vederea completării documentaţiei necesare, pe care o transmite ulterior agentului analist credit, prin intermediul a agenţilor coordonatori director relaţii clienţi şi director credite. Cererea de credit este aprobată în urma deciziei colective dintre agentul director bancă, agentul analist risc, agentul analist risc, agentul director relaţii clienţi şi agentul director credite. Acordarea creditului se realizează prin intermediul agenţilor ofiţer relaţii clienţi, ofiţer de cont şi casier, iar monitorizarea şi rambursarea creditului se realizează prin intermediului agent administrator credite.

Figura 5.9. Model conceptual de analiză şi aprobare credit bazat pe agenţi Mike Papazoglou, profesor la Tilburg University - Olanda, [Papazoglou01], face o clasificare a agenţilor

utilizaţi în aplicaţiile e-business, plecând de la ideea că este necesar să se organizeze agenţii în funcţie de competenţele şi funcţionalităţile acestora. Astfel, se pot distinge patru categorii de agenţi (figura 5.10): 1. Agenţii aplicaţie. O aplicaţie B2B implică un număr mare de agenţi aplicaţie, în care fiecare agent este specializat într-un domeniu de expertiză, oferă acces la cunoştinţele disponibile din domeniul respectiv şi lucrează cooperativ cu alţi agenţi pentru rezolvarea unei probleme complexe. 2. Agenţii personali – lucrează direct cu utilizatorii pentru a le oferi ajutor în prezentarea, organizarea, colectarea şi regăsirea informaţilor. Agenţii personali observă şi monitorizează acţiunile întreprinse de utilizator, îi învaţă comportamentul şi modul de raţionament după care îi sugerează metode mai bune de rezolvarea a sarcinilor. Metodele de învăţare folosite de agenţi sunt: observarea şi imitarea utilizatorului; recepţionarea unui feedback negativ sau pozitiv de la utilizator; recepţionarea unor instrucţiuni explicite de la utilizator.

Agentul casier Agentul ofiţer de

cont

Agentul ofiter relatii clienţi

Agentul Adtor credit

Agentul Analist de credit

Agentul Director Relatii clienti

Agentul Director credite

Agentul Director banca

Agentul Analist risc

Contabilitate

Res. Umane Relaţii clienţi

Agent Personal

Agent Contabilitate

Agent Logistică

Agent Credite

Agent Rel. clienti

Agent Casierie

Logistică

Credite

Casierie

Mediul tranzacţiilor

Structura organizaţionala

Sistem multiagent

Page 53: proiectarea sistemelor informatice

52

3. Agenţi de activităţi generale – sunt agenţii care execută o variată gamă de activităţi comerciale cu caracter general, care pot fi adaptate la nevoile specifice ale unei organizaţii. De exemplu, agenţi de căutare care navighează prin mediul electronic pentru a căuta parteneri de afaceri sau informaţii despre produse; agenţi de negociere pentru vânzare sau cumpărare produse; agenţi marketing pentru prospectarea produselor şi serviciilor de pe Internet; agenţi juridici şi financiari care oferă informaţii cu privire la legislaţie, taxe, pârghii de control. Agenţii brokeri pentru e-business oferă facilităţi precum localizarea informaţiilor pe Web sau a altor agenţi care pot fi solicitaţi în rezolvarea unor probleme (agenţii de tip ”pagini albe”, ”pagini aurii”, agenţi de rutare etc). Agenţii de căutare şi negociere sunt agenţii care pot negocia termenii unei tranzacţii (descrierea ofertei, propunerilor, termenele de plata, modalităţi de livrare, penalităţi, documente necesare etc.).

Figura 5.10. Tipologia agenţilor e-business (adaptare după Mike Papazoglou [Papazoglou01])

4. Agenţi suport nivel sistem – în această categorie intră agenţii pentru interoperabilitate (agenţii translatori, agenţii de integrare), agenţii workflow şi agenţii de tranzacţii. Agenţii pentru interoperabilitate suportă interfaţa ce permite schimbul de informaţii cu diferite sisteme informaţionale sau aplicaţii software. De exemplu, integrarea companiilor în jurul lanţului de aprovizionare, face posibil ca un agent aplicaţie ce deţine informaţii din sisteme, să acceseze sistemul ERP al unei alte companii, unde verifică stocul la produsele descrise în comandă şi ulterior să acceseze sistemul unei companii de distribuţie/transport, unde programează un transport, utilizând adresa clientului şi informaţiile despre condiţiile de livrare. Tranzacţiile în e-business sunt utilizate pentru a interschimba orice de la informaţii despre produs şi propuneri de preţ la înţelegeri financiare şi juridice. Utilizarea agenţilor workflow în aplicaţiile e-business, simplifică procesarea, monitorizarea şi controlul tranzacţiilor prin automatizarea unui număr de activităţi şi aplicarea restricţiilor în timpul proceselor.

În literatura de specialitate, sunt descrise mai multe metodologii de proiectare a sistemelor multiagent, cu variaţii de reprezentări formale sau de semantică: Gaia (Wooldridgce, Jennings, Kinnz, 2000), PASSI (Cossentino, Potts, 2002), MASSIVE (Lind, 2001), MaSE (Wood, DeLoach, 2001), AUML (Odell, Parunak, Bauer, 2001) etc.

Metodologiile de proiectare a sistemelor bazate pe agenţi, propun anumite etape de analiză şi proiectare. Obiectivul etapei de analiză este de a înţelege sistemul şi structura sa. Organizarea sistemului este văzută ca o colecţie de roluri, între care există anumite relaţii. În Gaia, de exemplu, există două modele: modelul rolurilor şi modelul interacţiunilor. Modelul rolurilor identifică rolurile cheie din sistem, iar modelul interacţiunilor exprimă relaţiile şi dependenţele dintre diferite roluri. În faza de proiectare, se transformă modelele de analiză, în trei modele: modelul agent – care identifică tipurile de agent care vor fi implementate în sistem şi instanţele agent pentru fiecare tip; modelul serviciilor – identifică serviciile principale care sunt apelate la executarea rolurilor de către agenţi; şi modelul cunoştinţelor – care documentează legăturile de comunicaţie dintre diferiţi agenţi.

Toate metodologiile utilizate pot fi rezumate ca având două scopuri bine conturate, ce se finalizează cu obţinerea a două modele: • proiectarea nivelului domeniu – modelul extern – care surprinde identificarea tipurilor de agenţi, a scopurilor lor,

a responsabilităţilor, a interacţiunilor dintre aceştia şi definirea protocoalelor de coordonare pentru fiecare tip de interacţiune. Acest model trebuie să răspundă la următoarele întrebări:

- de caţi agenţi avem nevoie? - ce canal de comunicaţie utilizează agenţii? - ce protocoale de comunicaţie utilizează agenţii?

Tipologia agenţilor business

Agenţi aplicaţie

Agenţi personali

Agenţi nivel sistem

Agenţi pentru activităţi generale

Agenţi marketing

Agenţi juridici

Agenţi financiari

Agenţi de negociere

Agenţi brokeri

Agenţi de cautare

Agenţi informaţionali

Agenţi workflow

Agenţi de tranzacţii

Agenţi wrapper

Agenţi translatori Agenţi de

integrare

Page 54: proiectarea sistemelor informatice

53

- cum este structurată o conversaţie între agenţi? - cum este configurată o comunitate agent? - cum îşi coordonează agenţii acţiunile?

• proiectarea nivelului agent – modelul intern - care are ca obiectiv definirea arhitecturii pentru fiecare tip individual de agent, respectiv definirea acţiunilor şi structurilor de date identificate:

- cum va modela fiecare agent realitatea? - care este structura internă a unui agent? - agenţii sunt identici sau eterogeni

Concluzia este că un sistem multiagent care modelează o organizaţie, trebuie să simuleze structura acesteia, să fie capabilă să se adapteze la schimbările structurale, la interacţiunile şi obiectivele care apar, iar integrarea tehnologiei workflow cu tehnologia agent, presupune crearea unui agent sarcină pentru fiecare activitate corespondentă unei instanţe a procesului.

5.5. Modelarea avansurilor spre decontare prin tehnologia workflow bazată pe agenţi

Să presupunem un alt scenariu: la nivelul unei organizaţii există următorul flux în solicitarea unei sume în

avans pentru o deplasare în delegaţie (figura 5.11): - angajatul completează ordinul de deplasare şi solicită suma necesară pentru această deplasare; - şeful de departament şi directorul aprobă această cerere; - o secretară, în baza aprobării obţinute, virează banii în contul angajatului.

Figura 5.11. Fluxul pentru ridicarea unui avans spre decontare Acest workflow este un şablon pentru multe instanţe de acelaşi tip. O instanţă a acestui workflow va fi

creată ori de câte ori un angajat va pleca de exemplu, în delegaţie la un curs de instruire. În acest caz, un workflow bazat pe agenţi este un flux de activităţi în care agenţii interpretează,

coordonează şi sprijină executarea respectivului proces. Într-un astfel de sistem există mai multe tipuri de agenţi care conduc un workflow, respectiv: - agentul workflow (AW) reprezintă şi sprijină o instanţă a unui workflow şi controlează întreaga execuţie a procesului; - agentul proces (AP) – pentru fiecare definire de proces, este creat un agent proces. El poate fi văzut ca un depozit care conţine unul sau mai multe şabloane pentru fiecare proces definit; - agentul sarcină (AS) – este responsabil pentru o sarcină dintr-o instanţă a procesului. El este creat de AW şi trebuie să caute un subiect, să transmită acestuia descrierea sarcinii şi, după execuţia acestuia, să trimită rezultatele către agentul workflow; - agentul listă_subiect (ALS) – memorează structura organizaţiei mediului workflow. În exemplul nostru o mapare a tuturor salariaţilor şi rolurile asignate; - agentul personal (APe) – este un agent interfaţă între subiect şi agenţii sarcină care vor fi creaţi şi vor coordona comunicarea dintre salariaţi şi agenţii sarcină.

Ideea de bază în manipularea activităţilor dintr-un workflow bazaţi pe agenti este crearea unui agent sarcină pentru fiecare activitate corespondentă unei instanţe a procesului. În cazul nostru, fluxul se execută astfel (figura 5.12):

1. Execuţia fluxului începe cu agentul workflow (AW) iniţiat de salariatul X, care are nevoie de o sumă de bani pentru deplasarea la un curs. Agentul workflow (AW) întreabă pe agentul proces (AP), ce sarcină trebuie să execute. Agentul workflow, primeşte de la agentul proces (AP) o listă de sarcini ce trebuiesc executate şi în baza acestei liste va crea câte un agent sarcină (AS) pentru fiecare sarcină;

Suma aprobată

Virare suma în cont

Confirmare sumă

Solicitare avans

Ordin de deplasare

Informaţii despre delegaţie

Aprobare sef direct

Creditare cont salariat

Aprobare director

Confirmare deplasare

Sef departament

Salariat Director Secretariat

Page 55: proiectarea sistemelor informatice

54

2. Agentul sarcină (AS) trebuie să găsească un subiect pentru a executa sarcina. Pentru aceasta, el migrează către agentul listă_subiecţi (ALS), de unde obţine o listă cu subiecţii ce pot executa sarcina. Din această listă, alege un subiect s şi migrează către acesta (alegerea unui subiect din listă se poate face aleatoriu sau pe baza unor criterii);

3. După ce agentul sarcină (AS) a migrat la subiectul selectat, agentul personal al subiectului S (APe), este informat despre faptul că un task nou aşteaptă să fie executat;

4. Agentul personal (APe) informează acum subiectul, respectiv şeful care trebuie să semneze ordinul de deplasare, prin scrierea unui mesaj pe ecran sau printr-un mesaj audio. Subiectul execută sarcina în conformitate cu informaţiile transmise de către agentul sarcină (AS);

Figura 5.12. Fluxul bazat pe agenţi pentru ridicarea unui avans spre decontare

5. Când operaţia este gata, agentul sarcină migrează înapoi către agentul listă_subiecţi (ALS) pentru a actualiza baza dinamică cu privire la informaţiile colectate despre subiectul S în execuţia taskului.

Agent Personal dl. Popescu

Agent Personal dl. Ionescu

Director

Agent Task Aprobare cerere

Agent Task Aprobare cerere

Agent Task Aprobare cerere

Agent Workflow Instanţa nr 122

Agent Proces Aprobare decont

dl. Popescu Agent Task

Aprobare cerere

Sef Serviciu 2

Sef Serviciu 1 dl. Ionescu

dl. Vasikescu

Agent Lista_Subiecti

Page 56: proiectarea sistemelor informatice

55

6. Modele de referinţă pentru standardizarea sistemelor bazate pe tehnologia agent

6.1. Modelul FIPA O serie de organisme internaţionale cum ar fi FIPA - The Foundation for Intelligent Physical Agents,

OMG - Object Management Group, IFAAMAS - International Foundation for Autonomous Agents and Multiagent Systems, KAoS - Knowledgeable Agent-oriented System, General Magic Group etc., şi-au propus să standardizeze anumite concepte şi infrastructuri pentru tehnologia agent, care să permită implementarea unor sisteme deschise, respectiv definirea unui cadru de dezvoltare a platformelor pentru agenţi inteligenţi, care să permită interoperabilitatea între diferite sisteme software, o direcţie de cercetare extrem de actuală.

Pentru dezvoltarea sistemelor bazate pe tehnologia agent, trebuie determinate şi standardizate anumite caracteristici atât ale platformelor cât şi ale agenţilor. Aspectele care fac obiectul standardizării se referă la modul de înscriere a unui agent într-o anumită platformă, modul de transport al codului agentului, comunicarea cu alţi agenţi şi nu în ultimul rând, securitatea agenţilor şi a informaţiilor deţinute de aceştia.

Interoperabilitatea dintre diferite sisteme agent (respectiv platforme în care agenţii pot fi executaţi, transferaţi şi gestionaţi) va fi cu atât mai mare cu cât convenţiile privind transferul, transportul şi ciclul de viaţă al agenţilor vor fi mai standardizate.

Conform IFAAMAS, interoperabilitatea survine din trei domenii [IFAAMAS07]: - din convenţiile de reprezentare a numelui şi locaţiei agenţilor; - din definirea unui modul comun IDL1 privind tipul, structura şi operaţiile sistemului agent; - din informaţii privind modul de utilizare a acestor standarde.

Din cercetările noastre a rezultat că, pentru realizarea interoperabilităţii între diferite sisteme bazate pe tehnologia agent, trebuie să se respecte o serie de cerinţe cu privire la managementul platformei agent, transportul agenţilor, comunicarea între agenţi, managementul şi execuţia agenţilor, securitatea şi integritatea agenţilor. Aceste cerinţe pot fi clasificate astfel: a) cerinţe pentru o platformă agent: - să fie un mediu deschis, distribuit şi eterogen - platforma nu trebuie să limiteze un anumit tip de hardware sau

software; - să suporte un anumit nivel de abstractizare care să-i permită distincţia dintre obiectele mobile şi cele staţionare; - să ofere un set generic de agenţi care să poată fi extinşi de către programatori şi integraţi în propriile aplicaţii; - să garanteze execuţia corectă a codului unui agent – programatorul trebuie să fie informat corect (transparenţa

platformei) despre regulile sau restricţiile de programare ale platformei agent, astfel încât să poată determina corect comportamentul sistemului de agenţi;

- să definească precis modelul comportamental al agentului – cum şi când sunt executate metodele invocate de agent şi în ce ordine de prioritate;

- să ofere posibilitatea execuţiei mai multor agenţi în acelaşi timp; - să asigure flexibilitatea şi robusteţea interacţiunii între agenţi; - să poată calcula necesarul de resurse pentru agenţi şi să decidă dacă resursele pot fi alocate sau nu unui agent; - să ofere mecanisme care să permită agenţilor să-şi înregistreze serviciile disponibile; - să ţină un fişier de tip "log" despre starea agenţilor – când un agent soseşte în sistem, agentul sistem creează pentru

agentul respectiv un profil de date într-un format predefinit, recunoscut de ceilalţi agenţi din sistem; - să notifice utilizatorii, agenţi sau un alt sistem bazat pe tehnologia agent dacă a aparut o eroare în sistem; b) cerinţe privind transportul agenţilor: - agenţii pot migra pe orice platformă accesibilă – migraţia nu este limitată la un singur domeniu; - agenţii mobili trebuie să fie capabili să-şi planifice execuţia şi migrarea către alte platforme agent; - migrarea agentului nu presupune doar transportul datelor agentului ci şi reconstruirea agentului în platforma de

destinatie - o platformă trebuie să transporte la locaţia de destinaţie toate datele definite de agent şi trebuie să cunoască cum să reconstruiască fiecare element;

- după migrare, activitatea agentului trebuie să continue şi nu doar să fie repornită; - un agent care se pierde în spaţiu în timpul transportului trebuie să informeze agenţia despre această eroare; c) cerinţe privind comunicarea între agenţi: - agenţii trebuie să fie capabili să comunice cu alţi agenţi sau obiecte CORBA – agenţii trebuie să interacţioneze

între ei şi cu mediul lor pentru a oferi informaţii şi servicii; - obiectele externe trebuie să fie capabile să comunice cu agenţi; - agenţii mobili trebuie să fie capabili să execute comunicaţii sincrone şi asincrone; - agenţii trebuie să fie capabili să trimită un mesaj la mai mulţi agenţi simultan; - platforma trebuie să ofere o separare arhitecturală şi funcţională a facilităţilor de comunicare de bază de cele

inteligente – nu este obligatoriu pentru un agent să utilizeze tehnici de comunicare inteligente; - platforma agent trebuie să ofere o interfaţă standard care să permită schimbul de mesaje între agenţi cu interfaţă de

comunicaţie necunoscută – fiecare agent trebuie să gestioneze comunicaţiile cu alţi agenţi, urtilizănd interfaţa standard în cazul în care agentul nu este din aceeaşi agenţie;

- agenţii trebuie să fie capabili să-şi execute propriile sarcini, în paralel cu munca altor agenţi;

Page 57: proiectarea sistemelor informatice

56

- agenţii nu trebuie să se influenţeze între ei – excepţie fiind doar când doresc să facă acest lucru prin metodologiile de comunicare;

- un agent trebuie să fie capabil să-şi manipuleze şi controleze starea - autonomia agentului se reflectă şi în cunoaşterea propriei stări interne;

d) cerinţe de securitate: - o platformă trebuie să fie protejată împotriva viruşilor; - agenţii şi agentul sistem trebuie să detecteze buclarea execuţiei unui cod pentru prevenirea blocării sistemului; - un agent trebuie să fie protejat împotriva schimbării codului şi datelor; - stocările locale ale agentului sistem trebuiesc protejate împotriva accesului neautorizat; - pentru menţinerea secretului mesajelor, platforma agent trebuie să ofere facilităţi de codificare a comunicărilor; - un agent de sistem bazat pe tehnologia agent trebuie să fie capabil să controleze utilizarea resurselor procesorului; - un agent de sistem trebuie să fie capabil să se autentifice în faţa unui alt agent de sistem; - un agent de sistem trebuie să verifice originea unui alt agent, înainte de a-l accepta; - un agent trebuie să posede un istoric al traseului parcurs – un agent de sistem poate decide acceptarea sau nu a unui

agent, verificând istoricul platformelor pe care a funcţionat agentul respectiv; - un agent de sistem trebuie să controleze accesul la interfeţele sale externe; - un agent trebuie să fie protejat împotriva terminării neautorizate sau copierii neautorizate; - un agent trebuie să păstreze un fişier "log" despre activităţile importante apărute şi să le raporteze proprietarului său. Modelul FIPA [FIPA0100] este un model de referinţă logic, pentru crearea, înregistrarea, comunicarea, migrarea şi terminarea execuţiei unui agent şi cuprinde următoarele componente (figura 6.1):

1. Agentul – actorul fundamental de pe o platformă agent (engl. Agent Platform, AP), care combină una sau mai

multe aptitudini într-un model de execuţie integrat. Un agent trebuie să aibă cel puţin un proprietar – o organizaţie / o persoană şi trebuie să permită accesul la un software extern, utilizatori umani şi alte facilităţi de comunicare. Pentru identificarea sa fără echivoc, un agent are o etichetă Agent Identifier (AID). Agent Identifier (AID) este o colecţie extensibilă de perechi de valori-parametru, ce poate fi completată dinamic cu ajutorul lui Agent Platform în funcţie de cerinţe, cu nume, funcţie, roluri etc. Exemplu: (agent-identifier

:name [email protected] :addresses (sequence iiop://banca.com/acc))

Un AID cuprinde parametrul name, care este un identificator global unic şi se recomandă a fi format din numele agentului şi adresa de domiciliu a platformei agent (HAP – Home Agent Platform Adress), separat prin caracterul @. Numele unui agent nu poate fi schimbat pe parcursul ciclului de viaţă al unui agent. Parametrul addresses, este o listă de adrese de transport unde un mesaj poate fi livrat. O adresă de transport este o adresă fizică la care un agent poate fi contactat şi este specificată în protocolul de transport mesaje. Un anumit agent poate suporta mai multe metode de comunicare şi poate conţine mai multe valori de adrese în parametrul addresses. Parametrul resolvers este o listă de nume de adrese de servicii. Numele unei rezoluţii este un serviciu oferit de Agent Management Services - AMS prin intermediul funcţiei search.

2. Platforma2. Platforma Agent (AP) – oferă o infrastructură fizică în care agenţii pot fi elaboraţi, respectiv un

sistem de calcul, sistem de operare, software suport pentru agenţi, componente de management a agenţilor (DF, AMS, MTS) şi agenţi;

Page 58: proiectarea sistemelor informatice

57

3. Facilitatorul Director (DF) – este o componentă esenţială a platformei agent, ce oferă servicii de tip "pagini aurii" pentru alţi agenţi. Agenţii îşi pot înregistra serviciile lor prin DF sau pot interoga DF pentru a afla ce servicii sunt oferite de alţi agenţi. Pe o platformă agent pot exista mai mulţi agenţi facilitatori. Funcţiile acceptate de un DF sunt: register, deregister, modify şi search.

Orice agent care doreşte să-şi publice serviciile către alţi agenţi, trebuie să găsească un facilitator director şi

să solicite înregistrarea descrierii sale. În orice moment, un agent poate solicita facilitatorului director să-i modifice descrierea. De asemenea, tot prin intermediul facilitatorului director, un agent poate solicita căutarea anumitor servicii oferite de alţi agenţi . Facilitatorul Director are o identificare unică într-o platformă agent, respectiv:

(agent-identifier :name df@hap :addresses (sequence hap_transport_address))

4. Message Transport Service (MTS) – asigură comunicarea propriu-zisă dintre agenţii din diferite platforme agent; 5. Software – entitatea ce descrie toate colecţiile de instrucţiuni executabile non-agent accesibile printr-un agent. 6. Agent Management System (AMS) – este un agent care exercită un control de supervizor asupra accesului şi utilizării platformei agent. Pe o platformă agent există doar un singur agent AMS. El conţine un repertoar cu identificatorii agenţilor înregistraţi în platformă şi oferă servicii de tip "pagini albe" pentru alţi agenţi. Fiecare agent iniţiat pe o platformă trebuie să se înregistreze cu agentul AMS pentru a obţine un identificator valid, înregistrare care implică autorizarea de a accesa MTS–ul platformei agent pentru a trimite şi recepţiona mesaje.

Agentul AMS are un identificator AID rezervat şi anume: (agent-identifier :name ams@hap :addresses (sequence hap_transport_address))

Un agent AMS trebuie să fie capabil să execute următoarele funcţii: register, deregister, modify, search şi get-description. Agentul AMS este responsabil de managementul operaţiunilor din platforma agent, respectiv crearea şi ştergerea agenţilor sau migrarea către alte platforme. AMS asociază fiecărui agent din platformă un ciclu de viaţă. El poate să dea instrucţiuni platformei agent pentru ca aceasta să execute următoarele operaţii: suspend agent, terminate agent, create agent, resume agent execution, invoke agent, execute agent, resource management.

Figura 6.2. Ciclul de viaţă al unui agent [FIPA2300]

Agentul AMS are următoarele responsabilităţi în legătură cu mesajele transmise în fiecare stare a ciclului

de viaţă al unui agent (figura 6.2) : - active – MTS transmite normal mesajele agentului; - initiated/waiting/suspended – MTS reţine mesajele până când agentul revine în starea activă; - transit – această stare este specifică doar agenţilor mobili. MTS reţine mesajele până când agentul revine în starea activă; - unknown – MTS reţine sau respinge mesajele în funcţie de politica de configurare a acestuia.

Stările de tranziţie ale unui agent pot fi atinse prin următoarele metode: • create – crează sau instalează un agent nou; • invoke - apelează un agent nou; • destroy – terminarea forţată a unui agent - poate fi iniţiată doar de AMS şi nu poate fi ignorată de către agenţi; • quit – terminarea cu succes a unui agent; • suspend – trecerea unui agent într-o stare de suspendare – această stare poate fi iniţiată doar de AMS;

Page 59: proiectarea sistemelor informatice

58

• resume - activează un agent din stare suspendată - această stare poate fi iniţiată doar de AMS; • wait – pune agentul într-o stare de aşteptare - poate fi iniţiată doar de agenţi; • wake up – activează un agent aflat în stare de aşteptare - poate fi iniţiată doar de AMS; • move – valabilă doar pentru agenţi mobili – pune agentul într-o stare de tranzit - poate fi iniţiată doar de către agenţi;

• execute – valabilă doar pentru agenţi mobili – aduce agentul din starea de tranzit - poate fi iniţiată doar de către AMS. Toate aceste aspecte vor fi folosite în abordările noastre referitoare la utilizarea tehnologiei agent în aplicaţiile financiar contabile. 6.2. Comunicarea între agenţi

Întrucât agenţii pot avea arhitecturi interne şi abilităţi diferite, este necesar să se utilizeze anumite specificaţii privind infrastructura agenţilor şi a aplicaţiilor bazate pe tehnologii agent, care să permită o interoperabilitate în transportul mesajelor şi o compatibilitate în ceea ce priveşte formele de reprezentare a limbajului de comunicare agent şi a conţinutului limbajului. În sistemele bazate pe agenţi, agenţii interacţionează între ei, schimbă informaţii, cunoştinţe şi servicii (figura 6.3):

Pentru a interacţiona şi schimba informaţii, agenţii trebuie să comunice într-un anumit limbaj. Plecând de la această premisă, Genesereth M.R. şi Ketchpel S.P. [GenesKetch94] au elaborat următoarea axiomă privind definiţia unui agent: „un program software este agent software dacă şi numai dacă el comunică corect într-un limbaj de comunicare agent”.

Din cercetările noastre a rezultat că limbajele de comunicare agent trebuie să îndeplinească anumite cerinţe legate de: - formă, respectiv un limbaj de comunicare agent trebuie să fie declarativ, cu sintactică simplă, uşor de înţeles de către utilizatori. Deoarece limbajul de comunicare va fi integrat într-o gamă variată de sisteme, sintaxa lui trebuie să fie extensibilă; - conţinut, respectiv un limbaj de comunicare agent trebuie să fie structurat într-un mod care să fie util pentru toate sistemele. Trebuie făcută distincţie între limbajul de comunicare – care exprimă acte comunicative - şi conţinutul limbajului – care exprimă lucruri despre un domeniu. Limbajul trebuie să aibă definit un set de primitive care să poată fi extins; - semantică, respectiv descrierea semantică a limbajelor de comunicare şi a primitivelor este de regulă limitată la descrierile în limbaj natural, dar este necesară şi o descriere formală, care să permită interacţiunea dintre diverse aplicaţii; - implementarea, adică trebuie să fie eficientă atât în ceea ce priveşte viteza, cât şi lărgimea de bandă utilizată; - reţeaua, respectiv un limbaj de comunicare agent trebuie să se potrivească foarte bine cu tehnologiile moderne din domeniul reţelelor. Astfel, el trebuie să suporte toate tipurile de conectare de bază şi conexiuni sincrone şi asincrone. Protocoalele de nivel înalt trebuie să fie independente de mecanismele de transport utilizate; - mediul. Mediul în care agenţii operează va fi foarte distribuit, eterogen şi extrem de dinamic. Pentru a oferi un canal de comunicaţie cu lumea din afara acestui mediu, un limbaj de comunicare agent trebuie să ofere instrumente pentru tratarea acestor fenomene, să suporte interoperabilitatea cu alte limbaje şi protocoale; - fiabilitate. Un limbaj de comunicare agent trebuie să faciliteze securitatea comunicaţiilor dintre agenţi, să garanteze autenticitatea agenţilor şi să asigure mecanisme pentru identificarea şi semnalarea erorilor în procesul de comunicare.

Din punct de vedere tehnic, comunicarea între agenţi se realizează utilizând protocoalele de transport ultracunoscute gen TCP-IP, HTTP, IIOP.

Noi am constatat că limbajul care tinde să devină standard pentru comunicarea între agenţi este KQML (Knowledge Query and Manipulation Language). KQML a fost conceput atât ca un format al mesajelor cât şi ca un protocol de manipulare a mesajelor, care să permită partajarea cunoştinţelor între agenţi.

Page 60: proiectarea sistemelor informatice

59

6.3. Limbajul KQML KQML este un protocol pentru schimbarea informaţiilor şi cunoştinţelor şi se caracterizează prin faptul că

toate informaţiile pentru înţelegerea conţinutului mesajului sunt incluse în structura comunicaţiei. KQML poate transporta expresii codificate în orice limbaj de reprezentare, inclusiv ASCII.

Caracteristicile limbajului KQML [FininLabrou95] , sunt: - mesajele KQML sunt opace la conţinutul pe care îl transportă; - primitivele limbajului sunt numite performative şi definesc acţiunile pe care agenţii le pot întreprinde în

comunicare; - mediul în care agenţii comunică prin KQML, trebuie să conţină un agent special – numit facilitator (mediator,

router), care coordonează comunicaţiile dintre agenţi, respectiv: - localizează agenţii după nume sau abilităţi; - descompune şi trimite mai departe mesajele agenţilor; - furnizează servicii de traducere şi mediere; - stochează temporar informaţii.

Protocolul de bază este definit de următoarea structură: (KQML performativa

: sender <word>

: receiver <word> : language <word> : ontology <word> : content <expression> …)

Pentru a înţelege mesajul, receptorul trebuie să înţeleagă limbajul şi să aibă acces la ontologie. O ontologie este o specificaţie a obiectelor, concepţiilor şi relaţiilor dintr-un anumit domeniu [FininLabrou95]. Un agent trebuie să-şi reprezinte cunoştinţele într-un vocabular

specific unei ontologii. Toţi agenţii care partajează aceeaşi ontologie pentru reprezentarea cunoştinţelor pot să înţeleagă cuvintele în limbajul de comunicare agent.

Agenţii care vorbesc KQML apar unii faţă de alţii drept clienţi şi servere, iar comunicaţiile pot fi sincrone sau asincrone. Mesajele KQML pot fi imbricate, adică conţinutul unui mesaj KQML să fie un alt mesaj KQML. De exemplu, dacă Agent1 nu poate să comunice direct cu Agent2 (dar poate să comunice cu Agent3), Agent1 îl poate ruga pe Agent3 să trimită mesajul mai departe pentru Agent2.

Limbajul KQML este alcătuit pe trei niveluri: (figura 6.4) - nivelul comunicaţiei – permite identificarea emiţătorului şi a receptorului şi obţinerea unui identificator unic asociat cu comunicaţia; - nivelul mesaj – specifică protocolul utilizat pentru a transmite mesajul, ontologia şi anumite descrieri despre conţinut; - nivelul conţinut – conţinutul efectiv al mesajului.

Figura 6.4. Structura unui mesaj KQML

Performativele utilizate de KQML pot fi grupate în următoarele categorii:

- interogări de bază : evaluate, ask-one, ask-all; - interogări multi-răspuns: stream-in, stream-all; - performative de răspuns: reply, sorry; - performative informative generice: tell, cancel, achieve, unachieve; - performative generatoare: standby, ready, next, rest; - performative de notificare: advertise, subscribe, monitor; - performative de facilitare: broker, recommend, recruit.

Considerăm cazul în care agentul A doreşte să cunoască adevărul despre propoziţia x şi agentul B poate avea răspunsul la propoziţia x în baza sa de cunoştinţe şi există un facilitator F disponibil. Există următoare situaţii:

a) Dacă A cunoaşte că agentul B are cunoştinţe despre x, atunci el poate trimite cererea direct la B, utilizând

un protocol simplu point-to-point (figura 2.13).

Page 61: proiectarea sistemelor informatice

60

Figura 6.5. Comunicare prin performativa ask

b) Dacă A nu cunoaşte ce agenţi sunt disponibili sau care din ei au cunoştinţe despre domeniul lui x, atunci A utilizează o performativă subscribe, prin care cere facilitatorului F să monitorizeze adevărul despre x. Dacă după aceea B îl informează pe F în legătură cu adevărul despre x, atunci F poate să-l informeze pe A despre acest lucru (figura 6.6):

Figura 6.6. Comunicare prin performativa subscribe

c) O altă situaţie puţin diferită este cea în care A îl roagă pe F să găsească un agent care poate procesa performativa ask(x). Independent, agentul B îl informează pe F că doreşte să accepte performative de genul ask(x). F având aceste două mesaje, îi trimite mai departe agentului A, răspunsul despre domeniul lui x (figura 6.7.)

Figura 6.7. Comunicare prin performativa broker

d) Dacă agentul A utilizează o altă performativă prin care îl informează pe agentul F că este interesat să cunoască adevărul despre x, atunci performativa recruit roagă receptorul să găsească un agent care doreşte să recepţioneze şi să proceseze această performativă. În acest caz, răspunsul va fi transmis direct agentului care a iniţiat cererea (figura 6.8)

Figura 6.8. Comunicare prin performativa recruit

Page 62: proiectarea sistemelor informatice

61

e) O ultimă variantă este aceea în care agentul A îi cere lui F să-I recomande unui agent căruia să-i adreseze o performativă ask(x). Agentul F, ştiind că agentul B acceptă performative ask(x), îi transmite lui A numele agentului B. Agentul A este liber să iniţieze dialog cu agentul B (figura 6.9):

Figura 6.9. Comunicare prin performativa reccomend

Unul dintre cele mai importante rezultate ale eforturilor FIPA este limbajul de comunicare între agenţi

FIPA ACL (FIPA Agent Communication Language). Acest limbaj se bazează pe teoria actelor de vorbire: mesajele sunt acţiuni sau acte de comunicare. Specificaţiile limbajului oferă descrierea unor protocoale de nivel înalt, cum ar fi solicitarea unor acţiuni, Contract Net şi mai multe tipuri de licitaţii. Sintaxa FIPA ACL este identică cu cea a limbajului KQML, cu excepţia unor nume diferite pentru anumite primitive.

Limbajul KQML a fost considerat o bună perioadă de vreme limbajul care tindea să devină standard pentru comunicarea între agenţi. Probabil din încercarea de a standardiza prea devreme, existând prea puţine sisteme multiagent implementate, limbajul KQML a rămas un limbaj de comunicare inter-agent de referinţă.

Comunicarea între agenţii FIPA are loc în limbajul de comunicare implicit fie FIPA-ACL, fie ACL/XML. Folosind XML se pot specifica ontologiile dorite pentru diferite domenii de aplicaţie. Conform FIPA, conţinutul unui mesaj poate fi exprimat în orice limbaj de conţinut. Utilizarea XML ca limbaj de conţinut are avantajul prezentării facile a mesajelor de comunicare dintre agenţi şi aplicaţiile web existente.

Page 63: proiectarea sistemelor informatice

62

BIBLIOGRAFIE

1. Adam, R., Contributii la utilizarea sistemelor multiagent in aplicatiile financiar bancare, Teza de doctorat,

Universitatea A.I. Cuza, Iasi, 2009 2. Adam, R., The management of business processes aided by the agent technology, Studii şi Cercetări Ştiinţifice,

seria Ştiinţe Economice, ISSN 1224-9858, Nr. 12, Universitatea Bacău, 2007 3. Adam, R., Oportunităţi ale utilizării tehnologiei agent în sistemele informaţionale financiar-contabile, Studii şi

Cercetări Ştiinţifice, seria Ştiinţe Economice, ISSN 1224-9858, Nr. 11, Universitatea Bacău, 2006 4. Adam, R., Using Agent Technology for Customer Relationship Management in banking, InfoBUSINESS 2004 –

"Innovative Applications of Information Technologies in Business and Management", International Symposium, 2004, Iaşi

5. Adam, R., Noua economie şi mediile de afaceri moderne, Studii şi Cercetări Ştiinţifice, seria Ştiinţe Economice, ISSN 1224-9858, Nr. 9, Universitatea Bacău, 2004

6. Adam, R., Întreprinderile virtuale versus întreprinderile tradiţionale, Revista INFOREC nr. 29, ASE – Bucureşti, 2004

7. Andone, I., Tabără, N., (coordonatori), Contabilitate, tehnologie şi competitivitate, Editura Academiei Române, Bucureşti, 2006

8. Andone I., Tugui Al., s.a., Dezvoltarea sistemelor inteligente in economie, Editura Economica, Bucuresti, 2001;

9. Andone, I., Arhitecturi pentru afaceri electronice bazate pe agenţi inteligenţi, în Informatica Economică, Nr. 3, Dec 2001

10. Andone, I., Tugui, A., Sisteme inteligente în management, contabilitate, finanţe, bănci, marketing, Editura Economică, Bucureşti, 1999

11. Arnold, O.F., Wolfgang H.M., Seiber P., Virtual Integration, 2000, http://www.itvd.unistuttgart.de/wa/man/ projects

12. Arsac, J., Informatica, Editura Enciclopedica Româna, Bucuresti, 13. Bernard-Faqouillet, E., Boufares F., Informatique pour la comptabilite et la gestion, Editions Eska, Paris, 1995 14. Boudreau M.C., LochDaniel, K., Straud, R.D., Going Global: Using Informaţion Technology to Advance the

Competitiveness of the Virtual Transnaţional Organisation, Academy of Management, No. 12.4, 1998 15. Byrne, J., The virtual Corporation, Business Week, pp. 36-41, 1993 16. Caglyan, A., Harrison, C., 1997, Agent Sourcebook, John Wiley & Sons, Inc., Canada 17. Carmichael A.R., Object Development Methods, SIGS Books, New York, 1994 18. DeLoach, S., Wood, M., Sparkman, C., 2001, Multiagent Systems Engineering, International Journal of

software Engineering and Knowledge Engineering, Vol. 11, No. 3 19. Digital - A Guide to Use Digital Program Methodology, 1996 20. ERMES, Systemes d’information. La perspective du management, Edition Masson, Paris, Milan, Barcelone,

1994 21. Finin, T, Labrou, Y., Mayfield, J., KQML as an agent communication language, in Jeff Bradshaw (Ed.),

Software Agents, MIT Press, Cambridge, 1995 22. FIPA00001 - Abstract Architecture Specification, Foundation for Intelligent Physical Agents, 2000,

www.fipa.org 23. FIPA00023 - Agent Management Specification, Foundation for Intelligent Physical Agents, 2000, www.fipa.org 24. Fischer, K., Müller, J., Heimig, I., Agents in Virtual Enterprises http://citeseer.nj.nec.com/

fischer96intelligent.html, 1996 25. Fotache, D., Groupware. Metode, tehnici şi tehnologii pentru grupuri de lucru, Editura Polirom, Iaşi, 2002 26. Franklin, S., Graesser, A., 1996, Is It an Agent or Just a Program? A Taxonomy for Autonomous Agents. In

Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, New York: Springer-Verlag.

27. Genesereth, M.R., Ketchpel, S.P., 1994, Software Agents, Communications of the ACM, vol. 37, no. 7. 28. Ghilic-Micu, B., Afacerile în economia digitală, Revista Informatica Economică, nr. 3(23)/2002 29. Ghilic-Micu, B, Stoica, M., Organizaţia virtuală, Ed. Economică, Bucureşti, 2004 30. Hoffer J.A., George J.F., Valacich J.S., - Modern Systems Analysis and Design, The Benjamin/Cummings

Publishing Company, Inc., Menlo Park, CA, 1996 31. Jennings, N. R., Norman, T.J., Faratin, P., ADEPT: An Agent-based Approach to Business Process

Management, 1998, http://www.ecs.soton.ac.uk/~nrj/ 32. Jennings, N., Sycara, K., Wooldridge, M., A Roadmap of Agent Research and Development, Int. Journal of

Autonomous Agents and Multi-Agent Systems, 1, 1998. 33. Joldes, R., Olteanu, E., Ciortea, M., Deaconu, S., Proiectarea sistemelor informatice, Editura Universităţii „1

Decembrie 1918” din Alba Iulia, 2004 34. Leitão, P., An Agile And Cooperative Architecture For Distributed Manufacturing Systems, Proceedings of

ASI’2000 International Conference, Bordeaux, France, 2000 35. Lesperance, Y., Introduction to Intelligent Autonomous Agents and Multiagent Systems, Knowledge

Representation/ Intelligent Agents, Fall, 2003

Page 64: proiectarea sistemelor informatice

63

36. Lungu I., Sabau G., Velicanu M., Muntean M., Ionescu S., Posdarie E. - Sisteme informatice, Editura Economica, 2003

37. Maes, P., Agents that Reduce Work and Information Overload, MIT Media Laboratory, CHI97 Software Agents Tutorial, 1997

38. Maes, P., 2007, pagină web personală , http://web.media.mit.edu/~pattie/ 39. Martin, J., Rapid Application Development, New York, MacMillan, 1991 40. Mawhinney, C.H., Millet, I., Executive information systems: A critical perspective, in “Information and

Management”, nr. 23, 1992 41. Mostéfaoui, S.K., Rana, O., Foukia, N., Self-Organising Applications: A Survey, http://www.hec.unige.ch/

recherches_publications/cahiers, 2004 42. Mowshowitz, A., Virtual Organisation: A Vision of Management in the Informaţion Age, in: The Informaţion

Society vol. 10, United Kingdom, 1994 43. Nitchi, S., Racovitan, D., si colectiv, Bazele prelucrării informaţiilor şi tehnologie informaţională, Editura

Intelcredo, Deva, 1996 44. Nwana, H.S., 1996, Software Agents: An Overview, Knowledge Engineering Review, 11(3): 205-244 45. Oprea, D., Airinei, D., Fotache, M., Sisteme informaţionale pentru afaceri, Ed. Polirom, Iaşi, 2002 46. Oprea, D., Mesniţă, G., Sisteme informaţionale pentru manageri, Ed. Polirom Iaşi, 2002 47. Oprea, D., Analiza si proiectarea sistemelor informationale economice, Ed. Polirom, Iasi, 1999 48. Oprea, D., Premisele şi consecinţele informatizării contabilităţii, Editura Graphix, Iasi, 1994 49. Padgham, L., Winikoff, M., Developing Intelligent Agent Systems: A Practical Guide, John Wiley and Sons,

2004 50. Padgham, L., Winikoff, M., Prometheus: A Methodology for Developing Intelligent Agents, RMIT University,

Melbourne, http://www.jamesodell.com/ AOSE02-papers/aose02-04.pdf 51. Papazoglou, M., Agent-Oriented Technology în Support of E-Business, Communications Of The ACM, April

2001, Vol. 44, No. 4 52. Patrut V, Adam R., Orzanizatia virtuala ca entitate contabila, Revista CECCAR, nr. 5, Mai 2011, Bucuresti 53. Popescu, G., Popescu, E., Elaborarea sistemelor informatice în contextul informatic actual, Editura

Universităţii din Constanţa, 2001; 54. Reix, R., Informatique appliqueé à la gestion, Les Editions Foucher, Paris, 1990 55. Roşca, I., Macovei, E., Davidescu, N., Proiectarea sistemelor informatice financiar-contabile, Editura

Didactică şi Pedagogică, 1993; 56. Royce W. W., - Managing the Development of Large Systems, Proceeding of WESTCON, CA, USA, 1970 57. Rosen, A., E-Commerce Question and Answer Book, AMACOM Books, 1999 58. Russell, S., Norvig, P., 2002, Artificial Intelligence - A Modern Approach, second international edition, Prentice

Hall 59. Shoham, Y., Agent-oriented programming, Artificial Intelligence, (60):51-92, 1993. 60. Sommerville I., - Software Engineering, lth Edition, Addison-Wesley, UK, 1989 61. Stanciu V. (coordonator) – Sisteme informatice financiar-monetare, ASE 62. Sycara, K., Multiagent Systems, AI Magazine Vol. 19, No. 2. Intelligent Agents, 1998 63. Travica, B., The Design of the Virtual Organizaţion, www.hsb.baylor.edu/ramsover/ais.ac.97/papers/travica/ 64. Trauth, E.M., Kahn, B.K., Warden, F., Information literacy. An introduction to information systems, MacMillan

Publishing Company, 1991 65. Wooldridge, M., Intelligent Agents, in Multiagent Systems. A Modern Approach to Distributed Artificial

Intelligence, Weiss, G., The MIT Press, 1999 66. Weiss, G., Multiagent Systems. A Modern Approach to Distributed Artificial Intelligence, The MIT Press, 1999