1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn phương pháp nghiên cứu khoa học Nghiên cứu 40 nguyên tắc sáng tạo ứng dụng trong tin học và phân tích quá trình phát triển ngôn ngữ lập trình

42 626 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 42
Dung lượng 417,93 KB

Nội dung

40 Nguyên tắc sáng tạo và ứng dụng trong tin họcNội dung: - Chia đối tượng thành các phần độc lập.. Nguyên tắc dự phòng: Nội dung: - Bù đắp độ tin cậy không lớn của đối tượng bằng cách

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

TIỂU LUẬN MÔN HỌC PHƯƠNG PHÁP LUẬN SÁNG TẠO

TRONG KHOA HỌC

ĐỀ TÀI:

Nghiên cứu 40 nguyên tắc sáng tạo ứng dụng trong tin học và phân tích quá trình phát triển ngôn ngữ lập trình

Giảng viên hướng dẫn: GS.TSKH Hoàng Văn Kiếm Học viên thực hiện: Nguyễn Tấn Thành

Mã số học viên: CH1301055 Lớp: Cao học khóa 8

Trang 2

TP HỒ CHÍ MINH, THÁNG 05/2014

LỜI MỞ ĐẦU 4

I. 40 Nguyên tắc sáng tạo và ứng dụng trong tin học 5

1 Nguyên tắc phân nhỏ: 5

2 Nguyên tắc “tách khỏi”: 5

3 Nguyên tắc phẩm chất cục bộ: 5

4 Nguyên tắc phản đối xứng: 6

5 Nguyên tắc kết hợp: 7

6 Nguyên tắc vạn năng: 7

7 Nguyên tắc “chứa trong”: 8

8 Nguyên tắc phản trọng lượng: 8

9 Nguyên tắc gây ứng suất sơ bộ: 8

10 Nguyên tắc thực hiện sơ bộ: 9

11 Nguyên tắc dự phòng: 9

12 Nguyên tắc đẳng thế: 10

13 Nguyên tắc đảo ngược: 10

14 Nguyên tắc cầu (tròn) hoá: 10

15 Nguyên tắc linh động: 11

16 Nguyên tắc giải “thiếu” hoặc “thừa”: 11

17 Nguyên tắc chuyển sang chiều khác: 12

18 Nguyên tắc sử dụng các dao động cơ học: 12

19 Nguyên tắc tác động theo chu kỳ: 13

20 Nguyên tắc liên tục tác động có ích 13

21 Nguyên tắc “vượt nhanh”: 13

Trang 3

22 Nguyên tắc biến hại thành lợi: 14

23 Nguyên tắc quan hệ phản hồi: 14

24 Nguyên tắc sử dụng trung gian: 14

25 Nguyên tắc tự phục vụ: 15

26 Nguyên tắc sao chép (copy): 15

27 Nguyên tắc “rẻ” thay cho “đắt”: 16

28 Thay thế sơ đồ cơ học: 16

29 Sử dụng các kết cấu khí và lỏng: 17

30 Sử dụng vỏ dẻo và màng mỏng: 17

31 Sử dụng các vật liệu nhiều lỗ: 17

32 Nguyên tắc thay đổi màu sắc: 18

33 Nguyên tắc đồng nhất: 18

34 Nguyên tắc phân hủy hoặc tái sinh các phần: 19

35 Thay đổi các thông số hoá lý của đối tượng: 19

36 Sử dụng chuyển pha: 19

37 Sử dụng sự nở nhiệt: 20

38 Sử dụng các chất oxy hoá mạnh: 20

39 Thay đổi độ trơ: 21

40 Sử dụng các vật liệu hợp thành (composite): 21

II. Lịch sử phát triển ngôn ngữ lập trình 22

1 Zuse’s Plankalkül: 23

2 Các ngôn ngữ mã giả: 23

3 IBM và Fortran 24

4 Lập trình hàm 27

5 Bước đầu tiên tiến tới sự tinh xảo 29

6 Khởi đầu của ngôn ngữ cho doanh nghiệp 30

Trang 4

7 Bắt đầu khái niệm chia sẻ thời gian 31

8 Ngôn ngữ cho cả khoa học và doanh nghiệp : PL/I 32

