La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 1 CONCEPTION DES LOGICIELS : Chapitre 1 GÉNÉRALITÉS – OBJECTIFS.

Présentations similaires


Présentation au sujet: "J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 1 CONCEPTION DES LOGICIELS : Chapitre 1 GÉNÉRALITÉS – OBJECTIFS."— Transcription de la présentation:

1 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 1 CONCEPTION DES LOGICIELS : Chapitre 1 GÉNÉRALITÉS – OBJECTIFS Modéliser pour comprendre

2 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 2 Plan du chapitre Les acteurs et les processus impliqués dans larchitecture Comment poser et résoudre le problème de larchitecte Organisation des entités architecturales - Notion de « pattern » darchitecture Larchitecture au quotidien : Nature du travail effectué par le concepteur dapplication

3 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 3 1 ère partie Les acteurs et les processus impliqués dans larchitecture

4 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 4 INTERACTIONS Les acteurs majeurs de la conception Organisation de développement Organisation du MCO Organisation cible Usagers du système Organisation cible Usagers du système Complexité intrinsèque du système + maturité des technologies + maturité CMM/SE-CMM Maturité des acteurs métiers Maturité des exploitants + QOS (contrat de service) FURP SE QOS Acteurs développement Acteurs exploitation/support Acteurs usagers du SI

5 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 5 Architecte industriel Urbanisation Les acteurs du développement Maîtrise douvrage MOA Maîtrise dœuvre MOE Sous-traitant de niveau 1 Sous-traitant de niveau 2 Analyse de la valeur, Gestion de risques, Contrat de service des usagers et Assurance qualité globale (recette), Expression de besoin et exigences comportementales Management de la réalisation en terme CQFD tel que fixé par la MOA, Méthodologie de développement, Choix des plates-formes, Architecture informatique, Intégration Validation Vérification et Tests (IVVT) système, Garantie qualité globale (engagement) Chaque sous-traitant sengage sur la qualité de la réalisation qui le concerne (Appels doffres et contrats à prix fixes), vis à vis du MOE Chef de projet Développeur

6 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 6 Caractéristiques qualité du logiciel : FURPSE et lorganisation Cf. Norme ISO/CEI 9126 (AFNOR Z67-133) – Évaluation des produits logiciels F U R P S E Exigences fonctionnelles à développer Exigences non fonctionnelles caractéristiques des besoins et exigences de l organisation cible usager + exploitant, en particulier lexploitation du SI ( facilité dutilisation, fiabilité et rendement ) Exigences non fonctionnelles caractéristiques des besoins et exigences de l organisation du MCO ( maintenabilité et évolutivité du SI) + contrat de service (QOS)

7 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 7 Compatibilité ascendante des versions successives La vision temporelle : le cycle de vie (1/2) Faisabilité Définition Développement et MCORetrait Version N°1 Version N°2Exploitation Version N°nExploitation N Cycles de Développement – Exploitation - Maintenance Prototype Expérimentation Réalisation de prototypes Validation fonctionnelle et non fonctionnelle au sens informatique Validation fonctionnelle et comportements exigés en termes métier de la cible Dominante MCO Dominante développement Exploitation Vérification de la bonne prise en compte des règles architecturales au sein des projets (Revues + Inspections) Réalisation de maquettes Grande variété de types de projets selon la nature des activités et « lage » du système

8 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 8 La vision temporelle : le cycle de vie (2/2) Expression de besoin et exigences Exploitation et support Processus de conception Processus de développement Assurance qualité et activités transverses AQ EB/EC (Spécification fonctionnelles) CG CD P/TU VVT Mesure de la qualité de service Mesure de la maturité de lEB/EC Défauts détectés Défauts propagés Défauts ajoutés Conception générale Conception détaillée Programmation et tests unitaires Intégration (IVV&T) Implémentation Mesure du taux derreurs résiduelles Nombre de RA/AC Mesure de la maturité (i.e. contrat de service) en exploitation Temps Processus de spécification QOS Référentiel produit : EB/EC+CG+CD+T/TU+VVT

9 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 9 La vision systémique de la conception : les rétroactions Expression de besoin et exigences Exploitation et support Assurance qualité et activités transverses AQ EB/EC - STB (Spécification fonctionnelles) CG CD P/TU VVT Conception générale Conception détaillée Programmation et tests unitaires Intégration (VV&T) Flux de Rapport dAnomalies - RA

