Thuật ngữ World Wide Web hay gọi tắc là Web không còn xa lạ với chúng ta. Cùng với sự bùng nổ của công nghệ thông tin và Internet, Web ảnh hưởng hầu hết đến tất cả các lĩnh vực trong cuộc sống của chúng ta.
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel (84-511) 736 949, Fax (84-511) 842 771 Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN MÃ NGÀNH : 05115 ĐỀ TÀI : NGHIÊN CỨU XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐÀO TẠO TÍN CHỈ CHO ĐẠI HỌC ĐÀ NẴNG Mã số : 02T4-15 02T4-21 Ngày bảo vệ : 13/06/2007 – 15/06/2007 SINH VIÊN : Lê Văn Minh Nguyễn Minh Quang LỚP : 02T4 CBHD : ThS Huỳnh Hữu Hưng ĐÀ NẴNG, 05/2007 LỜI CẢM ƠN Trước hết, chúng xin cảm ơn cha mẹ, người có cơng sinh thành, dưỡng dục chúng tơi đến ngày hôm Chúng xin chân thành cảm ơn thầy cô khoa Công nghệ Thông tin, thầy cô giảng dạy trường Đại học Bách khoa Đà Nẵng truyền đạt kiến thức quý báu cho năm học vừa qua Đặc biệt, xin chân thành cảm ơn thầy giáo Huỳnh Hữu Hưng - thuộc mơn Mạng máy tính, khoa Công nghệ Thông tin, trường Đại học Bách khoa Đà Nẵng tận tình hướng dẫn, động viên giúp đỡ suốt thời gian thực đề tài Chúng xin chân thành cảm ơn anh Nguyễn Thanh Nam, chun viên phịng Đào tạo Cơng tác Sinh viên, trường Đại học Bách khoa Đà Nẵng giúp đỡ, hỗ trợ số liệu tư vấn nghiệp vụ quản lý sinh viên cho thời gian làm đề tài Cuối cùng, xin chân thành cảm ơn bạn bè gần xa, bạn bè khoa Công nghệ Thông tin giúp đỡ, chia sẻ kiến thức kinh nghiệm tài liệu cho chúng tơi q trình nghiên cứu thực đề tài Một lần nữa, xin chân thành cảm ơn! Đà Nẵng, ngày 25 tháng 05 năm 2006 Sinh viên thực Lê Văn Minh Nguyễn Minh Quang LỜI CAM ĐOAN Tôi xin cam đoan : Những nội dung luận văn thực hướng dẫn trực tiếp thạc sĩ Huỳnh Hữu Hưng Mọi tham khảo dùng luận văn trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin chịu hồn tồn trách nhiệm Sinh viên, Lê Văn Minh Nguyễn Minh Quang MỤC LỤC TỔNG QUAN ĐỀ TÀI I II III Bối cảnh đề tài Mục đích Hướng nghiên cứu CƠ SỞ LÝ THUYẾT .4 I Lập trình Java mơi trường Web I.1 Một số khái niệm liên quan đến Web I.2 Kết nối sở liệu II Mơ hình phát triển ứng dụng Web 11 II.1 Kiến trúc mơ hình 11 II.2 Kiến trúc mơ hình (Model – View – Controller) 12 III Ngơn ngữ mơ hình hóa thống (UML) 12 III.1 Giới thiệu UML 12 III.2 UML giai đoạn chu trình phát triển phần mềm 15 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 17 I II Phân tích trạng 17 Phân tích chức hệ thống 29 II.1 Các tác nhân (actor) 29 II.2 Usecase admin 29 II.3 Usecase giáo viên 34 II.4 Usecase sinh viên 36 III Thiết kế 39 III.1 Sơ đồ lớp (class diagram) 39 III.2 Sơ đồ thành phần (component diagram) 43 III.3 Sơ đồ triển khai (deployment diagram) 44 XÂY DỰNG CHƯƠNG TRÌNH VÀ KẾT QUẢ ĐẠT ĐƯỢC 45 I Xây dựng chương trình 45 I.1 Xây dựng liệu 45 I.2 Xây dựng giao diện 56 I.3 Xây dựng gói theo mơ hình MVC 58 I.4 Các giải pháp 61 II Kết đạt 69 KẾT LUẬN 75 I Đánh giá kết 75 I.1 Về mặt lý thuyết 75 I.2 Về mặt chương trình 75 II Hướng phát triển 76 II.1 Về mặt lý thuyết 76 II.2 Về mặt chương trình 76 DANH MỤC HÌNH VẼ Hình – Cách thức servlet làm việc Hình – JDBC kết nối trực tiếp với trình điều khiển 10 Hình – JDBC sử dụng cầu nối ODBC 10 Hình – JDBC kết nối thông qua ứng dụng mạng trung gian 11 Hình – Mơ hình 11 Hình – Mơ hình (MVC) 12 Hình – Quy trình sinh viên đăng ký lớp học phần 26 Hình – Admin Usecase 29 Hình – Activity diagram usecase admin đăng nhập 30 Hình 10 – Sequence diagram usecase admin đăng nhập 31 Hình 11 – Activity Diagram usecase admin upload điểm 32 Hình 12 – Sequence Diagram usecase admin upload điểm 33 Hình 13 – Usecase giáo viên 34 Hình 14 – Activity Diagram usecase giáo viên xem thời khóa biểu 35 Hình 15 – Sequence Diagram usecase giáo viên xem thời khóa biểu 35 Hình 16 – Usecase sinh viên 36 Hình 17 – Activity Diagram usecase sinh viên đăng ký lớp học phần 37 Hình 18 – Sequence Diagram usecase sinh viên đăng ký lớp học phần 38 Hình 19 – Class Diagram: Sinh viên, Lớp sinh hoạt, Ngành, Khóa học 39 Hình 20 – Class Diagram: Học phần, quan hệ học phần 39 Hình 21 – Object Diagram: Học phần, quan hệ học phần 40 Hình 22 – Class Diagram: Lớp học phần, học kỳ 40 Hình 23 – Class Diagram: Khung chương trình 41 Hình 24 – Object Diagram: Khung chương trình 41 Hình 25 – Class Diagram: Sinh Viên Đăng ký 42 Hình 26 – Class Diagram: Sinh viên điểm 42 Hình 27 – Class Diagram: Sinh viên thời khóa biểu 43 Hình 28 – Biểu đồ thành phần hệ thống 43 Hình 29 – Sơ đồ triển khai ứng dụng 44 Hình 30 – Điểm sinh viên 45 Hình 31 – Khung chương trình 46 Hình 32 – Sinh viên đăng ký 46 Hình 33 – Sinh viên, lớp sinh hoạt 47 Hình 34 – Thời khóa biểu sinh viên 47 Hình 35 – Lớp học phần theo kỳ 48 Hình 36 – Bố cục trang Web 56 Hình 37 – Header 56 Hình 38 – Footer 56 Hình 39 – Right Pane, Giáo viên Left Menu, Sinh viên Left Menu 57 Hình 40 – Giáo viên Top Menu 57 Hình 41 – Admin Top Menu 57 Hình 42 – Sinh Viên Top Menu 57 Hình 43 – Admin Left Menu 57 Hình 44 – Nội dung gói AdminInterface 58 Hình 45 – Nội dung gói SinhVienInteface 58 Hình 46 – Nội dung gói GiaoVienInterface 59 Hình 47 – Nội dung gói BusinessObject 59 Hình 48 – Nội dung gói Bean 60 Hình 49 – Nội dung gói DataAcessObject 60 Hình 50 – Nội dung gói Default 60 Hình 51 – Đồ thị mô tả học phần quan hệ 61 Hình 52 – Kiểm tra xung đột thời khóa biểu AND bit (không xung đột) 65 Hình 53 – Kiểm tra xung đột thời khóa biểu AND bit (có xung đột) 65 Hình 54 – Cập nhật quỹ thời gian sinh viên sau đăng ký 65 Hình 55 – Cập nhật quỹ thời gian sinh viên sau hủy bỏ lớp học phần 66 Hình 56 – Quy trình ánh xạ liệu 67 Hình 57 – Trang thiết kế khung chương trình Admin 69 Hình 58 – Trang thiết kế thời khóa biểu lớp học phần 69 Hình 59 – Trang web chọn file upload Admin 70 Hình 60 – Trang Web thị danh sách sau upload thành cơng 70 Hình 61 – Trang xem thời khóa biểu giáo viên 71 Hình 62 – Trang xem lớp học phần giáo viên 71 Hình 63 – Trang xem quan hệ học phần sinh viên 72 Hình 64 – Trang xem điểm sinh viên 72 Hình 65 – Trang xem khung chương trình sinh viên 73 Hình 66 – Trang xem lớp học phần 73 Hình 67 – Trang liệt kê danh sách lớp học phần có 74 Hình 68 – Trang xem thời khóa biểu sinh viên 74 DANH MỤC BẢNG BIỂU Bảng – Một số thẻ (tag) thường sử dụng ngôn ngữ HTML Bảng – Các lệnh giao thức HTTP Bảng – Các tùy chọn thị page Bảng – Các hành động JSP Bảng – Chi tiết loại khóa học 19 Bảng – Điểm rèn luyện quy đổi 20 Bảng – Mã số trường thuộc ĐH Đà Nẵng 21 Bảng – Mã khoa 22 Bảng – Mã ngành thuộc đại học Bách Khoa Đà Nẵng 23 Bảng 10 – Bảng tblChiTietDiemCuaSinhVien 48 Bảng 11 – Bảng tblChiTietKhungChuongTrinh 48 Bảng 12 – Bảng tblChiTietHocPhan 49 Bảng 13 – Bảng tblDiemCuaSinhVien 49 Bảng 14 – Bảng tblDonVi 49 Bảng 15 – Bảng tblGiaoVien 50 Bảng 16 – Bảng tblHocKy 51 Bảng 17 – Bảng tblHocKyHienHanh 51 Bảng 18 – Bảng tblHocPhan 51 Bảng 19 – Bảng tblKhoa 51 Bảng 20 – Bảng tblKhoaHoc 52 Bảng 21 – Bảng tblKhungChuongTrinh 52 Bảng 22 – Bảng tblLoaiDiem 52 Bảng 23 – Bảng tblLopHocPhan 52 Bảng 24 – Bảng tblLopHocPhan 53 Bảng 25 – Bảng tblNganh 53 Bảng 26 – Bảng tblNhomLopHocPhan 53 Bảng 27 – Bảng tblPhongHoc 53 Bảng 28 – Bảng tblQuanHe 53 Bảng 29 – Bảng tblQuanHeHocPhan 54 Bảng 30 – Bảng tblSinhVienDangKy 54 Bảng 31 – Bảng tblThoiKhoaBieu 54 Bảng 32 – Bảng tblThoiKhoaBieuSinhVien 54 Bảng 33 – Bảng tblSinhVien 55 Bảng 34 – Biểu diễn quan hệ theo danh sách đỉnh kề 62 Bảng 35 – Bảng quan hệ học phần 63 Bảng 36 – Nội dung class đọc file excel 68 DANH MỤC TỪ VIẾT TẮT HTML URL HTTP HTTPS JSP XML ODBC JDBC MVC UML WML API Hypertext Markup Language Uniform Resource Locator Hypertext Tranfer Protocol HTTP over SSL Java Server Page Extensible Markup Language Open Database Connectivity Java Database Connectivity Model – View – Controller Unifield Modeling Language Wireless Markup Language Application Programming Interface TỔNG QUAN ĐỀ TÀI I Bối cảnh đề tài Giáo dục tảng cho phát triển dân tộc, đặc biệt giáo dục bậc đại học Người ta thường dùng số kinh tế để đánh giá phát triển quốc gia, để đánh giá phát triển dân tộc người ta lại xét đến khía cạnh giáo dục đặc biệt giáo dục đại học Trên giới, quốc gia phát triển nước có giáo dục tiên tiến, với trường đại học hàng đầu tiêu biểu Hoa Kỳ, Nhật Bản, Anh gần Singapore Nền giáo dục nước ta bước cải cách phát triển đại học Đà Nẵng ba trọng điểm việc phát triển giáo dục đại học nước ta Trong trình phát triển mình, đại học Đà Nẵng chuyển dần từ Đào tạo theo niên chế sang Đào tạo theo tín Quản lý đào tạo tín cơng việc khó khăn phức tạp công việc vô quan trọng; quản lý tốt chất lượng đào tạo nâng cao Hiện tại, việc quản lý đào tạo tín Đại học Đà Nẵng gặp số khó khăn, xuất phát từ nhiều nguyên nhân khác nhau: đầu chuyển sang đào tạo tín chỉ, hệ thống quản lý xây dựng, chưa thống nhất,… việc quản lý mang nhiều ảnh hưởng hệ thống quản lý niên chế có Sinh viên phải đăng ký mơn học tay, việc kiểm tra xung đột thời khóa biểu sinh viên khơng thực trình đăng ký Sinh viên chưa biết quan hệ học phần, học phần nên học trước học phần nên học sau… Việc quản lý nhân viên quản trị gặp nhiều khó khăn xây dựng khung chương trình, xây dựng thời khóa biểu, nhập điểm… Bài tốn đặt lúc để xây dựng hệ thống website quản lý đào tạo tín đáp ứng tất nhu cầu cho giáo viên, sinh viên quản trị viên Cụ thể hệ thống website phải có chức sau: − Hệ thống cho phép giáo viên dễ dàng biết thời khóa biểu danh sách lớp học phần mà dạy, cụ thể giáo viên dạy phòng nào, mơn vào thời điểm − Hệ thống cho phép sinh viên dễ dàng biết điểm mình, số tín mà đạt được, biết nên đăng ký môn học trước cuối cho phép sinh viên đăng ký lớp học phần − Hệ thống giúp quản trị viên dễ dàng cập nhật thông tin liên quan đến đào tạo, dễ dàng xây dựng khung chương trình dễ dàng xây dựng thời khóa biểu cho lớp học phần mà không lo xung đột thời gian Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng II Mục đích Trong bối cảnh trên, chúng tôi, kiến thức học hướng dẫn tận tình giáo viên, thực đề tài nhằm mục đích nghiên cứu vấn đề gặp phải việc quản lý đào tạo tín chỉ; từ chúng tơi đưa giải pháp khắc phục cuối cụ thể hóa giải pháp việc xây dựng hệ thống website quản lý đào tạo tín có đầy đủ chức nêu Ngồi ra, xây dựng hệ thống website mong muốn góp phần nhỏ nghiệp phát triển giáo dục Việt Nam Hệ thống xây dựng không tránh khỏi hạn chế, mong nhận ý kiến đóng góp để hồn thiện sau III Hướng nghiên cứu III.1 Về mặt lý thuyết Nghiên cứu việc quản lý đào tạo tín trường Đại học Bách Khoa Đà Nẵng Nghiên cứu vấn đề gặp phải việc quản lý đào tạo tín Nghiên cứu lý thuyết xây dựng hệ thống website tác nghiệp công nghệ Java, cụ thể JSP Servlet Đưa định hướng phát triển đề tài III.2 Công cụ xây dựng đề tài Công cụ nghiên cứu sở lý thuyết: tài liệu liên quan đến đào tạo tín Đại học Đà Nẵng phát hành, tài liệu liên quan đến lập trình Java (giáo trình ebook), trang web liên quan… Công cụ xây dựng hệ thống website: Sun Java JDK 1.5, Sun IDE NetBean 4.1, Apache Tomcat 5.5, Microsoft SQL Server 2000 Service Pack 4, Microsoft Visio 2003 beta III.3 Dự kiến kết đạt Với công cụ kiến thức thu thập được, xây dựng hệ thống website phục vụ quản lý đào tạo tín Hệ thống website gồm chức ứng với loại người dùng sau − Giáo viên xem thời khóa biểu: Sau đăng nhập, giáo viên xem thời khóa biểu mình, cụ thể giáo viên biết tuần phải dạy lớp nào, phòng vào thời gian − Giáo viên xem danh sách lớp học phần: Giáo viên xem danh sách lớp học phần mà dạy Cụ thể xem số lượng sinh viên tối đa, số lượng sinh viên tối thiểu số lượng sinh viên Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng đến học phần khác lưu cạnh đồ thị Với ví dụ đồ thị biểu diễn thành danh sách cạnh sau: Học phần A A D D Học phần B D C F Quan hệ Bảng 35 – Bảng quan hệ học phần Phương pháp có ưu điểm danh sách cạnh cần lưu trữ danh sách, nên việc truy xuất, cập nhật dễ dàng Những đỉnh độc lập khơng cần lưu trữ nên tiết kiệm đáng kể tài nguyên nhớ Trong trường hợp đỉnh có nhiều cung (nghĩa bậc đỉnh lớn) phương pháp trở nên phí phạm so với phương pháp danh sách đỉnh kề Với thực tế tốn này, chúng tơi chọn phương pháp thứ với lý sau: − Đối với vấn đề lưu trữ, học phần thường cần đến môn học trước tiên quyết, bậc đỉnh thường khơng vượt q Với ví dụ đỉnh có bậc cao đỉnh D (bậc 3) Vì bậc đỉnh không lớn nên việc lưu trữ không phí phạm − Đối với vấn đề xử lý, việc xử lý liên quan đến quan hệ học phần thực thời điểm: thời điểm thời điểm đầu khóa học nhân viên đào tạo cập nhật chương trình học ràng buộc kèm theo thời điểm thứ hai thời điểm đầu kỳ sinh viên đăng ký học phần cho kỳ tới Đối với thời điểm việc xử lý thêm học phần thêm quan hệ, thời điểm này, việc truy cập không nhiều Đối với thời điểm thứ hai việc xử lý truy xuất để kiểm tra, thời điểm truy cập sinh viên nhiều Việc thiết kế lưu trữ theo phương pháp danh sách cạnh nói khơng thuận tiện cho việc thêm quan hệ hoàn toàn thuận lợi cho việc truy xuất liệu tương ứng − Với thiết kế này, dễ dàng hiển thị quan hệ học phần theo dạng phân cấp Từ sinh viên dễ dàng xem biết học phần tiên quyết, học phần cần học trước để có kế hoạch học tập hợp lý d Nội dung thuật toán (viết giả ngữ): − Input: Danh sách đỉnh (học phần), danh sách cạnh (quan hệ học phần), mã sinh viên, đoạn đường mà sinh viên (bảng điểm sinh viên), đỉnh đích (học phần cần đăng ký) − Output: Yes/No Nghĩa là, sinh viên có tiếp đến đỉnh đích hay khơng, sinh viên có phép đăng ký học phần hay không Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 63 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng − Method: Tìm danh sách cạnh cạnh có đỉnh cuối đỉnh đích Nếu khơng tìm thấy (nghĩa đỉnh độc lập, hay học phần cần đăng ký học phần độc lập) trả “Yes”, ngược lại, tiếp tục bước 3 Với cạnh thu được, kiểm tra đỉnh đầu cạnh, khơng có đỉnh nằm đoạn đường mà sinh viên (nghĩa sinh viên học qua học phần đó) trả “No”, ngược lại, trả “Yes” e Đánh giá thuật toán Độ phức tạp thuật toán O(n*m) với n số cạnh danh sách cạnh, m số đỉnh mà sinh viên qua Số cạnh danh sách cạnh không 1000, số đỉnh sinh viên qua khơng q 100 Do số xử lý thực không vượt 105 Với độ phức tạp này, giải pháp hồn tồn áp dụng vào chương trình I.4.2 Giải pháp chiếm dụng khe thời gian a Đặt vấn đề: Như nói phần phân tích trạng, sinh viên đăng ký lớp học phần, hệ thống cần kiểm tra xem thời khóa biểu sinh viên có bị xung đột hay khơng b Mơ tả tốn: Cho trước danh sách lớp học phần thời khóa biểu tương ứng chúng Với sinh viên thời khóa biểu sinh viên, kiểm tra xem sinh viên học lớp học phần mà hai thời khóa biểu không bị xung đột hay không c Giải pháp: Gọi Q quỹ thời gian sinh viên Quỹ thời gian Q gồm có ngày tương ứng với ngày tuần ngày có 12 khe thời gian tương ứng với 12 tiết học Và P danh sách khe thời gian mà lớp học phần yêu cầu, P bao gồm khe thời gian vài ngày xác định tương ứng với tiết học thời khóa biểu lớp học phần Khi sinh viên đăng ký lớp học phần nghĩa sinh viên phải dành vài khe thời gian quỹ thời gian hay nói cách khác, lớp học phần chiếm dụng vài khe thời gian quỹ thời gian người Vấn đề lúc sinh viên đăng ký lớp học phần cần kiểm tra xem khe thời gian mà lớp học phần cần bị chiếm dụng hay chưa d Biểu diễn toán vào hệ thống: Ta định nghĩa quỹ thời gian đối tượng gồm thuộc tính kiểu số nguyên (integer byte), thuộc tính tương ứng ngày tuần, khe thời gian làm bit số 16 bit byte Đối tượng định nghĩa cho danh sách khe thời gian lớp học học phần Để kiểm tra khe thời gian mà lớp học phần yêu cầu bị chiếm dụng hay chưa, cần thực toán tử AND cặp bit tương ứng số nguyên đối tượng với nhau, khe thời gian chưa chiếm dụng kết 0, ngược lại kết Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 64 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng Khe thời gian lớp học phần yêu cầu Quỹ thời gian sinh viên Mon Tue Wed Thu 5/25/2007 Fri Sat Mon Tue Wed Thu 5/25/2007 Fri Sat Quỹ thời gian sau đăng ký Mon Tue Wed Thu 5/25/2007 Fri Sat * Hình 52 – Kiểm tra xung đột thời khóa biểu AND bit (khơng xung đột) Khe thời gian lớp học phần yêu cầu Quỹ thời gian sinh viên Mon Tue Wed Thu 5/25/2007 Fri Sat Mon Tue Wed Thu 5/25/2007 Fri Sat Quỹ thời gian sau đăng ký Mon Tue Wed Thu 5/25/2007 Fri Sat ⌧ * Hình 53 – Kiểm tra xung đột thời khóa biểu AND bit (có xung đột) Để cập nhật quỹ thời sinh viên sau đăng ký lớp học phần, sử dụng toán tử OR để OR cặp bit tương ứng số nguyên đối tượng với Khe thời gian lớp học phần yêu cầu Quỹ thời gian sinh viên Mon Tue Wed Thu 5/25/2007 Fri Sat Mon Tue Wed Thu 5/25/2007 Fri Sat Quỹ thời gian sau đăng ký Mon Tue Wed Thu 5/25/2007 Fri Sat + Hình 54 – Cập nhật quỹ thời gian sinh viên sau đăng ký Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 65 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng Để cập nhật quỹ thời gian sinh viên sau sinh viên thực hủy bỏ lớp học phần cần thực toán tử AND NOT cặp bit tương ứng số nguyên đối tượng với Mon Tue Wed Thu Fri Sat Mon Tue Wed Thu Fri Sat Mon Tue Wed Thu Fri Sat - Hình 55 – Cập nhật quỹ thời gian sinh viên sau hủy bỏ lớp học phần f Đánh giá giải pháp − Giải pháp tối ưu việc lưu trữ Việc thiết kế lưu trữ liệu dạng bit làm cho việc lưu trữ tối ưu Ứng với quỹ thời gian cần lưu trữ 14 byte − Giải pháp tối ưu việc tính toán Việc sử dụng toán tử xử lý bit (toán tử hệ thống) AND, OR NOT làm cho việc tính tốn trở nên nhanh chóng Với lần kiểm tra, hệ thống cần thực phép toán lần I.4.3 Giải pháp ánh xạ liệu a Đặt vấn đề: Khi thiết kế chương trình, liệu liên quan đến đào tạo vốn có hệ thống quản lý niên chế trường Việc nhập lại số liệu từ hệ thống cũ sang hệ thống vất vả không hiệu Vấn đề đặt lúc chuyển liệu từ hệ quản trị sở liệu sang hệ quản trị sở liệu khác cách nhanh chóng mà đáp ứng ràng buộc b Giải pháp: Để chuyển liệu từ hệ quản trị sở liệu sang hệ quản trị sở liệu khác ta sử dụng cấu trúc liệu trung gian làm trục Đơn giản sử dụng file xml, nhiên, file xml biểu diễn trực quan thành dạng bảng khó chỉnh sửa cho phù hợp Do đó, chúng tơi chọn file excel File excel (*.xls) trở thành dạng file thơng dụng Ngồi Ms Office Windows, Open Office Linux đọc Dữ liệu ánh xạ theo quy trình hình 56 Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 66 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng Dữ liệu từ hệ thống Dữ liệu hệ thống CSDL Ms SQL Module ánh xạ liệu CSDL My SQL File Excel xls Đọc file Excel Xử lý ràng buộc liệu Cầu nối JDBC CSDL định CSDL Oracle CSDL Access Hình 56 – Quy trình ánh xạ liệu Quy trình ánh xạ liệu sau: Bước 1: Chương trình quản lý sử dụng chức report để xuất liệu sở liệu cụ thể sang file excel (*.xls) Bước 2: Module ánh xạ liệu đọc file excel, sau kiểm tra ràng buộc Bước 3: Module ánh xạ liệu ghi vào sở liệu định thông qua cầu nối liệu c Cấu trúc module ánh xạ liệu: Module ánh xạ liệu xây dựng ngôn ngữ Java JDK 1.5 nên có cấu trúc sau: − JExcel API: Java API cho phép ứng dụng Java đọc bảng tính Excel tạo bảng tính Excel Thêm vào đó, chứa kỹ thuật cho phép ứng dụng Java vừa đọc bảng tính vừa thay đổi số cell bảng tính, ghi bảng tính JExcel API cơng bố miễn phí địa http://jexcelapi.sourceforge.net thành phần gói jxl.jar − Class đọc file excel: Class cài đặt để vừa đọc vừa kiểm tra ràng buộc liệu từ file excel Nội dung class sau: Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 67 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng import java.io.File; import java.util.Date; import jxl.*; Workbook workbook = Workbook.getWorkbook(new File("myfile.xls")); // Khi có truy cập vào workbook, bạn truy cập vào sheet cụ thể Sheet có mục 0, sheet thứ hai có mục tiếp tục Sheet sheet = workbook.getSheet(0); //Khi có sheet , bạn bắt đầu truy cập cell sheet Bạn lấy nội dung cell xâu cách sử dụng phương thức getContents() Trong ví dụ A1 text cell, B2 giá trị số , B2 ngày Cell a1 = sheet.getCell(0,0); Cell b2 = sheet.getCell(1,1); Cell c2 = sheet.getCell(2,1); String stringa1 = a1.getContents(); String stringb2 = b2.getContents(); String stringc2 = c2.getContents(); Bảng 36 – Nội dung class đọc file excel − Cầu nối JDBC: Chúng ta sử dụng cầu nối ODBC sử dụng trực tiếp Connectivity Driver sở liệu định Trong đề này, sử dụng Ms SQL 2000 Driver for JDBC d Đánh giá giải pháp: − Giải pháp thực công nghệ Java, cấu trúc liệu trung gian làm trục file excel (một loại file thông dụng) cầu nối sở liệu Connectivity Driver hệ quản trị sở liệu Do đó, giải pháp thực tất loại hệ thống (cả Windows lẫn Linux) − Với JExcel API, việc đọc file excel, ghi file excel việc chuyển report thành file excel để chỉnh sửa in ấn dễ dàng Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 68 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng II Kết đạt Với phân tích, thiết kế giải pháp trên, chúng tơi xây dựng hệ thống Website có chức sau: II.1 Admin thiết kế khung chương trình Hình 57 – Trang thiết kế khung chương trình Admin II.2 Admin thiết kế thời khóa biểu lớp học phần Hình 58 – Trang thiết kế thời khóa biểu lớp học phần Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 69 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng II.3 Admin upload loại danh sách liên quan Hình 59 – Trang web chọn file upload Admin Hình 60 – Trang Web hiển thị danh sách sau upload thành công Admin muốn cập nhật danh sách vào sở liệu click vào nút Update Database Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 70 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng II.4 Giáo viên xem thời khóa biểu minh Hình 61 – Trang xem thời khóa biểu giáo viên II.5 Giáo viên xem lớp học phần dạy Hình 62 – Trang xem lớp học phần giáo viên Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 71 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng II.6 Sinh viên xem quan hệ học phần Hình 63 – Trang xem quan hệ học phần sinh viên II.7 Sinh viên xem điểm học phần học Hình 64 – Trang xem điểm sinh viên Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 72 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng II.8 Sinh viên xem khung chương trình học Hình 65 – Trang xem khung chương trình sinh viên Sau click chuột vào link tên học phần hiển thị danh sách lớp học phần có học phần sinh viên đăng ký học Hình 66 – Trang xem lớp học phần Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 73 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng II.9 Sinh viên đăng ký học Hình 67 – Trang liệt kê danh sách lớp học phần có Hình 68 – Trang xem thời khóa biểu sinh viên Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 74 KẾT LUẬN I Đánh giá kết I.1 Về mặt lý thuyết Với việc nghiên cứu đề tài này, sử dụng hầu hết kiến thức chuyên ngành học suốt thời gian học trường như: lý thuyết đồ thị, lý thuyết lập trình hệ thống (xử lý bit), lý thuyết lập trình hướng đối tượng, lý thuyết phân tích thiết kế hệ thống, cơng nghệ phần mềm, lý thuyết xây dựng hệ thống website…Tất kiến thức thực hóa hệ thống website quản lý đào tạo tín mà chúng tơi xây dựng I.2 Về mặt chương trình Với đề tài này, hệ thống đáp ứng yêu cầu việc quản lý đào tạo tín quản lý q trình đăng ký, quản lý việc xây dựng khung chương trình, quản lý điểm, chức khác sinh viên giáo viên Hệ thống đáp ứng chức sau: − Giáo viên xem thời khóa biểu: Sau đăng nhập, giáo viên xem thời khóa biểu mình, cụ thể giáo viên biết tuần phải dạy lớp nào, phòng vào thời gian − Giáo viên xem danh sách lớp học phần: Giáo viên xem danh sách lớp học phần mà dạy Cụ thể xem số lượng sinh viên tối đa, số lượng sinh viên tối thiểu số lượng sinh viên − Sinh viên xem khung chương trình: Sinh viên xem khung chương trình mà cần học Cụ thể sinh viên biết học kỳ cụ thể, phải học môn − Sinh viên xem học phần quan hệ học phần: Sinh viên xem danh sách học phần quan hệ chúng Các học phần trình bày dạng để sinh viên dễ dàng biết học phần nên học trước học phần nên học sau − Sinh viên xem điểm: Sinh viên xem điểm Cụ thể sinh viên biết điểm học phần mà học, biết số tín đạt biết hồn tất phần trình học đại học trường − Sinh viên đăng ký lớp học phần: Sinh viên xem danh sách lớp học phần mở học kỳ hành để từ đăng ký vào lớp Q trình đăng ký kiểm tra chặt chẽ ràng buộc Ngoài sinh viên hủy bỏ lớp học phần mà đăng ký − Sinh viên xem thời khóa biểu: Sinh viên xem thời khóa biểu học kỳ hành − Nhân viên quản trị upload danh sách liên quan: Nhân viên quản trị (admin) sau đăng nhập có chức upload, chức cho phép upload danh sách Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 75 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng giáo viên, sinh viên, lớp học, phòng học, học phần thông tin khác Các danh sách lưu dạng file excel tự động cập nhật vào sở liệu − Nhân viên quản trị cập nhật thông tin: Nhân viên quản trị dễ dàng cập nhật thông tin đối tượng liên quan đến trình quản lý đào tạo − Nhân viên quản trị xây dựng khung chương trình: Nhân viên quản trị dễ dàng xây dựng khung chương trình cho khóa học ngành − Nhân viên quản trị xây dựng thời khóa biểu: Nhân viên quản trị dễ dàng xây dựng thời khóa biểu cho lớp học phần mà không lo ngại xung đột thời khóa biểu So với hệ thống website chức hệ thống ưu việt hẳn Hệ thống website có chức sinh viên xem điểm, hồn tồn khơng có chức cho giáo viên II Hướng phát triển II.1 Về mặt lý thuyết Với giải pháp chiếm dụng khe thời gian, hệ thống kiểm tra xung đột thời khóa biểu giáo viên q trình admin xây dựng khung chương trình Từ đó, giải pháp mở hướng nghiên cứu lập lịch, lập lịch quan điểm chiếm dụng khe thời gian Với hướng nghiên cứu này, xây dựng chương trình lập lịch tự động bán tự động cho việc lập thời khóa biểu chương trình học tập trường II.2 Về mặt chương trình Hệ thống chưa mềm dẻo việc sinh viên đăng ký học phần nghĩa lớp đủ người sinh viên không phép đăng ký Tuy nhiên, thực tế, hệ thống quản lý đào tạo tín trường đại học khác, lớp đầy sinh viên đăng ký Việc đăng ký giống việc đặt chỗ, có sinh viên khác hủy đăng ký sinh viên đặt chỗ tự động cập nhập vào danh sách Hệ thống chưa quản lý việc tốn học phí Do đó, tương lai, chúng tơi phát triển chức Thậm chí, với điều kiện thương mại điện tử phát triển nay, phát triển chức thành toán qua mạng hệ thống ngân hàng Với giải pháp ánh xạ liệu, việc chuyển liệu từ file Excel vào CSDL dễ dàng Bên cạnh đó, bảng điểm sinh viên ghi phương pháp đánh dấu trắc nghiệm đọc tự động máy OpScan Với hai tảng này, phát triển tiếp module đọc điểm tự động, nghĩa nhân viên đào tạo cần đưa danh sách vào máy OpScan, máy đọc cho bảng điểm dạng file excel File đọc cập nhật vào sở liệu Đây hướng nghiên cứu có giá trị Hiện tại, hệ thống kiểm tra phạm vi hẹp Trong tương lai, áp dụng cho Đại học Đà Nẵng bị tải lượng sinh viên, giáo viên truy cập lớn Vấn đề mở hướng phát triển mới, phát triển hệ thống thành hệ phân tán để áp dụng cho toàn trường trực thuộc Đại học Đà Nẵng Lê Văn Minh, Nguyễn Minh Quang, LỚP 02T4 76 TÀI LIỆU THAM KHẢO [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] “Chương trình đào tạo khóa 2006 – 2011” – Đại học Đà Nẵng, 2006 “Sổ tay sinh viên khóa 06 học kỳ 2” – Đại học Bách khoa Đà Nẵng, 2006 Lý thuyết đồ thị toàn rời rạc – Nguyễn Đức Nghĩa & Nguyễn Tơ Thành Lập trình Java tập – Phương Lan Java for the Web with Servelet, JSP, and EBJ – Budi Kurniawan – New Riders Publishing, April 12, 2002 Web Development with Java Server Pages – Duane K Fields, Mark A Kolb, Shawn Bayern – Maning UML for Java Programmer - Robert Cecil Martin – Object Mentor Inc Deploying Applications with Java and UML – Paul R Reed Jr – Addison Wesley http://www.javavietnam.org http://dut1.ud.edu.vn http://java.sun.com http://jexcelapi.sourceforge.net ... Hướng nghiên cứu III.1 Về mặt lý thuyết Nghiên cứu việc quản lý đào tạo tín trường Đại học Bách Khoa Đà Nẵng Nghiên cứu vấn đề gặp phải việc quản lý đào tạo tín Nghiên cứu lý thuyết xây dựng hệ thống. .. 02T4 28 Nghiên cứu xây dựng hệ thống Website quản lý tín cho Đại học Đà Nẵng II Phân tích chức hệ thống II.1 Các tác nhân (actor) Hệ thống quản lý tín tương tác tác nhân − Admin: Nhân viên quản. .. đại học Đà Nẵng ba trọng điểm việc phát triển giáo dục đại học nước ta Trong trình phát triển mình, đại học Đà Nẵng chuyển dần từ Đào tạo theo niên chế sang Đào tạo theo tín Quản lý đào tạo tín