Představení výzvy

Případová studie: Tvorba softwaru v Pythonu

Mark Pedigo, PhD

Principal Data Scientist

Co je případová studie?

  • Uplatnění existujících dovedností na reálném problému
  • Předchozí kurzy
    • Software Engineering Principles in Python
    • Intermediate Object-Oriented Programming in Python

Dva lidé na schůzce diskutující o případové studii

Případová studie: Tvorba softwaru v Pythonu

Scénář případové studie

Stanovení hypotéky pro nové domy

  • Úvěrový poradce pro PyBank Financial
  • Vytvořte program pro
    • Stanovení výdajů na bydlení
    • Výpočet měsíční splátky
  • Upozornění: Pouze ilustrativní účely

loan_officer.jpg

Případová studie: Tvorba softwaru v Pythonu

Plán postupu

  • Software automatizující výpočty
  • Na principech softwarového inženýrství, na základě tříd
  • Fáze
    • Základní kalkulačka
      • +, -, *, /, **
    • Finanční kalkulačka
      • Výpočet úroku a úrokové sazby
    • Hypoteční kalkulačka
      • Výpočet výše úvěru a splátek

Tři kalkulačky, postupně se zvětšující

Případová studie: Tvorba softwaru v Pythonu

Dědičnost

Kód je sdílen mezi třídami

  • Podřízená třída (FinancialCalculator) dědí veškerou funkcionalitu od nadřízené třídy (BasicCalculator)
  • Podřízená třída může implementovat další funkcionalitu
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)
    ...
Případová studie: Tvorba softwaru v Pythonu

Přehled principů softwarového inženýrství

  • Modulární, čistý, čitelný a efektivní kód
    • Dědičnost, metody
  • Využití knihoven, frameworků a existujících řešení
    • Úprava existujícího kódu
    • Zrychlení vývoje
  • Přehledná dokumentace, komentáře, návody
    • Dokumentace
  • Testování
    • doctest a jednotkové testování

Počítač obklopený ikonami představujícími softwarové inženýrství

Případová studie: Tvorba softwaru v Pythonu

Plán projektu

Plán projektu znázorňující jednotlivé části.

Případová studie: Tvorba softwaru v Pythonu

Pojďme budovat!

Případová studie: Tvorba softwaru v Pythonu

Preparing Video For Download...