Arhitecturi soft |
trul |
|||||
Cadre didactice indrumatoare |
|
Obiective |
Cursul introduce conceptele si principiile de baza ale arhitecturii sistemelor soft, punand accentul pe definirea arhitecturii soft, stilurile arhitecturale, modelele de arhitectura, limbajele de descriere a arhitecturii si instrumentele folosite in proiectarea arhitecturii. Toate elementele teoretice sunt introduse folosind studii de caz, exemple de aplicatii reale. |
Continut |
1. Introducere
1.1. Definitii 1.2. Istoric. Preocupari 'clasice' legate de arhitectura sistemelor soft 2. De la limbajele de programare la arhitectura sistemelor soft 2.1. Limbaje de programare de nivel inalt 2.2. Tipuri abstracte de date 2.3. Arhitectura sistemelor soft 3. Stiluri arhitecturale 3.1. Magistrale si filtre 3.2. Structurarea programelor folosind abstractizarea datelor si orientarea pe obiecte 3.3. Apelarea implicita, bazata pe evenimente 3.4. Sisteme stratificate 3.5. Depozite de date partajate 3.6. Interpretarea dirijata de tabele 3.7. Alte stiluri 'clasice' de arhitectura 3.8. Arhitecturi heterogene 4. Studii de caz 4.1. Problema 1: KWIC (Key Word in Context, David Parnas) 4.2. Problema 2: Soft pentru instrumente de masura 4.3. Problema 3: Compilatoare 4.4. Problema 4: Structura stratificata cu stiluri diferite pentru fiecare nivel 4.5. Problema 5: Interpretor cu diferite stiluri de componente 4.6. Problema 6: Blackboard 5. Modele si elemente arhitecturale 5.1. Tipuri de elemente si modele 5.2. Modele timpurii 5.3. Modelul celor 4+1 vederi 5.4. Elemente ale arhitecturii soft: componente, conectori, sabloane, configuratii 6. Notatii pentru descrierea arhitecturii 6.1. Diagrame informale 6.2. Limbaje de interconectare a modulelor 6.3. SGL (Software Glue Language) 6.4. ADL (Architecture Description Language) 6.5. Limbaje de modelare/specificare (UML, ModeChart) Activitati de laborator Cel putin doua solutii de proiectare pentru problemele discutate la curs, folosind stiluri de arhitectura diferite. Fiecare solutie se va implementa în cel putin doua limbaje de programare (Java, C#, Visual Basic 6.0, Visual Basic .NET). Materialele de curs si de laborator vor fi disponibile pe serverul Departamentului de Informatica, în directorul ..\labor\romana\an4\arhSoft |
Bibliografie |
1. FUSSELL, MARK L.: A Good Architecture for Object-Oriented Information Systems. Structures, Designs, and Patterns, OOPSLA'96 Tutorial 23, [http://www.chimu.com/ publications/oopsla96tutorial23/oopsla96tutorial23.pdf].
2. KRUCHTEN, PHILIPPE: Architectural Blueprints - The 4+1 View Model of Software Architecture, IEEE Software 12 (6), 1995, pp. 42-50. 3. MOWBRAY, THOMAS J. - MALVEAU, RAPHAEL: Software Architect Bootcamp, Prentice Hall, (1st ed., 2000, 2nd ed., 2003). 4. SHAW, MARY: The Coming-of-Age of Software Architecture Research, in Proc. of the 23rd ICSE, IEEE Comp. Soc. 2001, 656, [http://www.cs.cmu.edu/afs/cs.cmu.edu/project/vit/ ftp/pdf/shaw-keynote-rev.pdf] 5. SHAW, MARY - GARLAN, DAVID: Software Architecture: Perspectives on an Emerging Discipline, Prentice-Hall, 1996. 6. Software Architecture Resources, [http://www.bredemeyer.com/papers.htm ] |
Evaluare |
Nota finala va reflecta activitatea de laborator si rezultatul de la colocviu - o lucrare scrisa. Se acorda:
1p din oficiu 1p prezenta la laboratoare 4p activitatea la laboratoare (temele predate, modul de implementare, respectarea planificarii etc) 4p nota la lucrarea scrisa - in ultima saptamana a semestrului. |