Inginerie software seminar 1. ISS - Seminar Multimi, structuri, sisteme, modelare

Similar documents
STRUCTURI DE DATE. Compresia datelor

Laborator 2. Crearea unei interfete MatLab cu ajutorul functiilor uicontrol si uimenu.

Metode ansamblu Ensemble learning. Ruxandra Stoean

Noul sistem de sine de ghidaj pentru o precizie maxima!!!

Implicatiile Teoriei Haosului in stiinta economica

CAP.I DESCRIEREA STRUCTURALA A UNUI SISTEM DE CALCUL

Ghid practic pentru stabilirea categoriei unei întreprinderi

1. Noua procedura pentru biletele Zug zum Flug la rezervarea pachetelor

Combinarea tabelelor SAS

Structura sistemelor de operare

SISTEME DE OPERARE

Modul Retineri.

UTILIZAREA PRODUSELOR BENDER LA NAVE

Regasiti in cele ce urmeaza ultimele update-uri in materie de produs si operational la touroperatorii din grupul Neckermann/Thomas Cook.

Lucrarea de laborator nr. 11 Globalizarea si localizarea aplicatiilor.net

Folie PVC pentru amenajarea de iazuri, lacuri sau helestee

Baile Felix - Inscrieri Timpurii 2017

Sistem de informare si ierarhizare pentru imbunatatirea dezvoltarii regionale. Sistem general de diseminare

Desensibilizarea sistematica

CARTE TEHNICA. Instructiuni de instalare, functionare PENTRU REGULATORUL CLIMATIC EV 70

World Robot Olympiad 2016 Categoria Standard Standard I Primar Descrierea probei, reguli si punctaj. Clean Road to School

BRAN BOOTCAMP BE FIT!

CASA si BANCA. Modulele de CASA si BANCA sunt asemanatoare, de aceea prezentarea lor va fi facuta in comun. 1. Primul submodul de Casa / Banca

Buton de alarmare manuala

Fig Trapezul exterior este y 1, iar cel interior y 3.

Impactul legislativ in aria de culegere a datelor cu caracter personal - cerinte si beneficii pentru clienti. Cornelia Jiloan

Active Totalul tuturor posesiunilor unei entitati. Banca centrala Se refera la o institutie care este, prin lege, abilitata sa emita moneda.

Ghid Operational pentru Mentenanta HW IBM

Routing Information Protocol

EXCURSII OPTIONALE EMIRATELE ARABE UNITE

FAST FLEXIBLE FRIENDLY

Modelul O I D al unei organizatii

Primul document elaborat abordeaza subiectul Briefului de la client catre agentie considerat unanim a fi primul pas catre o campanie buna.

2.1. Sectiunea administrator Sectiunea profil...5

12 Specii de rechini

2. Dispersii. Ozon (O 3): Viteza si directia vantului:

Ghid orientativ privind dispozitiile Regulamentului UE 2016/679 (GDPR)

Anexe. Clasele de asigurare

3.6.7 Terminale [i terminatoare de re]ea ISDN

The Decameron Of Giovanni Boccaccio - Limpidsoft the decameron of giovanni boccaccio by giovanni boccaccio trans. john payne styled bylimpidsoft

FORMULAR DE ACTUALIZARE A DATELOR CLIENTILOR PERSOANE FIZICE

Alina Iordache Acest Raport este un produs al PDA International.

Pagina de autentificare:

Asistenţă tehnică pentru managementul proiectului Extinderea si reabilitarea sistemelor de apă in judetele SIBIU si BRASOV

Modul Metodologia cercetarii Specialitate Farmacie clinica COORDONATOR CURS: SL DR VERONICA BILD

AIRAC AIP SUPPLEMENT 01/16. WORK in progress at BACĂU/George Enescu airport Phase I

IN VEDEREA REIMBARCARII TREBUIE SA URMATI PASII DE MAI JOS

Navigare la pagina de start

PLANIFICAREA SI ASIGURAREA CALITATII LUCRARILOR DE CONSTRUCTII

Noi tratamente pentru semintele de leguminoase pe baza de hidrolizat de colagen pentru cresterea rasaririi in conditii de seceta

INTERVIU Iordan Gheorghe BARBULESCU Cred ca in 30 de ani Uniunea Europeana va fi o federatie

Pasul 1. Realizati-va designul dorit. Acesta poate contine fotografii sau imagini vectoriale.

Corfu (din București)

Aplicatie de vanzare pentru restaurante

a-l prezenta pe insusi M&ntuitorul ca fiind un exemplu pentru comunitatea

