Tải bản đầy đủ (.pdf) (24 trang)

tiểu luận các nguyên lý sáng tạo và phần mềm máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (394.94 KB, 24 trang )

TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 1


ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
NGÀNH: KHOA HỌC MÁY TÍNH





BÀI THU HOẠCH MÔN HỌC

PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG
TIN HỌC



Đề tài:


CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẦN
MỀM MÁY TÍNH





Giảng viên hướng dẫn: GS.TSKH.Hoàng Kiếm
Học viên: Nguyễn Khắc Duy


Khóa 22 KHMT - Mã số: 12 11 017


TP HCM, năm 2012
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 2


TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 3

Mở đầu
Khoa học và công nghệ đã trở thành yếu tố cốt tử của sự phát triển, ảnh hưởng
trực tiếp đến nền kinh tế toàn cầu. Điều này được phản ánh rõ trong việc hoạch định
các chính sách và chiến lược phát triển khoa học, công nghệ và kinh tế của nhiều
nước trên thế giới. Nghiên cứu khoa học ngày càng được quan tâm hơn cùng với
việc đầu tư của các quốc gia.
Trong bài thu hoạch này em muốn tóm tắt lại một số kiến thức về phương
pháp nghiên cứu khoa học, đồng thời cũng liên hệ với thực tế việc áp dụng “40
nguyên lý sáng tạo” trong phần mềm máy tính.
Qua đây, em cũng xin được gửi lời cảm ơn chân thành đến Giáo sư - T iến sỹ
Khoa Học Hoàng Kiếm, người không những tận tâm truyền đạt những kiến thức nền
tảng cơ bản cho chúng em về môn học “Phương pháp nhiên cứu khoa học trong tin
học” mà còn kích thích tư duy, tăng khả năng nghiên cứu tìm tòi trong mỗi cá nhân.
Cũng xin gởi lời cảm ơn đến các bạn bè học viên trong lớp, những người bạn luôn
sẵng sàng chia sẻ kiến thức thu nhận được với nhau.
Học viên: Nguyễn Khắc Duy
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 4


MỤC LỤC
Mở đầu 3

I. GIỚI THIỆU: 5

II. LIÊN HỆ 40 NGUYÊN LÝ SÁNG TẠO VÀ PHẦN MỀM MÁY TÍNH : 5

1.

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

2.

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

3.

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

4.

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

5.

Nguyên tắc kết hợp 8

6.

Nguyên tắc vạn năng 8


7.

Nguyên tắc “chứa tron g” 9

8.

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

9.

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

10.

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

11.

Nguyên tắc dự ph òng 10

12.

Nguyên tắc đẳng thế 11

13.

Nguyên tắc đảo n gược 11

14.


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

15.

Nguyên tắc linh động 12

16.

Nguyên tắc gi ải “thiếu” h oặc “thừa” 12

17.

Nguyên tắc ch uyển sang chiều khác 12

18.

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

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 14

21.

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


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 15

24.

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

25.

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

26.

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

27.

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

28.

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

29.


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

30.

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

31.

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

32.

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

33.

Sử dụng các vật liệu hợp thành (com posite) 20

Đặc điểm chung: 21

III. KẾT LUẬN: 23

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


TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 5



I. GIỚI THIỆU:
Genrich Altshuller phát triển 40 nguyên tắc cách đây hơn 20 năm. Ông và các
cộng sự của mình đánh giá hàng ngàn bằng sáng chế trên toàn thế giới, lựa chọn đặc
biệt từ các ngành công nghiệp hàng đầu, đúc kết nên bản chất của những sáng tạo
của giải pháp cho mâu thuẫn kỹ thuật. Đặc biệt, Altshuller đã quan tâm đến việc điều
tra các mâu thuẫn đã được giải quyết mà không có sự thỏa hiệp.
Altshuller nhận thấy rằng việc sử dụng các nguyên tắc trước đây được sử dụng
để giải quyết các vấn đề tương tự trong sáng tạo các giải pháp khác có thể giải quy ết
các vấn đề kỹ thuật. Altshuller đã xác định 40 nguyên tắc từ sự phân tích những phát
minh, sáng chế thành công.
II. LIÊN HỆ 40 NGUYÊN LÝ SÁNG TẠO VÀ PHẦN MỀM MÁY
TÍNH :
1. Nguyên tắc phân nhỏ
a) Chia đối tượng thành các phần độc lập.
Ví dụ:
Intelligent Agents (Các tác tử thông minh) có thể hoạt động độc lập với nhau,
đạt được một mục tiêu chung.
b) Làm đối tượng trở nên tháo lắp được.
Ví dụ:
C++ temp lates: cung cấp một phương tiện chứa mã để tổng quát hóa các
trường hợp để xử lý, không cần thiết phải xử lý các trường hợp có chung đặc điểm
(generic programming)  Tối ưu hóa mã nguồn, tránh lặp lại xử lý.
c) Tăng mức độ phân nhỏ đối tượng.
Ví dụ:
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 6

