120 likes | 285 Views
Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II. Conf.dr.ing. Ioana Şora www.cs.utt.ro/~ioana ioana.sora@cs.upt.ro. Cand este un sistem software “complex” ?. “Complexitatea” este data de: Ce face: Functionalitate complexa
E N D
Prezentare curs:PASSCProiectarea si Arhitectura Sistemelor Software Complexean III CTI, sem II Conf.dr.ing. Ioana Şora www.cs.utt.ro/~ioana ioana.sora@cs.upt.ro
Cand este un sistem software “complex” ? • “Complexitatea” este data de: • Ceface: Functionalitate complexa • Cum face: Trebuie sa indeplineasca/gaseasca un compromis intre diverse cerinte ne-functionale (“ilities”) de multe ori contradictorii • Caracteristici rezultate: • Dezvoltarea sistemului necesita multe resurse • Dezvoltarea sistemului utilizeaza diverse tehnologii/infrastructuri • Prioritati: Reutilizare, Integrare, Adaptare, Comunicare • Complexitatea sistemului implica abordarea lui la un nivel ridicat de abstractizare => “arhitectura software” • “Design in the large”
Specificul cursului • Depth-coverage: din punct de vedere al domeniului larg de Software Engineering: al 3-lea curs din secventa de SE • Breadth-coverage: din punct de vedere al domeniului Software Architecture: • Intelegerea generala a problemelor legate de arhitectura software si proiectarea arhitecturala (design in the large) • Orientat pe arhitecturi si probleme specifice pe tipuri de aplicatii: • Stiluri arhitecturale generale de integrare si comunicare • Aplicatii distribuite • Aplicatii adaptive • Aplicatii cu persistenta datelor • Interoperabilitate • Aduce in fata principiile din spatele tehnologiilor • Abordare “top-down” a domeniului
Probleme de proiectare - Principii -Tehnologii Problema de proiectare Principii de proiectare (Stiluri arhitecturale, pattern-uri, tactici, strategii) Tehnologii, Framework-uri, API-uri concrete
Probleme de proiectare - Principii -Tehnologii Exemplu curs PASSC – Arhitectura aplicatiilor distribuite: “Ce infrastructura e necesara ca un obiect sa apeleze transparent metode ale altui obiect aflat la distanta ?” Architectural Pattern: Object Request Broker Java RMI CORBA .NET Remoting
Probleme de proiectare - Principii -Tehnologii Exemplu curs PASSC – Arhitectura aplicatiilor adaptive: “Cum se poate (auto)adapta comportamentul/structura unei aplicatii, la runtime, intr-un mod neanticipat ” Reflective Architectural Style Metalayer Architectural Style Java Reflection .NET Reflection
Probleme de proiectare - Principii -Tehnologii Exemplu curs PASSC – Persistenta datelor: “Cum se asigura independenta dintre modelul domeniului aplicatiei si tehnologia utilizata pentru persistenta datelor” Data Access Patterns XML (JAXP) RDBMS (JDBC)
Probleme de proiectare - Principii -Tehnologii Exemplu curs PASSC – Interoperability: “Cum poate un obiect implementat intr-un anumit limbaj de programare sa apleleze in mod transparent metode ale altui obiect implementat in alt limbaj ? ” Interoperability Patterns .NET Common Language Runtime CORBA
Laborator • Exista o corelatie stransa intre laborator si continutul si ritmul materiei de la curs • Un subiect de laborator se intinde pe aprox 3 saptamani • Tipul temelor: • Teme individuale • Teme de grup dar cu contributii individuale prestabilite si bine definite • Notarea temelor: • Media notelor temelor: 50% din nota finala • De regula sunt enuntate de la inceput punctaje incrementale bine definite pentru realizarea a parti din tema • Termene de realizare de 2-3-4 saptamani in functie de tema • Este posibil ca unele teme sa ofere posibilitatea obtinerii de puncte bonus pentru lucrarea scrisa de la sfarsit de semestru
Pentru mai multe detalii: Web • www.cs.utt.ro/~ioana/arhit • Pagina web contine: • Cuprins curs • Slide-uri curs • Teme laborator • Bibliografie curs si resurse aditionale