Thiết kế với hàm Python (phần 8)

Giải quyết vấn đề với thiết kế đỉnh xuống

Một chiến lược thiết kế thông dụng cho các chương trình kích thước và phức tạp đáng kể nào được gọi là thiết kế
đỉnh xuống. Chiến lược này bắt đầu với một cái nhìn toàn cục toàn bộ vấn đề và chia vấn đề thành các vấn đề phụ
quản lí được, nhỏ hơn – một quá trình được biết đến như là phá biên vấn đề. Khi mỗi vấn đề phụ được phân lập,
giải pháp của nó được gán cho một hàm. Phá biên vấn đề có thể đi tiếp xuống các mức thấp hơn, vì một vấn đề
phụ có thể đến lượt nó chứa hai hay nhiều hơn các vấn đề mức thấp hơn để giải quyết. Khi các hàm được phát
triển để giải quyết mỗi vấn đề phụ, giải pháp cho toàn bộ vấn đề được điền dần trong chi tiết. Quá trình này
được gọi là stepwise refinement.
Các ví dụ chương trình trước trong các học phần trước là đơn giản đủ để rằng chúng có thể được phá biên thành
3 phần – nhập vào dữ liệu, xử lí của nó, và đầu ra cho các kết quả. Không gì trong các phần này yêu cầu nhiều
hơn một hay hai phát biểu code, và tất cả chúng xuất hiện trong một chuỗi đơn các phát biểu.
Tuy nhiên, bắt đầu với chương trình text analysis trong học phần trước, các vấn đề case study trở nên phức tạp
đủ để bảo đảm phá biên và gán cho các hàm lập trình viên định nghĩa. Vì mỗi vấn đề có một cấu trúc khác nhau,
thiết kế của giải pháp có một con đường hơi khác.

Chia sẻ