Langage de modélisation objet (UML)

Langage de modélisation objet (UML) GIN4102

Enseignant:

Email:

Durée totale du cours: 45 H

Semestre : 3

Nombre de crédits :3

Modules

spécialisés

Modules de

base

Sciences et techniques de

l’ingénierie

Préparation à la carrière professionnelle
X

 

Nombre d’heures Activités hors classe
45 38

  

Code                                                         : GIN2102                             Langage de modélisation objet (UML)

 

Volume Horaire                                     : 3h Cours intégrés et 0h75 Travaux pratiques (par semaine)

Objectifs d’apprentissage et compétences visées

La mise en œuvre de « bonnes pratiques » d’analyse et de conception orientée objet est un enjeu fondamental dans le cadre du développement de systèmes logiciels. L’objectif de ce cours est de découvrir les bases de modélisation orientée objet des systèmes informatiques en UML : savoir choisir et réaliser un modèle en fonction de la vue à représenter (fonctionnelle, statique, dynamique) et du niveau d’abstraction choisi (expression des besoins, analyse, conception). Présenter le processus unifié (UP) ainsi qu’une une démarche de développement basée sur UP. Mettre en œuvre une démarche minimaliste pour le développement d’un système informatique à travers une étude de cas.

Contenu du  cours

Module 1: Introduction à UML et Concepts Fondamentaux

  • Introduction à la modélisation et à UML
  • Histoire et évolution d’UML
  • Concepts de base d’UML : classes, objets, relations, etc.
  • Différents types de diagrammes UML et leurs utilisations
  • Notation et règles de modélisation dans UML

Module 2: Diagrammes de Cas d’Utilisation

  • Comprendre les diagrammes de cas d’utilisation
  • Identification des acteurs et des cas d’utilisation
  • Scénarios et interactions entre acteurs et cas d’utilisation
  • Modélisation des exigences fonctionnelles avec les cas d’utilisation
  • Exercices pratiques de modélisation de cas d’utilisation

Module 3: Diagrammes de Classes

  • Compréhension des diagrammes de classes
  • Représentation des classes, des attributs et des méthodes
  • Associations, agrégations et compositions entre les classes
  • Héritage et généralisation dans les diagrammes de classes
  • Utilisation d’UML pour concevoir l’architecture logicielle

Module 4: Diagrammes d’Interaction

  • Les diagrammes de séquence : modéliser les interactions entre objets dans le temps
  • Les diagrammes de communication : représenter les interactions structurées entre objets
  • Les diagrammes de temps : modéliser les contraintes temporelles et les événements

Module 5: Diagrammes d’État

  • Introduction aux diagrammes d’état
  • Modélisation des cycles de vie des objets
  • États, transitions et événements
  • Utilisation des diagrammes d’état pour modéliser le comportement des objets

Module 6: Diagrammes d’Activité

  • Compréhension des diagrammes d’activité
  • Représentation des processus métier et des flux de contrôle
  • Utilisation des diagrammes d’activité pour modéliser des algorithmes et des procédures

Module 7: Diagrammes de Composants et de Déploiement

  • Diagrammes de composants : modéliser les composants logiciels et leurs relations
  • Diagrammes de déploiement : représenter l’architecture matérielle du système
  • Intégration des diagrammes de composants et de déploiement dans le processus de conception

Module 8: Génération de Code et Outils UML

  • Utilisation d’outils UML pour la modélisation
  • Génération automatique de code à partir de modèles UML
  • Avantages et limitations de la génération de code à partir d’UML

Module 9: Études de Cas et Projets Pratiques

  • Analyse de cas d’utilisation réels et modélisation en UML
  • Projets pratiques de modélisation de systèmes logiciels
  • Présentations des projets et discussions sur les solutions proposées

Module 10: Bonnes Pratiques en UML et Conclusion

  • Bonnes pratiques pour une modélisation UML efficace
  • Révision des principaux concepts et diagrammes UML
  • Conclusion du cours et perspectives sur l’application d’UML dans le génie informatique

