Cấu trúc chương trình gồm : - Cấu trúc nội tại của các đơn thể. - Mối liên hệ giữa các đơn thể.
Các đơn thể được tổ chức phân cấp dạng cây nhưng phải thỏa mãn tính cục bộ
tham chiếu (locality of Reference) : chỉ cĩ đơn thể mức cao hơn (cha) mới cĩ quyền
tham chiếu (gọi) đến đơn thể mức thấp hơn kề đĩ (con).
Những cấu trúc cây thỏa mãn tính cục bộ tham chiếu được gọi là cấu trúc cây
thuần túy (Pure tree Structure). Ví dụ 9 :
Hình 2.6. Cấu trúc cây thuần túy
− D chỉ phục vụ B, chỉ cĩ B mới cĩ quyền điều khiển D, C khơng thể gọi D.
− Giữa B và D chỉ cĩ một đường tương tác duy nhất là trao đổi tham biến. A C B E D
a) Đặc điểm của cấu trúc cây thuần túy
− Mỗi đơn thể chỉ được quyền điều khiển đơn thể con trực tiếp, giảm được tính
phức tạp của chương trình.
− Các nhánh hồn tồn tách biệt nhau nên cĩ tính tương tác tối thiểu.
Ngoại lệ : Nếu một cơng việc nào đĩ cần thực hiện nhiều lần, nhiều chỗ trong
chương trình thì nên tổ chức thành một đơn thể chương trình con và vẽ riêng, khơng vẽ vào cấu trúc cây.
Như vậy, các đơn thể chương trình con chỉ đĩng vai trị thư viện, một sự mở rộng của ngơn ngữ lập trình. Trường hợp đơn thể chương trình con phức tạp thì cĩ thể tổ chức theo cấu trúc cây thuần túy.
Như vậy tồn bộ chương trình là một tập hợp các cấu trúc cây thuần túy.
Ví dụ 10 :
Hình 2.7. Cấu trúc cây thuần túy của chương trình và chương trình con
Các đơn thể chương trình con A C B E F F3 F1 F2 G1 G D
b) Thử nghiệm chương trình trên cấu trúc cây thuần túy
Quá trình thử nghiệm một chương trình :
− Thử nghiệm các đơn thể chương trình con trước.
− Thử nghiệm các đơn thể trong chương trình chính, từ dưới lên và riêng từng
nhánh.
Cần phân biệt :
− Các đơn thể xử lý phụ thuộc vào ngữ cảnh (context) nào, là con của đơn thể
nào ?
− Các đơn thể chương trình con độc lập với ngữ cảnh.
Để thử nghiệm chương trình cho trong hình vẽ trong ví dụ ở trên :
− Thử F và G trước (sau khi đã thử F1, F2, F3 và G1). − Thử D và E rồi thử B.
− Thử C.
− Thử cả chương trình.