Facultatea de Informatică Universitatea “Al. I

Slides:



Advertisements
Prezentări similare
Şcoala Gimnazială Nr. 7 "Sfânta Maria" Timişoara-România
Advertisements

Proiect strategic POSDRU/87/1.3/S/ 62339
-Algebra Relațională II-
UNIVERSITATE DE STAT DIN MOLDOVA DE MATEMATICĂ ȘI INFORMATICĂ
STATELE ŞI GRUPĂRIELE REGIONALE DE STATE
Propunere dezbateri la nivelul sistemului de învățământ
Intra in „Patul lui Procust” un proiect modern de master de cercetare?
CONSTRUCTUVISMUL.
Tehnici de machetare ecran (tpz; atribMarci;)
TEORIA SISTEMELOR AUTOMATE
Educație financiară Internet banking.
Publicitatea in cadrul societatii S.C.CLADI S.R.L
ZIUA PORŢILOR DESCHISE,
Reorganizarea judiciară, între mit și realitate
Profesor IOAN AIACOBOAIE
Birotica  Excel_2 C6 / Prezentare generală Ferestra Excel
Campanie de informare a Reprezentanţei Comisiei Europene în România
Procesarea și optimizarea interogărilor
O PROPUNERE DE DEFINIŢII DE TERMENI DIN TEHNOLOGIA INFORMAŢIEI
Atelier tematic Liceul teoretic "Mihai Eminescu“ Cluj,
Cardul Electronic de Asigurări de Sănătate
Conținut Matrice.
MEDIUL LIMBAJULUI DE PROGRAMARE STUDIAT
Utilizarea funcţiei Istoric căutări
Co-Creation of Value in IT Service Processes using Semantic MediaWiki
Activitatea Serviciului Informatizare-Comunicaţii în anul 2005
Prezentări subiecte de cercetare
PROGRAM DE FORMARE ACADEMICA I.
Testul docimologic Conf. dr. Florin Frumos
MODULUL III: NOILE TEHNOLOGII SI OPTIMIZAREA LOR IN EDUCATIE
Programare Avansata cu FPGA - 2
SORTAREA PRIN METODA BULELOR
Algoritmi.
Curs 4: Arhitectura unei Intreprinderi Digitale
S t r u c t u r i l i n i a r e  .
Simulare de examen Psihologie medicală
4.(Re)proiectarea propriu-zisă
3D Secure Un standard care s-a impus cu autoritate în România,
Prioritățile MECC privind dezvoltarea curriculară în învățămîntul general Valentin CRUDU, șef Direcție Învățământ general.
Florin Talpes CEO Bitdefender/Softwin 14 Noiembrie 2013
Invatarea centrata pe elev
RAPORT DE ANALIZĂ CEAC SEM. I.
TIPURI DE CERERI SI SCRISORI
Servicii de Comert Electronic
Informatica in economie
SENZORI ȘI TRADUCTOARE INTELIGENTE
CONFERINTA in parteneriat cu SECTRA si
METODA PROIECTULUI.
MOBILITĂŢI INDIVIDUALE DE FORMARE CONTINUĂ
concepte si instrumente de lucru e-Learning si software educational
AGRESIVITATEA ȘI JOCUL PE CALCULATOR
Rolul valorilor culturale în dezvoltarea vieţii comunitare
InstalSystem 5.
METODE INTERACTIVE DE GRUP
Cursul 7: Memorarea şi managementul informațiilor economice
Centrul Istoric plan de management Seminar:
Să lucrăm împreună pentru Noi şi Europa!
COMISIA NAŢIONALĂ PENTRU POPULAŢIE ŞI DEZVOLTARE
Lect.dr. Roxana Apostolache
PRIMĂRIA COMUNEI SPINUS
Curs 9-Pointeri la variabile -Pointeri la siruri de caractere
Susţinerea reformării Sistemului Instituţiilor Penitenciare şi a Reformei Penale în Republica Moldova (2011)
TEORIA SISTEMELOR AUTOMATE
PORTOFOLIUL PROFESORULUI METODIST
Metodologia elaborării proiectelor de intervenţie
Profesor coordonator: prof. ing. POP ȘTEFAN DAN
Raportul Grupului de Lucru 3
Tipuri de placi video,sunet si retea
Să înţelegem revendicările (e) Convertor electric de putere
Instrumentar de formare privind APE 4. Evaluarea nevoilor
Transcriere de prezentare:

Adrian Iftene adiftene@info.uaic.ro Facultatea de Informatică Universitatea “Al.I.Cuza” - Iaşi Tehnologii de Elaborare a Proiectelor - Curs 2 – - partea 1 - Adrian Iftene adiftene@info.uaic.ro

Recapitulare Etapele dezvoltării programelor Analiza cerinţelor – Fişa Cerinţelor Proiectarea – Diagrame UML Scrierea codului - Implementare Testare – Automată, Scenarii de Test Întreţinere – Documentaţie, Manual de Utilizare 3 Noiembrie, Curs 2