9 Hai ngôn ngữ động đầu tiên : APL và SNOBOL 33

10 Bắt đầu trừu tượng hóa dữ liệu : SIMULA 67 33

11 Thiết kế trực giao : ALGOL 68 34

12 Lập trình dựa trên Logic : Prolog 35

13 Ngôn ngữ được thiết kế công phu nhất : Ada 35

14 Lập trình hướng đối tượng : Smalltalk 36

15 Kết hợp giữa lập trình mệnh lệnh và lập trình hướng đối tượng: C++ 37

16 Một ngôn ngữ hướng đối tượng dựa trên mệnh lệnh : Java 37

17 Các ngôn ngữ kịch bản cho Web 38

18 Xu hướng hiện nay và tương lai 39

III. Kết luận 40

TÀI LIỆU THAM KHẢO 41

Trang 5

Lời mở đầu

Khi con người sinh ra bản năng đã ham muốn tìm tòi học hỏi khám phánhững điều mới mẻ Nhờ có khả năng tư duy sáng tạo thiên tài mà nhữngnhà phát minh như Leonardo Da Vinci, Archimedes hay Thomas Edison, …

đã làm thay đổi cuộc sống của nhân loại này Vậy đối với những người bìnhthường như chúng ta thì sao, làm thế nào để có thể có những phát minh,sáng kiến cải tiến đóng góp cho xã hội?

Genrikh Saulovich Atchuller đã hiểu được điều đó và năm 1946, ông đãnung nấu ý định đầu tiên xây dựng một lý thuyết giúp bất kỳ một ngườibình thường nào cũng có thể thực hiện được các sáng chế mà sau này ôngđặt tên là “Lý thuyết giải các bài toán sáng chế” (TRIZ) Với 40 nguyên tắcsáng tạo cơ bản này, có thể nói nó đã tổng quát được hầu như hàng triệuphát minh cải tiến trong cuộc sống con người trong thời gian qua Côngnghệ thông tin là một trong những lĩnh vực điển hình áp dụng các nguyêntắc sáng tạo trên

Bài tiểu luận này sẽ trình bày 40 nguyên tắc sáng tạo và những ví dụminh họa trong công nghệ thông tin đã ứng dụng các nguyên tắc đó Đồngthời phân tích những nguyên lý sáng tạo được vận dụng trong quá trình pháttriển của các ngôn ngữ lập trình

Em chân thành tri ơn thầy – GS.TSKH Hoàng Văn Kiếm, người đã tậntình truyền đạt cho chúng em những kiến thức bổ ích về môn “Phương phápluận sáng tạo trong khoa học” Từ đó giúp em tiếp cận phương pháp tư duysáng tạo trong công việc và trong lĩnh vực nghiên cứu khoa học của mình.Xin gửi lời cảm ơn đến các bạn trong lớp đã nhiệt tình chia sẽ tài liệu,những thông tin cần thiết trong quá trình học

Trang 6

I 40 Nguyên tắc sáng tạo và ứng dụng trong tin học

Nội dung:

- 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ỏ đối tượng.

Ví dụ:

- Để giải quyết bài toán phức tạp trên máy tính, ta thường chọn

phương pháp tiếp cận top-down trong thiết kế chương trình, chia hệthống thành nhiều phần nhỏ hơn Bằng cách đó, phân rã hệ thốngphức tạp thành nhiều mô-đun ít phức tạp hơn Quá trình này có thểđược thực hiện lại cho từng mô-đun cho đến khi các mô-đun khôngcòn bất cứ sự phức tạp nào

- Chương trình con trong ngôn ngữ lập trình hướng thủ tục, hàm.

2 Nguyên tắc “tách khỏi”:

Nội dung:

- Tách phần gây “phiền phức” (tính chất “phiền phức”) hay ngược lại

tách phần duy nhất “cần thiết” (tính chất “cần thiết”) ra khỏi đốitượng

Ví dụ:

- Trong kỹ thuật nén ảnh như JPEG, ta tách bỏ thông tin để đạt được tỉ

lệ nén ảnh cao hơn của một ảnh mà không biến dạng ảnh quá nhiều.Tương tự trong cơ chế nén âm thanh MP3 ta tách bỏ đi các phần tínhiệu của âm thanh mà đa số mọi người không thể nghe được nhờ cácđặc điểm chức năng nghe của con người

