Metode, modele si tehnici moderne de proiectare si
realizare a sistemelor informatice
CUPRINS
1 Proiectarea sistemului informatic ...................................................... 3 2 Metodologii de realizare a sistemelor informatice ............................ 4 2.1 Continutul metodologiilor de realizare a sistemelor informatice........ 5 2.2 Metode si tehnici de realizare a sistemelor informatice .................... 6 3 Metoda MERISE ................................................................................... 8 3.1 Modelarea conceptuala ................................................................. 12 3.2 Modelarea organizationala ............................................................. 16 3.3 Modelarea logica ........................................................................... 17 3.4 Modelarea fizica ............................................................................ 18
1 Proiectarea sistemului informatic Un sistem informatic este un sistem utilizator-calculator integrat, care furnizeaza informatii pentru a sprijini activitatile de la nivel operational si activitatile de management intr-o organizatie, utilizand echipamente hardware si produse software, o baza de date si modele matematice pentru analiza, planificare, control si luarea deciziilor. Sistemul informatic este un ansamblu structurat de proceduri si echipamente electronice care permit prelucrarea automata a datelor si obtinerea de informatii. Locul sistemului informatic in cadrul sistemului economic este ilustrat in figura urmatoare:
Un sistem informatic este compus din: - Baza informationala; - Baza tehnica; - Sistemul de operare; - Baza stiintifica; - Factorul uman ( resursele umane); - Cadrul organizatoric; La realizarea si utilizarea unui sistem informatic trebuie avute in vedere urmatoarele componente hard si soft: retele, echipamente, produse software de baza, produse software de aplicatie. Proiectarea sistemului informatic consta in stabilirea solutiilor logice si specificarea din punct de vedere fizic a componentelor noului sistem si se bazeaza in principal pe rezultatele obtinute din cele doua grupe de activitati premergatoare: SISTEM ECONOMIC: grupeaza toate activitaile ce se desfasoara in cadrul organizational
SISTEM INFORMATIONAL
SISTEM INFORMATIC: activitati informationale automzatizate definirea solutiei de realizare a noului sistem si modelarea noului sistem. Solutia de realizare propusa si aleasa de beneficiarii sistemului sta la baza modelarii noului sistem. Pornind de la aria de cuprindere a noului sistem si de la cerintele formulate se elaboreaza modelul logic si ulterior cel fizic al noului sistem. In cadrul acestor modele sunt descrise: fluxurile de intrare/iesire; procesele elementare si modelele economico-matematice utilizate; functiile noului sistem (seturile de procese); entitatile/obiectele si continutul lor, caracteristicile fiecarui camp, relatiile cu alte entitati; ciclul de viata al entitatilor/obiectelor; corespondenta intre entitati si functii; activitatile ce urmeaza a fi automatizate si cele care raman manuale; detaliile despre fiecare procesor (hardware). In etapa de proiectare se face in primul rand evaluarea si revizuirea componentelor din punct de vedere logic, dupa care se trece efectiv la proiectarea fizica in concordanta cu solutiile tehnice propuse. Activitatile desfasurate pentru proiectarea sistemului sunt: stabilirea arhitecturii sistemului/subsistemelor/modulelor sistemului si proiectarea proceselor; proiectarea bazei de date/fisierelor; proiectarea intrarilor; proiectarea iesirilor; proiectarea interfetei cu utilizatorii; proiectarea programelor.
2 Metodologii de realizare a sistemelor informatice Realizarea sistemelor informatice reprezinta o actiune complexa, care imbina un numar mare de activitati: analiza, proiectare, implementare, exploatare. Acestea necesita utilizarea de resurse umane, materiale si resurse financiare pe o perioada considerabila de timp. Folosirea eficienta a acestor resurse, in scopul obtinerii unui sistem informatic performant a impus ordonarea acestui proces complex, intr-o succesiune bine stabilita de etape si subetape si utilizarea unor metode si tehnici adecvate.
2.1 Continutul metodologiilor de realizare a sistemelor informatice O metodologie de dezvoltare de software este un cadru care este folosit pentru a structura, planifica si controla procesului de dezvoltare a unui sistem informatic. Metodologia trebuie vazuta ca o cale prin care modelele si tehnicile din diferite stadii ale ciclului de proiectare a sistemului informatic sunt puse laolalta, pentru a crea un sistem integrat. Conceptul de metodologie de realizare a sistemelor informatice a aparut deoarece proiectarea unui sistem informatic este o activitate ce impune folosirea unor resurse financiare, umane si materiale, intr-o perioada mare de timp si presupune parcurgerea unui numar mare de grupe de activitati, cu un pronuntat caracter creativ, cum ar fi: analiza de sistem, proiectarea, programarea si implementare. Metodologiile de realizare a sistemelor informatice cuprind: Modalitatea de abordare a sistemelor, pentru stabilirea raportului dintre variatiile sistemului si dinamismului sau; Regulile de formalizare a datelor si proceselor de prelucrare; Instrumentele pentru conceptia, realizarea si elaborarea documentatiei; Modalitatea de derulare a proiectului si actiunile specifice fiecarei etape (ciclul de viata); Definirea modului de lucru, rolului analistilor si proiectantilor si a raportului dintre ei; Modalitatile de administrare a proiectului (planificare, programare, urmarire); Metodologiile de realizare a sistemelor informatice sunt clasificate dupa mai multe criterii. In functie de modul de abordare si domeniul de aplicabilitate, metodologiile utilizate sunt: Metodologii din domeniul gestiunii: AXIAL (firma IBM), MERISE (Ministerul industriei Franta), IE (James Martin), SSADM (Structured System Analysis and Design Methodology - Marea Britanie); Metodologii orientate obiect: OMT (Object Modeling Technique - General Electric SUA), OOD (Michael Jackson); Metodologii pentru conducerea proiectelor de sisteme informatice: SDM / S, METHOD/ 1 Arthur Anderson, NAVIGATOR (Ernst&Young James Martin). In functie de gradul de generalitate, metodologiile sunt: Generale care au un grad inalt de generalitate: SSADM, MERISE, OMT, UML (Unified Modeling Language); metodologii cadru sunt aplicabile exclusiv numai unor produse software: Selection and Implementation of Integrated Packaged Software (SIIPS); metodologii specializate utilizate pentru implementare a unui singur produs software: AIM (pentru Oracle E Business Suite), POIS (pentru Sun Systems), ASAP (pentru SAP).
2.2 Metode si tehnici de realizare a sistemelor informatice La realizarea sistemelor informatice se utilizeaza: metode, tehnici, instrumente, procedee de lucru. Metodele utilizate in proiectarea sistemelor informatice reprezinta modul unitar sau maniera comuna in care analistii de sisteme, programatorii si alte categorii de personae implicate, realizeaza procesul de analiza a sistemului informational-decizional existent, proiectarea si introducerea sistemului informatic. Metoda este un set de reguli aplicabile unui domeniu restrans din cadrul unei metodologii. Tehnicile de lucru utilizate in proiectarea sistemelor informatice reprezinta felul in care se actioneaza eficient si rapid, in cadrul unei metode, pentru solutionarea diferitelor probleme ce apar in procesul de proiectare. Prin aceste tehnici se imbina armonios cunostintele despre metode cu maiestria personala a celor chemati sa aplice metodele si sa utilizeze instrumentele adecvate. Instrumentele utilizate in proiectarea sistemelor informatice sunt mijloacele care se utilizeaza de catre echipa pentru realizarea scopului propus. Instrumentele depind de metodele si tehnicile utilizate, precum si de domeniile de activitate analizate si proiectate. Utilizarea acestor metode, tehnici, instrumente, procedee de lucru in proiectarea sistemelor informatice se face in conformitate cu o serie de principii si in limita unor metodologii de lucru care se adopta in functie de situatia reala la care se refera. Metodele de abordare a sistemelor informatice ar putea fi grupate prin prisma celor mai multi autori astfel: - Metode orientate spre functii, numite si metode ale descompunerii functionale; - Metode orientate spre fluxuri date, deci metode orientate spre procese, deoarece diagramele fluxurilor de date se intrebuinteaza pentru descrierea proceselor; - Metode orientate spre informatie sau date, orientate informatii, aparute ca urmare a popularizarii puternice a ingineriei informatiei a lui James Martin, dar si a diagramelor entitate-relatie ale lui Chen; - Metode orientate-obiect. Metoda descompunerii functionale (orientate functii) Dintre autorii care au abordat descompunerea functionala ii enumeram pe cativa cum ar fi DeMarco, Yourdon si Constantine, Jackson, Page-Jones, Warnier-Orr, Dahl, Marco&Gowan. Descompunerea functionala este cea care anunta aparitia proiectarii structurate si analizei structurate. Fiecare functie este descompusa in subfunctii, pana se obtin structure usor de transpus in instructiunile limbajelor de programare. Metoda fluxurilor de date (orientate process) Prin aceasta metoda analistii efectueaza reprezentarea lumii reale prin simboluri care reprezinta fluxul datelor, transformarile datelor, stocarea datelor, entitati externe, etc. Metoda orientata spre procese are inca un mare grad de asemanare cu descompunerea functionala. Metoda orientata spre informatii (orientate date) Doua realizari importante in domeniu au dat tonul unei orientari in abordarea sistemelor: modelarea datelor cu ajutorul diagramelor entitate-relatie, de catre Peter P Chen (1976) si ingineria informatiei, in viziunea lui James Martin. Metoda orientata-obiect Metodele orientate obiect constituie o categorie particulara a metodelor de dezvoltare software, care privesc construirea sistemelor pentru care clasa reprezinta unitatea arhitecturala fundamentala. Clasa este o grupare logica a obiectelor care au aceeasi structura si un comportament similar. O clasa poate fi divizata in subclase cu proprietatea ca subclasele mostenesc proprietatile clasei si in plus pot avea proprietati suplimentare. Un sistem informatic este gandit ca un ansamblu de obiecte autonome astfel incat datele si prelucrarile (metodele) sunt definite in cadrul aceleiasi structuri si anume obiectul.
3 Metoda MERISE
Metoda MERISE (Methode dEtude et Realisation Informatique par le Sous Ensemble representatif) a fost dezvoltata de Centrul Tehnic de Informatica din cadrul Ministerului de Industrie Francez si reprezinta un instrument tehnico-economic de proiectare a unui sistem informatic. Aceasta metoda asigura cadrul metodologic pentru proiectarea, dezvoltarea si implementarea unui sistem informatic. Metoda MERISE asigura proiectarea de sisteme de gestiune ambitioase permitand dualitatea intre tratamentul evenimentelor trecute si furnizarea elementelor de previziune aplicabile centrelor de responsabilitate. Ea dispune de toate instrumentele care sa permita realizarea etapizata a unui sistem informatic cu grad mare de integrabilitate, pornind de la localizarea unui subansamblu reprezentativ. Numele metodei este abrevierea de la Methode dEtude et de Realisation Informatique par le Sous Ensemble representatif. Avantajele metodei MERISE ca metoda de conceptie a SI sunt: apropierea de sistemul informatic si de structura ideala a BD; descrierea SI pe trei niveluri; utilizarea unui formalism de reprezentare precis, simplu si riguros pentru descrierea datelor. (Formalism, in sensul de mai sus, inseamna un set de definitii si reguli, combinat cu un set de tipuri de diagrame si/sau de tabele.) Acest formalism este reglementat pe plan international de standardul ISO sub numele de ENTITATE-ASOCIERE; descrierea amanuntita la nivel conceptual, permitand realizarea unui SI independent de organizarea firmei si alegerea tehnicii de automatizare; reprezentarea vizuala folosita in modelul conceptual duce la usureaza stabilirea unui dialog intre toti partenerii implicati in realizarea SI. Merise priveste conceperea si realizarea unui sistem informatic sub forma a trei cicluri, vazute ca trei dimensiuni, derulate simultan: Ciclul de abstractizare; Ciclul de viata; Ciclul de decizie.
Ciclul de decizie se refera la toate deciziile care trebuie luate, de la inceputul conceperii sistemului, pana in perioada de intretinere a acestuia, inclusiv. Acesta are rolul de a defini mediul si bazele SI, precum si modalitatile de exploatare ale acestuia. Actorii care apar in acest procesul decizional sunt: managerii, angajatii (utilizatori finali ai SI) si dezvoltatorii de SI. Deoarece luarea deciziilor presupune cooperarea dintre diferite compartimente, este important sa se creeze mai multe grupuri de discutie (grupuri de lucru). Deciziile privesc alegerile efectuate permanent cu privire la solutiile tehnice, functionale, software, organizare, care pana la urma se reflecta in costuri, termene de predare, performante, etc., elemente cheie in orice proiect software. Ciclul de viata presupune existenta a patru etape: realizarea unui plan strategic, realizarea unui studiu preliminar, realizarea unui studiu detaliat si realizarea SI. Ciclul de abstractizare este constituit dintr-o insiruire de rationamente facute in scopul realizarii SI, si constituie faza esentiala a metodei MERISE. Ciclul de abstractizare utilizeaza patru formalisme esentiale pentru modelarea unui sistem informatic, privite din trei puncte de vedere, cel al comunicatiilor, cel al datelor si cel al prelucrarilor. Corespunzator celor patru niveluri amintite anterior: conceptual, organizational, logic si fizic, aplicate celor trei viziuni, rezulta urmatoarele modele: Modelul conceptual al comunicatiilor (MCC); Modelul organizational de comunicatie (MOC); Modelul logic de comunicatie (MLC); Modelul fizic de comunicatie (MFC); Modelul conceptual al datelor (MCD); Modelul organizational al datelor (MOD); Modelul logic al datelor (MLD); Modelul fizic al datelor (MFD); Modelul conceptual al prelucrarilor (MCP); Modelul organizational al prelucrarilor (MOP); Modelul logic al prelucrarilor (MLP); Modelul fizic al prelucrarilor (MFP). Niveluri Date Prelucrari Conceptual Model conceptual MCD Model conceptual MCP Logic sau Organizational Model logic MLD Model organizational MOP Fizic Model fizic MFD Model fizic MFP Tabelul de mai jos prezinta intrebarile care trebuiesc puse pe parcursul realizarii unui SI prin metoda MERISE, raspunsurile care descriu de fapt niste obiecte si modelele astfel reprezentate:
Intrebare Obiecte descrise Nivel de abstractizare Modele rezultate Ce se doreste sa se faca? Date Relatii Reguli de gestiune Inlantuiri de prelucrari Conceptual MCD (static) MCP (dinamic) Cine face? Cu ce? Cand? Oameni Masini Retele diferite Repartitie geografica Logic Organizational MLD MOP Cum se face? Entitati Programe Proceduri Fizic MFD MFP Schematic, ciclul de abstractizare, utilizat de metoda Merise, este prezentat in figura urmatoare:
Modelarea conceptuala presupune, inainte de elaborarea celor trei modele specifice (model conceptual de comunicatie, model conceptual al datelor si model conceptual al intrarilor), identificarea tuturor documentelor vehiculate in cadrul activitatii (sau activitatilor) ce urmeaza a fi informatizate: documente de intrare si documente de iesire. Modelul conceptual de comunicatie (MCC)
Modelul conceptual de comunicatie este un model determinat in urma analizei fluxurilor informationale din cadrul activitatii informatizate. Conceptele fundamentale cu care opereaza acest model sunt:
Fluxurile informationale;
ta intre documente.
Un exemplu de model conceptual de comunicatie pentru activitatea de crediare este prezentat in in figura de mai jos:
Modelul conceptual al datelor (MCD) Realizeaza o modelare abstracta a datelor, plecand de la intrarile si iesirile viitorului sistem, prin utilizarea a trei concepte de baza: entitate, relatie, proprietate. - Entitatea este vazuta ca fiind orice obiect material sau imaginar. - Relatia orice legatura care exista intre obiecte. - Proprietatea o caracteristica (atribut) a unei entitati sau a unei relatii. Tipurile de relatii care pot exista intre entitati sunt: 1-1 unei entitati A ii corespunde o singura entitate B; 1-n unei entitati A ii corespund mai multe entitati B; m-n unei entitati A ii corespund mai multe entitati B si invers. Exemplu:
Fiecare entitate din cadrul tipului de entitate se identifica prin intermediul unui identificator, numit cheia primara a unei entitati una sau mai multe proprietati, care determina celelalte proprietati ale entitatii prin dependenta functionala elementara directa. Etapele parcurse pentru elaborarea MCD Conform metodei MERISE, etapele care trebuie parcurse pentru elaborarea modelului conceptual al datelor sunt: a) Analiza activitatii ce urmeaza a fi informatizate, in vederea culegerii tuturor informatiilor necesare. In aceasta etapa, se analizeaza toate documentele cu care se opereaza, atat cele de intrare, cat si cele de iesire, putand fi formulate si alte cerinte, in materie de documente. b) Elaborarea dictionarului datelor, sub forma unui tabel cu toate atributele culese din documente, in etapa anterioara. Structura tabelului este:
c) Se elimina atributele sinonime, si cele derivate din altele. d) Se stabilesc dependentele functionale intre atributele ramase. Aceste dependente se stabilesc sub forma de graf, si/sau grupate sub forma unei matrice a acestor dependente.
Exemplu de graf al dependentelor functionale elementare:
e) Elaborarea propriu-zisa a diagramei modelului conceptual al datelor la elaborarea acestui model trebuie sa se respecte cateva reguli, cum ar fi: - unicitatea numelor in cadrul modelului toate numele utilizate trebuie sa fie unice: pentru atribute, entitati, relatii. - sa nu contina atribute sinonime si atribute derivate din altele. Exemplu de MCD:
Modelul conceptual al prelucrarilor (MCP) Modelul conceptual al prelucrarilor surprinde prelucrarile informatice efectuate intr-un anumit context. Conceptele de baza cu care opereaza modelul conceptual al prelucrarilor, sunt: - Evenimentul: stimul din afara sistemului sau din interiorul acestuia. Un eveniment poate avea si proprietati; - Operatia: set de actiuni, intreprinse de sistem, ca raspuns la unul sau mai multe evenimente interne sau externe. In urma executiei unei operatii, exista posibilitatea ca acestea sa genereze alte evenimente, conditionate de indeplinirea unor reguli de declansare a acestora; - Sincronizarea: se refera la lista evenimentelor care trebuie sa se produca, concretizate in reguli de activare a unei operatii. Evenimentele se pot grupa in propozitii logice, prin utilizarea operatorilor logici si/sau/nu; - Procesul: se refera la un ansamblu de operatii executate, din acelasi domeniu.
3.2 MODELAREA ORGANIZATIONALA
Modelarea organizationala s-a desprins din modelarea logica, incepand cu a 2-a versiune a metodei Merise. Are ca scop definirea, din punct de vedere organizatoric, a posturilor de lucru, alocarea resurselor umane, materiale, financiare, fluxurile informationale implicate, etc.
Modelul organizational de comunicatie Acest model indeplineste urmatoarele functii: - Evidentierea rolului, locului actorilor si a legaturilor functionale dintre acestia; - Evidentierea tipurilor de actori, care se refera la o categorie de persoane, locuri de munca, etc., identice, care desfasoara aceeasi activitate si care necesita acelasi tip de resurse; - Evidentierea resurselor umane, organizatorice, materiale, financiare necesare fiecarui actor.
Modelul organizational al datelor Principalele elemente care se stabilesc in acest model, sunt: - Se stabilesc proprietatile memorate; - Se specifica volumul informatiilor memorate; - Se realizeaza o repartizare estimata a volumului de informatii memorat pe locuri organizationale; - Se specifica securitatea datelor pe tipuri de actori.
Modelul organizational al prelucrarilor (MOP) Modelul organizational al prelucrarilor ia in considerare timpul si durata desfasurarii unei operatii, resursele alocate si modul de realizare a prelucrarilor, manual sau automat.
3.3 MODELAREA LOGICA
Modelul logic de comunicatie Acesta modeleaza, din punct de vedere arhitectural, suportul tehnic unde va fi implementat sistemul. Se va alege arhitectura retelei de calculatoare unde va fi instalat sistemul.
Varianta instalarii locale a sistemului nu intra in discutie, decat daca este vorba de o firma foarte mica, in cea mai mare parte a cazurilor, solutia aleasa fiind o arhitectura client server, eventual o arhitectura client server WEB. Modelul logic al datelor (MLD) Acesta presupune transformarea MCD intr-un model valid, din punctul de vedere al modalitatii de stocare a datelor: - in fisiere de date; - in baze de date. Metoda MERISE utilizeaza pentru trecerea de la modelul conceptual al datelor, la modelul logic al datelor, conform modelului relational, formalismul ENTITATE/RELATIE, formalism ce presupune, respectarea catorva reguli, care se bazeaza pe cardinalitatile relatiilor dintre entitati, reguli care formuleaza de fapt cateva sabloane de trecere de la MCD la MLD. Se considera urmatorul MCD:
Modelul logic al datelor obtinut este: FACTURA (NrFactura, DataEmiterii) PRODUS (CodProdus, Denumire, UM) CONTINUTFACTURA (NrFactura,CodProdus,Cantitate,Pret) Modelul logic al prelucrarilor (MLP) Acesta priveste elementele de natura organizationala, specificate in nivelul organizational, din punct de vedere logic, realizand o structurare a sistemului in componente logice. Scopul principal al MLP, este transformarea procedurilor functionale, specificate in MOP, in proceduri logice.
3.4 MODELAREA FIZICA
Modelarea fizica, are rolul de a descrie specificatiile tehnice ale sistemului. Modelul fizic de comunicatie Acest model stabileste arhitectura fizica a viitoarei (viitoarelor) retele de calculatoare, interconectarea cu alte retele, unde se va implementa sistemul, etc. Modelul fizic al datelor
Presupune traducerea modelului logic al datelor in cadrul unui sistem de gestiune a bazelor de date sau a unui sistem de fisiere de date. Asa cum s-a mai precizat, varianta utilizarii unui sistem de gestiune a bazelor de date este cea mai buna pentru un sistem informatic financiarcontabil.
Modelul fizic al prelucrarilor Modelul fizic al prelucrarilor realizeaza descrierea efectiva a procedurilor automate de prelucrare a datelor. In functie de solutia software aleasa, procedurile de prelucrare automata a datelor imbraca diverse forme, in functie de sistemul de programare si cel de gestiune alese. In ceea ce priveste solutia fizica finala, din punctul de vedere al datelor si al prelucrarilor este posibil ca modelul fizic al datelor sa fie implementat intr un SGBD, iar prelucrarile in alte medii de dezvoltare, obtinanduse doua solutii software diferite una pentru date si alta pentru prelucrari. Spre exemplu, baza de date poate fi gestionata de SGBD Access, SQL Server, iar prelucrarile sa fie implementate in limbajul Visual Basic, Visual C++, Borland C++ Builder, Delphi, etc
BIBLIOGRAFIE 1. Victoria, Stanciu. Alexandru, Gavrila. Dragos, Mangiuc. Bogdan, Gheorghe, Sahlean. Proiectarea sistemelor informatice. Bucuresti: Editura Dual Tech 2. Ion, Lungu. Gheorghe, Sabau. Manole, Velicanu. (2003). Sisteme informatice:analiza, proiectare si implementare, Bucuresti: Editura Economica 3. Chindea M. E. Proiectarea sistemelor informatice economice, Bucuresti
4. D. Avison, "MERISE: A European Methodology for Developing Information Systems", European Journal of Information Systems