แนะนำโจทย์

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

Mark Pedigo, PhD

Principal Data Scientist

กรณีศึกษาคืออะไร?

  • นำทักษะที่มีไปใช้กับปัญหาจริง
  • คอร์สที่ต้องเรียนมาก่อน
    • Software Engineering Principles in Python
    • Intermediate Object-Oriented Programming in Python

สองคนกำลังประชุมและหารือเกี่ยวกับกรณีศึกษา

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

สถานการณ์กรณีศึกษา

การกำหนดสินเชื่อบ้านสำหรับที่อยู่อาศัยใหม่

  • เจ้าหน้าที่สินเชื่อของ PyBank Financial
  • สร้างโปรแกรมเพื่อ
    • คำนวณงบค่าบ้าน
    • คำนวณยอดผ่อนรายเดือน
  • หมายเหตุ: เพื่อการศึกษาเท่านั้น

loan_officer.jpg

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

แผนการดำเนินงาน

  • ซอฟต์แวร์สำหรับการคำนวณอัตโนมัติ
  • ใช้หลักการ Software Engineering โดยอิงจากคลาส
  • ขั้นตอน
    • เครื่องคิดเลขพื้นฐาน
      • +, -, *, /, **
    • เครื่องคิดเลขการเงิน
      • คำนวณดอกเบี้ย, อัตราดอกเบี้ย
    • เครื่องคิดเลขสินเชื่อบ้าน
      • คำนวณวงเงินกู้, ยอดผ่อนชำระ

เครื่องคิดเลขสามเครื่อง เรียงตามขนาดจากเล็กไปใหญ่

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย 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

ทบทวนหลักการ software engineering

  • โค้ดที่เป็นโมดูล, อ่านง่าย, และมีประสิทธิภาพ
    • การสืบทอดคลาส, เมธอด
  • ใช้ไลบรารี, เฟรมเวิร์ก, และโซลูชันสำเร็จรูปที่มีอยู่
    • ปรับแก้โค้ดที่มีอยู่เดิม
    • เพิ่มความเร็วในการพัฒนา
  • เอกสาร, คอมเมนต์โค้ด, และคู่มือการใช้งานที่ชัดเจน
    • เอกสารประกอบ
  • การทดสอบ
    • doctest และ unit testing

ภาพคอมพิวเตอร์ที่มีไอคอนแทนหลักการ software engineering โดยรอบ

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

แผนที่เส้นทาง

แผนที่เส้นทางแสดงส่วนต่าง ๆ ของโปรเจกต์

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

มาลงมือสร้างกันเลย!

กรณีศึกษา: การสร้างซอฟต์แวร์ด้วย Python

Preparing Video For Download...