Bottom-Up Model (แบบบนขึ้นล่าง)
แนวทางออกแบบระบบที่กำหนดรายละเอียดส่วนประกอบ (components) ก่อน เมื่อส่วนต่างๆ ออกแบบและพัฒนาเสร็จ นำมารวมเป็นส่วนใหญ่ขึ้นเรื่อยๆ จนครบระบบทั้งหมด เหมาะสำหรับตัดสินใจระดับต่ำและ reuse components
Top-Down Model (แบบบนลงล่าง)
แนวทางออกแบบระบบเริ่มจากระบบทั้งหมด แล้วแบ่งเป็น sub-applications ย่อยลงเรื่อยๆ จนครบรายละเอียด ทุกส่วนผ่าน top-down approach แบบ recursive เรียกอีกอย่างว่า แบ่งปัญหาใหญ่เป็นปัญหาเล็ก แล้วแก้แยกกัน
ความแตกต่างสำคัญ:
| ลำดับ | หัวข้อ | Bottom-Up Model | Top-Down Model |
|---|---|---|---|
| 1 | โฟกัส | ระบุและแก้ปัญหาเล็กที่สุดก่อน แล้วรวมกันแก้ปัญหาใหญ่ | แยกปัญหาใหญ่เป็นปัญหาเล็ก แล้วทำซ้ำกับแต่ละปัญหา |
| 2 | ภาษาโปรแกรม | ใช้กับ OOP: Java, C++ ฯลฯ | ใช้กับ structural programming: C, Fortran ฯลฯ |
| 3 | ความซ้ำซ้อน (Redundancy) | เหมาะกว่า ลด redundancy เน้น reusability | Redundancy สูงเมื่อโปรเจกต์ใหญ่ขึ้น |
| 4 | การโต้ตอบ (Interaction) | Interactivity สูงระหว่างโมดูล | Tight coupling, interactivity ต่ำระหว่างโมดูล |
| 5 | แนวทาง | Composition approach (รวมส่วนประกอบ) | Decomposition approach (แยกย่อยปัญหา) |
| 6 | ปัญหา | ยากที่จะเห็นภาพรวม functionality ในช่วงต้น | อาจไม่สามารถแบ่งปัญหาเป็นชุดย่อยได้ |