|
{revue}
En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les instructions de traitement, regroupées sous forme de programmes, des données et de la documentation. Le tout est stocké sous forme d'un ensemble de fichiers dans une mémoire1.
ÉtymologieDérivé du mot logique. Créé en 1972 comme traduction du terme anglais software.7 IntroductionSelon les principes de la machine de Turing et l'architecture de von Neumann, un appareil informatique est une machine qui effectue des traitements en fonction d'instructions et de données. Les instructions et les données sont contenues dans un logiciel. Un appareil informatique contient toujours au minimum un seul logiciel, nécessaire pour mettre en activité l'appareil. Contenu d'un logicielArticle connexe : paquet (logiciel).
Un logiciel est composé d'un ou plusieurs fichiers tels que des programmes, des scripts, des bibliothèques logicielles, des fichiers de configuration, des fichiers de données, des documents électroniques ou du code source. Le logiciel peut être une application informatique complète, ou une pièce détachée telle qu'un composant logiciel ou un plugin. Les programmes, les scripts et les bibliothèques logicielles contiennent des suites d'instructions en groupes appelés fonctions ou procédures. Dans une bibliothèque logicielle chaque fonction ou procédure peut être exécutée séparément, tandis que dans un programme ou un script l'exécution de l'instruction de départ provoque l'exécution en chaine de toutes les autres instructions. L'exécution des instructions est rarement linéaire8. Dans un script, les instructions sont écrites sous une forme facile à lire pour un humain, et exécutable par l'appareil informatique par l'intermédiaire d'un logiciel appelé interprète ou interpréteur. Dans un fichier de code source les instructions sont écrites sous une forme facile à lire pour un humain, un logiciel appelé compilateur le transformera en code machine - exécutable par l'appareil informatique, ou en bytecode - facile à lire pour un logiciel émulateur (voir aussi machine virtuelle). Un composant est un logiciel destiné à être utilisé comme pièce détachée dans plusieurs autres logiciels. Un plug-in est un logiciel destiné à être utilisé comme pièce détachée pour un logiciel en particulier. Les composants et les plugins sont souvent sous la forme de bibliothèques logicielles. Les fichiers de configuration contiennent des valeurs de réglage qui permettent d'adapter l'exécution du logiciel à la configuration informatique. Les fichiers de configuration sont souvent sous une forme facile à lire et modifiables à l'aide d'un logiciel éditeur de texte. Un logiciel peut contenir divers fichiers, tels que des images, des sons, des textes ou des documents. Ces fichiers peuvent être utilisés par le logiciel, par exemple affichés comme icône sur l'interface graphique, ou être mis à disposition de l'utilisateur comme aide, comme modèle, ou comme exemple. Le logiciel est dit open source lorsque son code source est mis à disposition de ses utilisateurs sans restriction. Le langage de programmation est un ensemble normalisé de règles d'écriture du code source. Le non-respect du langage de programmation entraine l'échec du travail automatique du compilateur ou de l'interprète. Distribution, utilisation et droitsEn tant qu'œuvre intellectuelle, les logiciels sont soumis au droit d'auteur à même titre que toute œuvre littéraire ou artistique - livre, brochure, œuvre musicale ou théâtrale.9 Le droit d'auteur autorise l'auteur du logiciel de décider sous quelles conditions le logiciel peut être diffusé, modifié, et utilisé. La licence d'utilisation est un contrat dans lequel l'auteur stipule les conditions sous lesquelles une personne (physique ou morale) est autorisée à utiliser le logiciel.10 Les types de logiciels les plus courants sont:
Développement de logicielsArticle détaillé : Développement de logiciel.
Les logiciels, suivant leur taille, peuvent être développés par une personne seule, une petite équipe, ou un ensemble d'équipes coordonnées. Le développement de grands logiciels par de grandes équipes pose de grands problèmes de coordination, en raison de la quantité importante d'informations à communiquer entre les intervenants : documentation, réunions. Pour ces raisons, le développement de logiciels dans un contexte professionnel suit souvent des règles strictes permettant le travail en groupe et la maintenance du code ; en effet, souvent, les personnes qui doivent opérer des modifications ultérieures dans le code ne sont plus les personnes qui l'ont développé. Un nouveau modèle de développement tend cependant à se répandre : le bazar (modèle utilisé pour la conception de GNU/Linux) Un logiciel en version béta (ou béta-test) est un logiciel non finalisé, pour lequel on effectue une série de tests jusqu'à ce qu'une stabilité relative soit atteinte. Les personnes qui cherchent les dernières failles de ces versions de logiciels sont appelés des béta-testeurs. Un logiciel qui est opérationnel sera maintenu. La maintenance du logiciel désigne les modifications apportées à un logiciel, après sa mise en œuvre, pour en corriger les fautes, en améliorer l'efficacité ou autres caractéristiques, ou encore adapter celui-ci à un environnement modifié (ISO/IEC 14764). Coquilles (« Bugs »)Article détaillé : bug informatique.
Les bugs sont des erreurs de conception ou de programmation dans les logiciels, qui peuvent causer des comportements incorrects. La gravité du dysfonctionnement peut aller de très mineure (apparence légèrement incorrecte d'un élément d'interface graphique), à des évènements catastrophiques (explosion de la fusée Ariane lors du vol 501, irradiation incorrecte de patients par une machine de traitement...) en passant par des pertes plus ou moins grandes de données, et, rarement, par une détérioration du matériel. Il est difficile, pour des raisons fondamentales, de produire des logiciels sans bug. Cependant, il existe des mécanismes par lesquels on peut limiter la quantité de bugs, voire les supprimer. Citons d'une part des préceptes d'organisation des équipes de programmation et leur méthodologie, d'autre part les techniques de recherche de bugs dans les logiciels. La recherche en informatique a développé un domaine d'étude, la vérification formelle, dont l'objectif est de certifier la qualité des logiciel et de garantir leur fiabilité. Dans l'ensemble, l'obtention de logiciels complexes peu bugués est coûteuse en temps et en main d'œuvre. Plus les anomalies sont détectées tôt au long du développement du logiciel, moins leur correction est difficile. Qualité des logicielsArticle détaillé : Qualité logicielle.
Un logiciel est un produit qui ne se détériore pas. La qualité d'un logiciel dépends entièrement de sa construction. L'appréciation globale de la qualité d'un logiciel se base sur de nombreux facteurs tels que la complétude des fonctionnalités, la précision des résultats, la fiabilité, la tolérance de pannes, la facilité et la flexibilité de son utilisation.... Les facteurs de qualité peuvent être directement observables par l'utilisateur, ou alors constatable par les ingénieurs lors des revue de code ou des travaux de maintenance. Un Consortium s'est créé le 6 octobre 2009 aux États-Unis pour établir un standard mondial de la qualité des logiciels. Ce consortium s'appelle le Consortium for IT Software Quality (CISQ). DéveloppeursArticles détaillés : Catégorie:Éditeur de logiciel et Liste des éditeurs de jeux vidéo.
Logiciels critiquesArticle détaillé : Profil d'application.
Pour la sécurité globale des systèmes d'information d'une entité, il peut être nécessaire de définir des profils d'application, afin d'identifier les logiciels critiques sur lesquels il est nécessaire de porter une attention particulière du point de vue de la sécurité. Voir aussi
Notes et références
Le Texte ci-dessus est disponible sous GNU Free Documentation License. La source est wikipedia http://fr.wikipedia.org/wiki/{title} |