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

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

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


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


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: 24TIỂ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
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


để 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

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>,

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 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 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

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

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 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


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status