77805 - SOFTWARE ARCHITECTURES

Academic Year 2020/2021

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Computer Science (cod. 8028)

Learning outcomes

At the end of the course the student will be able to describe and evaluate the overall structure of complex software-intensive systems, especially of the most known ones oriented to services, including platforms and products for playing games.

Course contents

The course “Software Architecture” presents the main ideas on design methods and technologies, especially in connection with agile development (like microservices), useful to build large and complex software-intensive systems

Prerequisites:

Be able to program with an o-o language like Java or C#

Basic notions of software engineering (eg. agile, UML)

IMPORTANT: you should be able to recognize and use the main design patterns

Syllabus:

•Software: engineering vs architecting •The qualities of software systems •Describing software architectures •Architecting with agile methods •Languages for software architecting •Architectural styles •Special styles: interactive, distributed, cloud •Model Driven Architecture •Enterprise architecture •Evaluating a software architecture

Readings/Bibliography

H.Cervantes & R. Kazman, Designing Software Architectures, AddisonWesley 2016

Additional material will be distributed during the course

Teaching methods

Lectures

Workshops in which students create and discuss software architectures

A project and/or a report topic can be agreed in which software architecture topics will be explored.

Assessment methods

•Attending class 10%

•Project/report on a sw architecture topic 60%

•Presentation of the project/report 30%

Teaching tools

An open source software development environment based on Eclipse and/or IntelliJ is available for a project be agreed wit the instructor 

Links to further information

http://www.cs.unibo.it/cianca/wwwpages/swarch.html

Office hours

See the website of Paolo Ciancarini

SDGs

Quality education Industry, innovation and infrastructure

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.