Đề tài Sự phát triển của trình duyệt web từ hiển thị thông tin tới hệ điều hành đám mây

Phương pháp nghiên cứu khoa học trong tin học là kết quả của quá trình khái quát lý thuyết và thực tiễn nghiên cứu khoa học và trở thành công cụ sắc bén để chỉ dẫn các nhà khoa học, các nhà quản lý trong công tác tổ chức, quản lý và thực hành nghiên cứu khoa học một cách sáng tạo. Trong thực tế nói chung và trong tin học nói riêng có rất nhiều bài toán mà chúng ta cần phải giải quyết, việc áp dụng các thủ thuật, nguyên tắc trong Phương pháp nghiên cứu khoa học sẽ giúp ta có những định hướng tốt để giải quyết vấn đề. Bài thu hoạch môn học PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC này của em gồm ba phần: - Phần một giới thiệu về Phương pháp nghiên cứu khoa học trong tin học. - Phần hai Sự phát triển của trình duyệt web - Phần ba ứng dụng các thủ thuật sáng tạo khoa học trong quá trình phát triển trình duyệt, từ hiển thị thông tin tới hệ điều hành đám mây

pdf22 trang | Chia sẻ: lvbuiluyen | Lượt xem: 2317 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đề tài Sự phát triển của trình duyệt web từ hiển thị thông tin tới hệ điều hành đám mây, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH Bài Thu Hoạch ĐỀ TÀI SỰ PHÁT TRIỂN CỦA TRÌNH DUYỆT WEB TỪ HIỂN THỊ THÔNG TIN TỚI HỆ ĐIỀU HÀNH ĐÁM MÂY Môn: 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 Học viên: Trịnh Hoàng Việt Quốc MS: CH1101127 Lớp: Cao học khóa 6 Tp Hồ Chí Minh, tháng 4/2012 LỜI MỞ ĐẦU Phương pháp nghiên cứu khoa học trong tin học là kết quả của quá trình khái quát lý thuyết và thực tiễn nghiên cứu khoa học và trở thành công cụ sắc bén để chỉ dẫn các nhà khoa học, các nhà quản lý trong công tác tổ chức, quản lý và thực hành nghiên cứu khoa học một cách sáng tạo. Trong thực tế nói chung và trong tin học nói riêng có rất nhiều bài toán mà chúng ta cần phải giải quyết, việc áp dụng các thủ thuật, nguyên tắc trong Phương pháp nghiên cứu khoa học sẽ giúp ta có những định hướng tốt để giải quyết vấn đề. Bài thu hoạch môn học PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC này của em gồm ba phần: - Phần một giới thiệu về Phương pháp nghiên cứu khoa học trong tin học. - Phần hai Sự phát triển của trình duyệt web - Phần ba ứng dụng các thủ thuật sáng tạo khoa học trong quá trình phát triển trình duyệt, từ hiển thị thông tin tới hệ điều hành đám mây. Để hoàn thành bài thu hoạch này em xin gửi lời cảm ơn chân thành tới thầy GS. TSKH Hoàng Văn Kiếm đã tận tình giảng dạy và giúp đỡ em trong quá trình học tập môn Phương pháp nghiên cứu khoa học trong tin học. Học viên Trịnh Hoàng Việt Quốc MỤC LỤC PHẦN I: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC........... 5 I. Khái niệm cơ bản về khoa học và nghiên cứu khoa học: ............................................. 5 1. Khoa học là gì? .......................................................................................................... 5 2. Nghiên cứu khoa học: ................................................................................................ 5 3. Đề tài nghiên cứu khoa học: ...................................................................................... 5 a) Khái niệm đề tài ..................................................................................................... 5 b) Đối tượng nghiên cứu và phạm vi nghiên cứu ....................................................... 6 c) Mục đích và mục tiêu nghiên cứu .......................................................................... 6 II. Các phương pháp nghiên cứu, giải quyết vấn đề: ..................................................... 7 1. Vấn đề khoa học ........................................................................................................ 7 a) Khái niệm ............................................................................................................... 7 b) Phân loại ................................................................................................................. 7 c) Các phương pháp phát hiện vấn đề khoa học ........................................................ 7 2. Phương pháp giải quyết vấn đề khoa học về phát minh, sáng chế ............................ 7 a) Có 5 phương pháp .................................................................................................. 7 b) Có 40 thủ thuật ....................................................................................................... 7 3. Các phương pháp giải quyết vấn đề tổng quát .......................................................... 9 a) Các phương pháp phân tích vấn đề ....................................................................... 9 b) Các phương pháp tổng hợp vấn đề ........................................................................ 9 4. Các phương pháp giải quyết vấn đề trong tin học ..................................................... 9 a) Phương pháp trực tiếp: ........................................................................................ 10 b) Phương pháp gián tiếp ......................................................................................... 10 Phương pháp Thử Sai: ......................................................................................... 11 Phương pháp Heuristic:........................................................................................ 11 Phương pháp Trí Tuệ Nhân Tạo: ......................................................................... 12 PHẦN II: TRÌNH DUYỆT WEB VÀ SỰ PHÁT TRIỂN ............................................ 13 I. Web browser - trình duyệt web là gì? ..................................................................... 13 II. Sơ lượt lịch sử phát triển của trình duyệt ............................................................ 13 III. Những thủ thuật sáng tạo trong sự phát triển của trình duyệt web. ..................... 15 1. Nguyên tắc kết hợp: ............................................................................................ 15 2. Nguyên tắc chứa trong: ........................................................................................ 15 3. Nguyên tắc trung gian: ......................................................................................... 16 4. Nguyên tắc thay đổi màu sắc ............................................................................... 17 5. Nguyên tắc dự phòng: .......................................................................................... 18 6. Chuyển sang chiều khác: ..................................................................................... 18 PHẦN I: PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC I. Khái niệm cơ bản về khoa học và nghiên cứu khoa học: 1. Khoa học là gì? 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. Thí 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 2 hệ thống tri thức: tri thức kinh nghiệm và tri thức khoa học. 2. 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. 3. Đề tài nghiên cứu khoa học: a) Khái niệm đề tài Đề tài là một hình thức tổ chức NCKH do một người hoặc một nhóm người thực hiện. Một số hình thức tổ chức nghiên cứu khác không hoàn toàn mang tính chất nghiên cứu khoa hoc, chẳng hạn như: Chương trình, dự án, đề án. Sự khác biệt giữa các hình thức NCKH này như sau:  Đề tài: được thực hiện để trả lời những câu hỏi mang tính học thuật, có thể chưa để ý đến việc ứng dụng trong hoạt động thực tế.  Dự án: được thực hiện nhằm vào mục đích ứng dụng, có xác định cụ thể hiệu quả về kinh tế và xã hội. Dự án có tính ứng dụng cao, có ràng buộc thời gian và nguồn lực.  Đề án: là loại văn kiện, được xây dựng để trình cấp quản lý cao hơn, hoặc gởi cho một cơ quan tài trợ để xin thực hiện một công việc nào đó như: thành lập một tổ chức; tài trợ cho một hoạt động xã hội, ... Sau khi đề án được phê chuẩn, sẽ thành những dự án, chương trình, đề tài theo yêu cầu của đề án.  Chương trình: là một nhóm đề tài hoặc dự án được tập hợp theo một mục đích xác định. Giữa chúng có tính độc lập tương đối cao. Tiến độ thực hiện đề tài, dự án trong chương trình không nhất thiết phải giống nhau, nhưng nội dung của chương trình thì phải đồng bộ. b) Đối tượng nghiên cứu và phạm vi nghiên cứu - Đối tượng nghiên cứu: là bản chất của sự vật hay hiện tượng cần xem xét và làm rõ trong nhiệm vụ nghiên cứu. - Phạm vi nghiên cứu: đối tượng nghiên cứu được khảo sát trong trong phạm vi nhất định về mặt thời gian, không gian và lĩnh vực nghiên cứu. c) Mục đích và mục tiêu nghiên cứu Khi viết đề cương nghiên cứu, một điều rất quan trọng là làm sao thể hiện được mục tiêu và mục đích nghiên cứu mà không có sự trùng lấp lẫn nhau. Vì vậy, cần thiết để phân biệt sự khác nhau giữa mục đích và mục tiêu.  Mục đích: là hướng đến một điều gì hay một công việc nào đó trong nghiên cứu mà người nghiên cứu mong muốn để hoàn thành, nhưng thường thì mục đích khó có thể đo lường hay định lượng. Nói cách khác, mục đích là sự sắp đặt công việc hay điều gì đó được đưa ra trong nghiên cứu. Mục đích trả lời câu hỏi “nhằm vào việc gì?”, hoặc “để phục vụ cho điều gì?” và mang ý nghĩa thực tiển của nghiên cứu, nhắm đến đối tượng phục vụ sản xuất, nghiên cứu.  Mục tiêu: là thực hiện điều gì hoặc hoạt động nào đó cụ thể, rõ ràng mà người nghiên cứu sẽ hoàn thành theo kế hoạch đã đặt ra trong nghiên cứu. Mục tiêu có thể đo lường hay định lượng được. Nói cách khác, mục tiêu là nền tảng hoạt động của đề tài và làm cơ sở cho việc đánh giá kế hoạch nghiên cứu đã đưa ra, và là điều mà kết quả phải đạt được. Mục tiêu trả lời câu hỏi “làm cái gì?”. II. Các phương pháp nghiên cứu, giải quyết vấn đề: 1. Vấn đề khoa học a) Khái niệm Vấn đề khoa học (scientific problem) còn gọi là vấn đề nghiên cứu (research problem) là câu hỏi đặt ra khi người nghiên cứu đứng trước mâu thuẫn giữa tính hạn chế của tri thức khoa học hiện có với yêu cầu phát triển tri thức đó ở trình độ cao hơn. b) Phân loại Nghiên cứu khoa học luôn tại 2 vấn đề: + Vấn đề về bản chất sự vật đang tìm kiếm. + Vấn đề về phương pháp nghiên cứu để làm sáng tỏ về lý thuyết và thực tiễn những vấn đề thuộc lớp thứ nhất c) Các phương pháp phát hiện vấn đề khoa học Có 6 phương pháp: 1) Tìm những kẻ hở, phát hiện những vấn đề mới 2) Tìm những bất đồng 3) Nghĩ ngược lại quan niệm thông thường 4) Quan sát những vướng mắt trong thực tiễn 5) Lắng nghe lời kêu ca phàn nàn 6) Cảm hứng: những câu hỏi bất chợt xuất hiện khi quan sát sự kiện nào đó. 2. Phương pháp giải quyết vấn đề khoa học về phát minh, sáng chế a) Có 5 phương pháp  Dựng Vepol đầy đủ  Chuyển sang Fepol  Phá vở Vepol  Xích Vepol  Liên trường b) Có 40 thủ thuật Có 40 thủ thuật (nguyên tắc) sáng tạo cơ bản, ở đây chỉ trình bày 5 thủ thuật cơ bản được sử dụng nhiều trong tin học.  Nguyên tắc 1: Nguyên tắc phân nhỏ Nội dung:  Chia các đối tượng thành các thành phần độc lập  Làm đối tượng thành các thành phần tháo ráp  Tăng mức độ phân nhỏ đối tượng Ví dụ: Trong kỹ thuật lập trình, ai cũng biết một nguyên tắc cơ bản là modul hóa, nghĩa là phân nhỏ chương trình thành nhiều modul độc lập gọi là các chương trình con, thể nhiên chúng là các hàm hoặc các procedure.  Nguyên tắc 2: Nguyên tắc tách khỏi Nội dung: Tách thành phần gây phiền phức ra khỏi đối tượng hoặc ngược lại. Tách lấy phần cần thiết. Ví dụ: Khi xử lý tín hiệu số có thể ta sẽ tách bỏ các nhiễu, phục hồi tín hiệu ban đầu, sóng mang tín hiệu thì tách sóng để lấy tín hiệu cần thiết.  Nguyên tắc 3: Nguyên tắc 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ất năng khác nhau - Mỗi phần của đối tượng phải có các chất năng khác nhau Ví dụ: Trong một đọan chương trình, cần phân biệt các phẩm chất cục bộ: ở đâu là lõi của phần chương trình, phần nào là những thao tác phụ. Chẳng hạn, in tất cả các số nguyên trong phạm vi [2.10000] và yêu cầu in ra: mỗi hàng có 8 số nguyên tố, mỗi trang có 20 hàng, tạm dừng. Như vậy, lõi của chương trình là phần kiểm tra n có phải số nguyên tố không, nếu phải thì in ra.  Nguyên tắc 4: Nguyên tắc phản đối xứng Nội dung: Chuyển đối tượng có hìng dạng, tính chất đối xứng thành phản đối xứng Ví dụ: Các xe ô tô du lịch loại nhỏ có cửa mở ở cả 2 phía nhưng các xe lớn (bus chẳng hạn) chỉ mở phía tay phải, sát với lề đường.  Nguyên tắc 5: 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 của CPU, tận dụng tài nguyên để cho ra hệ điều hành đa nhiệm, nhiều người dùng. Ví dụ: Trong các chương trình máy tính, các ngôn ngữ cấp cao thường cho phép kết hợp mã nguồn của Assembly. 3. Các phương pháp giải quyết vấn đề tổng quát Với thông tin ban đầu và cần giải quyết, ta có mô hình như sau: Hình 1. Mô hình giải quyết vấn đề tổng quát a) Các phương pháp phân tích vấn đề + Phân chia vấn đề + Phân loại vấn đề + Phân công vấn đề + Phân cấp bài toán + Phân tích. b) Các phương pháp tổng hợp vấn đề + Tổ hợp + Đối hợp + Tích hợp + Kết hợp + Tổng hợp theo không gian và thời gian 4. Các phương pháp giải quyết vấn đề trong tin học a) Phương pháp trực tiếp: Đặc điểm của cách giải quyết vấn đề này là đều xác định trực tiếp được lời giải qua một thủ tục tính toán (công thức, hệ thức, định luật,…) hoặc qua các bước căn bản để có được lời giải. Đối với phương pháp này, việc giải quyết vấn đề trên máy tính chỉ là thao tác lập trình hay là sự chuyển đổi lời giải từ ngôn ngữ bên ngoài sang các ngôn ngữ được sử dụng trong máy tính. Tìm hiểu về phương pháp này chính là tìm hiểu về kỹ thuật lập trình trên máy tính. Các nguyên lý áp dụng trong phương pháp trực tiếp :  Nguyên lý 1: Chuyển đổi dữ liệu bài toán thành dữ liệu của chương trình, có nghĩa là “Dữ liệu của bài tóan sẽ được biểu diễn lại dưới dạng các biến của chương trình thông qua các quy tắc xác định của ngôn ngữ lập trình cụ thể”  Nguyên lý 2: Chuyển đổi quá trình tính toán của bài toán thành các cấu trúc của chương trình, có nghĩa là “Mọi quá trình tính toán đều có thể mô tả và thực hiện dựa trên ba cấu trúc cơ bản : Cấu trúc tuần tự, cấu trúc rẽ nhánh và cấu trúc lặp”.  Nguyên lý 3: Biểu diễn các tính toán chính xác, có nghĩa là “Chương trình tính toán theo các biểu thức chính xác không đồng nhất với quá trình tính toán chính xác về mặt hình thức”.  Nguyên lý 4: Biểu diễn các tính toán gần đúng bằng cấu trúc lặp, có nghĩa là “Mọi quá trình tính toán gần đúng đều dựa trên các cấu trúc lặp với tham số xác định”.  Nguyên lý 5: Phân chi bài toán ban đầu thành những bài toán nhỏ hơn, có nghĩa là “Mọi vấn đề-bài toán đều có thể giải quyết bằng cách phân chia thành những vấn đề - bài toán nhỏ hơn”.  Nguyên lý 6: Biểu diễn các tính toán không tường minh bằng đệ quy, có nghĩa là “Quá trình đệ quy trong máy tính không đơn giản như các biểu thức quy nạp trong toán học”. b) Phương pháp gián tiếp  Phương pháp Thử Sai: Khi xây dựng lời giải bài toán theo phương pháp thử – sai, người ta thường dựa vào 3 nguyên lý sau :  Nguyên lý vét cạn: Đây là nguyên lý đơn giản nhất, liệt kê tất cả các trường hợp có thể xảy ra.  Nguyên lý ngẫu nhiên: Dựa vào việc thử một số khả năng được chọn một cách ngẫu nhiên. Khả năng tìm ra lời giải đúng phụ thuộc rất nhiều vào chiến lược chọn ngẫu nhiên.  Nguyên lý mê cung: Nguyên lý này được áp dụng khi chúng ta không thể biết được chính xác “hình dạng” lời giải mà phải xây dựng dần lời giải qua từng bước một giống như tìm đường đi trong mê cung. Để thực hiện tốt phương pháp thử - sai, chúng ta nên áp dụng các nguyên lý sau  Nguyên lý vét cạn toàn bộ: Muốn tìm được cây kim trong đống rơm, hãy lần lượt rút ra từng cọng rơm cho đến khi rút được cây kim.  Nguyên lý mắt lưới: Lưới bắt cá chỉ bắt được những con cá có kích thước lớn hơn kích thước mắt lưới.  Nguyên lý giảm độ phức tạp của thử và sai: Thu hẹp trường hợp trước và trong khi duyệt, đồng thời đơn giản hóa tối đa điều kiện chấp nhận một trường hợp.  Nguyên lý thu gọn không gian tìm kiếm: Loại bỏ những trường hợp hoặc nhóm trường hợp chắc chắn không dẫn đến lời giải.  Nguyên lý đánh giá nhánh cận: Nhánh có chứa quả phải nặng hơn trọng lượng của quả.  Phương pháp Heuristic: Phương pháp Heuristic có đặc điểm là đơn giản và gần gủi với cách suy nghĩ của con người, cho ra được những lời giải đúng trong đa số các trường hợp áp dụng. Các thuật giải Heuristic được xây dựng dựa trên một số nguyên lý rất đơn giản như: vét cạn thông minh, tối ưu cục bộ (Greedy), Hướng đích, sắp thứ tự …Để thực hiện tốt phương pháp Heuristic, chúng ta nên áp dụng các nguyên lý sau:  Nguyên lý leo núi: Muốn leo lên đến đỉnh thì bước sau phải “cao hơn” bước trước.  Nguyên lý chung : Chọn hướng đi triển vọng nhất trong số những hướng đi đã biết.  Phương pháp Trí Tuệ Nhân Tạo: Phương pháp trí tuệ nhân tạo dựa trên trí thông minh của máy tính. Phương pháp này, người ta sẽ đưa vào máy trí thông minh nhân tạo giúp máy tính bắt chước một phần khả năng suy luận như con người, máy tính dựa trên những điều đã được “học“ để tự đưa ra phương án giải quyết vấn đề. Sơ đồ mạng tính toán để giải bài toán tam giác Hình 2: Mô hình mạng ngữ nghĩa Trong lĩnh vực “máy học” , các hình thức học có thể phân chia như sau : - Học vẹt - Học bằng cách chỉ dẫn - Học bằng qui nạp - Học bằng tương tự - Học dựa trên giải thích - Học dựa trên tình huống - Khám phá hay học không giám sát Các kỹ thuật thường được áp dụng trong “máy học” là: khai khoáng dữ liệu, mạng nơ ron, thuật giải di truyền… PHẦN II: TRÌNH DUYỆT WEB VÀ SỰ PHÁT TRIỂN I. Web browser - trình duyệt web là gì? Một web browser là một phần mềm ứng dụng để truy xuất, trình diễn và chuyển các nguồn thông tin (information resource) trên mạng hệ thống mạng toàn cầu (World Wide Web). Một nguồn thông tin được nhận dạng bởi một Uniform Resource Identifier (URI) và có thể là một trang web, phim - video, hình ảnh (images) hoặc các mẫu thông tin khác. Mặc dù các trình duyệt với mục đích là để truy cập vào hệ thống mạng toàn cầu, các trình duyệt còn được sử dụng để truy cập các thông tin được cung cấp bởi các web servers (máy chủ web) trong hệ thống mạng riêng hoặc các tài liệu (files) đến các hệ thống file (file system). Hoặc cũng được dùng để tiết kiệm tài nguyên thông tin cho các hệ thống lưu trữ file. II. Sơ lượt lịch sử phát triển của trình duyệt Lịch sử của các trình duyệt Website bắt đầu vào cuối thập niên 1980, khi một loạt các công nghệ đặt nền móng cho các trình duyệt Web đầu tiên, WorldWideWeb, do Tim Berners-Lee vào năm 1991. Sự phát triển này dựa trên các công nghệ phần mềm và phần cứng hiện có, ngoài ra cũng mở ra nhiều công nghệ mới bắt đầu tư đây. Ted Nelson và Douglas Engelbart phát triển khái niệm siêu văn bản trước khi Berners-Lee và CERN khá lâu. Web browser đã trở thành cốt lõi của World Wide Web. Berners-Lee thừa nhận sự đóng góp của Engelbart. Việc giới thiệu trình duyệt Mosaic NCSA Web vào năm 1993 - một trong những trình duyệt web với giao diện đồ họa đầu tiên - đã dẫn tới sự bùng nổ trong việc dùng web. Marc Andreessen, người lãnh đạo của đội Mosaic tại NCSA, sớm bắt đầu công ty riêng của mình, đặt tên là Netscape, và phát hành các phiên bản Mosaic Netscape Navigator vào năm 1994, và sau đó nhanh chóng trở thành trình duyệt phổ biến nhất thế giới, chiếm 90% của tất cả các sử dụng Web đỉnh cao của nó. Hình: biểu đồ thể hiện thị phần của các trình duyệt web 10/2011 1995 Microsoft phát hành trình duyệt Internet Explorer (cũng bị ảnh hưởng nhiều từ Mosaic). Bằng việc kết hợp Internet Explorer với Windows, Microsoft đã có thể tận dụng ưu thế của nó trong thị trường hệ điều hành để quản lý thị trường trình duyệt Web; Internet Explorer sử dụng đạt vị trí tr