Fiche de révision : Conception et modélisation logicielle

Plan du Cours

  1. Conception agile et cycle de vie
  2. Rôle de la modélisation
  3. Besoins exigences et contraintes
  4. Acteurs règles et user stories
  5. Maquettage et expérience utilisateur
  6. UX UI et conception responsive
  7. Méthode Merise et dictionnaire
  8. Entités associations et cardinalités
  9. CIF CIM et modèles relationnels
  10. Du MCD au SQL

1. Conception agile et cycle de vie

Notions clés & Définitions

  • Méthodes agiles : Organisent un projet en itérations courtes appelées sprints, durant lesquelles l’équipe livre une version partielle mais fonctionnelle du logiciel.

★ À maîtriser

  • Un sprint dure généralement 2 à 4 semaines et permet d’ajuster le logiciel grâce à une forte interaction avec le client.

  • 🔄 Une approche séquentielle suit ces étapes:

    1. Analyse
    2. Conception
    3. Développement
    4. Tests
    5. Mise en production

📌 Dans une approche séquentielle, la documentation est importante avant la réalisation et les retours sont tardifs, tandis que l’approche Agile privilégie les itérations courtes et le feedback continu.

Compléments

📌 La modélisation ne disparaît pas avec l’Agile : elle devient plus ciblée, itérative et doit rester utile.

Astuce mémo

Cascade : prévoir avant d’agir ; Agile : apprendre en avançant

2. Rôle de la modélisation

Notions clés & Définitions

  • Modélisation : Consiste à représenter graphiquement ou schématiquement un système afin de mieux le comprendre et de le concevoir.

★ À maîtriser

  • Un modèle est un outil de communication et de décision entre les acteurs d’un projet.

  • La modélisation facilite la communication, réduit les ambiguïtés, identifie les incohérences et dépendances, prépare la maintenance et conserve les décisions structurantes.

Compléments

📌 Un diagramme qui n’apporte aucune décision ou clarification doit être simplifié ou supprimé.

Astuce mémo

Modéliser → clarifier → décider → maintenir

3. Besoins exigences et contraintes

Notions clés & Définitions

  • Analyse fonctionnelle : Consiste à comprendre le besoin métier et à le traduire en spécifications fonctionnelles avant la conception technique.

★ À maîtriser

📌 Une exigence fonctionnelle décrit ce que le système doit permettre de faire, tandis qu’une exigence non fonctionnelle décrit une qualité ou une contrainte du système.

📌 Une exigence de qualité doit être compréhensible, vérifiable et non ambiguë.

Compléments

  • Les exigences non fonctionnelles citées concernent:

    • La sécurité
    • La performance
    • La disponibilité
    • Le responsive
    • L’accessibilité
  • L’analyse fonctionnelle commence par l’expression du besoin, puis définit les exigences fonctionnelles sans parler de solutions techniques.

Astuce mémo

Besoin = pourquoi ; exigence = quoi ; contrainte = sous quelles limites

4. Acteurs règles et user stories

Notions clés & Définitions

  • Cahier des charges : Document qui formalise le besoin métier et les attentes fonctionnelles d’un projet.
  • Acteur : Entité externe, comme un utilisateur ou un système tiers, qui interagit avec l’application.
  • User story : Décrit un besoin au format « En tant qu’acteur, je veux une action afin d’obtenir une valeur ».

★ À maîtriser

  • Un cahier des charges simplifié présente le contexte et les objectifs, le périmètre, les acteurs, les fonctionnalités attendues ainsi que les contraintes et exigences non fonctionnelles.

📌 Une réservation ne peut être confirmée que si des places sont disponibles, et elle ne peut être annulée que jusqu’à 24 h avant l’activité.

Compléments

  • Dans une bibliothèque en ligne, le lecteur consulte le catalogue et réserve un livre, le bibliothécaire gère les livres et les prêts, et l’administrateur supervise le système et les droits d’accès.

Astuce mémo

Acteur → action → règle → test

5. Maquettage et expérience utilisateur

Notions clés & Définitions

  • Wireframe : Maquette fonctionnelle au graphisme simplifié qui définit les zones et composants d’une interface sans se concentrer sur l’esthétique.
  • Prototype : Maquette interactive qui montre ce qui se passe lorsque l’utilisateur interagit avec l’application.

★ À maîtriser

📌 Une maquette permet de visualiser l’interface, valider le parcours utilisateur, détecter les incohérences et réduire les modifications coûteuses pendant le développement.

Compléments

  • Figma est un outil d’édition de graphiques vectoriels et de prototypage principalement basé sur le web.

Astuce mémo

Wireframe → maquette → prototype

6. UX UI et conception responsive

Notions clés & Définitions

  • Ergonomie : Aussi appelée utilisabilité, est la capacité d’un produit informatique à être facilement utilisé pour réaliser la tâche prévue.
  • Responsive web design : Vise à rendre un site fonctionnel sur différentes tailles d’écran.
  • Mobile first : Consiste à concevoir et développer d’abord l’interface pour les smartphones et les tablettes, puis à l’adapter aux écrans plus grands.

★ À maîtriser

📌 L’UX prend en compte les besoins de l’utilisateur pour lui permettre d’atteindre son objectif avec peu d’effort, tandis que l’UI organise l’interface et ses éléments graphiques et textuels.

