- Docente: Davide Rossi
- Credits: 9
- SSD: INF/01
- Language: Italian
- Moduli: Davide Rossi (Modulo 1) Davide Rossi (Modulo 2)
- Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
- Campus: Bologna
-
Corso:
First cycle degree programme (L) in
Information Science for Management (cod. 6060)
Also valid for First cycle degree programme (L) in Information Science for Management (cod. 8014)
Learning outcomes
This is a software engineering course concerning software development processes and practices, with specific focus on those useful for the requirement and the design of software systems. Specifically, the students will learn how to apply principles, practices and patterns to the analysis, design and construction of software systems. They will learn how to address the issues related to the internal quality of software systems. They also will learn the main agile and plan-based methods and how to work in a development team.
Course contents
Introduction to Software Engineering
The software process model
The analisys model
Introduction to UML
UML: Use case
UML: Classes
Analisys model – domain model
UML: Activities
UML: Interactions
OO principles
GRASP
Design Patterns
Agile software development
Modern patterns and frameworks
Testing: unit, integration and acceptance tests
Build automation tools
Continuous Integration: practices and tools
Readings/Bibliography
Craig Larman, Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition), Prentice Hall
Other textbooks and resources will be suggested during the lectures
Teaching methods
Lectures and interactive modeling exercises.
Interactive homework presentation.
Assessment methods
The assessment of competencies is carried out through the evaluation of a written exam and a project, with an additional oral exam being optional.
The written exam, lasting 2 hours, includes modeling and specification exercises as well as open-ended questions.
The modeling exercises are assessed based on completeness and correctness; the open-ended questions are evaluated considering completeness, correctness, appropriate use of technical terminology, the ability to make connections with other topics from the course, and the use of critical thinking.
The project is evaluated based on the submitted material and a discussion, taking into account correctness and adherence to the suggested practices.
The optional oral exam may cover any of the topics discussed during the lessons.
The final grade is obtained through the average of the written exam evaluation and the project evaluation. The oral exam evaluation contributes to modifying this value. To the final grade may also contribute, within the limit of one additional point for the written exam, the positive evaluation of the student's presentation of an exercise proposed by the teacher during the course.
The recording of the grade is not automatic: students must contact the instructor once they have received the grades for the written exam and project.
Office hours
See the website of Davide Rossi