10 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 10 Articulation des modèles – Qualité de linformation Processus informatisés Contraintes ergonomiques Pragmatique Sémantique Règles de typage Syntaxe du type Sémantique du type (règles dinterprétation) Cohérence des processus Cohérence informatique Intégrité du modèle de données Caractéristiques non fonctionnelles (cf. ISO FURPSE) Architecture Cohérence de linformation Processus métier Flux Cohérence globale du SI DONNÉES

11 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 11 Modèle générique de processus métier et/ou informatique PE PI Contrôles entréesContrôles sorties Tâches et/ou activités à effectuer (i.e. fonctions et/ou actions transformant les flux) Validation Vérification Test (VVT) Stock de ressources nécessaires au processus Domaine des valeurs en entrée Domaine des valeurs en sortie Allocation Restitution Flux déchanges Flux de contrôles Flux déchanges Flux de ressources allouées/restituées Protocole Pilote Externe Pilote Interne Résultats du processus Données du processus Contrôle

12 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 12 Aspect qualité des tâches - FURPSE TÂCHES ACTIVITÉS FURPSEFURPSE EntréeRésultat Avec quelles ressources additionnelles ? Délai de restitution des résultats « COMMENT » : avec quelle qualité de service ( QOS ) ; pour quelle FINALITÉ Pour « QUI » : identification précise de lacteur pour qui la transformation est faite PI Le « QUOI » : ce que ça fait ; nature de la transformation Le « QUAND » : conditions de déclenchement ; événements générateurs « COMBIEN » : durée de vie, pérennité du besoin auquel répond la transformation

13 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 13 Complexité des modèles et traçabilité Réalité CONTRÔLE DONNÉES FONCTIONS Abstractions fonctionnelles FLUX PROCESSUS PILOTAGE Abstractions intermédiaire s Abstractions exécutables « MACHINERIE » métiers Pièges : Imaginer que le FONCTIONNEL métier se projette 1 1 sur les ENTITÉS ARCHITECTURALES (Cf. méthode RAD utilisée hors contexte) et que la notation suffit à rendre le complexe intelligible Abstractions tirées de lanalyse de la réalité « MACHINERIE » informatique Correspondance complexe

14 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 14 Traduction du besoin

15 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 15 2 ème partie Comment poser et résoudre le problème de larchitecte

16 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 16 Une définition de larchitecture La conception est terminée lorsque chacun des acteurs du développement sait ce qu'il a à faire, pourquoi il le fait et comment il doit le faire (i.e. les contraintes du modèle CQFD sont satisfaites) 2 aspects : Répartition individuelle des tâches Répartition collective des tâches

17 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 17 Décisions et choix darchitecture optimisés sur la prévention Anticiper les risques contrôle du coût dintégration Niveau de parallélisme dans le processus dintégration contrôle du coût dexploitation Réduire les temps de latence Erreur Défaut Défaillance contrôle du coût dévolution Interfaces ouvertes et compatibilité ascendante Automatiser la vérification Tests « en-ligne » intégrés au code et gérés comme le code Activation sur événements

18 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 18 Critères doptimalité Minimiser le nombre de fonctions, et le volume de code correspondant Le nombre de défauts est une fonction croissante du volume de code Ratio de linstrumentation par rapport au fonctionnel Doser la redondance Topologie des ensembles {Fonctions} et {Données} Ensembles denses, correctement partitionnés Distance dobservation Chemin parcouru entre deux points dobservation ; dépendances fonctionnelles

19 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 19 Le problème de larchitecte (1/2) Traduire le besoin métier de lorganisation cible Cest une représentation en extension dun premier modèle (en UML, ce sont les cas demploi / use case ) En entités informatiques : données instructions/fonctions enchaînements/contrôles Cest une représentation en intention dun second modèle qui matérialise la compréhension de larchitecte un algorithme Un assemblage dalgorithmes (intégration) Objet

20 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 20 Le problème de larchitecte (2/2) A partir des informations résultant de lexpression des besoins et des exigences comportementales (transformations des flux informationnels), larchitecte doit découvrir la « bonne » représentation de/des fonctions transformatrices correspondantes, soit par réutilisation et assemblage déléments préexistants : Bibliothèque de composants (« Design pattern » ou schémas de programmes) Bibliothèques dalgorithmes soit par invention dun algorithme ad hoc qui satisfont le mieux les caractéristiques FURPSE (compromis CQFD)

