Ứng dụng của 40 nguyên lý sáng tạo trong công nghệ phần mềm

MỤC LỤC

I. GIỚI THIỆU . 3

II. 40 NGUYÊN LÝ SÁNG TẠO VÀ CÔNG NGHỆ PHẦN MỀM . 4

1. Phân nhỏ (Segmentation) . 4

2. Tách khỏi (Extraction) . 4

3. Phẩm chất cục bộ (Local Quality). 5

4. Bất đối xứng (Asymmetry) . 6

5. Kết hợp (Consolidation). 7

6. Vạn năng (Universality) . 8

7. Chứa trong (Nesting) . 8

8. Phản trọng lượng (Counterweight) . 9

9. Gây ứng suất sơ bộ (Prior counteraction) . 10

10. Thực hiện trước sơ bộ (Prior action) . 10

11. Đề phòng (Cushion in advance) . 11

12. Đẳng thế (Equipotentiality) . 12

13. Đảo ngược (Do it in reverse) . 12

14. Cầu tròn hóa (Spheroidality) . 13

15. Linh động (Dynamicity) . 14

16. Tác động thiếu hoặc thừa (Partial or excessive action) . 15

17. Chuyển sang chiều khác (Transition into new dimension) . 16

18. Dao động cơ học (Mechanical Vibration) . 16

19. Tác động theo chu kỳ (Periodic Action) . 17

20. Liên tục tác động có ích (Continuity of useful action) . 18

21. Vượt nhanh (Rushing through) . 19

22. Biến hại thành lợi (Convert harm into benefit) . 19

23. Phản hồi (Feedback) . 20

24. Sử dụng trung gian (Mediator). 20

25. Tự phục vụ (Self-service) . 21

26. Sao chép (Copying). 22

27. Rẻ thay cho đắt (Inexpensive short-lived objects) . 22

2

28. Thay thế hệ cơ học (Replacement of Mechanical System) . 23

29. Sử dụng kết cấu thủy hoặc khí (Pneumatic or hydraulic construction) ** . 23

30. Sử dụng vỏ dẻo hoặc màng mỏng (Flexile films or thin membranes) . 24

31. Sử dụng vật liệu nhiều lỗ (Porous materials) ** . 24

32. Đổi màu (Changing the color) . 25

33. Đồng nhất (Homogeneity) . 26

34. Loại bỏ và tái sinh từng phần (Rejecting and regenerating parts) . 26

35. Thay đổi thông số hóa lý của đối tượng (Transformation properties) . 26

36. Chuyển pha (Phase transition) ** . 27

37. Sử dụng sự nở nhiệt (Thermal expansion) ** . 27

38. Sử dụng các chất oxy hóa (Accelerated oxidation) ** . 28

39. Sử dụng môi trường trơ (Inert Environment) ** . 29

40. Sử dụng vật liệu tổng hợp (Composite materials) . 30

III. KẾT LUẬN . 31

IV. TÀI LIỆU THAM KHẢO . 32

pdf33 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1670 | Lượt tải: 1download
Tóm tắt nội dung Ứng dụng của 40 nguyên lý sáng tạo trong công nghệ phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
 của đối tượng, nhưng nó cũng có thể tăng hiệu suất ở 
mức độ nào đó. Ví dụ, ta có thể lưu các giá trị trong đối tượng mà không cần phải 
qua công đoạn kiểm tra tính hợp lệ của những giá trị này. 
32. Đổi màu (Changing the color) 
a. Đổi màu của đối tượng hoặc môi trường bên ngoài của nó. 
b. Đổi độ trong suốt của đối tượng hoặc môi trường bên ngoài của nó. 
Liên hệ CNPM: Như trên. 
Ví dụ CNPM: 
 Đồng hồ có độ trong suốt 90% trên desktop trở nên rõ hơn khi gần đến thời điểm 
báo giờ hẹn. 
 Một chương trình giám sát hiển thị trong suốt trên GUI của máy tính trở nên rõ 
hơn khi cần có sự chú ý. 
 Có ứng dụng cho các nhà thiên văn có thể thay đổi màu sắc của giao diện người 
