Slide 1

Documente similare
PowerPoint Presentation

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 Info

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 Mate

Slide 1

Proiectarea Sistemelor Software Complexe

Definiţie: modele analitice care asigură evaluarea unor caracteristici de calitate alese, bazându-se pe date din măsurători ale proiectelor software.

PowerPoint Presentation

PROGRAMARE ORIENTATA PE OBIECTE

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

9. Design patterns - Singleton, Factory, Observer Scopul acestui curs este familiarizarea cu folosirea unor pattern-uri des întâlnite în design-ul atâ

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

Paradigme de Programare

Slide 1

Discipline aferente competenţelor Facultate: Facultatea de Electronică şi Telecomunicaţii Universitate: UNIVERSITATEA POLITEHNICA DIN TIMIȘOARA Domeni

Managementul Resurselor Umane

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIŞA DISCIPLINEI (CO

Microsoft Word - Tematica examen AII.doc

Entrepreneurship and Technological Management

Slide 1

2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii

METODE PRACTICE DE IMPLEMENTARE A LABORATOARELOR VIRTUALE ONLINE PENTRU DOMENIUL ELECTRONICII SAU AUTOMATICII METHODS FOR THE IMPLEMENTATION OF ONLINE

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 Mate

FIȘA DISCIPLINEI 1. Date despre program 1.1 Instituția de învățământ superior Universitatea Alexandru Ioan Cuza din Iași 1.2 Facultatea Facultatea de

Microsoft Word - 01_PI_Syllabus_Fisa_disciplinei Software Development

Slide 1

Slide 1

PowerPoint Presentation

Corporate 2 Template

TEZA de ABILITARE Corelatii intre biomateriale, proteze valvulare cardiace si tehnici chirurgicale folosite in protezarea valvulara aortica Horatiu Mo

Programe derulate în ediția a treia Junior IT Fun Factory *În cadrul Junior IT Fun Factory fiecare înscriere se face pentru un program individual în f

STORY NAME: Young musician COPYRIGHT HOLDER: COPYRIGHT NOTICE: Telefilm Chisinau / OPEN Media Hub Ownership of content belongs to Telefilm Chisinau /

Creational design patterns

A TANTÁRGY ADATLAPJA

Microsoft PowerPoint - TDS5-RO.ppt

Microsoft Word - Diplome_ doc

CONTENT NOD MAKERSPACE Concept Context global Context local CINE SUNTEM Locație Proiect Dotări și funcții Ec

Prezentarea calculatorului

Laborator 3

STORY NAME: Being 20: Japanese culture and Game Development in Moldova COPYRIGHT HOLDER: COPYRIGHT NOTICE: Gabriel Encev / OPEN Media Hub Ownership of

Slide 1

Slide 1

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

Raport tehnic şi ştiinţific final privind implementarea proiectului PN-III-P2-2.1-PED Acronim: ForVer Răzvan Diaconescu Decembrie Rez

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Microsoft Word - barcan.doc

GHIDUL STUDENTULUI

Universitatea “Dunarea de Jos” din Galati

Retele Petri si Aplicatii

Slide 1

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

Biomedical Wi-Fi data transmissons

Microsoft Word - Fisa disciplinei BD_I_IE doc

Paradigme de programare

Master

U.T.Cluj-Napoca, C.U.N. Baia Mare Facultatea: Inginerie PLAN de INVĂŢĂMÂNT Domeniul: Calculatoare şi Tehnologia Informaţiei anul univ Progr

ANEXA nr

Facultatea de Electronica Telecomunicatii si Tehnologia Informatiei Arhitectura.Net Indrumator : Conf. dr. ing. Stefan Stancescu Masterand: ing. Codru

EXCEL FĂRĂ SECRETE Grafice şi diagrame

Curs 10

PowerPoint-Präsentation

Ch

Ingineria Sistemelor de Programare

Gestiunea serviciilor de recuperare a sănătăţii în sanatorii şi preventorii

LUMINIŢA SCRIPCARIU

PowerPoint Presentation

EDUCAŢIA ECOLOGICĂ ÎN GRĂDINIŢĂ COLUMNA, nr. 3, 2014 Carmen-Vasilica BRUJA 1 ABSTRACT: This paper is based on informations, data

Example Title with Registration Microsoft® and Trademark SQL ServerTM

Inserarea culorilor in tabele

Microsoft Word - Apostol & Balaceanu 6p.doc

Hunyadi Daniel - Lista lucrari

fm

Laborator - Configurarea de bază DHCPv4 pe un router Topologie Tabela de Adresare Echipame nt Interfață Adresă IP Masca de subreţea Default Gateway Ob

FACULTATEA DE AUTOMATICĂ ŞI CALCULATOARE Raport privind evaluarea activităţii didactice de către studenţi Facultatea de Automatică şi Calculatoare Anu

Laborator 5 - Paradigme de Programare

Aggregating Data

Microsoft Word _04_11 proces-verbal concurs stand Durban.doc

2

Laborator Depanarea Rutării Inter-VLAN Topologie 2013 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public. Page 1 of 8

Tehnici de securitate pe bază de ontologii în sistemele de biblioteci virtuale

Ingineria sistemelor de programe Cursul nr. 1 Conţinut: Capitolul 1 Sistemeinformatice. Probleme şi perspective Capitolul 2 Etapele de dezvoltare a si

Baze de date-Anul 2 (semestrul 2)

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

Prezentarea calculatorului

A TANTÁRGY ADATLAPJA

Gestionarea I/E

REVISAL Versiunea: Data release: 15 martie 2016 IMPORTANT! Distribuţia curentă (v6.0.4) a aplicaţiei Revisal conţine nomenclatorul COR ISCO 08 î

Microsoft Word - Ansamblul software CRONIS

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Alexandru Ioan Cuza din Iaşi 1.2 Facultatea Facultatea de

COLEGIUL TEHNIC „VICTOR UNGUREANU” CAMPIA TURZII

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Resurse (Resources) Aspecte generale Utilizând unealta Resurse (Resources) puteți stoca pe serverul portalului Danubius Online diferite fișiere care c

TABEL SINTETIC CU DATELE REFERITOARE LA LISTA DE PUBLICAŢII

Înregistraţi produsul achiziţionat şi veţi putea beneficia de suport pe pagina CD250 CD255 SE250 SE255 Ghid de iniţiere rapidă

XWiki

PowerPoint Presentation

Transcriere:

Curs 1 17 Octombrie 2011 Adrian Iftene adiftene@info.uaic.ro

SWEBOK: locul şi rolul ingineriei programării, arii tematice, discipline înrudite Dezvoltarea şi mentenanţa sistemelor:dezvoltare agilă condusă de model, şabloane de arhitectură a aplicaţiilor de întreprindere, dezvoltare condusă de teste, refactorizare: cod, arhitectură Design orientat obiect clase: SOA, principii de design orientat obiect Modelare, modelarea afacerilor: BPMN, limbaje specifice domeniu (DSL), cadre de lucru: Eclipse Modeling Framework, Open Architecture Ware (OAW) 2

Model-driven development (MDD) - metodologie software orientată pe crearea de modele apropiate de un domeniu specific decât de concepte informatice Model-driven architecture (MDA) este cea mai cunoscută inițiativă din MDD și a fost lansată de grupul OMG (Object Management Group) în 2001 3

AMDD este versiunea agilă a MDD 4

Test-Driven Development TDD Pașii TDD: 1. Adăuga un test. 2. Executa testele; testul nou eșuează. 3. Actualizează codul funcțional a.i. să treacă toate testele. 4. Execută testele din nou. Dacă testele eșuează, treci la 3. Dacă testele trec cu succes, putem continua cu altă funcționalitate 5. Restructurează codul funcțional și de testare 5

IBM Rational Rose Modeler BPMN Limbaje specifice domeniu (DSL) Cadre de lucru: Eclipse Modeling Framework Open Architecture Ware (OAW) 6

Business Process Modelling Notation (BPMN) is a graphical representation for specifying business processes in a workflow 7

8

EMF is an Eclipse-based modeling framework and code generation facility for building tools and other applications based on a structured data model 9

AOP is a programming paradigm which isolates secondary or supporting functions from the main program s business logic AOP increases modularity by allowing the separation of crosscutting concerns AOP includes programming techniques and tools that support the modularization of concerns at the level of the source code 10

Cross-cutting concerns - aspects of a program which affect other concerns Advice - additional code Pointcut - point where additional code is executed Aspect - the combination of the pointcut and the advice 11

Exemple: AspectJ, CaesarJ, CLOS, Compose, JAsCo, ObjectTeams 12

aspect pointcut advice 13

Problem: we want to know when something changes the student (name or grade) Solution: we add a pointcut for all set methods 14

Problem: we want to trace our program execution Solution: we add a pointcut for all methods set println tostring 15

SOA (Service Oriented Architecture) presupune distribuirea funcţionalităţii aplicaţiei în unităţi mai mici, distincte - numite servicii - care pot fi distribuite într-o reţea şi pot fi utilizate împreună pentru a crea aplicaţii complexe Serviciile sunt unităţi funcţionale independente, ce rezolvă probleme punctuale și pot fi combinate pentru a rezolva probleme complexe. De asemenea pot fi reutilizate în aplicaţii diferite 16

Exemple de servicii: completarea unei cereri online pentru crearea unui cont vizualizarea unui extras de cont efectuarea unei comenzi de bilet de avion online Pentru un robot: servicii pentru văz, auzit, deplasat 17

18

Arhitectură și dependințe: Când spunem că avem un proiect degradat? Principii de proiectare a claselor: responsabilitate, dependențe, separare Principii de proiectare a arhitecturii: Reutilizare, versionare, închidere Cuplare, dependențe Șabloane de proiectare OO: Abstract server, Adapter, Observer, Bridge, Abstract Factory 19

Rigidă greu de modificat Fragilă modificările au efecte nedorite Imobilă separarea în componente e dificilă Vâscoasă lucrurile nu curg cum trebuie Cumplexitate suplimentară Repetiție suplimentară Opacitate greu de înțeles 20

Schimbările succesive conduc la o structură sub-optimă a codului Crește complexitatea Scade claritatea Refactorizarea este o schimbare în structura internă a unui produs software cu scopul de a-l face mai ușor de înțeles și de modificat fără a-i schimba comportamentul observabil Rezultate: Scăderea cuplării Creșterea coeziunii 21

Următoarele situații sunt semnale pentru necesitatea refactorizării: Cod duplicat Metode lungi Clase mari Liste lungi de parametri Instrucțiuni switch după tipul obiectelor - Se recomandã polimorfismul Generalitate speculativă - Ierarhie de clase în care subclasele au acelașii comportament Comunicare intensă între obiecte (cuplare puternicã) Înlănțuirea de mesaje 22

Lucrul cu portalul (Cursuri -> TAIP)

Sursele proiectului vor fi salvate pe SVN-ul de la facultate După ce creați un proiect anunțați coordonatorul de la laborator de adresa proiectului!

SOA: http://www-01.ibm.com/software/solutions/soa/, http://ro.wikipedia.org/wiki/soa SOA for the real world: http://www.javaworld.com/javaworld/jw- 11-2006/jw-1129-soa.html?page=1 Abstract Server http://today.java.net/pub/a/today/2004/06/8/patterns.html Agile Model Driven Development (AMDD) http://www.agilemodeling.com/essays/amdd.htm Florin Leon IP Curs 11 http://eureka.cs.tuiasi.ro/~fleon/curs_ip/ip11_implementarea.pdf OAW http://www.openarchitectureware.org/ 25

Robert Cecil Martin: Design Principles and Design Patterns. www.objectmentor.com. Robert Cecil Martin: Agile Development. Principles, Patterns, and Practices, Prentice-Hall, 2003 26