Hiện nay, việc ứng dụng mã nguồn mở vào các cơ sở giáo dục và đào tạo là ưu tiên hàng đầu được nhà nước khuyến khích áp dụng.Với nhu cầu hoàn thiện về cơ sở đào tạo, đạt mục tiêu nâng cấ
Trang 1SVTH: Bùi Tấn ViệtLớp: MM02ANiên khoá: 2008-2011CBHD: Ths Nguyễn Vũ
Trang 2Trang
Trang 3MỞ ĐẦU
1 Lý do chọn đề tài.
Hiện nay, việc ứng dụng mã nguồn mở vào các cơ sở giáo dục
và đào tạo là ưu tiên hàng đầu được nhà nước khuyến khích áp dụng.Với nhu cầu hoàn thiện về cơ sở đào tạo, đạt mục tiêu nâng cấpTrường cao đẳng công nghệ thông tin hữu nghị Việt-Hàn lên đại họctrong thời gian tới, việc triển khai cổng thông tin điện tử về đào tạo
và hỗ trợ việc làm là việc làm cấp thiết phải có của trung tâm Pháttriển Nội dung và Đào tạo trường CĐ CNTT hữu nghị Việt-Hàn
Với các lý do trên, Tôi mạnh dạn đề xuất đề tài “Xây dựng cổng thông tin điện tử về đào tạo cho trường CĐ CNTT hữu nghị Việt-Hàn” để làm đồ án tốt nghiệp cho mình
2 Mục tiêu và nhiệm vụ nghiên cứu.
Tìm hiểu cấu trúc cổng thông tin, quy trình, thủ tục đăng kýthực tập của sinh viên, các chương trình đào tạo ngắn hạn
Tìm hiểu hệ quản trị nội dung mã nguồn mở Joomla, hệthống quản lý học tập Moodle
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việclàm cho trung tâm Phát triển Nội dung và Đào tạo trường CĐ CNTThữu Nghị Việt-Hàn dựa trên nền tảng mã nguồn mở đã nghiên cứu
3 Đối tượng và phạm vi nghiên cứu.
- Đối tượng nghiên cứu:
+ Tìm hiểu về công tác quản lý, quy trình nghiệp vụ tại Trungtâm phát triển Nội dung và Đào tạo
+ Hệ quản trị nội dung mã nguồn mở Joomla, hệ thống quản lýhọc tập Moodle Ngôn ngữ lập trình PHP và MySQL
Trang
Trang 4- Phạm vi nghiên cứu:
+ Nghiên cứu mã nguồn mở Joomla, Moodle Ngôn ngữ lậptrình PHP và MySQL để hỗ trợ xây dựng ứng dụng
4 Phương pháp nghiên cứu.
- Tìm kiếm tài liệu, khảo sát thực tế
- Phân tích, thiết kế hệ thống theo quy trình xây dựng ứngdụng phần mềm
- Vận dụng mã nguồn mở Joomla và Moodle để xây dựng hệthống
- Triển khai, đánh giá kết quả đạt được
5 Ý nghĩa khoa học và thực tiễn.
- Ý nghĩa khoa học: Giúp sinh viên:
+ Nắm được cách thức thiết kế và triển khai website mã nguồn
mở, E-learning cho cá nhân, doanh nghiệp
+ Giúp sinh viên vận dụng được các công cụ, ngôn ngữ vàcông nghệ liên quan
+ Ứng dụng được quy trình xây dựng phần mềm trong hệthống
- Ý nghĩa thực tiễn: Giúp trung tâm Phát triển nội dung và
Đào tạo “tin học hoá” trong quá trình đăng ký thực tập cho sinhviên, hỗ trợ việc làm và đào tạo từ xa(E-learning) qua website
Trang
Trang 5CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH PHP VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
1.1.1 Giới thiệu PHP và môi trường lập trình Web
1.1.1.1 PHP là gì?
PHP được viết tắt bởi cụm từ Hypertext PreProcesor, đượcphát triển từ năm 1994 bởi Rasmus Lerdorf Đến thời điểm hiện thời,phiên bản PHP ổn định mới nhất là 5.3.5
1.1.1.2 Tại sao phải sử dụng PHP
1.1.2 Giới thiệu hệ cơ sở dữ liệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biếnnhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trìnhphát triển ứng dụng
GIỚI THIỆU VỀ HỆ QUẢN TRỊ NỘI DUNG MÃ NGUỒN MỞ JOOMLA
1.1.3 Giới thiệu hệ quản trị nội dung
Hệ quản trị nội dung (CMS - Content Management System) là
phần mềm để tổ chức và tạo môi trường nhằm mục đích xây dựngmột hệ thống tài liệu và các loại nội dung khác một cách thống nhất
1.1.4 Giới thiệu hệ quản trị nội dung mã nguồn mở Joomla
Joomla là hệ quản trị nội dung mã nguồn mở được viết bằngngôn ngữ PHP, kết hợp với cơ sở dữ liệu MySQL
1.1.5 Các Phiên Bản Của Joomla
Joomla 1.0.x
Dòng phiên bản 1.5.x
Phiên bản mới nhất 1.6.x
Trang 61.1.6 Các loại thành phần mở rộng của Joomla
1.1.6.1 Component
Component được sử dụng để thực hiện một chức năng lớn nào
đó, chẳng hạn như: Cung cấp tin tức, quảng cáo, rao vặt, đặt phòngkhách sạn, bất động sản, download
1.1.6.2 Modules
Joomla Module là một ứng dụng nhỏ được sử dụng chủ yếu đểlấy dữ liệu và hiển thị thông tin lên một vị trí nào đó của website.Module thường được dùng kết hợp kèm với các component nhằm mởrộng, cũng như thể hiện rõ ràng hơn các chức năng của component
1.1.6.3 Plugins
Là thành phần mở rộng cung cấp một số chức năng cộng thêmcho website Plugins khác với module và component ở đặc điểmngười quản trị không cần quản lý nó thường xuyên
1.1.6.4 Template
Joomla Template là một gói bao gồm các file PHP, HTML,CSS, JS (Javascript) và các hình ảnh, biểu tượng, video, flash kèmtheo tạo nên giao diện (bố cục và hình hài) của website Joomla
1.1.6.5 Languages
Joomla là mã nguồn mở hỗ trợ đa ngôn ngữ, sử dụng file địnhdạng “.ini” để lưu trữ các thông tin chuyển đổi ngôn ngữ, nó hỗ trợtất cả các ngôn ngữ có tập kí tự được biểu diễn bằng bảng mã UTF-8.Bằng cách cài đặt các gói ngôn ngữ, có thể để quốc tế hoá Joomlasang các ngôn ngữ khác nhau
Trang 7GIỚI THIỆU TỔNG QUAN VỀ E-LEARNING
1.1.7 Khái niệm E-Learning
E-learning viết tắt của từ Electronic Learning Theo nghĩarộng, E-learning là một thuật ngữ dùng để mô tả việc học tập, đào tạodựa trên công nghệ thông tin và truyền thông
1.1.8 Các lợi ích của E-learning
Các lợi ích mà E-learning mang lại cho các nhà đào tạo:
Các lợi ích mà E-learning mang lại cho người học:
1.1.9 Cấu trúc của hệ thống E-learning
1.1.9.1 Cấu trúc tổng quát
1.1.9.2 Cấu trúc phân tầng
- Tầng trình diễn: Chịu trách nhiệm về cung cấp giao diện
cho nhiều loại người dùng khác nhau
- Tầng ứng dụng chủ và web server: bao gồm
Trang 8E-HỆ THỐNG QUẢN LÝ HỌC TẬP MOODLE
1.1.13 Giới thiệu về Moodle
Moodle viết tắt của Modular Object-Oriented DynamicLearning Environment, là một phần mềm nền cho một hệ quản trịđào tạo (LMS) hay còn gọi là hệ thống quản lý học tập mã nguồn mở
1.1.14 Ưu điểm của Moodle
1.1.15 Các chức năng chính của Moodle
1.1.15.2 Chức năng quản lý truy cập
Quản lý việc truy nhập thông qua cơ chế đăng nhập, đăng xuất
và cá nhân hoá nội dung thông tin
1.1.15.3 Chức năng quản lý môn học
Giúp giảng viên có thể dễ dàng soạn thảo nội dung, trình bàyvới văn bản với bố cục, màu sắc và hình ảnh kèm theo
1.1.15.4 Chức năng quản lý và thống kê tài khoản
Tạo quyền cho người dùng mới, thay đổi quyền hạn cho ngườidùng, chức năng thống kê giúp thống kê tình hình người học
1.1.15.5 Chức năng phân quyền quản lý nội dung bài viết
1.1.15.6 Chức năng diễn đàn thảo luận
Ứng dụng này cung cấp cho cộng đồng người dùng một địađiểm để trao đổi, thảo luận
Trang 9CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ CỔNG THÔNG TIN ĐIỆN TỬ VỀ ĐÀO TẠO VÀ HỖ TRỢ VIỆC LÀM TRÊN NỀN JOOMLA VÀ MOODLE CÁC QUY TRÌNH NGHIỆP VỤ CỦA TRUNG TÂM PHÁT TRIỂN NỘI DUNG VÀ ĐÀO TẠO
2.1.1 Giới thiệu Trung tâm
2.1.2 Khảo sát hiện trạng quy trình đào tạo ngắn hạn tại trường
2.1.2.1 Lưu đồ quy trình đào tạo ngắn hạng tại trường
2.1.2.2 Diễn giải lưu đồ
2.1.3 Khảo sát quy trình hỗ trợ thực tập và việc làm cho sinh viên
2.1.3.1 Lưu đồ quy trình thực tập và việc làm cho sinh viên
2.1.3.2 Diễn giải lưu đồ
2.1.4 Kết luận
Với hai quy trình được khảo sát như trên, Trung tâm đã hoạtđộng một cách thông suốt, hiệu quả, các chức năng được phân chia rõràng đối với từng cán bộ cụ thể Tuy nhiên với cách thức tổ chức hoạtđộng như đã nêu trên có một số ưa điểm cũng như nhược điểm sau:
Trang 10Mất nhiều thời gian trong việc tra cứu nhiều thông tin liênquan với nhau.
Tốn nhiều thời gian cũng như công sức trong việc nhậpnhiều dữ liệu cũng như xử lý trùng nhau
Tốn nhiều thời gian, nhân lực trong việc hỗ trợ việc làmcho sinh viên cũng như không tạo được tính chủ động cao chodoanh nghiệp tuyển dụng trong việc tuyển dụng
Với những ưu điểm cũng như nhược điểm trên, một đề xuấtxây dựng một hệ thống để tin học hoá một phần các chức năng hoạt
động của trung tâm được đưa ra , cụ thể là “Xây dựng cổng thông tin điện tử về đào tạo cho trường CĐ CNTT Hữu nghị Việt- Hàn” Việc xây dựng trang website này có những ưu và nhược điểm
sau:
Ưu điểm:
Tạo kênh thông tin, quảng bá về đào tạo
Tiết kiệm thời gian trong việc nhập các thông tin
Việc tra cứu, tổng hợp các thông tin cần thiết trở nênnhanh chóng
Tiết kiệm được nguồn nhân lực để quản lý hoạt động củatrung tâm
Thuận lợi cho cả trung tâm và học viên trong quá trìnhhọc tập Đăng ký thực tập cũng như tìm việc làm
Sinh viên có thể học tập, trả bài cũng như thực hiện cácbài tập về nhà, kiểm tra trên hệ thống Elearning Giúp việc đàotạo từ xa trở nên chuyên nghiệp
Trang 11- Chức năng quản lý tin tức
- Chức năng quản lý thông tin thành viên
- Chức năng quản lý đăng ký thực tập trực tuyến
- Chức năng cổng thông tin hỗ trợ việc làm
- Chức năng đăng ký khoá học ngắn hạn trực tuyến
- Chức năng E-learning
2.1.6 Chức năng quản lý tin tức
Các nhóm tin và chủ đề con được tạo để phân cấp tin tức:
Trang 12Hình 2-1 Sơ đồ phân cấp tin tức
2.1.7 Chức năng đăng ký khoá học trực tuyến
2.1.7.1 Phân tích yêu cầu
- Chức năng cơ bản cần phải cung cấp cho cán bộ chuyêntrách:
+ Quản lý khoá học
+ Quản lý sinh viên đăng ký:
- Chức năng cơ bản cần phải cung cấp cho sinh viên
+ Xem các thông tin về các khoá học
+ Đăng ký khoá học trực tuyến
2.1.7.2 Đề xuất giải pháp
Với yêu cầu như mục trên đã phân tích, Tôi xin đề xuất và chủ
động áp dụng component Cource Manager của Profinvent bởi các
tính năng và ưu điểm mà component này đem lại:
Cource Manager cho phép quản lý và đăng ký khoá học trựctuyến trên nền tảng Joomla1.5
Trang 13 Quản lý khoá học theo danh mục, không giới hạn phân cấpdanh mục.
Tính năng gởi email khi sinh viên đăng ký đến người quảntrị
Có thể linh hoạt thêm trường (field) cho thông tin đăng kýcủa sinh viên
Hỗ trợ component tinCapcha chống spam
Tính năng SEO giúp thân thiện với các bộ máy tìm kiếm
Linh hoạt bật, tắt hiển thị các thông tin trong khoá học
Phiên bản 1.5.0 hoàn toàn miễn phí
2.1.8 Chức năng cổng thông tin việc làm
2.1.8.1 Phân tích yêu
Việc triển khai cổng thông tin việc làm phải đảm bảo đạt đượccác chức năng và nhiệm vụ cơ bản sau:
- Đăng ký tài khoản
- Chức năng cho nhà tuyển dụng
- Chức năng cho ứng viên
- Chức năng cho cán bộ chuyên trách:
+ Quản lý ứng viên và nhà tuyển dụng
+ Quản lý thông tin tuyển dụng
2.1.8.2 Đề xuất giải pháp
Để đáp ứng được yêu cầu như phần trước đã phân tích, Tôi xin
đề xuất và áp dụng Component TPJobs của TemplatePlaza với cáctính năng và ưu điểm mà component này mang lại:
- Chia việc theo ngành nghề, địa điểm, thời gian, vị trí
- Cho phép xem việc mới nhất, tìm kiếm việc theo ngành nghề,thời gian, địa điểm, vị trí…
Trang 14- Giới hạn thời gian đăng việc bằng các gói công việc
- Đối với nhà tuyển dụng
+ Đăng ký, sửa thông tin đăng ký
+ Đăng tuyển dụng và quản lý danh sách tuyển dụng
- Đối với ứng viên
+ Đăng ký, sửa thông tin đăng ký
+ Xem các công việc của nhà tuyển dụng
+ Lưu và quản lý các công việc được lưu
+ Đăng hồ sơ tìm việc bằng cách viết trực tiếp hoặc upload tậptin văn bản
+ Nộp đơn xin việc cho một công việc cụ thể
+ Xem việc làm mới nhất
2.1.9 Chức năng đăng ký thực tập trực tuyến
Tôi chủ động đề xuất tự xây dựng component này Các bướcthực hiện gồm:
- Phân tích thiết kế hệ thống bằng ngôn ngữ UML
- Xây dựng component dựa trên hệ thống đã phân tích
2.1.9.1 Sơ đồ các quy trình đăng ký thực tập
2.1.9.2 Mô hình hoá yêu cầu
Mô tả hệ thống
Hệ thống có các tác nhân chính sau:
- Cán bộ chuyên trách: Có nhiệm vụ cung cấp công ty thực
tập và thông tin về công ty thực tập đó
- Sinh viên: Đăng ký thành viên, thêm thông tin cá nhân, đăng
ký công ty thực tập Có thể sửa thông tin đăng ký thực tập
Trang 15Biểu đồ ca sử dụng
Hình 2-6 Biểu đồ use case của component đăng ký thực tập
Trang 162.1.9.3 Mô hình khái niệm
Xác định các lớp
Xác định mối quan hệ giữa các lớp 2.1.9.4 Biểu đồ trình tự
2.1.9.5 Biểu đồ lớp chi tiết
Hình 2-9 Biểu đồ lớp chi tiết
Trang 172.1.10 Chức năng E-learning
2.1.10.1 Phân tích yêu cầu
- Chức năng cho giáo viên:
+ Tạo và quản lý học viên,khoá học
+ Thiết kế nội dung bài giảng có âm thanh, video, hình ảnh + Cung cấp tài liệu cho học viên
+ Tạo các bài trắc nghiệm và tổ chức thi trắc nghiệm
- Chức năng cho học viên
+ Được cấp tài khoản để tham gia học trực tuyến
+ Xem bài giảng trực tuyến, tải các tài liệu, bài tập về nhà+ Tham gia thi trực tuyến
+ Thảo luận trực tuyến
Trang 18CHƯƠNG 3 XÂY DỰNG CHƯƠNG TRÌNH THỰC
NGHIỆM YÊU CẦU HỆ THỐNG
Cổng thông tin điện tử được phát triển trên nền tảng Joomla1.5 v Moodle 1.9, sử dụng ngôn ngữ PHP và hệ cơ sở dữ liệuMySQL Có thể hoạt động trên hệ điều hành Windows hoặc Unix
GIỚI THIỆU CHƯƠNG TRÌNH
3.1.1 Trang chủ
Hình 3-2 Vị trí các module chính ở trang chủ
Trang 193.1.2 Trang đăng ký khoá học trực tuyến
3.1.2.1 Chức năng cho học viên
Khi học viên xem khoá học, các thông tin cơ bản về khoá học
sẽ được cung cấp cho học viên và form (mẫu) đăng ký cho phép họcviên đăng ký khoá học trực tuyến
Hình 3-3 Form đăng ký khoá học trực tuyến
3.1.2.2 Chức năng cho người quản trị
- Quản lý học viên đăng ký
- Quản lý khoá học
- Quản lý chủ đề con
- Quản lý giảng viên
- Lưu trữ khoá học
Trang 203.1.3 Trang hỗ trợ việc làm
3.1.3.1 Chức năng cho học viên
Hình 3-7 Giao diện trang cổng thông tin việc làm
Giao diện, chứng năng cho ứng viên
- Danh mục việc làm
- Việc làm theo thời gian
- Việc làm theo địa điểm
- Việc làm theo ngành
- Module Việc làm mới nhất
- Module tìm kiếm
Giao diện, chức năng cho nhà tuyển dụng:
Đối với nhà tuyển dụng, có thể đăng việc và quản lý các côngviệc đã đăng, có thể tìm hồ sơ các ứng viên phù hợp
Trang 21Hình 3-16 Menu đăng và quản lý công việc đã đăng
3.1.3.2 Chức năng cho người quản trị
- Danh sách công việc
- Gói đăng việc
- Quản lý nhà tuyển dụng
- Quản lý ứng viên
- Cấu hình
3.1.4 Trang đăng ký thực tập trực tuyến
3.1.4.1 Chức năng cho học viên
Như đã phân tích ở mục 2.2.5, với component này, sinh viên
có thể thêm được cá nhân, đăng ký cơ quan thực tập và chỉnh sửathông tin đăng ký thực tập của mình
Hình 3-21 Giao diện đăng ký thực tập trực tuyến
Trang 223.1.4.2 Chức năng cho người quản trị
Gồm có: Quản lý sinh viên đăng ký, quản lý khoa, quản lýngành, quản lý lớp, quản lý công ty thực tập , quản lý chi tiết công ty
3.1.5 Trang E-learning
Hình 3-24 Giao diện trang E-learning
Trang 23Với Moodle, các khoá học được tổ chức phân cấp với số cấpkhông giới hạn Áp dụng cho website E-learning của Trung tâm,danh mục khoá học được phân chia như hình sau:
Hình 3-25 Danh mục phân cấp khoá học
Hình 3-26 Demo chạy bài giảng trực tuyến trên website
Trang 24Hình 3-27 Demo trắc nghiệm trực tuyến
BẢO MẬT CỔNG THÔNG TIN
3.1.6 Các nguy cơ bảo mật
3.1.7 Đề xuất giải pháp bảo mật
3.1.7.1 Bảo mật cho trang quản trị bằng cookie
3.1.7.2 Bảo mật trang quản trị bằng cách đặt mật khẩu thư mục 3.1.7.3 Bảo mật bằng các component của Joomla
Trang 25
E Tìm hiểu được hệ quản trị học tập Moodle.
- Tìm hiểu và đề xuất được các phần mềm trợ giúp soạn thảobài giảng
- Phân tích, thiết kế hệ thống cổng thông tin điện tử về đào tạocho TT PTND và Đào tạo
o Về thực nghiệm
- Xây dựng được cổng thông tin điện tử về đào tạo và hỗ trợviệc làm cho TT PTND và Đào tạo với các tính năng chính đã đề ra:Cổng tin tức, tính năng đăng ký khoá học trực tuyến, đăng ký thựctập trực tuyến và tính năng hỗ trợ việc làm
- Xây dựng trang E-learning Moodle cho Trung tâm
- Tìm hiểu và vận dụng các biện pháp bảo mật cơ bản chowebsite Joomla mà cụ thể là cổng thông tin điện tử và hỗ trợ việclàm
Hạn chế
- Chỉ mới đi vào chạy thử nghiệm và áp dụng website learning Moodle cho khoa Khoa học máy tính, chưa áp dụng chocổng thông tin Joomla hoạt động thực tế
E-Trang