De ce sa optimizezi procesul de comanda?

Procedura de rezolvare a reclamatiilor si contestatiilor

Doua metode pentru amplificarea vointei pe care le-am folosit cu succes

SINTEZE CURS. Lectia 1 Principiile modelarii retelei de bugete, bugetul de tip master

1. DEFINITII CE INSEAMNA ANUMITE EXPRESII IN ACESTE CONDITII?

Ordin ANRE nr.17 / Codul de masurare a energiei electrice

Fundamente ale inteligentei computationale

AIRAC AIP SUPPLEMENT 09/15. Work in progress at IA I/Ia i Airport

AGENTIA DE TURISM KUSADASI KUSADASI SEDIU CENTRAL B-dul Iancu de Hunedoara, nr 36, etaj 1, sector 1 Telefon: ; Fax:

DECLARATIE DE AVERE. Sup^ltfata

Utilizarea incasarilor si platilor prin mijloace electronice in administratia publica

Lansarea oficiala a proiectului EUROSCAPES Februarie 2010

Sistemul de Tranzactionare al OPCOM

GSM Gate Control Telecomanda GSM pentru porti si bariere electrice

Laser Multipoint Verde-50mW Rosu-80mW Nr. Ref

Izoeritroliza neonatala

Introducerea tehnologiei RFID pentru supravegherea articolelor din magazine

PRIMARIA MUNICIPIULUI BUCURE$TI DECLARATIE DE AVERE

PRIMARIA MUNICIPIULUI BUCURE$TI. Subsemnatul/Subsemnata.i..'.i:.v..v.".> vr-c.\w:,^..t..v:.:...j..»..r,..

STUDIES REGARDING THE SUSTAINABLE DEVELOPMENT OF RURAL TOURISM AND AGRI- TOURISM IN THE VATRA DORNEI MICROZONE, SUCEAVA COUNTY

