currency converter
Post on 23-Feb-2016
139 Views
Preview:
DESCRIPTION
TRANSCRIPT
Currency ConverterLOG530 - Été 2012
Michaël GroulxSylvain Michaud
Antoine MorinGuillaume Sigouin
31 juillet 2012
Plan de la présentation• Présentation du système source
o Rétro-ingénierie et architectureo Diagramme de classeso Organisation relationnelleo Analyse
• Étapes d'ingénierie
• Présentation du système mobileo Démonstrationo Avantages et inconvénientso Améliorations possibles
• Conclusiono Difficultés rencontréeso Leçon apprise
• Questions
Définitions préalables
• CSV : Comma-separated values = Valeurs séparées par des virgules.
• Toast : Une notification à l'utilisateur.
Présentation du système source
Rétro-ingénierie et architecture
Rétro-ingénierie pour récupérer l'architecture
Trois étapes :o Décompilation avec DJ Java Decompilero Diagramme de classe avec Eldean ESS-Modelo Organisation relationnelle avec Structure 101
Diagramme de classe
classes en lien avec l'interface utilisateur
classes indépendantes de l'interface utilisateur
classes définies dans des librairies externes
Organisation relationnelle
Classes principales de l'application
Analyse
• Utilisation de composantes Swing
• Présence de code puanto Quatre Data Class (classes ne contenant que des get/set)
o Une Schizophrenic Class (multiples abstractions)
o Plusieurs Long Method (code très volumineux)
• Utilisation de librairies externeso appframework-1.0.3 (simplification de Swing)
o swing-worker-1.1 (gestion des fils d'exécution)
Étapes d'ingénierie
• Code smell: Long Methodo Corrigé par le refactoring Extract Method
• Remplacement des Data Class• Réutilisation de code• Patron Most valuable first
Démonstration du système mobile
Démonstration
• Cas d'utilisation 1 : Convertir 600 $ canadien en franc suisse.
• Cas d'utilisation 2 : Convertir 2000 $ canadien en livre sterling.
Avantages et inconvénients
Avantages :• Consultation possible partout et en tout
temps• Extensibilité du cadriciel Android• Frais de commercialisation peu élevés• Maintenance améliorée
Inconvénients :• Multitude de téléphones Android• Non disponible sur d'autres plateformes
Améliorations possibles
• Utilisation de la géolocalisation• Affichage des valeurs des devises• Historique des valeurs des devises• Personnalisation de l'interface• Personnalisation de la mise à jour des
devises automatique
Conclusion
Difficultés rencontrées :• Le code source n'était pas fourni
• L'ajout d'images dans un Spinner est complexe
• Conversion des devises en fonction du nombre de décimal
• Temps d'adaptation à l'environnement de développement
Leçon apprise :• Pas toujours réutiliser le code (Exemple : fichier CSV)
Questions
top related