dùng sang đen và đỏ thay vì đủ màu. Điều này cần thiết khi sử dụng khi trời tối do 
mắt người cần thời gian để quen với bóng tối để nhìn thấy các ngôi sao. GUI màu 
đỏ không ảnh hưởng đến độ nhạy của mắt. Có thể dùng để tiết kiệm pin cho 
laptop, khi làm việc trong bóng tối mà không sử dụng back-light chỉ dùng ký tự 
màu đỏ. 
26 
33. Đồng nhất (Homogeneity) 
a. Làm cho đối tượng tương tác với một đối tượng cùng vật liệu hoặc vật liệu có tính 
chất tương đồng. 
Liên hệ CNPM: 
Tạo các lớp không nằm riêng lẻ mà thuộc hệ phân cấp lớp, do điều này sẽ giúp các 
lớp khác nhau trông giống nhau trong cùng cấp. Ở cấp đó chúng sẽ có cùng một số 
tính chất. 
Ví dụ CNPM: 
 Viết các giải thuật nhận các đối tượng nền làm tham số truyền vào để tất cả những 
lớp dẫn xuất cũng có thể được xử lý. 
34. Loại bỏ và tái sinh từng phần (Rejecting and regenerating parts) 
a. Loại bỏ những thành phần của đối tượng đã hoàn thành chức năng của mình hoặc 
sửa đổi chúng ngay trong quá trình hoạt động. 
b. Ngược lại, phục hồi những phần tiêu thụ được của đối tượng ngay trong quá trình 
hoạt động. 
Liên hệ CNPM: 
Giải phóng bộ nhớ không dùng của ứng dụng. 
Ví dụ CNPM: 
 Giữ một vùng chứa các đối tượng (phức hợp) không dùng đến nhưng thường 
xuyên được tạo ra, sử dụng rồi xóa. Bằng cách giữ chúng quá trình tạo mới sẽ 
nhanh hơn nhiều do các đối tượng được lấy từ vùng chứa. Nó cũng giúp giảm bớt 
công việc cho bộ thu dọn rác. 
35. Thay đổi thông số hóa lý của đối tượng (Transformation properties) 
a. Thay đổi trạng thái vật lý của đối tượng. 
b. Thay đổi mật độ hoặc độ đặc. 
27 
c. Thay đổi độ linh động. 
d. Thay đổi nhiệt độ. 
Liên hệ CNPM: Như trên. 
Ví dụ CNPM: 
 Trộn các ứng dụng phần mềm có cơ sở dữ liệu gần như giống nhau để giảm dư 
thừa. 
 Bằng cách làm việc với các template một trình soạn thảo có thể có nhiều chức 
năng, chẳng hạn như ta có thể nạp một template để highlight cú pháp giúp cho 
trình soạn thảo phù hợp với ngôn ngữ lập trình khác. 
36. Chuyển pha (Phase transition) ** 
a. Sử dụng các hiện tượng xảy ra trong quá trình chuyển pha. 
Liên hệ CNPM: 
Sử dụng các kết quả và đối tượng trung gian có sẵn trong quá trình chuyển trạng thái 
của đối tượng. 
Ví dụ CNPM: 
 Việc chuyển trạng thái của một đối tượng có thể cần nhiều tính toán phức tạp hoặc 
có chi phí tìm kiếm cao trong cơ sở dữ liệu. 
 Bằng cách gán kết quả trung gian cho các biến (caching), các đối tượng khác có 
thể truy xuất kết quả trung gian này, nhờ đó cải thiện hiệu suất. Ví dụ, một danh 
sách liên kết có thể giữ một con trỏ đến phần tử cuối cùng được thêm vào. Khi cần 
tìm kiếm trên danh sách ta có thể kiểm tra con trỏ này để xem nên bắt đầu từ node 
này hay phải bắt đầu lại từ đầu danh sách. Điều này giúp tăng tốc tìm kiếm (tuyến 
tính) với hệ số 2, tính trên trung bình. 
37. Sử dụng sự nở nhiệt (Thermal expansion) ** 
a. Sử dụng sự nở (hoặc co) do nhiệt của vật liệu. 
28 
b. Nếu sự nở nhiệt đang được dùng thì sử dụng nhiều vật liệu với hệ số nở nhiệt khác 
nhau. 
Liên hệ CNPM: 
Nén (hoặc giải nén) dữ liệu để giảm (hoặc tăng) kích thước dữ liệu. Cũng có thể được 
xem như thay đổi độ chính xác. 
Ví dụ CNPM: 
 Không gian bộ nhớ máy tính là sự kết hợp giữa bộ nhớ hoạt động (trong CPU) và 
