LỜI NÓI ĐẦU Ngày nay cùng với sự phát triển của xã hội, con người càng trở nên bận rộn hơn bao gồm cả người phụ nữ. Họ không chỉ là một người phụ nữ của gia đình mà họ còn có công việc của bản thân đối với cộng đồng xã hội. Và cũng chính vì vậy mà nhu cầu tìm kiếm người giúp việc ngày càng cao. Do đó, nhóm 8 chúng em làm về đề tài “Xây dựng phần mềm trợ giúp tìm kiếm người giúp việc trên framework Laravel”. Phần mềm trợ giúp tìm kiếm người giúp việc theo nghề là một trong những hệ thống phần mềm bổ ích giúp cho những người tìm việc hay những người muốn tìm giúp việc nhanh hơn, thuận lợi hơn trong việc tìm kiếm và đỡ mất thời gian. Trong suốt thời gian học tập, nhóm 8 chúng em đã nhận được nhiều sự quan tâm, giúp đỡ của thầy và bạn bè. Để hoàn thành báo cáo này, thay mặt nhóm 8 em xin chân thành cảm ơn đến thầy Trần Thanh Huân, người đã trực tiếp hướng dẫn giúp chúng em hoàn thành đề tài. Tuy thời gian chưa nhiều nhưng với sự cố gắng nỗ lực, quyết tâm của các thành viên trong nhóm, em đã có thể tự hào nói rằng nhóm 8 đã hoàn thành đề tài bằng chính khả năng của từng thành viên. Xong để hoàn thiện hơn, các thành viên trong nhóm rất mong nhận được những đánh giá, nhận xét, góp ý từ thầy và các bạn. Nhóm 8 chúng em xin chân thành cảm ơn Nhóm sinh viên thực hiện MỤC LỤC LỜI NÓI ĐẦU 2 MỤC LỤC 3 DANH SÁCH HÌNH VẼ 5 DANH SÁCH CÁC BẢNG BIỂU 6 DANH SÁCH CÁC TỪ VIẾT TẮT 7 PHẦN MỞ ĐẦU 8 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 10 1.1 Tổng quan về phần mềm mã nguồn mở 10 1.1.1 Mã nguồn mở là gì? 10 1.1.2 Các loại mã nguồn mở 13 1.1.3 Tình hình mã nguồn mở trên Thế giới 20 1.1.4 Tình hình mã nguồn mở ở Việt Nam 21 1.2 Giới thiệu ngôn ngữ, công cụ lập trình được áp dụng 23 1.2.1 Tìm hiểu về công nghệ PHP Laravel 23 1.2.2 Giới thiệu về Visual Studio Code, XamPP 25 1.2.3 Giới thiệu về JavaScript, Bootstrap 26 CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 28 2.1 Khảo sát hệ thống 28 2.2 Biểu đồ UC 28 2.3 Đặc tả UC 28 2.3.1 Đăng nhập hệ thống 28 2.3.2 Đăng ký tài khoản 29 2.3.3 Đăng bản tin 30 2.3.4 Chỉnh sửa bản tin 31 2.3.5 Xóa bản tin 32 2.3.6 Sửa tài khoản người dùng 33 2.4 Biểu đồ trình tự 34 CHƯƠNG 3: CÀI ĐẶT TRIỂN KHAI 37 3.1 Thiết kế cơ sở dữ liệu 37 3.2 Thiết kế giao diện 37 CHƯƠNG 4: ĐÁNH GIÁ KẾT LUẬN 41 TÀI LIỆU THAM KHẢO 42 PHẦN MỞ ĐẦU Hiện nay, các công nghệ tiên tiến phát triển ngày càng mạnh mẽ và được ứng dụng ngày càng nhiều vào các lĩnh vực kinh tế, sản xuất cũng như đời sống thường ngày của con người. Một điểm tiêu biểu nhất trong việc phát triển công nghệ đó phải nói đến việc ứng dụng công nghệ thông tin vào các hoạt động. Nhờ đó công việc được thực hiện nhanh, chính xác và đạt kết quả cao hơn rất nhiều. Cũng chính sự phát triển của xã hội, con người càng trở nên bận rộn hơn bao gồm cả người phụ nữ. Họ không chỉ là một người phụ nữ của gia đình mà họ còn có công việc của bản thân đối với cộng đồng xã hội. Và cũng chính vì vậy mà nhu cầu tìm kiếm người giúp việc ngày càng cao. Do đó, nhóm 3 chúng em làm về đề tài “Xây dựng phần mềm trợ giúp tìm kiếm người giúp việc theo nghề”. Mục đích của đề tài BTL: Xây dựng một phần mềm có giao diện đẹp, thân thiện với mọi người, với các tính năng của một phần mềm cung cấp dịch vụ giúp việc. Là nơi mọi người có thể xem các bản tin tuyển dụng hay tìm kiếm giúp việc với đủ các chuyên mục như: Nhà cửa, Đời sống xã hội, Sửa chữa cơ khí – máy móc, Sửa chữa thiết bị điện tử, Sửa chữa ô tô – xe máy, Sửa chữa máy tính – điện thoại – linh kiện, Dịch vụ, Công nghệ thông tin, Mỹ thuật – thiết kế, Dịch vụ nấu ăn. Phần mềm sẽ có các chức năng cơ bản như: đăng tin, chỉnh sửa và xóa bản tin; sửa và xóa tài khoản người dùng,… Dĩ nhiên người dùng phải có tài khoản thì mới có thể đăng nhập vào hệ thống và sử dụng các chức năng trên. Nếu chưa có tài khoản có thể đăng ký với hệ thống. Bên cạnh đó, không cần đăng nhập, người dùng hay nói chính xác hơn là khách xem có thể xem hệ thống, xem các bài đăng, các chức năng hay giao diện hệ thống mà không cần phải đăng nhập. Mục tiêu của đề tài BTL: Tìm hiểu công nghệ PHP Laravel, ứng dụng nó vào việc xây dựng phần mềm trợ giúp tìm kiếm người giúp việc theo nghề. Người dùng truy cập vào hệ thống có thể tìm kiếm các sản phẩm theo tên sản phẩm, phân loại, mức giá…, website cũng cung cấp cho người quản trị một giao diện đơn giản giúp quản lý hóa đơn, chi tiết hóa đơn, quản lý khách hàng, sản phẩm và thống kê. Giao diện đẹp, thân thiện và dễ sử dụng. Dễ dàng bảo trì và nâng cấp. Phương pháp: Nghiên cứu cơ sở lý thuyết và tài liệu thông qua các công cụ tìm kiếm như google ,coccoc … Tìm hiểu các website sử dụng công nghệ PHP Laravel, từ đó có ý tưởng xây dựng phần mềm trợ giúp tìm kiếm người giúp việc theo nghề. Áp dụng công nghệ PHP Laravel để áp dụng cho việc xây dựng trang hệ thống. Sử dụng những kiến thức đã học về phân tích, thiết kế hệ thống để tổng hợp lại kiến thức và hoàn thành báo cáo. Dự kiến kết quả đạt được: Cung cấp những tài liệu cần thiết về các công nghệ được áp dụng. Biết thêm được các phần mềm nguồn mở đang được áp dụng phổ biến. Tóm tắt nội dung của các chương: Chương 1: Nêu được cơ sở lý thuyết. Sơ lược về ngôn ngữ PHP, Laravel framework của PHP, công cụ được áp dụng trong đề tài BTL là VS code và XamPP. Tổng quan về phần mềm mã nguồn mở: khái niệm, lợi ích của OSS, các loại OSS, tình hình phát triển OSS trên Thế giới và ở Việt Nam. Chương 2: Phân tích thiết kế hệ thống UML. Khảo sát về hệ thống, vẽ biểu đồ UC, đặc tả UC, các biểu đồ trình tự. Chương 3: Cài đặt triển khai. Có các bảng thiết kế cơ sở dữ liệu và thiết kế giao diện phần mềm. Chương 4: Đánh giá kết luận. Kết luận chung cho các chương trong BTL. Nhấn mạnh những vấn đề đã giải quyết đồng thời trình bày các vấn đề vẫn chưa được giải quyết và đưa ra kiến nghị, đề xuất. Tài liệu tham khảo
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
-o0o -BÀI TẬP LỚN PHẦN MỀM MÃ NGUỒN MỞ
(FOSS)
Tên đề tài:
Xây dựng phần mềm trợ giúp tìm kiếm người
giúp việc trên framework Laravel
Giáo viên hướng dẫn : Trần Thanh Huân
Sinh viên thực hiện : Nguyễn Thị Oanh
Nguyễn Thị Cẩm Nhung Hoàng Đức Cương
Hà Nội – 12/2018
Trang 2LỜI NÓI ĐẦU
Ngày nay cùng với sự phát triển của xã hội, con người càng trở nên bận rộn hơnbao gồm cả người phụ nữ Họ không chỉ là một người phụ nữ của gia đình mà họcòn có công việc của bản thân đối với cộng đồng xã hội Và cũng chính vì vậy mànhu cầu tìm kiếm người giúp việc ngày càng cao Do đó, nhóm 8 chúng em làm về
đề tài “Xây dựng phần mềm trợ giúp tìm kiếm người giúp việc trên framework Laravel”.
Phần mềm trợ giúp tìm kiếm người giúp việc theo nghề là một trong những hệthống phần mềm bổ ích giúp cho những người tìm việc hay những người muốn tìmgiúp việc nhanh hơn, thuận lợi hơn trong việc tìm kiếm và đỡ mất thời gian
Trong suốt thời gian học tập, nhóm 8 chúng em đã nhận được nhiều sự quan tâm,giúp đỡ của thầy và bạn bè Để hoàn thành báo cáo này, thay mặt nhóm 8 em xinchân thành cảm ơn đến thầy Trần Thanh Huân, người đã trực tiếp hướng dẫn giúpchúng em hoàn thành đề tài
Tuy thời gian chưa nhiều nhưng với sự cố gắng nỗ lực, quyết tâm của các thànhviên trong nhóm, em đã có thể tự hào nói rằng nhóm 8 đã hoàn thành đề tài bằngchính khả năng của từng thành viên Xong để hoàn thiện hơn, các thành viên trongnhóm rất mong nhận được những đánh giá, nhận xét, góp ý từ thầy và các bạn.Nhóm 8 chúng em xin chân thành cảm ơn!
Nhóm sinh viên thực hiện!
Trang 3MỤC LỤC
LỜI NÓI ĐẦU 2
MỤC LỤC 3
DANH SÁCH HÌNH VẼ 5
DANH SÁCH CÁC BẢNG BIỂU 6
DANH SÁCH CÁC TỪ VIẾT TẮT 7
PHẦN MỞ ĐẦU 8
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 10
1.1 Tổng quan về phần mềm mã nguồn mở 10
1.1.1 Mã nguồn mở là gì? 10
1.1.2 Các loại mã nguồn mở 13
1.1.3 Tình hình mã nguồn mở trên Thế giới 20
1.1.4 Tình hình mã nguồn mở ở Việt Nam 21
1.2 Giới thiệu ngôn ngữ, công cụ lập trình được áp dụng 23
1.2.1 Tìm hiểu về công nghệ PHP Laravel 23
1.2.2 Giới thiệu về Visual Studio Code, XamPP 25
1.2.3 Giới thiệu về JavaScript, Bootstrap 26
CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 28
2.1 Khảo sát hệ thống 28
2.2 Biểu đồ UC 28
2.3 Đặc tả UC 28
2.3.1 Đăng nhập hệ thống 28
2.3.2 Đăng ký tài khoản 29
2.3.3 Đăng bản tin 30
2.3.4 Chỉnh sửa bản tin 31
2.3.5 Xóa bản tin 32
2.3.6 Sửa tài khoản người dùng 33
2.4 Biểu đồ trình tự 34
CHƯƠNG 3: CÀI ĐẶT TRIỂN KHAI 37
3.1 Thiết kế cơ sở dữ liệu 37
3.2 Thiết kế giao diện 37
CHƯƠNG 4: ĐÁNH GIÁ KẾT LUẬN 41
Trang 4TÀI LIỆU THAM KHẢO 42
Trang 5DANH SÁCH HÌNH
Hình 1 1 Các loại nguồn mở tốt nhất hiện nay 14
Hình 1 2 Phần mềm WordPress 15
Hình 1 3 Phần mềm Joomla 15
Hình 1 4 Phần mềm Drupal 16
Hình 1 5 Phần mềm Magento 17
Hình 1 6 Phần mềm Opencart 18
Hình 1 7 Phần mềm CMS Made Simple 19
Hình 1 8 Phần mềm B2evolution 19
Hình 1 9 Phần mềm osCommerce 20
Hình 1 10 Phần mềm nguồn mở đang được ứng dụng phổ biến 22
Y Hình 2 1 Biểu đồ UC chính của hệ thống 28
Hình 2 2 Biểu đồ trình tự UC đăng tin 34
Hình 2 3 Biểu đồ trình tự UC đăng nhập 35
Hình 2 4 Biểu đồ trình tự UC sửa tài khoản người dùng 35
Hình 2 5 Biểu đồ trình tự UC xóa tài khoản người dùng 36
Hình 3 1 Giao diện trang chủ 38
Hình 3 2 Giao diện phần footer 38
Hình 3 3 Giao diện đăng nhập 39
Hình 3 4 Giao diện đăng ký 39
Hình 3 5 Giao diện đăng tin 40
Hình 3 6 Giao diện thông tin tài khoản 40
Trang 6DANH SÁCH CÁC BẢNG BI
Bảng 2 1 Đặc tả UC đăng nhập hệ thống 28
Bảng 2 2 Đặc tả UC đăng ký tài khoản 29
Bảng 2 3 Đặc tả UC đăng tin 30
Bảng 2 4 Đặc tả UC chỉnh sửa bản tin 31
Bảng 2 5 Đặc tả UC xóa tin 32
Bảng 2 6 Đặc tả UC sửa tài khoản người dùng 33
Y Bảng 3 1 Bảng dữ liệu thông tin bài đăng 37
Bảng 3 2 Bảng dữ liệu thông tin người dùng tài khoản 37
Trang 7DANH SÁCH CÁC TỪ VIẾT TẮT
OSS Open Source Software: Phần mềm mã nguồn mở
Trang 8PHẦN MỞ ĐẦU
Hiện nay, các công nghệ tiên tiến phát triển ngày càng mạnh mẽ và được ứngdụng ngày càng nhiều vào các lĩnh vực kinh tế, sản xuất cũng như đời sống thườngngày của con người Một điểm tiêu biểu nhất trong việc phát triển công nghệ đóphải nói đến việc ứng dụng công nghệ thông tin vào các hoạt động Nhờ đó côngviệc được thực hiện nhanh, chính xác và đạt kết quả cao hơn rất nhiều
Cũng chính sự phát triển của xã hội, con người càng trở nên bận rộn hơn baogồm cả người phụ nữ Họ không chỉ là một người phụ nữ của gia đình mà họ còn cócông việc của bản thân đối với cộng đồng xã hội Và cũng chính vì vậy mà nhu cầutìm kiếm người giúp việc ngày càng cao Do đó, nhóm 3 chúng em làm về đề tài
“Xây dựng phần mềm trợ giúp tìm kiếm người giúp việc theo nghề”
Mục đích của đề tài BTL: Xây dựng một phần mềm có giao diện đẹp, thân thiện
với mọi người, với các tính năng của một phần mềm cung cấp dịch vụ giúp việc
Là nơi mọi người có thể xem các bản tin tuyển dụng hay tìm kiếm giúp việc với
đủ các chuyên mục như: Nhà cửa, Đời sống xã hội, Sửa chữa cơ khí – máy móc,Sửa chữa thiết bị điện tử, Sửa chữa ô tô – xe máy, Sửa chữa máy tính – điện thoại –linh kiện, Dịch vụ, Công nghệ thông tin, Mỹ thuật – thiết kế, Dịch vụ nấu ăn
Phần mềm sẽ có các chức năng cơ bản như: đăng tin, chỉnh sửa và xóa bản tin;sửa và xóa tài khoản người dùng,… Dĩ nhiên người dùng phải có tài khoản thì mới
có thể đăng nhập vào hệ thống và sử dụng các chức năng trên Nếu chưa có tàikhoản có thể đăng ký với hệ thống Bên cạnh đó, không cần đăng nhập, người dùnghay nói chính xác hơn là khách xem có thể xem hệ thống, xem các bài đăng, cácchức năng hay giao diện hệ thống mà không cần phải đăng nhập
Mục tiêu của đề tài BTL: Tìm hiểu công nghệ PHP Laravel, ứng dụng nó vào
việc xây dựng phần mềm trợ giúp tìm kiếm người giúp việc theo nghề Người dùngtruy cập vào hệ thống có thể tìm kiếm các sản phẩm theo tên sản phẩm, phân loại,mức giá…, website cũng cung cấp cho người quản trị một giao diện đơn giản giúpquản lý hóa đơn, chi tiết hóa đơn, quản lý khách hàng, sản phẩm và thống kê
Giao diện đẹp, thân thiện và dễ sử dụng
Dễ dàng bảo trì và nâng cấp
Phương pháp: Nghiên cứu cơ sở lý thuyết và tài liệu thông qua các công cụ tìm
kiếm như google ,coccoc …
Tìm hiểu các website sử dụng công nghệ PHP Laravel, từ đó có ý tưởng xâydựng phần mềm trợ giúp tìm kiếm người giúp việc theo nghề
Áp dụng công nghệ PHP Laravel để áp dụng cho việc xây dựng trang hệ thống
Sử dụng những kiến thức đã học về phân tích, thiết kế hệ thống để tổng hợp lạikiến thức và hoàn thành báo cáo
Trang 9Dự kiến kết quả đạt được: Cung cấp những tài liệu cần thiết về các công nghệ
được áp dụng Biết thêm được các phần mềm nguồn mở đang được áp dụng phổbiến
Tóm tắt nội dung của các chương:
Chương 1: Nêu được cơ sở lý thuyết Sơ lược về ngôn ngữ PHP, Laravel
framework của PHP, công cụ được áp dụng trong đề tài BTL là VS code và XamPP.Tổng quan về phần mềm mã nguồn mở: khái niệm, lợi ích của OSS, các loạiOSS, tình hình phát triển OSS trên Thế giới và ở Việt Nam
Chương 2: Phân tích thiết kế hệ thống UML Khảo sát về hệ thống, vẽ biểu đồ
UC, đặc tả UC, các biểu đồ trình tự
Chương 3: Cài đặt triển khai Có các bảng thiết kế cơ sở dữ liệu và thiết kế giao
diện phần mềm
Chương 4: Đánh giá kết luận Kết luận chung cho các chương trong BTL Nhấn
mạnh những vấn đề đã giải quyết đồng thời trình bày các vấn đề vẫn chưa được giảiquyết và đưa ra kiến nghị, đề xuất
Tài liệu tham khảo
Trang 10CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
sự đã thực hiện để phục vụ người dùng, nhưng không được bán các sản phẩm nguồn
mở vì nó là tài sản của trí tuệ chung, không phải là tài sản riêng của một nhà cungcấp nào
Tiện ích mà Open Source mang lại chính là quyền tự do sử dụng chương trìnhcho mọi mục đích, quyền tự do để nghiên cứu cấu trúc của chương trình, chỉnh sữaphù hợp với nhu cầu, truy cập vào mã nguồn, quyền tự do phân phối lại các phiênbản cho nhiều người, quyền tự do cải tiến chương trình và phát hành những bản cảitiến vì mục đích công cộng
Đặc điểm của phần mềm tự do – mã nguồn mở:
⁃ Tự do phân phối
⁃ Luôn kèm mã nguồn
⁃ Cho phép thay đổi phần mềm
⁃ Không cho phép thay đổi các ràng buộc bản quyền
⁃ Có thể có ràng buộc về việc:
Tích hợp mã nguồn
Đặt tên phiên bản
⁃ Không phân biệt cá nhân/nhóm khác nhau
⁃ Không phân biệt mục đích sử dụng
⁃ Không hạn chế các phần mềm khác
⁃ Trung lập về công nghệ
Mã nguồn mở từ đâu mà có?
Ý niệm và một phần mềm hợp tác cùng lập trình đã có từ những năm 1950-1960nhưng tới những năm 1970-1980, các tranh cãi về pháp lý khiến cho ý tưởng nàymất đi sức hấp dẫn Phần mềm độc quyền chiếm thế trên thị trường phần mềm chotới khi Richard Stallman sáng lập Free Software Foundation (FSF) vào năm 1985,đưa phần mềm mở/miễn phí trở lại
Trang 11Khái niệm "phần mềm miễn phí" ám chỉ sự tự do, không phải trả phí Phong trào
xã hội đứng sau phần mềm mở cho phép người dùng phần mềm tự do xem, thayđổi, cập nhật, sửa, thêm vào mã nguồn để đáp ứng nhu cầu của mình và phân phối,chia sẻ với người khác dễ dàng
FSF đóng vai trò quan trọng trong phong trào phần mềm mã nguồn mở bằng dự
án GNU Project GNU là hệ điều hành miễn phí (một nhóm các phần mềm và công
cụ hướng dẫn thiết bị hoặc máy tính vận hành), thường phát hành các công cụ, thưviện, ứng dụng… gộp lại được gọi là các phiên bản hoặc bản phân phối
GNU đi kèm một phần mềm được gọi là kernel, có nhiệm vụ quản lý các nguồnlực của máy tính hoặc thiết bị, trong đó có việc giao tiếp giữa các ứng dụng và phầncứng Kernel phổ biến nhất của GNU là Linux kernel, được Linus Torvalds tạo rađầu tiên Việc kết hợp hệ điều hành và kernel được gọi là hệ điều hành GNU/Linux,
dù thường được gọi đơn giản là Linux
Vì nhiều lý do, gồm cả việc gây dễ nhầm lẫn trên thị trường về ý nghĩa của thuậtngữ "phần mềm mở" mà thuật ngữ thay thế là "mã nguồn mở" thường được dùngcho các phần mềm được tạo và duy trì bởi sự phối hợp của cộng đồng
Thuật ngữ "mã nguồn mở" chính thức được chấp thuận tại hội nghị đặc biệt củanhững người đi đầu về công nghệ diễn ra vào 2/1998 do Tim O’Reilly tổ chức Cuốitháng đó, Open Source Initiative (OSI) được thành lập bởi Eric Raymond và BrucePerens, là một tổ chức phi lợi nhuận nhằm khuyến khích phát triển phần mềm mãnguồn mở
FSF tiếp tục là tổ chức ủng hộ và hoạt động để hỗ trợ "quyền tự do và quyền liênquan tới mã nguồn mở" của người dùng Tuy vậy, nhiều tổ chức hiện này sử dụngthuật ngữ "mã nguồn mở" cho các dự án và phần mềm mà họ cho phép công chúngtruy cập mã nguồn
Ưu điểm của phần mềm mã nguồn mở?
⁃ Mở rộng thị trường
⁃ Thiết lập các chuẩn công nghiệp
⁃ Lôi kéo được các nhà phát triển
⁃ Cập nhật sự phát triển về công nghệ
⁃ Cung cấp các phần mềm tin cậy, ổn định, giá thành hạ
⁃ Mềm dẻo, đổi mới, sáng tạo
⁃ Không bị sức ép thương mại
Nhược điểm của phần mềm mã nguồn mở?
⁃ Khó thuyết phục người sử dụng không là nhà phát triển
Trang 12⁃ Không có các dữ liệu về tính năng của phần mềm.
⁃ Sản phẩm khó thương mại hóa
⁃ 50-50 với hacker
Lợi ích của phần mềm mã nguồn mở.
⁃ Phần mềm có thể được sao chép hoàn toàn miễn phí, hoàn toàn an tâm khichia sẽ một chương trình tuyệt vời với bạn bè
⁃ Các định dạng file không hoàn toàn bị kiểm soát bởi một vài nhà cung cấp.Điều gì sẽ xảy ra khi dữ liệu nằm trong một phần mềm độc quyền? Việc sửdụng một định dạng file bí ẩn sẽ khiến bạn chỉ dùng chương trình của mộtcông ty Do yêu cầu công việc, bạn muốn sử dụng dữ liệu trên cho một ứngdụng khác nhưng ương trình bản quyền không cho phép ! Còn nếu như nhàcung cấp chấm dứt hổ trợ và ngưng việc nâng cấp sản phẩm, chắc chắn rằng
dữ liệu của bạn sẽ phải vứt xó Với phần mềm bản quyền, chỉ có duy nhấtnhà cung cấp có thể giải quyết vấn đề của bạn Nhưng với OpenSource bạn
có thể gặp hàng tá nhà cung cấp làm vừa lòng mình
⁃ Hầu hết các sản phẩm Open Source đều có khả năng bảo mật tuyệt vời, khimột vết nứt được tìm thấy, nó thường được trám nhanh hơn phần mềm cóbản quyền
⁃ Các hệ thống Open Source, nhất là các hệ thống dựa trên UNIX, thường linhhoạt đến khó tin nổi Bởi vì chúng được xây dựng từ nhiều khối thống nhất
và được miêu tả cặn kẽ, rất dễ để bạn thay thế nhiều phần của hệ thống vớiphần có giao diện tương tự
⁃ Có một cộng đồng hỗ trợ lớn Không bị phụ thuộc vào một công ty nào
Vì sao mã nguồn mở tiện lợi và nên sử dụng nhiều trong thiết kế web?
Hiện nay, người ta chuộng sử dụng mã nguồn mở trong thiết kếweb và các phần mềm ứng dụng vì các lý do như:
Khả năng quản trị và điều khiển cao: Mã nguồn mở được
giới chuyên môn ưa chuộng nhiều do họ có khả năng quản lí vàkiểm soát sản phẩm của mình nhiều hơn Họ có thể cho phép phầnnào hoạt động, phần nào không Còn trên phương diện người sửdụng sản phẩm, mặc dù không biết nhiều về khái niệm này nhưng
họ lại được hưởng khá nhiều lợi ích từ loại mã nguồn này
Tăng khả năng sáng tạo: Vì được thiết kế dưới dạng “mở”,
nên nhiều người có thể nghiên cứu để tạo ra các phần mềm tốt
Trang 13hơn Đây có thể xem là một sản phẩm thách thức nhiều lập trìnhviên trong quá trình sáng tạo của mình.
Độ an ninh cao: Một điều khá nghịch lý ở phần mềm mã
nguồn mở là nó lại được bảo mật và an ninh cao hơn các phầnmềm độc quyền khác Lý do lý giải cho điều này là vì nhiều ngườilập trình có thể cùng làm việc trên một phần mềm nguồn mở màkhông cần xin phép từ các tác giả gốc, nên họ có thể sửa chữa,cập nhật và nâng cấp phần mềm mã nguồn mở nhanh hơn cácphần mềm có bản quyền Nói cách khác, khi có cả một cộng đồngcùng tập trung “chăm sóc” một sản phẩm thì chắc chắn nó sẽ cảitiến và sở hữu nhiều chức năng tốt hơn
Ổn định: Nhiều người đánh giá cao mã nguồn mở vì cho rằng nó có thể hỗ trợ
cho nhiều công ty, doanh nghiệp trong các dự án quan trọng, có tính chất dài hạn
Ví dụ khi muốn mở rộng hay cải thiện các chức năng cho website công ty sau nhiềunăm hoạt động, đội ngũ lập trình viên trong công ty của họ có thể điều chỉnh mãnguồn mở để đáp ứng các yêu cầu này Đối với các mã nguồn có bản quyền thì quátrình này lại gần như phức tạp hơn
Phần mềm mã nguồn mở là một phần của cuộc sống hàng ngày.
Các dự án mã nguồn mở rất phổ biến trong cuộc sống hàng ngày Hệ điều hànhiOS và cả Android trước đây đều được tạo bằng các khối từ phần mềm, dự án mãnguồn mở
Mozilla FIrefox là trình duyệt web mã nguồn mở Google Chrome là phiên bản
có chỉnh sửa của dự án mã nguồn mở có tên Chromium - dù Chromium được cácnhà phát triển Google khởi xướng và họ vẫn tiếp tục đóng vai trò quan trọng trongviệc cập nhật, bổ sung thêm, Google cũng đưa thêm các tính năng mới (một vàitrong số chúng không phải mã nguồn mở) vào phần mềm cơ sở để phát triển trìnhduyệt Google Chrome
Không thể có Internet ngày nay nếu không có OSS Những người tiên phongtrong công nghệ đã xây dựng nên thế giới World Wide Web bằng công nghệ mãnguồn mở, như hệ điều hành Linux và máy chủ web Apache để tạo ra Internet ngàynay
Máy chủ web Apache là các phần mềm OSS xử lý yêu cầu cho một trang webnhất định (ví dụ khi click vào một trang web mà bạn muốn truy cập) bằng cách tìm
và đưa bạn tới trang đó Máy chủ web Apache là mã nguồn mở và được duy trì bởinhững tình nguyện viên, thành viên của tổ chức phi lợi nhuận có tên ApacheSoftware Foundation
Trang 141.1.2 Các loại mã nguồn mở
Hình 1 1 Các loại nguồn mở tốt nhất hiện nay
Đối với lĩnh vực thiết kế website, các loại mã nguồn mở sau đây được sử dụngnhiều và khá phổ biến:
WordPress: WordPress được đánh giá là mã nguồn mở với CMS hoạt động
mạnh nhất từ trước đến nay Rất nhiều website trong nhiều lĩnh vực hiện nay đã vàđang sử dụng mã nguồn mở để hoạt động và phát triển Web-giadinh cũng chọn mãnguồn này làm nguồn thiết kế web chính cho khách hàng, thời gian thiết kế webnhanh, giao diện quản trị dễ dùng phù hợp với khách hàng, có hệ thống hỗ trợ tối ưuhóa công cụ tìm tiếm tốt cho SEO, hơn nữa các Plugin và Widget đa dạng chongười lập trình sử dụng mà không cần phải động vào code nhiều
Trang 15Hình 1 2 Phần mềm WordPress
Joomla: Joomla cũng là mã nguồn mở xuất hiện đầu tiên trên internet vào năm
2005 – một trong các mã nguồn mở được ưa chuộng hiện nay với cấu hình mạnh vàkhả năng tương thích cao, có thể mở rộng và phát triển thêm nhiều tính năng ưu việtkhác Được sử dụng nhiều nhất vào các website thương mại điện tử, các designer dễdàng tùy chỉnh website bán hàng bằng các thêm các modul cho nó, Joomla cònđược viết bằng PHP và có thể được sử dụng trong môi trường php & mysql
Hình 1 3 Phần mềm Joomla
Trang 16Drupal: Drupal ra đời vào năm 2001 là một trong những cái tên lâu đời nhất, đi
trước cả WordPress và Joomla Drupal là một trong số những mã nguồn mở lớn vẫncòn được hỗ trợ Các nhà phát triển đã chấp nhận tính chất nguồn mở của Drupal,tách CMS thành 2 phần chính: core – được xây dựng bởi các lập trình viên, vàmodule – được phát triển bởi cộng đồng Tại thời điểm này có khoảng 9000 module
có thể download Drupal được xây dựng từ PHP và nhiều loại database: MySQL,PostgreSQL, SQLite, Microsoft SQL Server, MongoDB hoặc MariaDB… và hỗ trợtốt cho nhiều loại website hiện này
Hình 1 4 Phần mềm Drupal
Magento, OpenCart, WooCommerce: Nhắc tới ba phần mềm mã nguồn mở
này thì phải kể đến ưu điểm tuyệt vời của nó trong việc hỗ trợ các website thươngmại điện tử Các chức năng như bán hàng, thanh toán, giỏ hàng đều được phát triểnmạnh mẽ với Magento, OpenCart, WooCommerce…
Magento là một mã nguồn mở cho phép thiết kế web bán hàng rất tốt, được ra
mắt vào ngày 31 tháng 3 năm 2008 Magento được phát triển bởi Varien, với sựgiúp đỡ từ các lập trình viên trong cộng đồng mã nguồn mở, nhưng chỉ được sở hữubởi Magento Inc Magento được xây dựng trên nền tảng Zend Framework
⁃ Mã nguồn Magento đã được áp dụng rộng rãi bởi các nhà bán lẻ trực tuyếnvới khoảng 150.000 trang web
⁃ Magento hiện phát hành 3 phiên bản khác nhau dùng cho các đối tượngkhách hàng bao gồm:
⁃ Magento Comunity Edition – Phiên bản Magento hoàn toàn miễn phí
⁃ Magento Go – Phiên bản Magento có trả phí hàng tháng, chủ yếu bao gồmdịch vụ Hosting cho website của người sử dụng
Trang 17⁃ Magento Enterprise – Phiên bản Magento chuyên nghiệp tích hợp các tínhnăng mạnh mẽ nhất cho các website “khủng” của các Shop bán hàng lớn.
Hình 1 5 Phần mềm Magento
Mã nguồn mở Opencart là một mã nguồn bán hàng rất gần gũi với phong cách
thương mại điện tử ở Việt Nam
⁃ OpenCart sử dụng ngôn ngữ PHP, cung cấp các giải pháp thương mại điện
tử mạnh mẽ với khả năng tạo kinh doanh trực tuyến,ngoài tính năng free thì
opencart được biết đến với các tinh năng vốn có của 1 opensource, là có thể
sửa đổi, dễ hiệu chỉnh, dễ cải tiến theo hướng phát triển của bản thân ngưởi
sử dụng
⁃ Opencart đầu tư khá công phu cho việc sử dụng , quản lý các gian hàng, và
khách hàng Nó chứa các module cho phép bạn sử dụng các mục đích khácnhau, như giới thiệu sản phẩm, sản phẩm được đưa ra trưng bày, liệt kê sảnphẩm theo các tính năng
Trang 18Hình 1 6 Phần mềm Opencart
CMS Made Simple ra đời năm 2009 với hàng triệu lượt download và dần dần trở
nên phổ biến với người dùng
⁃ Được dùng làm việc với code và lập trình, CMS Made Simple cung cấp cho
người dùng một phương pháp phát triển và tùy chỉnh website thật đơn giản
mà không cần phải đối diện với những dòng mã phức tạp
⁃ CMS Made Simple được phát triển trên nền tảng PHP và MySQL hoặc
PostgreSQL
Trang 19Hình 1 7 Phần mềm CMS Made Simple
Chính vì vậy mà nhiều đơn vị khi có nhu cầu thiết kế website thương mại điện
tử đều tìm đến và sử dụng các mã nguồn này như một giải pháp tối ưu cho các hoạtđộng kinh doanh trực tuyến của họ
B2evolution: B2evolution có cùng nguồn gốc với WordPress ra đời vào năm
2003, được biết đến nhiều vì có hỗ trợ nhiều blog, admin và user chỉ với một lần càiđặt duy nhất, đặc biệt là tính năng multi-blog B2evolution được xây dựng trên nềntảng PHP và MySQL, là một phần mềm sử dụng mã nguồn mở hoạt động khá hiệuquả
Hình 1 8 Phần mềm B2evolution
osCommerce là một trong những tên tuổi lâu đời nhất trong các phần mềm
thương mại điện tử, do đó nó được rất nhiều website bán hàng sử
dụng osCommerce đã có hơn 7.000 tích hợp miễn phí, và được hỗ trợ bởi một
cộng đồng phát triển năng động Theo các chuyên gia nhận xét, do được phát triển
từ quá sớm, hệ thống phần mềm này được xem có dấu hiệu lỗi thời, vì vậy bạn cầnphải cân nhắc khi sử dụng Tuy nhiên, giống như Magento, nếu có thể tìm ra cách
để làm việc khi chọn giải pháp này, đó không phải là điều cản trở Nên lưu ý, mặc
dù osCommerce có tính năng bảo mật, nhưng chúng rất kém, vì vậy cần xây dựngthêm hệ thống bảo mật riêng cho mình
Trang 20Hình 1 9 Phần mềm osCommerce
1.1.3 Tình hình mã nguồn mở trên Thế giới
Trong 12 năm qua, phần mềm nguồn mở trên thế giới đã phát triển vượt bậc cả
về công nghệ cũng như tạo đà ảnh hưởng tới các lĩnh vực có liên quan như dữ liệu
mở (open data), tài nguyên giáo dục mở (OER- open educational resources), phầncứng nguồn mở (open hardware)…
Nếu như năm 2004, công cụ quản lý mã nguồn git chưa ra đời, thì hiện nay nó
đã trở thành công cụ cộng tác lập trình mạnh nhất thế giới Bản thân git cũng làphần mềm nguồn mở, và nhờ có git, khái niệm “mạng xã hội dành cho lập trìnhviên” (social coding) cũng ra đời Điển hình của mô hình mạng xã hội dành cho lậptrình viên là github.com, đây là nơi lưu trữ kho code, nơi cộng tác làm việc củahàng chục ngàn người phát triển Linux (và vô số phần mềm nguồn mở khác) trêntoàn thế giới
Một thống kê vào tháng 2 năm 2015, chỉ tính từ năm 2005 khi bắt đầu sử dụnggit, có 11.800 cá nhân từ gần 1.200 công ty đã đóng góp cho nhân Linux Với sốlượng lập trình viên lớn ở khắp mọi nơi trên thế giới, làm trong mọi khung giờ, vậy
mà họ vẫn có thể cộng tác với nhau mượt mà, cũng là nhờ có công cụ quản lý mãnguồn mở git
Các doanh nghiệp phần mềm truyền thống theo đuổi mô hình phần mềm nguồnđóng trên thế giới quen chống đối mô hình phát triển phần mềm nguồn mở cũngthay đổi 180 độ trước những lợi ích không thể chối cãi của phần mềm nguồn mở,
Trang 21điển hình là Microsoft Nếu như vào năm 2001, Steve Ballmer (CEO của Microsoft)
đã ví hệ điều hành Linux là “căn bệnh ung thư”, bởi hệ điều hành này đang xâmchiếm thị phần với Windows trên thị trường máy tính cá nhân, thì năm 2012,Microsoft thành lập công ty con là Microsoft Open Technology chuyên phát triểnphần mềm nguồn mở Tháng 6 năm 2016, Microsoft công bố phần mềm nguồn
mở NET Core 1.0, và gần đây nhất là Microsoft gia nhập Linux Foundation, không
ai ngờ Microsoft thậm chí còn là thành viên bạch kim (cấp bậc thành viên cao nhấtcủa Linux Foundation) Những động thái này của Microsoft làm giới công nghệ đihết từ bất ngờ này đến bất ngờ khác Tuy nhiên những ai am hiểu lợi ích của phầnmềm nguồn mở thì không hề bất ngờ, vì một trong những thứ dẫn dắt cho sự pháttriển mạnh mẽ của phần mềm nguồn mở chính là lợi ích kinh tế Bên cạnh đó, phầnmềm nguồn mở là phương thức giúp thúc đẩy sáng tạo, đổi mới khoa học công nghệthông qua việc hội tụ và tích lũy tri thức cộng đồng, qua việc cống hiến tài sản trítuệ của các tổ chức và cá nhân những người tham gia thành tài sản chung cho cộngđồng nguồn mở
Trên thế giới, nhiều chính phủ đã quyết định chuyển sang sử dụng OSS vì lý do
an ninh Chính phủ Hoa Kỳ có tới 90% máy chủ tên miền, 70% máy chủ thư tínđiện tử và 60% máy chủ web đã sử dụng OSS Tại Pháp, Bộ Văn hóa đã chuyển
400 máy chủ sang Linux, Tổng cục Thuế quốc gia Pháp cũng đã chuyển 950 máychủ sang hệ điều hành nguồn mở Chính phủ Đức đã cấm dùng các sản phẩmMicrosoft trong các hệ thống máy tính “nhạy cảm” và lựa chọn bộ tiêu chuẩn mởtrong việc xây dựng Chính phủ điện tử Ở Canada, sau các sự kiện tin tặc tấn cônghồi tháng 1/2011vào Bộ Tài chính, Kho bạc và Bộ Phát triển và Nghiên cứu Phòng
vệ, Chính phủ Canada quyết định bỏ Windows để chuyển sang một mạng an ninhtốt hơn dựa vào Linux Như vậy, OSS đã trở thành một lựa chọn hàng đầu chochính phủ nhiều nước
Để hỗ trợ việc phát triển và ứng dụng OSS, nhiều tổ chức, hội, hiệp hội, liênminh OSS trên thế giới đã được thành lập như Asianux của châu Á, Free SoftwareFoundation Europe của châu Âu, GNOME Foundation, Open Source for Americatại Mỹ, Open Embedded Software Foundation của Nhật Bản Ở Việt Nam, đã hìnhthành một số cộng đồng OSS như SaigonLUG, Fedora VN, HueLUG,MekongLUG Những cộng đồng này đã cùng nhau hình thành Câu lạc bộ Phầnmềm Tự do Nguồn mở Việt Nam (Vietnam Free & Open Source SoftwareAssociation - viết tắt là VFOSSA) trực thuộc Hội Tin học Việt Nam vào tháng 11năm ngoái Cũng xuất hiện nhiều doanh nghiệp CNTT Việt Nam chuyên phát triển
và cung cấp giải pháp OSS Đây là cơ sở để đẩy mạnh ứng dụng và phát triển OSStại Việt Nam trong thời gian tới