Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Développement d’applications interactives
Cours 3
2
Plan Retour sur le TD Les exceptions UML Patrons de conception
Modificateurs d’accès Ex: propriétés, private vs protected Javadoc Héritage, interfaces, classes abstraites, polymorphisme Les exceptions UML Patrons de conception
3
Une interface ou l’interface?
4
Les exceptions Erreurs se produisant à l’exécution, ne peuvent être décelées par le compilateur Les exceptions se propagent(remontent) la hiérarchie d’appel Try, catch, finally 2 types Vérifiées (Checked) Non-vérifiées (Unchecked) Documentation avec Javadoc! Seulement les Celles que vous générez ou que vous attrapez pour les propager sous une autre forme Ex: Un paramètre reçu peut générer NullPointerException, mais vous retournez InvalidArgumentException(“Le paramètre X ne peut être null”)
5
Les exceptions vérifiées
FileNotFound Les méthodes expriment explicitement si elles génèrent une exception: throws Le code appelant a la responsabilité d’attraper l’exception ou de la propager On peut attraper différentes exceptions, mais l’ordre des catch est important
6
Les exceptions non-vérifiées
NullPointerException Ne sont pas exprimée explicitement Le code appelant ne doit pas nécessairement l’attraper
7
Les exceptions personnalisées
Il est possible d’hériter de la classe Exception pour implémenter des exceptions personnalisées throw CustomException(“Context and description of the exception”) Si on crée une exception personnalisée suite au catch d’une autre exception, il faut privilégier le constructeur: new CustomException(“Message”, otherException) Permet de conserver le context initial
8
Les exceptions Piège à éviter:
9
Les exceptions
10
Les exception: Exercice
Ajouter des exceptions personnalisées dans le TD setName -> EmptyNameException setAge -> negativeAgeException
11
UML Unified Modeling Language
1995: Rumbaugh, Jacobson, Booch Standard pour la modélisation et représentation des composants et systèmes logiciels Géré par l’OMG, approuvé par ISO V2.5, SysML Sous-ensemble d’UML spécialisé pour la conception système (processus, intéractions etc.)
12
UML La modélisation permet de concevoir le logiciel avant la codification, tout comme un architecte fait un plan avant de construire une maison Vue d’ensemble Planifier la robustesse, sécurité et maintenabilité Facilite les échanges Les modèles doivent être maintenus à jour Réduit le risque d’échec ou du moins sa portée...
13
UML Explique, documente, visualise le système/logiciel
Indépendant de la technologie utilisée Supporte la modélisation orientée objet ou procédurale Possible de générer le code suite à la modélisation, mais les outils sont coûteux! Indépendant de la méthodologie/processus de développement Peut être intégré facilement dans un processus existant
14
Diagrammes UML Comportement Structure Ce doit doit se passer
Processus opérationnel ou d’affaires Activity, State Machine, Use Case Interactions Interactions entre les objets/composants Sequence, Communication, Timing, Interaction Overview Structure Architecture du système Représente les éléments présents dans le système, sans relation avec le temps Class, Object, Component, Composite Structure, Package, Deployment
15
Diagrammes UML
16
Diagramme des cas d’utilisation (Use Case)
Une unité de fonctionnalité Les besoins fonctionnels de système et leurs relations entre eux OU les acteurs (utilisateurs) Vue d’ensemble ou seulement d’un sous- ensemble des fonctionnalités Qui fait quoi ou ne fait pas quoi Vocabulaire Acteurs Use case: verbe, chronologie de haut en bas Extend: ajout de fonctionnalité Include: Réutilisation de fonctionnalité Héritage: relation est un, est comme
17
Diagramme de classes Structure et relations entre les entités
Modèle du domaine: haut niveau Diagramme d’implémentation: classes logicielles
18
Diagramme de classes Relations: static est souligné
abstract est italique <<interface>> sont annotées Classe contient: Nom Membres Méthodes Modificateurs d’accès +, public -, private #, protected ~, package (default en Java) /, dérivé Hiérarchie Multiplicités:
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.