UML - Unified Modeling Language 1975-1989 apar primele limbaje de modelare OO 1989-1994 numărul limbajelor de modelare creşte de la 10 la 50 La mijlocul anilor 1990 a început un proces de omogenizare, prin încorporarea în fiecare limbaj a caracteristicilor găsite în celelalte limbaje Octombrie 1994 - a început în mod oficial dezvoltarea UML prin unificarea limbajelor Booch şi OMT (Rational Software) Octombrie 1995 - apare versiunea preliminar a 0.8 a Unified Method Iunie 1996 - publicata versiunea 0.9 a UML (include şi OOSE) Pe parcursul anului 1996 multe companii văd în UML o opţiune strategică pentru dezvoltarea produselor lor 3 Noiembrie, Curs 2

Ce este UML? Pentru ultima versiune UML 2.0 resursele oficiale la adresa: http://www.uml.org Este un limbaj de modelare bazat pe notaţii grafice Este folosit pentru a: specifica, vizualiza, construi, documenta componentele unui program (sistem software) Este un limbaj cu ajutorul căruia se pot construi (descrie) modele Un model surprinde un anumit aspect al unui program Fiecare model poate descris la diferite nivele de abstractizare Fiecărui model îi corespunde o diagramă 3 Noiembrie, Curs 2

Tipuri de diagrame UML Analiză Proiectare Implementare Diagrama cazurilor de utilizare (Use Case Diagram) Diagrama de activităţi (Activity Diagram) Proiectare Structura: Diagrama de clase (Class Diagram) Comportamentul: Diagrama de stări (Statechart Diagram) Diagrame de interacţiuni (Interactions Diagrams) Diagramă de secvenţă (Sequence Diagram) Diagramă de colaborare (Collaboration Diagram) Implementare Diagrama de componente (Component Diagram) Diagrama de plasare (Deployment Diagram) 3 Noiembrie, Curs 2

Diagrama cazurilor de utilizare (Use Case Diagram) Folosită pentru a capta cerinţele sistemului Delimitează graniţele sistemului Punctul de plecare îl constituie scenariile de folosire a sistemului Poate prezenta: specificarea cerinţelor (externe) din punctul de vedere al utilizatorului specificarea funcţionalităţii sistemului din punctul de vedere al sistemului Conţine: UseCase-uri = funcţionalităţi ale sistemului Actori = entităţi externe cu care sistemul interacţionează Relaţii 3 Noiembrie, Curs 2

UseCase Este o descriere a unei mulţimi de secvenţe de acţiuni (incluzând variante) pe care un program le execută atunci când interacţionează cu entităţile din afara lui (actori) şi care conduc la obţinerea unui rezultat observabil Poate fi un sistem, un subsistem, o clasă, o metodă Reprezintă o funcţionalitate a programului Precizează ce face un program sau subprogram Nu precizează cum se implementează o funcţionalitate Identificarea UseCase-urilor se face pornind de la cerinţele clientului şi analizând descrierea problemei. 3 Noiembrie, Curs 2

UseCase - Reprezentare Notaţie Atribute Nume = fraza verbală ce denumeşte o operaţie sau un comportament din domeniul problemei. Restricţii Numele este unic Nume 3 Noiembrie, Curs 2

Actor Reprezintă un rol pe care utilizatorii unui UseCase îl joacă atunci când interacţionează cu acesta Este o entitate exterioara sistemului Interacţionează cu sistemul: Iniţiază execuţia unor cazuri de utilizare Oferă funcţionalitate pentru realizarea unor cazuri de utilizare Poate fi: utilizator (uman) sistem software sistem hardware 3 Noiembrie, Curs 2

Actor - Reprezentare Notaţie Atribute Nume = indica rolul pe care actorul îl joacă în interacţiunea cu un UseCase Restricţii Numele este unic * * - <> 3 Noiembrie, Curs 2

Relaţii Se stabilesc între două elemente Tipuri de relaţii: Asociere: Actor – UseCase, UseCase – UseCase Generalizare: Actor – Actor, UseCase - UseCase Dependenţă: UseCase - UseCase (<<include>>, <<extend>>) 3 Noiembrie, Curs 2

Relaţia de Asociere Notaţie Modelează o comunicare între elementele pe care le conectează Poate sa apară între un actor şi un UseCase (actorul iniţiază execuţia cazului de utilizare sau oferă funcţionalitate pentru realizarea acestuia) două UseCase-uri (transfer de date, trimitere de mesaje/semnale) Notaţie 3 Noiembrie, Curs 2

Relaţia de Generalizare Se realizează între elemente de acelaşi tip  ierarhii Modelează situaţii în care un element este un caz particular al altui element Elementul particular moşteneşte relaţiile în care este implicat elementul general Notaţie: 3 Noiembrie, Curs 2