Tăng mức độ phân nhỏ cho đến khi đạt đến một ngưỡng - atomic threshold
(Ngưỡng nguyên tử là đơn vị cấu trúc nhỏ nhất của một đối tượng hoặc một thành
phần, ví dụ, các bit có thể được xem như nguy ên tử trong bối cảnh của một chương

trình mã hóa).
Phần mềm Ví dụ:
Fragmentation of Confidential Objects (Tạm gọi là
Phân mảnh các đối
tượng bí mật). Ý tưởng này, dựa trên sự phân mảnh đối tượng tại thời gian thiết kế,
là giảm chế biến trong các đối tượng bí mật, nhiều đối tượng không bảo mật có thể
được sản xuất tại thời gian thiết kế, các đối tượng ứng dụng có thể được xử lý trên
máy tính dùng chung không đáng tin cậy.
2. Nguyên tắc “tách khỏi”
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 đối tượng.
Ví dụ 1:
Khai thác văn bản trong hình ảnh. Kĩ thuật phân tách văn bản rất hữu ích
trong việc định vị và giải nén các khối văn bản trong hình ảnh. Thuật toán hoạt động
mà không có kiến thức trước khi kích thước văn bản, định hướng hoặc font chữ. Nó
được thiết kế để loại bỏ thông tin hình ảnh nền và đánh dấu, hoặc xác định các khu
vực của hình ảnh có chứa văn bản.
Ví dụ 2:
Parser. Dữ liệu phân tích cú pháp đề cập đến quá trình lập trình dữ liệu đầu
vào được chia thành từng mảnh nhỏ riêng biệt của thông tin mà có thể được dễ dàng
hơn giải thích và hành động.
3. Nguyên tắc phẩm chất cục bộ
a) 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.
b) Các phần khác nhau của đối tượng phải có các chức năng khác nhau.
c) 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.
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 7


Ví dụ 1:
Một phương pháp lấy mẫu thống nhất không cho nhận dạng ký tự. Phương
pháp xác định khai thác tính năng như các tính năng lấy mẫu một chiều trong một
hướng vuông góc với một định hướng dòng nhất định. Nó mẫu tính năng ở các
khoảng thời gian không thống nhất như vậy là để tránh misidentifying hai dòng trong
gần như là một dòng duy nhất.
Ví dụ 2:
Non-uniform access algorithms (
Các thuật toán truy cập không đồng đều)
. Trong
môi trường không dây, thông tin được phát sóng trên các kênh truyền thông cho các
khách hàng bằng cách sử dụng mạnh mẽ, hoạt động bằng pin palmtops. Để bảo tồn
năng lượng, thông tin được phát sóng phải được tổ chức để khách hàng có chọn lọc
có t hể điều chỉnh ở phần mong muốn phát sóng. Hầu hết các công việc hiện tại tập
trung vào phát sóng thống nhất. Tuy nhiên, rất thường xuyên, một lượng nhỏ thông
tin thường xuyên hơn truy cập bởi số lượng lớn các khách hàng trong khi phần còn
lại là ít hơn nhu cầu. Sử dụng chất lượng chủ yếu của địa phương, không thống nhất
thuật toán có thể được phát triển để dự đoán hành vi truy cập thích hợp cho một hoạt
động cụ thể.
Ví dụ 3:
Thúc đẩy một đối tượng dữ liệu đến level cao hơn trong một single index
tree. Xét bối cảnh của dữ liệu không gian (
spatial data)
trong kĩ thuật xử lý và quản lý
dữ liệu. Không thống nhất trong dữ liệu mức độ là một đặc tính chung của dữ liệu
không gian. Lập chỉ mục dữ liệu không đồng nhất như vậy bằng cách sử dụng cấu
trúc chỉ số thông thường không gian như R-cây là không hiệu quả vì hai lý do: (1) sự
thống nhất, làm tăng khả năng chồng chéo các mục chỉ mục, và, (2) phân cụm dữ
liệu không đồng nhất có thể không gian chỉ số chết hơn phân nhóm dữ liệu thống
nhất. Sử dụng cách TRIZ, chúng ta phải nhìn trong môi trường hiện tại của chúng ta

để thực hiện các chức năng hữu ích. Để thực hiện các t ác động của những bất thường
"hữu ích", chúng ta phát minh ra một kế hoạch mới thúc đẩy các đối tượng dữ liệu
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 8

