Documente Academic
Documente Profesional
Documente Cultură
SISTEM INFORMATIC
34
Aportul fiecărei metode concretizat printr-un limbaj comun utilizator–informatician
este manifestat pe parcursul întregului proces de studiu prin apariţia şi existenţa
punctelor de validare.
Un alt aspect care trebuie remarcat este faptul că o metodă nu poate servi scopuri
fundamentale divergente. Marea varietate de soft-uri disponibile (sisteme logice,
sisteme de gestiune în timp real) şi dezvoltarea activităţii de producţie software, mă
conduc la ideea că în informatică o metodă universală nu este posibilă.
14
Le Nouveau Petit Le Robert, Edition 1993
15
O’Brien J. - Systèmes d’information de gestion, De Boeck Université
35
cuvinte, metoda în cadrul unui organism economic trebuie să fie un mijloc precis,
eficace, suplu dar nu rigid.
36
a) centru de costuri unde utilizatorii decidenţi şi managerul îşi asumă
responsabilităţi sporite în gestionarea a costurilor, iar performanţele vor fi judecate
prin capacitatea de a micşora ecarturile raportate la costurile previzionale, de a
sporii productivitatea şi de a propune soluţii (acţiuni) generatoare de profit.
Opinia mea este că profitul mediului contabil este indus de beneficiile obţinute de
celelalte segmente ale firmei sau de aceasta ca urmare a folosirii produselor
informatice. Rezultatele obţinute pot fi apreciate, extrem de clar prin relaţia:
♦ flexibilitatea sistemului;
37
♦ satisfacţia utilizatorilor;
38
- standardizare - măsura în care sunt stabilite reguli şi proceduri generale pentru a
defini sarcinile de executat şi a controla aplicarea lor. Informatizarea contabilităţii
duce la crearea de noi proceduri, le elimină pe cele redundante sau neutilizate.
Consider că, pentru zona contabilităţii informatizate, putem pune în evidenţă mai
multe praguri şi măsurări ale eficienţei:
As - acumulările suplimentare;
16
Transition from the „data/processing”, www.softeam.com/conseil_modelisation
39
Che – cheltuieli de exploatare a sistemului.
Dr = 1/Keg
40
valorificare a acesteia; preţurile de aprovizionare cu diferite materiale; evoluţia
salariilor utilizatorilor decidenţi şi/sau a managementului; costul de întreţinere şi
reparare al reţelei sau echipamentelor etc. Contribuţia fiecărui factor asupra
evoluţiei profitului se determină utilizând procedeul substituţiilor în lanţ care
permite măsurarea influenţelor sau a alternativelor.
• resursa umană;
• raporturile de putere;
• referenţialul.
41
Pentru o evaluare corectă şi completă a contabilităţii informatizate consider că se
impune să se cunoască foarte bine contextul, practicile existente, dar şi „cultura" sau
istoricul. După părerea mea soluţia apelării la experţii din exterior nu este
întotdeauna cea mai bună deoarece ei se interesează mai mult de analiza
disfuncţionalităţilor decât de efectele declanşate de comportamentul sistemului.
17
Associations – Links, www.macs.hw.ac.uk/ism/ug4
42
Puterea simbolurilor reprezintă pentru mulţi utilizatori decidenţi sinonimă cu
descentralizarea, autonomia şi creşterea productivităţii muncii. Ei îşi construiesc
diverse agregate simbolice legate de atuurile folosirii calculatorului pe propriul
birou. Fiecare agregat va poseda un conţinut „catartic” specific, astfel pentru unii
indivizi reţelele de telecomunicaţie vor constitui punţi spre o nouă eră a
comunicaţiei, în schimb pentru alţii vor fi doar surse a numeroase pericole.
Paradigmă
43
atunci". Fluiditatea parametrilor de interpretare a elementelor structurale ale
contabilităţii informatizate va fi influenţată de faptul că, interpretarea nu poate avea
valoare decât într-un spaţiu temporal definit prealabil. Fluiditatea determină
stabilirea unei anumite ponderi pentru fiecare criteriu evaluat la un moment dat.
Vom putea distinge în zona contabilă informatizată trei tipuri de criterii:
primordiale (exemple: mărimea intervalelor de timp, compatibilitatea resurselor);
importante (exemple: posibilităţile de adaptare la nou, capacitatea de a evita
hipertrofierea configuraţiilor informatice, inclusiv alinierea acestora la obiectivele
urmărite); eliminate din evaluare (exemple: compatibilitatea mărcilor de
echipamente, posibilitatea de autoformare a utilizatorilor decidenţi).
C. Faza de decizie – apare ca rezultat al unei cooperări şi a unui limbaj comun între
diferiţii „actori” din sistemul informatic financiar–contabil. Unele decizii admise în
trecut nu mai puteau fi înţelese la un moment dat, datorită modificării punctelor de
vedere şi a mediului, putând dobândi caracter ireversibil. Apreciez că evaluarea
elementelor componente ale compartimentului financiar–contabil prin metoda
„scenariilor” va avea în vedere, de fiecare dată trei mari etape: stabilirea scenariilor
şi evaluarea efectelor previzibile; valorizarea acestora; alegerea soluţiei care este
considerată ca fiind cea mai bună. În figura 2.4 am redat aplicarea metodei
scenariilor asupra elementului structural financiar-contabil.
44
Figura 2.4 Evaluarea compartimentului financiar–contabil prin metoda scenariilor
Valorizarea va ţine cont de natura informaţiei (operaţională, tactică, strategică) şi va
impune exprimarea utilităţii producţiei şi difuzării acesteia. Optimul soluţiei nu este
obligatoriu cel mai bun raport performanţă/preţ (o sumă la nivel operaţional nu va
avea aceeaşi valoare cu cea de la nivelul strategic).
Apreciez că, nu există alegeri bune sau rele, totul depinde de sistemul de referinţă
(referenţialul) ales, dacă aceasta se schimbă rezultatele evaluării se vor modifica.
45
(Jackson System Development), Yourdon etc. Toate au la bază analiza funcţională a
întreprinderii. Diagramele de structură permit vizualizarea structurii ierarhice,
descrierea programului sau a unui modul fiind stabilite pe mai multe niveluri, prin
rafinări succesive.
Proliferarea aplicaţiilor creează propriile lor fişiere ducând la redundanţe şi mai ales
incoerenţă a datelor în sistemele de informare a organizaţiilor.
46
Metodele sistemice permit vizualizarea şi înţelegerea organizării datelor. Aceste
metode se compun din abstractizări care prezintă lumea reală ca pe o colecţie de
entităţi şi de legături, stabilite între acestea. Majoritatea permite definirea de
restricţii descriind aspectele statice, dinamice sau chiar temporare ale entităţilor. În
această calitate ele constituie formalisme lizibile în cadrul specificaţiilor de nevoi.
Două metode constituie referinţa de reprezentare semantică: metoda individuală18
care va fi integrată Merise şi metoda entitate–relaţie19.
Amintesc printre metodele sistemice pe cele de concepţie în timp real care asigură
funcţionarea corectă în funcţie de rezultatele produse prin sistem şi de momentul la
care ele sunt produse. Acestea reprezintă oarecum un sistem de stimuli/răspuns;
stimulii fiind generaţi de captatori sau de acţionari. Atunci când stimulii sunt
aperiodici se poate concepe un sistem ca un ansamblu de procese paralele care
cooperează de o manieră în care transferă controlul componentei apropiate, de la
recepţia unui stimul. Se disting două clase active în timp real:
• sistemele de urmărire-control;
18
Tardieu H. şi col. - The individual model, International WorkShop on Data Structure Models for
Informations Systems
19
Chen P.- The entity-relationship model, ALM transaction of database systems, 1, 1, mars 1976
47
Metodele sistemice cuprind de o manieră globală sistemul informaţional şi
reprezintă a doua generaţie a metodelor de proiectare. Reprezentative sunt metodele
Information Engeneering, MERISE, AXIAL etc. Apropierea se realizează la nivel
conceptual20 şi se disting patru nivele de abstractizare.
Ceea ce este specific acestor metode este utilizarea teoriei sistemelor în analiza
întreprinderii. Sistemul informatic este abordat sub două aspecte complementare,
datele şi prelucrările analizate-modelate independent cu reunirea lor cât mai târziu
posibil. Spre deosebire de metodele ierarhice, metodele sistemice acordă „prioritate
datelor faţă de prelucrări şi respectă cele trei nivele de abstractizare introduse de
raportul ANSI/SPARC: conceptual, logic şi fizic”21. Avantajele metodelor sistemice
apar din promovarea tehnologiei bazelor de date. Dezavantajele sunt datorate
deficienţelor care pot apărea în modelarea prelucrărilor şi a discordanţelor posibile
între modelele datelor şi prelucrărilor.
20
Nanci D. şi col. - Ingénierie des systèmes d’information avec Merise, Sybex
21
Stanciu V. şi col. - Proiectarea sistemelor informatice, Editura Dual Tech, Bucureşti
48
• Modelul obiectelor are rolul de a descrie obiectele care intervin în problema
de rezolvat şi relaţiile dintre ele. Modelul obiectual reprezintă descrierea
structurii statice a obiectelor, claselor de obiecte, a operaţiilor şi atributelor,
precum şi a legăturilor şi a relaţiilor dintre ele.
• Modelul dinamic are rolul de a descrie stările pe care le poate avea un obiect
şi evenimentele la trecerea dintr-o structură în alta. Modelul dinamic descrie
interacţiunea dintre obiecte şi este focalizat pe aspecte ce se schimbă în timp,
deoarece orice obiect are un ciclu de viaţă cu un punct de pornire şi unul de
sfârşit. Modelul dinamic descrie acest ciclu de viaţă, ce se întâmplă de-a
lungul său şi cum este influenţat obiectul.
49
2.2.1. Caracterizarea metodei Merise
22
Merise Method Standard, http://nextojects.sourceforge.net
50
Figura 2.6 Reprezentarea domeniilor unui organism economic
51
Figura 2.7 Funcţii şi activităţi într-un sistem operant
MERISE este o metodă cu ajutorul căreia se poate defini, analiza, concepe şi realiza
un proiect care acoperă activitatea unui domeniu bine definit. Ea are la bază o
filosofie proprie a derulării întregului proiect, urmărind detalierea fiecărei etapă de
studiu şi aplicarea unor instrumente specifice.
52
Reamintesc în acest context două mari viziuni de concepţie a sistemelor
informatice: abordarea ascendentă cunoscută mai simplu sub numele de bottom-up
şi abordarea descendentă sau top–down.
Este mai bine să se creeze şi să se realizeze din start un sistem informatic care să
ţină cont de obiectivele planificate, abordate într-o maniere globală, decât să se
încerce a se integra a posteriori, subsisteme informatice independente. MERISE este
o metodă de concepţie de sisteme informatice care se poate înscrie în această
abordare descendentă.
În esenţă, filosofia MERISE se poate constitui sub forma unui ghid de abordare a
unui sistem informatic pus în evidenţă sub forma sintetică utilizând o semantică
bazată pe cuvinte cheie cât mai sugestive. MERISE poate realiza sisteme
informatice din mai multe perspective:
23
Marciniak R. şi col. – Systèmes d’Information dynamique et organisation, Editura Economica, Paris
53
• MERISE perspectivă paralelă date–prelucrări. Faţă de alte metode care tratează
în mod privilegiat datele sau prelucrările, MERISE ţine cont în aceeaşi măsură de
date şi de prelucrări. Datele sunt elementele stabile într-o organizaţie fiind luate
în calcul într-o „optică statică” iar prelucrările sunt întotdeauna dinamice şi sunt
reprezentate în MERISE prin instrumentele de sincronizare.
24
Reix R. – Systemes d’information et management des organisations, Editura Vuilbert, Paris
25
Merise Method and knowledge, www.cmi.univ-mrs.fr
54
Demersul metodei se poate reprezenta sintetic astfel:
Sub formă tabelară prezint etapele acestei metodei sintetizând rezultatele fiecărui
stadiu.
55
STUDIU FUNCŢIUNI REZULTAT DECIZIA
după studiu
detaliat diferitelor domenii pentru „externe” generale şi utilizatorilor
soluţia reţinută detaliate
Realizarea Studiul tehnic Sistem de criterii de piaţă Recepţia
Realizarea programelor privind „jocul” de probă al provizorie
utilizatorilor
Punerea în Studiul de ansamblu al Sistem implantat în Recepţia
lucru problemelor legate de ambientul real şi definitivă
utilizarea noilor funcţiuni funcţionând în regim
automate normal.
În momentul descompunerii subansamblul reprezentativ (SREP) pe subproiecte
apare evidentă soluţia chiar înainte de a se studia adecvarea „specificaţiilor
funcţionale pentru nevoile utilizatorilor” cu compatibilitatea „întregului” alcătuit
din specificaţii funcţionale, tehnice şi restricţii financiare definite înainte de studiul
prealabil.
În figura 2.9 reprezint iniţierea şi derularea paşilor care privesc studiul prealabil.
» iniţializare;
26
Euromethod, www.unl.ac.uk/simt/im251/eumeths.html
56
» studiul existent;
» concepţia;
» organizarea punerii în lucru;
» bilanţul cantitativ şi calitativ;
» concluziile studiului prealabil.
Metoda se utilizează pentru toate proiectele de organizare a unui domeniu de
activitate chiar dacă nu conţin elemente de informatizare, situaţie în care nu apare
contextul informatic. Se poate constitui într-un instrument al metodei orice mijloc
„care permite să se execute un lucru: o muncă, o operaţie” (Larousse).
Pot concluziona că la întrebarea „cum se face?” din punct de vedere tehnic prin
modelul fizic al datelor, modelul fizic al prelucrărilor pot răspunde prin entităţi
programe proceduri. La întrebarea „cine, cu ce şi când?“ din punct de vedere
57
organizaţional răspunde modelul logic al datelor şi cel al prelucrărilor. La
interogarea „ce se doreşte a se realiza?” datele, relaţiile, regulile de gestiune,
înlănţuirile de prelucrări apar ca răspuns dedus din modelul conceptual al datelor şi
al prelucrărilor.
DATE PRELUCRĂRI
CONCEPTUAL Modelul conceptual al datelor Modelul conceptual al prelucrărilor
MCD MCP
- Concepte fundamentale - Descrierea macroscopică (noţiunea
- Relaţii semantice de proces)
58
Modelul conceptual al datelor este un ansamblu de concepte şi reguli de combinare
care permit reprezentarea realităţii circumscrise domeniului supus informatizării.
Pentru definirea modelului conceptual al datelor se apelează la modele intermediare
care sunt folosite ca suport al unei metodologii de proiectare. Modelul conceptual
utilizează o abstractizare prin relaţie, recunoscută de ISO fiind o apropiere de
modelul entitate-relaţie. Mai multe concepte de bază caracterizează acest model:
- relaţia între mai mulţi indivizi este un ansamblu de produse carteziene de ocurenţă
a acestora. De exemplu produsul cartezian vânzător * client reprezentat prin toate
cuplurile vânzător/client, va fi modelat prin ansamblul de legături care exprimă
aceeaşi natură între mai mulţi indivizi. Bineînţeles, aceste relaţii trebuie să fie
pertinente în raport de sistemul informatic studiat.
Inspirat din reţelele Petri, modelul conceptual al prelucrărilor (MCP) are menirea
ca în funcţie de domeniul investigat să răspundă la întrebarea: Ce prelucrări se
realizează?
Fluxurile, receptorii (stimulii) şi emiţătorii (reacţii) prin domeniu sunt modelări ale
evenimentelor şi rezultatelor. Evenimentele şi rezultatele pot fi externe sau interne.
Cele externe provin sau sunt destinate unui actor extern, iar cele interne rămân în
59
domeniu pentru a asigura continuitatea procesului, urmărind satisfacerea sistemului
de pilotaj.
60
Construcţia modelelor organizaţionale 27 reprezintă o etapă delicată şi deseori
complexă datorită varietăţii şi interacţiunii parametrilor de luat în consideraţie:
organizarea intrărilor, varietatea soluţiilor organizaţionale posibile, criterii de
evaluare (economice, sociale, ergonomice, tehnice). Totodată poate fi considerată ca
o etapă accesibilă, deoarece nu apar dificultăţi induse de abstractizare.
27
Nextobjects is based on the Merise Method, www.nextobjects.sourceforge.net
28
Information Systems Group UG2, www.cee.hw.ac.uk/ism/ug2/ass3
61
surprind în acest moment delimitările de modele care apar utilizând percepţia de
gestionare (modele organizaţionale) şi viziunea specialistului informatic (modelele
logice şi fizice).
În cele ce urmează supun atenţiei sinteza reunirii modelelor logice şi fizice ale
datelor, prelucrărilor, comunicaţiei.
62
problemei şi omisiunea celor irelevante. Această metodă a fost creată de James
Rumbaugh şi este cea mai cunoscută şi utilizată metodă de proiectare orientată
obiect (POO). Un sistem informatic este privit ca un ansamblu de obiecte care
cooperează între ele şi tratează obiectele ca instanţe ale unei clase în interiorul unei
ierarhii. Noţiunea de „obiect” 29 este dependentă de implementarea metodei în
limbajele de nivel înalt cum ar fi: ADA, MODULA, SMALLTALK, C++, CLOS
(Common Lisp Object System).
29
Rational whitepaper, www.rational.com
30
Ayache R. N. - The management control function, Boston: the Harvard Business School Press
63
Corespunzător metodologiei31 se parcurg următorii paşi:
• definirea problemei;
OMT propune trei tipuri de modele, obiect, dinamic şi funcţional pentru scopuri şi
descrieri diferite de obiecte, interacţiuni, transformări. Cele trei tipuri de modele
sunt de fapt proiecţii ale unei singure informaţii, fiecare prezentând un anumit
specific. Existenţa şi necesitatea acestor modele solicită şi realizează o strânsă
conexiune între ele. Fiecare model în OMT poate fi reprezentat prin diagrame
distincte32:
31
Rumbaugh's Method, www.iconixsw.com/Rumbaugh.html
32
Castellani X. - Méthodologie générale d’analyse et de conception des systèmes d’objects. 1. L’ingénierie
des besoins, Masson
64
• pentru modelul de obiecte – CAD (Class Association Diagram sau DAC
Diagrama de Asociere a Claselor);
• pentru modelul dinamic – ETD (Event Trace Diagram sau DTE Diagrama de
Trasare a Evenimentelor), precum şi STD (State Transition Diagram) sau
DTS (Diagrama de Tranziţie a Stărilor);
În reprezentarea ciclului de viaţă al unui proiect se utilizează mai multe modele, dar
flexibilitatea metodelor orientate-obiect permite lucrul într-un ciclu de viaţă
„spirală”. Ciclul de viaţă spirală sau modelul spirală, spre deosebire de modelul în
cascadă, specific metodelor structurate, presupune faptul că doar o parte a
modelului trebuie să fie finalizat înainte de a trece la faza următoare. Aceasta
înseamnă că versiunii parţiale ale sistemului pot fi livrate în timp scurt, evaluate şi
validate de către utilizator, proiectantul realizând extrem de rapid analiza pentru
completarea modelelor.
Corectarea erorilor în fazele următoare celei în care s-au produs este foarte
costisitoare (timp, efort), aducând importante prejudicii prin faptul că utilizatorul
trebuie să aştepte până la sfârşitul implementării pentru a vedea dacă sistemul
corespunde necesităţilor exprimate.
65
2.2.2.1. Etapele ciclului de realizare a unui proiect în abordarea orientată–obiect
Analiza are drept obiectiv modelarea problemei din lumea reală sau definirea
Domeniului Aplicaţiei (Application Domain). Proiectantul creează modele de
obiecte şi funcţii fără a lua în considerare aspectele de implementare. În figura 2.11
am reprezentat o secvenţă a activităţi analizei şi modelării evenimentului studiat.
66
Figura 2. 12 Obţinerea modelului de analiză
67
Proiectarea de sistem – împarte modelul de analiză în părţi mai mici, uşor de
înţeles şi construieşte arhitectura sistemului prin identificarea subsistemelor şi
transpunerea lor pe hardware-ul disponibil. Proiectarea de sistem porneşte de la
domeniul aplicaţiei şi ia în considerare conceptele de implementare adică
optimizarea, rafinarea şi extinderea celor trei modele până la nivelul de detaliu care
să permită implementarea. Se poate spune că, analiza descrie problema iar
proiectarea de sistem descrie soluţia. Rezultatul acestei etape este realizarea
arhitecturii de bază a sistemului şi adoptarea deciziilor privind strategia la nivel
global.
Scopul acestei etape este transpunerea declaraţiei problemei aşa cum a fost definită
în etapa de analiză într-o arhitectură adecvată, bazată pe divizarea în subsisteme
precum şi decizii de implementare la nivel global. Rezultatul este un concept de
implementare care rafinează, optimizează şi extinde cele trei modele preluate din
etapa de analiză, până la etapa de proiectare obiectuală care să permită
implementarea propriu-zisă.
68
Faze şi activităţi Modalităţi de Descriere
reprezentare
1. Construirea arhitecturii sistemului
1.1. Organizarea sistemului în subsisteme
a) Importul sistemului DCC Se utilizează din etapa de analiză DCC şi DAC
claselor de bază DAC
b) Alegerea unei arhitecturi Text Se stabileşte arhitectura sistemului
c) Crearea unui Model de DCC la În DAC din etapa de analiză, actorii vor fi
Comunicare între Clase de nivel de înlocuiţi cu subiecţi, clasele de bază vor fi
Nivel de Proiect proiect grupate, se adaugă şi se conectează subiectul
„Clase de Interfaţă”
d) Crearea sistemelor Text Fiecare subiect din diagramă va fi descompus
pentru fiecare subiect într-un sistem cu acelaşi nume.
1.2. Definirea interfeţelor DGM Completarea modelului de comunicare a
DCC claselor la nivel de proiect cu mesajele compuse
nou definite
1.3. Identificarea obiectelor Text Identificarea obiectelor care sunt active în
active concurente şi acelaşi timp şi a celor care au un comportament
exclusive exclusiv
1.4. Alocarea Text Se alocă subsistemele la procesoare, astfel încât
subsistemelor pe să asigure satisfacerea cerinţelor de performanţă
procesoare şi task-uri şi minimizarea comunicării
1.5. Alegerea strategiei de Text Se aleg structurile de date, fişierele sau bazele
bază pentru implementarea de date corespunzătoare
datelor memorate
1.6 Identificarea resurselor Text Identifică resursele globale şi determină
globale şi determinarea mecanismele pentru controlarea accesului
mecanismelor pentru
asigurarea accesului la
date.
1.7. Alegerea variantei de Text
implementare a controlului
1.8. Stabilirea condiţiilor Text
limită
1.9. Stabilire priorităţi
2. Modelarea detaliilor de subsistem
2.1 Definirea modelului de DCC Definirea modelului de comunicare între clase
comunicare a claselor la nivel de sistem din modelul de comunicare la
nivel de proiect
2.2. Detalierea modelului DAC Detalierea modelului obiectual din faza de
obiect analiză
Proiectarea obiectuală – are drept scop alegerea modului de implementare pentru
fiecare clasă, proiectându-se algoritmi şi implementându-se asocierile. Se realizează
69
gruparea claselor în superclase pentru uşurarea implementării şi pentru
îmbunătăţirea performanţelor. În urma acestei etape se obţin: modelul obiectual
detaliat, modelul dinamic detaliat şi modelul funcţional detaliat.
Scopul etapei este de a adăuga la modelul obiectual rezultat al etapelor de analiză şi
proiectare de sistem, detaliile de implementare necesare fie pentru generarea
automată de cod, fie pentru dezvoltarea ulterior fără generare automată. Când se
trece la etapa de implementare prin generare automată de cod, atunci modelul obiect
este singurul utilizat, una din activităţile etapei de proiectare obiectuală
Plecând de la aceste obiective în etapa de proiectare obiectuală operaţiile
identificate în etapa de analiză sunt transpuse în algoritmi iar clasele, atributele şi
asocierile sunt implementate în structuri de date specifice. Modelele utilizate sunt
identice cu cele din etapa de analiză, diferenţa constând în faptul că acum clasele
sunt descrise din punct de vedere al implementării33. Astfel:
33
Object-Oriented Development Interactive Systems, http://citeseer.nj.nec.com/aalto94objectoriented.htm
70
Se poate concluziona că deciziile de proiectare trebuie documentate pornind de la
modelul de analiză, prin adăugarea de detalii modelelor obiectual, dinamic şi
funcţional. În acest scop se vor folosi construcţii specifice de implementare:
pointeri (pentru modelul obiectual) pseudocod structurat (pentru modelul dinamic)
şi expresii funcţionale (pentru modelul funcţional).
Cele trei tipuri de modele recomandate de OMT sunt utilizate începând din etapa de
analiză când se realizează o prima versiune a acestora, apoi în etapa de proiectare
(de sistem obiectuală) când sunt detaliate şi completate şi până la implementarea de
cod. Simbolul utilizat în metodologia OMT pentru reprezentarea unei clase de
obiecte este:
Nume_Clasă
Atribute
Operaţii
Numele clasei trebuie să fie sugestiv în contextul aplicaţiei şi să identifice clasa în
mod unic. De exemplu, pentru o aplicaţie de evidenţă a facturilor pentru fiecare
document utilizat se defineşte un obiect care conţine caracteristicile facturii
relevante pentru aplicaţia informatică.
În OMT atributele sunt reprezentate sub numele clasei, fiind menţionat numele
atributului şi opţional tipul său şi o valoare implicită.
Nume_Clasă
NumeAtribut[:tip=valoare_implicită]
Obiectele se diferenţiază între ele prin valorile atributelor la un moment dat, care
constituie starea obiectului în acel moment. O categorie specială de atribute sunt
cele ale clasei. Un atribut al clasei, simbolizat prin „$” are o valoare comună clasei
de obiecte şi nu unei instanţe specifice.
NumeClasa
/Nume atribut
$Nume_atribut
....
71
Atributul unei clase va descrie o proprietate comună a tuturor obiectelor din clasă şi
nu proprietatea unei clase instanţe. El apare ca atribut al obiectelor din clasă având
pentru fiecare aceeaşi valoare. O categorie aparte de atribute sunt cele derivate a
căror valoare se calculează, reprezentate prin caracterul „/” plasat în faţa numelui.
Fiecare operaţie care se aplică unui anumit obiect devine parametru implicit. O
operaţie este recunoscută după semnătura sa (numele, lista de argumente şi tipul
returnat). Dacă operaţia poate fi accesată din afara clasei semnătura acesteia este
publică spre deosebire de implementare care nu are acest caracter.
Operaţia clasei utilizează simbolul „$” în faţa numelui şi are forma generală:
NumeClasă
NumeAtribut_1:tip_1=valoare_implicită_1
NumeAtribut_2:tip_2=valoare_implicită_2
...
NumeAtribut_m:tip_m=valoare_implicită_m
NumeOperaţie_1(lista_argumente_1):tip_rezultat_1
NumeOperaţie_2(lista_argumente_2):tip_rezultat_2
...
NumeOperaţie_n(lista_argumente_n):tip_rezultat_n
72
Conform metodologiei OMT pentru reprezentarea grafică a unei clase se utilizează
o formă dreptunghiulară având una sau trei regiuni. În cazul în care se apelează la
reprezentarea cu trei regiuni se menţionează numele clasei, atributele şi operaţiile
clasei. Reprezentarea cu o singură regiune conţine doar numele clasei.
Deoarece obiectele sunt abstractizate în clase atunci legăturile vor consta în asocieri.
Este indicat să se modeleze asocierile dintre clase şi nu legăturile dintre obiectele
acestora, motivat prin faptul că obiectele reprezintă instanţe ale asocierii claselor.
Corespunzător unei asocieri apare o valoare ataşată fiecărei legăturii. Există situaţii
în care este necesar ca o asociere să fie modelată drept clasă, identificată prin
reprezentarea:
73
Figura 2. 14 Asociere „Împrumut” modelată ca o clasă
Operaţiile efectuate de „Împrumut” sunt de restituire sau amânare.
Nume de rol reprezintă un concept prin care se identifică capetele unei asocieri. În
cazul în care o clasă are mai mult de o asociere, cu siguranţă că va avea roluri
diferite faţă de fiecare dintre acestea.
Pot exista şi asocieri calificate reprezentate sub forma unu–mulţi sau mulţi–mulţi la
care calificatorul reduce multiplicitatea efectivă. Un calificator distinge seturile de
74
obiecte de la capătul „mulţi” al unei asocieri. Asocierea calificativă este exprimată
sub forma:
În cazul în care o clasă este construită pentru a avea instanţe apare noţiunea clasă
concretă. Moştenirea poate fi ierarhizată pe mai multe nivele. Influenţa generalizării
apare evidentă prin preluarea atributelor şi operaţiilor elementare intersectate
obţinându-se atribute şi operaţii comune. În figura 2.16 am realizat reprezentarea
generală a moştenirii, observându-se că intervine şi mecanismul de specializare
descendent, cu o acţiune opusă celui de generalizare.
34
Doc’s submitted to World Scientific, www.geocities.com/siliconvalley/9219/resume.htm
75
Figura 2. 16 Reprezentarea generală a „moştenirii”
Reprezentare modelului de obiecte se exprimă prin Diagrama de Asociere a
Claselor (DAC) ale cărei noduri sunt clasele de obiecte iar legăturile între clasele de
obiecte sunt reprezentate prin asocieri.
Agregarea este un tip special de asociere între clasa „întreg” şi una sau mai multe
clase „parte”. Pot prezenta spre exemplificare, (figura 2.17) diagrama de asociere
între clase pentru „problema” de urmărire a clienţilor, comenzilor şi stocurilor.
76
2.2.2.3. Modelul dinamic în accepţiunea metodei OMT
Evenimentul reprezintă o situaţie de moment care precede sau succede logic unui
alt eveniment. Evenimentele similare pot fi grupate în clase de evenimente
caracterizate printr-un nume care indică structură şi un comportament comun. Două
evenimente care nu au efect unul asupra altuia sunt concurente.
Scenariul este secvenţă care include evenimentele care apar în timpul execuţiei
sistemului. Scenariul identifică obiectele emiţătoare, receptoare specifice fiecărui
eveniment. Reprezentarea cumulativă a secvenţei de evenimente şi obiecte se
realizează prin Diagrama de Trasare a Evenimentelor (DTE). Rolul diagramei este
de a indica actorii, evenimentele, obiectele şi reunirea acestora în scenarii.
77
Se observă că evenimentele sunt trimise de la un obiect emiţător la un obiect
receptor şi că obiectul care startează evenimentul este iniţiator.
78
Figura 2. 19 Forma generală a unei DTS
35
A Survey of OO Methods, http://students.cs.byu.edu/~pbiggs/survey.html
79
Procesul corespunde unei operaţii care indică „ce date de intrare sunt transformate”
şi „ce date de ieşire se obţin”.
Fluxul de date permite conectarea proceselor la intrarea unui alt obiect sau proces,
putând fi transmis în mai multe locuri.
Actorul constă într-un obiect care produce sau consumă date, numit terminator
ataşat intrării sau ieşirii DFD-ului
Modelul funcţional este format din DFD-uri, adică din grafuri ale căror noduri sunt
procesele, iar arcele fluxurile de date şi de control.
36
N. Yoshida, Object-Oriented Extension for Reuse of Models, 6-th Conf. on Asia-Pacific Design Language
80
2.3 Unified Modeling Language – cale de reunire a conceptelor orientate-obiect
37
Usige UML-based Framework, www.omg.org/news/meetings/worksshops/presentations
81
• UML este folosit pentru modelarea sistemelor informatice de tip discret;
38
Davidescu N. – Proiectarea Sistemelor Informatice prin limbajul UML, Editura ALL Back, Bucureşti
82
• UML permite dezvoltarea şi utilizarea modelării vizuale asigurând înţelegerea
semanticii sistemelor lumii reale cu participarea actorilor (analişti, programatori,
experţi, design-eri, implementatori etc.);
UML are un spectru larg de utilizare putând fi utilizat în toate fazele de dezvoltare
şi pentru toate tipurile de sisteme. Modelare optimală a arhitecturii sistemelor prin
UML îşi propune următoarele scopuri:
83
• fundamentează explicit „binomul” conceptual-soluţia operaţională;
• asigură definirea unui limbaj de modelare utilizat atât de factorul uman cât şi de
suportul fizic utilizat în realizarea sistemului;
Modelarea unui sistem este o sarcină extensivă şi de aceea acesta nu poate fi descris
printr-un singur graf definit integral, fără ambiguităţi, simplu şi inteligibil. Se va
descrie prin intermediul aspectelor: funcţionale care au în vedere structura statică,
dinamică şi interacţiunile; nonfuncţionale legate de coordonare/sincronizare,
fiabilitate, amplasament; organizaţionale legate de specificul activităţii.
Consider că orice sistem poate fi descris printr-un set de vederi, în care fiecare va
reprezenta o proiecţie completă a descrierii sistemului, inclusiv vederea particulară
a aspectelor sistemului. Mai mult, fiecare vedere particulară va fi descrisă printr-un
număr de diagrame care conţin informaţii şi diferite aspecte particulare ale
sistemului. În figura 2.22 am reprezentat vederile specifice cazului de utilizare
(Use-Case VIEWS) fiind o descriere generică a utilizării sistemului prin intermediul
funcţiilor.
84
Figura 2. 22 Proiecţia viziunilor cazului Use Case
Având în vedere faptul că structura datelor, aplicaţiilor cât şi relaţiile dintre acestea
sunt mult mai puţin vulnerabile la schimbarea, comparativ cu funcţiunile,
organizarea sistemului în jurul obiectelor acordă o mare stabilitate de-a lungul
întregului ciclu de dezvoltare. Totodată proprietatea de încapsulare, specifică
orientării obiect, cât şi interfeţele care ascund implementările interne ale obiectelor,
constituie un înalt nivel de protecţie oferit sistemului astfel modelat.
85
Un alt avantaj oferit de abordarea orientată obiect îl constituie liniaritatea
procesului de dezvoltare a sistemului. Deoarece metodologia orientată-obiect
defineşte din primele faze obiectele pe care continuă să le folosească şi să le extindă
de-a lungul întregului proces, separarea dintre fazele ciclului de viaţă este mai puţin
perceptibilă.
O comparaţie între OMT şi unele dintre cele mai răspândite metode orientate obiect,
din punct de vedere al conceptelor utilizate, este prezentată în continuare:
39
Booch method – Wikipedia, www.wikipedia.org/wiki/Booch
40
Project management, www.icaen.uiowa.edu/~softeng/SElinks.html
41
OMT Object Modelling Technique
42
OOD Object Oriented Design
43
OOSE- Object-Oriented Software Engineering
86
Concepte OMT41 OOAD42 Booch OOSE43
Rumbaugh Jacobson
Obiect de control *
Obiect de interfaţă *
central
Cheie/identificator Cheie candidată Cheie
Atribut * Câmp *
Atribut derivat * *
Atribut al asocierii * *
Atribut calificator *
Atribut discriminator *
Restricţii pentru atribut * *
Se poate concluziona că metodologiile orientate-obiect analizate nu se deosebesc
substanţial, ele prezintă de fapt aceleaşi concepte văzute din puncte de vedere
diferite şi cu notaţii diferite.
87
CAPITOL 2...................................................................................................................... 34
METODE MODERNE DE PROIECTARE A UNUI SISTEM INFORMATIC
............................................................................................................................................. 34
2.1. Cerinţe generale în utilizarea unei metode de proiectare a sistemului informatic.... 34
2.1.1. Parametrii specifici de performanţă pentru sistemele informatice .................... 36
2.1.2. Necesitatea şi structura procesului de evaluare a contabilităţii informatizate... 41
2.2. Metodele de concepţie şi de realizare a unui sistem informatic ............................... 45
2.2.1. Caracterizarea metodei Merise .......................................................................... 50
2.2.2. Metoda OMT de proiectare a sistemelor informatice........................................ 62
2.2.2.1. Etapele ciclului de realizare a unui proiect în abordarea orientată–obiect . 66
2.2.2.2. Modelul obiect în metodologia OMT......................................................... 71
2.2.2.3. Modelul dinamic în accepţiunea metodei OMT......................................... 77
2.2.2.4. Modelul funcţional al metodei OMT.......................................................... 79
2.3 Unified Modeling Language – cale de reunire a conceptelor orientate-obiect.......... 81
2.3.1 Avantajele oferite de UML................................................................................. 83
2.3.2 Obiectivele fundamentale ale UML ................................................................... 83
2.4. Comparaţii între metodele de proiectare .................................................................. 85
88