21 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 21 Propriétés dune bonne traduction Le résultat de la traduction opérée par larchitecte doit être : Fidèle (traçabilité métier informatique) Consistante (sans contradiction, déterministe) Complète (sans omission, ni répétition) Raisonnablement compacte (taille du programme) et économe en ressources de traitement (performance) Compréhensible par des tiers qui nont pas participé à son élaboration (facilité demploi, maintenabilité) Adaptable à de nouveaux besoins (évolutivité)

22 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 22 Les styles de programmation Flux / Phénomène entrant - E Flux / Phénomène résultant - R e e e e e r r r r r r r r f f f f Représentation sagittale de la correspondance E R e e e e e r r r r r r r r Algorithme Programmation au cas par cas, dont la cardinalité est celle de lensemble des, soit : Programmation par algorithme (abstraction dun cas général) + qq. Cas particulier à titre dexception ; Minimise la quantité dinformation.

23 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 23 Extension et intention dune fonction (1/5) Flux / Phénomène entrant - E Flux / Phénomène résultant - R e e e e e r r r r r r r r f f f f Représentation sagittale de la correspondance E R Représentation cartésienne e 1 e 2 e 3 e y e n r1r2r3rxrmr1r2r3rxrm Les cases de la matrice avec représente l extension de f Cest une table de correspondance (très facile à programmer) Les deux représentation sont duales lune de lautre (elles signifient la même chose) ; lune peut se représenter par une procédure de traitement, lautre par une simple table/fichier (qui peut être de très grand volume) Dualité INSTRUCTIONS / DONNÉES constitutive du modèle de Von Neumann

24 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 24 Extension et intention dune fonction (2/5) Il existe des cas où la représentation en extension peut être remplacée par un procédé de calcul quand on dispose dun algorithme : cest la représentation en intention Obtention de lextension par mesure et/ou expérience Arc de longueur x La représentation en intention est généralement beaucoup plus compacte, mais elle nécessite une grande puissance de calcul pour obtenir les résultats (i.e. la représentation en extension qui seule intéresse lingénieur)

25 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 25 3 ème partie Organisation des entités architecturales Notion de « pattern » darchitecture

26 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 26 Articulation des 3 niveaux dintégration des systèmes informatiques IHMFonctionsDonnées Communications via mécanismes OS Autres applications 1 Application – N Composants Communications inter-applications Autres systèmes Appli N°1 Appli N°2 Appli N°n 1 Système – N Applications Bus interopérabilité EAI, IAI, … S1S2Sn N Systèmes fédérés - INTEROPÉRABILITÉ Périmètre de l application sous contrôle strict de lOS plate-forme Périmètre du système sous contrôle de règles de communication Périmètre de la fédération de systèmes sous contrôle de règles dinteropérabilité Approche Client-Serveur structurée par niveau dintégration Interopérabilité RAS Modèle des données non persistantes de lapplication (communications par la mémoire) Modèle des données persistantes de lapplication Traces, historiques, etc.

27 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 27 Modèle de composant intégrable Composant intégrable Ressources Données privées Données partagées Statiques Dynamiques Hiérarchie et niveaux de partage Flux dévénements non séquentiels Flux nominal en entrée Flux dévénements non séquentiels Flux nominal en sortie Nomenclature, caractéristiques, partage, etc. Stimulus en ENTRÉE Nombre de points dentrée Stimulus en SORTIE Nombre de points de sortie (y compris les sorties anormales) Aspects comportementaux Fiabilité Performance du composant (qualité de service) Capacity planning System management Maintenabilité du composant Données

28 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 28 4 ème partie Larchitecture au quotidien : Nature du travail effectué par le concepteur dapplication

29 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 29 Les 3 contraintes de la conception Contraintes architecturales liées à la nature du produit logiciel à réaliser et à son contexte demploi ( FURPSE ) Contraintes technologiques liées à la qualité des matériaux, aux méthodes et aux outils disponibles pour «usiner» les matériaux Données Algorithmes de transformation des données Contrôles (séquentiels, non séquentiels, par messages et évènements, etc.) Contraintes organisationnelles et humaines liées à la compétence et à l'expérience des individus, des équipes et des organisations Courbes de maturité et expérience ; modèles de maturité CMM, ISO15504 SPICE Construction des «OBJETS »

30 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 30 Contraintes techniques (Liées à la nature de lapplication)

