Malgré le terme « cycle de vie du développement logiciel » (SDLC), il n'y a pas d'étapes concrètes à suivre lors du codage. Chaque cas est quelque peu différent, même s'il existe une vérité universelle : certaines normes s'appliquent à tous. L'intégrité des données est l'une de ces normes.
L'objectif ultime du cycle de vie du développement logiciel
Ce n'est peut-être pas l'objectif ultime, car il s'agirait de publier un logiciel fonctionnel. Cependant, unEn tant que facteur clé de tout cycle de vie de développement logiciel (SDLC) réussi, l'intégrité des données est une exigence qui ne doit pas être ignorée. Cela vaut pour Le logiciel de relecture de GlobalVision, qui suit également une approche SDLC.
Le terme « données » est relativement simple : informations collectées et potentiellement utilisées par l'application. L' « intégrité » est, bien entendu, le résultat final obtenu grâce au processus visant à conserver ces données intactes et inchangées. Cela va de pair avec le concept de sécurité des données, qui est recherché en prenant les mesures nécessaires pour les protéger.
Par exemple, des mesures de sécurité appropriées sont intégrées aux cycles de vie individuels et des contrôles sont ajoutés à chaque étape. L'une des précautions serait de définir très tôt la sensibilité des données dont un système donné aura besoin. Comme l'écrit James E. Purcell dans son article, »Définition et compréhension de la sécurité dans le cycle de vie du développement logiciel», cela permet de prendre en compte les besoins de sécurité de l'entreprise au moment de prendre des décisions plus tard dans le processus.
Ne pas le faire peut entraîner des conséquences potentiellement imprévues et entraîner des ajouts et des correctifs ultérieurs. Presque par définition, ce devraient être les derniers recours.
Le processus de développement logiciel
Le processus de développement étape par étape est un moyen de les éviter. Comme indiqué précédemment, il existe une variété qui peut être suivie, mais, d'une manière générale, en tant que liste, elle ressemble à celle ci-dessous :
Analyser et planifier, ce qui devrait inclure une évaluation préliminaire des risques.
Les réglementations pertinentes qui entreront en vigueur devraient être examinées et un plan d'action visant à y remédier devrait être élaboré. Cela devrait être reflété dans le document de spécification des exigences logicielles qui résultera de ces deux phases.
Conception, où tout ce qui doit figurer dans le logiciel est inclus dans la spécification de conception document. En fonction du système conçu et des considérations de conformité, il peut finir par inclure des dispositifs de sécurité intégrés en ce qui concerne la base de données, afin qu'elle soit facilement sauvegardée et restaurée. En outre, par mesure de sécurité visant à empêcher le vol ou la corruption des données, le cryptage, le cas échéant, est identifié comme une nécessité à ce stade.
Construisez le logiciel, probablement à l'aide d'un code sécurisé pour éliminer toutes les vulnérabilités potentielles qui pourraient apparaître.
Testez, en ce qui concerne tous les aspects du logiciel de manière approfondie et structurée. Les tests sont aussi universels que possible et devient un point central du développement d'un produit quel que soit le secteur d'activité. En ce qui concerne les logiciels, des aspects tels que la qualité du code et les tests de sécurité ne sont que deux des nombreux aspects qui devraient être pris en compte ici, idéalement par une équipe d'assurance qualité dédiée.
Tests unitaires, où les plus petites parties testables d'une application sont vérifiées pour les bogues et les vulnérabilités indépendamment, est également une attaque préventive populaire contre les violations mais peut être automatisée. Dans le même temps, les tests en boîte noire, qui placent l'application au microscope d'un testeur qui n'examine pas son fonctionnement interne (comme si elle se trouvait dans une boîte noire), visent à tester une variété de choses, notamment accès à la base de données externe et logiciel pour les erreurs de structure de données.
Déployer ou Libération, enfin. Cela suppose que tous les tests ont été réussis et que toutes les failles de sécurité documentées pendant la phase de test ont été résolues. Dans le cadre des contrôles de qualité finaux du logiciel, des tests de sécurité peuvent effectivement être effectués.
Maintenir et Evaluer, ce qui se traduit par une mise à jour du logiciel via mises à niveau et améliorations de sécurité chaque fois que cela est nécessaire. Il s'avère qu'il y a parfois de bonnes raisons à cela Mises à jour pour Apple iPhone.
Éliminez, car, même en cas d'obsolescence, les logiciels doivent être manipulés avec discrétion. Si le logiciel est en cours de remplacement, il convient de veiller à ce que toutes les données sensibles soient archivées en toute sécurité ou éliminées dans leur intégralité.
Après tout, tout SDLC cherche à créer un logiciel utile à l'organisation. Logiquement, les logiciels qui peuvent être remplacés par une version plus récente ont perdu cette utilité. De même, une application sans le niveau de sécurité approprié est relativement inutile, au départ.
L'importance de l'intégrité des données
En conséquence l'intégrité des données devient de plus en plus primordiale, en fonction du secteur dans lequel le logiciel sera utilisé. Des modifications coûteuses peuvent être demandées ultérieurement par les auditeurs, mais ce n'est que si l'organisation en question a relativement de chance.
Dans le pire des cas, les pirates informatiques pourraient trouver un moyen d'y pénétrer, compromettant non seulement l'intégrité des données, mais également la valeur de marque de l'entreprise. Cela pourrait raccourcir considérablement n'importe quel cycle de développement logiciel. Il n'est pas nécessaire qu'il en soit ainsi, comme le montrent les étapes ci-dessus.