cấp độ cao hơn trong các cấu trúc chỉ số dựa trên cây, những đối tượng sau đó thực
hiện các chức năng khác nhau dựa vào bối cảnh vị trí trong cây chỉ mục.
4. Nguyên tắc phản đối xứng
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ậc đối xứng).
Ví dụ:
Trong việc xây dựng các thuật toán đồ họa máy tính. nguyên lý phản đối xứng
được áp dụng.
5. Nguyên tắc kết hợp
a) Kết hợp các đối tượng đồng nhất hoặc các đối tượng dùng cho các hoạt động
kế cận.
b) Kết hợp về mặt thời gian các hoạt động đồng nhất hoặc kế cận.
Ví dụ:
Các hệ thống giao dịch trực tuyến (internet banking, core banking) của các
ngân hàng. Ngày nay đa số các ngân hàng đã liên minh với nhau trong việc xử lý các
giao dịch của khách hàng. Vì vậy đòi hỏi ở mỗi ngân hàng phải có các phần mềm xử
lý giao dịch cho phép liên thông, kết nối, phối hợp và đồng bộ với các ngân hàng
khá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 sự tham gia
của các đối tượng khác.
Ví dụ:
Simulink là phần mềm dùng để mô hình hóa, mô phỏng và phân tích một hệ
thống động. Simulink cho phép mô tả một hệ thống tuyến tính, hệ phi tuyến các
phương trình trong thời gian liên tục, gián đoạn hay một hệ kết hợp liên tục và gián

đoạn. Hệ thống cũng có thể có nhiều tốc độ khác nhau.
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 9

Công cụ mô phỏng Simulink được tích hợp sẵn thư viện mô hình chứa các khối
như khối nhận tín hiệu, các nguồn tín hiệu, các phần tử tuyến tính và phi tuy ến
,…mô phỏng trong nhiều lĩnh vực: hàng không, kỹ thuật số, dao động, cơ khí, giao
thông, …Việc thiết kế Simulink theo nguyên tắc vạn năng giúp tiết kiệm không gian,
không cần thiết phải xây dựng mỗi công cụ cho mỗi chức năng. Đồng thời, người
dùng có thể tạo ra những khối chức năng mới, tăng số chức năng của đối tượng.
7. Nguyên tắc “chứa trong”
a) 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
b) Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác.
Ví dụ: Phần mềm Matlab
Tính toán kỹ thuật là một lĩnh vực rộng lớn. Do đó, kho công cụ trong Matlab
được quản lí theo nguyên tắc chứa trong. Hộp Toolbox chứa đựng nhiều Toolbox
cho nhiều lĩnh vực khác nhau. Bên trong mỗi Toolbox chứa:
+ Các Tool: các phần mềm có cấu trúc khác nhau, sử dụng thư viện lệnh của
Toolbox
+ Help: Danh mục các hàm và tham số của hàm dùng trong Toolbox.
+ Demos: chức các ví dụ đã thực hiện sẵn và giải thích.
+ Product Page: trang trao đổi thông tin trực tuyến về Tool.
“Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác”, khi khởi
động một Tool, các chức năng của Tool cũng đuợc khởi động. Các chức năng hoạt
động trong suốt thời gian hoạt động của Tool và cũng kết thúc khi đóng Tool. Như
vậy, các chức năng của mỗi Tool là hoàn toàn chứa trong Tool đó.
8. Nguyên tắc phản trọng lượng
a) 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) 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
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 10

Ví dụ:
Các phần mềm open source, chất lượng kém, bù trừ cho chi phí bản quy ền
phần mềm.
9. Nguyên tắc gây ứng suất sơ bộ
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 ứng suất trước để khi làm
việc sẽ dùng ứng suất ngược lại ).
Ví dụ:
Facebook tạo ra các phương án khắc phúc sự cố quá tải (vô hiệu hóa các
chức năng ít quan trọng để tăng hiệu quả trong những chức năng chính) chứng tỏ
Facebook đã ứng dụng nguy ên tắc ứng suất sơ bộ.
10.Nguyên tắc thực hiện sơ bộ
a) 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.
b) 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ụ:
Java Virtual Machine chuy ển văn bản mã thành một dạng trung gian trước khi
thực hiện nó và / hoặc biên dịch nó thành dạng số nhị phân cụ thể của máy.
11.Nguyên tắc dự phòng
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ụ:
Trong phần mềm HTM L 5 đã loại bỏ đi nhiều thẻ cũ nhưng thực chất vẫn có
một số thẻ còn sử dụng được trong phiên bản thứ năm này như thẻ <frame>,

<frameset>. Nhưng theo ý kiến riêng của em, những thẻ nào không được khuyến
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 11

cáo sử dụng thì đừng nên sử dụng quá nhiều. Vì sau này những thẻ đó có thể thực
sự bị loại bỏ hoàn toàn trong các phiên bản tương lai.
Một số thẻ cũ đã được đề nghị thay thế bởi các thẻ mới có nhiều tính năng
hơn như:
 Thẻ <strike> được thay bởi thẻ <del>.
 Thẻ <center>, <u>, v.v… được thay bởi CSS.
