Phương pháp nghiên cứu khoa học trong tin học

pdf 25 trang phuongnguyen 2050
Bạn đang xem 20 trang mẫu của tài liệu "Phương pháp nghiên cứu khoa học trong tin học", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfphuong_phap_nghien_cuu_khoa_hoc_trong_tin_hoc.pdf

Nội dung text: Phương pháp nghiên cứu khoa học trong tin học

  1. Đại học Công Nghệ Thông Tin Phương pháp nghiên cứu khoa học trong tin học Phân tích các nguyên tắc sáng tạo qua quá trình phát triển của Web Giáo viên hướng dẫn: GS.TSKH. Hoàng Kiếm Học viên Lương Chấn Viễn MSHV CH1101155 Niên khóa K6-2011 TP. Hồ Chí Minh, tháng 04 năm 2012
  2. Mục lục Khái niệm về Nghiên cứu khoa học Khoa học Nghiên cứu khoa học Phân loại theo chức năng nghiên cứu Triz 40 nguyên tắc (thủ thuật trong sáng tạo) Nguyên tắc phân nhỏ Nguyên tắc tách khỏi Nguyên tắc phẩm chất cục bộ Nguyên tắc phản đối xứng Nguyên tắc kết hợp Nguyên tắc vạn năng Nguyên tắc chứa trong Nguyên tắc phản trọng lượng Nguyên tắc gây ứng suất sơ bộ Nguyên tắc thực hiện sơ bộ Nguyên tắc dự phòng Nguyên tắc đẳng thế Nguyên tắc đảo ngược Nguyên tắc cầu (tròn) hoá Nguyên tắc linh động Nguyên tắc giải “thiếu” hoặc “thừa” Nguyên tắc chuyển sang chiều khác Nguyên tắc sử dụng các dao động cơ học Nguyên tắc tác động theo chu kỳ Nguyên tắc liên tục tác động có ích Nguyên tắc “vượt nhanh” Nguyên tắc biến hại thành lợi Nguyên tắc quan hệ phản hồi Nguyên tắc sử dụng trung gian Nguyên tắc tự phục vụ Nguyên tắc sao chép (copy) Nguyên tắc “rẻ” thay cho “đắt” Thay thế sơ đồ cơ học Sử dụng các kết cấu khí và lỏng Sử dụng vỏ dẻo và màng mỏng Sử dụng các vật liệu nhiều lỗ Nguyên tắc thay đổi màu sắc Nguyên tắc đồng nhất Nguyên tắc phân hủy hoặc tái sinh các phần Thay đổi các thông số hoá lý của đối tượng Sử dụng chuyển pha Sử dụng sự nở nhiệt Sử dụng các chất oxy hoá mạnh Thay đổi độ trơ Sử dụng các vật liệu hợp thành (composite) Sự phát triển của Web Web sơ khai Server side Web Engine CSS Javascript - DHTML Web
  3. Web application Tương lai của web Tóm tắt các nguyên tắc được sử dụng quá trình phát triển Web Nguyên tắc phân nhỏ Nguyên tắc tách khỏi Nguyên tắc thực hiện sơ bộ Nguyên tắc tự phục vụ Kết luận Tài liệu tham khảo
  4. Lời mở đầu Sự phát triển của khoa học và công nghệ thể hiện sự phát triển của một quốc gia. Một đất nước phát triển không phài là một nước giàu tài nguyên khoáng sản, mà là nơi có trình độ khoa học kỹ thuật cao. Vì thế người nghiên cứu phái biết và nắm rõ những nguyên tắc và phương pháp làm khoa học và vận dụng trong thực tiễn của mình. Tin học là công cụ hỗ trợ mạnh mẽ cho công việc của con người. Tin học phát triển giúp cho con người có thể giải quyết vấn đề một cách hiệu quả, dễ dàng và tiết kiệm. Hiện nay, Tin học có thể được coi là ngành khoa học có tốc độ phát triển cao. Vì thế đòi hỏi các nhà nghiên cứu phát triển phải không ngừng lao động để đưa ra kết quả theo kịp quá trình phát triển và nhu cầu ngày càng cao của con người. Chuyên đề “Phương pháp nghiên cứu khoa học trong tin học” là nguồn kinh nghiệm được đúc kết, tích lũy của các quá trình nghiên cứu từ trước đến nay. Là công cụ định hướng cho ta cách thức giải quyết vấn đề để đạt được mục tiêu kỳ vọng. Bài tiểu luận này sẽ trình bày tóm lượt các nguyên tắc sáng tạo và những ứng dụng của nó trong lĩnh vực tin học. tiếp theo là phần phân tích quá trình phát triển của mạng máy tính hay cụ thể là các ứng dụng web (đang là một xu hướng thịnh hành của thời đại). Bài tiểu luận thể hiện kiến thức của em đã đạt được qua môn học này. Qua đó, em cũng xin được gửi lời cám ơn đến thầy Hoàng Kiếm. Những bài giảng của thầy đã giúp em có được nền tảng kiến thức về các phương pháp nghiên cứu khoa học.
  5. Khái niệm về Nghiên cứu khoa học Khoa học Khoa học là quá trình nghiên cứu nhằm khám phá ra những kiến thức mới, học thuyết mới, về tự nhiên và xã hội. Những kiến thức hay học thuyết mới này, tốt hơn, có thể thay thế dần những cái cũ, không còn phù hợp. Ví dụ: Quan niệm thực vật là vật thể không có cảm giác được thay thế bằng quan niệm thực vật có cảm nhận. Như vậy, khoa học bao gồm một hệ thống tri thức về qui luật của vật chất và sự vận động của vật chất, những qui luật của tự nhiên, xã hội, và tư duy. Hệ thống tri thức này hình thành trong lịch sử và không ngừng phát triển trên cơ sở thực tiễn xã hội. Phân biệt ra hai hệ thống tri thức: tri thức kinh nghiệm và tri thức khoa học. Nghiên cứu khoa học Nghiên cứu khoa học là một họat động tìm kiếm, xem xét, điều tra, hoặc thử nghiệm. Dựa trên những số liệu, tài liệu, kiến thức, đạt được từ các thí nghiệm NCKH để phát hiện ra những cái mới về bản chất sự vật, về thế giới tự nhiên và xã hội, và để sáng tạo phương pháp và phương tiện kỹ thuật mới cao hơn, giá trị hơn. Con người muốn làm NCKH phải có kiến thức nhất định về lĩnh vực nghiên cứu và cái chính là phải rèn luyện cách làm việc tự lực, có phương pháp từ lúc ngồi trên ghế nhà trường. Phân loại theo chức năng nghiên cứu Nghiên cứu mô tả là những nghiên cứu nhằm đưa ra một hệ thống tri thức về nhân dạng sư vật, giúp con người phân biệt được sự khác nhau, về bản chất giữa sự vật này với sự vật khác. Nội dung mô tả có thể bao gồm mô tả hình thái, động thái, tương tác; mô tả định tính tức là các đặc trưng về chất của sự vật; mô tả định lượng nhằm chỉ rõ các đặc trưng về lượng của sự vật. Nghiên cứu giải thích là những nghiên cứu nhằm làm rõ nguyên nhân dẫn đến sự hình thành và quy luật chi phối quá trình vận động của sự vật. Nội dung của giải thích có thể bao gồm giải thích nguồn gốc; động thái; cấu trúc; tương tác; hậu quả; quy luật chung chi phối quá trình vận động của sự vật. Nghiên cứu dự báo là những nhiên cứu nhằm nhận dạng trạng thái của sự vật trong tương lai. Mọi dự báo đều phải chấp nhận những sai lệch, kể cả trong nghiên cứu tự nhiên và xã hội. Sự sai lệch trong kết quả dự báo có thể do nhiều nguyên nhân : sai lêch khách quan trong kết quả quan sát: sai lệch do những luận cứ bị biến dạng trong sự tác động của các sự khác; mội trường cũng luôn có thể biến động, Nghiên cứu sáng tạo là nghiên cứu nhằm làm ra một sự vật mới chưa từng tồn tại. Khoa học không bao giờ dừng lại ở mô tả và dự báo mà luôn hướng vào sự sáng tạo các giải pháp cải tạo thế giới. TRIZ TRIZ - Lý thuyết giải các bài toán sáng chế, là phương pháp tạo ra những ý tưởng sáng tạo từ kết quả điều tra một số lượng lớn các bằng sáng chế.
  6. TRIZ đơn giản chỉ là chuỗi những thủ thuật sáng tạo giúp bạn nhìn thấy vấn đề từ nhiều góc độ khác nhau, giúp bạn hiểu thấu đáo vấn đề thực sự là gì, và nhìn ra các giải pháp có thể. TRIZ có nhiều cấp bậc thực hiện, từ việc sử dụng các công cụ của nó một cách riêng lẻ để có được những lời giải tốt, đến việc làm việc một cách hệ thống nhờ chuổi các kỹ thuật sáng tạo và tìm ra đáp án tốt nhất cho vấn đề.
  7. 40 nguyên tắc (thủ thuật trong sáng tạo) Nguyên tắc phân nhỏ 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. Ứng dụng Áp dụng hầu như ở mọi mặt trong tin học, từ lập trình (lập trình thủ tục) cho đến việc xây dựng một hệ thống lớn. Nhờ vào đó, công việc thực hiện dễ dàng hơn, thuận tiện hơn. Và việc tái sử dụng các module giúp linh hoạt hơn trong việc hơn trong việc thiết kế cũng như sửa chữa, nâng cấp. 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 đối tượng. Ứng dụng Được ứng dụng song song với nguyên tắc phân nhỏ, nguyên tắc tách khỏi giúp cho việc thiết kế xây dựng hệ thống đơn giản hơn nhiều. Các thành phần được tách riêng,được xây dựng trên các ngôn ngữ khác nhau. Sau đó được kết hợp lại thành một ngôn ngữ hoàn chỉnh. Người ta thường tách các server (nơi có lượng dữ liệu vào ra lớn) thành một mạng riêng lẻ so với mạng của các user bình thường khác. Các hệ thống quan trong được tách ra và đặt sau Firewall để bảo vệ dữ liệu. Máy laptop có phần sạc được tách riêng ra ngoài so với máy, làm tính di động của máy cao hơn, trong khi các máy để bàn, tivi thì bộ nguồn nằm bên trong thân máy. 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. Ứng dụng Trong một hệ thống thường ta tách phần nhân với phần giao diện ra. Nhờ đó ta đạt được hiệu suất thực thi cao từ phần nhân. Nguyên tắc phản đối xứng
  8. 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). Ứng dụng Trong thiết kế con chuột cho máy tính, ban đầu con chuột có hình dạng đối xứng. Nhưng sau này người ta thiết kế con chuột với đường cong một bên, thuận tiên cho tay thuận của người sử dụng. Không những thế, những thế hệ chuột đời mới, người ta còn thêm nút sử dụng vào phần hông bên ngón cái (nhưng phần hông bên ngón áp út và ngón út thì không), giúp người sử dụng linh hoạt hơn trong việc điều khiển chuột. Cũng như thế, khi ban đầu, bộ phận cảm ứng chuyển động thường được thiết kế ở ngay giữa con chuột, nhưng do hoạt động của cánh tay cố định tai cổ tay và vươn dài tại các ngón tay người ta thiết kế bộ phận cảm ứng lệch một chút để tầm hoạt động của chuột rộng hơn. Tương tự như thế, thiết kế bàn phím, ban đầu các phím được sắp xếp theo hàng thẳng (hình trái), hhưng sau này, ta thiết kế lại hơi cong sao cho phù hợp với tay người sử dụnh. Trong bàn phím laptop, với thiết kế cong như vậy, không những giúp người dùng thuận tiện trong việc đánh máy, mà còn giúp người dùng đở phiền phức hơn với touchpad. Vì với thiết kế bàn phím cong ra ngoài thì khi đán 2 lòng tay người dùng sẽ cách xa hơn và “khó” đụng chạm vào touchpad hơn. Nguyên tắc kết hợp Nội dung 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. Kết hợp về mặt thời gian các hoạt động đồng nhất hoặc kế cận. Ứng dụng Trong tính toán, ta kết hợp rất nhiều máy tính để xử lý chung một vấn đề lớn hiện đang là một lĩnh vực rất được quan tâm: Grid computing. Kết hợp dịch vụ truyền thoại với Internet ta có VoIP. 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. Ứng dụng
  9. Các smart-phone hiện nay đang rất được quan tâm do tính tiện dụng của nó. iPhone chính là một trong số các điện thoại tiêu biểu như vậy. Kết hợp điện thoại với máy chụp hình, nhờ đó ta sẽ không bỏ lỡ dịp để chụp những bức hình đẹp có thể xuất hiện bất cứ lúc nào. Và ngay tức khắc, ta có thể chia sẽ lên mạng mà không cần dây nối, máy tình rườm rà. Không những thế, smart-phone có thể đóng vai trò một tờ báo, một máy nghe nhạc, một máy trò chơi điện tử cầm tay, một trợ lý nhắc nhở ta. Hiện nay trên thị trường có bán các router-wifi có chức năng như một router, vừa có khả năng phát wifi. Các tivi thế hệ mới như GoogleTV cho phép ta có thể xem Tivi chất lượng cao mà còn có thể lướt các trang web như Youtube, Netflix 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. Ứng dụng Được thể hiện trong môt nguyên lý của lập trình hướng đối tượng: Encapsulation. Bên trong mỗi đối tượng chứa dữ liệu thể hiện tình trạng hay thuộc tính của nó. Mỗi đối tượng được trang bị những hành vi hay phương thức để thực hiện một số nhiệm vụ nhất định, nhằm thông báo hay làm thay đổi thuộc tính của chính nó. Đối tượng là sự kết hợp dữ liệu và thao tác trên dữ liệu đó thành một thể thống nhất. 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 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 ứng suất trước để khi làm việc sẽ dùng ứng suất ngược lại). 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. Ứng dụng Các template được thiết kế sẳn, được định dạng sẳn các vị trí, giúp cho người dùng dễ dàng hơn. Khi bắt đầu viêt một văn bản trong MS Word, MS Word cung cấp cho ta các mẫu
  10. template trình bày của một bài báo cáo, lên kế hoạch một dự án Nhờ vào đó, công việc được giảm thiểu nhiều hơn. Thời gian thiết kế, tinh chỉnh được giảm thiểu. Trong tìm kiếm, lập chỉ mục giúp ta tìm kiếm dễ dàng hơn, nhanh chóng hơn. Trong việc sắp xếp tìm kiếm, thuật toán PageRank sẽ cho điểm các kết quả tìm kiếm trả về được. Nhờ vào đó, việc tìm kiếm sẽ nhanh chóng hơn vì các kết quả tốt sẽ xuất hiện trước. 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. Ứng dụng Là một nguyên tắc không thể bỏ qua, nhất là các lĩnh vực trong doanh nghiệp. Các hệ thống được thiết kế đều phải để ý đến việc sao lưu dữ liệu, đề phòng các rủi ro từ nhiều cấp độ khác nhau. Nhờ vào các nguyên tắc dự phòng, ta có thể khắc phục nhanh các sự cố, giảm thiểu thiệt hại. Trong lập trình, các VCS (version control system) như Subversion hay Git giúp cho lập trình viên dễ dàng quản lý các project, phục hồi lại những version cũ một cách chính xác. Nguyên tắc đẳng thế Nội dung 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. Ứng dụng P2P network là một tiêu biểu trong việc áp dụng nguyên tắc đẳng thế. Nó loại bỏ việc kết nối vào một máy chủ duy nhất từ các máy con. Loại bỏ các hiện tượng nghẽn cổ chai, quá tải cho server. Một trong các ứng dụng rộng rãi là Torrent. Cách chia sẽ mạng ngang hàng Torrent giúp cho việc chia sẽ dữ liệu dễ dàng hơn, mà không bị hạn chế bởi các nhược điểm của cách thức truyền thống. 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. 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. Chuyển sang chuyển độg quay, sử dung lực ly tâm. Ứng dụng
  11. Điều khiển cầm tay trong trong trò chơi điện tử ban đầu chỉ có 4 phím bấm theo 4 hướng, sau này được cải tiến thành joystich có thể trượt theo hình tròn, giúp người chơi điều khiển dễ dàng hơn, chính xác hơn. Nút điều khiển trên iPod xoay theo dạng hình tròn giúp người dùng lướt nhanh (fast forward) hay tăng giảm âm lương một cách liên tục không đứt quãng. Nếu thiết kế trượt theo đường thẳng, khi đến cuối đường trượt, ta phải đưa ngón tay về và trượt tiếp, làm cho thao tác không liên tục, dễ gây mỏi, không chính xác. Nguyên tắc linh động Nội dung Cần thay đổi các đặc 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. 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ản hơn và dễ giải hơn.
  12. Ứng dụng Trong sản xuất CPU 4 nhân của AMD, 85% sản phẩm hoàn thiện, 10% sản phẩm bị hư 1 nhân, 3 nhân còn lại chạy tốt, và 5% sản phẩm hoàn toàn không thể hoạt động gì. Hãng này đã vô hiệu hóa nhân hư trong 10% sản phẩm và gọi nó là CPU 3 nhân và bán ra thị trường1. Nâng hiệu suất từ 85% lên 95%. Cách giải quyết này không những giúp cho hãng AMD giải quyết được bài toán kinh tế, mà còn giúp cho người dùng có dòng sản phẩm 3 nhân năng suất cao hơn dòng 2 nhân mà giá tiền không chênh lệch mấy ($110 cho 3 nhân và $100 cho 2 nhân) thay vì mua loại 4 nhân có giá từ $300 trở lên. 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 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). 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. Ứng dụng Các thuật toán PCA2, ICA3 trong máy học giúp giảm bớt số chiều của feature x, làm cho việc phân tích dữ liệu đơn giản và hiệu quả hơn. Một số việc kiểm thử các ràng buộc trong việc nhập dữ liệu của người dùng được thực hiện bên client thay vì bên server. Làm cho việc truyền dữ liệu được giảm tải nhiều hơn. Bàn phím được đặt nằm nghiêng hơn so với mặt phẳng ngang, giúp ta dễ dàng đánh máy hơn. 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ừ. Ứng dụng Kính 3 chiều có tần số tắt mở, làm cho mắt trái và mắt phải tạ cùng một lúc nhận được hình ảnh khác nhau. Do đó ta nhận được các hình ảnh có độ sâu, giúp cảm nhận như thật hơn. Nguyên tắc tác động theo chu kỳ 1 2 Principal component analysis 3 Independent component analysis
  13. 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. 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. Ứng dụng Dữ liệu được đưa đọc và xử lý một cách liên tục và lưu trữ tạm ở bộ đệm buffer thay vì mỗi lần cần thì mới đọc và xử lý. 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. Ứng dụng Để quay một đoạn video, người ta chụp liên tục các hình ảnh với tốc độ nhanh, và chiếu liên tục với tốc độ nhanh, làm người sử dụng có cảm giác như đang nhìn một chuyển động thực vậy. Để chụp một hình ảnh ở tốc độ nhanh, máy chụp hình được chỉnh tốc độ đóng cửa chập cao nhất để các điểm ảnh tại thời điểm chụp không bị “nhiễu” bởi sự thay đổi ánh sáng của thời điểm tiếp theo. 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. Ứng dụng Các chương trình diệt virus có hại đối với các hacker, nhưng các hacker lại lợi dụng sự tin tưởng của người dùng về chương trình diệt virus để gạt người dùng cài đặt chương trình diệt virus giả mạo4 và kiểm soát máy tính của họ. Nguyên tắc quan hệ phản hồi 4 Moheeb Abu Rajab and Luca Ballard (2010-04-13). The Nocebo Effect on the Web: An Analysis of Fake Anti-Virus Distribution. Google. Retrieved 2010-11-18.
  14. 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ó. Ứng dụng Trong kết nối TCP, bên nhận luôn truyền thông tin phản hồi cho bên gửi để đảm bảo được các tính chất của TCP. Catch và throw exception trong quá trình thực hiện nếu xảy ra lỗi. Nguyên tắc sử dụng trung gian Nội dung Sử dụng đối tượng trung gian, chuyển tiếp. Ứng dụng Các tracker làm đơn vị trung gian để kết nối các peer trao đổi dữ liệu với nhau trong giao thức truyền dữ liệu P2P. Nguyên tắc tự phục vụ Nội dung Đố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. Sử dụng phế liệu, chát thải, năng lượng dư. Ứng dụng Các self-managed packet trong truyền dữ liệu có khả năng tìm đường đi tốt nhất của nó. 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ác bản sao hồng ngoại hoặc tử ngoại. Ứng dụng Sử dụng các mã, các thư viện được cung cấp trên mạng. Nhất là các cộng đồng mã nguồn mở. Sử dụng các phần mềm mô phỏng thay vì mô phỏng vật lý, giảm thiểu rủi ro và tiết kiệm về kinh tế. Sử dụng các máy ảo để kiểm thử phần mềm thay vì phải mua máy hay cài máy ở các hệ điều hành khác nhau. Sử dụng texture trong đồ họa máy tính thay vì phải render cho từng chi tiết, vừa tốn kém tài nguyên, vừa chậm.
  15. Nguyên tắc “rẻ” thay cho “đắt” Nội dung 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ọ). Ứng dụng Các registry trong CPU và các thanh ghi trong RAM là 2 vật dụng thay tế nhau. Registry trong CPU có tốc độ truy xuất rất nhanh so với thanh ghi trong RAM như giá cả thì mắc hơn nhiều. Vì thế người ta sử dụng RAM trong việc lưu trữ phần ngoài và registry trong việc lưu trữ phần trong. Sử dụng các thuật toán có độ phức tạo cao nhưng cài đặt dễ dàng hơn để giải quyết các bài toán con có khối lượng không lớn. 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úc nhất định . Sử dụng các trường kết hợp với các hạt sắt từ. Ứng dụng Dữ liệu thay vì được truyền thông qua dòng điện trong các dây đồng, ta sử dụng ánh sáng trong các cáp quang, sóng điện từ trong các mạng di động 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ản lực. 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. Sử dụng các vật liệu nhiều lỗ Nội dung Làm đối tượng có nhiều lỗ hoặc sử dụng thêm những chi tiết có nhiều lỗ (miếng đệm, tấm phủ ) Nếu đối tượng đã có nhiều lỗ, sơ bộ tẩm nó bằng chất nào đó.
  16. 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. 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ật liệu chế tạo đối tượng cho trước. Ứng dụng Microsoft đưa ra .NET Framework cho các lập trình viên dù viết ở ngôn ngữ nào (C#, C++, F#, VB) đều có thể sử dụng của nhau nhờ biên dịch xuống dạng ngôn ngữ đồng nhất trung gian CIL. 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. Ứng dụng Giải phóng bộ nhớ không cần thiết bởi các destructor trong C++ hoặc GC trong các managed code như Java, C# 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. Sử dụng chuyển pha Nội dung 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
  17. 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. 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. Thay đổi độ trơ Nội dung Thay môi trường thông thường bằng môi trường trung hoà. Đưa thêm vào đối tượng các phần , các chất , phụ gia trung hoà. Thực hiện quá trình trong chân không. Sử dụng các vật liệu hợp thành (composite) Nội dung 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.
  18. Sự phát triển của Web Web sơ khai Lúc đầu được phát triển trong quân sự, mạng máy tính hiện nay đã trở nên thông dụng với mọi người trên khắp thế giới. Mạng máy tính giúp ta kết nối và chia sẻ thông tin một cách dễ dàng, xóa nhòa khoảng cách địa lý và làm cho thế giới trở nên “phẳng” hơn. Thời kỳ đầu của mạng máy tính là các trang web với nội dung tĩnh. Các thông tin ược trình bày trên các trang web được viết chỉ bởi ngôn ngữ đặc tả HTML, không thay đổi về nội dung lẫn hình thức trình bày. Tiểu biểu của các trang web thời kỳ đầu là trang chỉ mục các trang web yêu thích “Jerry and David's Guide to the World Wide Web” (tiền thân của Yahoo bây giờ). Vào giáng sinh năm 1990, máy chủ web đầu tiên trên thế giới ra đời tại phòng thí nghiệm CERN bởi Tim Berners Lee và các đồng nghiệp. Server side Web Engine Nhược điểm của các trang web HTML tĩnh là sự khó khăn trong quản lý, sửa đổi thông tin của các trang web, cũng như việc thay đổi hình thức trình bày. Cụ thể, các trang web tĩnh thì cố định, không linh hoạt và dư thừa thông tin, làm cho việc cập nhật thông tin khó khăn khi phải bảo đảm tính nhất quán của thông tin. Hơn nửa, các trang web tĩnh nghèo nàn trong việc tương tác với người dùng. Để giải quyết các vấn đề này, người ta tách bạch thông tin ra khỏi trang web, hay đúng hơn, các trang web được tạo ra từ thông tin khi người dùng có yêu cầu. Khi đó, thông tin hay dử liệu được quản lý bởi một module riêng, mọi thao tác trên dữ liệu được thiết kế một cách dễ dàng hơn, bảo đảm các tính chất cần thiết của dữ liệu như tính đồng bộ, tính nhất quán hoặc các ràng buộc cụ thể cho từng loại dữ liệu. Các nội dung HTML không còn được tạo sẳn nửa, thay vào đó, nội dung HTML sẽ được tạo ra tùy vào yêu cầu người dùng. Ưu điểm: ● Dữ liệu được quản lý riêng, dẫ quán lý, thao tác cũng như đảm bảo các ràng buộc về dữ liệu. ● Việc xử lý tương tác với người dùng được cải thiện, thông tin trang web được trình bày một cách linh hoạt, thay đổi tùy theo người dùng. ● Thay đổi kiểu trình bày nội dung dễ dàng và nhất quán. Các framework phổ biến trong việc xây dựng các website như trên JSP, ASP(.NET), PHP, Ruby on Rail CSS Một trang web ngoài thông tin, người ta còn quan tâm đến hình thức trình bày. Cũng giống như một văn bản, một trang web cũng có thể được trình bày theo ý của người thiết kế. Người thiết kế sẽ sắp xếp cách dàn trang, kiểu chữ, độ lớn tùy theo ý của mình. Trước đây, việc trình bày được đính kèm trong nội dụng HTML, và nếu phải sửa một thuộc tính (ví dụ như màu chữ) sẽ cần phải nhiều thao tác trên hàng loạt các nội dung trang web, làm cho việc tùy chỉnh hình thức khó khăn hơn. CSS được đưa ra nhằm tách riêng việc trình bày trang web và nội dung của nó. Khi đó, ta có thể điều khiển việc hiển thị nhiều trang web thông qua CSS. Nó chính xác hoác việc định dạng cách hiển thị của trang web, nhất quán hóa các thông số hiển thị. Và hơn thế nửa, nhà thiết kế có thể có nhiều kiểu định dạng khác nhau (đặc tả trên các tập tin CSS) để phục vụ
  19. cho các đối tượng người dùng khác nhau, hay cho phép người dùng thay đổi việc trình bày nội dụng trang web sao cho hợp ý của mình mà không làm phiền đến những người dùng còn lại. CSS ● CSS (Cascading Style Sheets) là một ngôn ngữ đặc tả quy định cách trình bày cho các tài liệu văn bản HTML. ● CSS cung cấp một lượng lớn các thuộc tính trình bày cho các đối tượng trong văn bản, phong phú và chính xác hơn HTML. ● CSS thể hiện một chuẩn quy định việc trình bày nội dung, giúp cho việc hiển thị nội dung giống nhau trên các trình duyệt khác nhau như IE, Chrome, Opera, Firefox , hay các hệ thống khác nhau (Windows, Mac, Linux). ● CSS ngắn gọn, dễ đọc, dễ viết, dễ quản lý. Tiết kiệm tài nguyên bộ nhớ lẫn băng thông. ● CSS hướng người dùng, có thể tùy chỉnh CSS cho từng người dùng khác nhau mà không ảnh hưởng đến người dùng còn lại. CSS hướng phương tiên giúp cho việc thể hiện nội dung thích hợp cho từng loại phương tiên hiển thị (mobile, tablet, desktop, printer ). Trình bày nội dung bởi nhiều cách hiển thị tùy theo đối tượng người dùng.
  20. Nội dung trang web hiển thị tùy theo phương tiện. Javascript - DHTML Web Vào năm 1995, Netscape (trình duyệt web thông dụng lúc bấy giờ) giới thiệu Javascript5 như một loại ngôn ngữ script chạy trên trình duyệt client. Với mục đích chính là cho phép nhà phát triển web có thể thao tác vào các thành phần của trang web mà chạy trên trình duyệt của người dùng. Nếu như trước đây, mỗi thao tác hay tương tác của người dùng đều tạo một post request đến server, thì việc giới thiệu javascript làm giảm bớt một số các request đến server không cần thiết. Ví dụ như khi điền thông tin vào một form dữ liệu, javascript chạy trên trình duyệt sẽ kiểm tra nội dung có phù hợp với ràng buộc hay không mà không cần phải truy cập đến server để kiểm tra. Việc này giảm bớt lượng công việc cho server, giảm lưu lượng băng thông không cần thiết, và việc phản hồi cho người dùng được trả về tức thời (nếu có lỗi) tiết kiệm thời gian. Ngoài ra, javascript còn hỗ trợ các hiệu ứng trên ứng dụng web. Như ẩn nút nhấn (button) hay đường link nếu không thỏa một số điều kiện, hay hiện thông tin thông báo lỗi nếu có lỗi xảy ra làm cho ứng dụng web được thân thiện với người dùng. 5 Press release announcing JavaScript, "Netscape and Sun announce Javascript", PR Newswire, December 4, 1995
  21. Việc kiểm tra đầu vào bằng javascript được thực hiện trên client, các đầu vào có lỗi được viền đỏ nổi bật giúp người dùng dễ dàng nhận ra. Web application Nội dung của ứng dụng web được tạo ra từ thông tin trên/bởi máy chủ web và trả về cho người dùng. Người dùng cần thao tác trên dữ liệu (đọc, tạo, xóa, sửa) sẽ tạo ra request đến máy chủ. Máy chủ nhận được yêu cầu và xử lý, trả thông tin kết quả về cho người dùng bằng nội dụng đặc tả bởi HTML. Ta thấy lượng thông tin tra đổi từ hai phía (client - server) được chèn vào trong nội dung HTML là không cần thiết. Ajax (Asynchronous JavaScript and XML) được giới thiệu như là một phương thức truyền tải thông tin giữa client và server thông qua javascript. Khi đó, nội dung thông tin được cô đọng (thay vì biểu diễn thông tin và nội dung trình bày bỡi HTML, ta chỉ biểu diễn thông tin thuần) và truyền tải về cho client, javascript của client khi bắt được nội dung sẽ thực hiện công việc của máy chủ web trước đây là xây dựng nội dung trình bày bằng HTML dựa trên thông tin trả về và đưa ra cho người dùng. Việc tách bạch thông tin và nội dung trình bày giúp (i) giảm thiểu tối đa lượng công việc (tạo nội dung trình bày HTML từ thông tin, đọc thông tin từ nội dụng HTML) của máy chủ web, giảm thiểu băng thông (chỉ truyền thông tin thay vì phải đính kèm trong nội dung trình bày). Ngoài ra, trình duyệt không cần phải tải lại trang mới (giảm lưu tượng băng thông dư thừa của các thành phần không cần thiết như hình ảnh, banner), (ii) giảm độ trễ không cần thiết khi tải và vẽ trang. (iii) Thông tin có thể quản lý dễ dàng hơn tại client và (iv) tương tác giữa client và server được trong suốt. Một ví dụ điển hình của các ứng dụng web hiện tại là Google Docs, một ứng dụng văn phòng có tính năng như Microsoft® Office, gồm các chức năng như soạn thảo văn bản, bảng tính, bài thuyết trình. Bản thân bài tiểu luận này cũng được soạn thảo trên Google Docs.
  22. Bảng: Một số ứng dụng web hữu ích Chức năng Ứng dụng desktop tương ứng Ứng dụng văn phòng Microsoft Office, LibreOffice Google Docs Quản lý ghi chú OneNote (Ms Office) Quản lý danh bạ Quản lý dự án Microsoft Project Ứng dụng lập lịch, thời Ms Outlook, iCal khóa biểu Google Calendar
  23. Soạn thảo bài thuyết trình Hiện nay, các ứng dụng web đã phong phú và gần như có thể thay thế được các ứng dụng desktop thông dụng. Một minh chứng dễ thấy là dự án Chrome OS của Google nhằm xây dựng một hệ điều hành trên trình duyệt, sử dụng các ứng dụng web thay thế, lưu trữ dữ liệu trên đám mây. Tương lai của web Tuy chưa thể sánh ngang với các ứng dụng trên desktop, các ứng dụng web vẫn có những điểm nổi trội như chạy bất cứ lúc nào, bất cứ nơi đâu, trên bất cứ nền tảng nào, cho phép truy cập dữ liệu ở mọi nơi và đồng bộ hóa công việc. HTML5 đang được phát triển cùng các công nghệ như LocalStorage, IndexedDB xóa nhòa khoảng cách giữa các ứng dụng web với ứng dụng native trên desktop. Các ứng dụng web trong tương lai có thể hoạt động offline và đồng bộ dữ liệu khi có kết nối. Ví dụ như Google Mail Offline cho phép ta soạn thảo mail khi offline và sẽ gửi mail khi có kết nối trở lại, ngoài ra, Google Mail Offline còn cho phép ta truy cập mail khi không có kết nối internet. là một game khá phổ biến trên các thiết bị điện thoại thông minh. Game có các bản cho desktop. Vào cuối năm 2011, hãng Rovio đã hợp tác với Google cho ra đời phiên bản Angry Bird trên trình duyệt6 không thua kém phiên bản native trước đó. Microsoft® vào chiến dịch quảng cáo IE10 sắp ra mắt đã cho ra đời phiên bản Cut the Rope nổi tiếng chạy trên trình duyệt, nhằm quảng cáo khả năng chạy đồ họa của IE10 so với các đối thủ khác. Hai ví dụ trên cho thấy việc phát triển Game trên trình duyệt7 là một xu hướng sẽ nổi trong tương lai. Tóm tắt các nguyên tắc được sử dụng quá trình phát triển Web Nguyên tắc phân nhỏ Là nguyên tắc được sử dụng nhiều nhất trong quá trình phát triển. Nguyên tắc phân nhỏ được áp dụng khi tách riêng thông tin và nội dung trình bày. Kết quả, trong một hệ thống Website, người ta thường tách riêng ra gồm: 1. Phần quản lý thông tin như các hệ quản trị cơ sở dữ liệu 2. Phần trình bày nội dung thông tin, tùy theo từng hệ thống, việc trình bày nội dung được thực hiện tại máy chủ hoặc máy truy cập (client) bởi các render engine và temaplte. Việc trình bày nội dung cũng được phân nhỏ gồm: a. Cấu trúc nội dung đặc tả trên HTML b. Hình thức trình bày đặc tả trên CSS 3. Phần giao tiếp giữa máy chủ và máy khách, các request từ client sẽ được hướng dẫn bởi Router đến các End point. Nguyên tắc tách khỏi 6IE9, Chrome 16+, Firefox 8+, Safari for Mac 5+ 7 Ở đây, ta không kể các game được phát triển trên nền Flash của hãng Adobe.
  24. Ta tách phần thông tin cần thiết ra khỏi việc trình bày nội dụng, tức thay vì truyền thông tin đã được đính kèm trong nội dung trình bày làm cho việc thao tác trên thông tin khó khăn, ta trực tiếp truyền thông tin, rồi mới từ đó tạo nội dung cần trình bày. Nguyên tắc thực hiện sơ bộ Ta thực hiện việc xem xét các ràng buộc của thông tin đã thỏa chưa trước khi truyền thông tin, từ đó giảm bớt số lần và thời gian giao tiếp giữa máy chủ và máy khách. Nguyên tắc tự phục vụ Thay vì việc xây dựng nội dung trình bày HTML từ thông tin được thực hiện trên máy chủ, ta chuyển côgn việc đó xuống cho máy khách (client), khi đó lượng thông tin cần truyền được cô đọng, việc giao tiếp giữa máy chủ và máy khách hiệu quả hơn, các thao tác trên thông tin dễ dàng hơn. Hơn nữa, ta đẩy lượng công việc này xuống máy khách giúp giảm bớt công việc của máy chủ, nơi phải phục vụ cho hàng ngàn, hàng triệu lượt yêu cầu từ các máy khách. Kết luận 40 nguyên lý sáng tạo khoa học là một công cụ mạnh mẽ để giải quyết các vấn đề trong tin học nói riêng vào khoa học nói chung. Đó là kim chỉ Nam trong việc định hướng phương pháp để giải quyết vấn đề, phát triển sản phẩm Việc học tập và áp dụng các nguyên lý sáng tạo là cần thiết để đạt được thành công trong cuộc sống. Sử dụng đúng và hợp lý các nguyên lý sẽ rút bớt thời gian giải quyết vấn đề.
  25. Tài liệu tham khảo Bài giảng môn học "Phương pháp nghiên cứu khoa học trong Tin học” Giảng viên: GS. TSKH Hoàng Văn Kiếm. Phan Dũng, Phương pháp luận sáng tạo và đổi mới (quyển 1 của bộ sách ‘‘sáng tạo và đổi mới’‘) Trung tâm sáng tao KHKT (TSK), TP.HCM 2004. Phan Dũng, Thế giới bên trong con người sáng tạo (quyển 2 của bộ sách ‘‘sáng tạo và đổi mới’‘) Trung tâm sáng tao KHKT (TSK), TP.HCM 2005. Phan Dũng, Tư duy logich, biện chứng và hệ thống (quyển 3 của bộ sách ‘‘sáng tạo và đổi mới’‘) Trung tâm sáng tao KHKT (TSK), TP.HCM 2006. Phan Dũng, Sổ tay sáng tạo : Các thủ thuật (nguyên tắc) cơ bản. Ủy ban khoa học và kỹ thuật TP.HCM 1992. Wikipedia -