Bài giảng Phát triển ứng dụng mã nguồn mở
MỤC LỤC
Chương 1: GIỚI THIỆU VỀ PHẦN MỀM MÃ NGUỒN MỞ. 5
1.1. Lịch sử phát triển . 5
1.2. Phương pháp xây dựng phần mềm mã nguồn mở . 7
1.3. Vai trò của phần mềm mã nguồn mở . 8
1.3.1. Phần mềm nguồn mở có thực sự miễn phí ? . 8
1.3.2. Tính kinh tế của Phần mềm nguồn mở. 8
1.3.3. Sử dụng Phần mềm nguồn mở đem lại những ích lợi gì? . 9
1.3.4. Những hạn chế của phần mềm mã nguồn mở . 9
1.4. Những dự án phần mềm mã nguồn mở tiêu biểu . 10
1.4.1. BIND (Máy chủ DNS) . 10
1.4.2. Apache . 10
1.4.3. Máy chủ email . 10
1.4.4. Open SSH (Công cụ quản trị mạng an toàn) . 11
1.4.5. Open Office (Bộ tính năng ứng dụng văn phòng) . 11
Chương 2: LINUX TRONG PHẦN MỀM MÃ NGUỒN MỞ . 12
2.1. Tổng quan về Linux . 12
2.1.1 Giới thiệu . 12
2.1.2. Kiến Trúc của Hệ Điều Hành Linux . 12
2.1.3. So sánh Dos/Windows và Linux . 13
2.2. Vai trò của Linux trong phần mềm mã nguồn mở . 13
2.2.1. Vai trò . 13
2.2.2. Các lĩnh vực ứng dụng của Linux . 14
Chương 3: PHẦN MỀM TRÊN MÁY CHỦ VÀ ĐỀ BÀN . 16
3.1. Hệ điều hành Fedora Core . 16
3.1.1. Giới thiệu . 16
3.1.2. Cài đặt . 17
3.2. Giao diện đồ họa GNOME . 18
3.3. Bộ công cụ Firefox/Thunderbird/Open Office . 20
3.3.1 FireFox . 20
3.3.2 ThunderBird . 20
3.3.3 Open Office . 21
3.3.4 Máy chủ Web Apache/Tomcat . 24
3.3.5. Máy chủ DNS . 25
3.3.6 Máy chủ cơ sở dữ liệu MySql . 25
Chương 4: CÁC PHẦN MỀM MÃ NGUỒN MỞ KHÁC . 27
4.1. Diễn đàn mvnForum . 27
4.2. Hệ quản trị nội dung Joomla . 34
4.2.1 Giới thiệu . 34
4.2.2 Cài đặt Joomla . 35
4.3. Quản lý lớp học trực tuyến – Moodle . 40
4.3.1. Giới thiệu . 40
- 2 -4.3.2. Cài đặt . 40
4.3.3. Quản lý lớp học trên Moode . 51
4.3.4. Backups . 57
4.3.5 Restoring và Copying Course . 58
4.3.6. Reports - Báo cáo . 59
Moodle. - 63 - GỢI Ý TRẢ LỜI Đề số 1. Câu 1. Trình bày phương pháp xây dựng phần mềm mã nguồn mở. Nêu ưu điểm so với phương pháp truyền thống. Gợi ý: Mô hình xây dựng phần mềm nguồn mở là một mô hình độc đáo và nó được hiện thực hoá chỉ với sự ra đời của Internet và sự bùng nổ thông tin do Internet mang lại. Phép so sánh việc xây nhà và buôn bán ở chợ thường được dùng để đối lập mô hình phát triển phần mềm nguồn mở với các phương thức làm phần mềm truyền thống. Quy trình làm phần mềm truyền thống được so sánh với cách thức chúng ta xây nhà. Từng nhóm nhỏ thợ thủ công có tay nghề cao sẽ lập thiết kế chi tiết và tiến hành xây dựng theo từng công đoạn riêng lẻ. Ngược lại, việc phát triển phần mềm nguồn mở được ví với việc phát triển của buôn bán ngoài chợ, mở rộng một cách tự phát. Những người bán hàng đầu tiên đến, cắm cột xây cửa hàng, và bắt đầu kinh doanh. Câu 2. Trình bày kiến trúc của hệ điều hành Linuxs Gợi ý: Nhân Kernel: Là trung tâm điều khiển của hệ điều hành Linux chứa các mã nguồn điều khiển hoạt động toàn bộ của hệ thống. Shell: Shell cung cấp các tập lệnh cho người dùng thao tác với kernel để thực hiện công việc. Shell đọc các lệnh từ người dùng và xử lý. Câu 3. Nêu các định dạng Course của Moodle. Nếu ta muốn thiết lập một Course trong vòng 3 tuần về PHP và ASP thì định dạng nào là phù hợp. Gợi ý: Một số các định dạng ta có thể chọn là Định dạng LAMS Định dạng SCORM Định dạng Social Định dạng Topics Định dạng Weekly và CSS/no Tables Trong trường hợp này ta có thể chọn định dạng Topic hoặc Weekly Đề số 2. Câu 1. Người dùng có những quyền tự do gì đối với phần mềm mã nguồn mở. Phân tích một trong những quyền tự do đó. Gợi ý: - Quyền tự do chạy một chương trình với bất kỳ mục đích nào - Quyền tự do nghiên cứu cách thức vận hành của một chương trình và thích ứng nó cho phù hợp với nhu cầu của mình. Khả năng tiếp cận mã nguồn là điều kiện tiên quyết cho việc này - Quyền tự do phân phát các phiên bản của phần mềm để giúp đỡ những người xung quanh - Quyền tự do thêm mới các chức năng cho một chương trình và công bố những tính năngmới đó đến công chúng để toàn cộng đồng được hưởng lợi. Khả năng tiếp cận mã nguồn là điều kiện tiên quyết cho việc này. Câu 2. Nêu những điểm giống nhau giữa Linux với Dos/Windows. - 64 - Gợi ý: Chế độ hiển thị Lưu trữ dữ liệu Thực thi các tiến trình Câu 3. Nêu các bước tạo một Course trong Moodle Gợi ý: Chọn mục Setting trong khối Administration trên trang Course. Kiểm tra các thông số lựa chọn để đảm bảo các thông số này phù hợp với khóa học của ta. Lựa chọn các hình thức đăng ký của sinh viên Lựa chọn thông báo hết hạn đăng ký để xác định người dùng được thông báo về việc đăng ký của mình và bao nhiêu thông báo mà người dùng được nhận. Lựa chọn các định dạng Group Thiết lập các lựa chọn về Availability Lựa chọn ngôn ngữ của Course Click vào nút "Save changes". Đề số 3. Câu 1. Hãy trình bày những hiểu biết về hệ điều hành GNU/Linux Gợi ý: Dự án GNU (viết tắt của ―Not Unix‖ – không phải là Unix) ra đời vào tháng Giêng năm 1984 và trong suốt thập kỷ tiếp theo đã tạo ra những công cụ đa dạng tập hợp nên một phần quan trọng của hệ điều hành. Tổ chức phần mềm tự do ra đời một năm sau đó nhằm khuyếch trương các phần mềm tự do và dự án GNU. Tuy vậy, cho đến năm 1991, dự án GNU vẫn chưa đưa ra được một hệ thống phần mềm hoàn toàn tự do vì một yếu tố cơ bản vẫn còn vắng bóng: lõi hệ thống (the kernel). Lõi (hay Nhân - Kernel) là trái tim của mọi hệ điều hành. Vào năm 1991, Linus Torvalds, khi đó còn đang học năm thứ hai của chương trình sau đại học tại trường ĐH Helsinki, đã viết và phổ biến một lõi dạng Unix. Theo đúng phương thức của quy trình phát triển phần mềm nguồn mở, nó được lưu hành rộng rãi, được cải tiến và nhanh chóng thích ứng để trở thành cốt lõi của hệ điều hành GNU/Linux. Thời đó, còn có những dự án phần mềm nguồn mở khác cũng đang tiến hành, bao gồm cả hệ điều hành BIND, Perl và BSD. Tất cả những dự án này cuối cùng đều được sáp nhập hoặc tích hợp lại với nhau. Hệ điều hành GNU/Linux tiếp tục phát triển một cách ổn định cả về năng lực và đặc tính kỹ thuật. Năm 1997, đột nhiên Linux nổi lên thành trung tâm chú ý của giới truyền thông do Tập đoàn Dữ liệu Quốc tế (IDC) phát hiện ra rằng GNU/Linux đã chiếm tới 25% thị trường máy chủ và vẫn tiếp tục tăng trưởng với tốc độ bình quân hàng năm là 25%. Câu 2. Trình bày những điểm khác nhau điểm của Linux so với Dos/Windows. Gợi ý Thông báo lỗi Đường dẫn, tổ chức thư mục Đường dẫn tìm kiếm Chương trình thực thi Câu 3. Nêu các Activity ta có thể có trong một Course Gợi ý - 65 - Assignment Chat Choice Forum Glossary Lesson Quiz SCORM/AICC Survey Wiki Đề số 4. Câu 1. Nêu những ưu điểm của phương pháp phát triển phần mềm mã nguồn mở so với phương pháp truyền thống Gợi ý Tính an toàn Tính ổn định/đáng tin cậy Các chuẩn mở và việc không phải lệ thuộc nhà cung cấp Giảm phụ thuộc vào nhập khẩu Phát triển năng lực của ngành công nghiệp phần mềm địa phương Vấn đề vi phạm bản quyền, quyền sở hữu trí tuệ, và tính tuân thủ WTO Nội địa hoá Câu 2. Trình bày những vai trò của Linux với phần mềm mã nguồn mở. Gợi ý Linux còn hơn cả một chương trình miễn phí, nó là một phần mềm với mã nguồn mở. Điều này có nghĩa là bạn không những có trong tay một hệ điều hành mà bạn còn có thể tùy biến mã nguồn cho phù hợp với người dùng của bạn. Bạn có thể sử dụng Linux vào bất kỳ một lĩnh vực nào của cuộc sống. Linux không chỉ là nơi để các bạn cài đặt, sử dụng các phần mềm mã nguồn mở mà còn là môi trường để phát triển, tối ưu các phần mềm này. Câu 3. Nêu các bước để thêm một Content vào trong khóa học Gợi ý Thêm một nhãn Label Thêm một TextPage Thêm một Site Đề số 5. Câu 1. Nêu các vai trò của phần mềm mã nguồn mở Gợi ý Giảm sự trùng lặp nguồn lực Tiếp thu kế thừa Quản lý chất lượng tốt hơn Giảm chi phí duy trì Câu 2. Nêu và phân tích các lĩnh vực ứng dụng của Linux. Gợi ý Lĩnh vực kinh doanh - 66 - Lĩnh vực an ninh, kinh tế, quốc phòng Lĩnh vực học tập Câu 3. Trình bày cách tạo Group trong Moodle Gợi ý Để tạo một Group, chọn "Create Group" Thiết lập các thuộc tính cho Group Group name: tên của Group Group Description: điền vào các thông tin mô tả về group, ví dụ về mục đích, cách thức hoạt động vv.... Erollment Key: EK cho phép người dùng có thể tự đăng ký vào trong Course. Hide Picture: ta ẩn các hình ảnh của Group với các hoạt động không liên quan. New Picture: cho phép ta lựa chọn các hình ảnh mới cho Group Đề số 6. Câu 1. Phân tích những lợi ích của phần mềm mã nguồn mở Gợi ý Tự do trong việc trao đổi, chỉnh sửa Tính kinh tế Sự phát triển Câu 2. Trình bày những hiểu biết về KDE và GNOME. Gợi ý KDE là chữ viết tắt của K Desktop Environment. KDE là một môi trường màn hình nền hiện đại trên các máy vi tính chạy dưới hệ điều hành UNIX/Linux và cũng chạy được trên Microsoft Windows và Mac OS thông qua Cygwin và Fink. KDE được viết ra với mục đích tạo ra một môi trường làm việc dễ dàng, và tiện nghi giống như các môi trường làm việc khác mà chúng ta thường thấy dưới hệ điều hành Mac OS hoặc Microsoft Windows. Dự án GNOME - GNU Network Object Model Environment là một dự án phần mềm tự do để phát triển GNOME, một bộ môi trường để bàn cho Unix/Linux. Câu 3. Nêu các bước để hiển thị một thư mục trong Course Gợi ý Chọn mục "Display a directory" trong menu "Add a resource" Điền tên của tài nguyên và ghi mô tả tóm tắt Chọn thư mục mà ta muốn chia sẻ Khi sinh viên click vào liên kết, sinh viên sẽ thấy một danh sách tất cả các file của thư mục đó và thư mục con nếu có. Đề số 7. Câu 1. Phân tích hai hạn chế lớn nhất của phần mềm mã nguồn mở. Gợi ý Thiếu các ứng dụng kinh doanh đặc thù Tính tương hỗ với các hệ thống phần mềm đóng Câu 2. Trình bày về OpenOffice Gợi ý OpenOffice.org (OOo) hay gọi tắt là OpenOffice là bộ trình ứng dụng văn phòng miễn phí, mã nguồn mở được xây dựng trên phiên bản StarOffice mã nguồn mở của Sun Microsystems. OpenOffice có thể chạy trên các hệ điều hành Windows (đòi hỏi phải có Java - 67 - Runtime Environment), Solaris và Linux. Phiên bản mới nhất của OpenOffice cho phép đọc/ghi các định dạng file của MS Office khá hoàn hảo. Câu 3. Trình bày những hiểu biết về IMS Content Package và những bước để thêm vào một Package Gợi ý IMS Content Packages là những tài nguyên được đóng gói theo những qui định cụ thể do đó các gói này có thể được sử dụng trong nhiều hệ thống khác nhau mà không cần phải chuyển đổi định dạng. Các phần mềm xác thực nội dung thường cung cấp các lựa chọn và phương thức đóng gói như vậy. Ta cso thể có các gói IMS Content từ các hệ thống CMS hoặc mua chúng từ những người phát triển phần mềm thứ ba. Đề số 8. Câu 1. Nêu những ưu điểm của phương pháp phát triển phần mềm mã nguồn mở so với phương pháp truyền thống. Gợi ý Giảm sự trùng lặp nguồn lực Tiếp thu kế thừa Quản lý chất lượng tốt hơn Giảm chi phí duy trì Câu 2. Trình bày về máy chủ DNS. Gợi ý DNS là từ viết tắt trong tiếng Anh của Domain Name System, là Hệ thống tên miền được phát minh vào năm 1984 cho Internet, chỉ một hệ thống cho phép thiết lập tương ứng giữa địa chỉ IP và tên miền. Hệ thống tên miền (DNS) là một hệ thống đặt tên theo thứ tự cho máy vi tính, dịch vụ, hoặc bất kì nguồn lực tham gia vào Internet. Nó liên kết nhiều thông tin đa dạng với tên miền được gán cho những người tham gia. Quan trọng nhất là, nó chuyển tên miền có ý nghĩa cho con người vào số định danh (nhị phân), liên kết với các trang thiết bị mạng cho các mục đích định vị và địa chỉ hóa các thiết bị khắp thế giới. Câu 3. Trình bày các loại Reports có trong Moodle. Gợi ý Log Current activity Activity report Participation reports
File đính kèm:
- Bài giảng Phát triển ứng dụng mã nguồn mở.pdf