12.Nguyên tắc đẳng thế
Thay đổi điều kiện làm việc để không phải nâng lên hay hạ xuống các đối tượng.
Ví dụ:
Lập trình ứng dụng web, có một số trường hợp vì giới hạn băng thông của
đường truyền, ta không thể load một trang web với dung lượng lớn, vì vậy để giữ
nguyên băng thông của đường truyền ta phải tối ưu mã nguồn của website(image,
javascript…)
13.Nguyên tắc đảo ngược
a) Thay vì hành động n hư yêu cầu bài toán, hành độn g ngược lại (ví dụ, không
làm nóng mà làm lạ nh đối tượng)
b) 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ụ:
Trong một số ngôn ngữ lập trình (C, Visual basic…) thay vì đi xét một số
biểu thức logic có giá trị “true” thì ta lại xét có giá trị “false”.
14.Nguyên tắc cầu (tr òn) hoá
a) 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.
b) Sử dụng các con lăn, viên bi, vòng xoắn.
c) Chuyển sang chuyển động quay, sử dụ ng lực ly tâm.

TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 12

Ví dụ:
Phần mềm phân tích và xử lý các tín hiệu được thu nhận từ các vệ tinh, sử
dụng các mặt cầu để xác định các điểm giao nhau thay vì sử dụng các đường tròn.
15.Nguyên tắc linh động
a) Cần thay đổi các đặt trưng của đối tượng hay môi trường bên ngoài s ao cho
chúng tối ưu trong từng giai đoạn làm việc.
b) 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ụ:
Ngôn ngữ lập trình visual basic.net ta có kiểu dữ liệu “object” có thể chứa
bất kỳ giá trị nào thuộc kiểu int, string, double…
16.Nguyên tắc giải “thiếu” hoặc “thừa”
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ản hơn và dễ giải hơn.
Ví dụ:
Một trong những ứng dụng phổ biến nhất trên Facebook là ứng dụng Hình
ảnh (Photos), nơi thành viên có thể upload album và hình ảnh. Facebook cho phép
người dùng tải lên không giới hạn số hình ảnh, so với các dịch vụ lưu trữ hình ảnh
kh́c như Photobucket và Flickr, trong đó ́p dụng giới hạn số lượng c ác bức ảnh mà
người dùng được phép tải lên. Điều này đã đóng góp phần nào đó trong thành công
của Facebook ngày nay.
17.Nguyên tắc chuyển sang chiều khác
a) 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 di chuyển trên mặt phẳng
(hai chiều). Tương tự, những bài toán liên quan đế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).
b) Chuyển các đối tượng có kết cấu một tầng thành nhiều tầng.

TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 13

c) Đặt đối tượng nằm nghiêng.
d) Sử dụng mặt sau của diện tích cho trướ c.
e) 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ụ:
Áp dụng mô hình thác nước trong công nghệ phần mềm, khi chuyển sang giai
đoạn coding, ta có thể quay trở lại giai đoạn phân tích thiết kế
18.Nguyên tắc sử dụng các dao động cơ học
a) Làm đối tượng d ao động. Nếu đã có dao động, tă ng tầng số dao động ( đến
tầng số siêu âm).
b) Sử dụng tầng số cộng hưởng.
c) Thay vì dùng các bộ run g cơ học, dùng các bộ rung áp điện.
d) Sử dụng siêu âm kết hợp với trường điện từ.
Ví dụ:
Lĩnh vực điện toán đám mây (cloud computing), với điện toán đám mây,
người dùng thông thường không cần phải quá để tâm đến việc đầu tư phần cứng để
lưu trữ dữ liệu và xử lý công việc. Tất cả mọi thứ đã được lưu trữ trên máy chủ của
nhà cung cấp dịch vụ web. Bằng cách này, nhiều người có thể truy cập và chia sẻ dữ
liệu cùng nhau. Trong tương lai, một viễn cảnh được đưa ra là người dùng chỉ cần
một thiết bị cài sẵn trình duyệt, không cần ổ cứng, kết nối Internet và truy cập, xử lý
dữ liệu từ bất kỳ đâu. Trong công nghệ ảo hóa, nếu như trước kia, mỗi hệ điều hành
cần phải cài trên một máy vật lý riêng biệt, thì giờ đây chỉ cần một máy tính vật lý có
thể chạy nhiều hệ điều hành cùng lúc. Trong tương lai, ngay cả điện thoại thông
minh cũng có thể khởi động cùng lúc nhiều hệ điều hành(nguồn internet).
19.Nguyên tắc tác động theo chu kỳ
a) Chuyển tác động liên tục thà nh tác động theo chu kỳ (xung).
b) Nếu đã có tác động theo chu kỳ, hãy thay đổi chu kỳ.

TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 14

