Les métriques logicielles
L’Informatique dans l’aide à la décision
Les progrès de l’informatique ont intégré l’aide à la décision, domaine visant à concevoir des outils informatiques (dont les logiciels experts) pour aider un décideur à analyser un problème ou une situation, et à lui fournir des solutions, éventuellement hiérarchisées sur la base des critères logiques qu’il aura sélectionné. La décision en entreprise résulte d’un processus toujours plus complexe : les données à prendre en compte sont toujours plus volumineuses et les enjeux si importants (humains, financiers) que l’outil informatique est devenu stratégique. Les systèmes décisionnels de traitement et de valorisation des données sont aujourd’hui bien implantés dans les entreprises. Ils s’enrichissent notamment à présent de puissantes méthodes analytiques, de prospection et d’optimisation. Ainsi l’informatique décisionnelle désigne les moyens, les outils et les méthodes qui permettent de collecter, consolider, modéliser et restituer les données d’une entreprise en vue d’offrir une aide à la décision, et de permettre aux responsables d’une entreprise d’avoir une vue d’ensemble de l’activité traitée. Les différentes applications de l’informatique dans la prise de décision classées dans leur ordre chronologique d’apparition :
•La première application de l’informatique apparaît avec les systèmes SIAD (Système Informatique d’Aide à la Décision). Il s’agit des systèmes informatiques intégrés, conçus spécialement pour la prise de décisions, et qui sont destinés plus particulièrement aux dirigeants d’entreprises.
•Apparaît par la suite l’intelligence artificielle, basée sur des formes de programmation originales cherchant généralement à simuler des réalités de manières virtuelles pour prendre des décisions suivant les résultats obtenus grâce à ces simulations. Les méthodes d’aide à la décision utilisant l’intelligence artificielle sont généralement basées sur les systèmes experts, les réseaux de neurones et les systèmes multi-agents par exemple.
•Plus récemment et en réponse à la constante évolution du volume de données stockées et exploitables, l’apparition de la Business Intelligence (BI) est venue donner un souffle nouveau aux méthodes et outils d’aide à la décision. Celle-ci est principalement basée sur l’extraction au sein d’importantes et nombreuses bases de données (autrement appelées Entrepôts de données ou Data Warehouse). Cette fouille de données est également appelée DataMining.
Estimation
Contrairement à la classification, le résultat d’une estimation permet d’obtenir une variable continue. Celle-ci est obtenue par une ou plusieurs fonctions combinant les données en entrée. Le résultat d’une estimation permet de procéder aux classifications grâce à un barème. Par exemple, on peut estimer le revenu d’un ménage selon divers critères (type de véhicule et nombre, profession ou catégorie socioprofessionnelle, type d’habitation, etc.). Il sera ensuite possible de définir des tranches de revenus pour classifier les individus. Un des intérêts de l’estimation est de pouvoir ordonner les résultats pour ne retenir si on le désire que les n meilleures valeurs. Cette technique sera souvent utilisée en marketing, combinée à d’autres, pour proposer des offres aux meilleurs clients potentiels. Enfin, il est facile de mesurer la position d’un élément dans sa classe si celui-ci a été estimé, ce qui peut être particulièrement important pour les cas limitrophes. La technique la plus appropriée à l’estimation est : le réseau de neurones.
L’historique
Les séparateurs à vastes marges reposent sur deux idées clés : la notion de marge maximale et la notion de fonction noyau. Ces deux notions existaient depuis plusieurs années avant qu’elles ne soient mises en commun pour construire les SVM. L’idée des hyperplans à marge maximale a été explorée dès 1963 par Vladimir Vapnik et A. Lerner, et en 1973 par Richard Duda et Peter Hart dans leur livre Pattern Classification. Les fondations théoriques des SVM ont été explorées par Vapnik et ses collègues dans les années 70 avec le développement de la théorie de Vapnik-Chervonenkis, et par Valiant et la théorie de l’apprentissage PAC. L’idée des fonctions noyaux n’est pas non plus nouvelle : le théorème de Mercer date de 1909, et l’utilité des fonctions noyaux dans le contexte de l’apprentissage artificiel a été montrée dès 1964 par Aizermann, Bravermann et Rozoener. Ce n’est toutefois qu’en 1992 que ces idées seront bien comprises et rassemblées par Boser, Guyon et Vapnik dans un article, qui est l’article fondateur des séparateurs à vaste marge. L’idée des variables ressorts, qui permet de résoudre certaines limitations pratiques importantes, ne sera introduite qu’en 1995. À partir de cette date, qui correspond à la publication du livre de Vapnik, les SVM gagnent en popularité et sont utilisés dans de nombreuses applications. Un brevet américain sur les SVM est déposé en 1997 par les inventeurs originels.
Dans la partie gauche, nous avons dans le premier cadre les informations sur les données de l’expérimentation chargées, ayant 909 instances et 11 attributs (10 variables indépendantes et la variable dépendante class). Tous les attributs sont affichés dans le cadre attributs. La sélection de la variable class dans la liste des attributs fait apparaître dans la partie droite les informations sur cette variable telle que le nom et le type. Avec la sélection de la variable à visualiser dans la partie droite, un histogramme des valeurs prises est affiché. L’apprentissage supervisé est disponible dans l’onglet Clasify. Une fois le fichier chargé, ce dernier onglet est activé et plusieurs algorithmes d’apprentissage supervisé nous sont proposés. Un extrait de tous les algorithmes d’apprentissage et présenté dans la figure ci-dessous.
|
Table des matières
Chapitre1 : Qualité logiciel
I. Introduction
II. Génie logiciel
1. Définition
2. Objectif
3. Principe
4. Cycle de vie d’un logiciel
5. La crise du logiciel
III. Qualité du logiciel
1. Définition
2. Les principaux facteurs et comment pouvoir l’améliorer.
3. Amélioration
3.1. Relation entre métriques et qualité
IV. Conclusion
Chapitre2 : Les métriques logicielles
I. Introduction
II. Les métriques
1. Définitions
2. Historique
3. Intérêt
4. Les métriques
4.1. Les métriques logicielles
5.2. Les métriques orientées objets
III. Conclusion
Chapitre3 : Métriques du diagramme de classes
I. Introduction
I. Le langage de modélisation unifié
1. Définition
2. L’intérêt
II. Le diagramme de classes
1. Définition
2. L’intérêt
3. Les composants du diagramme de classes
III. Les métriques du diagramme de classe
1. Les métriques de Chidamber et Kermer
2. Les métriques MOOD (Metrics for Object Oriented Design)
3. Les métriques de Li et Henry
4. Métrique de Lorenz et Kidd
5. Les métriques de Briand
6. Métriques de Harrison
7. Métriques de Genero
8. Métriques de Bansiya
IV. Conclusion
Chapitre4 : Aide à la décision
I. Introduction
II. L’aide à la décision
1. Définition
2. L’historique
3. Domaines d’application
4. Rôle d’aide à la décision
5. Intérêt d’outil d’aide à la décision
4.1. Des outils d’aide à la discision
4.2. Les avantages
4.3. Les inconvénients
6. L’Informatique dans l’aide à la décision
III. Datamining
1. Définition
2. Les domaines d’application
3. Les processus de Data Mining
4. Les tâches de Data Mining
4.1. Classification
4.2. Estimation
4.3. Prédiction
4.4. Groupement par similitudes
4.5. Segmentation (ou clusterisation)
4.6. Description
4.7. Optimisation
IV. Les techniques les plus appropriées au Data Mining
1. Réseaux de neurones
1.1. Définition
1.2. Histoire
1.3. Application
1.4. Modèle biologique
1.5. Neurone formel
1.6. Le perceptron
1.7. Le Perceptron multicouche
2. Arbre de décision
2.1. Définition
2.2. Constitution
2.3. But d’arbre de décision
2.4. Les domaines d’application
2.5. La construction d’un arbre de décision
2.6. Les avantages
2.7. Les inconvénients
2.8. Exemple des méthodes qui aide à la construction d’un arbre
3. SVM
3.1. Définition
3.2. Principe de fonctionnement général
3.3. L’historique
3.4. Notions de base
3.5. Les domaines d’applications
3.6. Les avantages
3.7. Inconvénients
4. Les Réseaux bayésiens
4.1 Définition
4.2. Classification naïve bayésienne
4.3. Exemples
V. Conclusion
Chapitre5 : Réalisation
I. Introduction
II. Base de données
1. Quelques bases de données du génie logiciel
2. Base de données utilisée
2.1. Définition
2.2. Les raisons de choix de PROMISE
2.3. Les métriques de PROMISE
2.4. Les métriques utilisées par notre application
2.5. Vision sur le site de PROMISE
III. Outils de développement
1. WEKA
1.1 Définition
1.2. But ultime
1.3. Version utilisée
1.4. Composants de Weka
2. NetBeans
2.1. Définition
2.2. But ultime
2.3. Version utilisée
3. Vue global sur l’application
3.1. Objectif
3.2. Description
4. Capture d’écran
5. Étude de convergence des méthodes utilisées
IV. Conclusion
Conclusion et perspectives
Références
Télécharger le rapport complet