Exemplu 1 Autentificare Persoană Sistem de Logare Logare Eveniment * * - <> Autentificare Persoană Sistem de Logare * * - <> * * - <> * * - <> Logare Eveniment Student Profesor 3 Noiembrie, Curs 2

Dependenţă Apare între două UseCase-uri. Modelează situaţiile în care Un UseCase foloseşte comportamentul definit în alt UseCase (<<include>>) Comportamentul unui UseCase poate fi extins de către un alt UseCase (<<extend>>) Notaţie 3 Noiembrie, Curs 2

Exemplu 2 Oferă listă zboruri <<include>> Preia opţiuni client Solicită listă zboruri Conform cu opţiunile clientului 3 Noiembrie, Curs 2

Concepte OO - Recapitulare Obiect: Entitate care are: identitate, stare, comportament Exemplu: Mingea mea galbena de tenis, cu diametrul de 10 cm, care sare Clasă: Descriere a unei mulţimi de obiecte cu aceleaşi caracteristici structurale, aceleaşi caracteristici comportamentale Exemplu: mingi care au culoare, diametru, întrebuinţare, sar Instanţă: un obiect care aparţine unei clase Exemplu: Popescu Viorel este un Student 3 Noiembrie, Curs 2

Orientat Obiect 1 Este orice abordare ce cuprinde Încapsularea datelor moştenire polimorfism Încapsularea datelor (exemplu clasa Punct) Înseamnă punerea la un loc a datelor (atributelor) şi a codului (metodelor) Datele pot modificate (doar) prin intermediul metodelor Data hiding: nu ne interesează cum se oferă serviciile, ci doar ca se oferă Daca se schimba structura, sau modul de realizare, interfaţa rămâne neschimbata 3 Noiembrie, Curs 2

Orientat Obiect 2 Moştenire: Polimorfism Anumite clase sunt specializări (particularizări) ale altor clase O subclasa are (moşteneşte) caracteristicile super-clasei, pe care le poate extinde într-un anume fel O instanţă a unei clase derivate este în mod automat şi o instanţă a clasei de bază Exemplu (Student - Persoana) Polimorfism Interpretarea semanticii unui apel de metoda se face de către cel care primeşte apelul Exemplu: Eu spun unei forme: DESENEAZĂ-TE. Ea, daca e pătrat trage 4 linii, daca e cerc, face nişte puncte de jur împrejurul centrului De altfel, nu mă interesează cine, cum face 3 Noiembrie, Curs 2

Diagrama de clase - Class Diagram Scop: Modelează vocabularul sistemului ce trebuie dezvoltat Surprinde conexiunile semantice sau interacţiunile care se stabilesc între elementele componente Folosită pentru a modela structura unui program Conţine Clase/Interfeţe Obiecte Relaţii (Asociere, Agregare, Generalizare, Dependenţă) 3 Noiembrie, Curs 2

Clase Modelează vocabularul = identifică conceptele pe care clientul sau programatorul le foloseşte pentru a descrie soluţia problemei Elementele unei clase: Nume: identica o clasa Atribute: proprietăţi ale clasei Metode: implementarea unui serviciu care poate cerut oricărei instanţe a clasei Nume Atribute (private) Metode (private, protected) 3 Noiembrie, Curs 2

Relaţii - Generalizare Modelează conceptul de moştenire între clase Mai poartă denumirea de relaţie de tip is a (este un/este o) 3 Noiembrie, Curs 2

Generalizare - Cod class Persoana { string nume; int varsta; protected int getVarsta() { return 1;} protected void setVarsta() { } public string getNume() { return ""; } public void setNume() { } } class Student : Persoana int grupa, anul; public int getGrupa() {return 1;} public void setGrupa() { } class Profesor : Persoana { string Materia; public string getMateria() {return "";} public void setMateria() { } } 3 Noiembrie, Curs 2

Relaţii - Asociere Exprima o conexiune semantica sau o interacţiune între obiecte aparţinând diferitelor clase Pe măsura ce sistemul evoluează noi legaturi între obiecte pot fi create, sau legaturi existente pot distruse O asociere interacţionează cu obiectele sale prin intermediul capetelor de asociere Elemente: Nume: descrie relaţia Capete de asociere Nume = rolul jucat de obiect în relaţie Multiplicitate = câte instanţe ale unei clase corespund unei singure instanţe ale celeilalte clase 3 Noiembrie, Curs 2

Relaţii - Agregare Este un caz particular al relaţiei de asociere Modelează o relaţie de tip parte-întreg Poate avea toate elementele unei relaţii de asociere, însă în general se specifică numai multiplicitatea Se foloseşte pentru a modela situaţiile între care un obiect este format din mai multe componente. 3 Noiembrie, Curs 2

Links http://argouml.tigris.org/ 3 Noiembrie, Curs 2