c) 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ụ:
Các phần mềm trên máy tính đa số đều sử dụng nguyên tắc này. Có thể lấy
một số phần mềm ứng dụng phổ biến như các chương trình virus đều có thể lập
trình cho quá trình update dữ liệu. Hay ngay cả trong window cũng có quá trình
updat e theo chu kỳ.
20.Nguyên tắc liên tục tác động có ích
a) 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).
b) Khắc phục vận hành không tải và trung gian.
c) Chuyển chuyển động tịnh tiến qua lại thành chuyển động qua.
Ví dụ:
Lĩnh vực điện toán đám mây (cloud computing), trong công nghệ ảo hóa, các
hệ thống trung tâm máy chủ phải chạy liên tục 24/24 vì người dùng ở khắp nơi trên
thế giới, không cùng thời điểm đều có thể truy cập dịch vụ web và xử lý thông tin.
21.Nguyên tắc “vượt nhanh”
a). Vượt qua các giai đoạn có hại hoặc nguy hiểm với vận tốc lớn.
b). Vượt nhanh để có được hiệu ứng cần thiết.
Ví dụ:
Phần mềm diệt virus BKAV có hai cơ chế Quick Scan hay Full Scan.
22.Nguyên tắc biến hại thành lợi
a). 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.
b). 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.
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ụ:
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH

NGUYỄN KHẮC DUY – K22 – 12 11 017 15

Ngày nay các quốc gia trên thế giới t hường thực hiện phương thức chiến tranh
điện tử, các virus được lập trình để phá hoại các hệ thống phòng thủ, máy bay không
người lái…
23.Nguyên tắc quan hệ phản hồi
a). Thiết lập quan hệ phản hồi
b). Nếu đã có quan hệ phản hồi, hãy thay đổi nó.
Ví dụ:
Hệ điều hành giao tiếp với ngừơi sử dụng nên Windows phải có khả năng
phản hồi lại yêu cầu của người dùng thông qua giao diện đồ hoạ thân thiện với
người dùng và dể sự dụng. Sau khi phản hồi Windows chở hành động tiếp theo
của người dùng và dựa vào đó để thực thi các process tiếp theo. Như vậy quá trình
xử lý tiệp tục cho đến khi mọi nhu cầu của người sử dụng được đáp ứng.
24.Nguyên tắc sử dụng trung gian
Sử dụng đối tượng trung gian, chuyển tiếp.
Ví dụ:
Một số ứng dụng phần mềm như ngân hàng, chứng khoán, thương mại điện
tử…có một số giao dịch có tính chất tạm thời, chờ xử lý, chờ xác nhận… thường ta
lưu trữ vào trong các table tạm, sau khi hoàn tất các giao dịch ta có thể đưa dữ liệu
vào các table chính thức.
25.Nguyên tắc tự phục vụ
a). đối tượng phải tự phục vụ bằng cách thực hiện các thao tác phụ trợ, sửa
chữa.
b). Sử dụng phế liệu, chất thải, năng lượng dư.
Ví dụ:
Symantec Update, ứng dụng này kiểm tra định kỳ các bản cập nhật, nếu có
những thay đổi mới cần phải được cập nhật, một đồ thị phụ thuộc được thực hiện và
việc thực hiện đó phục vụ cho các ứng dụng.
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH

NGUYỄN KHẮC DUY – K22 – 12 11 017 16

26.Nguyên tắc sao chép (copy)
a). 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.
b). 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.
c). 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ác bản sao hồng ngoại
hoặc tử ngoại.
Ví dụ:
Tương tự phần mềm: Thay vì tạo ra một đối tượng mới mà mất các nguồn tài
nguyên không cần thiết, ta thực hiện một shallow copy.
Một shallow copy xây dựng một đối tượng hợp chất mới và sau đó (đến mức
có thể) chèn những tham chiếu vào nó để các đối tượng được tìm thấy trong bản gốc.
27.Nguyên tắc “rẻ” thay cho “đắt”
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ụ:
Thay vì phát triển một ứng dụng đầy đủ trên một mẫu thử nghiệm gây ra chi
phí quá đắt tiền, sử dụng Throwaway (or rapid) prototypes. Throwaway (or rapid)
prototypes:
 Được xây dựng càng nhanh càng tốt, không có kỹ thuật thích hợp,
 Thực hiện yêu cầu duy nhất chưa được hiểu rõ,
 Được sử dụng để tìm hiểu các y êu cầu bị cho là có thật và không thật,
 Được “vứt bỏ” sau khi các thông tin mong muốn được học.
28.Thay thế sơ đồ cơ học
a. Thay thế sơ đồ cơ học bằng điện, quang, nhiệt, âm hoặc mùi vị.
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 17


