과제 소개

케이스 스터디: Python으로 소프트웨어 만들기

Mark Pedigo, PhD

Principal Data Scientist

사례 연구란?

  • 기존 역량을 실제 문제에 적용
  • 선수 과정
    • 파이썬 소프트웨어 공학 원칙
    • 파이썬 중급 객체지향 프로그래밍

사례 연구를 논의하는 회의 중 두 사람

케이스 스터디: Python으로 소프트웨어 만들기

사례 연구 시나리오

신규 주택 모기지 산정

  • PyBank Financial 대출 담당자
  • 다음을 수행하는 프로그램 작성
    • 주택 지출 한도 산정
    • 월 상환액 산정
  • 면책: 교육용 예시일 뿐입니다

loan_officer.jpg

케이스 스터디: Python으로 소프트웨어 만들기

실행 계획

  • 계산을 자동화하는 소프트웨어
  • 클래스 기반의 소프트웨어 공학 원칙 적용
  • 단계
    • 기본 계산기
      • +, -, *, /, **
    • 금융 계산기
      • 이자, 이자율 계산
    • 모기지 계산기
      • 대출액, 상환액 계산

점점 커지는 세 개의 계산기

케이스 스터디: Python으로 소프트웨어 만들기

상속

클래스 간 코드 재사용

  • 자식 클래스(FinancialCalculator)는 부모 클래스(BasicCalculator)의 모든 기능을 상속합니다
  • 자식 클래스는 기능을 추가로 구현할 수 있습니다
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)
    ...
케이스 스터디: Python으로 소프트웨어 만들기

소프트웨어 공학 원칙 복습

  • 모듈식, 깔끔하고 읽기 쉬운 효율적 코드
    • 상속, 메서드
  • 재사용 가능한 라이브러리·프레임워크·기존 해법 활용
    • 기존 코드 수정
    • 개발 간소화
  • 명확한 문서화, 주석, 사용 가이드
    • 문서화
  • 테스트
    • doctest와 단위 테스트

소프트웨어 공학을 상징하는 아이콘으로 둘러싸인 컴퓨터 그림

케이스 스터디: Python으로 소프트웨어 만들기

로드맵

프로젝트의 다양한 부분을 보여주는 로드맵

케이스 스터디: Python으로 소프트웨어 만들기

만들어 봅시다!

케이스 스터디: Python으로 소프트웨어 만들기

Preparing Video For Download...