Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 88 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
88
Dung lượng
4,26 MB
Nội dung
TRƯỜNG ĐẠI HỌC AN GIANG KHOA KỸ THUẬT – CÔNG NGHỆ – MƠI TRƯỜNG NGUYỄN TIẾN LẪM KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC NGÀNH CỬ NHÂN TIN HỌC XÂY DỰNG ỨNG DỤNG WEB HỖ TRỢ LẬP KẾ HOẠCH VÀ PHÂN CƠNG GIẢNG DẠY THEO HỆ THỐNG TÍN CHỈ TẠI TRƯỜNG ĐẠI HỌC AN GIANG An Giang, 5/2009 TRƯỜNG ĐẠI HỌC AN GIANG KHOA KỸ THUẬT – CÔNG NGHỆ – MƠI TRƯỜNG NGUYỄN TIẾN LẪM KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC NGÀNH CỬ NHÂN TIN HỌC XÂY DỰNG ỨNG DỤNG WEB HỖ TRỢ LẬP KẾ HOẠCH VÀ PHÂN CÔNG GIẢNG DẠY THEO HỆ THỐNG TÍN CHỈ TẠI TRƯỜNG ĐẠI HỌC AN GIANG Giảng viên hướng dẫn: ThS HỒ NHÃ PHONG An Giang, 5/2009 LỜI CẢM ƠN Lời cám ơn em xin kính gửi đến ba, mẹ, bạn bè tồn thể ngƣời thân ln quan tâm, lo lắng động viên em giúp em vƣợt qua đƣợc khó khăn, thử thách học tập sống Cám ơn tồn thể q thầy, cô trƣờng tiểu học, trƣờng trung học sở, trƣờng trung học phổ thơng khơng ngại khó khăn dạy dỗ em để em có đƣợc kiến thức tảng giúp em tiếp đƣờng đại học nhƣ ngày hơm Xin cám ơn q thầy, trƣờng Đại học An Giang q thầy, Khoa Kỹ Thuật – Công Nghệ - Môi Trƣờng hết lòng, truyền đạt kiến thức kinh nghiệm cho em năm qua Xin chân thành cám ơn Ban Giám Hiệu nhà trƣờng, Ban chủ nhiệm Khoa Kỹ Thuật – Công Nghệ - Môi Trƣờng, trƣờng Đại học An Giang tạo điều kiện môi trƣờng thực tập cho em, giúp em hoàn thành đề tài thực tập tốt nghiệp Đặc biệt xin chân thành cám ơn Ths Hồ Nhã Phong, vừa ngƣời thầy tận tụy dạy dỗ vừa ngƣời trực tiếp hƣớng dẫn, giúp đỡ em suốt thời gian vừa qua để hoàn thành tốt chuyên đề thực tập tốt nghiệp Xin chân thành cám ơn! Sinh viên: Nguyễn Tiến Lẫm Trang LỜI NÓI ĐẦU Ngày nay, ngành công nghệ thông tin giới ngày phát triển mạnh mẽ ngày ứng dụng vào nhiều lĩnh vực Với khả ứng dụng rộng rãi ngành cơng nghệ thơng tin, với sách phát triển ngành công nghệ thông tin nhà nƣớc với việc cao chất lƣợng giáo dục nƣớc ta việc tin học hóa cơng tác quản lý, lập kế hoạch giáo dục phù hợp thiết thực Cũng với mục đích trên, Trƣờng Đại Học An Giang bƣớc tin học hóa cơng tác quản lý Trong cơng tác lập kế hoạch phân công giảng dạy theo hệ thống tín cần thiết Bởi lẽ cơng việc quản lý cịn mức thủ công số lƣợng sinh viên tăng lên hàng năm, trƣờng Đại học An Giang thức chuyển từ hình thức đào tạo theo học phần sang đào tạo theo hệ thống tín nên có nhiều vấn đề phát sinh gây khơng khó khăn cho sinh viên nhƣ giảng viên công tác học tập, rèn luyện, giảng dạy quản lý Đó khó khăn mà phận chun mơn, cụ thể Bộ mơn phịng Đào tạo phải giải xây dựng kế hoạch giảng dạy (trong học kỳ), tách/ghép lớp cho học phần, phân công cán giảng dạy cho nhóm/lớp học phần Những khó khăn làm cho việc quản lý dễ dẫn đến sai sót, tốn nhiều thời gian, nhân lực Nhận thấy đƣợc vấn đề phát sinh trên, để giải phần khó khăn giúp cho công tác quản lý Bộ mơn phịng Đào tạo đƣợc nhanh chóng, thuận tiện, hiệu nên em chọn đề tài “Xây dựng ứng dụng web hỗ trợ lập kế hoạch phân cơng giảng dạy theo hệ thống tín trƣờng Đại Học An Giang” Trang TÓM TẮT NỘI DUNG Tên đề tài: Xây dựng ứng dụng web hỗ trợ lập kế hoạch phân công giảng dạy theo hệ thống tín trƣờng Đại Học An Giang Giảng viên hƣớng dẫn: Thạc sĩ Hồ Nhã Phong Sinh viên thực hiện: Nguyễn Tiến Lẫm Lớp DH7TH1 – DTH061047 Toàn nội dung luận văn đƣợc tổ chức thành phần sau: Lời nói đầu: Đề cập đế nhu cầu thực tế cần thiết xây dựng đề tài Tóm tắt nội dung: Khái quát toàn nội dung luận văn Phần 1: Giới thiệu tổng quan Giới thiệu sơ lƣợc hệ thống tín Nói lên đặc tính thuận lợi việc đào tạo theo hệ thống tín Phần 2: Nội dung Mơ tả: Mơ tả hệ chức trình tự làm việc hệ thống cũ Đánh giá phạm vi tính khả thi hệ thống Xác định chức hệ thống Phân tích: Phân tích hoạt động thực tế hệ thống củ để thấy đƣợc khó khăn, hạn chế Phân tích yêu cầu lƣu trữ, chức năng, phi chức hệ thống Mô hình hóa đối tƣợng hệ thống tƣơng lại Mơ tả ràng buộc tồn vẹn hệ thống Thiết kế: Thiết kế sở liệu, mô tả bảng thuộc tính bảng liệu Thiết kế giao diện hệ thống Tổng kết: Nhận xét, đánh giá kết đạt đƣợc Nêu lên ƣu, khuyết điểm hệ thống mới, đề hƣớng phát triển tƣơng lai Phần 3: Phụ lục: Phần cho ta nhìn sở lý thuyết sử dụng trình xây dựng hệ thống Trang MỤC LỤC PHẦN 1: GIỚI THIỆU TỔNG QUAN 10 I Sơ lược hệ thống tín 10 1) Có tính hiệu cao 10 2) Có tính mềm dẻo khả thích ứng cao 10 3) Đạt hiệu cao mặt quản lý giảm giá thành đào tạo 11 PHẦN 2: NỘI DUNG 12 CHƢƠNG I: MÔ TẢ HỆ THỐNG 12 I Mô tả nghiệp vụ 12 II Phạm vi hệ thống 13 1) Phát biểu vấn đề 13 2) Mục tiêu hệ thống 13 3) Chức 13 4) Mô tả 14 III Đánh giá khả thi 14 1) Khả thi kinh tế 14 2) Khả thi kỹ thuật 14 CHƢƠNG II: PHÂN TÍCH HỆ THỐNG 15 I Phân tích trạng hệ thống 15 1) Mô tả trạng 15 2) Đánh giá trạng 15 II Phân tích yêu cầu 15 1) Yêu cầu chức 15 a) Yêu cầu lƣu trữ 15 b) Yêu cầu nghiệp vụ .16 2) Yêu cầu phi chức 16 III Phân tích 16 1) Sơ đồ Use Case 16 a) Danh sách vai trò actor 16 b) Danh sách mô tả ngắn gọn chức Use case 17 c) Mối quan hệ Use case 18 d) Mối quan hệ actor-usecase 19 i) Mức 19 ii) Mức 19 e) Mô tả use case 22 2) Sơ đồ lớp 33 a) Các đối tƣợng hệ thống 33 b) Vẽ sơ đồ lớp 34 c) Các thuộc tính phƣơng thức đối tƣợng 35 3) Sơ đồ 40 IV Các ràng buộc toàn vẹn 48 1) Ràng buộc toàn vẹn miền giá trị 48 2) Ràng buộc toàn vẹn liên 49 3) Ràng buộc toàn vẹn tham chiếu 50 4) Ràng buộc toàn vẹn liên - liên quan hệ 52 5) Ràng buộc tồn vẹn thuộc tính tổng hợp 53 CHƢƠNG III: THIẾT KẾ 55 I Thiết kế sở liệu 55 1) Mơ hình quan hệ 55 2) Mô tả bảng 57 II Thiết kế giao diện 63 1) Trang chủ 63 2) Cán giảng dạy 64 3) Cán quản lý ngành 65 4) Cán quản lý CBGD 68 5) Cán tách/ghép nhóm, lớp học phần 69 CHƢƠNG IV: TỔNG KẾT 73 I Các nội dung thực 73 1) Cán quản lý ngành 73 2) Cán quản lý cán giảng dạy 73 3) Cán giảng dạy 73 Trang 4) Quản trị viên hệ thống 73 5) Cán tách/ghép nhóm, lớp học phần 73 II Hướng phát triển 73 III Hạn chế 73 IV Một số biểu mẩu 74 PHẦN 3: PHỤ LỤC 75 CHƢƠNG I: ASP.NET MVC 75 I ASP.NET MVC 75 II Giới thiệu tổng quan 75 III Các tính MVC framework 76 IV Những thuận lợi ASP.NET MVC 76 V Yêu cầu cài đặt 76 CHƢƠNG II: SƠ LƢỢC VỀ LINQ TO SQL 77 I Giới thiệu chung 77 II Linq gì? 77 III Tại cần sử dụng Linq 77 IV Các thành phần Linq 78 V Mơ hình hóa CSDL dùng LINQ to SQL 79 VI Tìm hiểu lớp DataContext 79 1) Tạo mơ hình liệu LINQ to SQL 79 2) Các lớp thực thể 80 3) Tạo lớp thực thể từ CSDL 80 4) Quan hệ thực thể 82 5) Ví dụ sử dụng Linq: 83 VII LINQ hoạt động nào? 85 i) Tài liệu tham khảo 86 Trang DANH SÁCH HÌNH VẼ, BẢNG BIỂU Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình 1: Mơ hình use case mức 19 2: Phân rã use case quản lý kế hoạch giảng dạy 19 4: Phân rã use case quản lý phân công CBGD 20 5: Phân rã use case quản lý tách/ghép lớp học phần 20 5: Phân rã use case quản lý hệ số qui đổi chuẩn 20 6: Phân rã use case quản lý thời gian biểu 21 8: : Phân rã use case quản lý ngƣời dùng 21 7: Phân rã use case xem phân công giảng dạy 22 9: Sơ đồ lớp tổng quát 34 10: Các thuộc tính phƣơng thức đối tƣợng ngƣời dùng 35 11: Các thuộc tính phƣơng thức đối tƣợng CBTG 35 12: Các thuộc tính phƣơng thức đối tƣợng cán giảng dạy 35 13: Các thuộc tính phƣơng thức đối tƣợng cán quản lý ngành 36 14: Các thuộc tính phƣơng thức đối tƣợng quản trị viên hệ thống 36 15: Các thuộc tính phƣơng thức đối tƣợng CBQLCBGD 36 16: Các thuộc tính phƣơng thức đối tƣợng môn 36 17: Các thuộc tính phƣơng thức đối tƣợng chức vụ 36 18: Các thuộc tính phƣơng thức đối tƣợng Khoa 36 19: Các thuộc tính phƣơng thức đối tƣợng khóa học 37 20: Các thuộc tính phƣơng thức đối tƣợng loại cán 37 21: Các thuộc tính phƣơng thức đối tƣợng loại phòng 37 22: Các thuộc tính phƣơng thức đối tƣợng lớp 37 23: Các thuộc tính phƣơng thức đối tƣợng lớp học phần 37 24: Các thuộc tính phƣơng thức đối tƣợng môn học 38 25: Các thuộc tính phƣơng thức đối tƣợng năm học 38 26: Các thuộc tính phƣơng thức đối tƣợng ngành 38 27: Các thuộc tính phƣơng thức đối tƣợng phân công cán 38 28: Các thuộc tính phƣơng thức đối tƣợng kế hoạch giảng dạy 38 29: Các thuộc tính phƣơng thức đối tƣợng chƣơng trình đào tạo 38 30: Các thuộc tính phƣơng thức đối tƣợng nhóm thực hành 39 31: Các thuộc tính phƣơng thức đối tƣợng hệ số qui đổi chuẩn 39 32: Các thuộc tính phƣơng thức đối tƣợng qui định thời gian 39 33: Lƣợc đồ - User đăng nhập (thành công) 40 34: Lƣợc đồ - User đăng nhập (thất bại) 41 35: Lƣợc đồ - CBQLN xem kế hoạch giảng dạy 42 36: Lƣợc đồ - CBQLN lập kế hoạch giảng dạy 43 37: Lƣợc đồ - CBQLN thêm môn học 44 38: Lƣợc đồ - CBQLN xóa mơn học 45 39: Lƣợc đồ - CBTG tách lớp 46 40: Lƣợc đồ - CBTG ghép lớp 47 41: Lƣợc đồ quan hệ 56 42: Thiết kế giao diện – Trang chủ 63 43: Giao diện CBGD – xem phân công giảng dạy 64 44: Giao diện CBQLN – Lập kế hoạch giảng dạy 65 45: Giao diện CBQLN – Xem kế hoạch giảng dạy 66 46: Giao diên CBQLN – Các lớp lập kế hoạch giảng dạy 67 47: Giao diện CBQLCBGD – Lập phân công cán 68 Trang Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình 48: Giao diện CBTG – Xem phân côn g môn học 69 49: Giao diện CBTG – Tách lớp 70 50: Giao diện CBTG – Ghép lớp 71 51: Giao diện CBTG – Chia nhóm 72 52: Mơ hình hoạt động MVC 75 53 Kiến trúc Visual C# 77 54: Tạo mơ hình liệu (Linq to SQL) 79 55: Cửa sổ thiết kế Linq to SQL 80 56: Tạo lớp thực thể CSDL 81 57: Trình thiết kế Linq to SQL mơ hình hóa bảng 82 58: Quan hệ thực thể 83 59: Thể mối quan hệ thực thể 83 60: Sử dụng Linq – lấy danh sách sản phẩm 84 61: Sử dụng Linq – lấy cập nhật thông tin sản phẩm 84 62: Sử dụng Linq – cập nhật liệu quan hệ – nhiều 84 63: : Sử dụng Linq – Xóa sản phẩm theo tên sản phẩm 85 Bảng 1: Mô tả use case – đăng nhập 22 Bảng 2: Mô tả use case – xem phân công giảng dạy 23 Bảng 3: Mô tả use case – xem kế hoạch giảng dạy 24 Bảng 4: Mô tả use case – tách lớp 25 Bảng 5: Mô tả use case – ghép lớp 26 Bảng 6: Mô tả use case – phân côngmôn học 27 Bảng 7: Mơ tả use case – xóa mơn học 28 Bảng 8: : Mô tả use case – thêm môn học 29 Bảng 9: Mô tả use case – xem chƣơng trình đào tạo 29 Bảng 10: Mô tả use case – lập phân công giảng dạy 30 Bảng 11: Mô tả use case – xóa phân cơng giảng dạy 31 Bảng 12: Mô tả use case – hủy lớp học phần 32 Bảng 13: Mô tả RBTV 01 48 Bảng 14: Mô tả RBTV 02 49 Bảng 15: Mô tả RBTV 03 50 Bảng 16: Mô tả RBTV 04 50 Bảng 17: Mô tả RBTV 05 51 Bảng 18: Mô tả RBTV 06 51 Bảng 19: Mô tả RBTV 07 52 Bảng 20: Mô tả RBTV 08 53 Bảng 21: Mô tả RBTV 54 Bảng 22: Mô tả RBTV 10 54 Biểu mẩu 1: Biểu mẩu kế hoạch giảng dạy 74 Trang DANH SÁC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT Danh sách ký hiệu: STT Khái niệm Actor (Tác nhân) Ký hiệu Ý nghĩa Một ngƣời/ nhóm ngƣời tác động thao tác đến hệ thống : Actor Use-case (Trƣờng hợp sử dụng) UseCase Class (Lớp) Control class (Lớp điều khiển) : Controller Một chuỗi hành động mà hệ thống thực mang lại kết quan sát đƣợc Actor Là trừu tƣợng đối tƣợng giới thực Thể trình tự xử lý hệ thống hay nhiều Use-case Là tầng điều khiển tƣơng tác ngƣời dùng, làm việc trực tiếp với model cuối truyền liệu cho tầng view để hiển thị Nơi lƣu trữ sở liệu Database (Cơ sở liệu) : Database Model View (Thể hiện) : Model Tầng truy xuất làm việc với sở liệu Tầng hiển thi kết xử lý yêu cầu Actor lên trang web : View Form (Biểu mẩu) Procedure (Phƣơng thức) 10 Message (Thông điệp) :Form ThemMonHoc( ) Ket qua Biểu mẩu tra cứu thông tin hệ thống Là phƣơng thức đối tƣợng bên phải đƣợc yêu cầu đối tƣợng bên trái Một thông báo từ đối tƣợng bên phải trả cho đối tƣợng bên trái Trang Hình 51: Giao diện CBTG – Chia nhóm Trang 72 Chương IV: TỔNG KẾT I Các nội dung thực đƣợc 1) Cán quản lý ngành Lập kế hoạch giảng dạy Xem kế hoạch giảng dạy Xóa học phần khỏi kế hoạch giảng dạy Thêm học phần vào kế hoạch giảng dạy 2) Cán quản lý cán giảng dạy Phân công cán giảng dạy Xóa phân cơng cán giảng dạy 3) Cán giảng dạy Xem, in ấn phân công giảng dạy Thống kê số chuẩn giảng dạy 4) Quản trị viên hệ thống Thêm, xóa, cập nhật thơng tin cán Thêm, xóa, cập nhật thời gian biểu Cập nhật hệ số qui đổi chuẩn 5) Cán tách/ghép nhóm, lớp học phần Xem kế hoạch giảng dạy từ Bộ môn/Khoa Tách lớp học phần Ghép lớp học phần Hủy lớp học phần Tách nhóm Hủy nhóm II Hƣớng phát triển Tiếp tục hồn thành chức chƣa hoàn thành Sử dụng kỹ thuật Ajax giúp hệ thống hoạt động nhanh chóng, hiệu Tiếp tục phân tích nghiên cứu qui trình phân cơng giảng dạy Bộ mơn/Khoa kỹ để xây dựng hồn chỉnh hệ thống cho thuận tiện với ngƣời dùng, giúp cho hệ thống đƣợc vào hoạt động thực tế III Hạn chế Giao diện hệ thống chức chƣa thật phù hợp với ngƣời dùng Chƣa áp dụng công nghệ vào hệ thống Trang 73 IV Một số biểu mẩu Biểu mẩu kế hoạch giảng dạy Biểu mẩu 1: Biểu mẩu kế hoạch giảng dạy Trang 74 Phần 3: PHỤ LỤC Chương I: ASP.NET MVC I ASP.NET MVC ASP.NET MVC 2(Model-View-Controller) công nghệ Microsoft cho việc xây dựng ứng dụng web Mặc dù ASP.NET MVC công nghệ nhƣng có số trang web lớn xây dựng thành công đƣợc xây dựng framework chẳng hạn StackOverflow.com CodePlex.com ASP.NET MVC hỗ trợ xây dựng ứng dụng web đƣợc dễ dàng việc trì mở rộng theo thời gian II Giới thiệu tổng quan Kiến trúc Model-View-Controller (MVC) tách ứng dụng thành ba thành phần chính: model, view, controller MVC framework nhẹ nhàng, hiệu (so với Web Form) đƣợc tích hợp sẳn cơng cụ có chẳng hạn nhƣ trang site.Master MVC đƣợc định nghĩa không gian tên System.Web.Mvc hỗ trợ phần không gian tên System.Web MVC framework bao gồm thành phần sau: Hình 52: Mơ hình hoạt động MVC Models: Tầng thực thi truy xuất cập nhật liệu cho toàn ứng dụng Views: Tầng hiển thị giao diện ngƣời dùng, hiển thị thông tin tầng controller truyền qua Controllers: Tầng điều khiển tƣơng tác ngƣời dùng, làm việc trực tiếp với model cuối truyền liệu cho tầng view để hiển thị Trong ứng dụng web MVC tầng view phụ trách hiển thị thông tin, controller chịu trách nhiện quản lý liệu vào tƣơng tác ngƣời dùng Ví dụ: tầng controller nhận liệu từ ngƣời dùng, sau truyền cho model, model thực truy vấn trả kết cho controller, sau hiển thị lên giao diện ngƣời dùng hay tầng view Trang 75 Mơ hình MVC có tầng tách biệt điều thuận tiện cho việc phát triển song song ứng dụng Ví dụ nhƣ: ngƣời phát triển view, ngƣời phát triển tâng controller, ngƣời phát triển tâng model, sau tích hợp tích hợp tầng lại với III Các tính MVC framework MVC framework cung cấp tính sau: Chạy thử nghiệm ứng dụng nhanh chóng linh hoạt Bạn sử dụng chƣơng trình thử nghiệm tƣơng thích với NET Framework Khả thêm module: thiết kế nhiều cơng cụ riêng thực thi chúng ứng dụng ASP.NET MVC cách dễ dàng Công cụ tham chiếu địa URL: ASP.NET MVC có chế định tuyến địa URL đƣờng liên kết không cần phải thêm phần mở rộng file đƣợc liên kết tới Hỗ trợ ASP.NET page (.aspx files), user control (.ascx files), and master page (.master files) để khơng phải tải lại tồn trang web Hỗ trợ tồn cơng cụ có ASP.NET ASP.NET MVC cung cấp tính chứng thực Windows, Form, URL authorization, vai trò ngƣời dùng, phiên làm việc (session), profile,… IV Những thuận lợi ASP.NET MVC Nó làm dễ dàng cơng việc quản lý code vào tầng theo kiến trúc tầng: model, view, controller Có chế định tuyến hiệu Hỗ trợ công cụ “test-driven”: chạy thử kiểm tra lỗi ứng dụng V Yêu cầu cài đặt Để xây dựng ứng dụng web ASP.NET MVC cần phải cài đặt công cụ sau: Microsoft Visual Web Developer 2008 Service Pack Microsoft Visual Studio 2008 Service Pack 1: Cung cấp môi trƣờng tạo ứng dụng bao gồm tùy chọn cho việc cài đặt Microsoft SQL Server Express Microsoft NET Framework 3.5 Service Pack 1: cung cấp Microsoft ASP.NET framework Microsoft ASP.NET MVC 1.0 phiên Trang 76 Chương II: SƠ LƢỢC VỀ LINQ TO SQL I Giới thiệu chung Khi tảng Microsoft.NET với ngơn ngữ hỗ trợ nhƣ C# VB trƣởng thành, ngƣời ta bắt đầu nhận thấy lĩnh vực rắc rối mà nhà phát triển phải đối mặt truy xuất liệu từ nguồn khác Đặc biệt việc truy xuất xử lý database XML thƣờng cồng kềnh phức tạp tình tốt nhất, trở nên nguồn phát sinh vấn đề kịch xấu II Linq gì? Hình 53 Kiến trúc Visual C# LINQ3 (Language Integrated Query) tính cốt lõi NET Framework, đƣợc hỗ trợ đầy đủ ngơn ngữ C# VB LINQ có dải rộng ứng dụng tiềm Nói cách đơn giản, cung cấp mơ hình mang tính khai báo cho việc nhận xử lý liệu cho phép ta sử dụng cú pháp với nhiều nguồn liệu khác Nguyên lý thống nằm dƣới ứng dụng LINQ nhấn mạnh đến lập trình khai báo so với lập trình chức – nói cách khác, đoạn code bạn phát biểu kết mà muốn thay chuỗi bƣớc để đạt đƣợc kết Ở mức lý tƣởng, điều thúc đẩy lập trình viên tập trung vào business logic cho LINQ nhiều tự để tự động hóa tác vụ cấp thấp nhƣ tối ƣu cách thực chúng Hiện LINQ đƣợc tích hợp net framework 3.0 trở sau III Tại cần sử dụng Linq Quy luật lập trình liệu phải nằm nhớ Do cần liệu phải dùng cách để đƣa liệu vào nhớ (đọc tập tin Trang 77 text, truy vấn từ sở liệu, ) Trong môi trƣờng NET, liệu nhớ thƣờng đƣợc thể dạng đối tƣợng trƣớc LINQ, khơng có cách để móc nối đối tƣợng hay thực thao tác truy vấn LINQ giải pháp cho vấn đề Trƣớc đây, cách phổ biến để ứng dụng lấy liệu từ hệ sở liệu CSDL sử dụng SQL(5) SQL có cú pháp khác với ngơn ngữ lập trình phổ dụng nhƣ C# VB.NET, bạn phải nhọc công "hàn gắn" hai thực thể khác biệt với dự án phần mềm LINQ đời để giảm gánh nặng thao tác "hàn gắn" nhiều ngôn ngữ khác (4) Một vấn đề khác với SQL dùng để truy vấn liệu CSDL dạng quan hệ Nếu muốn truy cập liệu XML hay dạng khác (nhƣ trang HTML, email ), bạn lại phải sử dụng cú pháp truy vấn khác (XPath/XQuery) Lập trình CSDL khơng giống nhƣ ngơn ngữ lập trình, hầu hết SQL thực thi đoạn mã chƣơng trình thực thi lỗi thƣờng khó phát rõ khó việc quản lý lỗi xảy Vấn đề cú pháp truy vấn : trƣớc có LINQ chƣa có cú pháp chung cho truy vấn liệu từ nguồn khác Với LINQ cung cấp cách để truy cập liệu từ nguồn liệu với cú pháp giống IV Các thành phần Linq LINQ to Objects: API đại diện cho tập standard query operators (SQOs) thực truy vấn liệu đối tƣợng dĩ nhiên chạy, nắm RAM máy LINQ to ADO.NET: Làm việc với CSDL quan hệ Nó gồm phần: LINQ to SQL dùng truy vấn liệu CSDL quan hệ nhƣ MS SQL Server Nó cho phép mơn hình hóa sở liệu dùng lớp NET Sau truy vấn sở liệu (CSDL) dùng LINQ, nhƣ cập nhật/thêm/xóa liệu từ LINQ to SQL hỗ trợ đầy đủ transaction, view stored procedure (SP) Nó cung cấp cách dễ dàng để thêm khả kiểm tra tính hợp lệ liệu quy tắc vào mơ hình liệu LINQ to DataSet hỗ trợ truy vấn liệu thông qua ADO.NET với đối tƣợng DataSet DataTable LINQ to XML: Cung cấp số đặc tính để làm việc truy vấn tài liệu XML LINQ to Entities giải pháp Object-Relational Mapping (ORM) Microsoft cho phép lập trình viên sử dụng Entities (chức ADO.NET 3.0) để định nghĩa kiến trúc truy vấn Trang 78 V Mơ hình hóa CSDL dùng LINQ to SQL Visual Studio tích hợp thêm trình thiết kế LINQ to SQL nhƣ cơng cụ dễ dàng cho việc mơ hình hóa cách trực quan CSDL dùng LINQ to SQL VI Tìm hiểu lớp DataContext 1) Tạo mơ hình liệu LINQ to SQL Bạn thêm mơ hình liệu LINQ to SQL dự án ASP.NET, Class Library hay Windows cách dùng tùy chọn “Add New Item” bên Visual Studio chọn “LINQ to SQL”: Đây ví dụ sử dụng sở liệu Northwind Hình 54: Tạo mơ hình liệu (Linq to SQL) Việc chọn mục “LINQ to SQL” khởi chạy LINQ to SQL designer, cho phép bạn mơ hình hóa lớp mà biểu diễn CSDL quan hệ Nó tạo lớp kiểu “DataContext”, có thuộc tính để biểu diễn bảng mà mơ hình hóa CSDL, nhƣ phƣơng thức cho Stored Procedure mà mơ hình hóa Lớp DataContext thành phần trung tâm mơ hình, tồn thao tác truy vấn cập nhật liệu đƣợc thực thông qua lớp Trang 79 Dƣới ảnh chụp hình sổ thiết kế LINQ to SQL, mà bạn thấy tạo mơ hình liệu LINQ to SQL: Hình 55: Cửa sổ thiết kế Linq to SQL 2) Các lớp thực thể LINQ to SQL cho phép bạn mơ hình hóa lớp ánh xạ vào CSDL Các lớp thƣờng đƣợc “Entity Class” (lớp thực thể) instance thƣờng đƣợc gọi “Entity” (thực thể) Các lớp entity ánh xạ vào bảng bên CSDL Các thuộc tính lớp thơng thƣờng ánh xạ vào cột bảng Mỗi instance lớp thực thể biểu diễn dịng bảng Khơng giống nhƣ chức DataSet/TableAdapter có VS 2005, dùng LINQ to SQL designer, bạn không cần câu truy vấn SQL đƣợc dùng để tạo mơ hình lớp truy xuất liệu Thay vào đó, bạn tập trung chủ yếu vào việc định nghĩa lớp thực thể, cách chúng ánh xạ vào CSDL, mối quan hệ chúng Trình LINQ to SQL cụ thể mà bạn dùng đảm bảo việc sinh lệnh SQL thích hợp vào lúc chạy bạn tƣơng tác làm việc với thực thể liệu Bạn dùng cú pháp truy vấn LINQ để cách bạn muốn truy vấn liệu 3) Tạo lớp thực thể từ CSDL Mở CSDL cửa sổ Server Explorer bên Visual Studio, chọn table view mà bạn muốn mơ hình hóa, kéo thả chúng lên sổ LINQ to SQL designer Trang 80 Hình 56: Tạo lớp thực thể CSDL Bạn đƣợc kết nhƣ sau: Trang 81 Hình 57: Trình thiết kế Linq to SQL mơ hình hóa bảng 4) Quan hệ thực thể Khi bạn kéo thả đối tƣợng từ Server Explorer lên cửa sổ LINQ to SQL designer, VS tự động xác định mối quan hệ primary key/foreign key đối tƣợng, tự động tạo quan hệ lớp thực thể khác mà tạo Ví dụ, bạn thêm hai bảng Products Categories từ Northwind lên cửa sổ LINQ to SQL, bạn thấy mội mối quan hệ nhiều chúng (đƣợc biểu diễn mũi tên sổ soạn thảo): Trang 82 Hình 58: Quan hệ thực thể Mối quan hệ làm lớp thực thể Product có thêm thuộc tính Category, bạn dùng để truy cập vào thực thể Category Product Nó làm lớp Category có thêm thuộc tính “Products”, tập hợp cho phép bạn lấy tất Product có Category Hình 59: Thể mối quan hệ thực thể 5) Ví dụ sử dụng Linq: Đoạn lệnh dƣới dùng cú pháp LINQ để lấy tập IEnumerable đối tƣợng Product Các sản phẩm đƣợc lấy phải thuộc phân loại “Beverages”: Trang 83 Hình 60: Sử dụng Linq – lấy danh sách sản phẩm Đoạn lệnh dƣới cho thấy cách lấy sản phẩm, cập nhật lại giá tiền lƣu lại CSDL Hình 61: Sử dụng Linq – lấy cập nhật thông tin sản phẩm Đoạn mã sau biểu diễn cách tạo phân loại mới, tạo hai sản phẩm đƣa chúng vào phân loại tạo Cả ba sau đƣợc đƣa vào sở liệu Hình 62: Sử dụng Linq – cập nhật liệu quan hệ – nhiều Trang 84 (Add thay đổi InsertOnSubmit phiên tại) Đoạn mã sau biểu diễn cách xóa tất sản phẩm Toy khỏi CSDL: Hình 63: : Sử dụng Linq – Xóa sản phẩm theo tên sản phẩm (RemoveAll thay đổi DeleteAllOnSubmit phiên tại) VII LINQ hoạt động nào? Các bƣớc sử dụng LINQ: Để sử dụng LINQ, bạn tạo biểu thức LINQ Giá trị trả từ biểu thức LINQ đối tƣợng iterator thực IEnumerable Khi bạn lặp qua đối tƣợng iterator, LINQ thực thực công việc Cơ chế đƣợc gọi Deferred Execution Vậy LINQ thực thi biểu thức nhƣ nào? Câu trả lời phụ thuộc vào loại liệu mà bạn truy vấn Ví dụ nhƣ LINQ to SQL chuyển biểu thức LINQ thành lệnh sở liệu, với LINQ to Objects, chuyện đơn giản nhiều Chẳng hạn nhƣ ví dụ trên, LINQ thực sử dụng vòng lặp foreach để quét qua tập hợp, Mặc dù điều nghe khơng ấn tƣợng, lợi ích LINQ nằm chỗ mang đến cách linh động để định nghĩa câu truy vấn áp dụng đƣợc cho nhiều nguồn liệu khác nhau, bao gồm tập hợp nhớ, XML, Dataset… Trang 85 i) Tài liệu tham khảo http://www.docjax.com http://tech.agu.edu.vn http://www.telerik.com http://ncoreteam.spaces.live.com Tô Thúy Nga – Trần Văn Giàu – Huỳnh Thị Huỳnh Trân 2008 Thực tập cuối khóa Khoa KTCN-MT Trƣờng Đại học An Giang Lê Quang Thiều – Lê Chí Tâm 2009 Thực tập cuối khóa Khoa KTCN-MT Trƣờng Đại học An Giang Trần Thị Huế - Trƣơng Thị Ngọc Nhung – Nguyễn Phú Quốc 2009 Thực tập cuối khóa Khoa KTCN-MT Trƣờng Đại học An Giang Lâm Quang Thiệp, Lê Viết Khuyến (2003) Giáo dục học đại học Chƣơng trình qui trình đào tạo đại học trang 149-178 Khoa Sƣ phạm, Đại học Quốc gia Hà Nội Kỹ thuật xây dựng ứng dụng ASP.NET (tập 1) – Nguyễn Văn Lân (chủ biên), Phƣơng Lan (hiệu đính) Kỹ thuật xây dựng ứng dụng ASP.NET (tập 2) – Nguyễn Văn Lân (chủ biên), Phƣơng Lan (hiệu đính) Thiều Thanh Quang Phú (5/2008) Khóa luận tốt nghiệp Đại học ngành Cử nhân Tin học Trƣờng Đại học An Giang Lê Hồng Nhã (5/2008) Khóa luận tốt nghiệp Đại học ngành Cử nhân Tin học Trƣờng Đại học An Giang Lâm Quang Thiệp , Lê Viết Khuyến, 2003 Model-View-Controller LINQ: Language Integrated Query CSDL: Cơ sở liệu SQL: Structure Query Language - ngôn ngữ truy vấn cấu trúc Trang 86 ... trị Hệ thống thông tin: Hệ thống website hỗ trợ lập kế hoạch phân cơng giảng dạy theo hệ thống tín trƣờng Đại học An Giang Ứng dụng: Website hỗ trợ lập kế hoạch phân công giảng dạy theo hệ thống. .. 02 Hệ thống thông tin: Hệ thống website hỗ trợ lập kế hoạch phân cơng giảng dạy theo hệ thống tín trƣờng Đại học An Giang Ứng dụng: Website hỗ trợ lập kế hoạch phân công giảng dạy theo hệ thống. .. dụng web hỗ trợ lập kế hoạch phân cơng giảng dạy theo hệ thống tín trƣờng Đại Học An Giang? ?? Trang TÓM TẮT NỘI DUNG Tên đề tài: Xây dựng ứng dụng web hỗ trợ lập kế hoạch phân công giảng dạy theo