Logo ÉTS
Session
Cours
Responsable(s) Christopher Fuhrman

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure
Département de génie logiciel et des TI
Responsable(s) de cours : Christopher Fuhrman


PLAN DE COURS

Automne 2019
LOG210 : Analyse et conception de logiciels (4 crédits)



Préalables
Programme(s) : 7084,7365,7610
             
  Profils(s) : Tous profils  
             
    LOG121    
             
Unités d'agrément
Total d'unités d'agrément : 64,8 54,2 % 45,8 %




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours
À la suite de ce cours, l'étudiant sera en mesure :
• de maîtriser et appliquer des patrons de conception logicielle;
• de concevoir un logiciel orienté objet en appliquant un ensemble de principes et des méthodes heuristiques de génie logiciel;
• de réaliser un logiciel en suivant un processus itératif et évolutif incluant les activités d'analyse et de conception par objets.

Méthodes et techniques de modélisation orientés objet, langage de modélisation, cas d'utilisation, analyse orientée objet, modèle du domaine, conception et programmation orientées objet, principes GRASP, patrons de conception, processus itératif et évolutif.

Séances de laboratoire axées sur l'application des notions d'analyse, de conception et de programmation orientées objet vues en classe. Mise en œuvre d'un modèle d'objet à partir d'une spécification de logiciel et à l'aide d'un langage orienté objet contemporain. Conception d'applications utilisant les outils UML ainsi que des techniques et des outils utiles au génie logiciel, tels qu'un environnement de développement intégré, la compilation automatique et les tests automatiques.



Objectifs du cours

Après la réussite du cours, les étudiants seront en mesure : 
• de maîtriser et d'appliquer des patrons de conception logicielle;
• de concevoir un logiciel orienté objet en appliquant un ensemble de principes et de méthodes heuristiques de génie logiciel; 
• de réaliser un logiciel en suivant un processus itératif et évolutif incluant les activités d'analyse et de conception par objets.




Stratégies pédagogiques

Les objectifs seront atteints par un enseignement hebdomadaire, sous la forme de séances de cours de trois (3) heures portant sur les concepts de l’analyse et de la conception par objets, et de laboratoires de trois (3) heures par semaine permettant à l’étudiant d’appliquer les concepts théoriques vus en classe.




Utilisation d’appareils électroniques

Pour favoriser un bon environnement d’apprentissage dans le cours, une politique d’utilisation des appareils électroniques sera appliquée. Elle est expliquée à l’adresse https://sites.google.com/a/etsmtl.net/cfuhrman/se-preparer-pour-reussir/politique-electronique

Aucun appareil électronique n'est autorisé durant un examen.




Horaire
Groupe Jour Heure Activité
01 Lundi 08:30 - 12:00 Activité de cours
Lundi 13:30 - 16:30 Laboratoire
02 Lundi 13:30 - 17:00 Activité de cours
Jeudi 13:30 - 16:30 Laboratoire
03 Lundi 18:00 - 21:30 Activité de cours
Mercredi 18:00 - 21:00 Laboratoire
04 Lundi 08:30 - 12:00 Activité de cours
Lundi 13:30 - 16:30 Laboratoire



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Christopher Fuhrman Activité de cours Christopher.Fuhrman@etsmtl.ca A-4471 Site web
02 Christopher Fuhrman Activité de cours Christopher.Fuhrman@etsmtl.ca A-4471 Site web
03 Yvan Ross Activité de cours cc-Yvan.Ross@etsmtl.ca A-4526 Sur demande
04 Yvan Ross Activité de cours cc-Yvan.Ross@etsmtl.ca A-4526 Sur demande



Cours
  • Introduction à l’analyse et à la conception par objets et le développement itératif (3 heures[1])
    • Conception par objets
    • Processus unifié
  • Modèles de cas d’utilisation (3 heures)
    • Éléments d’un cas d’utilisation
    • Cas d’utilisation et les exigences logicielles
  • Modèles de domaine (6 heures)
    • Analyse du domaine d’application
    • Détermination des classes conceptuelles
  • Conception par responsabilités (« Design by contract ») (3 heures)
  • Notation UML (6 heures)
    • Diagrammes d’interaction
    • Diagrammes d’activité
    • Diagrammes d’état
  • Modèle de conception suivant les principes GRASP (6 heures)
    • Expert en information
    • Créateur
    • Contrôleur
    • Faible couplage
    • Forte cohésion
    • Polymorphisme
    • Fabrication pure
    • Indirection
    • Protection des variations
  • Modèle de conception, diagrammes de classes et codage (6 heures)
    • Réalisation de cas d’utilisation
    • Tests unitaires
  • Conception avec les patrons GoF (6 heures)
    • Familiarisation avec plusieurs patrons de conception et utilisation de ces patrons dans le modèle de conception.

 


[1]    Ces heures sont des heures approximatives d’enseignement pour chaque sujet et incluent le temps alloué à l’examen intra trimestriel.




Laboratoires et travaux pratiques

Laboratoire 1: Réalisation d'une première itération de développement d'application selon le processus itératif. (9 heures)

