Ingineria programării Adriana Gheorghieş, Ovidiu Gheorghieş 23 octombrie / 62
|
|
- Lorin Robert Manole
- 4 ani în urmă
- Vzualizari:
Transcriere
1 Ingineria programării Adriana Gheorghieş, Ovidiu Gheorghieş 23 octombrie / 62
2 Cuprins Diagrama de stari Diagrama de activitati Organizare: pachete UML recapitulare studiu de caz recomandări 2 / 62
3 Eveniment Exemple de evenimente Acţiune Activitate 3 / 62
4 Eveniment Exemple de evenimente Acţiune Activitate Eveniment Acţiune Activitate 4 / 62
5 Eveniment Eveniment Exemple de evenimente Acţiune Activitate Reprezintă ceva atomic care se întâmplă la un moment dat Modelează apariţia unui stimul care poate conduce la efectuarea unei tranziţii Are ataşată o locaţie în timp şi spaţiu Nu are o durată în timp Evenimentele pot fi: sincrone sau asincrone externe sau interne 5 / 62
6 Exemple de evenimente Eveniment Exemple de evenimente Acţiune Activitate semnal=stimul asincron care are un nume, este aruncat de un obiect şi recepţionat de altul (ex. excepţii) apel de operaţie (de obicei sincron) trecerea timpului schimbarea rezultatului evaluării unei condiţii 6 / 62
7 Acţiune Eveniment Exemple de evenimente Acţiune Activitate Reprezintă execuţia atomică a unui calcul Are ca efect: returnarea unei valori schimbarea stării Are o durată mică în timp Exemplu: i++; 7 / 62
8 Activitate Eveniment Exemple de evenimente Acţiune Activitate Repezintă execuţia neatomică a unor acţiuni Are o durată în timp Exemplu: vorbitul la telefon execuţia unei funcţii 8 / 62
9 Stare Stare: Notaţie grafică Tranziţie internă Tranziţie Exemplu de tranziţie Stări compuse Exemplu de stare compusă (1) Exemplu de stare compusă (2) 9 / 62
10 Stare Stare: Notaţie grafică Tranziţie internă Tranziţie Exemplu de tranziţie Stări compuse Exemplu de stare compusă (1) Exemplu de stare compusă (2) Folosită pentru a modela comportamentul unui singur obiect. Specifică o secvenţă de stări prin care trece un obiect de-a lungul vieţii sale ca răspuns la apariţia unor evenimente împreună cu răspunsul la acele evenimente. Conţine: Stări Tranziţii 10 / 62
11 Stare Stare Stare: Notaţie grafică Tranziţie internă Tranziţie Exemplu de tranziţie Stări compuse Exemplu de stare compusă (1) Exemplu de stare compusă (2) Reprezintă o perioadă din viaţa unui obiect în care acesta: satisface anumite condiţii, execută o acţiune sau aşteaptă apariţia unui eveniment. Stările pot fi: simple compuse concurente secvenţial active 11 / 62
12 Stare: Notaţie grafică Stare Stare: Notaţie grafică Tranziţie internă Tranziţie Exemplu de tranziţie Stări compuse Exemplu de stare compusă (1) Exemplu de stare compusă (2) Typing Password entry/set echo invisible exit/set echo normal character/ handle character help/display help Elementele unei stări: nume tranzitii interne stare initiala stare finala nume: identifică o stare tranziţii interne: acţiuni şi activităţi pe care obiectul le execută cât timp se află în acea stare. 12 / 62
13 Tranziţie internă Stare Stare: Notaţie grafică Tranziţie internă Tranziţie Exemplu de tranziţie Stări compuse Exemplu de stare compusă (1) Exemplu de stare compusă (2) Forma generală a unei tranziţii interne: nume eveniment ( lista parametrilor ) [ cond gardă ] / acţiune nume eveniment identifică circumstanţele în care acţiunea specificată se execută nume predefinite: entry, exit, do, include cond gardă este o expresie booleană care se evaluează la fiecare apariţie a evenimentului specificat; acţiunea se execută doar în cazul în care rezultatul evaluării este TRUE. acţiunea poate folosi atribute şi legaturi care sunt vizibile entităţii modelate 13 / 62
14 Tranziţie Stare Stare: Notaţie grafică Tranziţie internă Tranziţie Exemplu de tranziţie Stări compuse Exemplu de stare compusă (1) Exemplu de stare compusă (2) Reprezintă o relaţie între două stări Indică faptul că un obiect aflat în prima stare va efectua nişte acţiuni şi apoi va intra în starea a doua atunci când un anumit eveniment se produce. Notaţie grafică: Stare sursa nume eveniment(lista parametrilor)[cond garda]/actiune Stare destinatie 14 / 62
15 Exemplu de tranziţie Stare Stare: Notaţie grafică Tranziţie internă Tranziţie Exemplu de tranziţie Stări compuse Exemplu de stare compusă (1) Exemplu de stare compusă (2) Simple object right-mouse-down(location)[location in widow]/object=pick object(location); object.highlight() eveniment parametru conditie garda Highlighted object activitati 15 / 62
16 Stări compuse Stare Stare: Notaţie grafică Tranziţie internă Tranziţie Exemplu de tranziţie Stări compuse Exemplu de stare compusă (1) Exemplu de stare compusă (2) Conţin substări tranziţii interne Substările pot fi: secvenţial active (disjuncte) paralel active (concurente) Substările pot conţine, la rândul lor, alte substări. 16 / 62
17 Exemplu de stare compusă (1) Stare Stare: Notaţie grafică Tranziţie internă Tranziţie Exemplu de tranziţie Stări compuse Exemplu de stare compusă (1) Exemplu de stare compusă (2) Stare compusă cu substări secvencţial active: Incepe entry/apare ton exit/dispare ton apasatasta(n) Formeaza numar de telefon Numar partial entry/numar.adauga(n) apasatasta(n) [numar.estevalid()] 17 / 62
18 Exemplu de stare compusă (2) Stare Stare: Notaţie grafică Tranziţie internă Tranziţie Exemplu de tranziţie Stări compuse Exemplu de stare compusă (1) Exemplu de stare compusă (2) Stare compusă cu substări paralel active: Take class Incomplete Lab 1 lab done Lab 2 lab done Project project done Exam pass fail Passed Failed 18 / 62
19 (1) (2) Stare activitate/acţiune Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) 19 / 62
20 (1) (1) (2) Stare activitate/acţiune Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) Folosită pentru a modela dinamica unui proces sau a unei operaţii Evidenţiază controlul execuţiei de la o activitate la alta Se ataşează: Unei clase (modelează un caz de utilizare) Unui pachet Implementării unei operaţii 20 / 62
21 (2) (1) (2) Stare activitate/acţiune Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) Poate conţine: Stări activitate/acţiune Tranziţii Obiecte Bare de sincronizare Ramificaţii 21 / 62
22 Stare activitate/acţiune (1) (2) Stare activitate/acţiune Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) Modelează execuţia unor acţiuni sau a unor subactivităţi Notaţie grafică: Exemplu: Nume Drive car matrix.invert(tolerance:real) 22 / 62
23 Tranziţie (1) (2) Stare activitate/acţiune Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) Reprezintă o relaţie între două activităţi Tranziţia este iniţiată de terminarea primei activităţi şi are ca efect preluarea controlului execuţiei de către a doua activitate Notaţie grafică: Activitate 1 Activitate 2 tranzitie 23 / 62
24 Ramificaţie (1) (2) Stare activitate/acţiune Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) Se foloseşte pentru a modela alternative (decizii) a căror alegere depinde de o expresie booleană Are o tranziţie de intrare şi două sau mai multe tranziţii de ieşire Fiecare tranziţie de ieşire trebuie să aibă o condiţie gardă Condiţiile gardă trebuie să fie disjuncte (să nu se suprapună) şi să acopere toate posibilităţile de continuare a execuţiei 24 / 62
25 Exemplu ramificatie reunire (1) (2) Stare activitate/acţiune Calculate total cost [cost<$50] [cost>=$50] Get authorization Charge customer s account Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) 25 / 62
26 Bară de sincronizare (1) (2) Stare activitate/acţiune Folosită pentru a modela sincronizarea mai multor activităţi care se execută în paralel. Poate fi de două tipuri: fork: are o tranziţie de intrare şi două sau mai multe tranziţii de ieşire join: are două sau mai multe tranziţii de intrare şi o singură tranziţie de ieşire. Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) Notaţie grafică: fork join 26 / 62
27 Exemplu: diagrama de activităţi (1) (1) (2) Stare activitate/acţiune Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) Pune filtrul in cafetiera Pune apa in rezervor Pune cafea in filtru Porneste cafetiera Prepara cafeaua Ia o cana Toarna cafeaua Bea 27 / 62
28 Exemplu: diagrama de activităţi (2) Customer Sales Stockroom (1) (2) Stare activitate/acţiune Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Request service Pay Take order Deliver order Fill order Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) Collect order 28 / 62
29 Obiecte (1) (1) (2) Stare activitate/acţiune Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) Acţiunile sunt realizate de către obiecte sau operează asupra unor obiecte. Obiectele pot constitui parametri de intrare/ieşire pentru acţiuni Obiectele pot fi conectate de acţiuni prin linii punctate cu o săgeată la unul din capete (orientarea săgeţii indică tipul parametrului - intrare sau ieşire) 29 / 62
30 Obiecte (2) (1) (2) Stare activitate/acţiune Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) Un obiect poate apărea de mai multe ori în cadrul aceleiaşi diagrame de activităţi. Fiecare apariţie indică un alt punct (stare) în viaţa obiectului. Pentru a distinge apariţiile numele stării obiectului poate fi adăugat la sfârşitul numelui obiectului 30 / 62
31 Exemplu: diagrama de activităţi (3) (obiecte) Customer Sales Stockroom Request service (1) (2) Stare activitate/acţiune Tranziţie Ramificaţie Exemplu Bară de sincronizare de activităţi (1) de activităţi (2) Pay Order {placed} Take order Deliver order Order {entered} Order {filled} Fill order Obiecte (1) Obiecte (2) de activităţi (3) (obiecte) Collect order Order {delivered} 31 / 62
32 Pachet (1) Pachet (2) Exemplu Utilitatea pachetelor 32 / 62
33 Pachet (1) Pachet (1) Pachet (2) Exemplu Utilitatea pachetelor Este un container logic pentru elemente între care se stabilesc legături Defineşte un spaţiu de nume Toate elementele UML pot fi grupate în pachete (cel mai des pachetele sunt folosite pentru a grupa clase) Un pachet poate conţine subpachete se creează o structură arborescentă (similară cu organizarea fişierele/directoarelor) 33 / 62
34 Pachet (2) Pachet (1) Pachet (2) Exemplu Utilitatea pachetelor Notaţie grafică: Relaţii: Nume dependenţă <<access>> = import privat dependenţă <<import>> = import public Ambele relatii permit folosirea elementelor aflate în pachetul destinaţie de către elementele aflate în pachetul sursă făra a fi necesară calificarea numelor elementelor din pachetul destinaţie (similar directivei import din java. 34 / 62
35 Exemplu Auxiliary <<access>> ShoppingCart <<import>> WebShop <<import>> Types Pachet (1) Pachet (2) Exemplu Utilitatea pachetelor Elementele din Types sunt importate în ShoppingCart şi apoi sunt importate mai departe de către WebShop. Elementele din Auxiliary pot fi accesate însă doar din ShoppingCart şi nu pot fi referite folosind nume necalificate din WebShop 35 / 62
36 Utilitatea pachetelor Pachet (1) Pachet (2) Exemplu Utilitatea pachetelor Împart sisteme mari în subsisteme mai mici şi mai uşor de gestionat Permit dezvoltare paralelă iterativă Definirea unor interfeţe clare între pachete promovează refolosirea codului (ex. pachet care oferă funcţii grafice) 36 / 62
37 37 / 62
38 Diagramele să nu fie nici prea complicate, dar nici simpliste: scopul este comunicarea eficientă. Daţi nume sugestive elementelor componente. Aranjaţi elementele astfel încât liniile să nu se intersecteze. Încercaţi să nu arătaţi prea multe tipuri de relaţii odată (altfel vor rezulta diagrame complicate). Dacă este nevoie, realizaţi mai multe diagrame de acelaşi tip. 38 / 62
39 Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea 39 / 62
40 Pattern Traducere: şablon, model Este o soluţie generală la o problemă comună Fiecare pattern are un nume sugestiv şi uşor de reţinut (ex. composite, observer, iterator) Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea 40 / 62
41 GRASP Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea GRASP = General Responsibility Assignement Software Patterns Descrise de Craig Larman în cartea Applying UML and Patterns. An Introduction to Object Oriented Analysis and Design Ne ajuta să alocăm responsabilităţi claselor în cel mai elegant mod posibil Modelele sunt numite: Information Expert (sau Expert), Creator, High Cohesion, Low Couplig şi Controller 41 / 62
42 Information Expert (1) Problemă: dat un anumit comportament (operaţie), cărei clase trebuie să-i fie atribuit? O alocare bună a operaţiilor conduce la sisteme care sunt: Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea Uşor de înţeles Mai uşor de extins Refolosibile Mai robuste 42 / 62
43 Information Expert (2) Soluţie: asignez o responsabilitate clasei care are informaţiile necesare pentru îndeplinirea acelei responsabilităţi Recomandare: începeţi asignarea responsabilităţilor evidenţiind clar care sunt responsabilităţile Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea 43 / 62
44 Information Expert (3) Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea Sale -date -time 1 SalesLineItem -quantity Contains 1..* * Described by 1 ProductSpecification -description -price -itemid Scenariul de utilizare cere ca utilizatorului sa-i fie prezentată valoarea totală a cumpărăturilor. Cărei clase trebuie să-i fie asignată metoda gettotal()? Mai trebuie adăugate şi alte metode? 44 / 62
45 Information Expert (4) t := gettotal() :Sale t := gettotal() :Sale 1*: st := getsubtotal() * :SalesLineItem Pattern t := gettotal() :Sale 1*: st := getsubtotal() * :SalesLineItem GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) 1.1: p:=getprice() Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) :ProductSpecification Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea 45 / 62
46 Information Expert (5) Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Clasă Sale SalesLineItem ProductSpecification Responsabilităţi să cunoască valoarea totală a cumpărăturilor să cunoască subtotalul pentru un produs să cunoască preţul produsului Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea 46 / 62
47 Information Expert (6) Sale -date -time +gettotal() 1 Contains Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) SalesLineItem -quantity 1..* +getsubtotal() * Described by 1 ProductSpecification -description -price -itemid +getprice() Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea 47 / 62
48 Creator (1) Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea Problemă: cine trebie să fie responsabil cu crearea unei instancte a unei clase? Soluţie: Asignaţi clasei B responsabilitatea de a crea instanţe ale clasei A doar dacă cel puţin una dintre următoarele afirmaţii este adevărată: B agregă obiecte de tip A B conţine obiecte de tip A B foloseşte obiecte de tip A B are datele de iniţializare care trebuie transmise la instanţierea unui obiect de tip A (B este deci un Expert în ceea ce priveşte crearea obiectelor de tip A) 48 / 62
49 Creator (2) Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea Sale -date -time 1 SalesLineItem -quantity Contains 1..* * Described by 1 ProductSpecification -description -price -itemid Cine este responsabil cu crearea unei instanţe a clasei SalesLineItem? 49 / 62
50 Creator (3) :Register :Sale Pattern addlineitem(itemtype, quantity) create(itemtype, quantity) :SalesLineItem GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea Deoarece Sale conţine (agregă) instanţe de tip SalesLineItem, Sale este un bun candidat pentru a i se atribui responsabilitatea creării acestor instanţe 50 / 62
51 Low coupling (cuplaj redus) Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea Cuplajul este o măsură a gradului de dependenţă a unei clase de alte clase. Dependenţă: este conectată cu are cunoştinţe despre se bazează pe O clasă care are cuplaj mic (redus) nu depinde de multe alte clase; multe este dependent de contex. O clasă care are cuplaj mare depinde de multe alte clase. 51 / 62
52 Cuplaj (2) Probleme cauzate de cuplaj: schimbări în clasele relaţionate forţează schimbări locale clase greu de înţeles în izolare (scoase din context) clase greu de refolosit deoarece folosirea lor presupun prezenţa şi a claselor de care depind Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea 52 / 62
53 Cuplaj (3) Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea Forme comune de cuplaj de la clasa A la clasa B sunt: A are un atribut de tip B O instanţă a clasei A apelează un serviciu oferit de un obiect de tip B A are o metodă care referenţiază B (parametru, obiect local, obiect returnat) A este subclasă (direct sau indirect) a lui B B este o interfaţă, iar A implementează această interfaţă 53 / 62
54 Legea lui Demeter Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea Don t talk to strangers Orice metodă a unui obiect trebuie să apeleze doar metode aparţinând lui însuşi oricărui parametru al metodei oricărui obiect pe care l-a creat oricăror obicte pe care le conţine 54 / 62
55 Vizualizarea cuplajelor Diagrama de clase Diagrama de colaborare Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea 55 / 62
56 Exemplu makepayment() :Register 1:create() p:payment 2:addPayment(p) (a) :Sale Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea makepayment() 1:makePayment() :Register :Sale 1.1:create() (b) :Payment (a) Există legături între toate clasele (b) Elimină cuplajul dintre Register şi Payment 56 / 62
57 High Cohesion Coeziunea este o măsură a cât de puternic sunt focalizate responsabilităţile unei clase. O clasă ale cărei responsabilităţi sunt foarte strâns legate şi care nu face foarte multe lucruri are o coeziune mare. O clasa care face multe lucruri care nu sunt relaţionate sau face prea multe lucruri are o coeziune mică (slabă) Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea 57 / 62
58 Coeziune (2) Probleme cauzate de o slaba coeziune: greu de înţeles greu de refolosit greu de menţinut delicate; astfel de clase sunt mereu supuse la schimbări Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea 58 / 62
59 Coeziune şi Cuplaj Sunt principii vechi în design-ul software Promovează un design modular Modularitatea este proprietatea unui sistem care a fost descompus într-o mulţime de module coezive şi slab cuplate Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea 59 / 62
60 Controller (1) Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea Problemă: Cine este responsabil cu tratarea unui eveniment generat de un actor? Aceste evenimente sunt asociate cu operaţii ale sistemului Un Controller este un obiect care nu ţine de interfaţa grafică şi care este responsabil cu recepţionarea sau gestionarea unui eveniment. Un Controller defineşte o metoda corespunzătoare operaţiei sistemului. 60 / 62
61 Controller (2) Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea Soluţie: asignează responsabilitatea pentru recepţionarea sau gestionarea unui eveniment unei clase care reprezintă una dintre următoarele alegeri: Reprezintă întregul sistem sau subsistem (façade controller) Reprezintă un scenariu de utilizare în care apare evenimentul; deseori acesta este numit [UseCaseName]Handler, [UseCaseName]Coordinator sau [UseCaseName]Session (use-case or session controller) -Folosiţi aceeaşi clasă Controller pentru toate evenimentele care apar în acelaşi scenariu de utilizare -Informal, o sesiune reprezintă o instanţă a unei conversaţii cu un actor. Sesiunile pot avea orice lungime, însă sunt organizate, de obicei, în termeni de scenarii (use case sessions) 61 / 62
62 Controller (3) Pattern GRASP Information Expert (1) Information Expert (2) Information Expert (3) Information Expert (4) Information Expert (5) Information Expert (6) Creator (1) Creator (2) Creator (3) Low coupling (cuplaj redus) Cuplaj (2) Cuplaj (3) Legea lui Demeter Vizualizarea În mod normal, un controller ar trebui sa delege altor obiecte munca care trebuie făcută; Controller-ul coordonează sau controlează activitatea, însă nu face prea multe lucruri el însuşi. O greşeală comună în design-ul unui controller este să i se atribuie prea multe responsabilităţi (façade controller) Un UseCaseController este o alegere bună dacă există multe evenimente care apar în procese diferite împărţire în mai multe clase. Avantaje: mai uşor de gestionat oferă o bază pentru a putea determina starea scenariului în desfăşurare. 62 / 62
PROGRAMARE ORIENTATA PE OBIECTE
Curs 2 Principiile Programării Orientate pe Obiecte Programare Orientată pe Obiecte Tehnici de programare Programarea procedurală Modul în care este abordată programarea, din punct de vedere al descompunerii
Mai multPowerPoint Presentation
UPB - Facultatea ETTI - Curs ISC - an IV Specializarea RST 2010-2011 Inginerie Software pentru Comunicatii (ISC / RST) Titular curs: Eduard-Cristian Popovici Suport curs: http://discipline.elcom.pub.ro/isc/
Mai multLaborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011
Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011 I. NOŢIUNI TEORETICE A. Ce este un fir de execuţie? Înainte de a defini conceptul de fir
Mai multCreational design patterns
Unit Testing: CORRECT ALIN ZAMFIROIU Recapitulare Testing Unit testing Junit Test TestCase TestSuite Assertion Right-BICEP Test QUIZ.CSIE.ASE.RO CORRECT C Conformitatea formatului (Conformance); O Ordinea
Mai multFIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai Cluj-Napoca superior 1.2 Facultatea Facultatea de Mate
FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai Cluj-Napoca superior 1.2 Facultatea Facultatea de Matematică şi Informatică 1.3 Departamentul Departamentul
Mai multFIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Babeş-Bolyai Cluj-Napoca 1.2 Facultatea Matematică şi Info
FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Babeş-Bolyai Cluj-Napoca 1.2 Facultatea Matematică şi Informatică 1.3 Departamentul Informatică 1.4 Domeniul
Mai multProiectarea Sistemelor Software Complexe
Proiectarea Sistemelor Software Complexe Curs 4 Arhitecturi de Sistem Software Bazate pe Tehnologii Middleware. Obiecte Distribuite. Rolul unui arhitect software este foarte asemănător cu cel al unui arhitect
Mai multIngineria sistemelor soft Curs 2 Specificarea modelelor folosind UML Curs bazat pe B. Bruegge and A.H. Dutoit "Object-Oriented Software Engi
Ingineria sistemelor soft 2018-2019 Curs 2 Specificarea modelelor folosind UML Curs bazat pe B. Bruegge and A.H. Dutoit "Object-Oriented Software Engineering using UML, Patterns, and Java" Sumar Curs 2
Mai multLogică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014
Logică și structuri discrete Limbaje regulate și automate Marius Minea marius@cs.upt.ro http://www.cs.upt.ro/ marius/curs/lsd/ 24 noiembrie 2014 Un exemplu: automatul de cafea acțiuni (utilizator): introdu
Mai mult9. Design patterns - Singleton, Factory, Observer Scopul acestui curs este familiarizarea cu folosirea unor pattern-uri des întâlnite în design-ul atâ
9. Design patterns - Singleton, Factory, Observer Scopul acestui curs este familiarizarea cu folosirea unor pattern-uri des întâlnite în design-ul atât al aplicațiilor, cât și al API-urilor - Singleton,
Mai multLaborator 3
Laborator 3 Programare III săptămâna 8-12.10.2018 OBIECTIVE: - Folosirea modificatorilor unei clase (public, abstract, final) - Folosirea modificatorilor de acces în declaraţiile membrilor unei clase Noţiuni:
Mai multLaborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011
Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011 I. NOŢIUNI TEORETICE A. Suprascrierea metodelor O clasă derivată
Mai multParadigme de Programare
Paradigme de Programare Conf. dr. ing. Andrei Olaru andrei.olaru@cs.pub.ro cs@andreiolaru.ro Departamentul de Calculatoare 2019 9 : 1 / 38 Cursul 9 Concluzie Paradigma Funcțională 9 : 2 / 38 Cursul 9:
Mai multALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f
ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja far Mohammed ibn Musâ al- Khowârizmî în cartea sa intitulată
Mai multSlide 1
Programare orientată pe obiecte 1. Dezvoltarea aplicațiilor OO 2. Diagrame UML de clase și obiecte Proiectarea orientată pe obiecte 1. Descoperim clasele 2. Determinăm responsabilităţile fiecărei clase
Mai multSlide 1
Introducere 20 Februarie 2012 Adrian Iftene adiftene@info.uaic.ro Echipa Conţinutul cursului Laboratoarele Proiectul Examenul Notarea Protocolul de comunicare Bibliografie Cursul: Adrian Iftene adiftene@infoiasi.ro
Mai multCurs 10
Ingineria Programării Design Patterns Modele de proiectare Curs Ovidiu Gheorghieş, ogh@infoiasi.ro Adriana Gheorghieş, adrianaa@infoiasi.ro Model View Controller Cel mai popular model de proiectare Dezvoltat
Mai multIngineria Sistemelor de Programare
Ingineria Sistemelor de Programare Agregarea si Mostenirea mihai.hulea@aut.utcluj.ro 2019 Compozitia si agregarea Relatia dintre obiecte raspunde afirmativ la intrebarea are un/are o Exemple: Telefonul
Mai multPowerPoint Presentation
Auto Id Middleware Preocupă-te de nevoile tale de business, de tehnologie ne ocupăm noi! Vrei să integrezi RFID și alte echipamente Auto Id în procesele tale de business? Concentrează-te pe logica de aplicație
Mai multCL2009R0976RO bi_cp 1..1
2009R0976 RO 31.12.2014 002.001 1 Acest document reprezintă un instrument de documentare, iar instituţiile nu îşi asumă responsabilitatea pentru conţinutul său. B REGULAMENTUL (CE) NR. 976/2009 AL COMISIEI
Mai multMicrosoft Word - Curs_08.doc
Partea a II-a. Proiectarea bazelor de date Capitolul 6. Tehnici de proiectare şi modele În capitolele precedente s-au analizat modele de baze de date şi limbaje, presupunând în cele mai multe cazuri că
Mai multproiectarea bazelor de date
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie şi Dezvoltare Durabilă Departamentul de Automatică, Energie, Mediu şi Dezvoltare Durabilă Proiectarea bazelor de date Lect.dr. Adrian
Mai multCapitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursu
Capitole Speciale de Informatică Curs 4: Calculul scorurilor în un sistem complet de extragere a informaţiilor 18 octombrie 2018 Reamintim că în cursul precedent am prezentat modelul de spaţiu vectorial
Mai multPPSD
Modele paralele SPMD Modelul SPMD Comunicarea prin mesaje Message Passing Interface Modelul SPMD Modelul SPMD (Single Program Multiple Data) Acesta este un model adecvat calculatoarelor MIMD In cele ce
Mai multAnaliză de flux de date 29 octombrie 2012
Analiză de flux de date 29 octombrie 2012 Analiză statică: definiţie O analiză a codului sursă (fără a executa programul), cu scopul de a determina proprietăţi ale programului sursă. (in principal corectitudinea,
Mai multRetele Petri si Aplicatii
Reţele Petri şi Aplicaţii Curs 4 RPA (2019) Curs 4 1 / 45 Cuprins 1 Analiza structurală a reţelelor Petri Sifoane Capcane Proprietăţi 2 Modelarea fluxurilor de lucru: reţele workflow Reţele workflow 3
Mai multMicrosoft Word _POO_Lab_1_Modificari_v01.htm
Laborator POO - 00 (draft) 00-00 / 0//00 00_POO_Lab Modificari_v0.htm POO Laborator Modificarea programelor Java. Studiu de caz: programul Salut.java. Varianta care utilizeaza un argument al programului
Mai multMicrosoft PowerPoint - TDRC_II-10-TCP.ppt
TCP & UDP Curs 10 TCP si UDP Transmission Control Protocol Connection oriented RFC 793 User Datagram Protocol (UDP) Connectionless RFC 768 Corneliu Zaharia 2 Corneliu Zaharia Servicii TCP Comunicaţie sigură
Mai multAnaliză statică Analiza fluxului de date 23 octombrie 2014
Analiză statică Analiza fluxului de date 23 octombrie 2014 Analiză statică: definiție O analiză a codului sursă (fără a executa programul), cu scopul de a determina proprietăți ale programului sursă. (in
Mai multINFORMATICĂ ŞI MARKETING
CUPRINS CAPITOLUL 1... 7 UTILIZAREA CONCEPTELOR ŞI INSTRUMENTELOR TEHNOLOGIILOR INFORMAŢIEI ŞI COMUNICAŢIEI ÎN ACTIVITATEA DE MARKETING... 7 1.1 IMPACTUL TEHNOLOGIILOR INFORMAŢIEI ŞI COMUNICAŢIEI ASUPRA
Mai multCapitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil
Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiilor (engl. Information Retrieval, IR) constă în găsirea
Mai multGHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G
CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G MAGDA COLEGIUL NAŢIONAL ROMAN-VODĂ ROMAN PROIECTUL UNITĂŢII DE ÎNVĂŢARE
Mai multPowerPoint Presentation
Circuite Integrate Digitale Conf. Monica Dascălu Curs Seminar Laborator notă separată Notare: 40% seminar 20% teme // + TEMA SUPLIMENTARA 40% examen 2014 CID - curs 1 2 Bibliografie Note de curs Cursul
Mai multIntroducere
Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic AEACD 17. Segmentarea imaginilor: Region-based segmentation. Graph Theory In Image Segmentation Region-based segmentation
Mai multGestionarea I/E
Gestionarea I/E Apelurile de sistem I/O in Linux si apelurile API de I/E pentru Windows Herea Cristian 431 A 1. Linux Apeluri de sistem (system calls) Sistemele de operare au un nivel suplimentar de interfete
Mai multAggregating Data
Subinterogări. Subinterogări multi-row. Formatarea rezultatelor unei interogări Obiective Prin parcurgerea acestui referat studentul va dobândi cunoştinţele necesare: identificării funcţiilor grup disponibile;
Mai multSlide 1
Recapitulare IP 10 Octombrie 2011 Adrian Iftene adiftene@info.uaic.ro Recapitulare noțiuni pe care ne vom baza Definiție Modele de dezvoltare Etapele dezvoltării proiectelor Ingineria cerințelor Diagrame
Mai multTablouri (continuare)
Vector Dinamic DYNAMIC ARRAY Observații 1. Un tablou este static: nu pot fi inserate sau şterse celule. 2. Vector - tablou unidimensional 3. Reprezentarea vectorilor este secvenţială, adică elementele
Mai multA TANTÁRGY ADATLAPJA
FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai din Cluj-Napoca superior 1.2 Facultatea Facultatea de Matematică şi Infrormatică 1.3 Departamentul Departamentul
Mai multInterfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de
Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de dezvoltare bazată pe un microcontroller ATmega 328P pe 8 biți cu 32kB memorie flash. Placa de dezvoltare conține:
Mai multFIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai din Cluj-Napoca superior 1.2 Facultatea Facultatea de
FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai din Cluj-Napoca superior 1.2 Facultatea Facultatea de Matematică şi Infrormatică 1.3 Departamentul Departamentul
Mai multParadigme de programare
Curs 4 Transparență referențială. Legare statică / dinamică. Modelul contextual de evaluare. Transparență referențială Cuprins Efecte laterale Transparență referențială 2 Efecte laterale Efecte laterale
Mai multMODUL RETAIL
Modulul RETAIL Cu ajutorul acestui modul se pot face vânzări prin casa de marcat la posturi de lucru, fără ca acestea să fie conectate la baza de date principală. Aceasta presupune că operatorii care lucrează
Mai multALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru
ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine numărul de operaţii efectuate de către un algoritm care determină
Mai multGhid privind raportările referitoare la decontarea internalizată conform articolului 9 din regulamentul privind depozitarii centrali de titluri de val
Ghid privind raportările referitoare la decontarea internalizată conform articolului 9 din regulamentul privind depozitarii centrali de titluri de valoare (CSDR) 30/04/2019 ESMA70-151-367 RO Ghid privind
Mai multFIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai Cluj-Napoca superior 1.2 Facultatea Facultatea de Mate
FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai Cluj-Napoca superior 1.2 Facultatea Facultatea de Matematică şi Informatică 1.3 Departamentul Departamentul
Mai multMicrosoft Word - Algoritmi genetici.docx
1.1 Generalităţi Algoritmii genetici fac parte din categoria algoritmilor de calcul evoluționist și sunt inspirați de teoria lui Darwin asupra evoluției. Idea calculului evoluționist a fost introdusă în
Mai multMicrosoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx
SDA (PC2) Curs 9 Liste / Grafuri / Arbori Iulian Năstac Lista dublu înlănțuită Recapitulare Într-o astfel de listă fiecare nod conţine doi pointeri: unul spre nodul următor şi unul spre nodul precedent.
Mai multKein Folientitel
S.C East Electric S.R.L distribuitor Balluff în Romania. Balluff producător de senzori, şi traductoare, cu peste 40 ani de experienţă Firma a fost creată în 1921, experienţa în domeniul senzorilor începând
Mai multDefiniţie: modele analitice care asigură evaluarea unor caracteristici de calitate alese, bazându-se pe date din măsurători ale proiectelor software.
Definiţie: modele analitice care asigură evaluarea unor caracteristici de calitate alese, bazându-se pe date din măsurători ale proiectelor software. Oferă, în timp, o predicţie corectă a calităţii software
Mai multNORMĂ pentru aplicarea Ghidului ESMA privind raportările referitoare la decontarea internalizată conform articolului 9 din regulamentul privind depozi
NORMĂ pentru aplicarea Ghidului ESMA privind raportările referitoare la decontarea internalizată conform articolului 9 din regulamentul privind depozitarii centrali de titluri de valoare (CSDR) În temeiul
Mai multSlide 1
Gruparea (si clasificarea) fuzzy a datelor Introducere Aspecte teoretice generale Gruparea tranșantă Metode fuzzy FCM SC Utilizarea metodelor fuzzy în matlab. Exemplificare Introducere (1) Obiectivul grupării
Mai multCaraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai
Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai specializați dintre noi în domeniul calculatoarelor
Mai multLaborator 10 - Paradigme de Programare Corutine - suport nativ pentru paralelism în Kotlin Înainte de a trece la realizarea unei aplicații utilizând c
Laborator 10 - Paradigme de Programare Corutine - suport nativ pentru paralelism în Kotlin Înainte de a trece la realizarea unei aplicații utilizând corutinele în Kotlin este bine să se realizeze următorii
Mai multSlide 1
Cursul 4 11 Martie 2019 adiftene@info.uaic.ro 1 Din Cursurile trecute Diagrame UML - Exemple C4 Model Forward & Reverse Engineering 2 Diagrame Diagrame UML Diagrame Use Case Diagrame de Clase 3 4 5 6 Diagrama
Mai multLABORATOR I
1. Scopul lucrării Lucrare de laborator nr. 10 Modelarea maşinilor cu stări finite în VHDL Însuşirea principiilor şi tehnicilor de modelare a circuitelor secvenţiale de tip maşină cu stări finite în VHDL.
Mai multBiomedical Wi-Fi data transmissons
Ce este WireShark? Introducere in WireShark (indrumar de laborator) Wireshark este un sniffer de pachete gratuit, care captureaza pachetele care sunt vehiculate pe o anumita interfata de retea. Aceasta
Mai multAUTORITATEA NAȚIONALĂ DE REGLEMENTARE ÎN DOMENIUL ENERGIEI Nota de prezentare a Proiectului de Normă Tehnică privind Cerinţele tehnice de racordare la
AUTORITATEA NAȚIONALĂ DE REGLEMENTARE ÎN DOMENIUL ENERGIEI Nota de prezentare a Proiectului de Normă Tehnică privind Cerinţele tehnice de racordare la reţelele electrice de interes public pentru module
Mai multMicrosoft Word - lab-fr_3
LUCRAREA 3 Urmarirea conexiunilor (Partea 2) 1 Mecanismul de stare a conexiunii (continuare) 1.1 Conexiuni UDP Conexiunile UDP sunt în sine conexiuni fara stare. Sunt cateva motive pentru care ele sunt
Mai multALGORITHMICS
Curs 7: Gruparea datelor (II) Data mining - Curs 7 1 Structura Metode bazate pe densitate DBSCAN DENCLUE Metode probabiliste EM - Expectation Maximization Data mining - Curs 7 2 Metode bazate pe densitate
Mai multPrezentarea calculatorului
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie şi Dezvoltare Durabilă Departamentul de Automatică, Energie, Mediu şi Dezvoltare Durabilă Baze de date Lect.dr. Adrian Runceanu Curs
Mai multMicrosoft Word - grile.doc
SISTEME INFORMATICE ÎN ADMINISTRAŢIA PUBLICĂ TESTE GRILĂ PROPUSE PENTRU REZOLVARE 1. Pentru stabilirea corectă a resurselor financiare disponibile la un moment dat necesare susţinerii unor procese investiţionale
Mai multDocument2
O NOUA TEORIE A STABILITATII ASCHIERII, CARE SE BAZEAZA PE DINAMICA HAOTICA A PROCESULUI, PRECUM SI APLICAREA ACESTEIA LA CONTROLUL INTELIGENT AL STABILITATII Obiectivele proiectului Ideile cheie care
Mai multBaze de date Anul 2 Teorie Examen 1. Diagrama entitate/relatie si diagrama conceptuala (curs 2-5) 2. Arbore algebric si expresie algebrica (curs 6-10)
Baze de date Anul 2 Teorie Examen 1. Diagrama entitate/relatie si diagrama conceptuala (curs 2-5) 2. Arbore algebric si expresie algebrica (curs 6-10) 3. Forme normale (curs 6-10) 4. Notiuni teoretice
Mai mult1
1. Funcţionarea echipamentelor într-o reţea locală Placa de reţea (NIC-Network Interface Card) este o placă cu circuite integrate poate fi preinstalată în calculator sau se montează într-un slot de extensie
Mai multLaborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011
Laborator 2: Instrucţiuni Java şi lucru cu şiruri de caractere Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 18 octombrie 2011 I. NOŢIUNI TEORETICE A. Instrucţiuni condiţionale 1. Intrucţiunea
Mai multcarteInvataturaEd_2.0_lectia5.pdf
Lect ia3 Diagrame Veitch-Karnaugh 5.1 Noţiuni teoretice Diagramele Veich-Karnaugh (V-K) sunt o modalitate de reprezentare grafică a funcţiilor logice. Pentru o funct ie de N variabile, diagrama corespunz
Mai multtehnologii web
Universitatea Constantin Brâncuşi din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Tehnologii Web Lector univ. dr. Adrian Runceanu 1 Curs 7 Limbajul PHP (partea II) 2
Mai multMicrosoft Word - 2 Filtre neliniare.doc
20 Capitolul 2 - Filtre neliniare 21 CAPITOLUL 2 FILTRE NELINIARE 2-1. PRELIMINARII Răspunsul la impuls determină capacitatea filtrului de a elimina zgomotul de impulsuri. Un filtru cu răspunsul la impuls
Mai multCURS
Capitolul Cuvinte-cheie SOAP, XML, REST, ASP.NET, client web, PHP, NuSOAP IH.12.1. Introducere Ce înseamnă serviciile web? Ele înseamnă invocarea la distanță a metodelor, prin web; limbaje și platforme
Mai multMatrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut s
Matrici și vectori în VBA În VBA, o matrice este un grup de variabile de același tip. De ce ar trebui să utilizați o matrice? Presupunem că ați vrut să stocați douăzeci de nume de angajați în variabile
Mai multMicrosoft Word - Curs_07.doc
5.3 Modificarea datelor în SQL Pentru modificarea conţinutului unei baze de date SQL pune la dispoziţie instrucţiunile insert, delete şi update. 5.3.1 Inserări în baza de date Sintaxa instrucţiunii insert
Mai multPowerPoint Presentation
Forme Normale 4 Redundanţa Redundanţa este cauza principală a majorităţii problemelor legate de structura bazelor de date relaţionale: spaţiu utilizat, anomalii de inserare / stergere / actualizare. Redundanţa
Mai multPowerPoint Presentation
Proiectarea bazelor de date 5 Proiectarea bazelor de date Proiectare conceptuală (ex. diagrama de clase) Identificarea entităţilor şi a relaţiilor dintre ele Proiectarea logică Transformarea modelului
Mai multOperatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici O
Operatorii in C Expresii Operatori aritmetici Operatori de asignare Operatori de incrementare si decrementare Operatori relationali Operatori logici Operatii pe biti Operatorul conditional Operatori Logici
Mai multChertif Ionuț - Andrei Prietenul meu, calculatorul CLASA a V - a, 1 ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dez
Prietenul meu, ul CLASA a V - a, ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dezvoltarea şi răspândirea informaticii, impun o pregătire diversificată a tinerilor în acest
Mai multPHP (II)
PHP şi MySQL Bazele de date sunt colecţii de date, aranjate într-o anumită formă Operaţii : - Crearea bazei de date; - Conectarea la baza de date; - Inserarea datelor in baza de date; - Ștergerea datelor
Mai mult2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii
CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii) reţelelor de calculatoare După cum am precizat în capitolul anterior, din punct de vedere fizic
Mai multModulul 1 M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele
M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele locale şi în Internet Porturile şi numerele de port M1-2.3.1.
Mai multCuprins
Cuprins 1. Introducere 2. Modele și limbaje pentru specificația sistemelor 3. Interfețe de comunicație 4. Periferice pentru sisteme dedicate 5. Microcontrolere 6. Procesoare dedicate 7. Dezvoltarea programelor
Mai multSUBPROGRAME
SUBPROGRAME Un subprogram este un ansamblu ce poate conţine tipuri de date, variabile şi instrucţiuni destinate unei anumite prelucrări (calcule, citiri, scrieri). Subprogramul poate fi executat doar dacă
Mai multMicrosoft PowerPoint - ARI_R_c9-10_IP_part2 [Compatibility Mode]
2.1.2.2.2 Divizarea în subreţele de dimensiuni variabile Divizarea în subreţele de dimensiuni variabile sau cu măşti de subreţea de lungime diferită, VLSM (variable length subnet masks) subreţelele obţinute
Mai multMicrosoft Word - Curs_09.doc
Capitolul 7. Proiectarea conceptuală Scop: reprezentarea cerinţelor informale ale aplicaţiei în termenii descrierii complete şi formale dar independent de criteriul folosit pentru reprezentare în sistemul
Mai multE_d_Informatica_sp_SN_2014_bar_10_LRO
Examenul de bacalaureat naţional 2014 Proba E. d) Informatică Varianta 10 Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu. Timpul de lucru efectiv este de 3 ore. În rezolvările cerute,
Mai multModul Modbus ASCII SISTEME DE COMUNICATIE CURS 5 - Constantinescu Catalin Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj
2.3.5.2 Modul Modbus ASCII Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj este trimis ca doua caractere ASCII (de exemplu, octetul 0x7A este transmis ca doua caractere 0x37 = 7, respectiv
Mai multTestare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test
Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Testare automata: exista un mecanism pentru executia fara
Mai multProbleme proiect TP BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard da
Probleme proiect TP 2016 1. BITPERM Implementați un algoritm care citește de la intrarea standard două numere naturale și scrie la ieșirea standard dacă reprezentarea binară a unuia dintre numere poate
Mai multModelarea si Simularea Sistemelor de Calcul
Modelarea şi Simularea Sistemelor de Calcul Generarea de numere aleatoare ( lab. 5) Numim variabilă aleatoare acea funcţie X : (Ω, δ, P) R, care în cazul mai multor experimente efectuate în condiţii identice
Mai multFâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M
CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: PROIECTUL UNITĂŢII DE ÎNVĂŢARE ALGORITMI Notă: filmele didactice, dezbaterile, jocurile
Mai multprogramă şcolară pentru clasa a 11a, liceu
Anexă la OMECI nr. 5099 din 09.09.2009 MINISTERUL EDUCAŢIEI, CERCETĂRII ŞI INOVĂRII PROGRAME ŞCOLARE TEHNOLOGIA INFORMAŢIEI ŞI A COMUNICAŢIILOR (Sisteme de gestiune a bazelor de date) CLASA A XII-A CICLUL
Mai multUtilizare Internet
Curs 14 2014/2015 1 Functionalitate La toate temele 1p din nota este obtinut de indeplinirea functionalitatii cerute. orice tehnologie, orice metoda, sa faca ceea ce trebuie Forma paginii prezinta importanta
Mai multPROIECT DIDACTIC DATE DE IDENTIFICARE Data: Școala : Școala Gimnazială Grigore Moisil Ploiești Clasa: a VI-a Profesor: Ilie Oana Magdalena Disciplina:
PROIECT DIDACTIC DATE DE IDENTIFICARE Data: Școala : Școala Gimnazială Grigore Moisil Ploiești Clasa: a VI-a Profesor: Ilie Oana Magdalena Disciplina: Informatică și T.I.C. Titlul lecției: Algoritmi și
Mai multLUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL Aspecte generale Programarea neliniară are o foart
LUCRAREA 8 PROGRAMAREA NELINIARĂ ÎN REZOLVAREA PROBLEMELOR DIN ENERGETICĂ. METODE DE ORDINUL 0 8.. Aspecte generale Programarea neliniară are o foarte mare importanţă în rezolvarea problemelor de optimizări,
Mai multMicrosoft Word - 4-Interfete paralele.doc
4. Cuprins modul 4.1. neprogramabile 4.2.Interfaţa paralelă programabilă 4.3.Protocoale de transfer 4.4.Programarea circuitului de interfaţă paralelă 4.5.Exemplu de implementare Cuprins Introducere După
Mai multPowerPoint-Präsentation
Universitatea Transilvania din Braşov Laboratorul de Vedere Artificială Robustă şi Control Sisteme cu MicroProcesoare Curs 2 Porturi de intrare/ieșire Gigel Măceșanu 1 Cuprins Programarea unui MC Porturi
Mai multIngineria Sistemelor de Programare
Ingineria Sistemelor de Programare Cuprins Fire de executie Concurrency API (java.util.concurrent) Executia concurenta Concurenta prin intermediul proceselor si a firelor de executie http://www.javamex.com/tutorials/threads/how_threads_work.shtml
Mai multLimbaje de Programare Curs 6 – Functii de intrare-iesire
Limbaje de Programare Curs 6 Funcţii de intrare-ieşire Dr. Casandra Holotescu Universitatea Politehnica Timişoara Ce discutăm azi... 1 Citire formatată 2 Citirea şirurilor de caractere 3 Citirea unor linii
Mai multPLAN DE ÎNVĂŢĂMÂNT
PLAN DE ÎNVĂŢĂMÂNT Valabil începând cu anul universitar 2013-2014 UNIVERSITATEA LUCIAN BLAGA DIN SBIU FACULTATEA DE ŞTIINŢE Programul de studii universitare de licenţă: INFORMATICĂ Domeniul fundamental:
Mai multPT Curs 6 [Compatibility Mode]
PREȚURI DE TRANSFER Curs 6 Lect.univ.dr. Victor-Octavian Müller CAPITOLUL 6: ALEGEREA METODEI CELEI MAI ADECVATE PT. STABILIREA PREȚURILOR DE TRANSFER Lect.univ.dr. Victor-Octavian Müller 1 Introducere
Mai mult