Universitatea Babeş-Bolyai Cluj-Napoca
Facultatea de Matematică şi Informatică
Ciclul de studii: Masterat

FISA DISCIPLINEI

Codul
Denumirea disciplinei
MME8010 Arhitectura sistemelor soft
Specializarea
Semestrul
Ore: C+S+L+P
Statutul
Programare bazată pe componente - în limba engleză
4
2+1+0+1
obligatorie
Sisteme inteligente - în limba engleză
4
2+1+0+1
obligatorie
Inginerie software - în limba engleză
2
2+1+0+1
obligatorie
Titularii de disciplina
Prof. Dr. PÂRV Bazil,  bparvcs.ubbcluj.ro
Aims
The course introduces core concepts and principles of software architecture, focusing on software architecture definition(s), architectural styles and models, architecture definition languages, and tool support for architectural design. All theoretical concepts are introduced by using case studies, taken from real applications.
Content
Course lectures - 12 weeks
Week 1 1. Introduction. From Programming Languages to Software Architecture: definitions, early work, high-level programming languages, abstract data types
Week 2 2. Common architectural styles: pipes and filters, data abstraction and object-oriented organization, event-based (implicit Invocation), layered systems, repositories, table-driven interpreters,
other architectures, heterogeneous architectures.
Week 3 3. Case studies: Key Word in Context, Instrumentation Software, Mobile Robots
Week 4 3. Case studies: Cruise Control, A Layered Design with Different Styles for Layers, An Interpreter Using Different Idioms for the Components, A Blackboard Globally Recast as Interpreter
Week 5 4. Shared information systems: definitions, database integration, integration in software development environments, integration in the design of buildings, architectural structures.
Week 6 5. Client/server architectures: introduction, evolution - mainframe architecture, file sharing architecture, client-server architecture with examples, two-tier architectures (fat client, thin client)
Week 7 5. Client/server architectures: three (multi)-tier architectures - general issues, different approaches (with multiple transaction processing monitor, with message server, with application server)
Week 8 5. Client/server architectures: three (multi)-tier architectures with object request broker, distributed/collaborative enterprise architecture
Week 9 6. Architectural models and elements: definitions, model elements and types, traditional architectural notations, architecture description languages
Week 10 6. Architectural models and elements: 4+1 View Model (Kruchten), information systems architectures (Zachman framework, Data warehouse)
Week 11 7. Architectural notations: informal diagrams, module interconnection languages, SGL (Software Glue Language)
Week 12 7. Architectural notations: ADL (Architecture Description Language), modeling/specification languages (UML, ModeChart)

Seminars /labs- 1 hour/week, 6 seminars/labs of 2 hours each
Seminar 1 Survey of the sources of information available on Internet and Intranet; chosing the paper topic and scheduling the presentation.
Seminars 2-5 Presentations of papers

Students will be organized in teams of 3 to 5 members. Each team will solve a problem, and each team member will implement a different architectural style.
Lab 1 Survey of the sources of information available on Internet and Intranet; team building, chosing the model problem, and initial planning of the project.
Lab 2 Project management phase (problem statement, requirements, team members,. architectural styles to be considered, preliminary schedule)
Labs 3 Analysis and design phase (analysis issues and general design decisions, detailed design for each considered style, project management issues)
Labs 4-5 Construction phase (implementation and testing issues)
Lab 6 Live demos (including source code, the comparison of different solutions, and the statement of individual contributions).

The course and seminar/lab materials are available on the Win server, in the folder
\win\labor\Romana\Master\pbc251\SoftwareArch
Bibliografie
1. BASS, L., CLEMENTS, P., KAZMAN R.: Software Architecture in Practice, 2nd ed., Addison-Wesley, 2003
2. KRUCHTEN, PH.: Architectural Blueprints – The 4+1 View Model of Software Architecture, IEEE Software 12 (6), 1995, pp. 42-50.
3. MALVEAU, R., MOWBRAY, T.J.: Software Architect Bootcamp, Prentice Hall, (1st ed., 2000, 2nd ed., 2003).
4. SHAW, M.: 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, M., GARLAN, D.: Software Architecture: Perspectives on an Emerging Discipline, Prentice-Hall, 1996.
Assessment
The final mark will cover seminar/lab work (i.e. paper and project) and the written exam results. It is computed as follows, on a 10-point scale:
1pt by default
1pt lab attendance
2pts research paper
2pts software project
4pts written exam.
Syllabus-urile tuturor disciplinelor