11
Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II Conf.dr.ing. Ioana Şora www.cs.utt.ro/~ioana [email protected]

Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II

Embed Size (px)

DESCRIPTION

Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II. Conf.dr.ing. Ioana Şora www.cs.utt.ro/~ioana [email protected]. Cand este un sistem software “complex” ?. “Complexitatea” este data de: Ce face: Functionalitate complexa - PowerPoint PPT Presentation

Citation preview

Page 1: Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II

Prezentare curs:

PASSCProiectarea si Arhitectura

Sistemelor Software Complexe

an III CTI, sem II

Conf.dr.ing. Ioana Şora

www.cs.utt.ro/[email protected]

Page 2: Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II

Cand este un sistem software “complex” ?

• “Complexitatea” este data de:– Ce face: 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”

Page 3: Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II

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

Page 4: Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II

Probleme de proiectare - Principii -Tehnologii

Principii de proiectare(Stiluri arhitecturale, pattern-uri,

tactici, strategii)

Tehnologii, Framework-uri, API-uri concrete

Problema de proiectare

Page 5: Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II

Probleme de proiectare - Principii -Tehnologii

“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

Exemplu curs PASSC – Arhitectura aplicatiilor distribuite:

Page 6: Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II

Probleme de proiectare - Principii -Tehnologii

“Cum se poate (auto)adapta comportamentul/structura unei aplicatii, la runtime, intr-un mod neanticipat ”

Reflective Architectural StyleMetalayer Architectural Style

Java Reflection.NET Reflection

Exemplu curs PASSC – Arhitectura aplicatiilor adaptive:

Page 7: Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II

Probleme de proiectare - Principii -Tehnologii

“Cum se asigura independenta dintre modelul domeniului aplicatiei si tehnologia utilizata pentru persistenta datelor”

Data Access PatternsXML (JAXP)

RDBMS (JDBC)

Exemplu curs PASSC – Persistenta datelor:

Page 8: Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II

Probleme de proiectare - Principii -Tehnologii

“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

Exemplu curs PASSC – Interoperability:

Page 9: Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II

Bibliografie

Page 10: Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II

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

Page 11: Prezentare curs: PASSC Proiectarea si Arhitectura Sistemelor Software Complexe an III CTI, sem II

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