Reverse-Engineering

Pourquoi et Comment réaliser un Reverse Engineering ?

Sommaire

0 0 votes
Évaluation de l'article

Dans les situations où le logiciel d’un système existant a une documentation peu ou pas à jour et il est nécessaire de comprendre ce que le système fait réellement, la reverse engineering est une technique d’élicitation qui peut extraire les exigences mises en œuvre du code logiciel.

Description

L’ingénierie avancée est le processus traditionnel consistant à passer des abstractions de haut niveau à la mise en œuvre physique. L’ingénierie inverse ou retro-ingénierie est un processus d’analyse d’un système/produit pour décrire les processus métier, les données et les règles sous-jacents. Sur la base du travail d’identification, des représentations du système/produit peuvent être créées à un niveau d’abstraction plus élevé.

Il existe deux catégories générales de reverse engineering :

  • Black Box Reverse Engineering : Le système/produit est étudié sans examen de sa structure interne.
  • White Box Reverse Engineering : Le fonctionnement interne du système/produit est étudié.

Les résultats d’un reverse engineering peuvent fournir :

  • Une compréhension du fonctionnement d’un produit de manière plus globale qu’en l’observant simplement.
  • Un moyen d’enquêter sur les erreurs et les limites des programmes existants et une aide pour les corriger.
  • Détails pour aider à rendre les produits et les systèmes compatibles.
  • Détails pour aider à évaluer un produit et comprendre ses limites.
  • Déterminer si quelqu’un d’autre a littéralement copié des éléments de sa propre technologie.
  • Documentation d’un produit dont le fabricant ne répond pas aux demandes de service client.
  • Détails pour aider à transformer les produits obsolètes.
Reverse Engineering dans un data center

Mise en œuvre

Se préparer au reverse engineering

  • Déterminer la portée de la fonctionnalité qui doit être rétro-conçue.
  • Évaluer le rapport coût-bénéfice. Comme l’ingénierie inverse peut prendre du temps et être coûteuse, déterminez si l’investissement financier est justifié en évaluant les avantages potentiels tirés d’une documentation améliorée et/ou d’une abstraction dérivée en termes de maintenance du système existant ou de développement d’un nouveau système/produit.

Effectuer l’ingénierie inverse

  • Désassemblez ou décompilez le système d’origine.
  • Documenter les résultats d’une manière pouvant être examinée et vérifiée par un expert en la matière. Ceux-ci peuvent servir de détails de base pour susciter des exigences pour l’extension du système existant.

Usages et limites

Points forts

  • Protège l’investissement dans le système/produit existant en permettant aux analystes de « construire » la fonctionnalité/mise en œuvre commerciale existante.
  • Fournit des informations détaillées et actuelles qui peuvent être utilisées pour mettre à jour la documentation d’un système/produit existant.

Faiblesses

  • Cher
  • Chronophage.
  • Souvent restreint par les lois sur le droit d’auteur lorsqu’un système/produit d’un autre fabricant est impliqué.
  • Les outils existants qui prennent en charge la rétro-ingénierie ont des capacités limitées et nécessitent une formation pour être utilisés.
  • Nécessite des compétences spécialisées :
    • Capacité à faire abstraction de « spécifique » à « général ».
    • Capacité à tirer des déductions, en particulier, lors de la documentation des règles métier.
  • Capacité à corréler les fonctions des composants d’un système avec les processus opérationnels actuels et/ou prévus.

Cet article décrit l’une des dix méthodes documentée par le BABoK pour réaliser l’analyse du besoin d’un projet. Vous trouverez ci-dessous toutes les informations pour comprendre les usages, les limites, les points forts, des neuf autres techniques : Les 10 outils d’analyse du besoin projet.

En parlant d’ingénierie inverse, vous pourriez être intéressé par l’article de Wikipédia sur ce sujet : Rétro-ingénierie. De plus, si vous êtes curieux de comprendre comment l’ingénierie inverse est appliquée dans différents domaines, jetez un œil à l’article concernant le reverse engineering en informatique :

0 0 votes
Évaluation de l'article
S’abonner
Notification pour
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires

Les dernières publications

Newsletter gratuite

La lettre « Actu projets » est hebdomadaire et gratuite. Abonnez-vous :

image decorative

Rejoignez nos abonnées (plus d’infos) depuis 2020 et recevez toute l’info sur la gestion de projet et le management transverse chaque semaine !

Nos dossiers

Actus par domaine

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x
Retour en haut