Software Architecture & Design
Persone
Docente titolare del corso
Gallidabino A.
Assistente
Descrizione
Architecture is not only necessary as the global blueprint to manage the complexity of large software systems, but should also be seen as the focus of the main design decisions influencing the quality attributes (modularity, maintainability, extensibility, portability, interoperability, reuse, performance, scalability, elasticity) of the resulting system. This class teaches the students to structure complex software systems using components and connectors while keeping track of the rationale behind their design decisions. Contents: System Decomposition vs. Software Composition; Design Principles: Simplicity, Abstraction, Separation of Concerns, Encapsulation, Information Hiding; Architectural Styles, Patterns and Anti-Patterns: Avoiding Common Design Mistakes; API Design Techniques; 4+1 Architectural Views: Logical, Physical, Process, Development; Model-Driven Engineering; Architectural Decision Modeling
REFERENCES
- G. Fairbanks, Just Enough Software Architecture: A Risk-Driven Approach, Marshall & Brainerd, August 2010. (textbook)
- R. N. Taylor, N. Medvidovic, E. M. Dashofy, Software Architecture: Foundations, Theory, and Practice, Wiley, January 2009 (reference book)
- Mary Shaw and David Garlan, Software Architecture: Pespectives on an Emerging Discipline, Prentice-Hall, 1996
- Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal Pattern Oriented Software Architecture: A System of Patterns, Wiley, 1996
- William Brown, Raphael Malveau, Hays McCormick, Thomas Mowbray, Anti Patterns: Refactoring Software, Architectures, and Projects in Crisis, Wiley, 1992
- Clemens Szyperski, Component Software: Beyond Object-Oriented Programming, 2nd Edition, Addison-Wesley, 2002
- Len Bass, Paul Clements, Rick Kazman, Ken Bass, Software Architecture in Practice, 2nd Edition, Addison-Wesley, 2003
- Martin Fowler, Patterns of Enterprise Application Architecture, Addison Wesley, 2002
- Luke Hohmann, Beyond Software Architecture: Creating and Sustaining Winning Solutions, Addison-Wesley, 2003
Offerta formativa
- Master of Science in Informatics, Corso di base, Corso
- Master of Science in Management and Informatics, Corso a scelta, Corso
- Dottorato in Scienze informatiche, Corso a scelta, Corso (4 ECTS)