To show the organization of the course that includes this module, follow this link Course organization
The course introduces the basic scientific and professional notions of software engineering, addressing in particular the different phases (planning, design, validation and testing, and maintenance) of the software development process.
- Introduction to software engineering:
-- Software: product and process.
-- Quality attributes.
-- Software life-cycles.
-- Phases and activities of the software development process.
-- Models of the software life-cycle.
- Planning of the development process:
-- Feasibility study.
-- Definition of requirements and constraints.
-- Risk management.
-- Production control.
-- Configuration management.
-- Project administration.
- Software development:
-- Requirements elicitation and analysis.
-- Rapid prototyping.
-- Specification and implementation.
-- Component-based design.
-- Standards for implementation and documentation.
- The standard language UML 2 for software modeling (notation and main diagram types).
- Software verification, validation and testing:
-- Validation methods and strategies.
-- Testing methods and strategies (unit, integration, functional, and system testing).
-- Testing methods and strategies for object-oriented software.
-- Validation and testing metrics.
-- Software metrics.
-- Cost models and estimation.
-- Resource estimation and allocation in software projects.
-- Quality design.
-- Standards ISO 9001, 9000-3, 9126.
|Ian Sommerville||Software Engineering (Edizione 8)||Addison Wesley||2006||9780321313||Versione italiana: Ingegneria del Software, 8 edizione, Pearson-Addison Wesley|
|Martin Fowler||UML distilled (3rd ed.) (Edizione 3)||Pearson Education||2003||Versione italiana: UML Distilled, Terza Edizione, Pearson Education Italia, 2004|
The examination consists of a written test, for which the students obtain 4 credits, which will be added to the 1 credit the students obtain when they complete the laboratory course "Laboratorio di architetture software".
The written test must be taken without the help of notes, books, or other documentation. The teacher may decide to replace the written test with an oral examination, especially whenever it is not possible to make sure that the students cannot access this documentation.
The students of the Degree in Computer Science ("Corso di Laurea in Informatica") obtain the credits formally only after having successfully completed the exams of the two course modules. In this way, they obtain 8 credits, which will be added to the 2 credits for the laboratory course.