bộ nhớ phân trang (nằm ở phương tiện lưu trữ gần đó như bộ nhớ cache hay bộ 
nhớ ảo). Việc co giãn tài nguyên này để phục vụ các quá trình cần dùng đến bộ 
nhớ nhiều hơn hay ít hơn có thể được mô hình hóa theo nhiệt động học bằng cách 
gắn vào một hệ đo tương đồng với “nhiệt độ” mà sẽ thể hiện hiệu suất máy tính 
vào từng thời điểm. 
 Khi dữ liệu được nén lại (co nhiệt) nó có thể được gửi qua mạng nhanh hơn, hoặc 
tốn ít không gian lưu trữ hơn. Ta phải đốt nóng nó lên (giải nén) để biến nó hữu 
ích trở lại. 
 Khi phải tính toán bằng dollar, hoặc đơn vị tiền tệ khác thì công việc này thường 
là tính toán trên số dấu phẩy động. Bằng cách nhân tất cả số với 100 (đốt nóng với 
hệ số 100) ta có thể tính toán trên miền số nguyên mà sẽ nhanh hơn và không có 
(hoặc ít) lỗi làm tròn số. 
38. Sử dụng các chất oxy hóa (Accelerated oxidation) ** 
a. Thay thế không khí thường bằng không khí giàu oxy. 
b. Thay thế không khí giàu oxy bằng môi trường thuần oxy. 
c. Cho bức xạ ion hóa không khí hoặc oxy. 
d. Sử dụng oxy đã ion hóa. 
e. Thay thế oxy đã ozon hóa hoặc ion hóa bằng khí ozon. 
Liên hệ CNPM: 
29 
Sử dụng cách biểu diễn tối ưu để xử lý nhanh hơn. 
Ví dụ CNPM: 
 Hiển nhiên, phần mềm không có liên quan gì đến oxy hóa, nhưng ta có thể trừu 
tượng hóa nguyên lý này để chỉ chung hành động trộn lẫn thứ này với thứ khác để 
cho ra kết quả ngẫu nhiên. Ta có sự tương đồng với giải thuật mã hóa “pha muối”. 
Một giải thuật mã hóa không có thành phần ngẫu nhiên, “muối”, chạy trên văn bản 
rõ ràng (chẳng hạn như mật khẩu người dùng) sẽ luôn cho ra cùng kết quả mã hóa. 
Cùng một mật khẩu sẽ luôn được mã hóa bằng cùng một chuỗi trên mọi máy tính 
chạy giải thuật mã hóa “không pha muối”. Nếu bạn phá được mật khẩu một lần, 
bạn có thể qua mặt an ninh trên mọi máy tính cài đặt giải thuật đó. Tuy nhiên, nếu 
giải thuật mã hóa thêm vào một hệ số ngẫu nhiên, gọi là “muối”, vào các tính toán 
của nó, văn bản mã hóa sẽ chỉ hợp lệ đối với một máy duy nhất, do về lý thuyết tất 
cả các máy khác sẽ pha muối các tính toán của chúng khác nhau. 
 Thay thế một giải thuật viết dưới dạng ngôn ngữ lập trình cấp cao bằng một 
thường trình (routine) hợp ngữ đã được điều chỉnh, tối ưu bằng tay và phù hợp với 
bộ xử lý. Hoặc thậm chí dùng phần cứng nào thực hiện cùng chức năng, chẳng hạn 
như nén video. 
 Dùng định dạng nhị phân để tăng hiệu quả xử lý, lưu trữ và lưu lượng thông tin 
trên mạng. 
39. Sử dụng môi trường trơ (Inert Environment) ** 
a. Thay thế môi trường thông thường bằng môi trường trơ. 
b. Thêm vào đối tượng các thành phần trung tính hoặc các chất trơ. 
Liên hệ CNPM: 
Thay thế môi trường tính toán thông thường bằng môi trường hạn chế hơn. 
Ví dụ CNPM: 
30 
 Một môi trường trơ là môi trường không có phản ứng với các đối tượng trong môi 
trường đó. Nghĩa suy rộng hợp lý sẽ là một môi trường trơ là môi trường ôn hòa. 
Với cách diễn dịch này, ta có sự tương đồng trong quy trình kiểm nghiệm phần 
mềm. Trong phát triển phần mềm, đôi khi cần phải kiểm nghiệm phần mềm đang 
phát triển trong một môi trường giả lập với một số (không phải tất cả) động thái 
của môi trường thực sự mà phần mềm sẽ hoạt động. 
 Một ví dụ khác là quy trình kiểm chuẩn (benchmark test), thường được dùng để đo 
