SOFTWARE QUALITY EVALUATION

Degree course: 
Corso di Second cycle degree in COMPUTER SCIENCE
Academic year when starting the degree: 
2020/2021
Year: 
1
Academic year in which the course will be held: 
2020/2021
Course type: 
Compulsory subjects, characteristic of the class
Language: 
English
Credits: 
6
Period: 
First Semester
Standard lectures hours: 
48
Detail of lecture’s hours: 
Lesson (48 hours)
Requirements: 

Students are required to have good knowledge about software products and artifacts produced during software development, which is taught at undergraduate level in Computer Science courses.
The knowledge of the English language, both written and oral, is required, so the students can take full advantage of the course material made available by the instructor or generally available online, in addition to the classes taught in English by the instructor.

Final Examination: 
Orale

The students’ learning extent is assessed via a written test (duration: 2 hours) and an individual assignment, autonomously developed by each student. A mid-term and a final tests are carried out during the course. Students that pass both are exempted from taking the written exam.

The goal of the written test (as well as the mid-term and final tests) is to assess the learning degree and the understanding of the elements related to software quality evaluation from both a theoretical and an application (on problems of limited complexity) points of view. Written tests (as well as the mid-term and final tests) consist of:
- exercises for the assessment of the students’ understanding and knowledge about software verification and validation techniques;
- exercises for the assessment of the students’ understanding and knowledge about software product measures;
- exercises for the assessment of the students’ ability to lay down measurement plans for industrial environments;
- questions on the conceptual aspects.

The assignment allows the students to use their skills and knowledge for the building of software quality estimation models. The project presentation has the goal of assessing the students’ communication skills in two areas: 1) the students’ their technical competencies and use of the correct terminology; 2) the student’s skills for communicating a complete and organized view of the work they carried out.
Individual judgment skills are evaluated based on the decisions made during the written exam and the assignment.
The grade of the written test (as well as the mid-term and final tests) is on a 0 to 30 scale. Answers to questions provide 40% of final mark, while the exercises contribute for the remaining 60%. The overall grade, also on a 0 to 30 scale, is determined by the grade of the written part with a variation of at most three points for the assignment.

Assessment: 
Voto Finale

The primary goal of the course is to provide students with the necessary knowledge for the definition of verification, validation, and measurement plans and their introduction in industrial settings. The students acquire the conceptual foundations and the fundamental techniques of verification, validation, and measurement of the final software products and intermediate software artifacts.
At the end of the course, students will be able to
1. Define verification and validation plans for software development
2. Analyze existing software projects, so as to assess them and, if needed, modify them
3. Correctly apply measurement to evaluate software systems and predict their qualities
4. Identify strengths and weaknesses of the existing techniques of measurement, evaluation, and prediction of software qualities
5. Use the correct terminology for the characteristics of software measures and the quality-related techniques
6. Receive and interpret indications coming from the developers, to build and present a plan for software quality measurement and evaluation that addresses the developers’ needs.

The following topics will be taught in the course.
Introduction to software quality (2 h, all teaching objectives).
Quality models. The ISO9126 quality model (2 h, all teaching objectives).
Software Testing and debugging (8 h, teaching objectives 1, 2, 5 e 6).
Software Analysis and Inspection (8 h, teaching objectives 1, 2, 5 e 6).
Measurement Theory and Axiomatic Approaches (4 h, teaching objectives 3, 4, 5 e 6).
Product measures (6 h, teaching objectives 3, 4, 5 e 6).
Function Points (4 h, teaching objectives 3, 4, 5 e 6).
The Goal/Question/Metric paradigm (4 h, teaching objectives 3, 4, 5 e 6).
Quantitative software data analysis with statistical and machine-learning techniques (10 h, teaching objectives 3, 4, 5 e 6).

The materials related to the topics of the course can be found in

- slides at https://elearning.uninsubria.it/

- additional material on https://elearning.uninsubria.it/

- Pezzè M., Young M.: Software Testing And Analysis: Process, Principles And Techniques. Wiley 2007

- Fenton, N.E., Bieman, J., Software Metrics: A Rigorous and Practical Approach, CRC Press, 2014

- Juristo, N., Moreno, A.M., Basics of Software Engineering Experimentation, Kluwer 2001

Convenzionale

Lectures (48 hours).

During the period in which the course is held, the students can meet with the instructor on class days. In the remainder of the year, the students need to contact the instructor to set up an appointment (sandro.morasca@uninsubria.it).

Professors

Borrowers