Bài thu hoạch môn phương pháp nghiên cứu khoa học

Khoa học và công nghệ là đặc trưng của thời đại, nghiên cứu khoa học đã trở thành hoạt động sôi nổi và rộng khắp trên phạm vi toàn cầu. Các thành tựu của khoa học hiện đại đã làm thay đổi bộ mặt thế giới. Khoa học và công nghệ đã trở thành động lực thúc đẩy sự tiến bộ nhân loại. Cùng với nghiên cứu khoa học hiện đại, mọi người đang chú ý đến phương pháp nhận thức khoa học, coi đó là nhân tố quan trọng để phát triển khoa học. Trong lĩnh vực công nghệ thông tin, việc đóng gói và triển khai sản phẩm phần mềm đến với khách hàng là một công đoạn hết sức quan trọng vì mục tiêu của việc phát triển phần mềm là được chấp nhận và sử dụng bởi người dùng cuối. Thông qua những buổi giảng dạy và hướng dẫn của thầy Hoàng Kiếm, em được biết thêm và hiểu hơn về cách vận dụng các thủ thuật (nguyên tắc) sáng tạo trong quá trình giải quyết các bài toán, cùng các vấn đề mang tính khoa học. Do đó, trong tài liệu này em xin phân tích những thủ thuật (nguyên tắc) sáng tạo được áp dụng trong việc cải tiến quá trình triển khai sản phẩm đến với người dùng.