b. 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
c. 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úc nhất định .
d. Sử dụng các trường kết hợp với các hạt sắt từ.
Đây là một ví dụ đơn giản: nhận dạng giọng nói làm giảm bớt các tác động cơ học
của việc đánh máy và việc gõ nhầm phím.
29.Sử dụng vỏ dẻo và màng mỏng
a). Sử dụng các vỏ dẻo và màng mỏng thay cho các kết cấu khối.
b). 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ụ:
Một wrapper

(hay adapter object) phân lập đối tượng với đối tượng từ môi
trường bên ngoài bằng cách duy trì một giao diện cố định giữa các đối tượng bên
trong và đối tượng bên ngoài (đối tượng wrapper).

Wrapper là tên gọi kỹ thuật tách dữ liệu từ một website và chuyển đổi nguồn
thông tin này về dạng dễ sử dụng (bao gồm cả end users và developer). Đây là những
giải pháp thu thập dữ liệu thương mại trong thời kỳ dotcom bùng nổ Wrapper hay
gọi chính xác hơn là các Wrapper Generation - Wrapper Generator giống như các
robot bán tự động hoặc tự động nhận đầu vào là 1 website, truy vấn và bóc tách phần
nội dung có ích rồi trả về cho user. N guồn dữ liệu này thông thường được ghi trực
tiếp lên database theo những mô hình mà hệ thống cung cấp trước để phục phụ vào
những mục đích khác nhau. Thời kỳ thương mại điện tử phát triển trong khi các hệ
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 18

thống search chưa thực sự mạnh thì nguồn thông tin này đúng là rất có giá cho một

doanh nghiệp hoặc một tổ chức nào đó.
Wrapper G eneration không có một mô hình kỹ thuật chung mà chỉ là tên gọi
cho các giải pháp bóc t ách dữ liệu từ net. Kỹ thuật có thể dựa vào trực tiếp source
code HTM L như : các css, tag name, attributes, để xác định vị trí nội dung cần lấy.
Hoặc cách khác, phân tích HTML document ra HTML DOM Tree rồi dựa vào tree
này để lấy ra phần dữ liệu cần thiết (dựa vào index của các tree node hay tree
path, ). M ột cách khác nữa là cho user làm việc trực tiếp trên renderer của browser,
nghĩa là user chỉ ra phần cần lấy rồi hệ thống tự học và ghi lại cấu hình bóc tách,
cách thức "học" của hệ thống có thể là căn cứ vào html tag nguồn cộng với nhãn
(tên) của phần nội dung.Wrapper cũng có thể dựa trên mô hình mapping, nghĩa là
đầu vào cung cấp một cấu trúc tài liệu chuẩn cho trước, sau khi lấy data thô về,
nguồn data này được chuyển đổi theo mô hình đó và hệ thống tiến hành bóc tách
thông tin. Những hệ thống phức tạp sau khi định vị dữ liệu trên website nguồn còn
bắt buộc user phải map kết quả vào một dạng thức mà họ định ra, chẳng hạn các
bảng hay một xml document.
HTML Document là nguồn dữ liệu đã được định dạng, hơn nữa , hầu hết các
website đều "động", có nghĩa là dữ liệu đã được định sẵn theo một mô hình chung,
trước khi gửi về client. Do đó, phân tích cú pháp của một website cụ thể thì có thể
tìm ra những quy luật bóc t ách nguồn dữ liệu từ website đó. Tuy nhiên, có được kỹ
thuật làm việc với một website không có nghĩa là nó sẽ chạy tốt với website khác.
Dạng thức bày bố khác nhau cộng với HTML document thường bị sai cú pháp, ngay
cả bản thân html tag cũng có nhiều tag option (không cần đóng cũng được) đã gây
khó khăn cho việc định ra một luật chung để bóc t ách dữ liệu. Mỗi kỹ thuật trình bày
ở trên có thể làm việc tốt một nhóm dạng website như nhóm website bán hàng, nhóm
website thông tin, nhóm dịch vụ, forum, X ây dựng các Wrapper thường phục phụ
cho việc lấy ra nguồn dữ liệu có ích vào mục đích cụ thể nên các hệ thống này đã đạt
được những thành công nhất định. Ngày nay khi mà yêu cầu về chia sẻ nội dung
cùng với Semantic Web, đặc tả dữ liệu được cung cấp dưới dạng chuẩn (RSS, RDF,
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 19


ATOM , M ETA Tag, ) nên có thể căn cứ vào những đặc tả này xây dựng mô hình
bóc tách nội dung.
Hiện nay có rất nhiều mô hình bóc tách dữ liệu, chỉ cần vào google gõ mấy từ
như Data Extraction, Crawler, Web Clipping , HTML DOM, sẽ thu được những
nguồn tài liệu đặc tả chi tiết các kỹ thuật bóc tách.
30.Nguyên tắc thay đổi màu sắc
a). Thay đổi màu sắc của đối tượng hay môi trường bên ngoài
b). Thay đổi độ trong suốt của của đối tượng hay môi trường bên ngoài.
c). Để 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.
d). Nếu các chất phụ gia đó đã được sử dụng, dùng các nguyên tử đánh dấu.
e). Sử dụng các hình vẽ, ký hiệu thích hợp.
Ví dụ:
Chức năng transparency (làm trong suốt) trong một chương trình chỉnh sửa
ảnh hay chương trình vẽ.
31.Nguyên tắc phân hủy hoặc tái sinh các phần
a). 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.
b). 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ụ:
Tiến trình thu gom rác trong ngôn ngữ lập trình Java, định kỳ "dọn dẹp" bộ
nhớ bằng cách hủy bỏ các đối tượng đã sống qua phạm vi của chúng.
32.Thay đổi các thông số hoá lý của đối tượng
a). Thay đổi trạng thái đối tượng.
b). Thay đổi nồng độ hay độ đậm đặc.
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 20


