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