- Kiến trúc mô hình 3 lớp (Presentation Layer, Business Layer, Data

Access Layer ) trong thiết kế ứng dụng phần mềm

Trang 7

3 Nguyên tắc phẩm chất cục bộ:

Nội dung:

- Chuyển đối tượng (hay môi trường bên ngoài, tác động bên ngoài) có

cấu trúc đồng nhất thành không đồng nhất

- Các phần khác nhau của đối tượng phải có các chức năng khác nhau.

- Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp nhất

đối với công việc

Ví dụ:

- Mô hình: Blackboard Được sử dụng cho các vấn đề không xác định

được chiến lược giải pháp Ý tưởng là một tập hợp các chương trìnhđộc lập mà cùng làm việc cộng tác trên một cấu trúc dữ liệu chung.Mỗi chương trình giải quyết một phần của tổng thế công việc, và tất

cả chương trình làm việc với nhau về giải pháp Các chương trìnhchuyên biệt này độc lập lẫn nhau Chúng không gọi lẫn nhau, không

có một sự tuần tự nào định trước về hoạt động của chúng Thay vào

đó, chúng được điều khiển bởi hệ thống chủ yếu dựa vào trạng tháihiện tại của tiến độ Một thành phần điều khiển trung tâm sẽ đánh giátrạng thái hiện tại của việc xử lý và điều phối các chương trình Cáchthức điều khiển hướng dữ liệu này làm thử nghiệm với các thuật toánkhác nhau có thể, và cho phép việc suy ra qua các thử nghiệm

“heuristic” để điều khiển việc xử lý

- Sửa một danh sách liên kết của các đối tượng xe máy thành một danh

sách liên kết của các đối tượng xe Việc trừu tượng hóa cao hơn này

sẽ cho phép các đối tượng không đồng bộ (xe đạp, xe hơi, …) đượclưu trữ trong cùng lớp bộ chứa và ngược lại

4 Nguyên tắc phản đối xứng:

Nội dung:

- Chuyển đối tượng có hình dạng đối xứng thành không đối xứng (nói

chung giảm bật đối xứng)

Ví dụ:

Trang 8

- Chuẩn của sắp xếp nhanh thường lấy phần tử giữa làm phần tử chốt.

Bằng cách sử dụng phần tử trung vị trong ba phần tử đứng đầu, đứnggiữa và đứng cuối làm phần tử chốt thường sẽ đạt được hiệu suất tốthơn

- Trong thanh công cụ tìm kiếm bài hát, thay vì chỉ nhập vào tên bài

hát Ta có thể nhập vào tên ca sĩ, tên nhạc sĩ, một đoạn bài hát, … đểgiúp người dùng thuận lợi hơn trong việc tìm kiếm bài hát

- Nhiều công cụ lập trình đã tích hợp trình biên dịch, Web server,

database, thiết bị giả lập… để hổ trợ công việc cho lập trình viên

- Một trang web có thể được xây dựng từ nhiều khung (frame) Mỗi

frame có thể được tải từ một server khác nhau Điều này làm tăng tốc

độ tải trang do nhiều kết nối được sử dụng đồng thời

6 Nguyên tắc vạn năng:

Nội dung:

- Đối tượng thực hiện một số chức năng khác nhau, do đó không cần

sự tham gia của các đối tượng khác

Ví dụ:

- Các phần mềm tăng tốc hệ thống như “tuneup utilities” có chức năng

1-click có thể dọn các registry, loại bỏ các shortcut bị phá hủy, xóacác tập tin tạm, phân mảnh ổ đĩa, …

- Các trình duyệt web như IE, Firefox hay Google Chrome thì trong

phần khung mà để ta nhập địa chỉ web vào thì ta cũng có thể nhậpcác từ khóa tìm kiếm vào đó để tìm kiếm thay vì truy cập các trang

Trang 9

7 Nguyên tắc “chứa trong”:

Nội dung:

- Một đối tượng được đặt bên trong đối tượng khác và bản thân nó 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.

Ví dụ:

- Kiến trúc bảy tầng OSI trong network.

- Cấu trúc dữ liệu như danh sách liên kết, cây Các thuật toán đệ quy

