Przedstawienie wyzwania

Studium przypadku: tworzenie oprogramowania w Pythonie

Mark Pedigo, PhD

Principal Data Scientist

Czym jest studium przypadku?

  • Zastosowanie posiadanych umiejętności do rzeczywistego problemu
  • Kursy wymagane
    • Software Engineering Principles in Python
    • Intermediate Object-Oriented Programming in Python

Dwie osoby na spotkaniu omawiające studium przypadku

Studium przypadku: tworzenie oprogramowania w Pythonie

Scenariusz studium przypadku

Wyznaczanie kredytu hipotecznego dla nowych domów

  • Doradca kredytowy w PyBank Financial
  • Zbudowanie programu do
    • Wyznaczania wydatków na dom
    • Obliczania miesięcznej raty
  • Zastrzeżenie: wyłącznie do celów ilustracyjnych

loan_officer.jpg

Studium przypadku: tworzenie oprogramowania w Pythonie

Plan działania

  • Oprogramowanie automatyzujące obliczenia
  • Zgodne z zasadami inżynierii oprogramowania, oparte na klasach
  • Etapy
    • Kalkulator podstawowy
      • +, -, *, /, **
    • Kalkulator finansowy
      • Obliczanie odsetek i stopy procentowej
    • Kalkulator hipoteczny
      • Obliczanie kwoty pożyczki i spłat

Trzy kalkulatory rosnące pod względem wielkości

Studium przypadku: tworzenie oprogramowania w Pythonie

Dziedziczenie

Kod jest współdzielony między klasami

  • Klasa podrzędna (FinancialCalculator) dziedziczy wszystkie funkcje klasy nadrzędnej (BasicCalculator)
  • Klasa podrzędna może implementować dodatkowe funkcje
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)
    ...
Studium przypadku: tworzenie oprogramowania w Pythonie

Przegląd zasad inżynierii oprogramowania

  • Modularny, przejrzysty i wydajny kod
    • Dziedziczenie, metody
  • Korzystanie z bibliotek, frameworków i gotowych rozwiązań
    • Modyfikowanie istniejącego kodu
    • Usprawnienie procesu tworzenia
  • Przejrzysta dokumentacja i komentarze w kodzie
    • Dokumentacja
  • Testowanie
    • doctest i testy jednostkowe

Ilustracja komputera otoczonego ikonami reprezentującymi inżynierię oprogramowania

Studium przypadku: tworzenie oprogramowania w Pythonie

Mapa drogowa

Mapa drogowa przedstawiająca różne etapy projektu.

Studium przypadku: tworzenie oprogramowania w Pythonie

Do dzieła!

Studium przypadku: tworzenie oprogramowania w Pythonie

Preparing Video For Download...