Luận văn, khóa luận tốt nghiệp, báo cáo là sản phẩm kiến thức, là công trình khoa học đầu tay của sinh viên, đúc kết những kiến thức của cả quá trình nghiên cứu và học tập một chuyên đề, chuyên ngành cụ thể. Tổng hợp các đồ án, khóa luận, tiểu luận, chuyên đề và luận văn tốt nghiệp đại học về các chuyên ngành: Kinh tế, Tài Chính Ngân Hàng, Công nghệ thông tin, Khoa học kỹ thuật, Khoa học xã hội, Y dược, Nông Lâm Ngữ... dành cho sinh viên tham khảo. Kho đề tài hay và mới lạ giúp sinh viên chuyên ngành định hướng và lựa chọn cho mình một đề tài phù hợp, thực hiện viết báo cáo luận văn và bảo vệ thành công đồ án của mình
Trang 1TRƯỜ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
Trang 2LỜ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
Trang 3
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 ADpÏÏATC€: 5-5 se rteterrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrerrree TL
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) . -ccc:¿-+cccceeeerrrrrrtrrrrrrrrrrrrrrrrrrrreee 1 b) _ Nguyên tắc chuyển sang chiều khác -cccc:+£+22vvveevttrrtrreeeerrrrrrrreerrrrrrrrrrreerceerr.e, TẾ c) _ Nguyên tắc giải “thiếu” hoặc “thừa” -cccccecrrtrrrrtrerrrrrrrrrrrrrrrrrree.e, L5
TI = DIEN TOAN DAM MAY uve cessessssesssssessssesssssessssecssseesssecssseesssecsssecssseesssecsssscesserenseeesssesssseessseesssees LG
1 Giới thiệu về điện toán đám THÂY 5 ST rkrkrerererrrrrrererererere TỔ,
2 Tại sao lại cần điện toán đám mây -2 +£+E+++e+tE+xtetrrrxertrrrxxerrrrrxerrrrrxerrrrrxeerrrreecee TZ
b) Tự động cập nhật: . - 6 << ST TH TT TH TH HT Tnhh gà 17 Da“ ẽ.ẻ 17 d) _ Cách sử dụng nhân viên được tính g1ẩn: - 5s £sEsxeekeeeeesesrsrsrrerrererrrrsereree TỔ e) Khả năng mở rộng: -5-cssesseeeererrrerrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrre TẾ,
3 Những bất lợi của điện toán đám mây -ccccc:++tccvrreerrerrrrrrrrrrrrrrrrrrrrrrrrrrrerir , TẾỂ
Trang 4
DA (ca số ẽ -.- ⁄dd||(XÃXÃ|Ãi: 18
đ) _ Có thể xảy thời gian chét (AOWNtIME) sccsccsssssscssssessesssecsesssccessssecessssecsssssescssssessessseessssseeeesssee 18 4 Mô hình dịch vụ của điện toán đám mâyy - + + *£+£k+£eeeEeteteteersrsrrsrrrrreeererererere TỢ, a) Thiét bi người dùng (Cloud clien\t) -¿- 5-2 +5 + <+s££v£eEsEseekeeeeeersrsrsrsrsrrereeererererrree TỔ, b) Dịch vụ phần mềm (SaaS — SOftWare as a S€TVÏC€) -222c©222SeecCCvxeevcCvxrrtrrrxrrrrrrrrrrrrrree 19 c) Dich vunén tảng (PaaS — Platform as a S€TVIC€) . -5- «5+ S+Ssseseersrersrsrrrrrrrsrerrrsereree.TỢ d) Dịch vụ hạ tầng (laaS — Infrastructure as a S€TVIC€), 5-5-5 55s c+eseereesrrerseereeeererecre ZỮ
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ỏ: -+°++e+CE+++etEE+xxeerrrrxeetrrrxrerrrrxrrrrrrrerrrrrrerrrrrreecrrrveecerrvx 2
Da oi na 21 c) _ Nguyên tắc "rẻ" thay cho "đất" -cccc++22222+++vr22221111111.22121111111.2271111111 1 c.rr 21 đ) _ Nguyên tắc phân hủy hoặc tái sinh các phần 2 +£++£+tE+++++tzxxe+trvxxerrrrreree 21
na ốc an ẽ
V PHU LUC: Trich dan 40 nguyén tắc sáng tạo cơ bản -cccc:¿22ccvceecesrrrrrreeerrrrrrrreeec 28
VI TAL LIEU THAM KHAO ccssssessesssssessssssssscssssecsssecssuscsssessssecsssecsssscsssscsssseessesesseeesssesssseessseesssees 32
Trang 5
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 phan
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
Trang 6
I TONG QUAN VE DONG GOI VA TRIEN KHAI SAN PHAM PHAN MEM
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 đù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: Tao ra gói sản phẩm cài đặt va 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: Cai đặ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
đã đượ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 đã cai dat (ở 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 đố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
Trang 7
3 Các phương pháp truyền thống
New | Web Server Friniaisork All
New Web Server Extensions [Web Deployment Too! Beta2 Sena ASP.NET oduct Details MVC Release Candidate 1
New Tools and Framework Extensions Model View Controter OVC) ie
(CD Sivettight Tools for Visual Studio m= 1.3
ASP.NET MYC Release Candidate 1 (Installed) D § Sie 342 MB
Dependencies: NET Framework 35 Service Pack1
Figure 1: Hinh minh hga về việc cài đặt một img dung bang 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
- Doc registry dé 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
Trang 8
b) Tạo các gói phần mềm portable
PORTASLE
Figure 2: Hinh minh hga phan mém portable
Phần mềm portable 14 dang phần mềm được thiết kế dé 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ị đi độ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
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
Trang 9
Hình Figure 3 bên đướ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ở đữ liệu ORACLE trên máy chạy hệ điều hành
Figure 3: Tai ligu huéng dan cai dat 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
Trang 10
Parameter Value File
= 32-bit Linux
Systems Maximum: A value that is 1 byte less
than 4 GB, or
4294967295 Recommended:
More than half the physical memory
= 64-bit Linux Systems Maximum: A value that is 1 byte less
than the physical memory
Figure 4: hinh minh hga nhing 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à chỉ phí để tìm cách giải
quyêt
Trang 11
Anh đã install bản vá cuối cùng của hệ
Anh có thay đối tham số maximum
buffer size như trong hướng dẫn
othe Hmm Gái đó là gì vậy?
Anh có thế gửi cho tôi log file nằm ở
varfmessage/log trên máy của anh
không?
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 đùng cuối và tốn kém cho các nhà phát triển Software appliance ra đời la dé
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
Trang 12
«al ý ee Ti
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):
Trang 13
-_ 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 may ao (Vmware, Hyper-V) hay điện toán đám mây (Amazon EC2)
Software Appliances
Virtual Appliances
Trang 142 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 nhu 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-http://susestudio.com/) 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
Trang 15b) 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ư chỉ phí cả cho nhà cung ứng sản phẩm lẫn người dùng cuối
e) 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
Trang 16
Đ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à