+ All Categories
Home > Documents > Ingineria Programarii

Ingineria Programarii

Date post: 06-Jan-2016
Category:
Upload: robertcozianu
View: 273 times
Download: 1 times
Share this document with a friend
Description:
Ingineria Programarii. Indrumar de Laborator
Embed Size (px)

of 117

Transcript
  • Ingineria programrii

    2. Limbajul unificat de modelare, UML

    Florin Leon

    Universitatea Tehnic Gheorghe Asachi din Iai Facultatea de Automatic i Calculatoare

    http://florinleon.byethost24.com/curs_ip.htm

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • Limbajul unificat de

    modelare, UML

    1. Modelarea

    2. Limbajul unificat de modelare

    3. Clasificarea diagramelor UML 2.0

    4. Diagramele UML 2.0

    5. Concluzii

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • Limbajul unificat de

    modelare, UML

    1. Modelarea

    2. Limbajul unificat de modelare

    3. Clasificarea diagramelor UML 2.0

    4. Diagramele UML 2.0

    5. Concluzii

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • Modelarea

    Un model este o simplificare a unui anumit sistem, care

    permite analizarea unora dintre proprietile acestuia

    Reine caracteristicile necesare

    Folosirea de modele poate nlesni abordarea problemelor

    complexe, facilitnd comunicarea i nelegerea

    Divide et impera

    Exemple:

    Formalismul matematic

    Reprezentrile din fizic

    Orice limbaj intern poate fi folosit pentru modelare, ns ntr-un context formal este nevoie de standardizare

    4

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • Limbajul unificat de

    modelare, UML

    1. Modelarea

    2. Limbajul unificat de modelare

    3. Clasificarea diagramelor UML 2.0

    4. Diagramele UML 2.0

    5. Concluzii

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 6

    Scurt istoric (I)

    ntre 1989 i 1994 erau folosite mai mult de 50 de limbaje de modelare software, fiecare cu propriile notaii

    Utilizatorii doreau un limbaj standardizat, o lingua franca a

    modelrii

    La mijlocul anilor 90 trei metode s-au dovedit mai eficiente:

    Booch (Grady Booch): potrivit mai ales pentru proiectare i implementare, cu dezavantajul unor notaii complicate

    OMT, Object Modeling Technique (Jim Rumbaugh): potrivit pentru analiz i sisteme informaionale cu multe date

    OOSE, Object Oriented Software Engineering (Ivar Jacobson):

    aceast metod a propus aa-numitele cazuri de utilizare, care ajut la nelegerea comportamentului sistemului n ansamblu

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 7

    Precursorii UML

    Booch

    OMT

    OOSE

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 8

    Scurt istoric (II)

    1994: Jim Rumbaugh, creatorul OMT, a prsit General Electric, alturndu-se lui Grady Booch la Rational Corp.

    1995: Ivar Jacobson, creatorul OOSE, a venit la Rational

    iar ideile lui, n special conceptul de cazuri de utilizare,

    au fost adugate Metodei unificate

    Metoda rezultat a fost numit Limbajul unificat de modelare, UML

    1996: Formarea de ctre Rational a consoriului Partenerilor UML din care fceau parte gigani precum Hewlett-Packard, Microsoft i Oracle

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 9

    UML

    Limbaj pentru specificarea, vizualizarea,

    construirea i documentarea elementelor sistemelor software

    Un limbaj grafic care ne permite s reproducem pe hrtie ceea ce este produs n procesul de dezvoltare a unui sistem software

    Poate fi folosit i pentru alte sisteme, cum ar fi procesele de afaceri (business processes)

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 10

    Versiuni i standardizare

    Ianuarie 1997: UML 1.0 a fost propus spre standardizare

    n cadrul OMG (Object Management Group)

    Noiembrie 1997: versiunea UML 1.1 a fost adoptat ca standard de ctre OMG

    Martie 2003: a fost lansat versiunea 1.5

    Octombrie 2004: versiunea 2.0

    August 2011: versiunea 2.4.1

    UML este standardul ISO/IEC 19501:2005

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 11

    UML

    Ca orice limbaj, UML are:

    Notaii (alfabetul de simboluri)

    Sintax i gramatic (reguli pentru combinarea simbolurilor)

    UML este un instrument de comunicare

    UML nu este o metodologie de dezvoltare

    Dar este determinat de cele mai bune practici n

    domeniu

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • Limbajul unificat de

    modelare, UML

    1. Modelarea

    2. Limbajul unificat de modelare

    3. Clasificarea diagramelor UML 2.0

    4. Diagramele UML 2.0

    5. Concluzii

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 13

    Clase de diagrame

    Diagrame de structur

    Prezint elementele unei specificaii independent de timp

    Includ: diagramele de clase, structuri compuse, componente,

    desfurare (deployment), obiecte i pachete

    Diagrame de comportament

    Prezint trsturile comportamentale ale sistemului

    Includ: diagramele de activiti, maini de stare i cazuri de utilizare, precum i cele 4 diagrame de interaciune

    Diagrame de interaciune

    Scot n eviden interaciunile dintre obiecte

    Includ: diagramele de secvene, comunicare, interaciuni generale (interaction overview) i cronometrare (timing)

    Legend: utilitate practic mare, medie, mic

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 14

    Diagramele UML 2.0 (I)

    Diagrame de structur: ce conine sistemul

    Clase

    Structuri compuse

    Componente

    Desfurare

    Obiecte

    Pachete

    Diagrame de comportament:

    ce se ntmpl n sistem

    Activiti

    Maini de stare

    Cazuri de utilizare

    Diagrame de interaciune: fluxurile de control i date dintre componentele sistemului

    Secvene

    Comunicare

    Interaciuni generale

    Cronometrare Diagrame introduse n UML 2.0

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 15

    Diagramele UML 2.0 (II)

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • Limbajul unificat de

    modelare, UML

    1. Modelarea

    2. Limbajul unificat de Modelare

    3. Clasificarea diagramelor UML 2.0

    4. Diagramele UML 2.0

    5. Concluzii

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 17

    1. Diagrama cazurilor de utilizare

    Descrie interaciunile dintre utilizatori i sistem

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 18

    Actori i cazuri multiple

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 19

    Granularitatea

    Un caz de utilizare trebuie s satisfac un scop pentru actor

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 20

    Avantaje

    Suma cazurilor de utilizare este ntregul

    sistem

    Permit comunicarea cu persoane fr cunotine tehnice IT

    Partiioneaz funcionalitatea, ghideaz dezvoltarea iterativ

    Ajut planificarea i testarea

    Ajut la crearea manualurilor de utilizare

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 21

    Determinarea cazurilor de

    utilizare

    Interviuri cu utilizatori poteniali

    ntlniri cu prile interesate (stakeholders)

    Facilitator, asistent (scribe), modelare CASE

    Brainstorming

    Mai nti actorii

    Apoi posibilele cazuri de utilizare

    Justificarea fiecrui caz de utilizare

    Descriere simpl, de o linie sau un paragraf

    Toate ideile trebuie documentate

    Cazurile de utilizare nu trebuie s fie perfecte de prima dat, se vor rafina ulterior

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 22

    Actori primari i secundari

    beneficiaz ia parte

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 23

    Identificarea actorilor

    Exemplu: timpul poate fi un actor

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 24

    Generalizarea actorilor

    note (comentarii)

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 25

    Relaiile dintre cazurile de utilizare (I)

    Include: pentru reutilizare

    Doar Check Identity

    este conectat cu

    Author Credentials

    Database

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 26

    Relaiile dintre cazurile de utilizare (II)

    Generalizarea cazurilor de utilizare:

    reutilizare cu modificri

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 27

    Relaiile dintre cazurile de utilizare (III)

    Extend: comportament

    opional, depinznd de o decizie (de implementare

    sau din timpul execuiei)

    Diferit de incluziune i generalizare!

    O relaie mai puin intuitiv

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 28

    Specificarea cazurilor

    de utilizare (I)

    Pre-condiii

    Utilizatorul s-a logat

    i s-a autentificat ca administrator

    Post-condiii

    Participantul a fost

    eliminat de la curs

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 29

    Specificarea cazurilor

    de utilizare (II)

    Fluxuri de extensie (fluxuri alternative sau fluxuri de excepie)

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 30

    Storyboard (tabl de naraiune)

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 31

    2. Diagrama de clase

    Clasa

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 32

    Vizibilitatea trsturilor

    Public

    Protejat

    Pachet

    Privat

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 33

    Vizibilitatea n C# i Java

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 34

    Reprezentarea atributelor

    Inline (n interiorul clasei)

    Prin asociere

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 35

    Vizibilitatea atributelor

    De obicei private sau protejate

    Nu se recomand atribute publice, dect:

    Pentru constante

    Atribute read-only

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 36

    Operaiile

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 37

    Parametrii i tipurile de return

    Constructor

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 38

    Trsturi statice

    Trsturi (features) = atribute i operaii

    Trsturile statice se subliniaz

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 39

    Relaii ntre clase

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 40

    Dependena

    O clas folosete pentru scurt timp o alt clas: trimiterea unui mesaj, trimiterea ca parametru

    Exemplu: metodele clasei Math

    Din punct de vedere al implementrii:

    Instanierea unei clase ntr-o metod

    Primirea unui obiect ca parametru ntr-o metod

    Crearea i returnarea unui obiect dintr-o metod

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 41

    Asocierea

    De obicei, o clas are un cmp instaniat din cealalt clas

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 42

    Direcia de citire

    Direcia de citire este de obicei de la stnga la dreapta i de sus n jos

    Direcia de citire se poate indica explicit

    Sgeata care indic direcia de citire nu trebuie pus pe linia de asociere!

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 43

    Validarea asocierilor

    Fiecare. Obiect. Este predat ca. 0 sau mai multe. Cursuri.

    Fiecare. Curs. Este pentru. Unul i numai unul. Obiect.

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 44

    Asociere complex

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 45

    Asociere unidirecional

    Numai o clas tie de cealalt

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 46

    Cardinalitatea (multiplicitatea)

    asocierii

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 47

    Asocieri multiple (I)

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 48

    Asocieri multiple (II)

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 49

    Agregarea

    O clas are dar partajeaz obiecte din cealalt clas

    Este o relaie de tip ARE-UN / ARE-O

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 50

    Compunerea

    Atributele compun clasa

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 51

    Implementarea

    Din punct de vedere al implementrii, asocierea, agregarea i compunerea sunt identice

    Presupun introducerea unui atribut (cmp)

    Dac nu sunt evidente sau foarte importante distinciile privind agregarea sau compunerea, este mai simplu s se foloseasc numai relaiile de asociere

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 52

    Motenirea (generalizarea)

    Este o relaie de tip ESTE-UN / ESTE-O

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 53

    Regula 100%

    Toate definiiile clasei de baz trebuie s se aplice tuturor claselor derivate

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 54

    Corectitudinea generalizrilor

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 55

    Motenire multipl

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 56

    Recomandare

    Compunerea ar trebui preferat motenirii

    Motenirea este cea mai puternic form de cuplare

    n general, compunerea este mai uor de gestionat

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 57

    Clase i operaii abstracte

    virtual

    abstract

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 58

    Interfee

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 59

    Template-uri

    De exemplu: List tipul este specificat n implementare

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 60

    Constrngeri

    Tipuri de constrngeri: Invariante

    Pre-condiii Post-condiii

    OCL (Object Constraint Language) parte din UML 2.0

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 61

    Recomandri

    Nu introducei prea multe informaii n diagram

    Ignorai atributele i operaiile necritice

    Artai ntr-o diagram numai clasele relevante pentru un caz de utilizare

    Nu includei clasele sistem (string, Hashtable etc.)

    Nu includei prea devreme informaii despre implementare (navigabilitate, vizibilitate)

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 62

    3. Diagrama de obiecte

    Arat cum se comport obiectele ntr-un anumit

    scenariu, cum interacioneaz

    Asocierile corespund

    asocierilor dintre clase

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 63

    Template-uri

    De exemplu: List tipul este specificat n momentul execuiei

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 64

    4. Diagrama de activiti

    merge = mbinare

    Aceste diagrame descriu logica

    procedural, procesele

    Sunt asemntoare schemelor logice, dar suport i paralelismul

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 65

    Activiti i aciuni

    Activitatea este procesul modelat

    O aciune este un pas din activitate

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 66

    Decizii i mbinri

    Condiiile trebuie s fie complete i mutual exclusive Pasul urmtor trebuie s fie unic determinat

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 67

    Teste incomplete

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 68

    Procese paralele

    fork = ramificaie join = reunire

    Se folosesc pentru procese sau fire de execuie multiple La reunire, se ateapt terminarea tuturor aciunilor incidente

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 69

    Evenimente de timp

    Perioad de ateptare

    Eveniment de timp recurent

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 70

    Apelarea altor activiti

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 71

    Semnale

    Ateapt tot timpul

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 72

    ntreruperi i terminri de flux

    Un flux se poate termina fr a termina ntreaga activitate

    Dac se mai poate mbunti soluia n 2 secunde, este foarte bine, dac nu, se returneaz rezultatul existent Dup 2 secunde, se returneaz orice rezultat disponibil, mbuntit sau nu

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 73

    Partiii (culoare)

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 74

    Adnotri

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 75

    Conectori

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 76

    Exemple

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 5. Diagrama de secvene

    Arat modul cum lucreaz sistemul

    Greu de neles doar din descrierea structurii

    O diagram corespunde unui singur scenariu

    Include n principal obiecte i mesaje

    Un mesaj poate fi un apel de metod

    Indic ordinea evenimentelor

    Timpul reprezint aici ordinea, nu durata

    Pentru durat, se folosete diagrama de cronometrare

    77

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 78

    Participani

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 79

    Mesaje imbricate

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 80

    Tipuri de mesaje

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 81

    Diagram complex

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 82

    Fragmente

    Controlul secvenial natural poate fi extins cu ajutorul fragmentelor de interaciune

    Fragmentele sunt asemntoare structurilor de control care exist ntr-un limbaj de programare

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 83

    Fragmente opionale

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 84

    Fragmente alternative

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 85

    Referine

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 86

    6. Diagrame de comunicare

    Mesaje imbricate

    Mesaje concurente

    Similare diagramelor de

    secvene, dar se concentreaz pe legturile dintre participani

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 87

    Alte tipuri de mesaje

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 88

    Diagram complex

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 7. Diagrama mainilor de stare

    Obiectele pot reaciona diferit n funcie de stare

    Diagramele mainilor de stare se realizeaz pentru un singur obiect

    Pot descrie comportamentul unui obiect de-a lungul mai multor

    cazuri de utilizare

    Nu sunt potrivite pentru a descrie colaborarea mai multor obiecte

    Sunt folosite intens n anumite tipuri de aplicaii software i hardware, precum:

    Sisteme critice de timp real

    Bancomate

    Jocuri (de exemplu first person shooter)

    89

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 90

    Stri, tranziii, declanatoare, condiii

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 91

    Semnale

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 92

    Stri compuse (I)

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 93

    Stri compuse (II)

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 8. Diagrama de componente

    Pentru proiectele mai complexe, este greu de

    trecut de la analiz direct la definirea claselor

    O component este o parte ncapsulat, reutilizabil i nlocuibil a sistemului

    Componentele comunic prin interfee, pentru a asigura cuplarea slab

    94

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 95

    Notaii pentru componente

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 96

    Notaii pentru interfee

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 97

    Accent pe interfee

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 98

    Accent pe dependene

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 99

    Clasele componentelor

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 9. Diagrama de pachete

    Sistemele software pot avea sute de clase

    Pachetele modeleaz grupuri de clase

    Majoritatea limbajelor de programare importante au un

    corespondent al pachetelor

    C#: namespace

    Java: package

    Deseori diagramele sunt folosite pentru a indica dependenele dintre pachete

    Pachetele pot cuprinde orice element UML, nu doar clase

    De exemplu: cazuri de utilizare

    Componentele corespund nivelului conceptual (mai generale)

    Pachetele corespund nivelului logic, n coresponden cu faza de implementare

    100

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 101

    Pachete

    Organizarea logic

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 102

    Clase n pachete

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 103

    Dependene

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 10. Diagrama de desfurare

    Corespunde nivelului fizic: modeleaz elemente fizice ale sistemului

    Fiiere executabile

    Entiti hardware

    Arat cum sunt atribuite entitile software ctre cele hardware i cum comunic acestea

    Poate include hardware, firmware, sistem de

    operare, medii de execuie, drivere etc.

    Dar trebuie s cuprind doar detaliile importante pentru audien

    104

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 105

    Artefacte

    Organizarea fizic

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 106

    Instane de noduri

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 107

    Comunicaia ntre noduri

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 108

    Exemplu de utilizare

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 109

    11. Diagrama

    structurilor compuse

    Arat cum lucreaz obiectele, cum i ndeplinesc scopurile

    Un port reprezint utilizarea distinct a unei clase

    Porturile pot grupa

    interfee nrudite

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 110

    12. Diagrama de cronometrare

    Folosit mai ales pentru sisteme de timp real sau

    ncorporate

    Arat strile unui obiect i cnd se afl obiectul n aceste stri

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 111

    Constrngeri

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 112

    Notaie alternativ

    Recomandat pentru puine stri

    Recomandat pentru multe stri

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 113

    13. Diagrama

    interaciunilor generale

    Arat cum interacioneaz mai multe entiti pentru a realiza un caz de utilizare

    (sau un scop)

    Poate fi vzut ca o diagram de activiti, dar fiecare aciune este o interaciune complet descris de o diagram distinct

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 114

    Diagramele UML i ciclul de dezvoltare software

    Faza modelrii cazurilor de utilizare

    Faza modelrii domeniului

    Diagrame statice de structur, diagrame de secvene

    Faza modelrii proiectrii

    Diagrame de clase, de maini de stare, de activiti

    Faza modelrii implementrii

    Diagrame de componente, de desfurare

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 115

    Diagramele UML i ciclul de dezvoltare software

    Modelul vizualizrii 4+1 Perspectiva logic Clase, maini de stare,

    secvene .a.

    Perspectiva de proces Activiti

    Perspectiva de dezvoltare Pachete, componente

    Perspectiva fizic Desfurare

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 116

    Concluzii

    UML este un limbaj pentru specificarea, vizualizarea, construirea i documentarea elementelor sistemelor software

    Este un standard de facto pentru modelarea software

    UML 2.0 are 13 diagrame, clasificate n:

    Diagrame de structur

    Diagrame de comportament

    Diagrame de interaciune

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm

  • 117

    Referine

    Majoritatea diagramelor incluse n acest curs

    au fost preluate din urmtoarele surse:

    Hamilton, K., Miles, R. (2006). Learning UML 2.0,

    O'Reilly

    Ariadne Training. UML Applied, 2nd edition, http://ariadnetraining.com/software-courses/images/stories/YesNo/

    ariadne/file/UML_Applied\_Second\_Edition.pdf

    Florin Leon, Ingineria programarii, http://florinleon.byethost24.com/curs_ip.htm


Recommended