Concepte UML Metodele de analiz i proiectare O
- Slides: 29
Concepte UML
Metodele de analiză şi proiectare � O metoda este un set integrat de tehnici si proceduri aplicate într-o anumită ordine ce au ca rezultat documentarea aplicatiei � Proces, notaţie, metodă, metodologie � Metodele de APOO au apărut ulterior programării OO � Dar şi când au început să apară. . � fiecare metodă folosea propriul limbaj grafic � De aici nevoia de unificare a limbajului grafic � Unificarea MPA nu a avut acelasi succes ca unificarea limbajului grafic: Rational Unified Process (RUP), DMR Macroscope, IBM Global Services Method şi Fujitsu SDEM
Limbajele de modelare � Un limbaj de modelare, privit la modul general, poate fi definit ca o serie de concepte, principii, procedee şi mecanisme de extensie utilizabile pentru abstractizarea unor probleme din anumite domenii � Limbajul de modelare poate fi independent şi de metoda de AP şi de limbajul de programare
UML � Nu este o metodă de analiză şi proiectare � Este un limbaj universal de reprezentare a unui sistem informatic în oricare fază a dezvoltării � este un limbaj vizual pentru specificarea, construirea şi documentarea elementelor sistemelor (OMG) � Poate fi folosit: ◦ În orice domeniu de aplicaţii ◦ Cu orice metodă de analiză şi proiectare ◦ Pentru toate platformele de implementare (J 2 EE, . NET) � Nu trebuie folosite toate posibilităţile de modelare
UML presupune aplicarea unui proces iterativ şi incremental, condus prin cazuri de utilizare şi centrat pe o arhitectură ü iterativ - procesul este împărţit în mai multe iteraţii, iar în cadrul fiecăreia se vor parcurge fazele ciclului de viaţă ü incremental – fiecare iteraţie va avea ca rezultat un increment, adică o versiune nouă a sistemului ce conţine funcţionalitate sporită ü condus prin cazuri de utilizare – CU (cerinţe funcţionale) stau la baza definirii conţinutului unei iteraţii ü centrat pe o arhitectură – preocuparea pentru definirea modului de organizare generală a sistemului încă de la începutul proiectului Ø arhitectură = organizarea de bază a sistemului ca un tot
UML ü ultima versiune – 2. 5. 1 (octombrie 2012) ü specificaţiile UML – 4 părţi: ü Superstructură – defineşte notaţia şi semantica elementelor din diagrame ü Infrastructura – defineşte metamodelul pe care se bazează superstructura ü OCL (Object Constraint Language) – pentru descrierea restricţiilor asociate elementelor din model ü UML diagram interchange – descrie modul de transfer a diagramelor dintr-un mediu în altul
Vocabularul UML �Elemente �Relaţii (între elemente) �Extensii (aplicabile elementelor şi relaţiilor) �Diagrame (alcătuite din elemente şi relaţiile dintre acestea)
Elemente UML �Elemente structurale �Elemente comportamentale �Elemente de grupare �Elemente explicative
Elemente structurale � sunt substantivele din modelele UML � principalele elemente structurale UML sunt clasele. � Tot elemente: interfeţele, colaborările, cazurile de utilizare, actorii, clasele active, componentele şi nodurile � Clasele se reprezintă cu un dreptunghi în care sunt evidenţiate trei componente: numele clasei, atributele şi operaţiile clasei
� � � � clasă este abstractă -> numele ei se scrie cu caractere italice; deasupra numelui clasei, se scrie stereotipul acesteia între caracterele „<< >>”; în faţa numelui clasei se scrie, metaclasa specializată prin aceasta; în faţa numelor atributelor şi a operaţiilor se scrie simbolul de vizibilitate; numele fiecărui atribut este urmat de tipul de dată al acestuia; multiplicitatea unui atribut: data_receptie[0. . 1] : Date tipurile de dată ale atributelor pot fi precedate de valorile iniţiale acestora; dacă o operaţie este abstractă, toate proprietăţile ei se scriu cu caractere italice; operaţiile sunt urmate de lista de parametri, prezentată între paranteze rotunde „( )”; în lista de parametri se specifică: tipul (intrare, ieşire, intrare/ieşire), numele, tipul de dată şi o eventuală valoare implicită; după numele fiecărui parametru se scrie caracterul două puncte „: ” şi tipul de dată al acestuia; chiar dacă o operaţie nu are nici un parametru, după numele acesteia, tot se scriu parantezele rotunde; dacă o operaţie întoarce o valoare, după închiderea parantezei rotunde, destinate specificării parametrilor, se scrie caracterul două puncte şi tipul de dată al valorii întoarse.
� Simbolul folosit în UML pentru reprezentarea unui obiect instanţiat dintr-o anumită clasă este tot un dreptunghi în care sunt evidenţiate doar două din cele trei părţi: identitatea şi starea. A treia parte, comportamentul, nu se reprezintă şi în simbolul fiecărui obiect, deoarece acesta este comun tuturor obiectelor instanţiate din aceeaşi clasă.
Interfaţă � desemnează serviciile (grupurile de operaţii) oferite de clase sau componente. � descriu comportarea vizibilă din exterior a claselor � nu specifică niciodată implementarea acestor operaţii � separă structura unui obiect de implementarea sa � o clasă poate implementa una sau mai multe interfeţe
Elemente comportamentale � sunt verbele unui model � ajung să fie implementate printr-un schimb de mesaje (apelările de metode) �O interacţiune este un set de mesaje schimbat într-un grup de obiecte pentru atingerea unui anumit obiectiv. � O stare de tranziţie este starea prin care trece un obiect ca răspuns la apelări ale anumitor metode.
Elemente de grupare � Spre deosebire de componente (care există în momentul rulării), pachetele sunt doar elemente conceptuale (există doar în timpul dezvoltării), neconcretizându-se obligatoriu în fişiere. � Într-un pachet pot fi introduse elemente structurale, elemente comportamentale şi chiar alte pachete.
Elemente explicative � Comentarii � Tagged valoare (note explicative) values (etichete) = perechi etichetă -
Relaţii UML � Asocieri � Dependenţe � Derivări � Realizări
Asocieri � Asociere: „un mijloc fix este în gestiunea unui anumit gestionar” � Instanţă a unei asocieri: „Mijlocul fix cu numărul de inventar 331265 este în gestiunea lui Popescu” � O asociere poate fi între două sau mai multe clase � Între două clase pot exista mai multe asocieri � Au cardinalităţi
Cardinalităţi ale asocierilor �- 1 – unul şi doar un obiect; � - 0. . 1 – nici unul sau maxim un obiect; � - 0. . * - nici unul sau mai multe obiecte; � - * - tot zero sau mai multe obiecte; � - 1. . * - unul sau mai multe obiecte; � - 1. . n - unul sau maxim n obiecte; � - 0. . n sau n – nici unul sau maxim n obiecte; � - nl, n 2, n 3 - înşiruire de numere, care exprimă numărul de obiecte; � - n - m - număr de obiecte cuprins între n şi m.
În funcţie de numărul de elemente pe care le leagă � binare � n-are � reflexive
Agregarea � Un tip aparte de asociere � o clasă poate fi modelată, ca fiind parte a unei alte clase � Pot fi: fixe, variabile, recursive � Compoziţie � Agregarea partajată
Dependenţe � schimbările într-un element sursă pot determina schimbări în elementul destinaţie � sunt unidirecţionale, un element fiind considerat independent, iar celălalt, dependent.
Derivări � =specializare, � obiectele generalizare, moştenire unei clase derivate moştenesc atribute şi metode ale clasei de bază la care se adaugă membrii clasei proprii � moştenire multiplă
Realizări �o relaţie semantică între două părţi în care una din ele defineşte o funcţionalitate, iar cealaltă o execută � între interfeţe şi clase � Între elemente de analiză (cazuri de utilizare) şi elemente de proiectare (colaborări)
Extensii UML ü Etichetele (tag) ü Restricţiile – (constraints) ü Stereotipuri 1) Etichetele asigură o formă de definire a noi proprietăţi unor elemente deja existente Ø permit asocierea de date unui element din model Ø este sub forma unei perechi “nume-valoare” Ø etichete predefinite – Documentation, Location, Semantics Ø exemple de etichete ce pot fi adăugate: autor, data creare, data ultimei modificări etc. Ø pot fi folosite şi pentru adăugarea informaţiilor necesare generatoarelor de cod
Extensii UML 2) Restricţiile extind semantica elementelor UML prin adăugarea de noi reguli Ø este reprezentată ca o expresie de tip text Ø fiecare expresie are un limbaj de interpretare implicit notaţie formală matematică Ø limbaj natural Ø limbaj de programare Ø OCL – Object Constraint Language Ø Ø restricţii predefinite – Complete, Incomplete, XOR, Disjoint, Overlapping 3) Stereotipurile asigură completarea semanticii unor elemente deja existente Ø apar sub forma <<nume. Stereotip>> Ø sunt folosite de regulă pentru a evidenţia diferite tipuri de clase (<<Interface>>) sau relaţii (<<Become>>)
Întrebări care caută răspuns!!!! Ce sunt profilele UML?
Diagrama de timp
Review. UML. pdf
Webografie � � � http: //ima. udg. edu/~sellares/EINFES 2/uml 2_diagrams. pdf http: //www. uml. org/ http: //ima. udg. edu/~sellares/EINFES 2/uml 2_diagrams. pdf � http: //www. omg. org/news/meetings/worksh ops/MDA-SOA-WS_Manual/00 T 4_Matthews. pdf
- Conversatia euristica
- Functiile evaluarii
- Concepte oop java
- Concepte pedagogice
- Etapele unei lectii
- Proiectare asistata de calculator
- Unitatea de invatare definitie
- Arhitectura software
- Proiectarea didactica
- Uml 0..*
- Kil grubu kantitatif analiz
- Nmerk
- Temel analiz nasıl yapılır
- Spektroskopik analiz yöntemleri
- Risk kontrol önlemlerinin hiyerarşik düzeni
- Dik koordinat
- Podrava
- Van soest analiz yöntemleri
- Iinli
- Spektral analiz
- Diferansiyel termal analiz
- Primer standart madde özellikleri
- Contoh outcome projek
- Yatay analiz yorumlama
- Analiz basamağı soru örnekleri
- Savod o'rgatishning asosiy davri
- Risk analiz yöntemleri
- The shining analiz
- Jacek paziewski arimr
- Sitgis