Software Architecture

LM Informatica

Dipartimento di Informatica - DISI

Università di Bologna

Docente: Paolo Ciancarini

This course is in English.

Software Architecture is the discipline which studies the form of software systems as the product of social design activities.
Software Architecture extends Software Engineering to System Engineering and Organizational Engineering.
Every software system has an architecture, in the same sense that any building has a form that is the consequence of its function and the needs of its stakeholders.
We present the most important extra-functional properties of large software systems and study how their structure and components can be reused.

Presentazioni / Slides from lectures 2018-19


Instructions for the report and the presentation

Useful references

Slides from the book Foundations of Software Architecture

Sito di un libro sulle architetture di sistemi open source, da usare per ispirarsi nella scelta della relazione

L'architettura del software secondo Grady Booch

L'architettura del software al Software Engineering Institute

Documenti standard IEEE (accessibili dalla rete del Dipartimento)

Archimate (notazione standard per Enterprise Architecture)

Eclipse (ambiente di progettazione software)

Enterprise architect (strumento per progettazione architetturale con UML)

Rational Rhapsody (strumento per progettazione architetturale con UML)

Archi (strumento per modellare architetture enterprise, basato su Archimate)

AcmeStudio (strumento per modellare architetture software)

Sito con molti articoli su architetture software

Martin Fowler bliki (blog+wiki)

International Association of Software Architects

Letture suggerite / Suggested Readings

Prequisito: Letture di Ingegneria del Software

Perry & Wolf: Foundations for the Study of Software Architecture

Garlan & Shaw: An introduction to Software Architecture

Monroe & Kompanek & Melton & Garlan: Architectural Styles, Design Patterns, and Objects, IEEE Software 1997

Abowd & Allen & Garlan: Formalyzing Style to Understand Descriptions of Software Architecture

Tracz: DSSA (Domain Specific Software Architecture) pedagogical example

Google Scholar (per cercare articoli)

Last updated Sept 27 2017