SOFTWARE ENGINEERING
cod. 06015

Academic year 2023/24
1° year of course - First semester
Professor
Agostino POGGI
Academic discipline
Sistemi di elaborazione delle informazioni (ING-INF/05)
Field
A scelta dello studente
Type of training activity
Student's choice
48 hours
of face-to-face activities
6 credits
hub:
course unit
in ITALIAN

Learning objectives

The goal of the course is to provide an in-depth knowledge on the methodologies and techniques for the development of the software, on the Java programming language, and on the tools that may simplify the development and management of software systems.
Moreover, the course has the goal of providing to the students the ability to use the acquired knowledge and the experience, gained during the lab activities, to identify the best solutions for the desigh of software systems and for developing some satisfying implementations for both the properties and the cost of the developed systems.

Prerequisites

Fundamental concepts of Informatics, Fundamental concepts of
Programming.

Course unit content

The course presents the main techniques and methodologies for the development of software systems with particular attention to object-oriented systems and introduces the Java programming language. In particular, the course copes with the following topics:
Introduction
Development processes and models
Requirement engineering
Design
Implementation and testing
Installation and maintenance
Project management
Java

Full programme

Introduction
Development processes and models
- Software development processes
- Software development models
- UML
Requirement engineering
- Introduction
- UML e OCL for the requirement engineering
- Requirements elicitation
- Requirements analysis
- Requirements management and validation
Design
- Design process
- Design principles
- Architectural design
- User Interface Design
- Software Pattern
- Object-oriented design
Implementation and testing
- Software implementation
- Software testing
Installation and maintenance
- Software installation
- Software maintenance
Project management
Java
- General properties
- Exceptions
- Input/output
- Collections
- Graphical user interfaces
- Functional Programming
- Reflection and concurrent programming
- Techniques, tools and models for software systems

Bibliography

Ian Sommerville. Software Engineering, 10/ed, Pearson Education, 2015.

Teaching methods

The course is based on theoretical lectures and lab activities. In particular, the lab activities are dedicated to the development of some software systems taking advantage of the Java language and of the software tools discussed during the course. In these activities, students work individually, of course under the control and with the support of the teacher and without any restriction on positive interaction among them.
The slides used to support the teaching activities will be uploaded on the Elly platform before each lecture. Students need to subscribe to the online course to download the corresponding slides. Slides are an integral part of the teaching material. Therefore, non-attending students need to check the teaching material and the teacher’s recommendations available on the Elly platform.

Assessment methods and criteria

Evaluation consists of a written test and a practical test. Written tests are composed of seven open-ended questions to be answered without the use of books and notebooks. Five questions have the goal to evaluate the acquired knowledge on the argument discussed during the course. The remaining two questions have the goal to evaluate the capability to apply the knowledge acquired during the course. Written tests duration is an hour and thirty minutes, their score scale is 0-30 and grades will be communicated within two weeks after the tests through the Elly system. Practical tests consist in the development of some software systems and can be carried out by students individually or in groups of up to two people. These tests have the goal to evaluate the capability to apply the knowledge acquired during the course. Moreover, the value of such an evaluation will depend on the quality of the developed systems, of the related documentation, and of the oral presentation of the system. The score scale of practical tests is 0-30 and grades are communicated at the end of the presentation. The exam is passed if the grade of both the tests is greater or equal to 18. Final evaluation is the average grade of the two tests. Honors can be awarded in case of achieving the highest score on both tests. For the students following the pre-fit (PF24) studies, the practical tests consist in the preparation of two lesson on specific course arguments and in the oral presentation of one of them.

Other information

- - -

2030 agenda goals for sustainable development

- - -