130 likes | 229 Views
Problèmes du génie logiciel. Les problèmes. Taille et complexité des logiciels ; Taille croissante des équipes ; Spécifications peu précises ; Évolution rapide des applications. Taille et complexité des logiciels.
E N D
Les problèmes • Taille et complexité des logiciels ; • Taille croissante des équipes ; • Spécifications peu précises ; • Évolution rapide des applications H. Lounis
Taille et complexité des logiciels • Le logiciel offre de plus en plus de fonctionnalités (système d ’information, data warehouse) ; • Logiciel souvent non unique, entités à interfacer ; • Technologie en mutation (OS et langages en évolution) ; • Complexité architecturale (machines distantes, hétérogènes, client-serveur, intranet, …) ; • Solution : décomposer le processus de développement, découper en sous-systèmes, se rapprocher d ’un découpage naturel proche de la réalité. H. Lounis
Taille croissante des équipes • Gestion des compétences variées ; • Coordination des travaux et circulation de l ’information ; • Gestion en parallèle du travail sur une même tâche ; • Utilisation d ’un langage non ambigu et compréhensible par tous les acteurs du problème ; • Problème relié aux délais de plus en plus courts. • Solution : Unification du vocabulaire et méthode d ’organisation du travail H. Lounis
Spécifications peu précises • Spécifications précises, cohérentes et complètes ; • Représentent une vue fonctionnelle du système à réaliser : rôle important du client et donc proche du domaine d’application vs. Analyse et conception ; • Nécessité d’un formalisme simple et concis compris par tous les partis. • Solution : Modèles pour éclaircir, récapituler et montrer les points clés des spécifications. H. Lounis
Évolution rapide des applications • Évolution fonctionnelle et technique ; • Modification des besoins du client ; • Modification de l ’activité du client ; • Modification de l ’environnement technique. • Solution : cycle de vie itératif et incrémental, comme le cycle de vie objet. H. Lounis
Buts Processus et Cycle de vie Méthodes Formalismes et Outils Construction logicielle H. Lounis
Buts • C’est un plan de construction sur lequel se baser ; • Comprendre et définir le système à établir ; • Mettre au point un plan de construction, constituant une ébauche architecturale et traduisant les buts du projet. H. Lounis
Processus et cycle de vie • Organiser un plan d’action de la construction du logiciel axé sur les idées suivantes : • Planifier les activités durant toute la vie du logiciel ; • Organiser les interactions entre les activités interdépendantes ; • Réagir de façon efficace à l’évolution des objectifs et des facteurs extérieurs au système. Nécessité d’une méthode ! H. Lounis
Méthode • Se baser sur des procédures de réalisation et des concepts homogènes : notion de modèles ; • C’est un guide définissant les règles de passage d’un modèle à un autre ; • Modèle : représentation sémantique simplifiée mais juste du système, visant à l’analyser et à le comprendre, pour mieux le concevoir ; • Les modèles constituent des livrables du projet ; • Ils doivent s’appuyer sur un langage précis et compréhensible par tous. H. Lounis
Formalismes et outils • Ce sont des supports techniques indispensables ; • UML est un formalisme de représentation objet ; c’est une base commune de communication entre les acteurs du projet ; • Se doit d’être supporté par des outils de modélisation, de génération de code, de documentation, etc.) • Améliorent la productivité et respect des normes. H. Lounis
Cycle de vie objet • Il s’agit d’un projet faisant intervenir un langage objet mais également une méthode d’analyse/conception s’appuyant sur un formalisme objet ; • Le cycle de vie doit posséder : • Une bonne traçabilité entre les étapes (ce qui n’est pas le cas des projets non objet) ; • Un caractère itératif ; • Un caractère incrémental (maquette, prototypes, …). H. Lounis