như: sắp xếp nhanh, backtracking, …

8 Nguyên tắc phản trọng lượng:

Nội dung:

- Bù trừ trọng lượng của đối tượng bằng cách gắn nó với các đối tượng

khác có lực nâng

- Bù trừ trọng lượng của đối tượng bằng tương tác với môi trường như

sử dụng các lực thủy động, khí động

Ví dụ:

- Để tăng hiệu xuất của các web server, ta có thể chia một trang thành

nhiều frame và lưu trữ các frame trong các ổ đĩa khác nhau hay trêncác server khác nhau Người ta có thể phân bổ các ảnh lớn hay từngmảnh dữ liệu qua các ổ đĩa khác nhau thay vì đặt chúng chung mộtđĩa Hiệu xuất sẽ tăng lên

- Trong các hàm băm, ta phân bổ các đối tượng vào một tập các bộ

chứa trong khi giữ số lượng của các đối tượng trong một bộ chứa xấp

xỉ bằng nhau

9 Nguyên tắc gây ứng suất sơ bộ:

Nội dung:

- Gây ứng suất trước với đối tượng để chống lại ứng suất không cho

phép hoặc không mong muốn khi đối tượng làm việc (hoặc gây ứngsuất trước để khi làm việc sẽ dùng ứng suất ngược lại)

Trang 10

Ví dụ:

- Giả sử rằng một người sử dụng phải chờ đợi trong một khoảng thời

gian cho một hành động thực thi nào đó (tìm kiếm, sao chép, cài đặtchương trình, ) Nếu ta thông báo cho người sử dụng rằng sẽ mấtkhoảng 5 phút, nhưng nếu thời gian thực thi kéo dài hơn thì người sửdụng sẽ không thích Nếu ta thông báo mất 10 phút và thời gian thựcthi ít hơn thì người sử dụng sẽ vui hơn

- Khi một ứng dụng bắt đầu đọc từ một cơ sở dữ liệu, ta có thể tải

(load) các bảng quan trọng hay các chỉ mục trước

10 Nguyên tắc thực hiện sơ bộ:

Nội dung:

- Thực hiện trước sự thay đổi cần có, hoàn toàn hoặc từng phần, đối

với đối tượng

- Cần sắp xếp đối tượng trước, sao cho chúng có thể hoạt động từ vị trí

thuận lợi nhất, không mất thời gian dịch chuyển

Ví dụ:

- Đọc cache ổ đĩa trước chuẩn bị cho việc đọc đĩa thực sự.

- Driver máy in kiểm thử tính sẵn sàng của máy in trước khi người sử

dụng hoàn tất các thiết lập của họ

11 Nguyên tắc dự phòng:

Nội dung:

- Bù đắp độ tin cậy không lớn của đối tượng bằng cách chuẩn bị trước

các phương tiện báo động, ứng cứu, an toàn

Ví dụ:

- Hệ điều hành sao lưu dữ liệu các tập tin quan trọng của nó trước khi

được sử dụng Nếu xảy ra lỗi có thể khôi phục lại mà không phải càilại

- Thiết lập thời gian timeout cho các thao tác như truy vấn cơ sở dữ

liệu, kết nối tới một dịch vụ mạng, …

Trang 11

- Sắp xếp lại một cơ sở dữ liệu hay tập tin chỉ khi nào thực sự cần

thiết Thường thì dữ liệu bị xóa bằng một cái cờ đánh dấu nó bị xóa.Các bản ghi trong cơ sở dữ liệu không phải di chuyển mặc dù chúngdường như có vị trí mới trong cơ sở dữ liệu

13 Nguyên tắc đảo ngược:

Nội dung:

- Thay vì hành động như yêu cầu bài toán, hành động ngược lại (ví dụ,

không làm nóng mà làm lạnh đối tượng)

- Làm phần chuyển động của đối tượng (hay môi trường bên ngoài)

thành đứng yên và ngược lại, phần đứng yên thành chuyển động

Ví dụ:

- Vài phép tính toán có thể gây ra tràn bộ nhớ Bằng cách thay đổi thứ

tự tính toán có thể ngăn chặn việc này Công thức p = x * y / z; cóthể được viết bằng p = (x / z) * y hay p = y / z * x; Ta có thể chọnmột trong các công thức phụ thuộc vào mối quan hệ giá trị giữa x, y,z