Matrice d’apprentissage

Chapitre Titre Durée Résultats d’apprentissage
 

 

 

Chapitre 1

 

 

 

 

Concepts fondamentaux de l’approche objet

 

 

 

3

–          Comprendre la nécessité de la modélisation

–          Comprendre l’historique des méthodes de conception destinées au système d’information

–          Découvrez ce qu’est un système d’information

 

 

Chapitre 2

 

 

 

Utiliser le diagramme de cas

 

 

5

–   Comprendre les concepts de base du diagramme de cas d’utilisation

–   Discutez de la façon de trouver des cas d’utilisation à partir de quelques exemples

 

Chapitre 3

 

 

Diagramme de classe

 

 

8

– Comprendre  les  concepts  de base du diagramme de classe tels que les classes, les attributs, les méthodes et la relation entre les objets
 

 

Chapitre4

 

 

Diagramme de séquence

 

 

9

–          Comprendre les caractéristiques de base d’un diagramme de séquence

–          Apprenez à utiliser des messages synchrones et asynchrones

 

 

Chapitre 5

 

 

 

Diagramme d’activité

 

 

 

4

–          Comprendre les caractéristiques de base d’un diagramme d’activité (états d’action, transitions, opérations, etc.)

–          Discutez de la façon de créer des diagrammes d’activité à partir de quelques exemples.

 

Chapitre 6

 

Processus unifié

 

6

–      Identifier et comprendre les phases clés du processus unifié

Méthodes d’enseignement et d’apprentissage

  • Enseignement frontal (magistral) avec des exemples à résoudre en
  • Exercices théoriques et études de cas (présentation et discussion).
  • Travaux à faire à domicile (mini-projet, exposé, compte-rendu, …)

Connaissances et compétences pré-requises

  • Programmation Orientée Objet

Références bibliographiques

  • Un polycopié (Notes du cours) de l’enseignant sera
  • Autres références sous forme de tutoriaux, manuels ou documents à télécharger relatives aux logiciels utilisés.
  • Les recommandations bibliographiques suivantes doivent être considérées :
    • Booch G., Rumbaugh J., Jacobson I., « Unified Modeling Language User Guide », Addison- Wesley,
    • Muller P.A., Nathalie G., « Modélisation objet avec UML », 2ème édition, Eyrolles, février 2000, Paris.
    • Roques P., Vallée F., « UML en action », 2ème édition, Eyrolles, novembre 2002,
    • Roques P., « UML 2, Modéliser une application Web », 4ème édition, Eyrolles, octobre 2008, Paris.
    • Rumbaugh J., Jacobson I., Booch G., « Unified Modeling Language Reference Manual », Addison-Wesley,

Modalité d’évaluation

  • 40% Contrôle continu (TP noté, Test, Assiduité, Devoir surveillé, travaux non présentiels, …)
  • 60% Examen semestriel
  • TP, Test, Assiduité, Travaux non présentiels, Mini-projets, … = 60% de Contrôle Continu
  • Note de DS = 40% de Contrôle Continu
  • L’évaluation du cours peut comprendre, des projets de modélisation individuels ou en groupe, des présentations orales et des évaluations continues tout au long du semestre.