lường hiệu suất phần cứng và phần mềm. Môi trường chạy kiểm chuẩn được kiểm 
soát cẩn thận để cách ly hệ thống khỏi các ảnh hưởng không kiểm soát được trong 
khi vẫn giữ các đặc tính quan trọng và do đó cũng là một môi trường trơ. 
 Cài đặt một máy tính bù nhìn (dummy) không được bảo vệ trên Internet để sớm 
phát hiện sự bùng nổ virus hay sâu máy tính. 
 Hạn chế tính năng của các thành phần thực thi được trong trình duyệt web. 
 Chạy ứng dụng trong chế độ debug (không hoàn toàn trơ nhưng được kiểm soát 
tốt). 
40. Sử dụng vật liệu tổng hợp (Composite materials) 
a. Thay vật liệu đồng nhất bằng vật liệu tổng hợp. 
Liên hệ CNPM: 
Đổi từ mức trừu tượng phần mềm đồng nhất sang mức trừu tượng tổng hợp. 
Ví dụ CNPM: 
 Các phương pháp thiết kế tổng hợp chính là sự trừu tượng hóa nền tảng đằng sau 
các framework thành công thường gặp. Phương pháp thiết kế tổng hợp có thể được 
mô tả tốt nhất như một tập các phương pháp mà khi tích hợp chúng lại thì hiệu 
ứng hiệp lực của nó khiến cho việc tổng hợp có ý nghĩa cao hơn là chỉ cộng các 
thành phần lại. 
31 
III. KẾT LUẬN 
Trong lịch sử sáng tạo và đổi mới, hay gần gũi hơn là trong cuộc sống thường nhật, ta 
đã thấy được rằng các nguyên lý sáng tạo của Altshuller khá là đầy đủ để có thể lý 
giải cho hầu hết mọi phát minh sáng chế trên thế giới này. Các lợi ích của “40 nguyên 
tắc sáng tạo cơ bản” đối với chúng ta có thể kể đến như: 
 Giúp giải phóng tính ì tâm lý. 
 Phát triển các ý tưởng cải tiến sản phẩm (giúp tăng năng suất, tiết kiệm năng 
lượng, tiền bạc và thời gian...) 
 Phát triển các ý tưởng giải quyết vấn đề. 
 Định hướng sử dụng kiến thức hiệu quả hơn. 
Cho đến nay, vẫn còn nhiều nỗ lực để cố gắng đưa ra các định nghĩa chuẩn của 40 
nguyên lý sáng tạo cho công nghệ phần mềm. Do khoa học máy tính là một lĩnh vực 
rất rộng lớn nên các ví dụ trong bài viết này được rút ra từ các giai đoạn khác nhau 
trong vòng đời của một sản phẩm phần mềm, đôi khi ở mức thiết kế, đôi khi ở mức 
hiện thực ứng dụng. Mặc dù chỉ giới hạn trong phạm vi công nghệ phần mềm, nhưng 
với việc hệ thống đầy đủ 40 nguyên lý sáng tạo như trên, ta có thể tự tin nói rằng 
những nguyên lý sáng tạo này cũng có thể được nhận ra ở bất cứ đâu và trong bất cứ 
lĩnh vực nào, dù là khoa học chính thống hay phi chính thống. Điều đó thúc đẩy 
chúng ta thực hành sáng tạo và mạnh dạn đưa ra ý tưởng thường xuyên hơn. Và đó 
cũng là cách mà thế giới thay đổi mỗi ngày. 
32 
IV. TÀI LIỆU THAM KHẢO 
[1] https://sites.google.com/site/sangtaotretho/the-gioi-sang-tao/40-thu-thuat-sang-che 
[2] Rea, K.C., TRIZ and Software 40 Principles Analogies, Part 1. The TRIZ Journal. 
Sep, 2001. Internet:  
[3] Rea, K.C., TRIZ and Software 40 Principles Analogies, Part 2. The TRIZ Journal. 
Nov, 2001. Internet:  

File đính kèm:

  • pdfỨng dụng của 40 nguyên lý sáng tạo trong công nghệ phần mềm.pdf