- Kỷ thuật ảo hóa trong điện toán đám mây.

14 Nguyên tắc cầu (tròn) hoá:

Nội dung:

- Chuyển những phần thẳng của đối tượng thành cong, mặt phẳng

thành mặt cầu, kết cấu hình hộp thành kết cấu hình cầu

- Sử dụng các con lăn, viên bi, vòng xoắn.

Trang 12

- Chuyển sang chuyển động quay, sử dung lực ly tâm.

- Cần thay đổi các đặt trưng của đối tượng hay môi trường bên ngoài

sao cho chúng tối ưu trong từng giai đoạn làm việc

- Phân chia đối tượng thành từng phần, có khả năng dịch chuyển với

nhau

Ví dụ:

- Thay đổi chế độ nhìn trong một ứng dụng như PowerPoint Chỉnh

sửa văn bản trong chế độ outline thì sẽ dàng và nhìn tổng quan hơntrong chế độ trình bày

- Các gói dữ liệu thông minh định tuyến bản thân chúng trên network.

16 Nguyên tắc giải “thiếu” hoặc “thừa”:

Nội dung:

- Nếu như khó nhận được 100% hiệu quả cần thiết, nên nhận ít hơn

hoặc nhiều hơn “một chút” Lúc đó bài toán có thể trở nên đơn giảnhơn và dễ giải hơn

Ví dụ:

- Để sắp xếp một mảng lớn thì thì thuật toán sắp xếp nhanh thường

được sử dụng Tuy nhiên khi các mảng con để sắp xếp trở nên nhỏ, íthơn 10 phần tử, các thuật toán khác được sử dụng thực thi tốt hơn

- Để nâng cao độ tin cậy của tàu vũ trụ, nhiều bộ xử lý khác nhau tính

toán cùng đầu vào với nhiều thuật toán khác nhau Nếu kết quả nàogiống nhau nhiều nhất thì đó là kết quả đúng

Trang 13

17 Nguyên tắc chuyển sang chiều khác:

Nội dung:

- Những khó khăn do chuyển động (hay sắp xếp) đối tượng theo

đường (một chiều) sẽ được khắc phục nếu cho đối tượng khả năng dichuyển trên mặt phẳng (hai chiều) Tương tự, những bài toán liênquan đến chuyển động (hay sắp xếp) các đối tượng trên mặt phẳng sẽđược đơn giản hoá khi chuyển sang không gian (ba chiều)

- Chuyển các đối tượng có kết cấu một tầng thành nhiều tầng.

- Đặt đối tượng nằm nghiêng.

- Sử dụng mặt sau của diện tích cho trước.

- Sử dụng các luồng ánh sáng tới diện tích bên cạnh hoặc tới mặt sau

của diện tích cho trước

Ví dụ:

- Một hàng đợi mà khi lớn dần và không còn chỗ để cho một phần tử

mới vào thì có thể đặt phần tử đó vào ổ đĩa cho đến khi còn chỗ trốngtrong bộ nhớ chính

- Sử dụng ký hiệu thập lục phân cho các giá trị có thể làm cho các thao

tác với bit trở nên dễ hiểu hơn

18 Nguyên tắc sử dụng các dao động cơ học:

Nội dung:

- Làm đối tượng dao động Nếu đã có dao động, tăng tầng số dao động

( đến tầng số siêu âm)

- Sử dụng tầng số cộng hưởng.

- Thay vì dùng các bộ rung cơ học, dùng các bộ rung áp điện.

- Sử dụng siêu âm kết hợp với trường điện từ.

Ví dụ:

- Sử dụng thuật toán MIN-MAX luân phiên nhau trong trò chơi và

trong trí tuệ nhân tạo

- Thuật toán round robin đọc luân phiên từ các hàng đợi.

Trang 14

19 Nguyên tắc tác động theo chu kỳ:

Nội dung:

- Chuyển tác động liên tục thành tác động theo chu kỳ (xung).

- Nếu đã có tác động theo chu kỳ, hãy thay đổi chu kỳ.

- Sử dụng các khoảng thời gian giữa các xung để thực hiện tác động

khác

Ví dụ:

- Bộ thu gom rác chỉ thực hiện khi rác trên một ngưỡng nhất định.

- Trong vài trường hợp ta nên cập nhật một bảng nào đó của cơ sở dữ

liệu chỉ một lần trên một ngày và tính toán lại việc sắp xếp chỉ mụcmột lần một ngày thay vì mỗi lần cập nhật đơn lẻ Tương tự loại bỏcác mục được đánh dấu xóa chỉ một lần một ngày

20 Nguyên tắc liên tục tác động có ích

Nội dung:

- Thực hiện công việc một cách liên tục (tất cả các phần của đối tượng

cần luôn luôn làm việc ở chế độ đủ tải)

- Khắc phục vận hành không tải và trung gian.

- Chuyển chuyển động tịnh tiến qua lại thành chuyển động qua.

Ví dụ:

- Trong hệ điều hành đa nhiệm, các tác vụ có thể chạy nền như quét

vi-rút, in ấn, …

- Tự động hoàn thành các từ trong lúc gõ văn bản hay trong lập trình

21 Nguyên tắc “vượt nhanh”:

Nội dung:

- Vượt qua các giai đoạn có hại hoặc nguy hiểm với vận tốc lớn.

- Vượt nhanh để có được hiệu ứng cần thiết.

Ví dụ:

Trang 15

- Tắt kết nối tới cơ sở dữ liệu trong khi sao lưu Sao lưu có thể thực

hiện nhanh hơn và sau khi sao lưu mọi người có thể sử dụng cơ sở

dữ liệu

- Khi phát hiện cúp điện, ta nên thực hiện thao tác dump bộ nhớ để ổ

đĩa lưu các dữ liệu lại

22 Nguyên tắc biến hại thành lợi:

Nội dung:

- Sử dụng những tác nhân có hại (thí dụ tác động có hại của môi

trường) để thu được hiệu ứng có lợi

- Khắc phục tác nhân có hại bằng cách kết hợp nó với tác nhân có hại

khác

- Tăng cường tác nhân có hại đến mức nó không còn có hại nữa.

Ví dụ:

- Nếu một chương trình mà có tác vụ tính toán hay truy vấn mất một

thời gian dài thì hiển thị một thông báo để người sử dụng có thể phamột tách cafe hay làm các bài thể dục thư giãn khác Điều này có thểtốn thời gian hơn nhưng người sử dụng không phải ở trong tình trạngchờ đợi thực sự

- Đọc bất kỳ một cuốn sách nào về các anti-pattern.

23 Nguyên tắc quan hệ phản hồi:

Nội dung:

- Thiết lập quan hệ phản hồi.

- Nếu đã có quan hệ phản hồi, hãy thay đổi nó.

Ví dụ:

- Có một thành phần giám sát trong bất kỳ phần mềm nào để mà giám

sát sự thực hiện, hiệu suất bộ nhớ và có hành động khắc phục

- Bộ xử lý ngoại lệ (exception handling)

24 Nguyên tắc sử dụng trung gian:

Nội dung:

Trang 16

- Sử dụng đối tượng trung gian, chuyển tiếp.

Ví dụ:

- Sử dụng một máy chủ cho các máy in để giữ các công việc tạm thời

khi các máy in đang offline

- Các thiết kế pattern thay vì biết trạng thái của vài đối tượng và giữ

chúng cập nhật khi trạng thái của mình thay đổi, ta chỉ cần báo phầntrung gian hay yêu cầu phần trung gian Điều này làm giảm giao tiếpgiữa các đối tượng và giảm độ phức tạp Như tạo một đối tượng xử

lý tất cả các vấn đề cấu hình hay observer pattern

- Một trình duyệt web có thể chuyển hướng request của bạn tới một

website khác nếu server không tồn tại Chẳng hạn Google bị offlinethì có chuyển tới Bing, Yahoo, …

- Các packet tự quản lý bản thân mình, chúng tìm con đường tốt nhất

của chúng khi định tuyến

26 Nguyên tắc sao chép (copy):

Nội dung:

- Thay vì sử dụng những cái không được phép, phức tạp, đắt tiền,

không tiện lợi hoặc dễ vỡ, sử dụng bản sao

- Thay thế đối tượng hoặc hệ các đối tượng bằng bản sao quang học

