Công nghệ thông tin đóng vai trò quan trọng đối với sự phát triển của xã hội trong thời đại ngày nay. Nó đã trở thành nhân tố quan trọng, là cầu nối trao đổi giữa các thành phần của xã hội toàn cầu, của mọi vấn đề. Với sự trợ giúp của máy tính và hệ thống máy tính, con người đã nâng cao năng suất lao động và tự động hoá ngày càng hiệu quả hơn. Việc đưa ứng dụng công nghệ thông tin vào quá trình tự động hóa trong sản xuất kinh doanh là vấn đề đã, đang và sẽ luôn được quan tâm. Bởi lẽ, công nghệ thông tin có vai trò rất lớn trong các hoạt động kinh tế, sản xuất kinh doanh, bán hàng, xúc tiến thương mại, quản trị doanh nghiệp… Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở thành một công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu. Đứng trước sự bùng nổ thông tin, các tổ chức và doanh nghiệp đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống thông tin của mình nhằm tin học hóa các hoạt động tác nghiệp của đơn vị mình. Mức độ hoàn thiện tùy thuộc vào quá trình phân tích và thiết kế hệ thống. Trong đó việc quản lý thông tin trong ngành giáo dục là rất cần thiết. Hiện nay, có nhiều trường Cao đẳng, Đại học được thành lập thu hút lượng sinh viên đáng kể, trong đó có sinh viên ở các Tỉnh hoặc Thành phố khác tham gia học tại trường. Vì vậy nhu cầu chỗ ở rất cần thiết và được nhiều phụ huynh quan tâm, cân nhắc để lựa chọn cho con em mình. Có rất nhiều nhà trọ được mở ra nhưng chi phí lại quá cao và an ninh không được đảm bảo. Chính vì thế ký túc xá là lựa chọn hàng đầu của nhiều sinh viên. Điều này dẫn đến việc bố trí, sắp xếp chỗ ở và công tác quản lý nội trú là rất khó khăn. Tuy nhiên phần lớn các thủ tục xét vào ở nội trú như: tiếp nhận hồ sơ sinh viên xin xét vào ở nội trú của trường, thu lệ phí đăng ký, hướng dẫn các thủ tục cần thiết (các loại giấy tờ ưu tiên), thanh toán chi phí điện, nước, ký hợp đồng với ban quản lý hay đăng tải các mảng thông tin đều được thực hiện một cách thủ công dẫn đến việc mất thời gian và tốn kém chi phí nhưng hiệu quả không cao. Riêng đối với trường Đại học Trà Vinh thì đó cũng là vấn đề bất cập vì chưa có được website quản lý ký túc xá dành cho sinh viên nội trú trong khi đều này ngày càng rất được quan tâm. Đó cũng chính là lý do tôi chọn đề tài: XÂY DỰNG WEBSITE QUẢN LÝ KÝ TÚC XÁ TRƯỜNG ĐẠI HỌC TRÀ VINH làm chủ đề nghiên cứu cho khóa luận tốt nghiệp của mình.
Trang 1TRƯỜNG ĐẠI HỌC TRÀ VINH KHOA KỸ THUẬT VÀ CÔNG NGHỆ
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG WEBSITE QUẢN LÝ KÝ TÚC XÁ
TRƯỜNG ĐẠI HỌC TRÀ VINH
Giảng viên hướng dẫn: ThS NGUYỄN KHẮC QUỐC
Sinh viên thực hiện: TRANG PHƯỢNG NGÂN
Mã số sinh viên: 110108321
Lớp: DA08TTB
Khoá: 2008-2012
Trà Vinh, tháng 8 năm 2012
Trang 2LỜI MỞ ĐẦU
Trường Đại học Trà Vinh, tiền thân là Trường Cao đẳng Cộng đồng Trà Vinh.Trải qua gần 10 năm hình thành và phát triển, Trường đang dần khẳng định quy môcũng như chất lượng đào tạo trong khu vực Đồng bằng sông Cửu Long Từ con số
200 sinh viên của khóa đầu tiên – tháng 7/2002, đến nay số sinh viên của Trường
đã tăng lên khoảng trên 20.000 sinh viên thuộc các ngành nghề đào tạo khác nhau
Do số lượng học viên khá đông nên trường chuẩn bị trang bị ký túc xá với số lượng10.500 chỗ dành cho khu 1 và đã xây dựng 792 chỗ dành cho khu 4 Mỗi khu chiathành 3 dãy gồm 1 dãy Nam, 2 dãy Nữ tiện cho học viên lựa chọn, mỗi dãy có 11phòng, 1 phòng chứa tối đa 8 học viên Chính vì vậy tôi đã chọn đề tài “Xây dựngwebsite quản lý ký túc xá trường Đại học Trà Vinh”, giúp sinh viên đăng ký dễdàng trong việc vào ở ký túc xá và công việc quản lý được thuận tiện hơn
Khóa luận tốt nghiệp gồm 5 chương:
- Chương 1: Đặt vấn đề
- Chương 2: Cơ sở lý thuyết
- Chương 3: Phân tích - thiết kế hệ thống
- Chương 4: Cài đặt - thử nghiệm
- Chương 5: Kết luận và hướng phát triển
Mặc dù bản thân đã cố gắng hoàn thành khóa luận trong phạm vi và khả năngcho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót Tôi rất mong nhậnđược sự thông cảm, góp ý và tận tình chỉ bảo của quý Thầy Cô cùng các bạn
Trang 3LỜI CẢM ƠN
Trong suốt thời gian làm đồ án tốt nghiệp, tôi nhận được rất nhiều sự giúp đỡ Tôi xin chân thành cảm ơn Khoa Kỹ thuật Công nghệ đã tạo điều kiện thuận lợicho chúng tôi học tập và thực hiện đề tài tốt nghiệp này
Tôi xin tỏ lòng biết ơn sâu sắc đến Thầy Nguyễn Khắc Quốc đã tận tình hướngdẫn trong suốt quá trình viết khóa luận tốt nghiệp
Xin chân thành cảm ơn quý Thầy cô bộ môn Công nghệ Thông tin đã tận tìnhgiảng dạy, trang bị cho tôi những kiến thức quý báu trong những năm học vừa qua.Với vốn kiến thức được tiếp thu trong quá trình học không chỉ là nền tảng cho quátrình nghiên cứu khóa luận mà còn là hành trang quí báu để tôi bước vào đời mộtcách vững vàng và tự tin
Xin gửi lời cảm ơn đến gia đình và bạn bè vì đã là nguồn động viên to lớn, giúp
đỡ tôi vượt qua những khó khăn trong suốt quá trình làm khóa luận tốt nghiệp Xinchân thành cảm ơn!
Sinh viên
Trang phượng ngân
Trang 4NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Giảng viên hướng dẫn
(ký và ghi rõ họ tên)
Trang 5NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Giảng viên phản biện
(ký và ghi rõ họ tên)
Trang 6MỤC LỤC
Chương 1: ĐẶT VẤN ĐỀ 1
1.1 Lý do chọn đề tài 1
1.2 Mục đích nghiên cứu 2
1.3 Đối tượng nghiên cứu 2
1.4 Giả thiết khoa học 2
1.5 Nhiệm vụ nghiên cứu 3
1.6 Phạm vi nghiên cứu 3
1.7 Phương pháp nghiên cứu 3
1.8 Nội dung nghiên cứu 3
Chương 2: CƠ SỞ LÝ THUYẾT 5
2.1 Phân tích và thiết kế dữ liệu 5
2.1.1 Các bước tiến hành phân tích và thiết kế cơ sở dữ liệu 5
2.1.1.1 Phân tích cơ sở dữ liệu 5
2.1.1.2 Thiết kế cơ sở dữ liệu quan hệ 5
2.1.2 Mô hình thực thể kết hợp 5
2.1.2.1 Mục đích của việc xây dựng mô hình 5
2.1.2.2 Các thành phần của mô hình thực thể kết hợp 6
2.1.2.3 Xây dựng mô hình thực thể kết hợp của hệ thống 6
2.1.3 Mô hình quan hệ 8
2.1.3.1 Khái niệm về mô hình quan hệ 8
2.1.3.2 Khái niệm về mô hình quan hệ 8
2.2 Tổng quan về lập trình ứng dụng Web trong ASP.NET 9
2.2.1 Tìm hiểu các mô hình ứng dụng 9
2.2.1.1 Mô hình ứng dụng 2 tầng 9
2.2.1.2 Mô hình ứng dụng 3 tầng 10
2.2.2 Tìm hiểu về ASP.NET 11
2.2.2.1 Những ưu điểm của ASP.NET 11
2.2.2.2 Quá trình xử lý tập tin ASPX 12
Chương 3: PHÂN TÍCH - THIẾT KẾ HỆ THỐNG 13
Trang 73.1 Yêu cầu chức năng 13
3.1.1 Yêu cầu lưu trữ 13
3.1.2 Yêu cầu tra cứu 13
3.1.3 Yêu cầu tính toán 13
3.1.4 Yêu cầu kết xuất 13
3.2 Yêu cầu phi chức năng 14
3.2.1 Yêu cầu về mô hình và ngôn ngữ xây dựng phần mềm 14
3.2.2 Yêu cầu về giao diện người dùng 14
3.2.3 Yêu cầu phân quyền 14
3.2.4 Yêu cầu sao lưu dữ liệu 14
3.2.5 Yêu cầu kỹ thuật 14
3.3 Thiết kế dữ liệu 15
3.3.1 Mô hình thực thể kết hợp (ERD) 15
3.3.1.1 Mô hình 15
3.3.1.2 Danh sách các thực thể 16
3.3.1.3 Danh sách các mối kết hợp 17
3.3.1.4 Bảng mô tả các thực thể, mối kết hợp 18
3.3.2 Mô hình vật lý 25
3.3.2.1 Lược đồ cơ sở dữ liệu 25
3.3.2.2 Danh sách các bảng 27
3.3.2.3 Mô tả chi tiết các bảng 28
3.3.3 Ràng buộc toàn vẹn 29
3.3.3.1 Ràng buộc toàn vẹn có bối cảnh là một quan hệ 29
3.3.3.2 Ràng buộc toàn vẹn có bối cảnh là nhiều quan hệ 31
3.4 Thiết kế xử lý 33
3.4.1 Mô hình xử lý 33
3.4.2 Thủ tục kết nối với cơ sở dữ liệu 37
3.5 Thiết kế giao diện 38
3.5.1 Thiết kế hệ thống thực đơn 38
3.5.1.1 Thực đơn chính 38
3.5.1.2 Thực đơn ngữ cảnh 39
3.5.2 Thiết kế màn hình 41
Trang 83.5.2.1 Danh mục các màn hình 41
3.5.2.2 Mô tả chi tiết từng màn hình 44
Chương 4: CÀI ĐẶT – THỬ NGHIỆM 82
4.1 Các bước chuẩn bị 82
4.2 Dữ liệu thử nghiệm 82
4.3 Một số kết quả thử nghiệm 83
Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 91
5.1 Kết luận 91
5.1.1 Kết quả đạt được 91
5.1.2 Hạn chế 91
5.2 Hướng phát triển 91
DANH MỤC TÀI LIỆU THAM KHẢO 92
Trang 9DANH MỤC BẢNG
Bảng 1.1: So sánh sự tương ứng giữa mô hình và các bảng trong hệ quản trị cơ sở
dữ liệu 8
Bảng 3.1: Danh sách các thực thể 16
Bảng 3.2: Danh sách các mối kết hợp 17
Bảng 3.3: Mô tả thực thể QUAN_LY 18
Bảng 3.4: Mô tả thực thể DAY 18
Bảng 3.5: Mô tả thực thể LOP 18
Bảng 3.6: Mô tả thực thể THONG_BAO 19
Bảng 3.7: Mô tả thực thể LOAI_ THONGBAO 19
Bảng 3.8: Mô tả thực thể KHU 19
Bảng 3.9: Mô tả thực thể QUANLY_KHU 20
Bảng 3.10: Mô tả thực thể HOP_DONG 20
Bảng 3.11: Mô tả Thực thể PHONG 20
Bảng 3.12: Mô tả Thực thể THAN_NHAN 21
Bảng 3.13: Mô tả Thực thể GOP_Y 21
Bảng 3.14: Mô tả Thực thể TB_ThongKe 21
Bảng 3.15: Mô tả Thực thể HOA_DON_DIEN 22
Bảng 3.16: Mô tả Thực thể HOA_DON_NUOC 22
Bảng 3.17: Mô tả thực thể sinh viên 23
Bảng 3.18: Danh sách các bảng 27
Bảng 3.19: Ràng buộc trên QUAN_LY 29
Bảng 3.20: Ràng buộc trên bảng SINH_VIEN với MA_SV 29
Bảng 3.21: Ràng buộc trên bảng DAY với MA_DAY 29
Bảng 3.22: Ràng buộc trên bảng KHU với MA_KHU 30
Bảng 3.23: Ràng buộc trên bảng PHONG với MA_PHONG 30
Bảng 3.24: Ràng buộc trên bảng LOAI_THONGBAO với MA_LOAI 30
Bảng 3.25: Ràng buộc trên bảng QUANLY_KHU với MA_KHU 30
Bảng 3.26: Ràng buộc trên bảng HOP_DONG với MA_HOP_DONG 30
Trang 10Bảng 3.27: Ràng buộc trên bảng PHONG và bảng HOA_DON_DIEN 31
Bảng 3.28: Ràng buộc trên bảng PHONG và bảng HOA_DON_NUOC 31
Bảng 3.29: Ràng buộc trên bảng SINH_VIEN và bảng THAN_NHAN 31
Bảng 3.30: Ràng buộc trên bảng QUAN_LY, THONG_BAO, LOAI_THONGBAO 31
Bảng 3.31: Ràng buộc trên bảng QUAN_LY, PHONG, DAY và KHU 32
Bảng 3.32: Ràng buộc trên các bảng HOP_DONG, QUAN_LY, SINH_VIEN, LOP, PHONG 32
DANH MỤC HÌNH Hình 2.1: Mô hình 2 tầng 9
Hình 2.2: Mô hình 3 tầng 10
Hình 2.3: Quá trình thông dịch ASP.Net 11
Hình 2.4: Quá trình xử lý tập tin ASPX 12
Hình 3.1: Mô hình ERD 15
Hình 3.2: Lược đồ cơ sở dữ liệu 25
Hình 3.3: Mô hình vật lý 26
Hình 3.4: Mô hình Usecase quản lý khu 33
Hình 3.5: Mô hình Usecase người dùng 33
Hình 3.6: Mô hình Usecase Admin 34
Hình 3.7: Trang chủ người dùng 44
Hình 3.8: Giới thiệu 45
Hình 3.9: Nhân sự 46
Hình 3.10: Hướng dẫn đăng ký nội trú 46
Hình 3.11: Đăng ký nội trú 47
Hình 3.12: Xem nội dung đăng ký nội trú 47
Hình 3.13: Đăng ký thân nhân tạm trú 48
Hình 3.14: Xem nội dung bảo lãnh tạm trú 48
Hình 3.15: Xem phòng trống 49
Hình 3.16: Hướng dẫn tìm kiếm sinh viên 49
Hình 3.17: Hướng dẫn tìm kiếm phòng 50
Hình 3.18: Tìm kiếm sinh viên 50
Trang 11Hình 3.19: Tìm kiếm phòng 51
Hình 3.20: Sinh viên nợ tiền nội trú 51
Hình 3.21: Tin tức 52
Hình 3.22: Hướng dẫn thanh toán 52
Hình 3.23: Thanh toán tiền điện và nước 53
Hình 3.24: Liên hệ 54
Hình 3.25: Góp ý 54
Hình 3.26: Diễn đàn 55
Hình 3.27: Bản đồ 55
Hình 3.28: Nghe nhạc 56
Hình 3.29: Truyện cười 56
Hình 3.30: Đăng nhập 57
Hình 3.31: Quên mật khẩu 57
Hình 3.32: Thông tin mật khẩu mới 57
Hình 3.33: Trang chủ quản lý khu 58
Hình 3.34: Cập nhật hóa đơn điện 59
Hình 3.35: In hóa đơn điện 60
Hình 3.36: Danh sách chưa đóng tiền điện 60
Hình 3.37: Cập nhật hóa đơn nước 61
Hình 3.38: In hóa đơn nước 62
Hình 3.39: Danh sách chưa đóng tiền nước 62
Hình 3.40: Thêm hợp đồng 63
Hình 3.41: Cập nhật hợp đồng 64
Hình 3.42: Thêm thông báo 65
Hình 3.43: Cập nhật thông báo 66
Hình 3.44: Đổi mật khẩu 67
Hình 3.45: Hướng dẫn cập nhật sinh viên 67
Hình 3.46: Cập nhật sinh viên 68
Hình 3.47: Hướng dẫn cập nhật phòng 69
Hình 3.48: Cập nhật phòng 70
Hình 3.49: Cập nhật thân nhân 71
Hình 3.50: Thống kê sinh viên 72
Trang 12Hình 3.51: Thống kê sinh viên chưa làm hợp đồng nội trú 73
Hình 3.52: Thống kê sinh viên nợ tiền nội trú 73
Hình 3.53: Trang chủ quản trị 74
Hình 3.54: Thêm và thống kê hệ thống 75
Hình 3.55: Thêm quản lý 75
Hình 3.56: Thông tin quản lý 76
Hình 3.57: Phân quyền quản lý 76
Hình 3.58: Thêm khu 76
Hình 3.59: Thêm dãy 77
Hình 3.60: Thêm phòng 77
Hình 3.61: Thêm loại thông báo 77
Hình 3.62: Thêm và thống kê hệ thống 78
Hình 3.63: Cập nhật quản lý 78
Hình 3.64: Cập nhật khu 79
Hình 3.65: Cập nhật dãy 79
Hình 3.66: Cập nhật loại thông báo 80
Hình 3.67: Cập nhật số lượng sinh viên 80
Hình 3.68: Cập nhật giá phòng 81
Hình 3.69: Cập nhật phân quyền quản lý khu 81
Hình 4.1: Dữ liệu thử nghiệm đăng ký nội trú 83
Hình 4.2: Lỗi thông tin sinh viên đăng ký nội trú 83
Hình 4.3: Thông báo đăng ký nội trú thành công 84
Hình 4.4: Dữ liệu thử nghiệm xem thông tin đăng ký nội trú 84
Hình 4.5: Dữ liệu thử nghiệm đăng ký tạm trú 85
Hình 4.6: Lỗi thông tin sinh viên và ngày đăng ký tạm trú 85
Hình 4.7: Thông báo đăng ký tạm trú thành công 85
Hình 4.8: Dữ liệu thử nghiệm xem thông tin tạm trú 86
Hình 4.9: Dữ liệu thử nghiệm đăng ký quản lý 86
Hình 4.10: Lỗi thông tin đăng ký quản lý 86
Hình 4.11: Thông báo đăng ký quản lý thành công 87
Hình 4.12: Dữ liệu thử nghiệm xem thông tin quản lý 87
Hình 4.13: Dữ liệu thử nghiệm đăng tải thông báo 87
Trang 13Hình 4.14: Thông báo đăng tải thông tin thành công hoặc thất bại 88
Hình 4.15: Xem nội dung thông báo 88
Hình 4.16: Dữ liệu thử nghiệm góp ý 88
Hình 4.17: Thông báo góp ý thành công hoặc thất bại 89
Hình 4.18: Xem nội dung góp ý 89
Hình 4.19: Dữ liệu thử nghiệm gửi liên hệ 90
Hình 4.20: Kiểm tra thông tin liên hệ đã gửi 90
Trang 14Chương 1: ĐẶT VẤN ĐỀ
1.1 Lý do chọn đề tài
Công nghệ thông tin đóng vai trò quan trọng đối với sự phát triển của xã hộitrong thời đại ngày nay Nó đã trở thành nhân tố quan trọng, là cầu nối trao đổi giữacác thành phần của xã hội toàn cầu, của mọi vấn đề Với sự trợ giúp của máy tính và
hệ thống máy tính, con người đã nâng cao năng suất lao động và tự động hoá ngàycàng hiệu quả hơn Việc đưa ứng dụng công nghệ thông tin vào quá trình tự độnghóa trong sản xuất kinh doanh là vấn đề đã, đang và sẽ luôn được quan tâm Bởi lẽ,công nghệ thông tin có vai trò rất lớn trong các hoạt động kinh tế, sản xuất kinhdoanh, bán hàng, xúc tiến thương mại, quản trị doanh nghiệp… Mạng Internet làmột trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở thành mộtcông cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trêntoàn cầu Đứng trước sự bùng nổ thông tin, các tổ chức và doanh nghiệp đều tìmmọi biện pháp để xây dựng hoàn thiện hệ thống thông tin của mình nhằm tin họchóa các hoạt động tác nghiệp của đơn vị mình Mức độ hoàn thiện tùy thuộc vàoquá trình phân tích và thiết kế hệ thống Trong đó việc quản lý thông tin trongngành giáo dục là rất cần thiết
Hiện nay, có nhiều trường Cao đẳng, Đại học được thành lập thu hút lượng sinhviên đáng kể, trong đó có sinh viên ở các Tỉnh hoặc Thành phố khác tham gia họctại trường Vì vậy nhu cầu chỗ ở rất cần thiết và được nhiều phụ huynh quan tâm,cân nhắc để lựa chọn cho con em mình Có rất nhiều nhà trọ được mở ra nhưng chiphí lại quá cao và an ninh không được đảm bảo Chính vì thế ký túc xá là lựa chọnhàng đầu của nhiều sinh viên Điều này dẫn đến việc bố trí, sắp xếp chỗ ở và côngtác quản lý nội trú là rất khó khăn Tuy nhiên phần lớn các thủ tục xét vào ở nội trúnhư: tiếp nhận hồ sơ sinh viên xin xét vào ở nội trú của trường, thu lệ phí đăng ký,hướng dẫn các thủ tục cần thiết (các loại giấy tờ ưu tiên), thanh toán chi phí điện,nước, ký hợp đồng với ban quản lý hay đăng tải các mảng thông tin đều được thựchiện một cách thủ công dẫn đến việc mất thời gian và tốn kém chi phí nhưng hiệuquả không cao Riêng đối với trường Đại học Trà Vinh thì đó cũng là vấn đề bất cập
vì chưa có được website quản lý ký túc xá dành cho sinh viên nội trú trong khi đều
này ngày càng rất được quan tâm Đó cũng chính là lý do tôi chọn đề tài: XÂY
Trang 15DỰNG WEBSITE QUẢN LÝ KÝ TÚC XÁ TRƯỜNG ĐẠI HỌC TRÀ VINH
làm chủ đề nghiên cứu cho khóa luận tốt nghiệp của mình
1.2 Mục đích nghiên cứu
- Hỗ trợ sinh viên đăng ký phòng ở online, thanh toán tiền điện, nước…
- Cung cấp thông tin đầy đủ về ký túc xá để dễ dàng hơn trong việc tìm kiếm
- Tìm kiếm thông tin một cách chính xác về sinh viên, phòng ở, thân nhân …
- Đăng tải thông báo, tin tức có liên quan giúp người dùng luôn cập nhật đượcnhững thông tin mới nhất
- Quản lý được sinh viên nội trú trong ký túc xá theo từng khu
- Liên kết với các trang web khác như: các trang web thuộc các đơn vị liên kết,các Khoa, cổng thông tin sinh viên của trường Đại học Trà Vinh,
- Hỗ trợ sinh viên học tập và giải trí
- Người dùng có thể liên hệ được với quản trị thông qua mail hay được hỗ trợ trựctuyến qua nick chat yahoo
- Admin phải quản lý được người dùng và cán bộ quản lý
- Nâng cao số lượng người truy cập vào trang web
1.3 Đối tượng nghiên cứu
Đối tượng nghiên cứu của đồ án chủ yếu tập trung vào việc tìm hiểu cách thứcquản lý thông tin trong ký túc xá:
- Thông tin nội trú cho sinh viên
- Thông tin tạm trú cho thân nhân
- Hợp đồng nội trú
- Thanh toán chi phí nội trú (tiền điện, tiền nước, tiền phòng) theo từng tháng
- Đăng tải thông tin
- Khu, dãy, phòng ở ký túc xá
1.4 Giả thiết khoa học
Hiện nay, website quản lý ký túc xá rất cần thiết cho nhiều trường học, nhưngchưa được ứng dụng rộng rãi bởi vì việc quản lý có nhiều thông tin chưa được phântích, đánh giá một cách cụ thể Qua quá tìm hiểu và thấy được lợi ích của nó, tôimạnh dạn phân tích, xây dựng website này để ứng dụng vào khóa luận của mình
Trang 161.5 Nhiệm vụ nghiên cứu
Nhiệm vụ nghiên cứu trong đồ án này gồm 3 phần
- Cơ sở lý thuyết: Phân tích và thiết kế cơ sở dữ liệu, tìm hiểu về lập trình ứngdụng Web bằng ngôn ngữ ASP.NET
- Phân tích và thiết kế hệ thống: Yêu cầu chức năng, yêu cầu phi chức năng, thiết
kế dữ liệu, thiết kế xử lý, thiết kế giao diện, cài đặt xử lý
- Cài đặt và thử nghiệm: Chuẩn bị, dữ liệu kiểm thử và một số kết quả kiểm thử
1.6 Phạm vi nghiên cứu
Sử dụng ngôn ngữ ASP.NET để xây dựng website quản lý ký túc xá trường Đạihọc Trà Vinh Website hỗ trợ việc quản lý các sinh viên đang ở nội trú tại trường, gồmsinh viên khu 1 và khu 4
1.7 Phương pháp nghiên cứu
- Đọc tài liệu tham khảo
- Tìm hiểu ngôn ngữ ASP.NET và nghiên cứu việc sử dụng SQL Server 2008 đểxây dựng cơ sở dữ liệu
- Nghiên cứu công cụ thiết kế và lập trình web Visual Studio 2008
- Tìm hiểu, nghiên cứu việc xây dựng Web theo mô hình lớp
- Khảo sát hiện trạng, lấy yêu cầu
- Phân tích, thiết kế hệ thống
- Viết chương trình
1.8 Nội dung nghiên cứu
Từ hiện trạng và nhu cầu thực tiễn đặt ra, trường Đại học Trà Vinh cần có mộtwebsite về quản lý ký túc xá nhằm phục vụ cho việc quản lý được thuận tiện, đápứng được nhu cầu tìm kiếm thông tin một cách chính xác Khi sinh viên nào đó cónhu cầu đăng ký nội trú, bảo lãnh thân nhân tạm trú, thanh toán tiền điện, nước, tìmkiếm thông tin, góp ý… họ sẽ trực tiếp vào website để có thể thực hiện các yêu cầunày Sinh viên chỉ được vào ở ký túc xá nếu quá trình đăng ký được hội đồng xétduyệt và hợp đồng được lập có thời hạn một năm Sinh viên phải đăng ký đầy đủcác thông tin: mã sinh viên, họ tên, lớp, phòng đăng ký ở, khu ở… Mỗi sinh viênchỉ chịu sự quản lý của một khu riêng biệt Bên cạnh đó website còn hỗ trợ các quản
lý đăng tải thông tin từ ký túc xá của mỗi khu, quản lý quá trình nội trú của từngsinh viên như: thông tin sinh viên, chi phí nội trú, hợp đồng… Các quản lý cần phải
Trang 17đăng ký thông tin tài khoản của mình với nhà quản trị, sau khi có tài khoản (tênđăng nhập, mật khẩu, và các thông tin cá nhân khác như số điện thoại, địa chỉ,email…) và đăng nhập thành công thì mới thực hiện được chức năng đó Đến vớiwebsite, mọi người có thể đọc thông báo, tin tức, sự kiện, tham gia diễn đàn ký túcxá… Người dùng có thể gửi liên hệ đến quản trị hoặc giải đáp thắc mắc thông quaform liên hệ hay mục hỗ trợ trực tuyến…
Trang 18Chương 2: CƠ SỞ LÝ THUYẾT
2.1 Phân tích và thiết kế dữ liệu
Tất cả mọi hệ thống đều phải sử dụng một cơ sở dữ liệu của mình, đó có thể làmột cơ sở dữ liệu đã có hoặc một cơ sở dữ liệu được xây dựng mới Cũng có những
hệ thống sử dụng cả cơ sở dữ liệu cũ và mới, việc phân tích và thiết kế cơ sở dữ liệucho một hệ thống có thể tiến hành đồng thời với việc phân tích và thiết kế hệ thốnghoặc có thể tiến hành riêng Vấn đề đặt ra là cần xây dựng một cơ sở dữ liệu làmsao có thể giảm được tối đa sự dư thừa dữ liệu đồng thời dễ dàng khôi phục, bảo trì
và tương thích với cơ sở dữ liệu đã đó
2.1.1 Các bước tiến hành phân tích và thiết kế cơ sở dữ liệu
2.1.1.1 Phân tích cơ sở dữ liệu
Bước phân tích cơ sở dữ liệu độc lập với các hệ quản trị cơ sở dữ liệu,bước này thực hiện các công việc sau:
+ Xác định các yêu cầu về dữ liệu: Phân tích các yêu cầu dữ liệu của hệthống [1]
+ Mô hình hoá dữ liệu: Xây dựng mô hình thực thể kết hợp [1]
2.1.1.2 Thiết kế cơ sở dữ liệu quan hệ
Thiết kế cơ sở dữ liệu bao gồm:
+ Thiết kế logic cơ sở dữ liệu: độc lập với một hệ quản trị cơ sở dữ liệu
• Xác định các quan hệ: Chuyển từ mô hình thực thể kết hợp sang môhình quan hệ
• Chuẩn hoá các quan hệ: Chuẩn hoávề dạng chuẩn ít nhất là chuẩn 3NF + Thiết kế vật lý cơ sở dữ liệu: Dựa trên 1 hệ quản trị cơ sở dữ liệu cụ thể
• Xây dựng các bảng trong cơ sở dữ liệu quan hệ: Quyết định cấu trúcthực tế của các bảng lưu trữ trong mô hình quan hệ
• Hỗ trợ các cài đặt vật lý trong cơ sở dữ liệu: Cài đặt chi tiết trong hệ quảntrị cơ sở dữ liệu lựa chọn
2.1.2 Mô hình thực thể kết hợp
2.1.2.1 Mục đích của việc xây dựng mô hình
Xây dựng mô hình thực thể kết hợp nhằm các mục đích sau:
- Mô tả thế giới thực gần với quan niệm, suy nghĩ của chúng ta
Trang 19- Việc xây dựng mô hình nhằm thành lập một biểu đồ cấu trúc dữ liệu baogồm dữ liệu cần xử lý và cấu trúc nội tại của nó
2.1.2.2 Các thành phần của mô hình thực thể kết hợp
Thực thể
- Khái niệm về thực thể: Thực thể là khái niệm để chỉ một lớp các đốitượng có cùng đặc tính chung mà người ta muốn quản lý thông tin về nó Ví dụ:người dùng, bài viết [2]
- Thuộc tính của thực thể: Để mô tả thông tin về một thực thể người tathường dựa vào các đặc trưng riêng của thực thể đó Các đặc trưng đó được gọi làthuộc tính của thực thể
Thuộc tính của thực thể bao gồm các loại sau:
• Thuộc tính định danh (còn gọi là định danh thực thể, đôi khi còn gọi làthuộc tính khóa): Là một hoặc một số thuộc tính mà giá trị của nó cho phép phânbiệt các thực thể khác nhau Một thực thể bao giờ cũng được xác định một thuộctính định danh làm cơ sở để phân biệt các thể hiện cụ thể của nó
• Thuộc tính mô tả: Là các thuộc tính mà giá trị của chúng chỉ có tính mô tảcho thực thể hay kết hợp mà thôi Hầu hết các thuộc tính trong một kiểu thực thểđều là mô tả
Kết hợp và các kiểu kết hợp
Kết hợp (còn gọi là quan hệ) là sự kết hợp giữa hai hay nhiều thực thể phản ánh
sự ràng buộc trong quản lý Đặc biệt, một thực thể có thể kết hợp với chính nó màchúng ta thường gọi là tự kết hợp Giữa hai thực thể có thể có nhiều hơn một liênkết [2]
Có ba kiểu kết hợp: (1 – 1 ), ( 1 – n ), (n – n )
2.1.2.3 Xây dựng mô hình thực thể kết hợp của hệ thống
Bước 1: Xác định và định danh thực thể phải thoả mãn:
- Tên gọi là danh từ
- Có nhiều thể hiện
- Có duy nhất một định danh
- Có ít nhất một thuộc tính mô tả
Bước 2: Xác định các thuộc tính mô tả cho các thực thể cần chú ý rằng:
- Mỗi thuộc tính chỉ xuất hiện một lần trong thực thể tương ứng
Trang 20- Nếu không chắc chắn là thuộc tính hay thực thể cần tiếp tục nghiên cứu
và phân tích nó
Bước 3: Xác định mối kết hợp giữa các thực thể theo trình tự sau:
- Vẽ đường kết hợp giữa các thực thể
- Xác định loại kiểu kết hợp (1-1, 1-N, N-N)
Bước 4: Áp dụng các quy tắc chuẩn hóa để có một hình hợp lý
- Quy tắc 1 Một thực thể của một mô hình thực thể kết hợp chuyển thành
một bảng
- Quy tắc 2 Một thuộc tính của mô hình thực thể - kết hợp chuyển thành
một thuộc tính của một bảng tương ứng Ðặc biệt một KHÓA trong mô hình thựcthể - kết hợp chuyển thành KHÓA của bảng
- Quy tắc 3 Một quan hệ phụ thuộc hàm mạnh của mô hình thực thể - kết
hợp khi chuyển sang mô hình quan hệ được thực hiện như sau:
• Thực thể đích chuyển thành bảng đích theo quy tắc 2
• Thực thể nguồn chuyển thành bảng nguồn, gồm tất cả các thuộc tính của
thực thể nguồn và thuộc tính khóa của thực thể đích Thuộc tính khóa của thực thể
đích chuyển sang được xem như khóa ngoài của bảng nguồn, nghĩa là ta sẽ nhận
được một thể hiện của bảng đích tương ứng với một thể hiện của bảng nguồn từkhóa ngoài của bảng nguồn Nếu mối kết hợp phụ thuộc hàm có thuộc tính, cácthuộc tính này được đưa thêm vào bảng nguồn
- Quy tắc 4: Một mối kết hợp n - chiều ( trong trường hợp n=2 thì không
phải là phụ thuộc hàm) của mô hình thực thể - kết hợp biến thành một bảng, gồm tất
cả các khóa của các thực thể tham gia và các thuộc tính của mối kết hợp đó (nếucó) Các khóa này kết hợp thành khóa của bảng vừa được tạo ra Mỗi thực thể thamgia chuyển thành một bảng Trong trường hợp một mối kết hợp dựa trên một mốikết hợp khác thì ta có thể xem mối kết hợp có trước như một thực thể để áp dụngquy tắc trên
- Quy tắc 5: Một quan hệ tự thân sẽ biến mất hay trở thành một bảng, tùy
theo các bản số của quan hệ đó trong mô hình thực thể - kết hợp Nếu có một bản số
là (1, 1): xem quan hệ tự thân như quan hệ phụ thuộc hàm giữa hai thực thể, ápdụng quy tắc 3
Trang 212.1.3 Mô hình quan hệ
2.1.3.1 Khái niệm về mô hình quan hệ
- Các thành phần trong mô hình quan hệ gồm: Các quan hệ - các bộ - cácthuộc tính
- Tương ứng với các thành phần trong mô hình thực thể kết hợp là: Cácthực thể, các thể hiện của thực thể – các thuộc tính
- Mô hình thực thể kết hợp => Mô hình quan hệ => Các bảng trong hệquản trị cơ sở dữ liệu [2]
So sánh tương ứng giữa mô hình thực thể kết hợp, mô hình quan hệ và hệquản trị cơ sở dữ liệu chúng ta có bảng sau:
Mô hình thực thể kết hợp Mô hình quan hệ Các bảng trong hệ quản trị cơ
2.1.3.2 Khái niệm về mô hình quan hệ
- Khóa chính: Khóa chính của một quan hệ (Primary Key-PK) là một hoặcmột nhóm thuộc tính xác định duy nhất một bộ trong quan hệ Khóa chính của quan
hệ là định danh của thực thể tương ứng
- Khi chọn khóa chính cần phải xem xét các tiêu chuẩn sau: Khóa chínhphải xác định được duy nhất một bộ trong quan hệ, phải có số thuộc tính ít nhất,phải không thay đổi theo thời gian [2]
- Khóa ghép: Khóa ghép là khóa có từ hai thuộc tính trở lên
- Khóa ngoại: Đó là thuộc tính mô tả của quan hệ này nhưng đồng thời lại
là thuộc tính khóa trong quan hệ khác Một khóa ngoại được sử dụng để thiết lậpmột mối quan hệ
- Khóa giả: Là thuộc tính do con người đặt ra để làm khóa chính Thuộctính này không mô tả đặc điểm của các đối tượng quan tâm mà chỉ có tác dụng đểxác định duy nhất đối tượng đó
Các ràng buộc trong mô hình quan hệ là:
Trang 22- Ràng buộc thực thể: Là một ràng buộc trên khóa chính Nó yêu cầu khóachính phải tối thiểu, xác định duy nhất và không rỗng
- Ràng buộc tham chiếu (ràng buộc khóa ngoại): Liên quan đến tính toànvẹn của mối quan hệ tức là liên quan đến tính toàn vẹn của khóa ngoại Một ràngbuộc tham chiếu yêu cầu một giá trị khóa ngoại trong một quan hệ cần phải tồn tại
là một giá trị khóa chính trong một quan hệ khác hoặc là giá trị rỗng
- Các ràng buộc được định nghĩa bởi người dùng: Đây là các ràng buộc liênquan đến miền giá trị của dữ liệu thực tế [2]
2.2 Tổng quan về lập trình ứng dụng Web trong ASP.NET
2.2.1 Tìm hiểu các mô hình ứng dụng
2.2.1.1 Mô hình ứng dụng 2 tầng
Đây là một dạng mô hình đơn giản, khá phổ biến của một ứng dụng phântán Trong mô hình này, việc xử lý dữ liệu được thực hiện trên cơ sở dữ liệu, việcnhận và hiển thị dữ liệu được thực hiện ở màn hình
Màn hình
Hình 2.1: Mô hình 2 tầng
- Dữ liệu tập trung sẽ đảm bảo dữ liệu được nhất quán
- Dữ liệu được chia sẻ cho nhiều người dùng
- Các xử lý tra cứu và cập nhật dữ liệu được thực hiện ở cơ sở dữ liệu, việc
nhận kết quả và hiển thị phải được thực hiện ở màn hình dẫn đến khó khăn trongvấn đề bảo trì và nâng cấp
Cơ sở dữ liệu
Màn hình
Người dùng
Trang 23lý phức tạp, số người dùng tăng, mô hình 2 tầng không thể đáp ứng được.
- Mô hình 3 tầng sử dụng thêm tầng nghiệp vụ giữ nhiệm vụ tương tác giữagiao diện và cơ sở dữ liệu, giảm bớt các xử lý trên cơ sở dữ liệu, tập trung các xử lýnhận và hiển thị dữ liệu tại tầng nghiệp vụ
- Các thực thể phần mềm được tổ chức thành 3 tầng chính: Tầng giao diện,tầng nghiệp vụ, tầng dữ liệu
Tầng giao diện: Làm nhiệm vụ trình bày, hiển thị Tương tác với người sử dụng
Tầng nghiệp vụ: Thực hiện các chức năng nghiệp vụ Chứa các xử lý chính
Tầng dữ liệu: Làm nhiệm vụ lưu trữ dữ liệu Cho phép tầng nghiệp vụ có thể tương tác với cơ sở dữ liệu
Trang 24- Xử lý nhận và hiển thị dữ liệu tập trung tại tầng nghiệp vụ nên dễ quản lý,bảo trì và nâng cấp.
- Xử lý truy cập dữ liệu tập trung tại tầng dữ liệu
- Tái sử dụng
- Phải sử dụng thêm một tầng nghiệp vụ dẫn đến tăng chi phí
- Việc phát triển ứng dụng phức tạp hơn
- Phải sử dụng thêm một tầng nghiệp vụ dẫn đến tăng chi phí
- Việc phát triển ứng dụng phức tạp hơn
2.2.2 Tìm hiểu về ASP.NET
2.2.2.1 Những ưu điểm của ASP.NET
- ASP.Net cho phép chúng ta lựa chọn một trong các ngôn ngữ lập trình màchúng ta yêu thích: Visual Basic.Net, J#, C#,…
- Trang ASP.Net được biên dịch trước Thay vì phải đọc và thông dịch mỗikhi trang web được yêu cầu, ASP.Net biên dịch những trang web động thành nhữngtập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả Yếu tố này là mộtbước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP
Hình 2.3: Quá trình thông dịch ASP.Net
- ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của NetFramework, làm việc với XML, Web Server, truy cập cơ sở dữ liệu qua ADO.Net,
…
- ASP.Net sử dụng phong cách lập trình mới: Code behide Tách coderiêng, giao diện riêng giúp chúng ta dễ đọc, dễ quản lý và bảo trì
- Kiến thức lập trình giống ứng dụng trên Windows
- Hỗ trợ quản lý trạng thái của các control
- Tự động phát sinh mã HTML cho các Server Control tương ứng với từngloại Browser
Trang 25- Triển khai cài đặt.
+ Không cần lock, không cần đăng ký DLL
+ Cho phép nhiều hình thức cấu hình ứng dụng
- Hỗ trợ quản lý ứng dụng ở mức toàn cục
+ Global.aspx có nhiều sự kiện hơn
+ Quản lý session trên nhiều Server, không cần Cookies
2.2.2.2 Quá trình xử lý tập tin ASPX
Khi Web Server nhận được yêu cầu từ phía client, nó sẽ tìm kiếm tập tinđược yêu cầu thông qua chuỗi URL được gửi về, sau đó tiến hành xử lý theo sơ đồ:
Hình 1.4: Quá trình xử lý tập tin ASPX
Hình 2.4: Quá trình xử lý tập tin ASPX
Trang 26Chương 3: PHÂN TÍCH - THIẾT KẾ HỆ THỐNG
3.1 Yêu cầu chức năng
3.1.1 Yêu cầu lưu trữ
- Lưu trữ thông tin người dùng khi đăng ký nội trú, quản lý khu và Admin cậpnhật thông tin người dùng
- Lưu trữ thông tin cán bộ quản lý khi đăng ký tài khoản, Admin cập nhậtthông tin các quản lý
- Lưu trữ thông tin thân nhân khi được xin viên bảo lãnh tạm trú, quản lý khu
và Admin cập nhật thông tin thân nhân
- Lưu nội dung hợp đồng khi đã được lập, quản lý cập nhật thông tin hợp đồng
- Lưu nội dung góp ý của người dùng
- Lưu nội dung khi Admin tạo mới, cập nhật thông tin về dãy, phòng, khu
- Lưu thông tin về loại thông báo khi được thêm và cập nhật
- Lưu lại nội dung của một thông báo khi được thêm hay cập nhật
- Lưu lại nội dung khi Admin cập nhật phân quyền quản lý khu, giá điện, giánước, giá phòng, số lượng sinh viên cho phép trong một phòng
3.1.2 Yêu cầu tra cứu
- Tra cứu thông tin sinh viên theo: mã sinh viên, mã lớp, mã phòng, họ tên
- Tra cứu sinh viên nợ tiền nội trú theo: mã sinh viên, họ tên
- Tra cứu thông tin đăng ký nội trú dựa vào mã sinh viên
- Tra cứu thông tin đăng ký tạm trú dựa vào mã sinh viên bảo lãnh
- Tra cứu thông tin tài khoản của quản lý dựa vào mã quản lý
- Tra cứu phòng dựa theo các tiêu chí: mã phòng, mã dãy, tên phòng, số lượngsinh viên đăng ký ở
3.1.3 Yêu cầu tính toán
- Tính được chỉ số điện, nước tiêu thụ trong tháng
- Tính được số tiền phải trả khi sử dụng điện, nước trong tháng
- Tính được tổng số lượng sinh viên, sinh viên nam, sinh viên nữ theo từng khu
và ở cả 2 khu
3.1.4 Yêu cầu kết xuất
- Xuất hóa đơn điện khi phòng đã hoàn thành việc thanh toán tiền điện
- Xuất hóa đơn nước khi phòng đã hoàn thành việc thanh toán tiền nước
Trang 27- Xuất hợp đồng khi sinh viên đã hoàn thành thủ tục đăng ký vào ở ký túc xá.
3.2 Yêu cầu phi chức năng
3.2.1 Yêu cầu về mô hình và ngôn ngữ xây dựng phần mềm
- Sử dụng mô hình lớp, ngôn ngữ lập trình C# trong môi trường ASP.NET
- Sử dụng SQL server 2008 và Visual Studio 2008
3.2.2 Yêu cầu về giao diện người dùng
Giao diện thân thiện, bố trí hợp lý, phù hợp với các thao tác của người sửdụng Đảm bảo giúp người sử dụng thao tác nhanh và chính xác Giúp Admin dễdàng quản lý website
3.2.3 Yêu cầu phân quyền
An toàn, bảo mật, những thành viên quyền quản trị khu nào thì họ chỉ có thểquản lý những thông tin liên quan đến khu đó, những khu khác họ không có quyền
và chỉ có Giám đốc (Admin) mới có toàn quyền tất cả các khu, họ phải đăng nhậpđúng tài khoản và mật khẩu mới có thể vào để quản trị trang web
3.2.4 Yêu cầu sao lưu dữ liệu
Dữ liệu chương trình phải tối ưu hoá, nhẹ không chiếm quá nhiều không gian
bộ nhớ, tra cứu nhanh, chính xác Dữ liệu phải thường xuyên được sao lưu để đềphòng sự cố ngoài ý muốn
3.2.5 Yêu cầu kỹ thuật
- Tính tái sử dụng: có thể nâng cấp hoặc thay đổi tùy theo nhu cầu sử dụngcủa người dùng
- Tính bảo trì: có thể thay đổi một số tính năng mà không làm ảnh hưởngđến phần mềm
Trang 281,1 1,n
<pi>
Identifier_1 <pi>
GOP_Y STT_GOP_Y TIEU_DE NOI_DUNG NGAY_T HANG_NAM KY_DANH
<pi>
Identifier_1 <pi>
HOA_DON_DIEN STT_HOA_DON_DIEN CHI_SO_CU CHI_SO_MOI TIEU_T HU NGAY_THANG_NAM DA_THANH_TOAN THANH_TIEN GIA_CO_BAN
<pi>
Identifier_1 <pi>
HOA_DON_NUOC STT _HOA_DON_NUOC CHI_SO_CU CHI_SO_MOI TIEU_THU NGAY_THANG_NAM DA_THANH_TOAN THANH_TIEN GIA_CO_BAN
T EN_PHONG SO_LUONG_SV SOLUONG_CHOPHEP GIA_PHONG Identifier_1 <pi>
KHU MA_KHU
T EN_KHU DIA_CHI
<pi>
Identifier_1
TEN_TB ANH_TB NOI_DUNG NGAY_THANG_NAM Tom_Tat_ND
THUOC_DAY
THUOC_KHU QUANLY_KHU
MA_QL MA_KHU
Integer Integer
DANG_TAI
LAP
LOAI_THONGBAO MA_LOAI TEN_LOAI
<pi> Identifier_1
<pi> CO
THAN_NHAN MA_THANHNHAN TEN_THANNHAN DIA_CHI DIEN_THOAI QUAN_HE TU_NGAY DEN_NGAY
<pi>
Identifier_1
Trang 293.3.1.2 Danh sách các thực thể
1 Quản lý QUAN_LY Chứa thông tin của cán bộ quản lý và
Admin khi đăng ký tài khoản
2 Sinh viên SINH_VIEN Chứa thông tin của sinh viên khi đăng
ký nội trú
3 Thân nhân THAN_NHAN Chứa thông tin của thân nhân khi đăng
ký tạm trú
4 Khu KHU Chứa các thông tin về khu ở ký túc xá
5 Dãy DAY Chứa thông tin dãy thuộc khu nào đó
trong ký túc xá
6 Phòng PHONG Chứa thông tin của phòng thuộc dãy
nào đó trong ký túc xá
7 Lớp LOP Chứa thông tin về lớp mà sinh viên
đang ở nội trú theo học
8 Hợp đồng HOP_DONG Chứa thông tin hợp đồng khi sinh viên
làm thủ tục hợp đồng với ban quản lý
9 Thông báo THONG_BAO Chứa các thông báo, tin tức liên quan
đến ký túc xá …
10 Loại thông báo LOAI_THONGBAO Chứa mã loại thông báo khi đăng tải
thông tin ở nhiều mảng khác nhau
11 Hóa đơn điện HOA_DON_DIEN Chứa thông tin hóa đơn điện khi một
phòng đã thanh toán tiền điện
12 Hóa đơn nước HOA_DON_NUOC Chứa thông tin hóa đơn nước khi một
phòng đã thanh toán tiền nước
13 Góp ý GOP_Y Chứa các nội dung góp ý của người
dùng về ký túc xá
14 Thống kê TB_ThongKe Thống kê số người online
Bảng 3.1: Danh sách các thực thể
3.3.1.3 Danh sách các mối kết hợp
1 Đăng tải DANG_TAI QUAN_LY và Cán bộ quản
Trang 30THONG_BAO lý đăng tảithông báo.
2 Lập LAP QUAN_LY và HOP_DONG Quản lý lậphợp đồng
3 Lập cho LAP_CHO SINH_VIEN và
HOP_DONG
Hợp đồngđược lập chosinh viên
4 Đăng ký ở DANG_KY_O SINH_VIEN và PHONG
Sinh viênđăng kýphòng ở
5 Gửi GUI SINH_VIEN và GOP_Y Sinh viêngửi góp ý.
Sinh viênhọc lớp nàođó
7 Bảo lãnh BAO_LANH SINH_VIEN và THAN_NHAN
Sinh viênbảo lãnhthân nhân
8 Thanh toán THANHTOAN_DIEN PHONG và HOA_DON_DIEN
Phòng thanhtoán tiềnđiện
9 Thanh toán THANHTOAN_NUOC PHONG và HOA_DON_NUOC
Phòng thanhtoán tiềnnước
10 Thuộc dãy THUOC_DAY PHONG và DAY Phòng thuộcmột dãy nào
Bảng 3.2: Danh sách các mối kết hợp
3.3.1.4 Bảng mô tả các thực thể, mối kết hợp
Mô tả thực thể
Trang 31Thực thể QUAN_LY:
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MA_QL int Khóa chính Mỗi quản lý có một mã quản lý duy nhất
2 HO_TEN nvarchar Họ tên quản lý
3 DIEN_THOAI nvarchar Số điện thoại
4 EMAIL nvarchar Địa chỉ email
5 TEN_DANG_NHAP nvarchar Tên đăng nhập
Bảng 3.3: Mô tả thực thể QUAN_LY
Thực thể DAY:
STT Thuộc Tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MA_DAY nvarchar Khóa chính Mỗi dãy có một mã dãyduy nhất
2 TEN_DAY nvarchar Tên dãy
3 DOI_TUONG nchar Nam hoặc Nữ Đối tượng
4 MA_KHU int Khóa ngoại Mỗi dãy sẽ thuộc một khu
Bảng 3.4: Mô tả thực thể DAY
Thực thể LOP:
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MA_LOP nchar Khóa chính Mỗi lớp có một mã lớpduy nhất
2 TEN_LOP nvarchar Tên lớp
Bảng 3.5: Mô tả thực thể LOP
Thực thể THONG_BAO:
STT Thuộc Tính Kiểu dữ liệu Ràng buộc Diễn giải
Trang 321 STT_TB int Khóa chính (tăng tự động) Mỗi thông báocó một số thự tự
Mỗi thông báo
sẽ do một quản
lý đăng tải
5 NOI_DUNG ntext Nội dung củathông báo
6 NGAY_THANG_NAM datetime Ngày tháng nămđăng thông báo.
7 TOM_TAT_ND ntext Nội dung tómtắt thông báo.
8 MALOAI nvarchar Khóa ngoại Mỗi thông báothuộc một loại
thông báo
Bảng 3.6: Mô tả thực thể THONG_BAO
Thực thể LOAI_THONGBAO:
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MA_LOAI nvarchar Khóa chính Mã loại thông báo
2 TEN_LOAI nvarchar Tên loại thông báo
Bảng 3.7: Mô tả thực thể LOAI_ THONGBAO
Thực thể KHU:
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MA_KHU int Khóa chính Mỗi khu có một mã khu
duy nhất
2 TEN_KHU nvarchar Tên khu
3 DIA _CHI varchar Địa chỉ khu
Bảng 3.8: Mô tả thực thể KHU
Thực thể : QUANLY_KHU STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
Trang 332 MA_KHU int Khóa chính Mã khu
Bảng 3.9: Mô tả thực thể QUANLY_KHU
Thực thể : HOP_DONG STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MA_HOP_DONG int (tăng tự động)Khóa chính Mỗi hợp đồng sẽ cómột mã duy nhất
2 MA_QL int Khóa ngoại Mã quản lý
3 MA_SV nvarchar Khóa ngoại Mã sinh viên
4 NGAY_BAT_DAU datetime Ngày bắt đầu ở nộitrú theo hợp đồng.
5 NGAY_KET_THUC datetime Ngày kết thúc hợpđồng nội trú.
6 THANHTOAN nvarchar
Sinh viên có thểthanh toán tiền nộitrú trước 3,4,5,6tháng hoặc 1 năm
Bảng 3.10: Mô tả thực thể HOP_DONG
Thực thể : PHONG STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MA_PHONG int Khóa chính Mỗi phòng có mãphòng là duy nhất
2 MA_DAY nvarchar Khóa ngoại Mã dãy
3 TEN_PHONG nvarchar Tên Phòng
4 SOLUONG_SV int Số lượng sinh viênđăng ký ở trong một
phòng
5 SOLUONG_CHOPHEP int 8
Số lượng sinh viêncho phép tối đatrong một phòng
Bảng 3.11: Mô tả Thực thể PHONG
Thực thể : THAN_NHAN STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MA_THANHNHAN int (tăng tự động)Khóa chính Mỗi thân nhân cómột mã duy nhất
2 TEN_THANNHAN nvarchar Tên thân nhân
Trang 343 DIA_CHI nvarchar Địa chỉ
4 DIEN_THOAI nvarchar Điện thoại
5 QUAN_HE nvarchar Mối quan hệ vớisinh viên bảo lãnh
8 MA_SV nvarchar Khóa ngoại
Mỗi thân nhân đăng
ký tạm trú do mộtsinh viên bảo lãnh
Bảng 3.12: Mô tả Thực thể THAN_NHAN
Thực thể GOP_Y:
STT Thuộc Tính Kiểu dữ liệu Ràng buộc Diễn giải
1 STT_GOP_Y int Khóa chính (tăng tự động) Mỗi góp ý cómột số thứ tự.
2 MA_SV nvarchar Khóa ngoại
Mỗi góp ý domột sinh viêngóp ý
4 NOI_DUNG nvarchar Nội dung củagóp ý.
5 NGAY_THANG_NAM Datetime Ngày,tháng,
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MaTB int Khóa chính(tăng tự động) Số thứ tự của một thống kê
2 ThoiGian datetime Thời gian truy cập
3 SoTruyCap bigint Số lần truy cập
Bảng 3.14: Mô tả Thực thể TB_ThongKe
Thực thể HOA_DON_DIEN:
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 STT_HOA_DON_DIEN int Khóa chính (tăng tự động) Mỗi hóa đơn có 1số thứ tự duy nhất
2 MA_PHONG int Khóa ngoại Mỗi phòng sẽ cómột hóa đơn
Trang 353 CHI_SO_CU int Chỉ số cũ
6 NGAY_THANG_NAM datetime Ngày, tháng, nămthanh toán
7 DA_THANH_TOAN int Giá trị 0 và 1
Đã thanh toán.Giá trị 1 nếu đãthanh toán Giá trị
0 nếu chưa thanhtoán
Bảng 3.15: Mô tả Thực thể HOA_DON_DIEN
Thực thể HOA_DON_NUOC:
STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 STT_HOA_DON_NUOC int Khóa chính (tăng tự động) Mỗi hóa đơn có 1số thứ tự duy nhất
2 MA_PHONG int Khóa ngoại Mỗi phòng sẽ cómột hóa đơn.
6 NGAY_THANG_NAM datetime Ngày, tháng, nămthanh toán.
7 DA_THANH_TOAN int Giá trị 0 và 1
Đã thanh toán.Giátrị 1 nếu đã thanhtoán Giá trị 0 nếuchưa thanh toán
Bảng 3.16: Mô tả Thực thể HOA_DON_NUOC
Thực thể : SINH_VIEN STT Thuộc tính Kiểu dữ liệu Ràng buộc Diễn giải
1 MA_SV int Khóa chính Mỗi Sinh viên có một mã sinhviên duy nhất
2 MA_LOP nchar Khóa ngoại Mã lớp
Trang 363 MA_PHONG int Khóa ngoại Mã phòng
4 HO_TEN nvarchar Họ tên sinh viên
5 GIOI_TINH nvarchar Nam hoặc Nữ Giới tính
6 NAM_SINH datetime Năm sinh
7 QUE_QUAN nvarchar Quê quán
8 DIEN_THOAI nvarchar Điện thoại
10 TON_TAI int 0 hoặc 1
Tồn tại (Giá trị 0 nếu sinh viênđăng ký ở nhưng chưa làm hợpđồng, giá trị 1 nếu sinh viên đã
có hợp đồng ở ký túc xá)
Bảng 3.17: Mô tả thực thể sinh viên
Mô tả mối kết hợp
- Mối kết hợp “DANG_TAI” giữa thực thể QUAN_LY và thực thể THONG_BAO:
+ QUAN_LY (1, n): Một quản lý đăng tải nhiều thông báo
+ THONG_BAO (1, 1): Một thông báo chỉ do một quản lý đăng tải
- Mối kết hợp “LAP” giữa thực thể QUAN_LY và thực thể HOP_DONG:
+ QUAN_LY (1, n): Một cán bộ quản lý được phép lập nhiều hợp đồng
+ HOP_DONG (1, 1): Một hợp đồng chỉ được lập bởi một quản lý
- Mối kết hợp “LAP_CHO” giữa thực thể HOP_DONG và thực thể SINH_VIEN:+ HOP_DONG (1, 1): Một hợp đồng được lập cho một sinh viên
+ SINH_VIEN (1, 1): Một sinh viên chỉ được cán bộ quản lý lập cho một hợpđồng duy nhất trong một năm
- Mối kết hợp “DANG_KY_O” giữa thực thể SINH_VIEN và thực thể PHONG: + SINH_VIEN(1, 1): Một sinh viên chỉ được phép đăng ký ở một phòng trong
ký túc xá
+ PHONG (1, n): Một phòng có nhiều sinh viên đăng ký ở
- Mối kết hợp “GUI” giữa thực thể SINH_VIEN và thực thể GOP_Y:
+ SINH_VIEN (1, n): Một sinh viên gửi nhiều góp ý
+ GOP_Y (1, 1): Một góp ý chỉ thuộc một sinh viên gửi
- Mối kết hợp “HOC” giữa thực thể SINH_VIEN và thực thể LOP:
+ SINH_VIEN (1, 1): Một sinh viên chỉ theo học một lớp
+ LOP (1, n): Một lớp có nhiều sinh viên học
Trang 37- Mối kết hợp “BAO_LANH” giữa thực thể SINH_VIEN và thực thểTHAN_NHAN:
+ SINH_VIEN (1, n): Một sinh viên có thể bảo lãnh nhiều thân nhân
+ THAN_NHAN (1, 1): Một thân nhân được bảo lãnh bởi một sinh viên
- Mối kết hợp “THANHTOAN_DIEN” giữa thực thể PHONG và thực thểHOA_DON_DIEN:
+ PHONG (1, n): Một phòng thanh toán một hoặc nhiều hóa đơn điện
+ HOA_DON_DIEN (1, 1): Một hóa đơn điện chỉ thuộc một phòng thanh toán
- Mối kết hợp “THANHTOAN_NUOC” giữa thực thể PHONG và thực thểHOA_DON_NUOC:
+ PHONG (1, n): Một phòng thanh toán một hoặc nhiều hóa đơn nước
+ HOA_DON_NUOC (1, 1): Một hóa đơn nước chỉ thuộc một phòng thanh toán
- Mối kết hợp “THUOC_DAY” giữa thực thể PHONG và thực thể DAY:
+ PHONG (1, 1): Một phòng chỉ thuộc một dãy
+ DAY (1, n): Một dãy có nhiều phòng
- Trong mối kết hợp “THUOC_KHU” giữa thực thể DAY và thực thể KHU:
+ DAY (1, 1): Một dãy chỉ thuộc một khu
+ KHU (1, n): Một khu có nhiều dãy
- Mối kết hợp “CO” giữa thực thể LOAI_THONGBAO và thực thể THONG_BAO:+ LOAI_THONGBAO (1, n): Một loại thông báo thì có nhiều thông báo
+ THONG_BAO (1, 1): Một thông báo thuộc một loại nào đó
3.3.2 Mô hình vật lý
3.3.2.1 Lược đồ cơ sở dữ liệu
Lược đồ
Trang 38Hình 3.2: Lược đồ cơ sở dữ liệu.
Mô hình vật lý
DAY MA_DAY MA_KHU TEN_DAY DOI_TUONG
char(10) integer char(30) char(10)
<pk>
<fk>
GOP_Y STT_GOP_Y MA_SV TIEU_DE NOI_DUNG NGAY_THANG_NAM KY_DANH
integer integer char(500) char(3900) timestamp char(100)
<pk>
<fk>
HOA_DON_DIEN STT_HOA_DON_DIEN MA_PHONG CHI_SO_CU CHI_SO_MOI TIEU_THU NGAY_THANG_NAM DA_THANH_TOAN THANH_TIEN GIA_CO_BAN
integer integer integer integer integer timestamp integer numeric(8,2) numeric(8,2)
<pk>
<fk>
HOA_DON_NUOC STT_HOA_DON_NUOC MA_PHONG CHI_SO_CU CHI_SO_MOI TIEU_THU NGAY_THANG_NAM DA_THANH_TOAN THANH_TIEN GIA_CO_BAN
integer integer integer integer integer timestamp integer numeric(8,2) numeric(8,2)
integer char(10) char(30) integer integer float
<pk>
<fk3>
KHU MA_KHU TEN_KHU DIA_CHI
integer char(30) char(200)
MA_QL MA_LOAI TEN_TB ANH_TB NOI_DUNG NGAY_THANG_NAM Tom_Tat_ND
integer integer char(50) char(4000) char(50) char(4000) timestamp char(4000)
<pk>
<fk1>
<fk2>
QUANLY_KHU QUA_MA_QL KHU_MA_KHU MA_QL MA_KHU
integer integer integer integer
<pk,fk1>
<pk,fk2>
LOAI_THONGBAO MA_LOAI TEN_LOAI
char(50) char(200)
<pk>
THAN_NHAN MA_THANHNHAN MA_SV TEN_THANNHAN DIA_CHI DIEN_THOAI
integer integer char(50) char(200) char(11)
<pk>
<fk>
Trang 39Hình 3.3: Mô hình vật lý
3.3.2.2 Danh sách các bảng
1 Quản lý QUAN_LY
2 Sinh viên SINH_VIEN
3 Thân nhân THAN_NHAN
Trang 4010 Thông báo THONG_BAO
11 Loại thông báo LOAI_THONGBAO
12 Hóa đơn điện HOA_DON_DIEN
13 Hóa đơn nước HOA_DON_NUOC
15 Thống kê TB_ThongKe
Bảng 3.18: Danh sách các bảng
3.3.2.3 Mô tả chi tiết các bảng
- Bảng quản lý: Chứa thông tin của cán bộ quản lý và Admin khi đăng kýtài khoản, dữ liệu được quản lý bởi Admin
- Bảng sinh viên: Chứa thông tin của sinh viên khi đăng ký nội trú, khi sinhviên đăng ký thành công thì dữ liệu được thêm vào bảng này Thuộc tính TON_TAI
sẽ mặc định là 0, khi sinh viên hoàn tất các thủ tục hợp đồng, giá trị cập nhật lại là
1, dữ liệu được quản lý bởi cán bộ quản lý khu và Admin