pdf32 trang | Chia sẻ: oanh_nt | Lượt xem: 5087 | Lượt tải: 10download
Bạn đang xem trước 20 trang tài liệu Bài thu hoạch môn phương pháp nghiên cứu khoa học, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BÀI THU HOẠCH MÔN PHƢƠNG PHÁP NGHIÊN CỨU KHOA HỌC GVHD: GS.TSKH Hoàng Kiếm Học viên: Nguyễn Thanh Tòng – 1212039 Lớp cao học K22 Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 1 LỜI CẢM ƠN Em xin chân thành cảm ơn thầy Hoàng Kiếm đã tạo điều kiện cho em tiếp xúc với các phương pháp luận sáng tạo trong khoa học nói chung và trong tin học nói riêng. Môn học đã cung cấp các kiến thức hữu ích về việc áp dụng tư duy sáng tạo vào quá trình học tập và nghiên cứu khoa học. Em cũng xin cảm ơn các bạn đã nhiệt tình góp ý, hỗ trợ cho em trong thời gian thực hiện bài báo cáo này. Mặc dù đã rất cố gắng hoàn thành trong phạm vi và khả năng cho phép nhưng chắc chắn nhóm em không thể tránh khói những sai sót, em rất mong nhận được sự góp ý, chỉ bảo của thầy và các bạn. Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 2 Mục lục I. TỔNG QUAN VỀ ĐÓNG GÓI VÀ TRIỂN KHAI SẢN PHẨM PHẦN MỀM. ................................. 6 1. Tổng quan. ........................................................................................................................................ 6 2. Các giai đoạn. .................................................................................................................................... 6 3. Các phương pháp truyền thống. ........................................................................................................ 7 a) Tạo các gói cài đặt (installer). ....................................................................................................... 7 b) Tạo các gói phần mềm portable. ................................................................................................... 8 II. SOTFWARE APPLIANCE .................................................................................................................. 8 1. Software appliance là gì và tại sao những người phát triển phần mềm lại quan tâm đến nó. ........... 8 Software Appliance: ................................................................................................................................ 11 2. Những nguyên tắc sáng tạo có thể suy ra được từ sự ra đời của software appliance. ..................... 14 a) Nguyên tắc tương tự hóa (sao chép) ........................................................................................... 14 b) Nguyên tắc chuyển sang chiều khác. .......................................................................................... 15 c) Nguyên tắc giải “thiếu” hoặc “thừa”. .......................................................................................... 15 III. ĐIỆN TOÁN ĐÁM MÂY. ............................................................................................................. 16 1. Giới thiệu về điện toán đám mây. ................................................................................................... 16 2. Tại sao lại cần điện toán đám mây. ................................................................................................. 17 a) Chi phí:........................................................................................................................................ 17 b) Tự động cập nhật: ....................................................................................................................... 17 c) Truy xuất từ xa: ........................................................................................................................... 17 d) Cách sử dụng nhân viên được tinh giản: ..................................................................................... 18 e) Khả năng mở rộng: ..................................................................................................................... 18 3. Những bất lợi của điện toán đám mây. ........................................................................................... 18 Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 3 a) Vấn đề về bảo mật ....................................................................................................................... 18 b) Độ trễ cao .................................................................................................................................... 18 c) Tính linh hoạt .............................................................................................................................. 18 d) Có thể xảy thời gian chết (downtime) ......................................................................................... 18 4. Mô hình dịch vụ của điện toán đám mây. ....................................................................................... 19 a) Thiết bị người dùng (Cloud client) ............................................................................................. 19 b) Dịch vụ phần mềm (SaaS – Software as a service) ..................................................................... 19 c) Dịch vụ nền tảng (PaaS – Platform as a service) ........................................................................ 19 d) Dịch vụ hạ tầng (IaaS – Infrastructure as a service) ................................................................... 20 5. Những nguyên tắc sáng tạo có thể suy ra được từ điện toán đám mây. .......................................... 20 a) Nguyên tắc phân nhỏ: ................................................................................................................. 20 b) Nguyên tắc tách khỏi .................................................................................................................. 21 c) Nguyên tắc "rẻ" thay cho "đắt" ................................................................................................... 21 d) Nguyên tắc phân hủy hoặc tái sinh các phần .............................................................................. 21 e) Nguyên tắc dự phòng. ................................................................................................................. 21 IV. KẾT LUẬN ..................................................................................................................................... 22 V. PHỤ LỤC: Trích dẫn 40 nguyên tắc sáng tạo cơ bản ......................................................................... 23 VI. TÀI LIỆU THAM KHẢO............................................................................................................... 32 Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 4 LỜI NÓI ĐẦU Khoa học và công nghệ là đặc trưng của thời đại, nghiên cứu khoa học đã trở thành hoạt động sôi nổi và rộng khắp trên phạm vi toàn cầu. Các thành tựu của khoa học hiện đại đã làm thay đổi bộ mặt thế giới. Khoa học và công nghệ đã trở thành động lực thúc đẩy sự tiến bộ nhân loại. Cùng với nghiên cứu khoa học hiện đại, mọi người đang chú ý đến phương pháp nhận thức khoa học, coi đó là nhân tố quan trọng để phát triển khoa học. Trong lĩnh vực công nghệ thông tin, việc đóng gói và triển khai sản phẩm phần mềm đến với khách hàng là một công đoạn hết sức quan trọng vì mục tiêu của việc phát triển phần mềm là được chấp nhận và sử dụng bởi người dùng cuối. Thông qua những buổi giảng dạy và hướng dẫn của thầy Hoàng Kiếm, em được biết thêm và hiểu hơn về cách vận dụng các thủ thuật (nguyên tắc) sáng tạo trong quá trình giải quyết các bài toán, cùng các vấn đề mang tính khoa học. Do đó, trong tài liệu này em xin phân tích những thủ thuật (nguyên tắc) sáng tạo được áp dụng trong việc cải tiến quá trình triển khai sản phẩm đến với người dùng. Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 5 I. TỔNG QUAN VỀ ĐÓNG GÓI VÀ TRIỂN KHAI SẢN PHẨM PHẦN MỀM. 1. Tổng quan. Một chương trình (program) vừa mới được tạo ra có thể hoạt động tốt trên máy của lập trình viên nhưng điều đó không có nghĩa là nó thật sự sẳn sàng cho những người khác (end user) sử dụng. Triển khai sản phẩm phần mềm là quá trình làm cho một sản phẩm (hay một hệ thống) phần mềm sẳn sàng để được sử dụng bởi người dùng cuối. 2. Các giai đoạn. Quá trình triển khai sản phẩm có thể được chia ra thành các giai đoạn chính sau: - Release: Tạo ra gói sản phẩm cài đặt và các thiết bị phần cứng cần thiết đi kèm của sản phầm phần mềm. - Install and activate: Cài đặt gói sản phẩm lên các thiết bị của người dùng và kích hoạt sản phẩm. - Adapt : Là hoạt động chỉnh sửa một hoặc nhiều thành phần của sản phảm đã được cài đặt. Hoạt động này xuất phát từ yêu cầu của người dùng cuối như chỉnh sửa các file cấu hình cho phù hợp với môi trường của người dung. - Update: Là hoạt đọng thay thế toàn bộ hoặc một phần sản phẩm đã cài dặt (ở version cũ) bằng một bộ phần hoặc toàn bộ sản phẩm mới có version cao hơn. - Version tracking: Là một hệ thống giúp người dùng cuối theo dõi version của sản phẩm họ đang sử dụng, tìm kiếm cũng như cài đặt các gói update do nhà sản xuất cung cấp. - Uinstall: Là quá trình ngược với quá trình cài đặt, quá trình này gõ bỏ một phần hoặc toàn bộ sản phẩm đã không còn được sử dụng. - Retire: Cuối cùng một sản phẩm sẽ bị đánh dấu là không còn được hỗ trợ bởi nhà sản xuất. Đây là giai đoạn cuối cùng trong cả quá trình phát triển phần mềm. Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 6 3. Các phƣơng pháp truyền thống. a) Tạo các gói cài đặt (installer). Figure 1: Hình minh họa về việc cài đặt một ứng dụng bằng installer Các nhà sản xuất phần mềm thường sử dụng một phần mềm của bên thứ 3 (third party) để tạo các gói cài đặt cho ứng dụng của mình. Mục đích của các gói cài đặt này là tiến hành cài đặt một cách tự động sản phẩm phần mềm lên máy của người dùng cuối. Quá trình tự động này thường bao gồm các hoạt động sau: - Tiến hành giải nén và sao chép các file thực thi của hệ thống vào máy người dùng. - Đọc registry để lấy một số thông tin cần thiết cũng như ghi một số thông tin của hệ thống vào registry. - Xỏa bỏ các file tạm được tạo trong quá trình cài đặt. Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 7 b) Tạo các gói phần mềm portable. Figure 2: Hình minh họa phần mềm portable Phần mềm portable là dạng phần mềm được thiết kế để có thể hoạt động độc lập với máy chủ(host) sẽ chạy phần mềm đó (mặc dù vẫn còn phải phụ thuộc vào hệ điệu hành cụ thể). Nghĩa là phần mềm này có thể hoạt động mà không cần biết các thông tin của máy chủ (như địa chỉ IP, hostname, các thông tin trong registry). Các phần mềm portable thường nhỏ gọn và có thể được lưu trữ trong các thiết bị di động như CD, USB hay đĩa mềm. Người dùng có thể chạy trực tiếp phần mềm được lưu trữ trên các thiết bị di động mà không cần phải cài đặt phần mềm vào máy. II. SOTFWARE APPLIANCE 1. Software appliance là gì và tại sao những ngƣời phát triển phần mềm lại quan tâm đến nó. Công việc cài đặt và triển khai phần mềm là một quá trình lập đi lập lại và dễ xảy ra lỗi. Điều này càng đúng khi triển khai những phần mềm lớn chạy trên máy chủ (server) mà đặc biệt là những phần mềm chạy trên máy chủ mang tính thương mại. Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 8 Hình Figure 3 bên dưới là số trang tài liệu mà một người cài đặt phần mềm phải đọc để cài đặt hệ quản trị cơ sở dữ liệu ORACLE trên máy chạy hệ điều hành Linux. Figure 3: Tài liệu hƣớng dẫn cài đặt Oracle Database 55 trang đầu tiên trong tài liệu hướng dẫn thuộc về pre-installation (trước khi cài đặt) mô tả những công việc mà một người IT phải thực hiện để đảm bảo máy chủ và hệ điều hành cài đặt trên máy chủ đó đã sẵn sàng cho việc cài đặt ORACLE. Và nhiều trang trong số (Figure 4) đó cung cấp những giá trị tham số hệ thống đòi hỏi người IT phải tự điều chỉnh cho hệ thống. Và điều này là thường thấy đối với hầu hết những phần mềm lớn. Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 9 Figure 4: hình minh họa những tham số hệ thống mà ngƣời IT phải tự điều chỉnh Tất nhiên vẫn có những phần mềm lớn dễ dàng cài đặt hơn so với ví dụ về Oracle database, tuy nhiên việc cài đặt vẫn có thể thất bại do máy chủ thiếu thư viện cần thiết hay sai phiên bản, sai kiến trúc của hệ điều hành (điều này thường xảy ra khi người sử dụng đem những gói phần mềm 64bit cài lên những máy tính 32bit). Và khi việc cài đặt sản phẩm phần mềm không thành công, những nhà phát triển phẩn mềm lẫn người dùng cuối phải mất thời gian và chi phí để tìm cách giải quyết. Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 10 Figure 5: Hình minh họa đoạn đối thọai của nhà phát triển phần mềm hổ trợ khách hàng cài đặt sản phẩm Vậy công việc cài đặt và triển khai phần mềm hiện nay đang gây bực bội cho người dùng cuối và tốn kém cho các nhà phát triển. Software appliance ra đời là để khắc phục những khó khăn vừa nêu. Software Appliance: Software appliance là một bộ sản phẩm bao cả gồm hệ điều hành, phần mềm ứng dụng, và tất cả các thư viện cũng như toàn bộ các file cấu hình cần có cho việc thự thi của phần mềm ứng dụng. Mọi thứ đều đã được cài đặt sẵn, được tích hợp sẵn và sẵn sàng để đưa vào thực thi. Hay nói cách khác, có thể xem Software appliance như một hộp đen thực thi một chức năng nào đó, người dùng cuối chỉ cần sở hữu hợp đen mà không quan tâm đến việc hộp đen đó được tạo ra như thế nào. Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 11 Figure 6: Cách truyền thống Thay vì yêu cầu người sử dụng phải tự tay cài đặt hệ điều hành, cài đặt phần mềm ứng dụng, cũng như các phần mềm của bên thứ 3 cần thiết (như ở Figure 6) những nhà cung ứng phần mềm có thể cung cấp cho khách hàng trọn gói một bộ sản phẩm đã sẳn sàng để đưa vào thực thi (như ở Figure 7). Figure 7: Software appliance Bộ sản phẩm này (appliance) được tích hợp bởi các nhà phát triển phần mềm, nên việc tích hợp là do những chuyên gia thực hiện, không phải những người dùng cuối bắt đầu đọc tài liệu hướng dẫn và thực hiện việc cài đặt. Software appliance thường được đóng gói dưới các định dạng sau đây (Figure 8): Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 12 - ISO file: Do software appliance đã bao gồm cả hệ điều hành và phần mềm ứng dụng, người dùng chỉ việc dùng file ISO để cài đặt bộ sản phẩm lên thiết bị phần cứng có trước như cài đặt mới một hệ điều hành, khi kết thúc việc cài đặt này thì phần mềm ứng dụng cũng đã sẵn sàng để đưa vào hoạt động (Có thể hình dung việc này như khi cài đặt xong Microsoft window thì Internet explorer, Window media player cũng đã sẵn sàng hoạt động). - HDD disk: nhà cung ứng phần mềm cũng có thể cài đặt sẵn bộ sản phẩm lên đỉa cứng hay USB và phân phối thiết bị này cho người dùng. - Virtual appliance: các bộ ứng dụng ở định dạng này có thể được triển khai lên máy ảo (Vmware, Hyper-V) hay điện toán đám mây (Amazon EC2). Figure 8: Đóng gói appliance Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 13 2. Những nguyên tắc sáng tạo có thể suy ra đƣợc từ sự ra đời của software appliance. Có một nhận định nổi tiếng về software appliance như sau: “Car companies don’t ask us to buy the engine, chassis, and wheels separately and put it all together ourselves. Why are end-users still doing so much assembly in the software world?” (Nat Friedman CEO of SUSE studio company- Tạm dịch: “Các công ty xe hơi không yêu cầu chúng ta mua động cơ, bánh lái, bánh xe một cách riêng lẽ và tự ráp chúng lại với nhau. Tại sao những người dùng cuối vẫn còn phải làm rất nhiều việc lắp ráp ở trong thế giới phần mềm?” Figure 9: Hình minh họa việc lắp ráp các linh kiện xe hơi a) Nguyên tắc tƣơng tự hóa (sao chép) Sự ra đời của software appliance chính là nhờ áp dụng nguyên tắc tương tự hóa, lấy ý tưởng của việc triển khai các sản phẩm như đồ điện gia dụng, xe hơi,… ở thế giới thực và đưa vào thới giới phần mềm. Nhờ áp dụng nguyên tắc này, các nhà cung ứng phần mềm có thể cung cấp cho khách hàng một bộ sản phẩm trọn gói, có thể ngay lập tức sẵn sàng để đưa vào phục vụ khác hàng (thông qua các hình thức đóng gói đã nói ở Figure 8). Đây chính là nguyên tắc sáng tạo chủ đạo cho sự ra đời của software appliance. Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 14 b) Nguyên tắc chuyển sang chiều khác. Quá trình cài đặt và triển khai phần mềm hiện nay đa số đều diễn ra theo các phương thức truyền thống, ở đó việc cài đặt và cấu hình phần mềm thường diễn ra ở phía của người dùng cuối và do người dung cuối tự thực hiện (đôi khi có sự giúp đỡ từ các nhà cung ứng). Công việc này thường lập đi lập lại và dễ mắc phải lỗi. Nay với việc áp dụng phương thức appliance, quá trình cài đặt và cấu hình phần mềm được đẩy về phía các nhà cung ứng, họ là những chuyên gia trong việc cài đặt, triển khai phần mềm. Việc chuyển chiều này giúp tiết kiệm thời gian cũng như chi phí cả cho nhà cung ứng sản phẩm lẫn người dùng cuối. c) Nguyên tắc giải “thiếu” hoặc “thừa”. Bên cạnh sai xót trong việc đọc và thực hiện cài đặt theo hướng dẫn sử dụng của nhà sản xuất làm cho quá trình cài đặt phần mềm thất bại, thì sự xung đột của những phần mềm hiện có trên máy chủ của người dùng cuối cũng có thể làm cho quá trình này diễn ra không thành công, hay nếu cài đặt thành công thì phần mềm cũng không thể thực hiện tốt. Đối với software appliance, hệ điều hành và những phần mềm của bên thứ 3 nào được chọn để cài đặt cùng phần mềm ứng dụng là do nhà cung ứng phần mềm quyết định và thông thường người dùng cuối sẽ không tự tiến hành cài đặt thêm các sản phẩm khác vào software appliance. Điều này sẽ giúp cho phần mềm ứng dụng tránh khỏi những xung đột không mong muốn. Software appliance có thể được xem là một lời giải thừa cho bài toán cài đặt phần mềm vì người dùng cuối phải có một hệ thống riêng biệt chỉ để chạy một ứng dụng. Tuy nhiên với công nghệ ảo hóa (Visualization) ngày càng phát triển, việc có thể có một hệ thống ảo đủ mạnh (với giá thành rẻ) chỉ để chạy duy nhất một ứng dụng là điều hoàn toàn có thể chấp nhận được. Trên thực tế những server lớn thường cũng chỉ chạy một ứng dụng. Ví dụ một hệ thống web server lớn thường phải có 2 máy chủ, 1 máy chủ chỉ để chạy hệ quản trị cơ sở dữ liệu, còn một máy chủ chỉ để chạy web server. Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 15 III. ĐIỆN TOÁN ĐÁM MÂY. Figure 10: Mô hình điện toán đám mây 1. Giới thiệu về điện toán đám mây. Điện toán đám mây (Cloud Computing), còn gọi là điện toán máy chủ ảo, là mô hình điện toán sử dụng các công nghệ máy tính và phát triển dựa vào mạng Internet. Thuật ngữ "đám mây" ở đây là lối nói ẩn dụ chỉ mạng Internet (dựa vào cách được bố trí của nó trong sơ đồ mạng máy tính – Mạng Internet được ký hiệu là một đám mây trong sơ đồ mạng máy tính) và như một liên tưởng về độ phức tạp của các cơ sở hạ tầng chứa trong nó. Ở mô hình điện toán này, mọi chức năng (function) liên quan đến công nghệ thông tin đều được cung cấp dưới dạng các "dịch vụ" (các service), cho phép người sử dụng truy cập các dịch vụ từ một nhà Bài thu hoạch môn phương pháp nghiên cứu khoa học Trang 16 cung cấp nào đó "trong đám mây" mà không cần phải có các kiến thức, kinh nghiệm về công nghệ đó, cũng như không cần quan tâm đến các cơ sở hạ tầng phục vụ cho công nghệ đó. Trong mô hình này, thông tin được lưu trữ thường trực, tính toán, xử lý tại các máy chủ trên Internet (trong đám mây) và chỉ được lưu trữ tạm thời tại các máy khách (ngoài đám mây). Người dùng có thể dễ dàng truy cập vào đám mây chỉ với một ứng dụng có khả năng truy cập Internet (thông thường là trình duyệt web browser) và từ bất kỳ thiết bị nào, bao gồm máy tính, thiết bị cầm tay, di động, thiết bị giải trí. Một ví dụ thực t