(ảnh, hình vẽ) với các tỷ lệ cần thiết

- Nếu không thể sử dụng bản sao quang học ở vùng biẻu kiến (vùng

ánh sáng nhìn thấy được bằng mắt thường), chuyển sang sử dụng cácbản sao hồng ngoại hoặc tử ngoại

Trang 17

- Thay thế đối tượng đắt tiền bằng bộ các đối tượng rẻ có chất lượng

kém hơn (thí dụ như về tuổi thọ)

Ví dụ:

- Tính toán với số nguyên thay vì dùng số kiểu dấu chấm động nếu

vẫn chính xác với ứng dụng của bạn, thời gian thực hiện sẽ nhanhhơn

- Xây dựng một siêu máy tính từ những máy tính cũ.

28 Thay thế sơ đồ cơ học:

Nội dung:

- Thay thế sơ đồ cơ học bằng điện, quang, nhiệt, âm hoặc mùi vị.

- Sử dụng điện trường, từ trường và điện từ trường trong tương tác với

đối tượng

- Chuyển các trường đứng yên sang chuyển động, các trường cố định

sang thay đổi theo thời gian, các trường đồng nhất sang có cấu trúcnhất định

- Sử dụng các trường kết hợp với các hạt sắt từ.

Ví dụ:

- Dụng cụ ống nghe khám bệnh của một bác sĩ có thể bằng thế bằng

một microphone và một headphone Ưu điểm là một đoạn ghi âmđược thực hiện, xử lý các tín hiệu phức tạp như phân tích tần số, nhịptim, …

- Chuyển đổi văn bản thành giọng nói (text-to-speech) hay giọng nói

thành văn bản (speech-to-text)

Trang 18

29 Sử dụng các kết cấu khí và lỏng:

Nội dung:

- Thay cho các phần của đối tượng ở thể rắn, sử dụng các chất khí và

lỏng: nạp khí, nạp chất lỏng, đệm không khí, thủy tĩnh, thủy phảnlực

Ví dụ:

- Sử dụng biến thay vì hằng số được code cứng Khi hằng số thay đổi

chỉ cần thay đổi ở một nơi

- Aero Glass GUI của Win7 hay Aqua GUI của Apple, …

30 Sử dụng vỏ dẻo và màng mỏng:

Nội dung:

- Sử dụng các vỏ dẻo và màng mỏng thay cho các kết cấu khối.

- Cách ly đối tượng với môi trường bên ngoài bằng các vỏ dẻo và

màng mỏng

Ví dụ:

- Các lớp được định nghĩa với các interface có thể thay đổi nội dung

các interface bên trong lớp

- Sử dụng các trường trong header của TCP/IP mà không được sử

dụng để truyển tải dữ liệu (được sử dụng bởi những người viết virusđể làm botnet)

- Pattern Inversion of Control (IoC), các phụ thuộc sẽ được tiêm vào

ứng dụng tại nơi xác định trước bởi bộ chứa thay vì phải code cứng

Trang 19

- Các phần mềm thông qua việc định nghĩa các interface trước có thể

được cắm vào bởi nhiều nhà phát triển bên thứ ba

32 Nguyên tắc thay đổi màu sắc:

Nội dung:

- Thay đổi màu sắc của đối tượng hay môi trường bên ngoài.

- Thay đổi độ trong suốt của của đối tượng hay môi trường bên ngoài.

- Để có thể quan sát được những đối tượng hoặc những quá trình, sử

dụng các chất phụ gia màu, hùynh quang

- Nếu các chất phụ gia đó đã được sử dụng, dùng các nguyên tử đánh

dấu

- Sử dụng các hình vẽ, ký hiệu thích hợp.

Ví dụ:

- Một đồng hồ gần như trong suốt trong desktop trở nên ít trong suốt

hơn khi gần đến thời gian một cuộc hẹn

- Các ứng dụng cho nhà thiên văn học có thể thay đổi màu sắc của

giao diện người sử dụng đến màu đỏ hay đen thay vì đầy đủ màu sắc.Điều này cần thiết khi sử dụng trong bóng tối, mắt người cần thờigian để làm quen với bóng tối để xem các ngôi sao Một giao diệnmàu đỏ hay đen không ảnh hưởng tới sự nhạy cảm của mắt

