288 Shares 6043 views

Cycle de vie du logiciel: concept, normes, processus

Le développement de logiciels est impossible sans comprendre le soi-disant cycle de vie du logiciel. Cela peut ne pas être connu d'un utilisateur ordinaire, mais il est souhaitable de maîtriser les normes de base (on expliquera en outre pourquoi il est nécessaire).

Le cycle de vie du logiciel: qu'est-ce qu'il y a dans le sens formel?

Dans le cycle de vie de tout produit logiciel, il est courant de comprendre le moment de son existence, à partir de la phase de développement et jusqu'au moment du refus total de l'utiliser dans la sphère d'application choisie jusqu'à ce que l'application soit complètement retirée de l'utilisation quotidienne.

En termes simples, les systèmes d'information sous la forme de programmes, de bases de données ou même de «systèmes d'exploitation» ne sont demandés que si les données et les capacités qu'ils fournissent sont pertinentes.

On pense que la définition du cycle de vie ne s'applique en aucun cas aux applications de test, par exemple, aux versions bêta, qui sont les plus instables dans le travail. Le cycle de vie même d'un logiciel dépend de nombreux facteurs, dont l'un des principaux rôles est joué par l'environnement dans lequel le programme sera utilisé. Cependant, il est possible d'identifier les conditions générales utilisées pour déterminer le concept du cycle de vie.

Exigences initiales

Comme on le croit généralement, pour tout produit logiciel, plusieurs conditions sont utilisées, en ce qui concerne son développement et son application, à savoir:

  • Déclaration du problème;
  • Analyse des exigences mutuelles du logiciel futur dans le système;
  • Conception;
  • Programmation;
  • Codage et compilation;
  • Test;
  • Débogage;
  • Mise en œuvre et maintenance du produit logiciel.

Le développement de logiciels comprend toutes les étapes mentionnées ci-dessus et ne peut se passer d'au moins une d'entre elles. Mais pour le contrôle de ces processus, des normes spéciales sont établies.

Normes de processus du cycle de vie du logiciel

Parmi les systèmes qui prédéterminent les conditions et les exigences pour de tels processus, aujourd'hui il n'y a que trois principaux:

  • GOST 34.601-90;
  • ISO / CEI 12207: 2008;
  • Oracle MDM.

Pour la deuxième norme internationale, il existe un analogique russe. Il s'agit de GOST R ISO / IEC 12207-2010, responsable de l'ingénierie des systèmes et des logiciels. Mais le cycle de vie du logiciel décrit dans les deux règles est identique en essence. Cela s'explique tout simplement.

Types de logiciels et mises à jour

Les systèmes d'information modernes sont tels qu'ils établissent des concepts généralement acceptés du domaine d'application.

Par exemple, il existe des programmes système et des utilitaires, des outils multimédias, des pilotes de périphériques, des applications bureautiques, etc. Pour tout type de produits logiciels, vous pouvez définir les étapes du cycle de vie de l'existence.

Pour le renouveler, les outils de mise à niveau sont les plus souvent utilisés (pour les systèmes d'exploitation, les plates-formes et les logiciels d'application). Probablement, il n'est pas nécessaire d'expliquer qu'un utilisateur d'un système informatique basé sur Windows a subi la phase de mise à jour du système lui-même ou des composants tels que Microsoft .NET Framework ou la machine virtuelle Java.

Étape de conception

Maintenant quelques mots directement sur les étapes du développement. Le cycle de vie des logiciels inclut initialement la planification du projet, l'analyse des exigences du système et des objectifs, la possibilité d'une conception, codage et test préliminaire ou détaillé, la possibilité d'utiliser des programmes dans des systèmes spécialisés, etc.

Les modèles de cycle de vie du logiciel supposent que la tâche initiale de création de logiciels devrait être de développer des applications universelles ou des produits logiciels qui utilisent un environnement de lancement spécifique.

Développement

Les systèmes de développement sont des langages de programmation. La conception du logiciel dans la première étape peut être réduite à cela.

Que ce soit C + / C ++, Java, Delphi ou le même Pascal obsolète n'est pas si important. La question est de savoir combien l'application créée peut s'intégrer dans le système d'exploitation et fonctionner sans échec.

En ce sens, 1 cycle de vie du logiciel est le temps de son test depuis l'installation initiale du produit jusqu'à son retrait complet en raison du non-respect des exigences du système, de l'impossibilité ou de l'impossibilité d'exécuter les tâches initialement définies.

