โครงงานรายวิชา SC361002 การเขียนโปรแกรมเชิงโครงสร้างสำหรับเทคโนโลยีสารสนเทศ
จัดทำโดยกลุ่ม Baan Dollar (บ้านดอลล่า) หมายเลขกลุ่ม G01 Section 1
- เพื่อสร้างโปรแกรมจำลองตู้ ATM ผ่าน Command Line Interface (CLI) ที่สามารถทำธุรกรรมพื้นฐานได้ เช่น ตรวจสอบยอดเงิน ฝากเงิน ถอนเงิน และโอนเงิน โดยนำความรู้จากรายวิชา SC361002 มาประยุกต์ใช้กับโครงงานจริง
- เพื่อฝึกทักษะการสื่อสารและการทำงานร่วมกันเป็นทีม ให้สมาชิกทุกคนมีส่วนร่วมในการพัฒนาและอธิบายการทำงานของโปรแกรม
- เพื่อพัฒนาทักษะการแก้ปัญหา (Problem Solving Skill) และการออกแบบโปรแกรมที่มีคุณภาพ โดยเน้นให้โค้ดอ่านง่าย มีโครงสร้างเป็นระบบ เข้าใจได้รวดเร็ว และสามารถนำไปต่อยอดได้ในอนาคต
- สมัครบัญชีใหม่และเข้าสู่ระบบ (Register / Login) โดยตรวจสอบข้อมูลจากไฟล์ที่จัดเก็บบัญชีและรหัสผ่าน
- ตรวจสอบยอดเงินคงเหลือ
- ฝากเงินเข้าบัญชี
- ถอนเงินจากบัญชี
- โอนเงินระหว่างบัญชี
- บันทึกและอัปเดตข้อมูลธุรกรรมผ่านฟังก์ชันกลางของระบบ (File Handler)
- แบ่งโครงสร้างโปรแกรมเป็นไฟล์และโมดูลตามหน้าที่ โดย import มาใช้งานในโปรแกรมหลักได้
- มีการจัดการข้อผิดพลาด (Exception Handling) เช่น กรณีกรอกข้อมูลผิดประเภท หรือยอดเงินไม่พอ ระบบจะแจ้งเตือนและให้กรอกใหม่เพื่อให้โปรแกรมทำงานต่อได้อย่างถูกต้อง
- สามารถแสดงรายการธุรกรรมย้อนหลัง (Statement) เพื่อดูประวัติการฝาก ถอน หรือโอนเงินได้
-
File Handler
ออกแบบและพัฒนาระบบจัดการไฟล์ทั้งหมดของโปรแกรม เป็นส่วนกลางที่ใช้ในการอ่านและเขียนข้อมูล
ฟังก์ชันอื่น ๆ ในโปรแกรมจะต้องเรียกใช้งานผ่านส่วนนี้เท่านั้น -
Auth
พัฒนาระบบสมัครสมาชิก (Register) และเข้าสู่ระบบ (Login) โดยตรวจสอบข้อมูลจากไฟล์ผ่าน File Handler -
Account
พัฒนาฟังก์ชันการจัดการบัญชี เช่น ตรวจสอบยอดเงิน ฝาก ถอน และโอนเงิน โดยเรียกใช้ฟังก์ชันจาก File Handler -
Main Program
พัฒนาเมนูหลักของโปรแกรม รับข้อมูลจากผู้ใช้ และเชื่อมต่อกับฟังก์ชันในแต่ละส่วน
รวมถึงสร้าง Test Case สำหรับตรวจสอบการทำงานของโปรแกรมและการดักจับข้อผิดพลาด
โปรแกรมมีระบบตรวจสอบข้อมูลที่กรอกเข้ามา เพื่อป้องกันความผิดพลาดในการทำงาน เช่น
- กรณีกรอกตัวอักษรแทนตัวเลข
- กรณีกรอกจำนวนเงินเกินยอดที่มีอยู่
- กรณีชื่อผู้ใช้ซ้ำหรือล็อกอินไม่ถูกต้อง
หากเกิดข้อผิดพลาด โปรแกรมจะแจ้งเตือนและให้กรอกข้อมูลใหม่เพื่อให้ระบบสามารถทำงานต่อได้
==== ATM Simulation ====
Login
Register
Exit
==== Main Menu ====
- [1] Check Balance
- [2] Deposit
- [3] Withdraw
- [4] Transfer
- [5] Transactions history
- [6] Logout