L’objectif de cette évaluation est de s’assurer que les étudiants ont une compréhension approfondie du langage de modélisation UML et de leur capacité à l’appliquer dans des scénarios réels et complexes. Il est important de combiner différentes méthodes d’évaluation pour obtenir une image complète des compétences des étudiants dans le domaine de l’UML et du génie informatique.
  • Examen écrit théorique : Organisez un examen écrit qui couvre les concepts fondamentaux d’UML, les différents types de diagrammes UML, leurs notations et leurs utilisations. L’examen devrait inclure des questions ouvertes, des questions de réflexion et des scénarios de modélisation à résoudre sur papier.
  • Projets de modélisation avancés : Les étudiants devraient travailler sur des projets de modélisation avancés et pratiques. Ces projets pourraient inclure la modélisation de systèmes logiciels complexes, tels que des applications web, des systèmes d’information, ou des logiciels embarqués. Ils devraient démontrer une compréhension approfondie de l’utilisation appropriée des différents diagrammes UML pour représenter divers aspects du système.
  • Analyse de cas d’utilisation réels : Proposez aux étudiants des études de cas réels provenant de projets logiciels existants ou de scénarios de l’industrie. Ils devront analyser les besoins, identifier les acteurs, définir les cas d’utilisation et créer des diagrammes de cas d’utilisation détaillés.
  • Présentation orale des projets : Les étudiants devraient présenter leurs projets de modélisation devant leurs pairs et les enseignants. Cela permettra d’évaluer leur capacité à communiquer efficacement leur conception, à défendre leurs choix de modélisation et à répondre aux questions.
  • Examen pratique de modélisation : Organisez un examen pratique en utilisant des outils UML où les étudiants devront résoudre des problèmes de modélisation en temps limité. Cela évalue leur capacité à appliquer rapidement les connaissances théoriques à des situations pratiques.
  • Collaboration en équipe : Encouragez des projets de modélisation en équipe, où les étudiants devront collaborer et coordonner leur travail. Évaluez leur capacité à travailler efficacement en équipe, à partager des responsabilités et à intégrer leurs modèles dans un système cohérent.
  • Étude critique de la documentation UML : Demandez aux étudiants d’examiner et de critiquer des modèles UML existants, tels que des diagrammes de conception d’autres projets open source ou des documents de spécifications standard. Cela évalue leur capacité à comprendre et à évaluer des modèles UML complexes.
  • Auto-évaluation et réflexion : Demandez aux étudiants de réfléchir sur leur propre apprentissage et leur progression dans le cours. Ils peuvent se pencher sur les compétences qu’ils ont acquises et identifier les domaines où ils aimeraient s’améliorer.
  • Évaluation continue : Tenez compte des évaluations continues tout au long du cours, telles que des devoirs, des exercices en classe et des discussions, pour évaluer la participation active et l’engagement des étudiants.
  • Évaluation de la documentation : Évaluez également la qualité de la documentation associée aux modèles UML créés par les étudiants, en mettant l’accent sur la clarté, la précision et la cohérence

Résultats d’apprentissage

Après avoir réussi ce sujet, les étudiants doivent :
  • Comprendre les principes de base de l’analyse et de la conception de logiciels.
  • Compréhension d’UML : Apprendre les concepts fondamentaux d’UML, ses différents types de diagrammes, et comment ils sont utilisés pour représenter différentes perspectives de la conception logicielle.
  • Modélisation des systèmes : Apprendre à utiliser UML pour modéliser les différentes phases du cycle de développement logiciel, de la phase de conception à la mise en œuvre.
  • Savoir utiliser les diagrammes UML pour représenter des cas d’utilisation, des classes, des interactions, des états, des activités, etc
  • Communication et collaboration : Comprendre comment UML peut être utilisé comme un langage commun pour faciliter la communication entre les membres de l’équipe de développement et les parties prenantes.
  • Analyse des besoins : Apprendre à utiliser UML pour capturer les besoins des utilisateurs et les transformer en modèles compréhensibles par les développeurs.
  • Conception logicielle : Utiliser UML pour décrire l’architecture logicielle, les classes, les interactions et les dépendances entre les composants du système.
  • Génération de code : Comprendre comment UML peut être utilisé pour générer du code à partir des modèles, accélérant ainsi le processus de développement.
  • Documentation du logiciel : Apprendre à créer une documentation claire et concise du logiciel à l’aide d’UML.
  • Être conscient des principaux enjeux de qualité et de sécurité dans le développement de logiciels.

Laisser un commentaire

Défiler vers le haut
Need Help? Chat with us