- Docente: Paolo Ciancarini
- Credits: 6
- 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: agile methods and tools for analyzing, designing and developing 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 business of software. Software life cycles. Agile methods of software development. Requirements specifications. Design patterns. Software modeling with UML. Software development tools for agile. Project management of software projects. Measuring the quality of software. Software maintenance.
Readings/Bibliography
Jacobson, The essentials of modern software engineering, ACM Books 2019
Sommerville, Software Engineering, 10th ed., Pearson 2017
Teaching methods
Lectures, exercises, scientific paper reading and reporting.
Assessment methods
Project (in team), oral exam on a scientific paper chosen by the student.
Teaching tools
Slides (in italian). Exercises; online tests (Kahoot).
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.