Un système critique est un système dont une panne peut avoir des conséquences dramatiques, tels des morts ou des blessés graves, des dommages matériels importants, ou des conséquences graves pour l'environnement.
Sont par exemple critiques les logiciels intervenant dans :
En fait, de part la diffusion (Dans le langage courant, le terme diffusion fait référence à une notion de...) inexorable et généralisée des technologies logicielles et donc de l'impact plus massif (Le mot massif peut être employé comme :) d'un défaut quelconque, la notion de criticité tend à se diffuser même s'il s'agit plus souvent d'un risque de désorganisation sur le plan économique, social ou financier.
Il existe différents niveaux de criticité d'un système, suivant l'impact possible des dysfonctionnements. On apprécie ainsi différemment, par exemple, un dysfonctionnement provoquant des pertes coûteuses, mais sans mort (La mort est l'état définitif d'un organisme biologique qui cesse de vivre (même si...) d'homme (Un homme est un individu de sexe masculin adulte de l'espèce appelée Homme moderne (Homo...) (cas des missions spatiales non habitées) et un dysfonctionnement provoquant des morts dans le grand public (cas des vols commerciaux). De même, on apprécie différemment des dysfonctionnements faisant courir un danger de mort ou de blessure (Une blessure est une lésion, physique ou psychique, faite involontairement ou dans l'intention...) à des humains, ou des dysfonctionnement augmentant la charge (La charge utile (payload en anglais ; la charge payante) représente ce qui est effectivement...) de travail et les risques d'erreur de pilotage (Une erreur de pilotage désigne, lors d'une catastrophe aérienne, le fait que le pilote...) des opérateurs humains.
En aviation, la norme (Une norme, du latin norma (« équerre, règle ») désigne un...) DO-178B sépare les logiciels avioniques en 5 catégories :
La criticité du système définit un niveau d'exigence par rapport à la tolérance aux pannes. Elle aura des conséquences sur l'évaluation des niveaux d'assurance pour la sécurité.
Un logiciel critique est un logiciel dont le mauvais fonctionnement aurait un impact important sur la sécurité ou la vie (La vie est le nom donné :) des personnes, des entreprises ou des biens.
L'ingénierie (L'ingénierie désigne l'ensemble des fonctions allant de la conception et des études à la...) logicielle pour les systèmes critiques est particulièrement difficile, dès lors que les systèmes sont complexes, mais l'industrie aéronautique (L'aéronautique inclut les sciences et les technologies ayant pour but de construire et de...), ou plus généralement l'industrie du transport de passagers, a réussi à définir des méthodes pour réaliser des logiciels critiques. Des méthodes formelles peuvent servir à améliorer la qualité du logiciel des systèmes critiques. Le coût de réalisation d'un logiciel de " système critique " est beaucoup plus élevé que celui d'un logiciel ordinaire.
Les précautions à prendre dans le développement d'un logiciel critique sont généralement fixées par une norme, et dépendent du domaine d'application et surtout de la criticité du logiciel. Généralement, on trouve des impératifs :
Les systèmes les plus critiques sont généralement soumis à des autorités de certification, qui vérifient que les impératifs prévus par la norme ont été remplis.
L'usage de méthodes formelles pourra, à l'avenir, être encouragé, voire imposé.