Studying at the University of Verona
Here you can find information on the organisational aspects of the Programme, lecture timetables, learning activities and useful contact details for your time at the University, from enrolment to graduation.
Study Plan
The Study Plan includes all modules, teaching and learning activities that each student will need to undertake during their time at the University.
Please select your Study Plan based on your enrollment year.
1° Year
Modules | Credits | TAF | SSD |
---|
2° Year activated in the A.Y. 2017/2018
Modules | Credits | TAF | SSD |
---|
One course to be chosen among the following
3° Year activated in the A.Y. 2018/2019
Modules | Credits | TAF | SSD |
---|
Modules | Credits | TAF | SSD |
---|
Modules | Credits | TAF | SSD |
---|
One course to be chosen among the following
Modules | Credits | TAF | SSD |
---|
Legend | Type of training activity (TTA)
TAF (Type of Educational Activity) All courses and activities are classified into different types of educational activities, indicated by a letter.
Programming II and Software Engineering (2017/2018)
Teaching code
4S003714
Credits
12
Coordinator
Language
Italian
Also offered in courses:
- Software Engineering of the course Bachelor's degree in Bioinformatics
The teaching is organized as follows:
INGEGNERIA DEL SOFTWARE
Credits
6
Period
See the unit page
Academic staff
See the unit page
Learning outcomes
------------------------
MM: INGEGNERIA DEL SOFTWARE
------------------------
------------------------ MM: Teoria ed esercitazioni ------------------------
The course introduces the basic scientific and professional notions of software engineering, addressing in particular the different phases of the software development process: planning, design, modeling and specification, implementation, testing and validation, evaluation, maintenance. The programming projects carried out in the lab complement the theory lectures with the design, documentation and realization of a software. At the end of the course, the student will have acquired all the basic knowledge related to software engineering and will be able to apply it in the design and implementation of software systems. He will also be able to interact with all the stakeholders, from the requirement elicitation to the software maintenance.
------------------------ MM: Laboratorio ------------------------
The aim of this module is to support the student during the planning, documentation, and implementation of a software application using the techniques introduces during the theory course.
------------------------
MM: PROGRAMMAZIONE II
------------------------
The goal of this module is to let students learn Java and object-oriented programming, together with programming techniques that are more advanced than those described in the Programming I course. At the end of the course, students will be able to write nontrivial algorithms in an object-oriented programming language and understand third-party object-oriented code.
Program
------------------------
MM: INGEGNERIA DEL SOFTWARE
------------------------
------------------------ MM: Teoria ed esercitazioni ------------------------
* Introduction to Software Engineering
- Definition of Software Engineering
- Professional software development
- Software engineering ethics
* Software Processes
- Software process models
- Process activities
- Coping with change
* Agile Software Development
- Agile methods
- Agile development techniques
- The SCRUM methodology
* Requirements Engineering
- Functional and non-functional requirements
- Requirements engineering processes
- Requirements Engineering and UML Use Cases
* Architectural Design
- Architectural design decisions
- Architectural views
- Architectural patterns
-- MVC
-- Repository
-- Client server
-- Pipe and filter
* OO Design and Implementation
- OO basic concepts
- The standard language UML 2 for software modeling
-- Use Case diagrams
-- Class diagrams
-- Activity Diagrams
-- Sequence diagrams
- Design patterns
-- Introduction
-- Singleton
-- Observer
-- Template
-- Iterator
-- Factory
-- Abstract factory
-- Proxy
-- Facade
-- Decorator
* Verification and Validation
- Introduction
- Inspection and test
- Testing: unit test, integration test, user acceptance test
* Software evolution and maintenance
- Change Management
- Legacy Systems
- Software maintenance
------------------------ MM: Laboratorio ------------------------
- Introduction to Swing library for the development of graphical user interfaces in Java.
- Introduction to TkInter, wxPython, pyGTK/PyGobject, and PyQt/PySide libraries for the development of graphical user interfaces in Python.
- Introduction to Eclipse-Papyrus and StarUML tools for the development of UML projects.
Teaching methods - Lecturing and practicing in computer laboratory.
Didactical material (slides) and further exercise texts are available on the eLearning platform. The teacher is available for individual meeting in office hours.
------------------------
MM: PROGRAMMAZIONE II
------------------------
Java and bytecode Structure of classes Arrays Inheritance Methods and late binding Standard library and some of its basic classes Exceptions Input/output Interfaces Collection classes
Bibliography
Author | Title | Publishing house | Year | ISBN | Notes |
---|---|---|---|---|---|
Ian Sommerville | Ingegneria del software - 10/Ed. (Edizione 10) | Pearson | 2017 | 9788891902245 | |
Martin Fowler | UML Distilled (Edizione 4) | Pearson - Addison Wesley | 2010 | 9788871925981 | |
Claudio De Sio Cesari | Manuale di Java 8. Programmazione orientata agli oggetti con Java standard edition 8 (Edizione 1) | Hoepli | 2014 | 8820362910 |
Examination Methods
------------------------
MM: INGEGNERIA DEL SOFTWARE
------------------------
------------------------ MM: Teoria ed esercitazioni ------------------------
The examination, for students both attending and not attending classes, consists of a project related to lab activities and of an oral examination. Such exam will allow one to show both his communication skills and his knowledge about Software Engineering. Student will also demonstrate their skills in applying their knowledge in "practical" software engineering tasks.
------------------------ MM: Laboratorio ------------------------
The examination consists of a project related to lab activities. The project has to be presented and discussed during the oral exam.
------------------------
MM: PROGRAMMAZIONE II
------------------------
Written examination about the development of Java code. Students will have to complete the implementation of some Java classes. The exam will be evaluated with up to 30 points, on the basis of the general correctness of the code, both from a semantic and syntactic perspective.