15
Currency Converter LOG530 - Été 2012 Michaël Groulx Sylvain Michaud Antoine Morin Guillaume Sigouin 31 juillet

Currency Converter

  • Upload
    tayten

  • View
    140

  • Download
    1

Embed Size (px)

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

Page 1: Currency Converter

Currency ConverterLOG530 - Été 2012

Michaël GroulxSylvain Michaud

Antoine MorinGuillaume Sigouin

31 juillet 2012

Page 2: Currency Converter

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

Page 3: Currency Converter

Définitions préalables

• CSV : Comma-separated values = Valeurs séparées par des virgules.

• Toast : Une notification à l'utilisateur.

Page 4: Currency Converter

Présentation du système source

Page 5: Currency Converter

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

Page 6: Currency Converter

Diagramme de classe

classes en lien avec l'interface utilisateur

classes indépendantes de l'interface utilisateur

classes définies dans des librairies externes

Page 7: Currency Converter

Organisation relationnelle

Classes principales de l'application

Page 8: Currency Converter

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)

Page 9: Currency Converter

É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

Page 10: Currency Converter

Démonstration du système mobile

Page 11: Currency Converter

Démonstration

• Cas d'utilisation 1 : Convertir 600 $ canadien en franc suisse.

• Cas d'utilisation 2 : Convertir 2000 $ canadien en livre sterling.

Page 12: Currency Converter

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

Page 13: Currency Converter

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

Page 14: Currency Converter

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)

Page 15: Currency Converter

Questions