psi - curs 3 uml si case

33
Curs 3 Limbaje pentru modelarea informaţională Cuprins Limbaje pentru modelarea informaţională -UML Elemente de bază ale UML Modelarea cu ajutorul diagramelor UML Instrumente CASE: concepte, facilităţi şi obiective Arhitectura mediului CASE Instrumente CASE pentru analiză şi proiectare orientată obiect

Upload: andrushee

Post on 09-Jul-2016

132 views

Category:

Documents


0 download

DESCRIPTION

PSI ASE

TRANSCRIPT

Page 1: Psi - Curs 3 Uml Si Case

Curs 3 – Limbaje pentru modelarea informaţională

Cuprins

Limbaje pentru modelarea informaţională -UML

Elemente de bază ale UML

Modelarea cu ajutorul diagramelor UML

Instrumente CASE: concepte, facilităţi şi obiective

Arhitectura mediului CASE

Instrumente CASE pentru analiză şi proiectare orientată obiect

Page 2: Psi - Curs 3 Uml Si Case

Modelarea în realizarea sistemelor informatice

Modelarea este una dintre cele mai importante tehnici de concepere a sistemelor informatice.

Un model reprezintă o abstractizare a unei părţi a realităţii înconjurătoare în scopul unei mai bune înţelegeri a produsului ce urmează a fi dezvoltat înainte de a proceda la construcţia propriu-zisă a acestuia.

Odată costruit, modelul serveşte pentru comunicarea atât în interiorul echipei de dezvoltare a acestuia, cât şi în exterior, cu utilizatorii.

Trăsăturile caracteristice ale modelării sunt: simplificarea, subordonarea la un scop, reprezentarea unei realităţi, divizarea, ierarhizarea şi comunicarea.

Page 3: Psi - Curs 3 Uml Si Case

Modelarea în realizarea sistemelor informatice

Analiza şi proiectarea orientată-obiect foloseşte trei tipuri diferite de modele pentru descrierea unui sistem informatic:

modelul static care descrie obiectele si relaţiile lor în sistem;

modelul dinamic ce descrie interacţiunile între obiecte în cadrul sistemului ;

modelul funcţional care descrie transformarea valorii datelor în sistem.

23

Page 4: Psi - Curs 3 Uml Si Case

Limbaje pentru modelarea informaţională

La modul general, limbajele pentru modelarea informaţională fac posibilă descrierea concisă şi exactă a proprietăţilor sistemelor la diferite nivele de abstractizare.

Sunt o parte integrantă a procesului de dezvoltare a sistemelor informatice în cadrul căruia pot fi folosite pentru:

a face legătura între etapa de analiză a cerinţelor şi cea de implementare;

a verifica proprietăţile critice ale unor sisteme;

a ajuta la generarea automată de cod şi de cazuri de test.

Page 5: Psi - Curs 3 Uml Si Case

Categorii de limbaje pentru modelarea informaţională

În funcţie de nivelul de formalizare pe care îl impun, limbajele pentru modelarea informaţională se împart în:

Limbaje informale: limbajul natural

Limbaje semi-formale: UML, BPMN sau SysML

Limbaje formale: OCL (Object Constraint Language), Z

Page 6: Psi - Curs 3 Uml Si Case

Limbajul UML

Limbajul standardizat UML (Unified Modeling Language) a apărut din necesitatea unei standardizări a tipologiei, semanticii şi a reprezentării rezultatelor.

În prezent, UML este un standard de modelare recunoscut de catre OMG (Object Management Group), standardizarea fiind realizată în noiembrie 1997, iar până în prezent realizându-se o perfecţionare continuă a acestuia.

UML poate fi definit ca fiind un limbaj de vizualizare, specificare, construire si documentare a modelelor. Valoarea lui constă în faptul că este un standard deschis, realizează întreg ciclul de dezvoltare al software-ului, acoperă multe tipuri de aplicaţii, este bazat pe marea experienţă a celor care l-au realizat şi poate fi implementat de multe produse de tip CASE.

Page 7: Psi - Curs 3 Uml Si Case

Limbajul UML

UML are notaţii standard şi semantică adecvată modelării sistemelor orientate obiect.

Odată cu apariţia acestui limbaj, proiectanţii de sisteme pot înţelege mai uşor documentaţiile de sistem.

Înaintea acestei standardizări, un proiect orientat-obiect putea fi descris folosind una din multele metode orientate-obiect disponibile, iar dacă era necesară o revizuire, se pierdea un timp important cu analiza notaţiilor şi semanticii metodei folosite, înainte de a începe logica proiectării.