Laboratoire 2: Réalisation de la deuxième itération de développement d'application selon le processus itératif. (9 heures)

Laboratoire 3: Réalisation de la troisième itération de développement d'application selon le processus itératif. (9 heures)

Laboratoire 4: Réalisation de la quatrième itération de développement d'application selon le processus itératif. (9 heures)




Utilisation d'outils d'ingénierie

Pour l’analyse orientée objet, les étudiants utilisent une liste de catégories de classes conceptuelles pour identifier les classes conceptuelles dans un le domaine de l’application. Ils utilisent également une liste de catégories d’associations pour identifier les associations éventuelles entre ces classes.

Quant à la conception orientée objet, les étudiants utilisent plusieurs heuristiques (General Responsability Assignment Software Patterns, GRASP) pour créer, évaluer et améliorer les conceptions de classes logicielles. 

Pour le développement de logiciels, les étudiants utilisent éventuellement un environnement de développement intégré (IDE) avec des outils supportant les tests unitaires et le réusinage, ainsi que des compilateurs et débogueurs de langage orienté objet.

NOTE : Pour les difficultés techniques avec le matériel des laboratoires du département, s.v.p. communiquer le problème à gus@etsmtl.ca.




Évaluation

Quatre (4) plans d'itération et rapports sur les travaux de laboratoire et une évaluation finale des fonctionnalités réalisées. Les travaux de laboratoire sont effectués en équipe. L'enseignant décide de la composition de chaque équipe.

Chaque membre d'équipe est responsable de la totalité du travail réalisé et remis par son équipe. Toutefois, les membres de l'équipe ayant réalisé un travail peuvent décider de ne pas mettre sur le rapport le nom d’un ou de plusieurs autres membres qui n'ont pas fait une contribution (conception et codage) significative à l’itération. Avant la remise du travail, un courriel doit être envoyé en copie conforme à tous les membres de l’équipe, aux chargés de laboratoire ainsi qu’à l’enseignant pour indiquer les raisons du retrait du nom. Un membre de l'équipe dont son nom n'est pas sur un travail de laboratoire reçoit une note de "0" pour le travail.

Série de jeux-questionnaires et devoirs (à réaliser individuellement) en dehors du cours et d’exercices (à réaliser individuellement ou en équipe) durant les heures du cours.

Laboratoires

35 %

Jeux-questionnaires, travaux d'écriture réflexive, devoirs et exercices en classe, participation dans le forum (individuel)

15 %

Examen intra (3 heures) (individuel)

25 %

Examen final (3 heures) (individuel)

25 %

 

À noter qu’une moyenne inférieure à 50% dans les évaluations à caractere individuel entraine automatiquement un échec au cours.

La date de l’examen final sera annoncée par l'administration plus tard pendant le trimestre.

Politique de révision d’examen intra

Pour un processus transparent, efficace et clair, une personne inscrite à ce cours ayant des questions à propos de l’évaluation de son examen intra doit

  1. écrire les questions sur le dos de l'examen intra lors de la consultation de ce dernier en classe;
  2. informer l’enseignant par courriel qu’il a écrit des questions sur son examen intra.

L’enseignant doit

  1. réviser l’examen en tenant compte des questions écrites sur l'examen;
  2. répondre à l’étudiant par courriel pour communiquer tout changement de note le cas échéant.



Dates des examens intra
Groupe(s) Date
1, 2, 3, 4 15 octobre 2019



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

Les travaux de laboratoire n'impliquant pas de démonstration qui sont remis en retard de moins de 24h seront évalués avec une note de "-20%".

Les travaux de laboratoire n'impliquant pas de démonstration qui sont remis en retard de plus de 24h seront évalués avec une note de "0".

Tous les autres travaux qui sont remis en retard seront évalués avec une note de "0". 




Absence à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (0).



Plagiat et fraude
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-nature-academique ) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet.  À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



Documentation obligatoire

Il y a un livre obligatoire, mais les étudiants peuvent choisir la version française ou anglaise:

LARMAN, C., UML 2 et les design patterns. 3e édition, Pearson Éducation, 2005.

LARMAN, C., Applying UML and patterns: an introduction to object-oriented analysis and design and the unified process. 3rd edition, Upper Saddle River (NJ), Prentice-Hall PTR, 2005.




Ouvrages de références

GAMMA, E., Design patterns: Elements of reusable object-oriented software. Reading (Mass.), Addison-Wesley, 1995.

GRAND, M., Patterns in Java: A Catalog of Reusable design Patterns Illustrated with UML. Vol. 1, 2nd Ed., New York, John Wiley, 2002.

GRAND, M., Patterns in Java: A Catalog of Reusable design Patterns Illustrated with UML. Vol. 2, New York, Wiley, 1998.

FOWLER, M. et K. SCOTT, UML distilled: Applying the Standard Object Modeling Language. Reading (Mass.), Addison Wesley Longman, 1997.

FITZPATRICK, B. W. et COLLINS-SUSSMAN, B., Team Geek: A Software Developer's Guide to Working Well with Others. O'Reilly Media, 2013. 




Adresse internet du site de cours et autres liens utiles

Sans objet.




Autres informations

Sans objet.