CHAPITRE 5 MODELE FONCTIONNEL GENERALITES QUE VEUT - ON OBTENIR ? LES MODELES LES DEMARCHES CONCLUSION
LE MODELE FONCTIONNEL A POUR OBJECTIF LETUDE DES TRAITEMENTS, CEST A DIRE LETUDE DES METHODES. LE MODELE FONCTIONNEL A POUR OBJECTIF LETUDE DES TRAITEMENTS, CEST A DIRE LETUDE DES METHODES. CINQ PROBLEMES DOIVENT ETRE RESOLUS : CINQ PROBLEMES DOIVENT ETRE RESOLUS : –1 TROUVER LES METHODES –2 LES PLACER DANS LES CLASSES –3 DECRIRE CE QUELLES FONT –4 DECRIRE LES MESSAGES QUELLES ECHANGENT –5 DEFINIR LA FAÇON DONT ELLES SONT DECLENCHEES ET LEUR ENCHAINEMENT LE MODELE FONCTIONNNEL
EN CONCEPTION CLASSIQUE, CES CINQ POINTS SONT REGROUPES DANS CE QUE LON APPELLE LE MODELE DE TRAITEMENTS ET SONT MODELISES, EN GENERAL, SOUS FORME DE GRAPHES. EN CONCEPTION CLASSIQUE, CES CINQ POINTS SONT REGROUPES DANS CE QUE LON APPELLE LE MODELE DE TRAITEMENTS ET SONT MODELISES, EN GENERAL, SOUS FORME DE GRAPHES. EN CONCEPTION OBJET, LES QUATRE PREMIERS POINTS RELEVENT DU MODELE FONCTIONNEL. EN CONCEPTION OBJET, LES QUATRE PREMIERS POINTS RELEVENT DU MODELE FONCTIONNEL. LE CINQUIEME EST ASSOCIE A CE QUE LON APPELLE LE MODELE DYNAMIQUE. CE MODELE A POUR OBJECTIF LETUDE DU COMPORTEMENT DU SYSTEME DANS LE TEMPS ET DONC LETUDE DU DECLENCHEMENT ET DE LENCHAINEMENT DES METHODES. LE MODELE FONCTIONNNEL LE MODELE FONCTIONNNEL
LA RESOLUTION DES QUATRE PREMIERS PROBLEMES DOIT SE CONCRETISER PAR QUATRE CHOSES : LA RESOLUTION DES QUATRE PREMIERS PROBLEMES DOIT SE CONCRETISER PAR QUATRE CHOSES : –1 LA LISTE DES METHODES (PAR EVENEMENT) –2 UN SCHEMA FAISANT APPARAITRE TOUTES LES METHODES PLACEES AU BON ENDROIT. –3 LES SPECIFICATIONS DE CHAQUE METHODE. –4 DES DIAGRAMMES PERMETTANT DE MODELISER LES ECHANGES DE DONNEES ENTRE LES METHODES. 1. QUE VEUT-ON OBTENIR ?
QUATRE MODELES SONT NECESSAIRES. QUATRE MODELES SONT NECESSAIRES. LE MODELE DE REPRESENTATION DES METHODES LE MODELE DE REPRESENTATION DES METHODES CEST UN TABLEAU APPELE DIAGRAMME DE METHODES QUI PRECISE POUR CHAQUE EVENEMENT TOUTES LES METHODES NECESSAIRES LORDRE NA PAS DIMPORTANCE (A PART LA PREMIERE) CEST LA TACHE LA PLUS DIFFICILE DE TOUTE LA CONCEPTION 2. LES MODELES
LE MODELE DE REPRESENTATION DU PLACEMENT DES METHODES LE MODELE DE REPRESENTATION DU PLACEMENT DES METHODES CE MODELE EST IDENTIQUE A CELUI UTILISE POUR LE DCI. IL COMPORTE DONC LES CINQ CONCEPTS PRESENTES DANS LE MODELE STATIQUE (CLASSE, ATTRIBUT, HERITAGE, AGREGATION, RELATION). IL COMPORTE DONC LES CINQ CONCEPTS PRESENTES DANS LE MODELE STATIQUE (CLASSE, ATTRIBUT, HERITAGE, AGREGATION, RELATION). PLUS LE CONCEPT DE METHODE, CE DERNIER CONCEPT ETANT SPECIFIE UNIQUEMENT PAR LE NOM DE LA METHODE. CE MODELE EST APPELE DIAGRAMME DE CLASSES FINAL (DCF). CE MODELE EST APPELE DIAGRAMME DE CLASSES FINAL (DCF). IL SERA MIS A JOUR LORS DE LETUDE DE LA DYNAMIQUE (APPARITION DE NOUVELLES METHODES) ET POSSEDERA DONC PLUSIEURS VERSIONS.
EXEMPLE DE DCF 1 Correspond Service 8NomService 9TotalService CréerService M2 MajTotalService M * Emploie 0..* 1 Associé à 11..* Souscrit pour Utilisateur 10NomUtilisateur 11TotalUtilisateur Client 1NoClient 2NomClient 3AdrFacturation 4NoCompte 5ModePaiement 6CréditMax 7TotalMensuel CréerClient M1 MajTotalMensuel M11 EditerFacture M13 VérifierCréditMax M6 Paramètre CréerParamètre M14 ControlerDate M12 MajTauxUnit M4 MajDateFacturation M5 16 TauxUnit 17 DateFacturation Consultation 12 NMC 13Jour&Heure, 14DuréeConsultation 15CoutConsultation 1 0..* Correspond CréerConsultation M7 CalculCoutConsultation M8 CréerUtilisateur M3 MajTotalUtilisateur M9 0..*
LE MODELE DE REPRESENTATION DES SPECIFICATIONS DES METHODES LE MODELE DE REPRESENTATION DES SPECIFICATIONS DES METHODES PLUSIEURS MODELES PEUVENT ETRE UTILISES POUR DEFINIR LES SPECIFICATIONS DES METHODES. PLUSIEURS MODELES PEUVENT ETRE UTILISES POUR DEFINIR LES SPECIFICATIONS DES METHODES. NOUS PRECONISONS LE MODELE ALGORITHMIQUE CLASSIQUE QUI PREVOIT DE DECRIRE LA LOGIQUE DES PROCEDURES AVEC LE FORMALISME SUIVANT : NOUS PRECONISONS LE MODELE ALGORITHMIQUE CLASSIQUE QUI PREVOIT DE DECRIRE LA LOGIQUE DES PROCEDURES AVEC LE FORMALISME SUIVANT : EXEMPLE : ALGORITHME DE LA METHODE VERIFCREDITMAX EXEMPLE : ALGORITHME DE LA METHODE VERIFCREDITMAX ENTREES : TOTALMENSUEL TOTALMENSUELCREDITMAXSORTIES :REPONSE DEBUT DEBUT REPONSE (TOTALMENSUEL < CREDITMAX) FIN FIN 2. LES MODELES
LE MODELE DE REPRESENTATION DES ECHANGES DE DONNEES ENTRE LES METHODES LE MODELE DE REPRESENTATION DES ECHANGES DE DONNEES ENTRE LES METHODES DANS CE DOMAINE EGALEMENT DE NOMBREUX MODELES PEUVENT ETRE UTILISES. LUN DES PLUS REPANDUS ET DES PLUS EFFICACES EST CELUI PROPOSE PAR TOM DE MARCO, QUI REPOSE SUR DES DIAGRAMMES DE FLUX DE DONNEES (DFD). LUN DES PLUS REPANDUS ET DES PLUS EFFICACES EST CELUI PROPOSE PAR TOM DE MARCO, QUI REPOSE SUR DES DIAGRAMMES DE FLUX DE DONNEES (DFD). 2. LES MODELES
DANS CE MODELE, TROIS CONCEPTS SONT UTILISES : LE CONCEPT DE FONCTION, REPRESENTE GRAPHIQUEMENT PAR UNE BULLE DE TRAITEMENT. LE CONCEPT DE FONCTION, REPRESENTE GRAPHIQUEMENT PAR UNE BULLE DE TRAITEMENT. IL PERMET DE REPRESENTER LES METHODES. LE CONCEPT DE RESERVOIR DE DONNEES, REPRESENTE GRAPHIQUEMENT PAR DEUX TRAITS HORIZONTAUX. LE CONCEPT DE RESERVOIR DE DONNEES, REPRESENTE GRAPHIQUEMENT PAR DEUX TRAITS HORIZONTAUX. IL PERMET DE SYMBOLISER LES ATTRIBUTS DUNE CLASSE. IL PERMET DE SYMBOLISER LES ATTRIBUTS DUNE CLASSE. 2. LES MODELES
LE CONCEPT DE FLUX DE DONNEES, REPRESENTE GRAPHIQUEMENT PAR UNE FLECHE. LE CONCEPT DE FLUX DE DONNEES, REPRESENTE GRAPHIQUEMENT PAR UNE FLECHE. IL PERMET DE SPECIFIER LES ECHANGES DE DONNEES ENTRE DEUX METHODES OU UNE METHODE ET UN RESERVOIR OU UNE METHODE ET LENVIRONNEMENT. POUR SPECIFIER CHAQUE FLUX, UN FORMALISME UNIQUE DOIT ETRE ADOPTE.
= EST EQUIVALENT A + SEQUENCE [A/B] ALTERNATIVE(A OU B) [A/B] ALTERNATIVE(A OU B) D{ }F ITERATIVE (DE D A F) D{ }F ITERATIVE (DE D A F) { } ITERATIVE DE 0 A N { } ITERATIVE DE 0 A N EXEMPLES : INFOSCLIENT = {NUMCLIENT + NOMCLIENT + ADRESSE} INFOSCLIENT = {NUMCLIENT + NOMCLIENT + ADRESSE} INFOSSERVICE = {NUMCLIENT + NOMSERVICE} INFOSSERVICE = {NUMCLIENT + NOMSERVICE} FORMALISME BNF POUR LES DFD
EXEMPLE DE DFD EditerFacture FournirDétailService FournirDétailUtilisateur FournirDateFacturation Utilisateur Service Client FournirDétailConsultation Consultation Paramètre ControlerDate EV8 DateFacturation OK DétailService DateFacturation DétailClient DétailUtilisateur DétailConsultation
CE TYPE DE SCHEMA MONTRE POUR UNE METHODE DONNEE, TOUTES LES METHODES CONCERNEES ET LES ATTRIBUTS IMPLIQUES. CE TYPE DE SCHEMA MONTRE POUR UNE METHODE DONNEE, TOUTES LES METHODES CONCERNEES ET LES ATTRIBUTS IMPLIQUES. EXEMPLE : LA METHODE EDITERFACTURE EST DECLENCHEE SUITE A LEXECUTION DE LA METHODE CONTROLERDATE. LA METHODE EDITERFACTURE EST DECLENCHEE SUITE A LEXECUTION DE LA METHODE CONTROLERDATE. ELLE FAIT APPEL A QUATRE METHODES FOURNIR AINSI QUAUX ATTRIBUTS DE CLIENT. 2. LES MODELES 2. LES MODELES
LES DEUX DIFFICULTES MAJEURES SONT DUNE PART DE TROUVER LES METHODES DAUTRE PART DE LES PLACER. DAUTRE PART DE LES PLACER. 1. COMMENT TROUVER LES METHODES ? 1. COMMENT TROUVER LES METHODES ? IL NEXISTE A NOTRE CONNAISSANCE AUCUNE DEMARCHE RIGOUREUSE PERMETTANT DE TROUVER LES METHODES. IL NEXISTE A NOTRE CONNAISSANCE AUCUNE DEMARCHE RIGOUREUSE PERMETTANT DE TROUVER LES METHODES. MAIS NOUS SOMMES CONVAINCUS QUE LA SEULE APPROCHE POSSIBLE CONSISTE A PARTIR DES EVENEMENTS ENTRANTS. 3. LES DEMARCHES
ON COMMENCE PAR CONSTRUIRE UN SCHEMA GENERAL, APPELE DIAGRAMME DE CONTEXTE, PRECISANT LES ECHANGES DINFORMATIONS ENTRE LE SYSTEME ET SON ENVIRONNEMENT. ON COMMENCE PAR CONSTRUIRE UN SCHEMA GENERAL, APPELE DIAGRAMME DE CONTEXTE, PRECISANT LES ECHANGES DINFORMATIONS ENTRE LE SYSTEME ET SON ENVIRONNEMENT. CE TYPE DE SCHEMA A LAVANTAGE DE METTRE EN EVIDENCE LES DIFFERENTS ACTEURS DE LENVIRONNEMENT QUI FOURNISSENT DES INFORMATIONS OU DES SIGNAUX AU SYSTEME. CE TYPE DE SCHEMA A LAVANTAGE DE METTRE EN EVIDENCE LES DIFFERENTS ACTEURS DE LENVIRONNEMENT QUI FOURNISSENT DES INFORMATIONS OU DES SIGNAUX AU SYSTEME. 1. COMMENT TROUVER LES METHODES ?
POUR CHACUN DE CES EVENEMENTS ENTRANTS, ON DETERMINE TOUTES LES METHODES QUI DEVRONT ETRE DECLENCHEES POUR QUE LE SYSTEME PUISSE FOURNIR UNE REPONSE APPROPRIEE. POUR CHACUN DE CES EVENEMENTS ENTRANTS, ON DETERMINE TOUTES LES METHODES QUI DEVRONT ETRE DECLENCHEES POUR QUE LE SYSTEME PUISSE FOURNIR UNE REPONSE APPROPRIEE. LE RESULTAT SE TRADUIT PAR UN DIAGRAMME DE METHODES. LE RESULTAT SE TRADUIT PAR UN DIAGRAMME DE METHODES. EXEMPLE DE EXEMPLE DE DIAGRAMME DE METHODES 1. COMMENT TROUVER LES METHODES ? EVENEMENTMETHODE EV1 M1, M2 EV2 M3, M4, M5 EV3M6 ….…..
LHYPOTHESE QUE NOUS FAISONS ICI EST LA SEULE HYPOTHESE REALISTE POUR TROUVER LES METHODES. LHYPOTHESE QUE NOUS FAISONS ICI EST LA SEULE HYPOTHESE REALISTE POUR TROUVER LES METHODES. EN CLAIR, SI POUR UN EVENEMENT ENTRANT DONNE LE CONCEPTEUR NEST PAS CAPABLE DE TROUVER TOUTES LES METHODES QUI DOIVENT ETRE DECLENCHEES, IL NA AUCUNE CHANCE DE MODELISER CORRECTEMENT LES TRAITEMENTS. EN CLAIR, SI POUR UN EVENEMENT ENTRANT DONNE LE CONCEPTEUR NEST PAS CAPABLE DE TROUVER TOUTES LES METHODES QUI DOIVENT ETRE DECLENCHEES, IL NA AUCUNE CHANCE DE MODELISER CORRECTEMENT LES TRAITEMENTS. 1. COMMENT TROUVER LES METHODES ? 1. COMMENT TROUVER LES METHODES ?
LE DIAGRAMME DE METHODES CI-APRES ASSOCIE A CHAQUE EVENEMENT ENTRANT TOUTES LES METHODES QUIL ENGENDRE. LE DIAGRAMME DE METHODES CI-APRES ASSOCIE A CHAQUE EVENEMENT ENTRANT TOUTES LES METHODES QUIL ENGENDRE. SANS PRECISER, BIEN EVIDEMMENT, LES CONDITIONS DE DECLENCHEMENT PUISQUE CE POINT FAIT LOBJET DE LETUDE DYNAMIQUE DU SYSTEME. 1. COMMENT TROUVER LES METHODES ? 1. COMMENT TROUVER LES METHODES ?
DIAGRAMME DE METHODES ÉvénementMéthode EV1 : nouveau client Créer client M1 Créer service M2 Créer utilisateur M3 EV2 : nouveau service M2, M3 EV3 : nouvel utilisateur M3 EV4: modif taux unitaire Maj_taux_unitaire M4 EV5 : modif de la date de facturation Maj_date_de_facturation M5 EV6 : demande de consultation Verifier_credit_max M6 EV7: fin de consultation Creer_consultation M7 Calcul_cout_consultation M8 Maj_total_utilisateur M9 Maj_total_service M10 Maj_total_mensuel M11 EV8 : changement date horloge Contrdate M12, Editer_facture M13 EV9: créer paramètres Créerparametre M14
LE PROBLEME DU PLACEMENT DES METHODES EST LIE A LA CONTRAINTE DENCAPSULATION. LE PROBLEME DU PLACEMENT DES METHODES EST LIE A LA CONTRAINTE DENCAPSULATION. LE PRINCIPE DE BASE EST LE SUIVANT : LE PRINCIPE DE BASE EST LE SUIVANT : –UNE METHODE M QUI GERE N ATTRIBUTS (ON ENTEND PAR ATTRIBUT GERE TOUS LES ATTRIBUTS DENTREE ET DE SORTIE QUI APPARAISSENT DANS LA SPECIFICATION DE LA METHODE) DOIT ETRE PLACEE DANS LA CLASSE QUI CONTIENT LE PLUS GRAND NOMBRE DATTRIBUTS PARMI LES N. –IL FAUDRA PAR AILLEURS CREER DANS LES CLASSES CONTENANT LES ATTRIBUTS RESTANTS, DES METHODES PERMETTANT A LA METHODE M DOBTENIR CES ATTRIBUTS (METHODES FOURNIR OU GET). –PUIS AJOUTER DES RELATIONS ENTRE LES CLASSES (SI ELLES NEXISTENT PAS DEJA) POUR PERMETTRE LENVOI DES MESSAGES. 2. COMMENT PLACER LES METHODES ?
LE SCHEMA CI-APRES ILLUSTRE CE PRINCIPE : LE SCHEMA CI-APRES ILLUSTRE CE PRINCIPE : LA METHODE M GERE A1, A2, A3, A4, A5. A1, A2, A3 SONT DANS LA CLASSE C1. A4 EST DANS LA CLASSE C2. A5 EST DANS LA CLASSE C3. ON PLACERA M DANS C1. ON PLACERA M DANS C1. ON PLACERA DEUX METHODES GET DANS C2 ET C3 POUR A4 ET A5 ON PLACERA DEUX METHODES GET DANS C2 ET C3 POUR A4 ET A5 2. COMMENT PLACER LES METHODES ?
C1 A1 A2 A3 RefC2 RefC3 M C2 A4 GET A4 C3 A5 GET A5 REMARQUE : DANS LE CAS PARTICULIER OU LE NOMBRE MAXIMUM DATTRIBUTS GERES EST IDENTIQUE DANS DEUX CLASSES, LE CHOIX EST BIEN EVIDEMMENT LAISSE AU CONCEPTEUR EN FONCTION DE LA NATURE DES ATTRIBUTS.
POUR GARANTIR LE RESPECT DE CE PRINCIPE ET TROUVER TOUTES LES METHODES FOURNIR NECESSAIRES, NOUS PROPOSONS UN ALGORITHME SPECIFIQUE APPELE : ALGORITHME DE COMPOSITION. POUR GARANTIR LE RESPECT DE CE PRINCIPE ET TROUVER TOUTES LES METHODES FOURNIR NECESSAIRES, NOUS PROPOSONS UN ALGORITHME SPECIFIQUE APPELE : ALGORITHME DE COMPOSITION. 2. COMMENT PLACER LES METHODES ?
LE POINT LE PLUS DELICAT RESTE CELUI DU RECENSEMENT DES METHODES ET SUR CE POINT SEULE LAPPROCHE EVENEMENTIELLE NOUS PARAIT REALISTE. LE POINT LE PLUS DELICAT RESTE CELUI DU RECENSEMENT DES METHODES ET SUR CE POINT SEULE LAPPROCHE EVENEMENTIELLE NOUS PARAIT REALISTE. LETUDE FONCTIONNELLE SE CONCRETISE PAR UN DIAGRAMME DE CLASSES FINAL (DCF), QUI CONTIENT TOUS LES ATTRIBUTS, TOUTES LES METHODES DU DIAGRAMME DE METHODES, TOUTES LES METHODES GET ET DANS CERTAINS CAS DES RELATIONS SUPPLEMENTAIRES. LETUDE FONCTIONNELLE SE CONCRETISE PAR UN DIAGRAMME DE CLASSES FINAL (DCF), QUI CONTIENT TOUS LES ATTRIBUTS, TOUTES LES METHODES DU DIAGRAMME DE METHODES, TOUTES LES METHODES GET ET DANS CERTAINS CAS DES RELATIONS SUPPLEMENTAIRES. NOUS VERRONS ULTERIEUREMENT QUE LETUDE DYNAMIQUE FAIT APPARAITRE DE NOUVELLES METHODES, NECESSAIRES POUR RESOUDRE CERTAINS TYPES DE DECLENCHEMENT. NOUS VERRONS ULTERIEUREMENT QUE LETUDE DYNAMIQUE FAIT APPARAITRE DE NOUVELLES METHODES, NECESSAIRES POUR RESOUDRE CERTAINS TYPES DE DECLENCHEMENT. CONCLUSION CONCLUSION