To show the organization of the course that includes this module, follow this link Course organization
The course introduces the basic scientific and professional notions of software architectures, providing in particular a comparative analysis of software architectures together with modeling and specification languages for such architectures.
- Analysis and specification of software architectures:
-- Introduction to software architectures.
-- Taxonomy of the most common software architectures.
-- Software architecture configuration management.
-- Modeling, analysis and specification of object-oriented software architectures.
-- Comparative analysis of software architectures by means of case studies.
- Modeling languages for software architectures and specification of requirements and constraints on object-oriented architecture models:
-- The standard language UML 2 (notation and use of the main diagram types).
-- The standard language OCL 2 (notation and use of the main constructs).
-- The standard language Z (notation and use of the main constructs).
- Software architecture verification, validation and testing:
-- Rapid prototyping of software architecture specifications and automated validation of architecture prototypes.
-- Testing methods and strategies for software architectures: unit, integration, and system testing.
-- Testing methods and strategies for object-oriented software architectures.
|J.B. Warmer, A.G. Kleppe||The Object Constraint Language, Second Edition (Edizione 2)||Addison Wesley||2003||0321179366|
|J.M. Spivey||The Z Notation: a reference manual (2nd ed.) (Edizione 2)||Prentice Hall||2001||Available online at http://spivey.oriel.ox.ac.uk/mike/zrm/index.html|
|Martin Fowler||UML distilled (3rd ed.) (Edizione 3)||Pearson Education||2003||Versione italiana: UML Distilled, Terza Edizione, Pearson Education Italia, 2004|
The examination consists of a written test, for which the students obtain 4 credits, which will be added to the 1 credit the students obtain when they complete the laboratory course "Laboratorio di architetture software".
The written test must be taken without the help of notes, books, or other documentation. The teacher may decide to replace the written test with an oral examination, especially whenever it is not possible to make sure that the students cannot access this documentation.
The students of the Degree in Computer Science ("Corso di Laurea in Informatica") obtain the credits formally only after having successfully completed the exams of the two course modules. In this way, they obtain 8 credits, which will be added to the 2 credits for the laboratory course.