33 Nguyên tắc đồng nhất:

Nội dung:

- Những đối tượng, tương tác với đối tượng cho trước, phải được làm

từ cùng một vật liệu (hoặc từ vật liệu gần về các tính chất) với vậtliệu chế tạo đối tượng cho trước

Ví dụ:

- Sử dụng trình biên dịch để biên dịch chính nó.

- Một hàm mà nhận các đối số là các lớp cơ sở để mà các lớp con cũng

được xử lý như vậy

Trang 20

34 Nguyên tắc phân hủy hoặc tái sinh các phần:

Nội dung:

- Phần đối tượng đã hoàn thành nhiệm vụ hoặc trở nên không càn thiết

phải tự phân hủy (hoà tan, bay hơi ) hoặc phải biến dạng

- Các phần mất mát của đối tượng phải được phục hồi trực tiếp trong

quá trình làm việc

Ví dụ:

- Giải phóng bộ nhớ không cần sử dụng nữa bởi bộ thu gom rác như

trong Java

- Giữ một vùng chứa của các đối tượng phức tạp mà thường xuyên

được tạo ra, sử dụng và xóa đi Bằng cách giữ chúng trong vùngchứa, quá trình tạo ra nhanh hơn nhiều khi các đối tượng được lấy từvùng chứa Nó cũng giảm tải cho bộ thu gom rác cho các đối tượng

bị xóa

35 Thay đổi các thông số hoá lý của đối tượng:

Nội dung:

- Thay đổi trạng thái đối tượng.

- Thay đổi nồng độ hay độ đậm đặc.

- Thay đổi độ dẻo.

- Thay đổi nhiệt độ, thể tích.

Ví dụ:

- Bằng cách làm việc với template, một trình biên tập trở nên đa năng

hơn, chẳng hạn tải một template highlight cú pháp khác làm chotrình biên tập phù hợp với một ngôn ngữ lập trình khác

- Chạy một chương trình với nhiều điều kiện tải khác nhau, chẳng hạn

chạy trong hệ điều hành Windows hay Linux, màn hình 10’ hay 15’,

36 Sử dụng chuyển pha:

Nội dung:

Trang 21

- Sử dụng các hiện tượng nảy sinh trong quá trình chuyển pha như:

thay đổi thể tích, toả hay hấp thu nhiệt lượng

Ví dụ:

- Một danh sách liên kết có thể giữ một con trỏ ở phần tử cuối cùng

được chèn vào Khi ta cần tìm kiếm qua danh sách liên kết này, ta cóthể kiểm tra con trỏ này để suy xét nên bắt đầu từ nút này trong danhsách hay bắt đầu từ đầu danh sách Điều này tăng tốc tìm kiếm tuyếntính trung bình gấp 2 lần

- Khi chuyển đổi từ một loại thiết bị/OS/chương trình sang một cái

khác, giám sát chặt chẽ những gì xảy ra chẳng hạn như cách chuyểnđổi như thế nào có thể có ích trong tương lai

37 Sử dụng sự nở nhiệt:

Nội dung:

- Sử dụng sự nở (hay co) nhiệt của các vật liệu.

- Nếu đã dùng sự nở nhiệt, sử dụng với vật liệu có các hệ số nở nhiệt

khác nhau

Ví dụ:

- Khi dữ liệu được nén nó có thể được gửi nhanh hơn qua mạng, hoặc

tốn ít không gian lưu trữ hơn Người ta phải giải nén để có thể sửdụng nó

- Khi tính toán với đô-la hay các tiền tệ khác thì thường là một tính

toán dấu chấm động Bằng cách nhân các số với 100, ta có thể tínhtoán trong miền số nguyên, nhanh hơn và ít lỗi làm tròn số hơn

38 Sử dụng các chất oxy hoá mạnh:

Nội dung:

- Thay không khí thường bằng không khí giàu oxy.

- Thay không khí giàu oxy bằng chính oxy.

- Dùng các bức xạ ion hoá tác động lên không khí hoặc oxy.

- Thay oxy giàu ozon (hoặc oxy bị ion hoá) bằng chính ozon.

Ví dụ:

Ngày đăng: 21/05/2015, 22:40

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w