Compléments

  • En 2021, le trafic internet mobile représentait environ 60 % du trafic internet mondial, contre environ 40 % pour les ordinateurs fixes et portables.

Astuce mémo

UX facilite l’usage ; UI organise l’interface

7. Méthode Merise et dictionnaire

Notions clés & Définitions

  • Merise : Méthode d’analyse, de conception, de développement, de réalisation et de gestion de projet informatique fondée sur la séparation des données et des traitements.
  • Dictionnaire des données : Document qui regroupe les données à conserver dans la base et précise pour chacune son code, sa désignation, son type et sa taille.

★ À maîtriser

📌 Le MCD répond à la question « quelles données et quelles relations ? », tandis que le MLD prépare la structure des tables.

  • 🔄 La construction d’un MCD suit ces étapes:
    1. Extraire les données du besoin
    2. Constituer le dictionnaire des données
    3. Identifier les dépendances fonctionnelles
    4. Identifier les entités
    5. Identifier les associations
    6. Déterminer les cardinalités
    7. Vérifier les règles métier et les cas d’usage

Compléments

  • Merise a été très utilisée dans les années 1970 et 1980 pour l’informatisation massive des organisations.

Astuce mémo

Données → dictionnaire → dépendances → MCD

8. Entités associations et cardinalités

Notions clés & Définitions

  • Entité : Représentation d’un objet matériel ou immatériel ayant une existence propre et conforme aux choix de gestion de l’entreprise.
  • Identifiant : Propriété, ou ensemble de propriétés, qui correspond à une seule occurrence de l’entité pour chaque valeur.
  • Association : Relation sémantique établie par les règles de gestion entre deux entités ou plus et pouvant posséder des propriétés.
  • Cardinalité : Exprime combien d’occurrences d’une entité peuvent être liées à une autre entité.

Points essentiels

  • Dans l’exemple des réservations, un client peut effectuer 0 à N réservations, une réservation concerne 1 seule activité et une réservation appartient à 1 seul client.

Astuce mémo

Entité = objet ; association = lien ; cardinalité = combien

9. CIF CIM et modèles relationnels

Notions clés & Définitions

  • CIF : Association forte et hiérarchique entre deux entités qui exprime une dépendance et se transforme en clé étrangère.
  • CIM : Association non hiérarchique entre au moins deux entités, construite à partir de leurs identifiants et transformée en table.

★ À maîtriser

📌 Une CIF est une association binaire avec une cardinalité maximale à 1 sur une patte et sans propriété, tandis qu’une CIM est une association n-aire dont les cardinalités maximales sont toutes à N et qui peut porter des propriétés.

Compléments

📌 Une règle métier peut devenir simultanément une contrainte de données, une logique applicative et un cas de test.

Astuce mémo

CIF : hiérarchique et clé étrangère ; CIM : multiple et table

10. Du MCD au SQL

Notions clés & Définitions

  • MLD : Décrit la structure des données sans référence à un langage de programmation et prépare leur stockage dans un SGBD relationnel.
  • MPD : Traduit le modèle logique dans une technologie de stockage choisie et précise les types, contraintes, index et paramètres techniques.

★ À maîtriser

  • 🔄 L’implémentation suit ces étapes:
    1. Choisir les types de données, contraintes et index
    2. Définir les clés primaires et étrangères
    3. Créer les tables et les relations
    4. Prévoir les données de test
    5. Vérifier les règles métier

📌 Le MCD représente les entités, relations et cardinalités, le MLD traduit le MCD en tables et clés indépendantes d’un SGBD précis, et le MPD réalise cette traduction dans un SGBD choisi.

Compléments

  • MongoDB est un SGBD NoSQL dont le modèle n’est pas un MLD relationnel.

Astuce mémo

MCD → MLD → MPD → SQL

Tableaux de synthèse

Cascade et Agile

DimensionApproche séquentielleApproche Agile
OrganisationPhases successivesItérations courtes
DocumentationImportante avant réalisationLégère mais utile
Retour clientTardifContinu
ConceptionPrincipalement en amontÉvolutive

Niveaux de modélisation Merise

ModèleRôleRésultat
MCDReprésenter les données, relations et cardinalitésModèle conceptuel
MLDTraduire le MCD en structure relationnelleTables et clés indépendantes du SQL
MPDAdapter le modèle à un SGBD choisiTypes, contraintes, index et SQL

Teste tes connaissances

Teste tes connaissances sur Conception et modélisation logicielle avec 35 questions à choix multiples et corrections détaillées.

1. Comment une méthode agile organise-t-elle généralement le développement d’un logiciel ?

2. Une équipe souhaite recueillir régulièrement l’avis du client et ajuster le logiciel pendant le projet. Quelle durée de sprint est la plus cohérente avec cette démarche ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Conception et modélisation logicielle avec 65 flashcards interactives.

Comment les méthodes agiles organisent-elles un projet ?

En itérations courtes appelées sprints.

Que livre l'équipe à la fin de chaque sprint ?

Une version partielle mais fonctionnelle du logiciel.

Quelle est la durée habituelle d'un sprint ?

De 2 à 4 semaines.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches