Cours Analyse et Conception Merise

Conception de
Systèmes d'Information
Merise : la méthode.
Cyrille Desmoulins
MIAGE 3
UFR IMA/ Université Joseph Fourier 2005-2006
Repères historiques
? <1965 SI à base de fichiers
– Dépendants aux traitements & redondance des informations
? BD : indépendance données et traitements
– 1965-1970 IMS, IBM
Modèles hiérarchiques et réseau
– 1970 Modèle relationnel
– 1975 Normes ANSI-SPARC (US)
– 1976 1ers SGBDR (System-R, IBM) ? 1977 Réseaux de PETRI
? 1974-1978 Méthode Merise
– Fondation : CETE Aix (Tardieu, modélisation de données) + CNRS Marseille (Le Moigne, Systémique)
– 1978 Synthèse : CETE et SSII françaises, 25 ans!
? Depuis
– Ouvrages, outils logiciels et diffusion importante – 1989 projet Merise/2 Sema Group et al.
Niveaux d’abstraction Merise
Niveau | Question | Point de vue | Transformation |
Conceptuel | Quoi? Pourquoi? | Gestionnaire | Abstraction de la réalité perçue |
Organisationnel | Qui? Où? Quand? | Organisateur | Choix d’organisation |
Logique | Comment? (abstrait) | Concepteur informatique | Choix d’un paradigme informatique |
Physique | Comment? (concret) | Développeur informatique | Choix d’un langage informatique |
Niveaux d’abstraction Merise
? Niveau conceptuel : conceptualisation de l’entreprise et de sa mémoire persistante
? Niveau organisationnel : représentation de l’organisation de l’entreprise
? Niveau logique : modélisation du SII de l’entreprise avec un type de modèle informatique.
? Niveau physique : programmation du SII de l’entreprise dans un langage donné
Le cycle de vie global Merise
Schéma directeur Plan de développementdes SI Approbation
Étude préalable Dossier des choix Choix solution
Étude détaillée Spécificationsfonctionnelles Accord utilisateurs
Étude technique Spécificationstechniques Accord réalisateurs
Développement Système Recette conformité
Mise en production Systèmeinstallé Recette définitive
Maintenance maintenuSystème Fin de maintenanceRecette simplifié Norme AFNOR Z67-101
Étapes du cycle de vie
Schéma directeur : orientations générales du développement à moyen terme des systèmes d’information selon les domaines d’activités de l’entreprise
Étude préalable : proposition de solutions organisationnelles et informatiques pour le futur SI d’un domaine d’activité
Étude détaillée : spécification complète du futur SIO et du futur SII du point de vue externe
Réalisation : conception et réalisation technique
– Étude technique : spécification complète du futur SII du point de vue interne.
– Développement logiciel : écriture des programmes, génération des bases de données, tests
Mise en service : installation et déploiement du logiciel, documentation et formation utilisateur, mise en place de la nouvelle organisation
Maintenance : rectification des anomalies, améliorations et extensions.
Une méthode sur 3 plans
? Niveau d’abstraction
Du conceptuel au concret du logiciel
? Niveau de couverture COUVERTURE
Couverture incrémentale de l’informatisation PREOCCUPATION
? Niveau de détail DETAIL
Du plus général au plus particulier
Les acteurs de MERISE
? Groupe / comité de pilotage
– Fixe les orientations et prend les décisions stratégiques concernant le projet
? Groupe de projet
– Structure de travail permanente
– Élabore et réalise le SIO et le SII
? Groupe / comité de validation / d’utilisateurs
– Participe à la définition des besoins et à leur validation
– Valide les étapes du projet du point de vue externe
Le cycle de vie global Merise
Schéma directeur Plan de développementdes SI Approbation
Étude préalable Dossier des choix Choix solution
Étude détaillée Spécificationsfonctionnelles Accord utilisateurs
Étude technique Spécificationstechniques Accord réalisateurs
Développement Système Recette conformité
Mise en production Systèmeinstallé Recette définitive
Maintenance maintenuSystème Fin de maintenanceRecette simplifié Norme AFNOR Z67-101
Le schéma directeur
? Définit les orientations générales de l’informatisation du SI
– Découpage en domaines - fonctions de l’organisation ou d’un de ses secteurs majeurs
– Priorités et planification de l’informatisation et des mises à jour
– Politique matérielle et logicielle
– Contraintes budgétaires
? Est de la responsabilité de la direction de l’organisation
Le cycle de vie global Merise
Schéma directeur Plan de développementdes SI Approbation
Étude préalable Dossier des choix Choix solution
Étude détaillée Spécificationsfonctionnelles Accord utilisateurs
Étude technique Spécificationstechniques Accord réalisateurs
Développement Système Recette conformité
Mise en production Systèmeinstallé Recette définitive
Maintenance maintenuSystème Fin de maintenanceRecette simplifié Norme AFNOR Z67-101
Étude préalable
? Basée sur une double modélisation
– Modélisation de l’existant
– Modélisation des solutions possibles pour le futur système
– Evaluation de la rentabilité des solutions proposées (coût - bénéfices) dans le temps
? Débouche sur
– Une proposition de réalisation : moyens, coûts, délais.
– L’établissement puis la signature d’un contrat
« Soleil » Merise
Étude préalable : existant et besoins
Modélisation de l’existant organisationnel et informatique
? Étude des besoins
– Écart entre l’existant et ce qui est souhaité
– Points de vues des parties prenantes
– À la fois
• Sur l’organisation et son SI
• Sur le SII par rapport au SIO
? Résultat
– Modèle de l’existant
– Cahier des charges des besoins
• Points positifs du SIO et SII actuel, à conserver
• Points négatifs du SIO et SII actuel, à améliorer
• Manques du SIO et SII actuel, à compléter
Modèle de l’existant
? Modélisation globale de l’entreprise
– Découpage en grandes domaines d’activité / services
– Acteurs/intéressés externes
– Modèle de contexte = MCF global
? Modélisation par domaine
– Uniquement les domaines objet de l’étude
– par domaine
• MCF
• MOT et MCT
• MCD
? Niveau de détail des modèles : global
Étude de l’existant
Exemple Bibliothèque pour tous
Étude préalable : conception globale des solutions
? Définition des orientations du futur SI
– Synthèse des besoins par rapport au schéma directeur de l’organisation
? Modélisation des solutions répondant à ces besoins
– MCF, MOF
– MCT (via les flux dans le temps), MOT
– MCD MOD
? Une solution principale et des variantes. ? « Descente » du « soleil » Merise
Le sous-ensemble représentatif
? Objectif : présenter au client une solution aboutie sans développer le système en entier
? Sous-ensemble représentatif
– Une partie du système qui représente l’ensemble du système
? Développement du sous-ensemble
– Conception uniquement
– Conception et développement :
prototypage, maquette
Étude préalable : évaluation des solutions
? Bilan qualitatif
– Nouvelles fonctions/services
– Apports non fonctionnels : qualité, fiabilité, …
? Chiffrage logiciel
– Volume données et traitements
– SGBD et logiciels nécessaires
? Évaluation des besoins matériels : performances et capacités
– stockage disque
– serveurs et postes de travail informatiques
– réseau informatique
– Périphériques (impression, code-barres, RFID, …)
? Coûts financiers
Étude préalable : méthodes d’évaluation des solutions
? Chiffrage logiciel
– Volume données : extrait du MOD
– Volumes des traitements : extrait du MOT
– Choix du SGBD et logiciels en fonction des volumes et des contraintes non fonctionnelles
? Évaluation des besoins matériels : performances et capacités
– Définition d’une architecture informatique correspondant au besoins fonctionnels et aux volumes
• Matériels sur le poste de travail et matériels en arrière-plan
(serveurs, réseaux, etc.)
? Coûts financiers
– Investissements et fonctionnement en matériel et logiciel
– Coût de développement des solutions
– Calcul du retour sur investissement des solutions
Étude préalable : plan de développement
? Choix d’une solution
– Exposé (dossier et/ou oral) des solutions au « client ».
– Discussion et « signature » du « contrat »
? Chiffrage du développement
– Coût main d’œuvre et délais
– Coûts logiciels et matériels
? Planification
– Étapes de développement et jalons
– Analyse des risques, plan qualité
– Schéma de transition entre ancien et nouveau système
Le cycle de vie global Merise
Schéma directeur Plan de développementdes SI Approbation
Étude préalable Dossier des choix Choix solution
Étude détaillée Spécificationsfonctionnelles Accord utilisateurs
Étude technique Spécificationstechniques Accord réalisateurs
Développement Système Recette conformité
Mise en production Systèmeinstallé Recette définitive
Maintenance maintenuSystème Fin de maintenanceRecette simplifié Norme AFNOR Z67-101
Étude détaillée
Modélisation complète du futur système d’information ? Conception générale
Complète la modélisation préalable de la solution retenue
– Niveau de couverture. En particulier en cas d’étude de sousensemble représentatif.
– Niveau de détail : principalement des données.
? Conception détaillée
Par domaine/grande fonction
– Détail des processus/procédures ? Solutions transitoires
– Cohabitation ancien et nouveau système.
– Basculement et possibilités de retour arrière.
? Solutions dégradées
Fonctionnement en cas de défaillance d’un composant
Étude détaillée : conception générale
? Compléter le MCD
– Attributs, domaines et contraintes
– Cas particuliers d’entités et d’associations
? Compléter le MOD
– En fonction des détails du MCD
? Compléter le MCT
– Processus/procédures secondaire, alternatives
– Événements secondaires
? Première version du MLD
? Cohérence globale entre modèles
Étude détaillée : conception détaillée
? Par domaine/grande fonction
– Détail des processus/procédures
– Détail des phases du MOT
– Séparation entre phases interactives et automatiques.
? Phases interactives
– MLF : description au niveau logique des IHM et API et des messages d’erreurs
? Phases automatiques
– MLF : description des états produits
? Toutes phases : MLT
? Consolidation des modèles
– Cohérence forte entre modèles
MCT/étude préalable ou détaillée
Étude préalable | Conception globale | Conception détaillée | |
Procédures / processus | Principales | Toutes Enchaînements principaux | Toutes Détail des enchaînements |
Phases et tâches | Non précisées | Nom des tâches | « algorithmes » des tâches |
Événements | Principaux | Tous | Détail des informations véhiculées |
MCT Descriptions détaillées (pour l’étude détaillée)
? Evénement
– nom + données
? Synchronisation
– condition + condition locale
? Action
– algorithme : structures de contrôle classique + opérations classiques sur les entités du MCD (créer, consulter, modifier, détruire)
MCT Descriptions détaillées
? Détailler le informations véhiculées par les événements : liste + type exacts
? Détailler les algorithmes des actions du
MCT en utilisant
– les structures de contrôle classique • séquence, affectation, conditions, boucles
– les primitives standards sur les typesensemble que sont entités et associations
• nouvelle instance, modifier instance, détruire instance, valeur instance tel que...
Étude technique
À partir des spécifications « utilisateur » de l’étude détaillée
? Spécification informatique du futur système au niveau technique
– Consolidation du MLD
• Détails des attributs et contraintes
• Optimisation en fonction des volumes : répartition et index
– Première version du MPD
– Définition organique des traitements
• MLT et structuration en modules, composants.
Développement
À partir des de l’étude technique production du logiciel, système informatique
? Développement logiciel
– Méthodes de développement (génie logiciel)
– Code correspondant aux spécifications
? Tests
– Tests unitaires
– Tests d’intégration
? Optimisations avec les fonctions du SGBD
– Des données : dénormalisation, index, clusters.
– Des traitements : procédures, re-codage.
Mise en production
? Un fois le logiciel développé, déploiement et mise en service
? Installations
– Installation matérielle : locaux pour serveurs et postes de travail
– Installation logicielle
? Moyens humains
– Documentation utilisateurs
– Formation des utilisateurs
– Assistance en phase de basculement
? Déploiement et basculement
Méthode MERISE Conclusion
? Des outils pour Merise
– PowerAMC (UFR IMA)
– WinDesign
– MEGA
? Une méthode à base de niveaux, modèles et cycle de vie
? Une approche systémique
? Une approche spécifique aux SI
Une méthode sur 3 plans
? Niveau d’abstraction
Du conceptuel au concret du logiciel
? Niveau de couverture COUVERTURE
Couverture incrémentale de l’informatisation PREOCCUPATION
? Niveau de détail DETAIL
Du plus général au plus particulier
Niveaux d’abstraction Merise
Niveau | Question | Point de vue | Transformation |
Conceptuel | Quoi? Pourquoi? | Gestionnaire | Abstraction de la réalité perçue |
Organisationnel | Qui? Où? Quand? | Organisateur | Choix d’organisation |
Logique | Comment? (abstrait) | Concepteur informatique | Choix d’un paradigme informatique |
Physique | Comment? (concret) | Développeur informatique | Choix d’un langage informatique |
Une approche systémique
? Limites du système à étudier
? Finalité, but, objectif
? Découpage en sous-systèmes
? Globalité « le tout est plus que la somme des parties »
? Cohérence données/flux/traitements
? Cohérence entre niveaux de conception
? Le système artificiel doit refléter le système réel de l’organisation
Une approche spécifique aux Systèmes d’information
? L’entreprise système vivant dans un environnement
– Ré-ingénierie de son système d ’information
? Systèmes centrés sur la gestion de données persistantes.
? Centration sur les données (stables)
? Découplage données/traitements
Conclusion
Merise, une méthode et des langages
? Une méthode complète et cohérente
– Fonctionnel, organique et génétique (Merise/2)
– À ne pas utiliser en entier dans tous les projets : sélection de certains niveaux d’abstractions, de certains modèles, de certains objets selon les projets
– Pas de modèles organiques des traitements
? Des langages
– Classiques (EA-étendu) ou originaux (MCT)
– Remplaçables par d’autres, en particulier au niveau logique
? Une méthode très répandue et très représentative en modélisation