Page 8: Psi - Curs 3 Uml Si Case

Istoria UML

2011 UML 2.4.1

Page 9: Psi - Curs 3 Uml Si Case

Elementele de bază ale UML

1. Metamodel pentru modelarea orientată obiect

Set coerent de definiţii ale unor concepte şi a relaţiilor dintre ele;

Se defineşte, folosind o sintaxă precisă, fiecare element utilizat în modelare (exemplu: definirea unei clase);

Limbaj suport pentru transmiterea modelelor vizuale între diferite instrumente;

Page 10: Psi - Curs 3 Uml Si Case

Elementele de bază ale UML

2. Tipuri de diagrame

Page 11: Psi - Curs 3 Uml Si Case

Elementele de bază ale UML

3. Mecanisme de extensie

Stereotipurile caracterizează un element din model sau o relaţie între elemente există sterotipuri predefinite).

Comentariile (notele) descriu suplimentar un element din model.

Contrângerile limitează utilizarea unui element din model.

Valori etichetate reprezintă atribute definite pentru un stereotip.

Profilele personalizează metamodelul prin construcţii care sunt specifice unui anumit domeniu, platformă sau metodă de dezvoltare.

Page 12: Psi - Curs 3 Uml Si Case

Modelarea cu ajutorul diagramelor UML

Modelarea proceselor de afaceri se realizează folosind diagrama cazurilor de utilizare. Această diagramă dirijează întreg procesul de dezvoltare a sistemului în cazul metodelor orientate pe cazuri de utilizare.

Modelarea structurii statice se face cu ajutorul diagramei claselor (pentru modelarea structurii statice a claselor sistemului) şi diagramei obiectelor (pentru modelarea structurii statice a obiectelor sistemului). Diagrama pachetelor este un mijloc de grupare a elementelor diagramelor în pachete.

Page 13: Psi - Curs 3 Uml Si Case

Modelarea cu ajutorul diagramelor UML

Modelarea dinamicii este realizată utilizând diagrame de interacţiune şi diagrame care descriu comportamentul. UML utilizează două diagrame de interacţiune, una pentru modelarea circuitului mesajelor între obiecte, numită diagrama de secvenţă şi alta, pentru modelarea interacţiunilor între obiecte, denumită diagrama de comunicare. Ca diagrame ce descriu comportamentul, se utilizează diagrama de stare pentru modelarea comportamentului obiectelor din sistem şi respectiv diagrama de activitate pentru modelarea comportamentului cazurilor de utilizare, obiectelor sau a operaţiilor.

Modelarea implementării se face cu ajutorul a două diagrame. Modelarea componentelor se realizează utilizând diagrama componentelor, iar modelarea distribuirii sistemului se obţine folosind diagrama de desfăşurare.

Page 14: Psi - Curs 3 Uml Si Case

Computer Aided Software Engineering

Instrumentele CASE sunt pachete software care se bazează pe o anumită metodologie/metodă şi oferă suport proiectantului în realizarea unui produs informatic.

Utilitatea instrumentelor CASE este de ordin cantitativ (reducerea timpului şi a costului de realizare) şi calitativ (aplicarea riguroasă a unei metodologii de realizare, reducerea deficienţelor de implementare, obţinerea unei documentaţii standard, uşurinţa la reproiectare).

Instrumentele CASE reduc substanţial sau elimină multe din problemele de proiectare şi dezvoltare a aplicaţiilor informatice.

Page 15: Psi - Curs 3 Uml Si Case

Analiză între dezvoltarea tradiţională şi dezvoltarea bazată pe CASE a SI

Dezvoltarea tradiţională a sistemelor informatice

Dezvoltarea sistemelor bazată pe CASE-uri

Pune accentul pe codificare şi testare

Pune accentul pe analiză şi proiectare

Specificaţiile sunt bazate pe hârtie

Prototipizare interactivă rapidă

Codificarea manuală a programelor

Generarea automată a codului

Generarea manuală a documentaţiei

Generarea automată a documentaţiei

Testarea software-ului în mod continuu

Validarea automată

Întreţinerea codului şi a documentaţiei

Întreţinerea specificaţiilor de proiectare

Page 16: Psi - Curs 3 Uml Si Case

Obiective specificarea corectă şi completă a cerinţelor sistemului;

reducerea timpului şi costului de proiectare şi dezvoltare;

obţinerea unor specificaţii de proiectare exacte, actuale, cu prezentare vizuala;

integrarea activităţilor de proiectare şi dezvoltare prin utilizarea unor metodologii/metode comune;

standardizarea procesului de proiectare şi dezvoltare a sistemelor informatice;

simplificarea şi îmbunătăţirea procesului de testare;

realizarea unor documentaţii de calitate;

îmbunătăţirea managementului proiectelor;

simplificarea etapei de întreţinere a sistemelor informatice;

reutilizarea modulelor aplicaţiilor şi a documentaţiei;

îmbunătăţirea portabilităţii aplicaţiilor;

flexibilitate

Page 17: Psi - Curs 3 Uml Si Case

Facilităţi oferite de CASE

suport pentru conducerea proiectului (management resurse si versiuni)

generarea documentaţiei de realizare a sistemului informatic;

generarea automată a codului de program, pornind de la specificaţiile de proiectare;

tehnica de inginerie inversă (reverse ingineering) prin care se permite revenirea la o etapă precedentă pentru modificări .

suport pentru una sau mai multe metode de analiză şi proiectare a sistemelor informatice. Principalul suport oferit îl constituie editoarele de diagrame şi text;

stocarea şi regăsirea datelor din depozitul central de date (repository) prin utilitare specifice;

verificarea automată a consistenţei şi completitudinii datelor printr-un analizor ce conţine reguli specifice pentru fiecare metodologie/metodă;

suport pentru realizarea de prototipuri, prin limbaje de programare de nivel înalt şi generatoare;

Page 18: Psi - Curs 3 Uml Si Case