Prochaines étapes

Une maintenance supplémentaire, qui détermine le cycle de vie du logiciel, est réduite au codage et à l'obtention du code source de l'application.

Dans le cas de sa distribution gratuite (ouverte), un prétendu certificat est utilisé sur la base de la licence GNU, qui prévoit la possibilité de changer le logiciel lui-même à la demande d'un utilisateur tiers familier avec le langage de programmation avec lequel l'application a été créée.

S'il s'agit d'un code fermé, vous pouvez utiliser des utilitaires tels que Disassembler. Mais dans ce cas, il est possible d'obtenir uniquement le décodage du fichier EXE exécutable et des DLL dynamiques non liées.

Mais c'est une théorie. En pratique, les étapes du cycle de vie du logiciel incluent beaucoup plus d'éléments dans leur liste. Même la situation simulée la plus simple consiste à examiner les normes et formuler des remarques (exigences d'architecture de haut niveau, conformité du code exécutable, des moyens et de la méthodologie de vérification). C'est le cycle de vie du logiciel. Mais ici, il est important de comprendre et certains principes de gestion de ces programmes et systèmes.

Principes de gestion

La gestion du cycle de vie du logiciel s'effectue sur la base de la division des programmes en composants, ce qui donne une large gamme d'outils pour les créer.

Il y a aussi un inconvénient de la pièce. Le choix des modules est limité au développeur de la plate-forme initiale, sur la base de laquelle la programmation est effectuée. Bien sûr, si nous prenons en compte l'unification et la typage des outils de développement utilisés (en particulier les modules réutilisables), il n'y a pas de questions.

Mais les étapes du cycle de vie du logiciel comprennent nécessairement la création de protocoles de traitement de données, de sous-programmes, de bibliothèques standard et bien plus encore.

Modules utilisés

Et aucun processus de cycle de vie du logiciel n'est terminé sans utiliser de composants très spécifiques. Parmi eux, on considère comme prioritaires:

  • Le module principal (tête) responsable du lancement du produit logiciel;
  • Un module de contrôle chargé d'appeler les composants attachés ou les bibliothèques dynamiques;
  • Outils fonctionnels et de service pour le traitement des données et les utilitaires supplémentaires.

Le fichier exécutable, en règle générale, pour les systèmes Windows est présenté sous la forme de "exeshnika". Les composants de contrôle ont une extension de configuration (config.sys pour les systèmes d'exploitation), les bibliothèques connectées en plus ont une extension DLL. Les contrôles et le traitement des fonctions et des paramètres de certaines applications peuvent ressembler à des fichiers XML.

Soit dit en passant, pour la plupart des programmes multimédia connus aujourd'hui, ils sont le moyen de préserver les paramètres de configuration de base. L'utilisation de logiciels de ce type, bien sûr, est assez limitée, mais la compréhension des principes généraux de travail avec les mêmes lecteurs multimédias ne nuira pas. Et c'est pourquoi.

En fait, le cycle de vie du logiciel n'est posé qu'au niveau de la version de mise à jour du joueur lui-même ou de l'installation de codecs et de décodeurs. Et les transcodificateurs audio et vidéo sont des attributs inhérents à tout système audio ou vidéo.

Exemple basé sur FL Studio

Initialement, le séquenceur de studio virtuel FL Studio s'appelait Fruity Loops. Le cycle de vie du logiciel dans sa modification principale a expiré, mais l'application a été quelque peu transformée et a acquis la forme actuelle.

Si nous parlons des étapes du cycle de vie, d'abord au stade de la mise en place de la tâche, plusieurs conditions obligatoires ont été définies:

  • La création d'un module de batterie par le type de machines à rythmes comme le Yamaha RX, mais avec l'utilisation d'échantillons ou de séquences uniques dans le format WAV enregistré dans les studios en direct;
  • Intégration dans les systèmes d'exploitation Windows;
  • La possibilité d'exporter des projets dans les formats WAV, MP3 et OGG;
  • Projets de compatibilité avec une application supplémentaire Fruity Tracks.

À l'étape du développement, les langages de programmation de C ont été utilisés. Mais la plate-forme a été plutôt primitive et n'a pas donné à l'utilisateur final la qualité sonore nécessaire.

À cet égard, lors de la phase de test et de débogage, les développeurs ont dû suivre le chemin de la société Steinberg allemande et appliquer un support pour le mode Full Duplex dans les conditions requises pour le pilote de son principal. La qualité du son est devenue plus élevée et permet de modifier le tempo, le pitch et la superposition d'effets FX supplémentaires en temps réel.

L'achèvement du cycle de vie de ce logiciel est considéré comme la sortie de la première version officielle de FL Studio qui, à la différence de ses ancêtres, possédait déjà l'interface d'un séquenceur complet avec la possibilité de modifier les paramètres sur une console de mixage virtuelle à 64 canaux avec des ajouts illimités de pistes audio et de pistes MIDI.

La promotion du programme ne s'est pas arrêtée là. Au stade de la gestion de projet, le support pour la connexion de plug-ins VST (première, deuxième et troisième version), développé par Steinberg à l'époque, a été introduit. En gros, tout synthétiseur virtuel qui supporte VST-host peut se connecter au programme.

Il n'est pas surprenant que bientôt un compositeur puisse utiliser des analogues de modèles «en fer», par exemple, des jeux complets de sons de la populaire Korg M1. En plus – plus. L'utilisation de modules comme Addictive Drums ou le plug-in Kontakt universel a permis de reproduire les sons en direct d'instruments réels enregistrés avec toutes les nuances d'articulation dans les studios professionnels.

Dans le même temps, les développeurs ont essayé d'obtenir la qualité maximale en créant un support pour les pilotes ASIO4ALL, qui s'est avéré plus élevé que le mode Full Duplex. En conséquence, le bitrate a également augmenté. À ce jour, la qualité du fichier audio exporté peut être de 320 kbit / s à une fréquence d'échantillonnage de 192 kHz. Et c'est un son professionnel.

En ce qui concerne la version initiale, son cycle de vie pourrait être appelé complètement complet, mais une telle déclaration est relative, puisque l'application n'a changé son nom et n'a pas gagné de nouvelles opportunités.

Perspectives de développement

Les étapes du cycle de vie du logiciel représentent déjà claires. Mais il convient de mentionner le développement de ces technologies séparément.

Il n'est pas nécessaire de dire que tout développeur de logiciels n'est pas intéressé à créer un produit éphémère qui ne devrait pas rester sur le marché pendant plusieurs années. À long terme, tout le monde se penche sur son utilisation à long terme. Cela peut être réalisé de plusieurs façons. Mais, en règle générale, presque tous se limitent à la publication de mises à jour ou de nouvelles versions de programmes.

Même dans le cas du système d'exploitation Windows, de telles tendances peuvent être observées à l'œil nu. À peine aujourd'hui, il y aura au moins un utilisateur utilisant des systèmes tels que les modifications 3.1, 95, 98 ou Millennium. Leur cycle de vie s'est terminé après la sortie de la version de XP. Mais les versions de serveur basées sur les technologies NT sont toujours pertinentes. Même Windows 2000 à ce jour n'est pas seulement très pertinent, mais aussi pour certains paramètres d'installation ou de sécurité, même surpassant les derniers développements. Il en va de même pour le système NT 4.0, ainsi que pour la modification spécialisée de Windows Server 2012.

Mais en ce qui concerne ces systèmes, le soutien au plus haut niveau est encore déclaré. Mais le notoire dans son temps, Vista connaît clairement le cycle du coucher du soleil. Non seulement il était inachevé, mais il y avait aussi des erreurs et il y avait tellement de dégâts dans son système de sécurité qu'on ne pouvait que deviner comment il était possible de publier une solution aussi intenable au marché du logiciel.

Mais si nous parlons du fait que le développement de logiciels de n'importe quel type (gestionnaire ou application) ne s'arrête pas, nous ne pouvons que déclarer les faits. Après tout, aujourd'hui, ce ne sont pas seulement les systèmes informatiques, mais aussi les appareils mobiles, dans lesquels les technologies utilisées sont souvent en avance sur le secteur de l'informatique. L'émergence de processeurs basés sur huit noyaux – n'est pas le meilleur exemple? Et pourtant, tous les ordinateurs portables ne peuvent se vanter d'avoir un tel «fer».

Quelques questions supplémentaires

En ce qui concerne la compréhension du cycle de vie du logiciel, on peut dire qu'il s'est terminé à un certain moment, car les logiciels ont toujours le soutien des développeurs qui les ont créés. Plutôt, la fin se réfère à des applications obsolètes qui ne répondent pas aux exigences des systèmes modernes et ne peuvent pas fonctionner dans leur environnement.

Mais même en tenant compte du progrès technique, beaucoup d'entre eux dans un avenir proche peuvent se révéler insoutenables. C'est à ce moment-là que vous devez décider de publier des mises à jour ou de réviser complètement tout le concept, intégré à l'origine dans le produit logiciel. Par conséquent – et un nouveau cycle qui implique de changer les conditions initiales, l'environnement de développement, les tests et l'utilisation possible à long terme dans un domaine particulier.

Mais dans la technologie informatique aujourd'hui, la préférence est accordée au développement de systèmes automatisés de contrôle (ACS) utilisés dans la production. Même les systèmes d'exploitation, par rapport aux programmes spécialisés, perdent.

Les mêmes environnements basés sur Visual Basic restent beaucoup plus populaires que les systèmes basés sur Windows. Et le logiciel d'application pour les systèmes UNIX n'est pas du tout. Quoi qu'il en soit, si pratiquement tous les réseaux de communication des mêmes États-Unis travaillent exclusivement sur eux. En passant, des systèmes comme Linux et Android, également, ont été créés à l'origine sur cette plate-forme. Par conséquent, très probablement, UNIX a beaucoup plus de prospects que d'autres produits combinés.

Au lieu du total

Il reste à ajouter que, dans ce cas, seuls les principes généraux et les étapes du cycle de vie du logiciel sont donnés. En fait, même les tâches initiales peuvent différer considérablement. En conséquence, les différences peuvent être observées dans les étapes restantes.

Mais les technologies de base pour développer des produits logiciels avec leur maintenance ultérieure devraient être claires. Sinon, vous devriez considérer les spécificités du logiciel en cours de création et l'environnement dans lequel il devrait fonctionner et les capacités des programmes fournis à l'utilisateur final ou à la production, et bien plus encore.

De plus, parfois le cycle de vie peut dépendre de l'urgence d'outils de développement. Si, par exemple, un langage de programmation obsolète, personne ne le fera pas pour écrire des programmes basés sur elle, et plus encore – pour les introduire dans la production de systèmes de contrôle automatisés. Il y a déjà venu en avant même les programmeurs et les spécialistes du marketing qui ont besoin de réagir rapidement aux changements du marché informatique. Et il y a des spécialistes dans le monde, il n'y a pas trop. Un personnel hautement qualifié, la capacité de garder sa main sur le pouls du marché, devenant ainsi le plus populaire. Et ils sont souvent soi-disant « cardinaux gris », dont dépend la réussite ou l'échec de certains produits logiciels dans le domaine de l'informatique.

On suppose qu'ils ne comprennent pas toujours l'essence du programme, mais il est clair en mesure de déterminer le modèle du cycle de vie du logiciel et la durée de leur application, sur la base des tendances mondiales dans ce domaine. Une gestion efficace donne souvent un des résultats plus tangibles. Oui, au moins PR-technologie, la publicité, et ainsi de suite. D. Peut-application, l'utilisateur n'est pas nécessaire, mais à condition qu'il soit actif vantant l'utilisateur l'installe. Il a, pour ainsi dire, le niveau subconscient (le même effet que le cadre 25 lorsque l'information est mis dans l'esprit de l'utilisateur, quel que soit lui-même).

Bien sûr, cette technologie dans le monde sont interdits, mais beaucoup d'entre nous ne sont même pas conscients qu'ils peuvent encore être utilisés pour influencer l'esprit subconscient d'une certaine façon. Cela n'est un des canaux de nouvelles « zombies » ou des sites Internet, sans oublier l'utilisation d'outils plus puissants, tels que l'exposition à l'infrason (ce qui a été appliqué dans la même production d'opéra), de sorte qu'une personne peut éprouver de la peur ou des émotions inappropriées.

De retour au logiciel, il convient d'ajouter que certains programmes au démarrage en utilisant le son, attirer l'attention de l'utilisateur. Et les études montrent que de telles applications sont plus viables par rapport à d'autres programmes. Bien sûr, l'augmentation et le cycle de vie du logiciel, quelle que soit la fonction est chargée initialement. Et cela, malheureusement, est utilisé par de nombreux développeurs qui fait naître des doutes quant à la légalité de ces méthodes.

Mais pas pour nous de juger. signifie peut-être définir de telles menaces seront développées dans un proche avenir. Bien que ce soit seulement une théorie, mais, selon certains analystes et experts, à des applications pratiques, il y a très peu. Si vous avez déjà créé une copie des réseaux de neurones du cerveau humain, alors quoi?