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.
32 trang |
Chia sẻ: oanh_nt | Lượt xem: 6609 | Lượt tải: 1
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