Lập trình hướng thủ tục (chức năng)

Một phần của tài liệu Phân tích, thiết kế và lập trình hướng đối tượng_phụ lục 6 pot (Trang 40 - 42)

Những ngôn ngữ lập trình bậc cao truyền thống như COBOL, FOTRAN, PASCAL, C v.v..., được gọi chung là ngôn ngữ lập trình hướng thủ tục. Theo cách tiếp cận hướng thủ tục thì một hệ thống phần mềm được xem như là dãy các công việc cần thực hiện như đọc dữ liệu, tính toán, xử lý, lập báo cáo và in ấn kết quả v.v... Mỗi công việc đó sẽ được thực hiện bởi một số hàm nhất định. Như vậy trọng tâm của cách tiếp cận này là các hàm chức năng. Cấu trúc của chương trình được xây dựng theo cách tiếp cận hướng thủ tục có dạng như hình 3-1.

Hình 3-1. Cấu trúc của chương trình hướng thủ tục

Lập trình hướng thủ tục (LTHTT) sử dụng kỹ thuật phân rã hàm chức năng theo cách tiếp cận top-down để tạo ra cấu trúc phân cấp. Chương trình được xây dựng theo cách tiếp cận hướng thủ tục thực chất là danh sách các câu lệnh mà theo đó máy tính cần thực hiện. Danh sách các lệnh đó được tổ chức thành từng nhóm theo đơn vị cấu trúc cú pháp của ngôn ngữ đặc tả hay ngôn ngữ lập trình và được gọi là hàm (hay thủ tục). Để mô tả các hoạt động của các hàm, các dòng điều khiển và dữ liệu từ hoạt động này sang hoạt động khác người ta thường dùng sơ đồ khối.

Chương trình chính Hàm_1 Hàm_2 Hàm_3 Hàm_5 Hàm_6 Hàm_4 Hàm_7 Hàm_8 Hàm_9

Khi tập trung vào trọng tâm phát triển các hàm thì chúng ta lại ít chú ý đến dữ liệu, những cái mà các hàm sư dụng để thực hiện công việc của mình. Cái gì sẽ xảy ra đối với dữ liệu và gắn dữ liệu với các hàm như thế nào? cùng nhiều vấn đề khác cần phải giải quyết khi chúng ta muốn xây dựng các phương pháp thích hợp để phát triển hệ thống trong thế giới thực. Trong chương trình có nhiều hàm, thường thì có nhiều thành phần dữ liệu quan trọng sẽ được khai báo tổng thể (global) để cho nhiều hàm có thể truy nhập, đọc và làm thay đổi giá trị của biến tổng thể. Mỗi hàm có thể có vùng dữ liệu riêng còn gọi là dữ liệu cục bộ (local). Mối quan hệ giữa dữ liệu và hàm trong chương trình hướng thủ tục được mô tả trong hình 3-2.

Hình 3-2. Quan hệ dữ liệu và hàm trong LTHTT

Nhiều hàm có thể truy nhập, sử dụng dữ liệu chung, làm thay đổi giá trị của chúng và vì vậy rất khó kiểm soát. Nhất là đối với các chương trình lớn, phức tạp thì vấn đề càng trở nên khó khăn hơn.

Khi chúng ta muốn thay đổi, bổ sung cấu trúc dữ liệu dùng chung cho một số hàm thì chúng ta phải thay đổi hầu như tất cả các hàm liên quan đến dữ liệu đó.

Ngoài những trở ngại mà chúng ta đã nêu ở trên thì mô hình được xây dựng theo cách tiếp cận hướng thủ tục không mô tả được đầy đủ, trung thực hệ thống trong thực tế. Bởi vì cách đặt trọng tâm vào hàm là hướng tới hoạt động sẽ không thực sự tương ứng với các thực thể trong hệ thống của thế giới thực.

Tóm lại những đặc tính chính của lập trình hướng thủ tục là: + Tập trung vào công việc cần thực hiện (thuật toán).

+ Chương trình lớn được chia thành các hàm nhỏ hơn. + Phần lớn các hàm sử dụng dữ liệu chung.

+ Dữ liệu trong hệ thống được chuyển động từ hàm này sang hàm khác. Dữ liệu chung Dữ liệu chung Hàm_1 Dữ liệu riêng Hàm_2 Dữ liệu riêng Hàm_3 Dữ liệu riêng 619 620

+ Hàm biến đổi dữ liệu từ dạng này sang dạng khác.

+ Sử dụng cách tiếp cận top-down trong thiết kế chương trình.

Một phần của tài liệu Phân tích, thiết kế và lập trình hướng đối tượng_phụ lục 6 pot (Trang 40 - 42)