Currency Converter

Preview:

DESCRIPTION

31 juillet 2012. Currency Converter. LOG530 - Été 2012 Michaël Groulx Sylvain Michaud Antoine Morin Guillaume Sigouin. Plan de la présentation. Présentation du système source Rétro-ingénierie et architecture Diagramme de classes Organisation relationnelle Analyse Étapes d'ingénierie - PowerPoint PPT Presentation

Citation preview

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

Recommended