Présentation du défi

Étude de cas : créer des logiciels en Python

Mark Pedigo, PhD

Principal Data Scientist

Qu'est-ce qu'une étude de cas ?

  • Appliquer vos acquis à un problème réel
  • Cours préalables
    • Principes d'ingénierie logicielle en Python
    • Programmation orientée objet intermédiaire en Python

Deux personnes en réunion discutant d'une étude de cas

Étude de cas : créer des logiciels en Python

Scénario d'étude de cas

Déterminer l'hypothèque pour des maisons neuves

  • Agent de prêts chez PyBank Financial
  • Créer un programme pour
    • Déterminer le budget maison
    • Déterminer le paiement mensuel
  • Avertissement : à des fins illustratives seulement

loan_officer.jpg

Étude de cas : créer des logiciels en Python

Plan d'action

  • Logiciel automatisant les calculs
  • En appliquant des principes d'ingénierie logicielle, basés sur des classes
  • Étapes
    • Calculatrice de base
      • +, -, *, /, **
    • Calculatrice financière
      • Calculer intérêts, taux d'intérêt
    • Calculatrice hypothécaire
      • Calculer montant du prêt, remboursements

Trois calculatrices, de taille croissante

Étude de cas : créer des logiciels en Python

Héritage

Le code est réutilisé entre les classes

  • La classe enfant (FinancialCalculator) hérite de toutes les fonctionnalités de la classe parente (BasicCalculator)
  • La classe enfant peut ajouter des fonctionnalités
class BasicCalculator:
    def multiply(self, x, y):
        result = x * y
        return result
  ...
# Child of BasicCalculator
class FinancialCalculator(BasicCalculator):
    def months_from_years(self, years):
        # Inherits the .multiply() method
        return self.multiply(years, 12)
    ...
Étude de cas : créer des logiciels en Python

Rappel des principes d'ingénierie logicielle

  • Code modulaire, clair, lisible, efficace
    • Héritage, méthodes
  • Tirer parti de bibliothèques, cadres de développement et solutions réutilisables
    • Modifier du code existant
    • Accélérer le développement
  • Documentation claire, commentaires, guides d'utilisation
    • Documentation
  • Tests
    • doctest et tests unitaires

Image d'un ordinateur entouré d'icônes représentant l'ingénierie logicielle

Étude de cas : créer des logiciels en Python

Feuille de route

Feuille de route présentant les différentes parties du projet.

Étude de cas : créer des logiciels en Python

Passons à la construction !

Étude de cas : créer des logiciels en Python

Preparing Video For Download...