Génie logiciel
Transcription
Génie logiciel
Génie logiciel Génie logiciel Deuxième partie du cours : projet Objectif : savoir modéliser un problème avec UML sur différentes phases d’un projet Génie logiciel Démarche démarche issue de : I Support de Laurent Audibert, UT Villetaneuse I Rocques 2002 : UML modéliser un site e-commerce I I Unified Process, pilotage par les cas d’utilisation eXtreme Programming, approche minimaliste centrée sur le code Génie logiciel Mise en oeuvre I sujet identique effectué par 6 groupes I groupes à constituer pour la fin de la semaine Génie logiciel Mise en oeuvre I sujet identique effectué par 6 groupes I I groupes à constituer pour la fin de la semaine rédaction d’un document noté à chaque phase I à remettre la veille de la séance concernée Génie logiciel Mise en oeuvre I sujet identique effectué par 6 groupes I I rédaction d’un document noté à chaque phase I I groupes à constituer pour la fin de la semaine à remettre la veille de la séance concernée résultats de chaque phase présentés et débattus en séance I le document pourra être corrigé Génie logiciel Mise en oeuvre I sujet identique effectué par 6 groupes I I rédaction d’un document noté à chaque phase I I à remettre la veille de la séance concernée résultats de chaque phase présentés et débattus en séance I I groupes à constituer pour la fin de la semaine le document pourra être corrigé le document rédigé par un groupe servira de point de départ à un groupe différent pour la phase suivante I à communiquer le lendemain de la séance de présentation Génie logiciel Programme du cours I I I I I aujourd’hui (4/3) : présentation du déroulement et présentation des attentes du client le 11/3 : présentation de la phase de spécifications fonctionnelles le 18/3: présentation de la phase d’analyse le 1/4 : présentation de la phase de conception dernière séance le 10/4 : remise de l’application Génie logiciel spécifications fonctionnelles (1) recensement des besoins par cas d’utilisation Génie logiciel spécifications fonctionnelles (1) lors de cette étape : I recenser les acteurs I recenser les cas d’utilisation I déterminer les limites du systèmes I proscrire toute considération de réalisation Génie logiciel spécifications fonctionnelles (2) description des cas d’utilisation par diagrammes de séquence système Génie logiciel spécifications fonctionnelles (2) lors de cette étape : I représenter les interactions entre les acteurs et le système I décrire des scénarri d’utilisation I considérer le système comme un tout I mettre à jour le diagramme des cas d’utilisation I éventuellement compléter par un diagramme d’activités Génie logiciel spécifications fonctionnelles (3) maquette d’IHM Génie logiciel spécifications fonctionnelles (4) ne pas oublier les tests à faire pour valider le développement ! Génie logiciel analyse (1) modélisation du domaine par un premier diagramme de classes Génie logiciel analyse (1) lors de cette étape : I définir les classes modélisant les entités ou concepts métiers I définir les associations entre ces classes I utiliser le vocabulaire métier pour nommer classes et attributs I doter les classes uniquement d’attributs, pas d’opération I utiliser l’héritage Génie logiciel analyse (2) recensement des classes participantes : dialogues, contrôles, entités Génie logiciel analyse (2) lors de cette étape : I respecter le découpage en couches en séparant dialogues, contrôles, entités I I I classes dialogue : permettent l’interaction entre IHM et utilisateurs classes contrôle : cinématique de l’application, jonction entre classe dialogue et classe métier classes entité : entités/concepts métiers Génie logiciel analyse (2) I les entités I I I les contrôles I I I I ne comportent que des attributs ne peuvent être associées qu’à des entités ou des contrôles ne comportent que des opérations réalise (éventuellement partiellement) un cas d’utilisation peuvent être associés à des entités ou des dialogues les dialogues I I I comportent attributs et/ou opérations ne peuvent être associées qu’à des contrôles ou des dialogues les attributs représentent I I I des valeurs saisies par l’utilisateur des résultats d’actions les opérations I réalisent les actions demandées par l’utilisateur Génie logiciel analyse (3) recensement des activités de navigation dans l’IHM Génie logiciel analyse (3) lors de cette étape : I relier les activités aux classes dialogues I structurer la navigation par acteur Génie logiciel conception (1) modélisation du comportement des classes par diagrammes d’interaction Génie logiciel conception (1) lors de cette étape : I décider pour chaque service ou fonction de la classe le contenant I représenter les collaborations d’objets réalisant un scénario I recenser les méthodes (publiques) des classes Génie logiciel conception (1) zoom sur un diagramme d’interaction Génie logiciel conception (2) diagramme de classes final Génie logiciel conception (2) lors de cette étape : I compléter en précisant les méthodes privées Génie logiciel développement choix techniques : I langage? JAVA ! I API pour l’IHM? I frameworks et design patterns? I infrastructure I utilisation d’une base de données? Génie logiciel remise de l’application I I I une démo validation notamment avec le plan de tests une critique