|Tuesday||8:30 AM - 11:30 AM||laboratorio||Laboratory Delta||from Apr 1, 2014 to Jun 13, 2014|
|Thursday||9:30 AM - 11:30 AM||lesson||Lecture Hall B|
|Friday||11:30 AM - 1:30 PM||lesson||Lecture Hall A|
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 and realization of complex software systems "in the large".
- Software, product and process:
- Quality attributes.
- Software life-cycles.
- Phases and activities of the software development process.
- Planning of the development process:
- Feasibility study.
- Definition of requirements and constraints.
- Risk management.
- Production control.
- Configuration management and versioning.
- Project administration.
- Software development:
- Requirements elicitation and analysis.
- Rapid prototyping.
- Specification and implementation.
- Component-based design.
- Software reuse.
- Design patterns.
- Software architectures.
- Standards for implementation and documentation.
- The standard language UML 2 for software modeling.
- Formal software specification languages.
- "In the large" programming.
- Agile methods
- Basics of OCL language
|Ian Sommerville||Ingegneria del Software (Edizione 8)||Pearson||2007||8871923545|
|Martin Fowler||UML Distilled (Edizione 4)||Pearson - Addison Wesley||2010||9788871925981|
The examination consists of a written test, for which the students obtain 5 credits, which will be added to the 1 credit the students obtain when they complete the laboratory activity.
The examination of the laboratory activity consists of the completion of a number of projects, which the students can carry out in small groups, of 3 o 4 students (and of a short written test).
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.