Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
CSC4002
Corrigé Barème
Notes :
— les seuls documents autorisés sont ceux distribués en cours et ceux mis à disposition sur le site Web ;
— le travail doit se faire individuellement ; n’oubliez pas d’indiquer votre nom sur chaque feuille rendue ;
— soyez concis et précis, et justifiez vos réponses par des commentaires appropriés si cela vous semble nécessaire ;
— le sujet correspond à une analyse puis à la programmation des parties analysées. Il ne peut donc pas être
traité dans le désordre.
1 Description du problème
L’objectif du système est d’informatiser le suivi des productions scientifiques d’une institution. Cette
institution organise sa recherche par projets. Le système permet de gérer les projets et leurs productions. Ce
système est piloté par la direction scientifique. Le système doit permettre de créer et de supprimer les types
d’informations sur les projets et les productions.
1.1 Organisation de la recherche
La recherche est organisée en projets qui rassemblent un ensemble d’acteurs. Les projets sont créés et
supprimés par la direction de la recherche.
Chaque projet actif est animé par un responsable de projet, les personnes travaillant dans le projet sont
appelées des membres.
Le responsable du projet est nommé par la direction de la recherche. Un responsable de projet peut
ajouter ou enlever des membres à son projet.
1.2 Description des acteurs
Les acteurs ne sont pas directement gérés par le système mais proviennent d’un annuaire central.
Les informations significatives sur les acteurs sont :
— le nom et le prénom,
— l’adresse email,
— le département d’accueil.
1.3 Description des productions
La productions des acteurs de la recherche sont de trois types :
— contrats,
— publications,
— logiciels.
Les informations associées à un contrat sont la date de début, la date de fin, un montant en kilo euro
pour le fonctionnement et un montant en kilo euro pour l’investissement.
Les informations sur les publications sont le type (article ou rapport), le titre de la publication, la liste des
auteurs, la date de publication, et un champ variable qui peut contenir des lieux ou d’autres informations.
Les informations sur les logiciels publiés sont le nom du logiciel, le descriptif court du logiciel, la liste des
auteurs et l’URI des sources.
Les publications peuvent être ajoutées par les membres d’un projet. Les contrats sont ajoutés directement
par la direction de la recherche. Les logiciels produits ne peuvent être ajoutés que par le responsable du projet.
Question 2 : 3pt Décrire les acteurs et les opérations significatives du système par un diagramme de cas
d’utilisation.
La figure suivante présente les acteurs et les cas d’utilisation du système.
Barème de correction sur 3 points :
Répartition :
créer Projet
nommer le responsable
arreter projet
ajouter contrat
directionScientifique valider une production
ajouter publication
Membre Projet
Question 3 : 3pt Construire un diagramme de classes qui représente le système. Dans ce diagramme,
prenez soin de préciser les noms des associations, les multiplicités et les sens de navigation des associations
lorsque nécessaire. Une ébauche de diagramme de classes est donnée figure 2.
DirectionScientifique
valide
* aPourResponsable * *
Projet réalise * Production
Acteur
* aPourMembre
* aPourAuteur
* *
Article Contrat
* Logiciel
aPourAuteur
Question 4 : 2pt Construire les diagrammes de transition d’état des classes publication et contrat. Dia-
gramme de Transitions d’états des classes Contrat et Publication.
Les diagrammes de transition d’états des classes Contrat et Publication sont donnés figure 3
Barème de correction sur 2 points :
dé
entry / pret
cis
entry / constructeur() do / modifier()
io
pret do / realiser()
n
da /a
DS
constructeur()
te rc
[d
de hiv
éc
fin er(
isi
on
dé )
=v
pa
ali
ss
dé
e
]
décision DS [décision=refusé]
valide
Archivé
destruction
destruction
/invalider()
entry / detruire() /purger() entry / detruire()
Répartition :
0,5 pas d’erreur de notation UML
0,5 état non validé et validé pour publication
0,5 état en cours et archivé pour contrat
0,5 événement et action distingués
Question 5 : 2pt Décrivez en langage naturel le cas d’utilisation « calculer la liste des publications d’un
projet ». Puis donnez le diagramme de séquence ou le diagramme de collaboration correspondant. Pour
calculer la liste des publications d’un projet, on doit tout d’abord trouver le projet à partir de son nom ;
puis demander au projet de nous retourner cette liste de publications. Une alternative, consiste à demander
au projet la liste des productions puis de trier parmi ces productions, en ne gardant que celles qui sont des
publications.
Le diagramme de séquence de la méthode ListePublications de la classe DirectionScientifique est donnée
figure 4.
:DirectionScientifique p:Projet
ListePublications(nomProjet)
p = chercherProjet(nomProjet)
l = listePublications()
Question 7 : 3pt Traduisez en java, les méthodes de la classe Projet que vous avez utilisées dans la
question 5. Vous devez ici écrire l’interface mais aussi le contenu de chaque méthode.
Réponse:
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
Question 9 (2pt) Écrivez le constructeur de la classe projet qui reçoit un identifiant de projet et initialise
l’objet construit à partir des champs contenus dans la base de données qui correspondent à ce numéro de
projet.
Réponse:
.5 : exception OK