c). Thay đổi độ dẻo
d). Thay đổi nhiệt độ, thể tích.
Ví dụ:
Một ứng dụng phần mềm có thể được chuyển đổi để cung cấp một dịch vụ
khác dựa trên những thuộc tính thay đổi tự động. Sự linh hoạt này cho phép đa vai
trò các đối tượng trong một ứng dụng.
33.Sử dụng các vật liệu hợp thành (composite)
Chuyển từ các vật liệu đồng nhất sang sử dụng những vật liệu hợp thành
(composite). Hay nói chung sử dụng các vật liệu mới.
Ví dụ:
Software design patterns (các mẫu thiết kế phần mềm) là khái niệm trừu
tượng cốt lõi đằng sau thành công các giải pháp vấn đề định kỳ trong thiết kế phần
mềm. Tổng hợp các mẫu thiết kế là trừu tượng cốt lõi đằng sau khuôn khổ thành
công theo định kỳ. M ột mẫu thiết kế composite tốt nhất mô t ả như là một tập các mô
hình tích hợp trong đó cho thấy một sự kết hợp mà làm cho các thành phần nhiều
hơn tổng của các bộ phận của nó. Bài viết này trình bày các ví dụ của các mẫu
composite, thảo luận về một phân tích và kỹ thuật tổng hợp, và chứng minh rằng các
mô hình hỗn hợp mở rộng ý tưởng mô hình từ các giải pháp vấn đề duy nhất khuôn
khổ hướng đối tượng.
Trong công nghệ phần mềm, một mẫu thiết kế (Design Pattern) là một giải
pháp có thể áp dụng lại cho các vấn đề chung thường gặp trong thiết kế phần mềm.
Một phần mềm có thể hoàn thành mà không có sự góp mặt của Design Pattern nhưng
sự có mặt của Design Pattern sẽ giúp xác định bài toán nhanh hơn và giải quy ết một
cách hiệu quả hơn. Một mẫu thiết kế không phải là một thiết kế hoàn thiện để có thể
chuyển đổi trực tiếp thành mã. Nó chỉ là các hướng dẫn hay là ví dụ mẫu chỉ ra cách
giải quyết một vấn đề mà chúng ta có thể áp dụng vào trong nhiều tình huống khác
nhau.
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 21


Các giải thuật không được xem là các mẫu thiết kế, vì chúng giải quyết các
vấn đề về tính toán hơn là các vấn đề về thiết kế.
Các m ẫu thiết kế có thể giúp tăng tốc quá trình phát triển phần mềm bằng
cách cung cấp các mẫu hình (paradigms) phát triển đã được chứng thực và kiểm
chứng. Để thiết kế phần mềm hiệu quả đòi hỏi phải xem xét các yếu tố mà chỉ trở
nên rõ ràng sau khi hiện thực. Xác định được chúng, thông qua các mẫu thiết kế,
chúng ta sẽ thoát khỏi chúng vì chúng có thể dẫn đến những rắc rối lớn và cải tiến
khả năng dễ đọc của mã cho người viết mã và các nhà kiến trúc sẽ cảm thấy quen
thuộc với các mẫu.
Thông thường, mọi người chỉ biết cách áp dụng một số kĩ thuật thiết kế phần
mềm nào đó vào một vài vấn đề cụ thể nào đó. Những kĩ thuật này khó áp dụng mở
rộng cho các vấn đề khác. Các mẫu thiết kế cung cấp các giải pháp chung, được viết
tài liệu dưới một định dạng mà không gắn liền với một vấn đề cụ thể nào cả.
Các mẫu cho phép các nhà phát triển giao tiếp với nhau dùng các tên dễ hiểu,
được dùng rộng rãi để đặt cho các tương tác của phần mềm. Các mẫu thiết kế chung
có thể được cải tiến qua t hời gian, để trở nên ổn định hơn là thiết kế t heo đặc thù (ad-
hoc designs).
Các mẫu thiết kế có thể được phân loại dựa vào nhiều tiêu chí, chung nhất là
dựa vào vấn đề cơ bản mà chúng giải quyết. Theo tiêu chuẩn này, các mẫu thiết kế
có thể được phân loại thành nhiều lớp, một số trong chúng là:

