UML Ou Merise)
Total Page:16
File Type:pdf, Size:1020Kb
Présenté par : M. Bouderbala Promotion : 3ème Année LMD Informatique / Semestre N°5 Etablissement : Centre Universitaire de Relizane Année Universitaire : 2020/2021 Elaboré par M.Bouderbala / CUR 1 Elaboré par M.Bouderbala / CUR 2 Croquis, maquette et prototype et après …? Elaboré par M.Bouderbala / CUR 3 système interactif vs. système algorithmique Système algorithmique (fermé) : lit des entrées, calcule, produit un résultat il y a un état final Système interactif (ouvert) : évènements provenant de l’extérieur boucle infinie, non déterministe Elaboré par M.Bouderbala / CUR 4 Problème Nous avons appris à programmer des algorithmes (la partie “calcul”) La plupart des langages de programmation (C, C++, Java, Lisp, Scheme, Ada, Pascal, Fortran, Cobol, ...) sont conçus pour écrire des algorithmes, pas des systèmes interactifs Elaboré par M.Bouderbala / CUR 5 Les Bibliothèques graphique Un widget toolkit ( Boite d'outil de composant d'interface graphique) est une bibliothèque logicielle destinée à concevoir des interfaces graphiques. Fonctionnalités pour faciliter la programmation d’applications graphiques interactives (et gérer les entrées) Windows : MFC (Microsoft Foundation Class), Windows Forms (NET Framework) Mac OS X : Cocoa Unix/Linux : Motif Multiplateforme : Java AWT/Swing, QT, GTK Elaboré par M.Bouderbala / CUR 6 Bibliothèque graphique Une Bibliothèque graphique est une bibliothèque logicielle spécialisée dans les fonctions graphiques. Elle permet d'ajouter des fonctions graphiques à un programme. Ces fonctions sont classables en trois types qui sont apparus dans cet ordre chronologique et de complexité croissante : 1. Les bibliothèques de tracé d'éléments 2D 2. Les bibliothèques d'interface utilisateur 3. Les bibliothèques 3D Elaboré par M.Bouderbala / CUR 7 Les bibliothèques de tracé d'éléments 2D Ces bibliothèques sont également dites bas niveau. Elles permettent de tracer les éléments graphiques de base que sont les lignes, les polygones et d'afficher des pixels ce qui permet d'afficher des icônes et des images. Les bibliothèques graphiques peuvent communiquer directement avec le matériel c’est-à-dire la mémoire vidéo ou une carte graphique ou bien utiliser un pilote. La bibliothèque X Window System sous Unix est typiquement une bibliothèque dédiée principalement à ce type de fonctions. Certains anciens langages comme le BASIC comprenaient des fonctions graphiques comme partie intégrante du langage. Elaboré par M.Bouderbala / CUR 8 Les bibliothèques d'interface utilisateur Les interfaces utilisateurs sont les éléments graphiques qui permettent à l'utilisateur d'interagir avec le programme. Apparues avec l'ordinateur Star de Xerox, elles sont maintenant la base de l'ergonomie des ordinateurs. Elles permettent de construire une représentation graphique au programme avec des fenêtres, boutons…etc Dans les bibliothèques d'interface utilisateur on peut citer Motif, Qt, GTK, GNOME, Win32. Elaboré par M.Bouderbala / CUR 9 Les bibliothèques 3D Apparues en dernier chronologiquement, les bibliothèques 3D permettent de faire de la synthèse d'image 3D c’est-à-dire de dessiner des éléments en volume. La première bibliothèque 3D était faite par Silicon Graphics : GL devenue OpenGL par la suite est l'une des plus connues avec DirectX de Microsoft. Les bibliothèques 3D actuelles tirent parti, quand elles le peuvent, des capacités des cartes accélératrices. Elaboré par M.Bouderbala / CUR 10 Quelque widget toolkits Elaboré par M.Bouderbala / CUR 11 Abstract Window Toolkit (AWT) Abstract Window Toolkit (AWT) est une bibliothèque graphique pour Java, faisant partie de Java Foundation Classes (JFC) qui est un Framework graphique pour Java composé de AWT, Swing et Java2D. Un framework désigne en programmation informatique un ensemble d'outils et de composants logiciels à la base d'un logiciel ou d'une application. C'est le framework, ou structure logicielle en français, qui établit les fondations d'un logiciel ou son squelette. AWT a été introduite dès les premières versions de Java ; depuis Java 2, la bibliothèque de gestion de fenêtre officielle est Swing. Toutefois, AWT sert encore de fondement à Swing, dans la mesure où de nombreuses classes Swing héritent de classes AWT. Elaboré par M.Bouderbala / CUR 12 Abstract Window Toolkit (AWT) Package java.awt : bas-niveau Ce package permet de : Créer des interfaces graphiques, Dessiner des graphiques, Dessiner des images, Gérer le placement. Elaboré par M.Bouderbala / CUR 13 Swing >>>>FX Swing est une bibliothèque graphique pour le langage de programmation Java, faisant partie du package Java Foundation Classes (JFC), inclus dans J2SE. Swing constitue l'une des principales évolutions apportées par Java 2 par rapport aux versions antérieures. Swing offre la possibilité de créer des interfaces graphiques identiques quel que soit le système d'exploitation sous-jacent, au prix de performances moindres qu'en utilisant Abstract Window Toolkit (AWT). Il utilise le principe Modèle-Vue-Contrôleur (MVC, les composants Swing jouent en fait le rôle de la vue au sens du MVC) et dispose de plusieurs choix d'apparence pour chacun des composants standards. Avec l'apparition de Java 8 en mars 2014, JavaFX devient la bibliothèque graphique officielle du langage Java, pour toutes les sortes d'application (applications mobiles, applications sur poste de travail, applications Web), le développement de son prédécesseur Swing étant abandonné (sauf pour les corrections de bogues). Elaboré par M.Bouderbala / CUR 14 Swing Package javax.swing : haut-niveau Ce package permet de : créer des interfaces graphiques, dessiner des graphiques, dessiner des images. Elaboré par M.Bouderbala / CUR 15 widget Recouvre deux notions distinctes en relation avec les interfaces graphiques : un composant d'interface graphique, un élément visuel d'une interface graphique (bouton, barre de défilement, liste déroulante, etc.), un widget interactif, un petit outil qui permet d'obtenir des informations (météo, actualité, dictionnaire, carte routière, pense-bête – en anglais post-it –, traducteur, etc.) ; Elaboré par M.Bouderbala / CUR 16 widget Elaboré par M.Bouderbala / CUR 17 les widgets de Swing Elaboré par M.Bouderbala / CUR 18 les widgets de Swing Elaboré par M.Bouderbala / CUR 19 Qt Qt est une API orientée objet et développée en C++ par Qt Development Frameworks, filiale de Digia. Qt offre des composants d'interface graphique (widgets), d'accès aux données, de connexions réseaux, de gestion des fils d'exécution, d'analyse XML, etc. ; Qt permet la portabilité des applications qui n'utilisent que ses composants par simple recompilation du code source. Les environnements supportés sont les Unix (dont GNU/Linux) qui utilisent le système graphique X Window System ou Wayland, Windows, Mac OS X et également Tizen. Le fait d'être une bibliothèque logicielle multiplateforme attire un grand nombre de personnes qui ont donc l'occasion de diffuser leurs programmes sur les principaux OS existants. Qt est notamment connu pour être le framework sur lequel repose l'environnement graphique KDE, l'un des environnements de bureau par défaut de plusieurs distributions GNU/Linux. Elaboré par M.Bouderbala / CUR 20 jQuery jQuery est une bibliothèque JavaScript libre et multi- plateforme créée pour faciliter l'écriture de scripts côté client dans le code HTML des pages web. Elle permet d'exploiter la puissance de JavaScript pour accomplir une myriade de choses géniales sur une page web; La première version est lancée en janvier 2006 par John Resig. La bibliothèque contient notamment les fonctionnalités suivantes : Ajouter, supprimer ou modifier des éléments HTML au sein de votre page. Changer les styles des éléments de la page en modifiant le CSS qui leur est associé. Animer des éléments de votre page. Et bien plus encore ! Elaboré par M.Bouderbala / CUR 21 jQuery Depuis sa création en 2006 et notamment à cause de la complexification croissante des interfaces Web, jQuery a connu un large succès auprès des développeurs Web et son apprentissage est aujourd'hui un des fondamentaux de la formation aux technologies du Web. Il est à l'heure actuelle le framework front-end le plus utilisé au monde (plus de la moitié des sites Internet en ligne intègrent jQuery). Elaboré par M.Bouderbala / CUR 22 Elaboré par M.Bouderbala / CUR 23 modélisation d'interfaces On a coutume de dire : « Un dessin vaut mieux qu'un beau discours » ; Réaliser un modèle, c'est avant tout dessiner ce que l'on a compris d'un problème dans une syntaxe précise (Ex: la syntaxe UML ou Merise). Un modèle va donc nous servir communiquer et échanger des points de vue afin d'avoir une compréhension commune et précise d'un même problème. Elaboré par M.Bouderbala / CUR 24 modélisation d'interfaces La représentation visuelle (schématique) des interactions entre l'utilisateur et la machine permet d'organiser l'accès à toutes les fonctions qui seront proposées par l'interface, facilitant ainsi la phase de conception logicielle. Il n'existe pas, à ce jour, de diagramme "officiel" dans le langage UML (Unified Modeling Langage) propre à la modélisation des IHM. Ci après on cite quelque modèles et outils pouvant pallier cette absence. Elaboré par M.Bouderbala / CUR 25 LA MODELISATION DYNAMIQUE SOUS UML UML: Le langage de modélisation unifié, de l'anglais Unified Modeling Language (UML), est un langage de modélisation graphique à base de pictogrammes conçu pour fournir une méthode normalisée pour visualiser la conception d'un système. Il est couramment