31 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 31 Contraintes technologiques Données Mémoire centrale (non persistante) : variables scalaires et agrégats, typage fort, modèles objets Mémoire persistante : fichiers (séquentiels, indexés, …), bases de données (Réseau/NDL, Relationnel/SQL, OBJET) Algorithmes Langages impératifs classiques : FORTRAN, COBOL, Ada, C… Langages objets : C++, JAVA, … Langages fonctionnels (diffusion anecdotique) Enchaînement/Contrôle des processus/traitements Langages de commandes (au niveau du système dexploitation) : JCL constructeurs, Shell UNIX, Langage PERL, … Moniteurs : « Batch », transactionnel, temps-réel

32 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 32 Les étapes de la conception (1/4) Notion de système englobant Le logiciel fait nécessairement partie dun ensemble plus vaste qui détermine tout ou partie des comportements attendus (contraintes) Systèmes dinformation ; systèmes informatisés ; systèmes hybrides Notion de modèle C'est une représentation abstraite rigoureuse de tout ou partie d'un système en vue d'en étudier le comportement. L'étude peut être : Qualitative : existence de telle ou telle propriété Le système est-il stable ? Quantitative : on sait associer une mesure à la propriété Quel et le temps de réponse moyen? Quelques mots clés Représentation abstraite : syntaxe, sémantique, pragmatique Isomorphisme / homomorphisme : règles de correspondance qui relie le modèle à la réalité, doù : fidélité vérification, validation, test Observable : état du système qui a un sens par rapport à la réalité (observateur)

33 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 33 Les étapes de la conception (2/4) Intérêts des modèles Pouvoir d anticipation : c'est la capacité à prédire Détection et contrôle Contrôle aérien et spatial, météo… Pouvoir d accélération : le modèle va plus vite que la réalité Calcul numérique, simulation, recherches sur critères… Aides à la décision ; magasin de données ; données cartographiques ; etc. Pouvoir de substitution : on remplace la réalité par un modèle Un conducteur de train Le modèle prend toutes les décisions à la place du conducteur Les comptables et employés aux écritures dans les banques Système d'information Tout système informatique est, par définition, un modèle

34 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 34 Les étapes de la conception (3/4) Ces étapes indiquent un cheminement, une progression ( i.e. une méthode, au sens littéral du terme ), et non pas une séquence dactivités nettement séparées

35 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 35 Les étapes de la conception (4/4)

36 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 36 Cycle de vie et traçabilité des modèles architecturaux SAVOIR-FAIRE DE L'ARCHITECTE SAVOIR-FAIRE DE L'ARCHITECTE RÉALITÉ MÉTIER RÉALITÉ MÉTIER MODÈLE(s) CONCEPTUEL(s) MÉTIERS MODÈLE(s) CONCEPTUEL(s) MÉTIERS MODÈLE(s) LOGIQUE(s) selon niveau MODÈLE(s) LOGIQUE(s) selon niveau Formulation des règles d'architecture (axiomatique du/des modèles) Raisonnements par déduction. Critères de cohérence logique et dévolutivité (puissance du modèle) Analogie avec d'autres modèles Vérification expérimentale de la validité du modèle logique, en particulier le comportement (sûreté, performance) Description et mise en forme des éléments stables de la réalité Critères de fidélité et de précision ; rigueur Raisonnements par induction et généralisation Critères de simplicité et d'élégance (concision) Recueil d'information métiers et élaboration des scénarios Évolutions et adaptations Réutilisation de lexistant COMPROMIS Sens normal de la progression !!! Linverse peut conduire à des systèmes qui ne satisfont pas le métier

37 J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 37 But de l'architecture - Synthèse Trouver « dans les délais impartis » le meilleur compromis économique CQFD entre : Coûts de fabrication ( court terme ) Permettre le travail en parallèle des différents acteurs et/ou projets Isolation, confinement Hiérarchie d'interfaces et services généraux Coûts d'exploitation ( moyen terme ) Puissance nécessaire au bon fonctionnement de l'architecture Certains mécanismes sont très coûteux (attention aux ressources lentes, en particulier les entrées-sorties, les réseaux) Puissance utile aux applications des utilisateurs et des usagers (temps de réponse, délai de restitution des résultats) Administration et qualité du service ( QOS : entretien et mise à jour, sûreté de fonctionnement, sécurité) Durée de vie ( long terme ) Permettre les évolutions/adaptations à coût marginal sur une longue période Croissance du modèle initial C'est un jeu à somme nulle


Télécharger ppt "J.Printz / CNAM - CMSL / Conception des logiciels – chapitre 1 - Généralités / Vers. 5.6Page 1 CONCEPTION DES LOGICIELS : Chapitre 1 GÉNÉRALITÉS – OBJECTIFS."

Présentations similaires


Annonces Google