Các mẫu Cơ Sở (Fundamental pattern)

Các mẫu Tạo Lập (Creational pattern)

Các mẫu Cấu Trúc (Structural pattern)

Các mẫu Ứng Xử (Behavioral pattern)

Các mẫu Đồng Thời (Concurrency pattern)


Các mẫu xử lí Sự Kiện (Event handling pattern)

Các mẫu Kiến Trúc (Architectural pattern)
Đặc điểm chung:
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 22


Pattern được hiểu theo nghĩa tái sử dụng ý tưởng hơn là mã lệnh. Pattern
cho phép các nhà thiết kế có thể cùng ngồi lại với nhau và cùng giải quy ết
một vấn đề nào đó mà không phải mất nhiều thời gian tranh cãi. Trong rất
nhiều trường hợp, dự án phần mềm thất bại là do các nhà phát triển không có
được sự hiểu biết chung trong các vấn đề về kiến trúc phần mềm. Ngoài ra,
pattern cũng cung cấp những thuật ngữ và khái niệm chung trong t hiết kế. Nói
một cách đơn giản, khi đề cập đến một pattern nào đấy, bất kỳ ai biết pattern
đó đều có thể nhanh chóng hình dung ra “bức tranh” của giải pháp. Và cuối
cùng, nếu áp dụng pattern hiệu quả thì việc bảo trì phần mềm cũng được tiến
hành thuận lợi hơn, nắm bắt kiến trúc hệ thống nhanh hơn.

Pattern hỗ trợ tái sử dụng kiến trúc và mô hình thiết kế phần mềm theo
quy mô lớn. Cần phân biệt design pattern với framework. Framework hỗ trợ
tái sử dụng mô hình thiết kế và mã nguồn ở mức chi tiết hơn. Trong khi đó,
design pattern được vận dụng ở mức tổng quát hơn, giúp các nhà phát triển
hình dung và ghi nhận các cấu trúc tĩnh và động cũng như quan hệ tương tác
giữa các giải pháp trong quá trình thiết kế ứng dụng đối với một chuyên khu
riêng biệt.

Pattern đa tương thích. Pattern không phụ thuộc vào ngôn ngữ lập trình,
công nghệ hoặc các nền tảng lớn như J2EE của Sun hay Microsoft .NET

Framework.Tiềm năng ứng dụng của pattern là rất lớn. Các thiết kế dựa trên
pattern được sử dụng khá nhiều ở các phần mềm mã nguồn mở, trong nền
tảng J2EE hoặc .NET… Trong các dạng ứng dụng này, có thể dễ dàng nhận ra
một số tên lớp chứa các tiền tố hoặc hậu tố như Factory, Proxy , Adapter…
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 23

III. KẾT LUẬN:
Sự tương quan giữa vấn đề phần mềm và các nguyên tắc sáng tạo mà em
tìm hiểu được trên đây chỉ mới là một phần nhỏ trong rất nhiều mối liên kết giữa
thực tiễn và phương pháp giải quyết vấn đề theo khoa học về phát minh, sáng chế.
Những nguyên tắc nặng tính vật lý vẫn còn một “khoảng cách” với vấn đề phần
mềm, bởi lẽ phần mềm vốn dĩ phải được xem xét một cách rất trừu tượng, ta
không thể “ nắm bắt một cách vật lý”. Tuy nhiên, ta có thể tìm thấy sự tương tự
ngầm ẩn khi xem xét kĩ lưỡng và áp dụng TRIZ thường xuy ên hơn cho vấn đề
phần mềm.
TIỂU LUẬN: CÁC NGUYÊN LÝ SÁNG TẠO VÀ PHẨN MỀM MÁY TÍNH
NGUYỄN KHẮC DUY – K22 – 12 11 017 24

IV. TÀI LIỆU THAM KHẢO:
1. Slide bài giảng “Phương pháp nghiên cứu khoa học trong Tin Học”,
GS.TSKH. Hoàng Kiếm
2.
3. Kevin C. Rea, “TRIZ and Software - 40 Principle Analogies”, Part 1, Part 2
4. Dr. Genrich Altshuller, “The Innovation Algorithm”, Technical Innovation
Center, Inc. July 2000
5. Phương pháp nghiên cứu khoa học trong tin học của GS.T SKH Hoàng Kiếm
6. Giải một bài toán trên máy tính như thế nào, tập 1,2,3 của GS.TSKH Hoàng
Kiếm

×