Scientific Disciplinary Sector (SSD)
INF/01 - INFORMATICS
II sem. dal Mar 2, 2015 al Jun 12, 2015.
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.
- Introduction to Software Engineering, software product.
- Software life-cycles, phases and activities of the software development process.
- Feasibility study, definition of requirements and constraints, use cases and scenarios.
- Project management: planning, risk analysis and management, time and resources management.
- Agile methods
- Project administration: planning , installation and maintenance of technical infrastracture
- Change management.
- The standard language UML 2 for software modeling: use case diagrams, class and package diagrams, activity and sequence diagrams.
- Scalability. Component-based design. Software reuse.
- Design patterns.“Single Responsibility Principle”, “The Open/Closed Principle”, “The Liskov Substitution Principle”, “The Dependency Inversion Principle”, “The Interface Segregation Principle”.
- Testing: unit test, integration test, user acceptance test; white e black box test.
- Version Control
The examination consists of a project and an oral examination.
The project consists in a document regarding the whole project development (including UML diagrams) and oral presentation of the document and the prototype. Document shall be presented with slides.Students can carry out projects in small groups of 3 o 4 students.
The oral examination will take place immediately after the presentation of the project.
The oral examination may be replaced with a written test, multiple choice, in June, July or September.
The written test must be taken without the help of notes, books, or other documentation.