s:vii!. 6pV(~r6:-: ~~

CAMINE DE INSPECTIE SI BRANSAMENT (RACORD) PENTRU INSTALATII DE CANALIZARE D400 PP/PVC

AIRAC AIP SUPPLEMENT 02/17 WORK in progress at BAC U/George Enescu airport Phase II

Sejururi exotice All Inclusive

KIT DE MASURARE NIVEL DE SEMNAL IN RETELE CATV

Masurarea gradului de inovare in cadrul subregiunillor europene. Conferinta de lansare a proiectului 16 martie 2012

Editia a 3-a (ianuarie 2009)

AIRAC AIP SUPPLEMENT 01/14. Work in progress at ORADEA/Oradea airport Phase I

Două țări, un scop, succes comun! PLAN DE AFACERI. Agenție de turism

Cod de etica evenimente responsabile. Indrumar pentru organizatiile responsabile social

SISTEM DE COMANDA PRIN SEMNALE MIDI

Sugestii cu privire la armonizarea legislatiei romanesti din domeniul concurentei cu reglementarile comunitare si practica din alte state membre UE

MANUAL DE UTILIZARE CIEL SIMPLU

OUG nr. 77/2009, privind organizarea si exploatarea jocurilor de noroc

geographianapocensis.acad-cluj.ro

MANUAL DE UTILIZARE TS1-MFB. COMANDA TELECOMENZII Butoane Cheia Conditii. Blocare P1K1 Cu cheia de contact. Deblocare P1K2 Cu cheia de contact

Cod de proiectare. Evaluarea actiunii zapezii asupra constructiilor

AFTN: LRBBRTYD

Specificatii Grau Panificatie-UE Futures

Este potrivita pentru imprimarea cu: plastisoli, Braille, solder mask peelable, imprimari in relief pe diferite substraturi.

Cuprins. Despre Banca Transilvania pag. 2

t'rff,a NP#W, domiciliul /46Y f{s BL jtor,, DECLARATIE DE A\TERE lpolrytffi_;j--.fiil;:]

SUA Coasta de Est Boston Niagara - Pittsburgh Washington Philadelphia New York - Miami

MANUAL DE UTILIZARE 6935IN Banda de alergat insportline Mystral

DP-41/11, Editia 2, Revizia 2 Prezentul contract impreuna cu anexele sale se va lista color pentru validare Page 1 of 6

Transcription:

ISS - Seminar 1 4 martie 2018 1. Multimi, structuri, sisteme, modelare Multimea este o colectie de elemente (despre care nu stim daca sunt sau nu structurate, conectate intre ele). Structura este o multime in care unele sau toate elementele sale sunt interconectate. Ex: constructii, structuri de date, structuri de calcul. Sistemul este o multime de elemente interconectate intre ele astfel incat genereaza o functie noua (ceva care e mai mult decat suma partilor sale si care de cele mai multe ori nu poate fi prevazut prin insumarea functiilor partilor). Functia (scopul in cazul sistemelor artificiale) este rezultanta unui mod particular de legare a partilor unui sistem (elemente sau structuri). Ex: inima, celula, sistemele soft, fiinta vie, Universul, etc. Clasificare naturale -propriu zise (fizice, chimice, biologice) - sociale (psihologice, sociale, economice) - artificiale (cladiri, masini, sisteme software) Analiza sistemelor desfacerea in bucati mai mici, fizic sau mental, pentru a intelege functionarea lor. Sinteza sistemelor se ocupa cu studiul metodelor prin care natura sau omul creaza sisteme. Atat in cazul analizei cat si al sintezei este necesara activitatea de modelare. Modelul este o imagine simplificata a realitatii (sisteme si fenomene) studiate împreună cu orice ipoteze necesare pentru a descrie sistemul sau a explica fenomenul. Alternativ, poate fi considerat o imagine a sistemului din care s-au eliminat intrarile care au efecte mici asupra iesirilor importante pentru aspectul dorit. Modelarea este activitatea (procesul) de reprezentare a elementelor sau esenţei unui sistem sau fenomen. Scopul modelarii este de a reduce complexitatea sistemului (realitatii) prin construirea unei reprezentari simplificate ale realitatii care ignora detaliile irelevante. Reducerea complexitatii are 2 avantaje majore: costuri mai mici si timp mai scurt. 1

2. UML (limbaj unificat de modelare) UML (unified modeling language) este un limbaj de modelare, folosit pentru a reprezenta solutiile sistemelor soft, in vederea transpunerii solutiilor sub forma de cod executabil. Este nu doar un instrument de reprezentare, ci si un instrument de comunicare intre participantii la proiect: manageri, clienti, programatori. Programatorii care creaza sisteme soft mici sau simple sunt obisnuiti sa concentreze intregul efort in faza de implementare. In acest context, Ingineria Software (SE) initiaza un programator in arta de a modela inainte de a implementa. UML poate fi folosit si poate modela si alte aspecte inafara celor specifice informaticii (IT), cum ar fi fluxurile de lucru in justitie, sanatate, etc;. UML opereaza cu 3 tipuri de elemente: Entitati, Relatii si Diagrame. a. Entitatile (things) sunt obiectele din modelele UML. Exista patru tipuri: entitati cu functii structurale (substantive), cu functii comportamentale (verbe), cu functii de grupare, cu functii de documentare. b. Relatiile abstractizeaza tipurile de legaturi dintre entitati. Ele sunt: dependente, asocieri, generalizari/specializari, realizari. Relatia de dependenta (relatie semantica unilaterala) - este caracterizata prin faptul ca o schimbare din oricare entitate o afecteaza semnatic pe cealalta. Entitatea independenta este entitatea in care poate interveni schimbarea, entitatea dependenta este entitatea afectata de schimbare. Notatie: o linie intrerupta cu sageata la un capat. Ex: Lista-Nod. Relatia de asociere (relatie structurala intre entitati, conceptual, egale; bidimensionala) descrie legaturile dintre entitati (obiecte). Suporta mai multe tipuri de multiplicitati. Notatie: linie continua, eventual un nume, nume de roluri, restrictii de cardinalitate. Ex: asocierile dintre clase. Relatia de agregare (has-a) este un caz particular al asocierii in care o entitate intreg consta din una sau mai multe entitati parte. Notare: linie continua cu un romb gol la capatul care indica inspre intreg. Ex: Automobil Roata; Facultate Profesor; Facultate Student. 2

Relatia de compozitie este un caz particular al agregarii in care intregul are responsabilitati clare asupra crearii si distrugerii partilor. Altfel spus, partile nu pot exista inafara intregului. Notare: idem agregare, doar ca rombul este plin. Ex: Facultate Departament. Relatia de generalizare (is-a) (relatie semantica unilaterala) descrie legaturile dintre entitati fiu care mostenesc atribute si comportamente de la entitati parinte. Notatie: linie continua cu sageata goala la un capat, orientata inspre entitatea parinte. Client Pers Fizica; Pers Juridica; Forma-Dreptinghi-Patrat. Relatia de realizare (relatie semantica) descrie legaturile dintre clasificatori. Ex: o clasa realizeaza o anumita interfata. Notatia: linie discontinua cu sageata goala la un capat, orientata inspre entitatea parinte. c. Diagramele UML sunt reprezentari grafice ale unor colectii de elemente (entitati si relatii) cu scopul de a obtine descrieri ale sistemelor modelate din diferite perspective. De fapt sunt grafuri ale caror noduri sunt reprezentate de entitati si ale caror arce sunt relatii. Diagramele UML sunt un suport pentru abstractizarea si vizualizarea solutiei unui sistem soft. Cele mai importante tipuri de diagrame UML: - diagrame statice (structurale): diagrama de clase, diagrama de obiecte, diagrama de componente, diagrama de desfasurare. - diagrame dinamice (comportamentale): diagrama de cazuri de utilizare, diagrama de secventa, diagrama de colaborare, diagrama hartilor de stare, diagrama de activitate. 3

3. Etapele dezvoltarii sistemelor software Etapele dezvoltarii unui sistem software (OO): 4 1. Analiza cerintelor (Requirments Elicitation) 2. Analiza 3. Proiectarea sistemului (System Design) 4. Object Design 5. Implementarea 6. Testarea (de integrare, functionala, unit, black-box, white-box) Documentarea Ingineria software este o activitate, condusa rational, pentru de modelare, pentru rezolvarea problemelor si pentru de achizitia cunostintelor. Plastic, Ing Soft inseamna Knowledges, Skills si Experience. Inginerii (inclusiv specialistii in SE) actioneaza, chiar inconstient, conform principiului: Inainte de a realiza un lucru, hotaraste cum vrei sa-l folosesti!. (care e valoarea lui de intrebuintare). UML cere precizarea cu maxim de acuratete determinarea tipului de utilizator al sistemului soft. Tipul utilizatorului este o abstractie in care se reflecta o serie de cerinte (functionale si nefunctionale). Analiza cerintelor (Requirments Elicitation) este etapa in care are loc analiza detaliata a informatiilor ce urmeaza a fi prelucrate de catre sistemul soft, specificarea clara a functionalitatilor sistemului si a constrangerilor impuse asupra acestuia. Cerintele functionale sunt afirmatii pe care sistemul software trebuie sa le contina, cum sa raspunda la anumite intrari sau cum sa reactioneze in anumite situatii. Exemple: Automatul trebuie să permită călătorului să cumpere carduri săptămânale Fereastra de rapoarte trebuie sa permita exportul datelor in format pdf. Cerintele nefunctionale sunt constrangeri impuse asupra sistemelor soft care nu sunt legate direct de functionearea sistemului. Aceste cerinte contin aspecte care nu sunt direct vizibile de catre utilizator. Exemple: Automatul de bilete trebuie să fie scris în Java. Automatul de bilete trebuie să fie usor de utilizat. Aplicatia trebuie sa fie de tip web.

Cerintele pot fi exprimate sub forma de text nestructurat, text structurat, diagrama cazurilor de utilizare, etc. 4. Diagrama cazurilor de utilizare (CU) Diagrama cazurilor de utilizare faciliteaza comunicarea dintre end-useri si IT-isti (ing soft, programatori, etc). Sunt esentiale pentru modelarea comportamentului unui sistem, subsistem al unei clase. Sunt utile in primele 2 etape: Analiza (specificare) a cerintelor si etapa de Analiza. Diagrama cazurilor de utlizare contine: cazuri de utilizare, actori, relatii si, optional, pentru a mari lizibilitatea, se pot folosi: frontiera sistemului, note, constrangeri si pachete. Actorul este o entitate (persoana, periferic sau alt sistem) care interactioneaza cu sistemul software. Se reprezinta grafic sub forma unui omulet stilizat. In modelele UML ei sunt rezidenti inafara sistemului (nu sunt parti ale sistemului software). Sunt conectati la un caz de utilizare numai prin relatii de asociere, care e o relatie de comunicare bidirectionala (schimb de mesaje). Actorii intre ei pot avea numai relatii de generalizare. Cazurile de utilizare (use case) (contexte de utilizare) descriu comportamentul unui sistem soft asa cum este el vazut de catre end-user-i, analisti si testeri. Implica interactiunea dintre actori si sistem. Este o descriere a unui set de secvente de actiuni pe care sistemul le executa pentru a produce un rezultat observabil, asteptat de actor. Cand cream cazuri de utilizare spunem ce face sistemul (interfata), nu cum face (implementarea). Doar se specifica un comportament dorit de end-useri sau de alti actori. Notare: o elipsa formata dintr-o linie continua, care in interior contine numele cazului de utilizare. Un caz de utilizare reprezinta o cerinta functionala care trebuie sa aiba un nume. Cazurile de utilizare pot fi grupate in pachete. Cazurile de utilizare pot avea intre ele relatii de generalizare, de dependenta (includere si extindere). Rol: identificarea neclaritatilor cerintelor, a formularilor vagi, a unor cerinte neformulate, dar necesare. 5

Relatiile din diagramele CU sunt: Relatia de generalizare a fost discutat mai sus. CU (caz de utilizare) copil mosteneste comportamentul si semantica CU parinte, pe care le poate suprascrie si la care poate adauga unele noi.parintele poate fi substituit de oricare dintre copiii lui. Exemplu: parinte: Validare utilizator; copii: Verificare parola, Scanare retina. Cazurile de utilizare copil sunt specializari ale cazului general. Ele mostenesc comportamentul si semantica parinteleui la care pot adauga comportamente noi sau pot suprascrie comportamente ale parintelui. Relatia de includere este o relatie de dependenta. Cazul de utilizare de baza incorporeaza comportamentul cazului de utilizare inclus. CU inclus nu poate opera singur, ci doar ca parte a CU de baza. Nici unul din cele doua CU nu pot accesa atributele celuilalt. Exista o asemanare vaga cu o functie apelata dintr-o functie de baza. Notare: o relatie de dependenta marcata cu <<include>>. Relatia de extindere este tot o relatie de dependenta in care un CU, optional, poate apela un alt CU in anumite conditii. CU de baza isi extinde comportamentul prin CU extins. Rol: Separarea comportamentului optional de comportamentul imperativ. Notare: Este redata ca o relatie de dependenta marcata cu <<extend>>. Metode de creare a digramelor CU: bazata pe actori; bazata pe evenimente. Pot modela contextul unui sistem (ne axam atentia pe actori si modul de interactiune cu sistemul). Etape: a. Identificarea actorilor; b. organizarea actorilor intr-o ierarhie bazata pe generalizare/specializare; c. Crearea diagramei Pot modela cerintele fata de un sistem software (ne axam atentia pe cerinte). Etape: a. Stabilirea cazurilor de utilizare si a actorilor care interactioneaza cu ele, b. Pentru fiecare actor se identifica comportamentul pe care acesta il asteapta de la Sistemul Software (identificarea cerintelor reale, asteptate, nu a celor neclar enuntate, de obicei, de actori), c. Gasirea relatiilor dintre actori, a celor dintre cazurile de utilizare, precum si a celor dintre actori si cazurile de utilizare, d. Crearea diagramei. 6

Indicatii: a. Numele CU incep cu verbe (actiuni efectuate de sistem), b. Numele actorilor sunt substantive, c. CU primare se pun in coltul dreapta sus, d. Actorii principali se pun in stanga sus, e. Dependentele temporare se marcheaza prin aliniere verticala, f. Fiecare CU trebuie sa fie legat (direct sau nu ) de cel putin un actor si fiecare actor de cel putin un CU. Fluxul de evenimente este o descriere textuala clara a ceea ce face un caz de utilizare pentru a putea fi inteles de un neinitiat. Aceasta descriere poate fi nestructurata (in limbaj natural) sau structurata. Model de caz de utilizare descris prin flux de evenimente (structurat): Numele CU Actori implicati: Flux de evenimente (pasi facuti de actori pasi facuti de sistem) Preconditii: conditii necesare pentru ca scenariul sa poata fi initializat Postconditii: conditiile care trebuie indeplinite dupa executia cazului de utilizare Cerinte de calitate, care trebuie indeplinite de sistem. Scenariul este o secventa de actiuni care ilustreaza o varianta de comportament a unui caz de utilizare. Exemplu: Inmatriculare studenti. Un scenariu pentru candidatii obisnuiti, alt scenariu pentru candidatii studenti la alta facultate, alt scenariu pentru candidatii absolventi de alta facultate. Ingineria directa. Procesul de transformare a unui model in cod (procesul poate fi efectuat de om sau de un instrument (tool) specializat). Ingineria inversa. Procesul de obtinere a modelului plecand de la cod (procesul poate fi efectuat de om sau de un instrument (tool) specializat). Prin natura lor, diagramele cazurilor de utilizare nu pot fi supuse operatiilor de inginerie directa sau inversa deoarece diagramele CU reflecta cum se comporta un sistem, nu cum trebuie implementat comportamentul sistemului. 7