Sử dụng phần mềm nguồn mở trong giáo dục
Trang 1SU DUNG PHAN MEM NGUÒN MỞ TRONG GIÁO DỤC
Hồ Tường Vinh, Nguyễn Hồng Quang, Trương Tùng Lâm
Viện Tìn học Pháp ngữ (ID, Hà Nội Atvinh@ifi.edu.vn, nhquang@ifi.edu.vn, ttlam@ifi.edu.vn
Tóm tắt: Tuy thông tin về Phần mềm nguôn mở (PMNM) đã được dé cap toi nhiéu trong thời gian qua, nhưng việc đưa vào môi trường đại học vẫn còn nhiều khó
khăn Thực tế cho thấy, CÓ quá nhiều PMNM trên thị trường, việc chọn lựa các
phân mầm thích hợp cho từng đơn vị đào tạo trở thành một van đề không đơn giản cho những đơn vị muốn sử dụng PMNM Trong bài báo này, chúng tôi sẽ trình bày
một cách chỉ tiết các PMNM phổ biến được dùng cho các mục đích khác nhau
trong một đơn vị đào tạo: PMNM cho việc xây dựng hạ tầng cơ sở CNTT (mạng và
máy chủ), quản lý (hệ thông quản lý chương trình học và thư viện), đào tạo CNTT
nói chung (tin học văn phòng và kỹ năng lập trình) và giảng dạy Công nghệ phẩn
mềm (với các công cụ cho Phân tích, thiết kế, cài đặt và kiểm định), v.v Chúng
tôi hy vọng bản báo cáo sẽ giúp cho các đồng nghiệp có được các thông tin cụ thể
về các công cụ PMINM thích hợp cho môi trường của đơn vị mình
1 GIỚI THIỆU CHUNG
Tuy thông tin về Phần mềm nguồn mở (PMNM) đã được đề cập tới nhiều trong thời
gian qua, nhưng việc đưa vào môi trường đại học vẫn còn nhiều khó khăn Thực tế cho thấy,
có quá nhiều PMNM trên thị trường, việc chọn lựa các phần mềm thích hợp cho từng đơn vị
đào tạo trở thành một vấn đề không đơn giản cho những đơn vị muốn sử dụng PMNM
Trong bài báo này, chúng tôi sẽ trình bày một cách chỉ tiết các PMNM phổ biến được dùng
cho các mục đích khác nhau trong một đơn vị đào tạo: PMNM cho việc xây dựng hạ tầng cơ
sở CNTT (mạng và máy chủ), quản lý (hệ thống quản lý chương trình học và thư viện), đào tạo CNTT nói chung (tin học văn phòng và kỹ năng lập trình) và giảng dạy Công nghệ phần mềm (với các công cụ cho Phân tích, thiết kế, cài đặt và kiểm định), etc Chúng tôi hy vọng bản báo cáo sẽ giúp cho các đồng nghiệp có được các thông tỉn cụ thể về các công cụ PMNM thích hợp cho môi trường của đơn vị mình
2 PHAN MEM NGUON MO DUNG CHO HA TANG CO SO CNTT
Mang may tinh
Mạng máy tính của một đơn vị có thể đễ dàng kết nối và hoạt động dựa trên hệ điều hành GNU/Linux Tai IFI, hé điều hành này đã được chọn và cài đặt trên mạng máy tính vì
các lý do sau:
e - Hệ điều hành này thuộc dòng Unix Đa số các trung tâm nghiên cứu và đại học nước ngoài trang bị dòng hệ điều hành này (ví dụ Unix, Sun OS hoặc Sun Solaris) Nhờ vậy,
Trang 2sinh viên của IFI được học tập trong một môi trường mạng máy tính tương đương với các cơ sở nghiên cứu ở nước ngoài, chuẩn bị được các điều kiện cần thiết để hòa nhập ngay với môi trường bên ngoài trong đợt thực tập tốt nghiệp Hơn thế nữa, các giảng viên và chuyên gia quốc tế được mời tới dạy tại IFI cũng có thể hòa nhập ngay được với
môi trường làm việc ở đây;
« _ Hệ điều hành này có các đặc tính kỹ thuật và bảo mật tốt, dễ cài đặt và vận hành;
© _ Phần lớn phần mềm phục vụ cho việc nghiên cứu và giảng day tin học chuyên sâu được
phát triển trên đòng hệ điều hành Unix Việc cài đặt GNU/Linux cho hệ thống mạng
máy tính tại IFI đã giúp cho IFI có được một môi trường giảng dạy và nghiên cứu tương
thích với các cơ sở nghiên cứu ở nước ngoài, khai thác và tận dụng được nguồn tài nguyên phần mềm nghiên cứu lưu hành trên thế giới
Hệ điều hành GNU/Linux đã được cài đặt trên tất cả các máy chủ và phần lớn máy trạm tại IFI Tất cả các mạng con đều chạy trên một hệ điều hành duy nhất, Nhờ vậy, việc quản lý
mạng đơn giản và thuận lợi hơn
Hiện nay, trên thị trường, tồn tại nhiều bản phân phối (Linux distribution) Linux khác nhau
Các nhà phân phối Linux thương mại có thể ké dén nhu RedHat (www.redhat.com), SUSE
(www.novell.com/linux/suse/) va Mandriva (tên mới của Mandrake www.mandriva.com/) Ngoài
ra còn có các bản phân phối do một cộng đồng đóng gói như Debian (www.debian.org) hay Gentoo Linux (www.gentoo.org) Các bản phân phối đều dung chung một lõi Linux (Linux
kernel) và tùy theo ý tưởng của từng nhà phân phối các địch vụ khác sẽ được bổ sung Mỗi bản
phân phối này cũng có những điểm khác nhau Có nhiều nghiên cứu phân tích và so sánh các
phiên bản này Các phân phối GNU/Linux nói chung đều hỗ trợ đa ngôn ngữ do đặc trưng quốc tế hóa (¡18n) và bản địa hóa (110n) được phổ cập trên hầu như tất cả các phần mềm GNU Đặc biệt
phiên bản mới đây nhất của phân phối Debian, Sarge 3.1, có phiên bản giao diện tiếng Việt khá tốt trên GNOME
Tại IFI trên các máy chủ, chúng tôi sử dụng chủ yếu phân phối Debian do uu diém én
định và an toàn cao Debian còn có ưu điểm rất quan trọng là cho phép cập nhập, nâng cấp hệ
thống mà không cần khởi động lại
Dịch vụ máy chủ
Một trong những thành phần cơ bản của một hạ tầng CNTT của một đơn vì là hệ thống
máy chủ Hệ thống cung cấp và quản lý các dịch vụ liên quan tới thư điện tử, chia xẻ tệp dữ liệu
và in Ấn trên mạng Các phần mềm tự do và nguồn mở đáp ứng rất tốt các nhu cầu này
Dịch vụ thư điện tử
Có hai phần mềm phổ biến và chạy rất ổn định là Sendmail (www,sendmail.org) và PostFix (www.postfx.org) Hai phần mềm này có tính năng tương đương với phần mềm Microsoft Exchange Tại IFI, chúng tôi đã sử dụng từ rất lâu phan mém PostFix Phan mém nay chạy rất ôn định, đễ cài đặt và cầu hình
Về dịch vụ thư điện tử qua Web (Web Mail), cũng có rất nhiều phần mềm khác nhau như
Popper (www.ractive.ch/popper), IMP (www.horde.org/imp), SquirrelMail (www.squirrelmail.org) Hiện nay, chúng tôi đang sử dụng IMP 4.0
Trang 3May in mang, Chia sé dit ligu
Một trong những ích lợi của việc sử dụng mạng máy tính là người sử dụng có thể truy cập
và sử dụng các dịch vụ từ nhiều máy tính đầu cuối khác nhau Máy chủ cài đặt Linux cho phép
cung cấp các dịch vụ này Với những máy trạm chạy Linux, chúng tôi dùng phần mềm CUPS
hoặc Lprng để chia sẻ máy ín và server dé chia sé 6 dia Với những máy trạm chạy Windows
(chủ yếu cho mạng hành chính và khách rnời), phần mềm Samba sẽ giúp mô phỏng 1 máy chủ WinNT, giúp các máy trạm nảy sử dụng tài nguyên máy chú Linux (đĩa cứng, máy in) giống như nối vào 1 máy chủ WinNT Tóm lại, ở IFI, người dùng có thể sử dung bat ky may tính nào, bat kỳ hệ điều hành nào (GNU/Linux, Windows) đê truy nhập vào tài nguyên của mình
Máy chủ Web (Web server)
Tất cả các dịch vụ Internet của một đơn vị đều được cài đặt trên các máy chủ Web (ví dụ như trang Web hay mạng nội bộ Intranet) Trong lĩnh vực ứng dụng này, phần mềm máy chủ
Web phổ biến nhất là một phần mềm nguồn mở Apache (www.apache.org) Phần mềm này chiếm khoảng 69% thị trường phần mềm máy chủ Web, trong khi IS cia Microsoft chi có
20,5% Phần mềm này thường chạy trên nền hệ điều hành Linux, với máy chủ cơ sở dữ liệu cài
đặt MySal (www.mysglLcom) và ngôn ngữ lập trình PHP Tắt cả các phần mềm này đều là
nguồn mở
Tại IFI chúng tôi đã sử dung các phần mềm này trong các ứng dụng sau:
- Quản lý thời khóa biểu (IFI tự viết)
- Quản lý thông tin nhân sự và sinh viên (IFI tự viết)
- Quan ly thu vién (PMB)
- Quản lý thiết bị (Gipi)
- Quản lý tự đánh giá của sinh viên về các môn học (IFI tự viết)
- Dao tao tir xa (moodle)
- Forum (phpbb)
- Mailing list (mailman)
Dich vu quan ly tén mién (DNS)
Phan lớn các máy chủ Unix đều dùng BIND dé quan ly tén miền IFI cũng sử dụng tiện ich nay
Dịch vụ quản lý thông tin (NIS) và chia sẻ ỗ đĩa (NFS)
NIS cho phép quản lý tập trung các thông tin của hệ thống như username, password, nhờ
đó người dùng có thể login từ bất kỳ máy nào nối vào hệ thống NFS là hệ thống tệp mạng do SUN Microsystems phát minh từ cuỗi những năm 80 cho phép thiết lập một hệ thống tệp phân
bố trên mạng LAN hoàn toàn trong suốt với người sử dụng NIS kết hợpvới NFS cho phép người dung đăng nhập (login) và sử dụng thư mục của mình trên server từ bất cứ máy trạm nào
trong mạng LAN Tuy nhiên cũng cần lưu ý rằng bên cạnh ưu điểm rất nôi bật, NIS cũng là một
lỗ hỗng an ninh nếu không được sử dụng đúng đắn Tại IFI chúng tôi đang sử dụng các dịch vụ
này một cách an toàn
Trang 4Máy cá nhân
Mặc dù các phan mém nguồn mở được sử dụng rất phổ biến trong các ứng dụng mạng nhưng việc đưa vào sử dụng trên các máy trạm cá nhân còn rất chậm Khoảng 90% người dùng vẫn dùng các ứng dụng trên nền Windows Các phiên bản GNU/Linux gần đây đã có tiến bộ rất
đáng kế trong việc cải thiện môi trường giao điện đồ họa Ở một mức độ nào đó, tính thân thiện
của các giao diện này hiện đã có thể xem như tương đương với môi trường Windows
Do đặc thù của IFI (giảng dạy bằng tiếng Pháp), chúng tôi đã sử dụng bản phân phối MandrakeLinux 10.x phiên bản tiếng Pháp trên tất cá các máy trạm Ưu điểm của Mandrake là
cung cấp những công cụ thuận lợi dé cài đặt cũng như cấu hình hệ thống Mandrake còn nhận biết rất tốt các thiết bị ngoại vi Chúng tôi cũng đã từng thử nghiệm các bản phân phối khác như
Debian, Fedora Core, Ubunto, Knoppix, cho các máy trạm thì cũng nhận thây là các phiên bản này đều chạy én định
Tại Việt nam, cũng đã có phiên bản Linux với giao diện tiếng Việt do nhóm Vietkey đóng
gói Tuy nhiên dường như hiện nay Vietkey Group không còn tiếp tục hỗ trợ sản phẩm này nữa
Chúng tôi khuyến nghị sử dụng các phiên bản mới nhất của FedoraCore hoặc Debian nếu người
sử dụng muốn có giao diện tiếng Việt Chỉ cần cấu hình lại các thông số bản địa, cài đặt thêm các fonts tiếng Việt Unicode và bộ gõ tiếng Việt lả bạn có một hệ điều hành GNU/Linux mới nhất với giao diện tiếng Việt
Cũng cần lưu ý rằng, phần mềm nguồn mở không chỉ chạy trên môi trường GNU/Linux,
có phần mềm tự do chạy trên Windows (ví dụ như bộ OpenOffice, etc)
Phần mềm văn phòng
Bộ OpenOffice.org (www,openoffñice.org) có các tính năng tương đương với bộ MS
Office của hãng Microsoft Bộ phần mềm này có các phiên bản khác nhau chạy được trên nền Linux hoặc Windows Một tính năng rất hay là nó cho phép tạo các tệp văn bản dưới dạng PDF
(nêu dùng Microsoft Office, để tạo các tệp PDF chúng ta phải dùng phần mềm thương phẩm
Acrobat), Ở Việt nam, gần đây nhóm VnOSS đã tiến hành xong việc Việt hóa cho giao diện của
bộ OpenOffice phiên bán mới nhất
Về đồ họa, phần mềm GIMP (www.pimp.org) có các tính năng tương đương, thậm chí vượt trội với phần mềm thương phẩm Photoshop Nó cũng có các phiên bản khác nhau cho
Linux và Windows
Về các trình duyệt Web, phần mềm nguồn mở đang được sử dụng rất phổ biến là Mozzila
Firefox (www.mozilla.org), đối thủ cạnh tranh trực tiếp của Internet Explorer
Phần mềm nguồn mở Dia có các tính năng tương đương với phần mềm thương phâm
Visio (xem tại địa chỉ sau: www.gnome.org/) Ciing tai dia chỉ trên, chúng ta có thể tìm thấy
nhiều tiện ích khác
Phần mềm nguồn mở dùng cho quản lý
Trong môi trường giáo dục, các hệ thống quản lý về thư viện và quản lý môn học rất được quan tâm Ngày càng có nhiều các phần mềm nguồn mở quan tâm tới lĩnh vực ứng dụng này
Trang 5Quản lý thư viện
Phần mềm quản lý thư viện sau rat phd biến: Koha (www.koha.org) Phần mềm này có
các phiên bản chạy trên Linux và Windows
Một phần mềm khác như PhpMyLibrary (phpmylibrary.sourceforge.net) và OpenBiblio (obiblio.sourceforge.net)
Tai IFI, chúng tôi sử dụng phần mềm PMB (www.sigb.net) Đây là một phần mềm nguồn
mở do một công ty tại Pháp phát triển
Quản lý môn học và e-learning
Có rất nhiều phần mềm nguồn mở dùng cho việc quản lý môn học và đào tạo trực tuyến
Nếu chúng ta tìm kiếm trên Internet với các từ khóa sau: learning management system open source thì sẽ thấy có rất nhiều phần mềm nguồn mở Tuy nhiên, chúng tôi sẽ chỉ giới thiệu ở đây
một số phần mềm mà chúng tôi đã khảo sát Bạn đọc quan tâm đến các hệ thống quản lý dạy
học từ xa muốn có các đánh giá so sánh các phần mềm này có thể tham khảo trang web www.edutools.info sẽ có rất nhiều thông tin bố ích
Hệ thống Moodle hiện đang được dùng rất phổ biến (www.moodle.org) và có thể hỗ trợ nhiều ngôn ngữ khác nhau Ở Việt Nam, hiện đã có một vài nhóm đã Việt hóa giao diện của hệ
thống này Bạn đọc quan tâm có thể liên lạc trực tiếp với chúng tôi Chúng tôi hiện đang thử
nghiệm hệ thống này trong đào tạo từ xa và trực tuyến Chúng tôi cũng đang xem xét và thêm
vào hệ thống này các tính năng cho phép hỗ trợ phương pháp học trực tuyến và cộng tác Đặc
biệt, hệ thống Moodle được thiết kế và phát triển để hỗ trợ các chuẩn về xây dựng hệ thống quản lý học liệu như SCORM
Một hệ thống khác mà chúng tôi cũng đã có khảo sát và đánh giá trực tiếp là hệ thống Caroline
(www.claroline.net) Hé thong này cũng đang được sử dung tại nhiều trường đại học trên thế giới
Phần mềm quản lý nội dưng (Portal CMS)
Có rất nhiều phần mềm quản lý nội dung opensource Có thể lấy ví dụ như uPortal (www.uportal.org), Mambo (www.mumboserver.com), Postnuke (www.postnuke.com),
TikiWiki (www.tikiwiki.org) Đặc điểm chung của các phần mềm này là đưa ra nhiều tính năng mềm dẻo, cho phép người dùng lựa chọn, phân loại các thông tin muốn quản lý, thiết kế lại giao
diện cho trang Web của mình Người dùng không cần phải viết code PHP nhưng vẫn có thé tao
ra một trang Web quản lý thông tin với đầy đủ các chức năng cần thiết (tin tức, tìm kiếm, quảng
cáo, forum, survey )
Phần mềm nguồn mở dùng cho giảng dạy CNTT
Trong phần này chúng tôi sẽ giới thiệu việc sử dụng các phần mềm nguồn mở trong đào tạo CNTT chuyên ngành
Hệ điều hành
Về mặt phương pháp luận, các hệ điều hành nguồn mở (Linux hoặc FreeBSD) là những
môi trường lý tưởng cho việc giảng dạy các môn như hệ điều hành, lý thuyết hệ thống, mạng
Trang 6máy tính, hệ phân tán, v.v vì về bản chất đây là các hệ thống UNIX, hệ vốn được coi là qui
chiếu kinh điển khi dạy về hệ thống tin học
Lập trình
PMNM, đặc biệt là phong trào GNU (www.gnu.org) cung cấp nhiều trình dịch cho các ngôn ngữ lập trình phổ biến nhw Java, C/C-++, Pascal, LIPS, Prolog
Tai IFI, chúng tôi sử dụng công cụ GNU gcc/g++ cho việc lập trình bằng C/C++ Ngoài ra, công
cụ Dev-C/C++ (www.bloodshed.net/devcpp.html) cũng rất hay được sử dụng, đặc biệt là cho việc giảng dạy Công cụ này có thể đùng trong môi trường Windows và Unix
Cho Pascal, ching ta có thể sử dụng công cụ (www.bloodshed.net/devpascal.htm])
Hệ phân tán va middiware
Tại IFI, môn học thiết kế ứng dụng phân tán trên nền kiến trúc OMG CORBA cũng sử dụng các ORB tự do và mã nguồn mở nhu: omniorb (omniorb.sourceforge.net), openORB (openorb.sourceforge.net)
Phần mềm nguồn mở dùng cho giảng dạy Công nghệ phần mềm
Cộng đồng PMNM đã và đang phát triển rất nhiều công cụ phục vụ cho chuyên nghành Công nghệ phần mềm (CNPM) Tại hai địa chi sau có chứa nhiều công cụ chuyên dụng cho CNPM hiện đã và đang dugc phat trién: http://www.tigris.org/ va http://sourceforge.net/ Vi đây
là những công cụ chuyên dụng nên chúng tôi không giới thiệu chỉ tiết
Kiến thức về Công nghệ phần mềm hiện đang được giảng dạy ở các mức độ khác nhau
tùy theo từng đơn vị đào tạo Tuy nhiên, theo chúng tôi nghĩ các kỹ năng cơ bản cần phải được
giảng dạy là: phân tích và thiết kế, ngôn ngữ mô hình hóa UML, lập trình và cài đặt hướng đối
tượng Trong phần tiếp theo, chúng tôi sẽ giới thiệu một số công cụ phục vụ cho việc giảng dạy
các kiến thức này
Phân tích thiết kế hướng đối tượng với UML
Một trong những công cụ nguồn mở dùng cho Phân tích và thiết kế hướng đối tượng với
UML được đánh giá rất cao là ArgoUML (argouml.tigris.org) Phần mềm này được viết bằng Java nên nó có thé chạy cả trên hai môi trường Linux và Windows Dựa trên phiên ban này, công ty
Gentelware (www,gentleware.com) phat triển thành một công cụ UML thương mại hiện đang được
đánh giá rất cao có tên là Poisedon for UML Công ty này cũng cung cấp một phiên bản miễn phí (Community version) Phần mềm này cho phép tạo mã chương trình Java từ m6 hinh thiét ké UML
Tai IFI, chúng tôi đã và đang sử dụng phần mềm này cho Phân tích và thiết kế
Một công cụ khác cũng rất dễ sử dụng là Umbrello (uml.sourceforge.net/) Tuy nhiên, phần mềm này chỉ chạy trên môi trường Linux Chúng tôi cũng sử dụng phần mềm này ví nó có
ưu điêm là dễ sử dụng Phần mềm này cho phép tạo mã chương trình C++ từ mô hình thiết kế
UML
Lập trình và cài đặt
Hai ngôn ngữ lập trình phổ biến hiện nay là Java và C++ Các công cụ lập trình (IDE- Intergrated Development Env) được chú ý và phát triển nhiều trong cộng đồng PMNM
Trang 7Với Java, công cụ Eclipse (www.eclipse.org) đang trở thành một trong những công cụ sử dụng nhiều nhất Kèm theo công cụ này còn có rất nhiều tiện ích (plugin) phục vụ cho việc phát triển phần mềm một cách chuyên nghiệp, ví dụ như tiện ích cho UML và cho kiểm thử (www.eclipse.org/community/plugins.html) Công cụ này được viết với ngôn ngữ Java nên nó
có thể chạy trên môi trường Windows và Unix
Công cụ Eclipse đã được sử dụng tại IF! tir vai năm gần đây Nó được coi là công cụ chính cho việc phát triển các ứng đụng trên nền Java
Với C/C++, công cụ gcc là là một trong những trình dịch tốt nhất vì nó tôn trọng chuẩn ANSI (www.gnu.org) Nó thường được dùng cùng với hệ soạn thảo xmacs (wwwW.xemacs.org/)
Kiểm thử
Rất nhiều công cụ kiểm thử có thể tìm thấy trong hai địa chỉ sau: hữp://www,tigris.org/ và http:/sourceforge.net/ Tuy nhiên công cụ phổ biến và hiện chúng tôi đang sử dụng là Junit (www.junit.org) cho Java Đồng thời cũng có các phiên bản tương tự cho C++
Cũng cần phải nhấn mạnh rằng, cộng đồng PMNM cung cấp một kho tài nguyên rất lớn
các mã chương trình Việc tiếp cận các mã chương trình này giúp cho người học và giảng viên
có thêm nhiều thông tin về cải đặt phần mềm Hơn thế nữa, đây cũng còn là một cơ hội để tham gia vào các dự án phát triển phần mềm thực tế
3 KẾT LUẬN
Ngoài các công cụ chúng tôi giới thiệu ở trên, chúng ta có thể tìm thấy nhiều công cụ khác phục vụ cho việc học, giảng dạy và nghiên cứu trong nhiều lĩnh vực khác nhau Ví dụ như công cụ Scilab (http://scilabsoft.inria.f/) có các tính năng tương đương với một công cụ rât nỗi tiếng MatLab
Hãy chủ động tìm kiếm trên Internet các công cụ PMNM phục vụ cho lĩnh vực chuyên
môn của mình Đó chính là điều chúng tôi muốn để cập tới trong báo cáo này