The student who completes the course successfully will be able to demonstrate a solid knowledge of advanced techniques for designing database management systems and software systems. Finally he/she will be able to perform, working in group, a software project and produce all necessary documentation.
During the oral exam the student must be able to demonstrate his/her knowledge of the course material and be able to discuss the reading matter thoughtfully and with propriety of expression. Through the project the student must demonstrate the ability to put into practice and to execute, with critical awareness, the activities illustrated or carried out under the guidance of the teacher during the course.
Conceptual and logical design of relational databases. SQL language. UML concepts and techniques.
Delivery: face to face
This course is organized in two sections addressing different issues in the design of software systems.
The first section covers advanced databases management systems topics, the lessons are given together with part of the course " Large-Scale And Multi-Structured Databases" in the Master of Science Artificial Intelligence And Data Engineering.
The second section addresses software system development issues: all phases of the software life cycle are crossed. The development process management and planning is illustrated and accompanied by related supporting tools; also the international quality standards for these phases are presented and the maturity models. Students, ingroup, must perform a software project, this year following an Agile methodology.
see the bibliography of the course "Artificial Intelligence And Data Engineering "
"Software Engineering" Ian Sommerville, Addison-Wesley; 10 Har/Psc edizione
G.Vaglini, M. Cimino, slides at http://elearn.ing.unipi.it/course/view.php?id=1613
Attendance is not mandatory but highly recommended.