Introduktion till fallstudien

Fallstudie: Bygga programvara i Python

Mark Pedigo, PhD

Principal Data Scientist

Vad är en fallstudie?

  • Tillämpa befintliga kunskaper på ett verkligt problem
  • Förkunskapskurser
    • Software Engineering Principles in Python
    • Intermediate Object-Oriented Programming in Python

Två personer på ett möte som diskuterar en fallstudie

Fallstudie: Bygga programvara i Python

Fallstudiens scenario

Beräkna bolån för nya bostäder

  • Lånehandläggare för PyBank Financial
  • Bygg ett program som
    • Beräknar bostadsbudget
    • Beräknar månadsbetalning
  • Ansvarsfriskrivning: Endast i illustrativt syfte

loan_officer.jpg

Fallstudie: Bygga programvara i Python

Handlingsplan

  • Mjukvara som automatiserar beräkningarna
  • Baserad på mjukvaruutvecklingsprinciper och klasser
  • Steg
    • Grundläggande kalkylator
      • +, -, *, /, **
    • Finansiell kalkylator
      • Beräknar ränta, räntesats
    • Bolånekalkylator
      • Beräknar lånebelopp, återbetalningar

Tre kalkylatorer i ökande storlek

Fallstudie: Bygga programvara i Python

Arv

Kod återanvänds mellan klasser

  • Barnklassen (FinancialCalculator) ärver all funktionalitet från föräldraklassen (BasicCalculator)
  • Barnklassen kan implementera ytterligare funktionalitet
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)
    ...
Fallstudie: Bygga programvara i Python

Genomgång av mjukvaruutvecklingsprinciper

  • Modulär, ren, läsbar och effektiv kod
    • Arv, metoder
  • Återanvändbara bibliotek, ramverk och befintliga lösningar
    • Modifiera befintlig kod
    • Effektivisera utvecklingen
  • Tydlig dokumentation, kodkommentarer och användningsguider
    • Dokumentation
  • Testning
    • doctest och enhetstestning

En bild av en dator omgiven av ikoner som representerar mjukvaruutveckling

Fallstudie: Bygga programvara i Python

Vägkarta

Vägkarta som visar projektets olika delar.

Fallstudie: Bygga programvara i Python

Nu bygger vi!

Fallstudie: Bygga programvara i Python

Preparing Video For Download...