====== M2104 -- Bases de la conception orientée objet -- Semestre 2 ======
===== Intervenants =====
^ Nom ^ Affiliation ^ Adresse ^
| [[blay@unice.fr|Mireille Blay-Fornarino (MBF)]] | IUT /UNS/I3S | Bureau XXX Ou Bâtiment Templiers :Bureau 449 ([[http://mireilleblayfornarino.i3s.unice.fr/|www]]) |
/* | [[feneon@unice.fr|Nathalie Feneon (NF)]] | IUT/UNS | Bureau XXX |
*/
| [[rosa.lecat@unice.fr|Rosa Lecat (RL)]] | IUT/UNS | --- |
| [[adrien.gausseran@unice.fr|Adrien Gausseran (AG)]] | IUT/UNS/I3S/INRIA | --- |
| [[ines.sarray@gmail.com|Ines Sarray@gmail.com]] (IS) | IUT/UNS/INRIA | --- |
===== Objectifs du module =====
* Comprendre et modéliser une conception détaillée et l’implanter avec un langage à objets
===== Compétences visées : =====
* FA1-A : Analyse d’une solution informatique
* FA1-B : Conception technique d’une solution informatique
* FA1-C : Réalisation d’une solution informatique
* FA1-D : Tests de validation d’une solution informatique
Le module M2103 « Bases de la programmation objet » prendra en charge l'apprentissage des tests unitaires.
===== Outil de communication =====
[[https://dut-info-nice-m331.slack.com/messages/C8QC99B9S|Slack ]]
{{fa>arrow-circle-right?30}}
afin de faciliter les discussions entre les tous (profs et étudiants) nous utiliserons SLACK, comme moyen de communication qui est très utilisé dans les entreprises.
* Téléchargez l'application sur vos machines personnelles et/ou téléphones, c'est un moyen vite adopté pour communiquer rapidement dans un contexte professionnel
* [[https://join.slack.com/t/dut-info-nice-18-19/shared_invite/enQtNTEyMDA0ODk5MDQ2LTk2Mzg3OTMyNTQ2ZTA4N2VjZmI1MTE1NjM2NGQyOTg4YTIwODhlZTdmZDc0YjBmNzcxNGE3MjgzZGRkMTA1Y2U
|Lien d'invitation valable jusqu'au 22 janvier]] Puis **rejoindre le canal ''#bases-de-la-coo.''**
===== Planning =====
**Volume**
* 8*1h de cours
* 8*4h de TD
**Description**
- Introduction à la modélisation {{:2018_2019:s2:1-introauml-2019.pdf|Cours Introduction à UML}} //sem. 21 janvier//
- Un système pourquoi? pour qui? Les cas d'utilisation
* {{:2018_2019:s2:2-uml-uc_-2019.pdf|Cours Cas d'utilisation}} //sem. 21 janvier//
* [[2018_2019:s2:td:td_use_cases|TD Diagrammes de cas d'utilisation - Introduction]]//sem. 21 janvier//
* [[2018_2019:s2:td:td_use_cases2|TD Diagrammes de cas d'utilisation - Relations]]//sem. 21 janvier//
* [[2018_2019:s2:td:td_use_cases3|TD Diagrammes de cas d'utilisation - Descriptions]] //sem. 28 janvier//
* [[2018_2019:s2:td:td_use_cases4|TD Diagrammes de cas d'utilisation - Synthèse]] //sem. 28 janvier//
- Description du domaine
* {{:2018_2019:s2:3-umlclassesanalyse-2019.pdf|Cours Diagramme de classes}} //sem. 21 janvier//
* Pour en savoir plus en autonomie (à voir avant la semaine du : 11 février)
*[[ https://youtu.be/BNEtWb3WceQ|Cours sur les principes "objets"]]
*[[ https://youtu.be/bFJu2NvOhyY|Cours sur la Notion de classe]]
* [[2018_2019:s2:TD:TD Domaine|TD sur les diagrammes de classes pour modéliser le domaine]] //sem. 4 février//
* [[2018_2019:s2:TD:TD Domaine2|TD avancé sur les diagrammes de classes pour modéliser le domaine]] //sem. 4 février//
- Diagrammes de Séquences {{:2018_2019:s2:4-umlsequences-2019.pdf|Cours diagramme de séquence}} //sem. 7 février//
* [[2018_2019:s2:TD:TD Sequences|TD sur les diagrammes de séquence]] //sem. 11 février//
- {{:2018_2019:s2:5-applivation.pdf|Exemple d'application}} pour aller plus loin sur les diagrammes de classes //sem. 11 février//
- De la modélisation au code {{:2018_2019:s2:6-de-l_analyseaconception-2019.pdf|Cours sur le passage en conception et au code }} //sem. 11 & 28 février & 4 mars //
* [[2018_2019:s2:td:td_classe_code|Des modèles aux codes et vis-versa]] //sem. 28 février//
* [[2018_2019:s2:td:td_final|De la modélisation au code : FINALE]] //sem. 4 mars//
- [[2018_2019:s2:td:td_fin|Révisions]] //sem. 11 mars//
- EXAMEN //sem. 28 mars//
===== Notations =====
* Un examen final sanctionne ce module. (coeff. 1)
Seule une page au format A4, recto-verso, sera autorisée pour l'examen final.
* Les **TD** (coeff. 0,75)
* Chaque semaine, une heure est consacrée à l'évaluation individuelle.
* Des rendus demandés peuvent compléter cette notation.
* **Autres** (coeff. 0,75)
* Des contrôles surprises
* Un **rendu-final de type carnet de bord**
* **Rendu le 28 mars à 9h**, juste avant l'examen, dans le [[http://jalon.unice.fr/cours/blay/Cours-blay-20160226085155/BoiteDepot-blay-20160311120851707053|dépôt jalon]] avec comme nom : //CB_NumeroGroupeTD -- Noms des étudiants participants au rendu//.)
* Ce rendu peut se faire par binôme (exceptionnellement trinômes)
* Son contenu correspond aux différents TDs, et **plus particulièrement l'étude de cas à faire seul**(l'étude de cas sur le "smart garage"), et vise à mettre en relief ce que vous avez appris.
* **Vous éviterez d'utiliser l'étude de la galerie d'art qui est très utilisée dans les précédents carnets de bord.**
* Sa forme peut être un document textuel ou un document web.
* Il a pour cible d'expliquer à d'autres développeurs, l'art de l'analyse/conception sur la base de l'expérience acquise dans ce module. Voici quelques éléments de notations :
* Forme du document
* Choix des exemples utilisés pour expliquer les notions
* Adéquation avec les objectifs pédagogiques de cet exercice (Clarté des explications, intérêt pour d'autres étudiants)
* Qualité des codes et modèles présentés
* Quels "trucs" à retenir? Que faut-il absolument retenir? Chaque étudiant du groupe identifie au moins un élément de cet enseignement qui lui semble important de transmettre. Le correcteur doit pouvoir identifier au moins un "truc" par étudiant.
* Quelles erreurs sont les erreurs à ne pas commettre? Chaque étudiant du groupe identifie au moins une erreur à ne pas commettre. Le correcteur doit pouvoir identifier au moins une erreur signalée par étudiant.
* **Des tests** pour s'auto-évaluer. Chaque étudiant du groupe propose au moins un test pour s'auto-évaluer. Le correcteur doit pouvoir identifier au moins un test proposé par chaque étudiant.
* Couverture du module (tous les aspects ont-ils bien été couverts par le cahier de bord?)
Pour que ce soit clair :
- Vous devez répondre aux critères donnés, sinon la note reflète les "oublis";
- La plagia est sanctionnée a minima par un 0, voir [[http://bibliotheque.unice.fr/services-et-formations/publication-theses/prevention-du-plagiat|plus]].
``
Chaque binôme doit préciser la contribution de chacun dans le rendu.
Les rendus en trinôme doivent être exceptionnels, au plus un trinôme par groupe de TD. Dans ce cas, l'implication des membres du trinôme dans le rendu doit être bien différenciée.
==== Quelques erreurs dans l'examen 2019 ====
* Le système ne doit pas prendre en charge la saisie des informations par les auteurs : les UC doivent justement vous permettre de délimiter le système.
Et toujours les mêmes !! (comment le dire?)
* Comme très souvent, l'internaute n'est pas un objet du système...
* Encore des relations à l'envers, en particulier l'héritage entre classes !
* Des S aux acteurs : consultants, ...
* Des losanges au petit bonheur avec généralement aucune cardinalité ou rôle !
* Pas de rôles sur les associations
==== Très bons rendus ====
* Rendus en 2018 :
* [[http://yann.fzcommunication.fr/index.php/conception-oriente-objet]] : //YANN ZAVATTERO//
* {{:2017_2018:s2:2018-03-29_08h28m30s_carnet_de_bord.zip}} : //NASTASSIA MANA//
* Rendus en 2017 :
* [[http://t2lab.ovh/IUT/carnet/index.html|Guillaume BARILLET - Titouan VEAUVY]]
* (Saurel Nadaud bientôt disponible)
* Rendu en 2016 : [[http://alexandre-lang.fr/CPOO/Semestre_2/index.html]] // Alexandre Bruyat, Alexandre Lang et Rémy Munier//
* Rendu en 2014 : [[http://www.coo.maximecarrillo.fr]], mais attention les consignes ont un peu changées.
==== Anciens examens ====
** Voici des examens issus de l'ancien PPN. **
* {{:2011_2012:s2:exams2-2011.pdf|Examen 2011}}
* {{:2012_2013:s2:exams2-2012-court.pdf|Examen 2012}}
===== Références =====
[[http://www.labri.fr/perso/xblanc/teaching.html|Comprendre les objets...excellent cours par vidéos]]
[[http://www.afceurope.com/uml.html]]
[[http://www.youtube.com/watch?v=50VrRVp7CtY#t=375|
Comprendre les objets au travers des Tajines !!]]
[[http://www.youtube.com/watch?v=H1Ie8Xr9-tI&feature=youtu.be|Des uses cases extraits de business Process !!]]