INFORMAZIONI SU

Software Analysis and Design (the English translation of "Analisi e Progettazione del Software")

Software Analysis and Design (traduzione in inglese del programma di Analisi e Progettazione del Software) - cdl in Ingegneria Gestionale

Docente

prof. Andrea SCHAERF

Credits

6 CFU

Language

Italian

Objectives

The course provides principles, techniques, and software tools for the development of computer applications, with the use of the language for analysis UML and the programming language C++.

Acquired skills

- Methodological and technological skills to deal with large-size software projects.
- Capability of software analysis and design.
- Knowledge of the basic principles of object orientation.
- Deep knowledge of C++ programming using the GNU C/C++ compiler (under cygwin).

Lectures and exercises (Topics and specific content)

Principles of software engineering: software qualities and software life cycle (2 hours).
Software analysis:  aim and scope of the analysis; introduction to software analysis in UML; description of the main diagrams in UML; design of UML diagrams (4 hours).
Basics of the C++ language: functions, arrays, pointers (starting from C); dynamic and static memory allocation (8 hours).
Classes and objects in C++: data members and methods; constructors; access levels (public and private) (6 hours).
Advanced topics in C++:  operator overloading; special functions (for dynamic memory management); compositions of classes; templates (8 hours).
Standard Template Library (STL): introduction to the STL; main STL classes; strings and vectors (6 hours).
Software design: from UML diagrams to C++ programs (8 hours).
Verification and validation: verification and validation tests; classification of tests (2 hours).
Design of applications: full detail project of a complete application with UML and C++ (6 hours).
Exercises (6 hours).
Labs (10 hours).

References

- Malik, C++ Programming, 2009
- Handouts (in Italian)

Type of exam

Written and oral

Additional material or information on line