- Docente: Paolo Ciancarini
- Credits: 9
- SSD: INF/01
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Bologna
- Corso: First cycle degree programme (L) in Computer Science (cod. 8009)
Learning outcomes
The course has the goal to teach the basics of software systems construction: methods and tools for analyzing, designing and measuring the qualities of software products. The student will be able to develop a specification starting from some requirements written in natural language. The student will be able to describing a software system using UML and to develop the code using an object oriented language like Java, C++ or C#
Course contents
The course in Italian. •Software products and their development •Software lifecycle •Agile software development methods •Agile Scrum •Requirement engineering •Design patterns •Modeling software with UML •Software development tools •Project Management for software systems • Controlling and measuring software quality • Software maintenance •Configuration management
Readings/Bibliography
Sommerville, Introduzione all'Ingegneria del Software moderna, Pearson 2021
Jacobson, The essentials of modern software engineering, ACM Books 2019
Teaching methods
Lectures, exercises, readings, quizzes with Kahoot, team project
Assessment methods
1) Software development project (in team) with a final report of all activities, 2) written presentation of a scientific paper chosen by the student 3) oral discussion of the project and the presentation. The project is evaluated for teamwork quality and usage of best practices of agile software engineering, that will be presented during the lectures.
Teaching tools
Slides (in italian). Exercises; online tests (Kahoot). Software tools for project developments. Telegram channel
Links to further information
http://www.cs.unibo.it/~cianca/wwwpages/labisw
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.