Apresentando o desafio

Estudo de Caso: Construindo Software em Python

Mark Pedigo, PhD

Principal Data Scientist

O que é um estudo de caso?

  • Aplique suas habilidades em um problema real
  • Cursos pré-requisito
    • Princípios de Engenharia de Software em Python
    • Programação Orientada a Objetos Intermediária em Python

Duas pessoas em uma reunião discutindo um estudo de caso

Estudo de Caso: Construindo Software em Python

Cenário do estudo de caso

Determinando hipoteca para casas novas

  • Gerente de crédito da PyBank Financial
  • Construa um programa para
    • Definir gasto com a casa
    • Definir pagamento mensal
  • Aviso: apenas para fins ilustrativos

loan_officer.jpg

Estudo de Caso: Construindo Software em Python

Plano de ação

  • Software que automatiza os cálculos
  • Usando princípios de Engenharia de Software, baseados em classes
  • Etapas
    • Calculadora básica
      • +, -, *, /, **
    • Calculadora financeira
      • Calcular juros, taxa de juros
    • Calculadora de hipoteca
      • Calcular valor do empréstimo, parcelas

Três calculadoras, aumentando de tamanho

Estudo de Caso: Construindo Software em Python

Herança

Código é reutilizado entre classes

  • A classe filha (FinancialCalculator) herda toda a funcionalidade da classe pai (BasicCalculator)
  • A classe filha pode implementar funcionalidades extras
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)
    ...
Estudo de Caso: Construindo Software em Python

Revisão dos princípios de engenharia de software

  • Código modular, limpo, legível e eficiente
    • Herança, métodos
  • Aproveite bibliotecas, frameworks e soluções reutilizáveis
    • Modificar código pré-existente
    • Agilizar o desenvolvimento
  • Documentação clara, comentários e guias de uso
    • Documentação
  • Testes
    • doctest e testes de unidade

Imagem de um computador cercado por ícones representando engenharia de software

Estudo de Caso: Construindo Software em Python

Roteiro

Roteiro com as diferentes partes do projeto.

Estudo de Caso: Construindo Software em Python

Vamos construir!

Estudo de Caso: Construindo Software em Python

Preparing Video For Download...