Đăng ký Đăng nhập
Trang chủ Các nguyên lý sáng tạo và phần mềm máy tính...

Tài liệu Các nguyên lý sáng tạo và phần mềm máy tính

.PDF
24
101
83

Mô tả:

TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ C HÍ MINH TRƯỜNG ĐẠI HỌ C KHOA HỌC TỰ NHIÊN N GÀ 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.TS KH.Hoàng Kiếm Học viên: Nguyễn Khắc Duy Khóa 22 KHMT - Mã s ố: 12 11 017 TP HC M, năm 2012 NGUYỄN KHẮC DUY – K22 – 12 11 017 1 TIỂU LUẬN: CÁC NG UYÊ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 NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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à k inh tế của nhiều nước trên thế giới. Nghiên cứu khoa học ngày càng được q uan 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 NGUYỄN KHẮC DUY – K22 – 12 11 017 3 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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ăn g ....................................................................................................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 ứn g suất sơ bộ ................................................................................... 10 10. Nguyên tắc thực hiện sơ bộ ..................................................................................... 10 11. Nguyên tắc dự ph òn g .............................................................................................. 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 ch u kỳ ............................................................................ 13 20. Nguyên tắc liên tục tác độn g 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 trun g 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 NGUYỄN KHẮC DUY – K22 – 12 11 017 4 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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àn g ngàn bằng sáng chế trên toàn thế giới, lựa chọn đặc biệt từ các n gà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 p hâ 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 lat es: 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 t hiế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ụ: NGUYỄN KHẮC DUY – K22 – 12 11 017 5 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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ụ: Fragm ent ation 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 t há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. Th uậ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 p hẩ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 k hô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. NGUYỄN KHẮC DUY – K22 – 12 11 017 6 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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 misidentifyin g hai dòng trong gần như là một dòng duy nhất. Ví dụ 2: Non-uniform access algorithms (Các th uật toán truy cập không đồn g đề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 t in đượ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 ở p hần m ong m uố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 t hố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 t oá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 m inh ra một kế hoạch mới t húc đẩy các đối tư ợng dữ liệu NGUYỄN KHẮC DUY – K22 – 12 11 017 7 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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 p hả 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 b anking) 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 k há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à p hân tích một hệ thống động. Sim ulink 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. NGUYỄN KHẮC DUY – K22 – 12 11 017 8 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH Công cụ mô phỏng Sim ulink đượ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 tro ng” 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 t hư viện lệnh của Toolbox + Help: Danh mục các hàm và t ham 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ề T ool. “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 T ool 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 T ool. Như vậy, các chức năng của mỗi Tool là hoàn t oàn chứa trong T ool đó. 8. Nguyên tắc p hả 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... NGUYỄN KHẮC DUY – K22 – 12 11 017 9 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH Ví dụ: Các p hầ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 để k hi 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 t hự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ự p hò 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 t hự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ẻ , . Nhưng theo ý kiến riêng của em, những thẻ nào không được khuyến NGUYỄN KHẮC DUY – K22 – 12 11 017 10 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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ẻ đư ợc thay bởi thẻ .  Thẻ
, , 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ăn g 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ụ, k hô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 t rườ 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ị “f alse”. 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 l y tâm. NGUYỄN KHẮC DUY – K22 – 12 11 017 11 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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 “t hừa” Nếu như k hó 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ó k hă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 c ho đố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. NGUYỄN KHẮC DUY – K22 – 12 11 017 12 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH c) Đặt đối tượng nằm nghi êng. d) Sử dụng mặt sau của diện tích c ho 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, t a 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. T rong tương lai, một viễn cảnh đư ợc đư a r a 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ỳ. NGUYỄN KHẮC DUY – K22 – 12 11 017 13 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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 comp ut ing), 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 nha nh” 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 h iệ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ụ: NGUYỄN KHẮC DUY – K22 – 12 11 017 14 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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 q ua n hệ p hả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 t iế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, t hư ơ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 t a có thể đư a dữ liệu vào các table chính thức. 25.Nguyên tắc tự p hụ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. NGUYỄN KHẮC DUY – K22 – 12 11 017 15 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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, k hô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 k iế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: T hay 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ẻ” t hay 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 t in m ong m uố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ị. NGUYỄN KHẮC DUY – K22 – 12 11 017 16 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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ệ NGUYỄN KHẮC DUY – K22 – 12 11 017 17 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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ó t hể dự a vào trự c tiếp source code HTM L như : các css, t ag nam e, attributes, ... để xác định vị trí nội dung cần lấy. Hoặc cách khác, phân tích HTML docum ent ra HTM L 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.Wr apper 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 websit e 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ừ w ebsite đó. 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 t ag 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 w ebsite 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 Sem antic Web, đặc t ả dữ liệu được cung cấp dư ới dạng chuẩn (RSS, RDF, NGUYỄN KHẮC DUY – K22 – 12 11 017 18 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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 Ext raction, 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 t hay đổ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 p hâ 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. NGUYỄN KHẮC DUY – K22 – 12 11 017 19 TIỂU LUẬN: CÁC NG UYÊN LÝ SÁNG TẠO VÀ PH ẨN MỀM MÁY TÍNH 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 compos ite, thảo luận về một phân tích và kỹ thuật tổng hợp, và chứng m inh 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ệ p hầ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. NGUYỄN KHẮC DUY – K22 – 12 11 017 20
- Xem thêm -

Tài liệu liên quan