MỤC LỤC:
Tóm tắt.................................................................................................. trang 2
Giới thiệu............................................................................................... trang 2
Lập trình cấu trúc là gì.............................................................. trang 2
Lập trình cấu trúc trong ngữ cảnh công nghệ phần mềm..................
............................................................................................ trang 3
Lập trình cấu trúc theo quan điểm của TRIZ......................... ......... trang 6
Khắc phục sự phức tạp để đạt độ tin cậy ổn định.................. trang 6
Cấu trúc lệnh(cấu trúc điều khiển)................................. ........ trang 6
Đơn giản hóa các hệ thống............................................... ........ trang 8
Lược bỏ bớt câu lệnh goto............................................... ........ trang 9
Ứng dụng TRIZ trong phương pháp Top – Down................ trang 11
Ứng dụng TRIZ trong phương pháp Bottom – Up............... trang 17
Lập trình cấu trúc được xem như là một xu hướng..... ........ trang 21
Kết luận............................................................................................... trang 22
Page | 1
TÓM TẮT
Bài luận này sẽ trình bày vấn đề áp dụng một số nguyên tắc TRIZ trong lập trình cấu trúc.
Tiếp cận lập trình cấu trúc tập trung vào những mục – nguyên tắc sau của TRIZ:
a. Nguyên tắc 1 (Nguyên tắc phân nhỏ): Chia đối tượng thành các phần độc lập,
làm đối tượng trở nên tháo lặp được, tăng mức độ phân nhỏ của đối tượng.
b. Nguyên tắc 2 (Nguyên tắc tách khỏi): tách các phần gây phiền phức hay ngược
lại tách phần duy nhất cần thiết ra khỏi đối tượng.
c. Nguyên tắc 5 (Nguyên tắc kết hợp): Kết hợp các đối tượng động nhất, các đối
tượng kế cận về mặt thời gian, không gian...
d. Nguyên tắc 6 (Nguyên tắc vạn năng): Đối tượng thực hiện một số chức năng
khác nhau, do đó không cần có sự tham gia của đối tượng khác.
e. Nguyên tắc 7 (Nguyên tắc chứa trong): Một đối tượng chứa bên trong nó đối
tượng khác và đối tượng khác đó lại chứa đối tượng thứ ba, một đối tượng chuyển động xuyên
suốt bên trong đối tượng khác.
f. Nguyên tắc 16 (Nguyên tắc giải tác động thiếu hoặc thừa): Nếu như khó nhận
Loop). Với những hàm lập trình – người lập trình được khuyến khích để thiết kế/viết code cho
những mô hình của chương trình bước từng bước theo phong cách từ trên xuống dưới.
Nhiều người lập trình ở thời điểm này đã phản đối ý kiến của Dijkstra, cho rằng: “việc viết những
chương trình mà chỉ cần có 3 construct điều khiển thì không dễ chút nào và cho rằng lệnh goto vẫn
cần thiết trong nhiều trường hợp”. Dijkstra đã đưa ra bằng chứng cho thấy rằng bất cứ chương
trình nào đều có thể được viết chỉ với 3 construct kiểm soát trên (ông đưa ra dẫn chứng lệnh goto
có thể được viết với Selection trong khi nhảy ngược trở lại với các vòng lặp (Loops).
Trong lúc thí nghiệm, một vài construct điển khiển khác nữa được đề xuất thêm, bao gồm lựa chọn
nhiều tuyến đường đi, lặp có điều kiện, ngắt vòng lặp, và xử lý ngoại lệ. Vì thế đề xuất lập trình
cấu trúc đã được đồng ý.
Nó được hiểu trong lập trình cấu trúc rằng một quy trình mà có một đầu vào và một đầu ra nên
được tinh chế từng bước một bằng cách sử dụng 3 construct điều khiển cơ bản và những construct
điều khiển khác được biểu diễn trong hình 1 và 2 dưới đây.
Page | 3
Hình 1: 3 construct điều khiển cơ bản
Hình 2: 4 construct điều khiển phụ
Hình 3 và 4 dưới đây là ví dụ minh họa của một đoạn chương trình viết bằng 3 cách khác nhau và
4 cách khác nhau.
Page | 4
Hình 3: đoạn chương trình được viết theo 3 cách khác nhau.
Hình 4: đoạn chương trình được viết theo 4 cách khác nhau.
Để phân biệt được các đối số, các trường hợp đơn giản được minh họa ở hình 3 và 4 bằng cách so
sánh những biểu đồ luồng được vẽ theo 4 cách khác nhau: Goto (hình a), lập trình cấu trúc cơ bản
được viết theo phương pháp copy (hình b1) và phương pháp biến điều khiển (hình b2), và các
construct phụ (hình c).
II. LẬP TRÌNH CẤU TRÚC THEO QUAN ĐIỂM CỦA TRIZ
Page | 5
Bây giờ, chúng ta sẽ xem lập trình cấu trúc theo cách nhìn của TRIZ.
II.1 Cần khắc phục sự phức tạp để đạt được sự tin cậy, ổn định:
Từ quan điểm của TRIZ về sự phát triển của các hệ thống kỹ thuật, chúng ta có thể rõ ràng thấy
(tách khỏi).
Nguyên tắc 6 phát biểu rằng:
- Một đối tượng hay một hệ thống có thể thực hiện được nhiều chức năng khác nhau, do đó
không cần sự tham gia của đối tượng hay hệ thống khác.
Ý tưởng của nguyên tắc vạn năng này để đơn giản hóa các hệ thống phức tạp tuy nhiên nó có đôi
chút sự khác biệt nhưng không đáng kể: “đưa ra những chức năng cơ bản – đã chuẩn hóa và sử
dụng chúng mọi nơi trong một diện rộng của ứng dụng”.
Page | 8