- Docente: Paolo Ciancarini
- Credits: 6
- SSD: INF/01
- Language: English
- 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
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
Optionally, a project can be agreed in which software architecture topics will be explored.
Assessment methods
•Attending class 10%
•Report or project on a sw architecture topic 60%
•Presentation of the 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
This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.