- Basics and motivations for quality and certification of safety-critical systems
- Overview on quality processes and quality management, with focus on software engineering: basics and examples (CMMI, SPICE)
- Certification processes for safety-critical systems: review of safety standards in the railway domain, for the process (EN50126), the hardware (EN50129), the software (EN50128), the communication (EN50159)
- Exercises and examples
The teaching material is provided during the course, available on the course web-site, and usually deemed sufficient for the exam.
However, additional references that contains clarifications on the various topics are the following.
Main reference for the lectures on quality: P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of Knowledge, Version 3.0, IEEE Computer Society, 2014; www.swebok.org.
Main references for the lectures on certification:
- for software: standard CEI EN 50128 Railway applications - Communications, signalling and processing systems - Software for railway control and protection systems
- for processes: Engineering Safety Management (The Yellow Book), https://www.rssb.co.uk
Additional references:
standards CEI EN 50126, CEI EN 50128, CEI EN 50129, CEI EN 50159-1-2, CMMI, ASPICE.
Learning Objectives
Our daily activity is more and more bounded to the proper behaviour of ICT systems. Low quality in the design and development process may lead to production delays, increased costs, or solutions of low quality (ultimately resulting in unsatisfied customers/users). Further, the misbehaviour of these systems may lead to different consequences, ranging to disservice and user unsatisfaction, to economic loss, and ultimately damages or people harm.
Knowledge and understanding. The first part of this Course investigates processes, methodologies and techniques for quality and quality management, with attention to software engineering and related processes. The second part of the course instead focuses on safety-critical systems, and discusses related standards (and the recommended processes and techniques) in different domains.
Applying knowledge and understanding. At the end of the course, abilities will be acquired to:
i) recognize and understand the implications of quality procedure and quality management, with knowledge on the most relevant processes and methods for software quality;
ii) understand the items required to apply an assessment process, and the peculiarities of its application in different domains.
Prerequisites
None
Teaching Methods
CFU: 6
Total hours of the course: 180
Hours reserved to private study and other individual formative activities: 132
Office Hours:
Dott. Andrea Ceccarelli, by appointment only.
Contact professor by phone number or e-mail (andrea.ceccarelli@unifi.it).
DiMaI, Universita' di Firenze, Viale Morgagni, 65 - 50134 Firenze
Tel. 055 2751487
Dott. Lorenzo Falai, by appointment only. Contact by e-mail (lorenzo.falai@resiltech.com).
Type of Assessment
The Assessment is organized in two parts:
- a written test, on the arguments of the lectures. The test is composed of essay questions. The duration of the test is 2 hours. The outcome of the test is scored in the range 0-30, and it is passed with score equal or above 18.
- A project, that will be assigned at the end of the course and to be carried out individually or in group of maximum 3 people. The project assignment consists in the application of a method or methodology studied during the course. The final delivery of the project is a report describing the results achieved. As for the written test, the score is in the range 0-30, and it is passed with score equal or above 18.
If both the written test and the project are passed (score equal or above 18), the score of the exam is defined as follows:
- it is the weighted sum of the score of the written test and the score of the project, where the written test is weighted 1/3 and the project is weighted 2/3. The result is rounded to the closest integer.
Course program
- Course presentation and basics: motivations for Quality and Certification processes
- Quality Management: processes and methods
- Quality management in software engineering
- Some famous processes: CMMI (Capability Maturity Model Integration), SPICE (ISO/IEC 15504 Software Process Improvement and Capability Determination), Automotive SPICE
- Certification of safety-critical systems: problem overview and main standards
- Certification of safety-critical systems in the railway domain: standards EN 50126/50128/50129/5012159 for safety of the system, software, hardware, communication. Description of processes and main techniques.
- Exercises on selected techniques and methods: i) hazard analysis and risk assessment; ii) static analysis of software code; iii) dynamic analysis: building and executing tests.