După aria de cuprindere a ciclului de realizare a aplicaţiei: Instrumente CASE front-end (sau upper CASE care oferă suport

pentru primele etape de realizare a aplicaţiilor informatice (analiza şi specificarea cerinţelor, proiectarea logică .

Instrumente CASE back-end (sau lower CASE care oferă suport pentru ultimele etape de realizare a aplicaţiilor informatice proiectarea fizică, elaborarea programelor, testarea, întreţinerea

sistemului). Instrumente CASE cross life cycle care oferă suport pentru

activităţile ce apar în mai multe etape ale procesului de proiectare şi dezvoltare a sistemelor informatice (de exemplu, instrumente utilizate pentru managementul proiectului, generatoare de documentaţie).

Tipologia instrumentelor CASE

Page 19: Psi - Curs 3 Uml Si Case

Tipologia instrumentelor CASE

După dimensiunea suportului oferit: Instrumente CASE propriu-zise ce oferă suport pentru o singură

activitate din cadrul unei etape de realizare a aplicaţiilor (de exemplu, editoare de diagrame şi text, instrumente pentru analiza consistenţei şi completitudinii specificaţiilor de sistem, depanatoare etc.);

Bancurile de lucru CASE (workbenches) care oferă suport pentru o etapă din ciclul de realizare a aplicaţiei;

Mediile CASE care oferă suport pentru cea mai mare parte sau toate dintre etapele de realizare a sistemului informatic. Din această categorie fac parte următoarele instrumente: Oracle Designer/Oracle, )BM Rational Architect (Rational Rose)/IBM, Cradle/3SL, Corporate Modeler/CASEWise Inc etc.

Page 20: Psi - Curs 3 Uml Si Case

După scopul utilizării: Instrumente CASE pentru analiză care utilizează în general

metode de analiză structurată şi orientată obiect. Instrumente CASE pentru proiectare (instrumentele pentru

generarea automată a codului, generatoare de interfeţe, instrumente pentru inginerie inversă, instrumente pentru modelarea datelor .

Instrumente CASE pentru testare şi depanare (generatoare de date pentru testare, instrumente de depanare interactive).

Generatoare de interfaţă (generatoare de forme, generatoare de rapoarte, generatoare de meniuri).

Generatoare de documentaţie (editoare de imagini, instrumente pentru formatarea paginii (layout)) etc

Tipologia instrumentelor CASE

Page 21: Psi - Curs 3 Uml Si Case

Arhitectura mediului CASE

Editoare

pentru diagrame

Generatoare

de rapoarte, forme

Instrumente

pentru validare/verificare

Instrumente

pentru conducerea proiectului

Utilitare

pentru transformare

Instrumente

pentru

generarea automată

a documentaţiei

Utilitare

pentru testare şi depanare

Instrumente

pentru inginerie inversă

Depozitul

de date central

Instrumente

pentru generarea automată

a codului

Page 22: Psi - Curs 3 Uml Si Case

Arhitectura mediului CASE

Depozitul de date central (nucleul unui mediu I-CASE) stochează toate obiectele şi informaţiile necesare pentru proiectarea, modelarea şi generarea aplicaţiilor. Contine:

Depozitul de informaţii conţine informaţiile despre afacerile organizaţiei şi portofoliul ei de aplicaţii.

Dicţionarul de date gestionează şi controlează accesul la depozitul de informaţii. El stochează descrieri ale datelor şi ale resurselor de prelucrare a datelor.

Editoarele pentru diagrame permit reprezentarea vizuală a unui sistem şi a componentelor lui. Diagramele sunt foarte eficace pentru reprezentarea fluxurilor de procese, a structurilor de date şi a structurilor de program.

Utilitarele pentru transformare convertesc elementele obţinute cu instrumentele de analiză în elemente ale proiectării.

Page 23: Psi - Curs 3 Uml Si Case

Arhitectura mediului CASE

Generatoarele de forme şi rapoarte sunt utilizate pentru a crea, modifica şi testa prototipurile de forme şi rapoarte şi pentru a identifica datele care vor fi afişate sau colectate pentru fiecare formă şi raport

Instrumentele CASE pentru validare/verificare generează rapoarte prin care se identifică inconsistenţele, redundanţa şi lipsurile din diagrame, forme şi rapoarte.

Instrumente pentru generarea automată a codului pornind de la specificaţiile de proiectare conţinute în depozitul de date central (instrumente pentru generarea obiectelor bazei de date şi a modulelor aplicaţiei).

Page 24: Psi - Curs 3 Uml Si Case

Instrumente CASE pentru analiză şi proiectare orientată obiect Instrumentele CASE pentru analiză şi proiectare orientată obiect sunt

printre cele mai noi tipuri de instrumente CASE. Ele promovează realizarea iterativă a sistemelor şi aplicaţiilor

informatice, ceea ce permite revenirea la etapele anterioare pentru efectuarea unor completări sau modificări pe măsură ce se conturează arhitectura sistemului informatic.

Proiectarea orientată obiect încurajează modularitatea, extensibilitatea şi reutilizarea codului. Aceste instrumente conţin: utilitare pentru descrierea obiectelor, claselor şi a proprietăţilor lor

(diagrame pentru descrierea statică şi dinamică), precum şi lucrul cu acestea;

generatoare specializate pentru generarea codului, generarea documentaţiei etc.

Page 25: Psi - Curs 3 Uml Si Case

Instrumente CASE pentru analiză şi proiectare orientată obiect

La ora actuală există multe instrumente CASE, care utilizează metodele de proiectare orientată obiect, implementează limbajul UML, iar limbajele orientate obiect sunt foarte populare (C++, Java pentru aplicaţii Web etc).

Exemple de instrumente CASE bazate pe UML: Visual Paradigm for UML Rational Software Modeler MagicDraw Microsoft Visio Poseidon for UML Enterprise Architect BOUML Modelio UModel

Page 26: Psi - Curs 3 Uml Si Case

Visual Paradigm Visual Paradigm pentru UML (VP-UML) este un instrument CASE de ultimă

generaţie Se axează pe trei direcţii principale:

Identificarea Construirea de Generarea de cod şi cerinţelor modele baze de date Asigură interoperabilitatea cu alte instrumente CASE Visio, Visual UML,

Rational şi integrarea cu instrumentele )DE de marcă Net Beans Acoperă mare parte a ciclului de viaţă al unui sistem informatic

Page 27: Psi - Curs 3 Uml Si Case

Visual Paradigm Include modele ale unor limbaje standard

Modelarea UML- Pot fi create toate tipurile de diagrame UML 2.x prin construirea

de modele de cazuri de utilizare, comportamentale, de interacţiune, structurale, de amplasare, de cazuri de test.

Modelarea BPMN – Pot fi create: diagrame de procese de afaceri, diagrame de flux de date, diagrame de hărţi de procese, diagrama lanţului de procese conduse prin evenimente, organigrame. Diagramele de procese de afaceri pot fi exportate în BPEL.

Modelarea SysML - SysML este un limbaj general pentru ingineria aplicaţiilor şi sistemelor informatice. VP-UML permite crearea diagramei de cerinţe specifice limbajului SysML.

Page 28: Psi - Curs 3 Uml Si Case

Visual Paradigm

Modelarea cerinţelor )dentifică cerinţele prin intermediul a mai multe mecanisme: Diagrame de cerinţe SysML pentru a identifica cerinţele funcţionale sau

non-funcţionale ale sistemului. Analiza textuală oferă editor de text prin intermediul căruia sunt

înregistrate cerinţele în format textual şi care permite identificarea termenilor sau obiectelor importante (clase, cazuri de utilitare) pentru descrierea problemei.

Cardurile CRC conţin informaţii precum descrirea clasei, atributele acesteia şi responsabilităţile. Au formate proprii de afişare a informaţiilor.

Editorul de interfeţe utilizator prin intermediul căruia se crează machete ale ecranelor.

Managementul glosarului de termeni prin care se identifică şi se descrie vocabularul proiectului.

Page 29: Psi - Curs 3 Uml Si Case

Visual Paradigm

Modelarea bazelor de date Se pot crea două tipuri de diagrame pentru modelarea bazelor de date:

diagrame Entitate-Relaţie şi diagrame ORM Object Role Modeling (pentru a vizualiza maparea dintre modelul de obiecte şi modelul de date).

Se pot modela nu numai caracteristici ale tabelelor, ci şi proceduri stocate, declanşatori, secvenţe şi viziuni ale bazei de date într-o diagramă Entitate-Relaţie.

Diagramele se pot construi de la zero sau prin inginerie inversă plecând de la o bază de date existentă.

Sincronizare între diagrama de clase şi diagrama Entitate-Relaţie pentru a asigura consistenţa între cele două modele.

Generarea de cod SQL pornind de la modele.

Page 30: Psi - Curs 3 Uml Si Case

Visual Paradigm Generare de cod Generatoarele de inginerie inversă şi directă oferă suport pentru ingineria

modelelor. Facilitatea Java Round-Trip engineering permite sincronizarea continuă a codului şi a modelului pentru limbajul Java.

Model Inginerie directă Inginerie inversă Java x x

C++ x x

XML Schema x x

PHP x x

Python Source x x

Objective-C x x

CORBA IDL Source x x

.NET dll sau fişiere .exe x

CORBA IDL Source x

XML (structure) x

JDBC x

Hibernate x

C# x

VB.NET x

ODL x

ActionScript x

Delphi x

Perl x

Ada95 x

Ruby x

Page 31: Psi - Curs 3 Uml Si Case

Visual Paradigm

Integrarea cu medii IDE Oferă suport pentru întreg ciclul de dezvoltare a unui sistem informatic

folosind pentru etapa de programare următoarele produse de tip IDE : Eclipse

NetBeans/Sun ONE

IntelliJ IDEA

Generarea documentaţiei Documentaţia poate fi partajată şi proiectată împreună cu beneficiarii

sistemului folosind unul dintre formatele: HTML (report generation) , HTML (project publisher) , PDF , Word.

Page 32: Psi - Curs 3 Uml Si Case

Tendinţe în dezvoltarea instrumentelor CASE

În ultimul deceniu, tehnologiile CASE şi piaţa pentru CASE au devenit mature. Un factor poate stimulează piaţa pentru instrumente CASE este dorinţa organizaţiilor de a extinde durata de viaţă a sistemelor informatice existente, prin utilizarea: i) instrumentelor CASE cu facilităţi de inginerie inversă ce

permit adaptarea programelor la noile configuraţii hardware. Analistul poate restructura codul pentru a corespunde la cerinţele curente ale afacerii;

ii) instrumentelor CASE cu facilităţi de reinginerie care permit modificarea sistemului informatic existent, în scopul de a îmbunătăţi calitatea sau performanţa lui.

De asemenea, instrumentele CASE orientate obiect şi cele vizuale se vor dezvolta rapid, iar inteligenţa artificială va fi inclusă în mediile de dezvoltare (utilizarea unor agenţi inteligenţi).

Page 33: Psi - Curs 3 Uml Si Case

Tendinţe în dezvoltarea instrumentelor CASE

Creşterea nivelului de integrare a instrumentelor CASE depinde în mare măsură de definirea unui standard pentru depozitul central de date care să fie recunoscut de majoritatea instrumentelor.

Cu toate că tehnologia CASE este considerată de unii specialişti ca fiind încă imatură, ea oferă un suport important în realizarea sistemelor informatice.

Deşi tind să acopere integral ciclul de realizare a sistemelor, instrumentele CASE nu vor reuşi să înlocuiască echipa de realizare a sistemelor, dar vor aduce schimbări importante în modul de realizare a sistemelor. Astfel, primele etape de realizare a sistemelor (analiza şi proiectarea) vor căpăta o importanţă tot mai mare, în detrimentul etapelor finale de realizare a sistemelor (elaborarea programelor, implementarea şi menţinerea în funcţiune).