TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI
KHOA CÔNG NGHỆ THÔNG TIN
------o0o------
BÁO CÁO ĐỒ ÁN TỐT NGHIỆP
Tên đề tài:
THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG WEBSITE QUẢN LÝ ĐIỂM
CỦA SINH VIÊN ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI
GIẢNG VIÊN HƯỚNG DẪN: LÊ TRUNG KIÊN
SINH VIÊN THỰC HIỆN: TRẦN SƠN TÙNG
MÃ SINH VIÊN: 69DCTT20168
LỚP: 69DCTT21
HÀ NỘI 03-2022
NHẬN XÉT CỦA GIẢNG VIÊN
2
MỤC LỤC
DANH MỤC HÌNH ẢNH
DANH MỤC BẢNG
v
viii
LỜI NĨI ĐẦU
xi
LỜI CAM ĐOAN
xii
LỜI CẢM ƠN
xiii
CHƯƠNG I
1
TỔNG QUAN
1
1.1. LÝ DO CHỌN ĐỀ TÀI
1
1.2. MỤC TIÊU CỦA ĐỀ TÀI
2
1.3. GIỚI HẠN VÀ PHẠM VI CỦA ĐỀ TÀI
2
1.4. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC
2
CHƯƠNG II
4
KIẾN THỨC NỀN TẢNG
4
2.1. CƠ SỞ LÝ THUYẾT
4
2.1.1. Cơ sở lý thuyết về phân tích thiết kế hệ thống thơng tin
4
2.1.2. Cơ sở lý thuyết về cơ sở dữ liệu
6
2.2. CÔNG CỤ SỬ DỤNG
2.2.1. Ngơn ngữ lập trình PHP
9
9
2.2.2. Cơng cụ Xampp
11
2.2.3. Cơng cụ lập trình Sublime text 3
16
CHƯƠNG III
19
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
19
3.1. KHẢO SÁT HỆ THỐNG
19
3.1.1. Giới thiệu đơn vị khảo sát
19
3.1.2. Khảo sát đơn vị
19
3.1.3. Nội dung khảo sát
22
3.1.4. Các chức năng dự kiến của bài tốn
25
3.1.5. Phát biểu bài tốn
27
3.2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
28
3
3.2.1. Biểu đồ Usecase
28
3.2.2. Biểu đồ lớp
64
3.2.3. Biểu đồ trình tự
65
3.2.4. Biểu đồ hoạt động
81
3.2.5. Biểu đồ trạng thái
113
3.3. THIẾT KẾ HỆ THỐNG
114
3.3.1. Thiết kế tổng thể
114
3.3.2. Thiết kế kiến trúc hệ thống
115
3.3.3. Thiết kế cơ sở dữ liệu
121
CHƯƠNG IV
124
XÂY DỰNG CHƯƠNG TRÌNH
124
4.1. Xây dựng hệ thống
124
4.1.1. Lưu đồ thuật tốn
124
4.1.2. Thiết kế giao diện
128
4.2. Kiểm thử chương trình
132
4.2.1. Kiểm thử hộp đen
132
4.2.2. Phương pháp kiểm thử hộp đen
134
4.2.3. Các trường hợp kiểm thử
135
HƯỚNG PHÁT TRIỂN BÀI TOÁN
154
1. Kết quả đạt được
154
2. Những hạn chế
154
3. Hướng phát triển
155
KẾT LUẬN
156
4
DANH MỤC HÌNH ẢNH
Hình 2.1. Các thành phần trong Xampp
Error! Bookmark not defined.
Hình 2.2. Lựa chọn thư mục chứa xampp
Error! Bookmark not defined.
Hình 2.3. Cách sử dụng xampp
Error! Bookmark not defined.
Hình 2.4. Cách truy cập vào xampp
Hình 2.5. Các thành phần chính trong xampp
15
15
Hình 3.1. Trường Đại học Cơng nghệ Giao thơng vận tải
defined.
Hình 3.2. Biểu đồ Usecase Tổng qt
Error! Bookmark not
29
Hình 3.3. Biểu đồ Usecase chi tiết quản lý tài khoản cá nhân
defined.
Error! Bookmark not
Hình 3.4. Biểu đồ Usecase chi tiết quản lý khoa
Error! Bookmark not defined.
Hình 3.5. Biểu đồ Usecase chi tiết quản lý lớp học
Error! Bookmark not defined.
Hình 3. 6. Biểu đồ Uescase chi tiết quản lý mơn học
Error! Bookmark not defined.
Hình 3.7. Biểu đồ Usecase chi tiết quản lý giảng viên Error! Bookmark not defined.
Hình 3.8. Biểu đồ Usecase chi tiết quản lý sinh viên
Error! Bookmark not defined.
Hình 3.9. Biểu đồ Usecase chi tiết quản lý điểm
Error! Bookmark not defined.
Hình 3.10. Biểu đồ Usecase chi tiết phân quyển
Error! Bookmark not defined.
Hình 3.11. Biểu đồ lớp
64
Hình 3.12. Biểu đồ trình tự đăng nhập
65
Hình 3.13. Biểu đồ trình tự đăng ký
65
Hình 3.14. Biểu đồ trình tự đăng xuất
66
Hình 3.15. Biểu đồ trình tự đổi mật khẩu
66
Hình 3.16. Biểu đồ trình tự thêm khoa
67
Hình 3.17. Biểu đồ trình tự sửa thơng tin khoa
67
Hình 3.18. Biểu đồ trình tự xóa khoa
68
Hình 3.19. Biểu đồ trình tự xem thơng tin chi tiết
68
Hình 3.20. Biểu đồ trình tự tìm kiếm khoa
68
Hình 3.21. Biểu đồ trình tự thêm lớp học
69
5
Hình 3.22. Biểu đồ trình tự sửa thơng tin lớp học
69
Hình 3.23. Biểu đồ trình tự xóa lớp học
70
Hình 3.24. Biểu đồ trình tự xem thơng tin chi tiết
70
Hình 3.25. Biểu đồ trình tự tìm kiếm lớp học
70
Hình 3.26. Biểu đồ trình tự thêm mơn học
71
Hình 3.27 Biểu đồ trình tự sửa thơng tin mơn học
71
Hình 3.28. Biểu đồ trình tự xóa mơn học
72
Hình 3.29. Biểu đồ trình tự xem thơng tin chi tiết
72
Hình 3.30. Biểu đồ trình tự tìm kiếm mơn học
72
Hình 3.31. Biểu đồ trình tự thêm giảng viên
73
Hình 3.32. Biểu đồ trình tự sửa thơng tin giảng viên
73
Hình 3.33. Biểu đồ trình tự xóa giảng viên
74
Hình 3.34. Biểu đồ trình tự xem thơng tin giảng viên
74
Hình 3.35. Biểu đồ trình tự tìm kiếm giảng viên
74
Hình 3.36. Biểu đồ trình tự thêm sinh viên
75
Hình 3.37. Biểu đồ trình tự sửa thơng tin sinh viên
75
Hình 3.38. Biểu đồ trình tự xóa sinh viên
76
Hình 3.39. Biểu đồ trình tự xem thơng tin chi tiết
76
Hình 3.40. Biểu đồ trình tự tìm kiếm sinh viên
76
Hình 3.41. Biểu đồ trình tự thêm điểm
77
Hình 3.42. Biểu đồ trình tự sửa thơng tin điểm
77
Hình 3.43. Biểu đồ trình tự xóa điểm
78
Hình 3.44. Biểu đồ trình tự tìm kiếm điểm
78
Hình 3.45. Biểu đồ trình tự thêm quyền
79
Hình 3.46. Biểu đồ trình tự sửa thơng tin quyền
79
Hình 3.47. Biểu đồ trình tự xóa quyền
80
Hình 3.48. Biểu đồ trình tự tìm kiếm quyền
80
Hình 3.49. Biểu đồ trình tự phân quyền
80
Hình 3.50. Biểu đồ hoạt động đăng nhập
81
Hình 3.51. Biểu đồ hoạt động đăng ký
82
Hình 3.52. Biểu đồ hoạt động đăng xuất
83
6
Hình 3.53. Biểu đồ hoạt động đổi mật khẩu
84
Hình 3.54. Biểu đồ hoạt động thêm khoa
85
Hình 3.55. Biểu đồ hoạt động sửa thơng tin khoa
86
Hình 3.56. Biểu đồ hoạt động xóa khoa
87
Hình 3.57. Biểu đồ hoạt động tìm kiếm khoa
88
Hình 3.58. Biểu đồ hoạt động thêm lớp học
89
Hình 3.59. Biểu đồ hoạt động sửa thơng tin lớp học
90
Hình 3.60. Biểu đồ hoạt động xóa lớp học
91
Hình 3.61. Biểu đồ hoạt động tìm kiếm lớp học
92
Hình 3.62. Biểu đồ hoạt động thêm lớp học
93
Hình 3.63. Biểu đồ hoạt động sửa thơng tin mơn học
94
Hình 3.64. Biểu đồ hoạt động xóa mơn học
95
Hình 3.65. Biểu đồ hoạt động tìm kiếm mơn học
96
Hình 3.66. Biểu đồ hoạt động thêm giảng viên
97
Hình 3.67. Biểu đồ hoạt động sửa thơng tin giảng viên
98
Hình 3.68. Biểu đồ hoạt động xóa giảng viên
99
Hình 3.69. Biểu đồ hoạt động tìm kiếm giảng viên
100
Hình 3.70. Biểu đồ hoạt động thêm sinh viên
101
Hình 3.71. Biểu đồ hoạt động sửa thơng tin sinh viên
102
Hình 3.72. Biểu đồ hoạt động xóa sinh viên
103
Hình 3.73. Biểu đồ hoạt động tìm kiếm sinh viên
104
Hình 3.74. Biểu đồ hoạt động thêm điểm
105
Hình 3.75. Biểu đồ hoạt động sửa thơng tin điểm
106
Hình 3.76. Biểu đồ hoạt động xóa điểm
107
Hình 3.77. Biểu đồ hoạt động tìm kiếm điểm
108
Hình 3.78. Biểu đồ hoạt động thêm quyền
109
Hình 3.79. Biểu đồ hoạt động sửa thơng tin quyền
110
Hình 3.80. Biểu đồ hoạt động xóa quyền
111
Hình 3.81. Biểu đồ hoạt động tìm kiếm quyền
112
Hình 3.82. Biểu đồ trạng thái đăng nhập
Hình 3.83. Biểu đồ trạng thái xác nhận tài khoản
Error! Bookmark not defined.
113
7
Hình 3.84. Biểu đồ thành phần bài tốn
Hình 3.85. Biểu đồ triển khai bài tốn
114
114
Hình 4.1. Lưu đồ thuật tốn Đăng nhập
124
Hình 4.2. Lưu đồ thuật tốn đăng ký
Error! Bookmark not defined.
Hình 4.3. Lưu đồ thuật tốn chức năng tìm kiếm
Error! Bookmark not defined.
Hình 4.4. Lưu đồ thuật tốn chức năng thêm
Error! Bookmark not defined.
Hình 4.5. Giao diện đăng nhập
128
Hình 4.6. Giao diện đăng ký
128
Hình 4.7. Giao diện quản lý sinh viên
129
Hình 4.8. Giao diện quản lý giảng viên
129
Hình 4.9. Giao diện quản lý điểm
130
Hình 4.10. Giao diện quản lý mơn học
130
Hình 4.11. Giao diện quản lý lớp học
131
Hình 4.12. Giao diện trang chủ sinh viên
131
DANH MỤC BẢNG
Bảng 3.1. Bảng phỏng vấn giảng viên
22
Bảng 3.2. Bảng phỏng vấn sinh viên
24
Bảng 3.3. Bảng xác định Actor và Usecase
28
Bảng 3.4. Bảng đặc tả Usecase quản lý tài khoản cá nhân
30
Bảng 3.5. Bảng Đặc tả Usecase đăng ký
30
Bảng 3.6. Bảng Đặc tả Usecase đăng nhập
32
Bảng 3.7. Bảng Đặc tả Usecase quản lý khoa
33
Bảng 3.8. Bảng Đặc tả Usecase thêm khoa
33
Bảng 3.9. Bảng Đặc tả Usecase sửa thông tin khoa
34
Bảng 3.10. Bảng Đặc tả Usecase xóa khoa
35
Bảng 3.11. Bảng Đặc tả Usecase xem thơng tin chi tiết khoa
36
Bảng 3.12. Bảng Đặc tả Usecase tìm kiếm khoa
36
Bảng 3.13. Bảng Đặc tả Usecase quản lý lớp học
37
8
Bảng 3.14. Bảng Đặc tả Usecase thêm lớp học
38
Bảng 3.15. Bảng Đặc tả Usecase sửa thông tin lớp học
39
Bảng 3.16. Bảng Đặc tả Usecase xóa lớp học
39
Bảng 3.17. Bảng Đặc tả Usecase xem thông tin chi tiết lớp học
40
Bảng 3.18. Bảng Đặc tả Usecase tìm kiếm lớp học
41
Bảng 3.19. Bảng Đặc tả Usecase quản lý môn học
42
Bảng 3.20. Bảng Đặc tả Usecase thêm môn học
42
Bảng 3.21. Đặc tả Usecase sửa thơng tin mơn học
43
Bảng 3.22. Bảng Đặc tả Usecase xóa môn học
44
Bảng 3.23. Bảng Đặc tả Usecase xem thông tin chi tiết mơn học
45
Bảng 3.24. Bảng Đặc tả Usecase tìm kiếm môn học
45
Bảng 3.25. Bảng Đặc tả Usecase quản lý giảng viên
46
Bảng 3.26. Bảng Đặc tả Usecase thêm giảng viên
47
Bảng 3.27. Bảng Đặc tả Usecase sửa thông tin giảng viên
48
Bảng 3.28. Bảng Đặc tả Usecase xóa giảng viên
48
Bảng 3.29. Bảng Đặc tả Usecase xem thông tin chi tiết giảng viên
49
Bảng 3.30. Bảng Đặc tả Usecase tìm kiếm giảng viên
50
Bảng 3.31. Bảng Đặc tả Usecase quản lý sinh viên
51
Bảng 3.32. Bảng Đặc tả Usecase thêm sinh viên
51
Bảng 3.33. Bảng Đặc tả Usecase sửa thông tin sinh viên
52
Bảng 3.34. Bảng Đặc tả Usecase xóa sinh viên
53
Bảng 3.35. Bảng Đặc tả Usecase xem thông tin chi tiết sinh viên
54
Bảng 3.36. Bảng Đặc tả Usecase tìm kiếm sinh viên
54
Bảng 3.37. Bảng Đặc tả Usecase quản lý điểm
55
Bảng 3.38. Bảng Đặc tả Usecase thêm điểm
56
Bảng 3.39. Bảng Đặc tả Usecase sửa thông tin điểm
57
Bảng 3.40. Bảng Đặc tả Usecase xóa điểm
58
Bảng 3.41. Bảng Đặc tả Usecase tìm kiếm điểm
58
Bảng 3.42. Bảng Đặc tả Usecase phân quyền
59
Bảng 3.43. Bảng Đặc tả Usecase thêm quyền
60
Bảng 3.44. Bảng Đặc tả Usecase sửa quyền
61
9
Bảng 3.45. Bảng Đặc tả Usecase xóa quyền
61
Bảng 3.46. Bảng Đặc tả Usecase tìm kiếm quyền
62
Bảng 3.47. Tầng Model MVC
115
Bảng 3.48. Tầng View MVC
116
Bảng 3.49. Tầng Controller MVC
118
Bảng 3.50. Bảng Admin (Quản lý)
121
Bảng 3.51. Bảng Class (Lớp)
121
Bảng 3.52. Bảng Mark (Điểm)
122
Bảng 3.53. Bảng Student (Sinh viên)
122
Bảng 3.54. Bảng Subject (Môn học)
123
Bảng 3.55. Bảng classSubject (Lớp học theo môn)
123
Bảng 3.56. Bảng Major (Khoa)
123
Bảng 4.1. Các trường hợp kiểm thử đăng nhập
135
Bảng 4.2. Các trường hợp kiểm thử đăng ký
137
10
LỜI NĨI ĐẦU
Cùng với sự phát triển khơng ngừng của công nghệ, các quản lý con người,
quản lý hoạt động kinh doanh đã phát triển theo, không đơn thuần chỉ cịn làm thủ
cơng mà giờ đây mọi ngành nghề đều áp dụng cách quản lý qua phần mềm,v.v. đặc
biệt trong giáo dục và đào tạo, công tác quản lý điểm sinh viên trong quá trình học tập
là rất quan trọng, phức tạp và địi hỏi độ chính xác cao. Đảm bảo mỗi sinh viên khi ra
trường hoặc đang trong quá trình rèn luyện có thể theo dõi chính xác được quá trình
học tập của mình. Trong suốt quá trình học tập, điểm quá trình của sinh viên là cơ sở
để xét duyệt học bổng, điều kiện tốt nghiệp và phân loại xếp hạng sinh viên. Do đó
cơng tác quản lý điểm sinh viên địi hỏi phải có sự thống nhất và chính xác tuyệt đối
giúp cho bộ phận quản lý sửa đổi, điều chỉnh hợp lí, kịp thời về phương pháp quản lý
và kế hoạch cho đào tạo. Bắt nguồn từ ý tưởng đó, cùng với những gợi ý của thầy Lê
Trung Kiên, em đã chọn đề tài “Xây dựng dự án phần mềm quản lý điểm học tập
sinh viên của trường đại học Công nghệ giao thông vận tải”. Do công việc quản lý
điểm cho cả một trường đại học gặp rất nhiều khó khăn vì liên quan tới số lượng lớn
sinh viên, các lớp học, số môn học… là rất lớn. Vì vậy trong khn khổ đề tài này
chúng em chỉ xin nghiên cứu và phân tích xây dựng dự án phần mềm quản lý điểm
học tập sinh viên của trường đại học Công nghệ Giao thông vận tải cơ sở Hà Nội. Hệ
thống quản lý điểm sinh viên này sẽ giúp công tác quản lý điểm Sinh viên Trường Đại
học Công nghệ Giao thông Vận tải giải quyết được những khó khăn trên và tăng tính
hiệu quả cho cơng tác quản lý.
Với sự thiếu sót về kiến thức cũng như là chưa có nhiều kinh nghiệm làm bài
tập cá nhân nên báo cáo đồ án của em cịn rất nhiều thiếu sót. Rất mong nhận được sự
đóng góp ý kiến của thầy cơ trong khoa Cơng nghệ thơng tin hỗ trợ và giúp đỡ em để
em có thể hoàn thiện đồ án với kết quả tốt nhất.
Em xin chân thành cảm ơn!
Hà Nội, ngày …. tháng …. năm 2022
Sinh viên thực hiện
11
LỜI CAM ĐOAN
Em tên là Trần Sơn Tùng, mã sinh viên 69DCTT20168 xin cam đoan rằng đồ
án tốt nghiệp “Xây dựng dự án phần mềm quản lý điểm học tập sinh viên của trường
đại học Công nghệ giao thông vận tải” được tiến hành một cách minh bạch, công khai.
Mọi thứ được dựa trên sự cố gang cũng như nỗ lực của bản thân cùng với sự giúp đỡ
không nhỏ từ giảng viên hướng dẫn. Các số liệu và kết quả nghiên cứu được đưa ra
trong đồ án là trung thực và không sao chép hay sử dụng kết quả của bất kỳ đề tài
nghiên cứu nào tương tự.
Nếu như phát hiện rằng có sự sao chép kết quả nghiên cứu của đề tài khác bản
thân em xin chịu hoàn toàn trách nhiệm.
Hà Nội, ngày 23 tháng 5 năm 2022
Sinh viên thực hiện
12
LỜI CẢM ƠN
Trong q trình làm bài có vơ vàn khó khăn, lần đầu tiên em được thực hiện
một bài báo cáo lớn cá nhân nhưng em sẽ nỗ lực hoàn thành báo cáo đồ án. Để làm
được như vậy em xin được gửi lời cảm ơn sâu sắc đến các thầy cô trong khoa Công
nghệ thông tin và đặc biệt là giảng viên Lê Trung Kiên đã hướng dẫn, giúp đỡ chúng
em trong suốt quá trình làm bài tập lớn này. Đồng thời em cũng xin chân thành cảm
ơn Ban giám hiệu nhà trường, các thầy cô trong khoa Cơng nghệ thơng tin cùng các
phịng ban nhà trường đã tạo điều kiện tốt nhất cho em trong suốt thời gian học tập và
làm đồ án tốt nghiệp này ạ. Mặc dù hoàn thành đề tài bài tập lớn trong phạm vi và khả
năng cho phép nhưng chắc chắn không tránh khỏi những thiếu sót, kính mong sự
thơng cảm và góp ý của q thầy cơ để em có thể hoàn thiện bài một cách tốt nhất.
Tiếp theo em gửi lời cảm ơn đến những người bạn đã luôn giúp đỡ, động viên,
tạo điều kiện để em hoàn thiện đồ án tốt hơn.
Em xin chân thành cảm ơn!
13
CHƯƠNG I
TỔNG QUAN
1.1. LÝ DO CHỌN ĐỀ TÀI
Công nghệ thông tin là tập hợp các phương pháp khoa học và các công cụ kỹ
thuật hiện đại, chủ yếu là kỹ thuật máy tính và viễn thơng nhằm tổ chức khai thác và
sử dụng có hiệu quả các nguồn tài nguyên thông tin phong phú, tiềm năng trong mọi
lĩnh vực hoạt động của con người và xã hội.
Ngày nay, công nghệ thơng tin phát triển nhanh chóng và ứng dụng vào tất cả
các lĩnh vực, có thể nói cơng nghệ thơng tin trở thành thước đo để đánh giá sự phát
triển của xã hội hiện đại – nơi mà con người đang từ bỏ cách làm việc thủ công, tiến
đến tin học hóa trong tất cả các lĩnh vực, để cơng việc thực hiện có hiệu quả hơn, tiết
kiệm thời gian và nhân lực hơn.
Cùng với sự phát triển không ngừng của công nghệ, các quản lý con người,
quản lý hoạt động kinh doanh đã phát triển theo, không đơn thuần chỉ cịn làm thủ cơng
mà giờ đây mọi ngành nghề đều áp dụng cách quản lý qua phần mềm, v.v. đặc biệt
trong giáo dục và đào tạo, công tác quản lý điểm sinh viên trong quá trình học tập là rất
quan trọng, phức tạp và địi hỏi độ chính xác cao. Đảm bảo mỗi sinh viên khi ra trường
hoặc đang trong q trình rèn luyện có thể theo dõi chính xác được q trình học tập
của mình.
Do cơng việc quản lý điểm cho cả một trường đại học gặp rất nhiều khó khăn
vì liên quan tới số lượng lớn sinh viên, các lớp học, số môn học, v.v. là rất lớn. Vì vậy
trong khn khổ đề tài này, em chỉ xin nghiên cứu và phân tích xây dựng dự án phần
mềm quản lý điểm học tập sinh viên của trường đại học Công nghệ Giao thông vận tải
cơ sở Hà Nội. Hệ thống quản lý điểm sinh viên này sẽ giúp công tác quản lý điểm
Sinh viên Trường Đại học Công nghệ Giao thông Vận tải giải quyết được những khó
khăn trên và tăng tính hiệu quả cho cơng tác quản lý.
Là sinh viên được trang bị những kiến thức của ngành hệ thống thông tin với
những kiến thức đã tiếp thu và vận dụng lý thuyết đó vào cơng việc thực tế nên em đã
chọn đề tài “Phân tích thiết kế hệ website quản lý điểm học tập của sinh viên trường
đại học Công nghệ giao thông vận tải” để thực hiện đồ án tốt nghiệp của mình với
mục đích nghiên cứu và xây dựng một hệ thống thơng tin có thể giúp cho sinh viên
quản lý được điểm học tập cá nhân, giảng viên có thể quản lý kết quả học tập của từng
sinh viên trong lớp, đồng thời người quản trị quản lý được danh sách lớp học, danh
1
sách sinh viên, quản lý danh sách giảng viên trong trường học, danh sách môn học và
quản lý thông tin điểm học tập.
1.2. MỤC TIÊU CỦA ĐỀ TÀI
- Xây dựng và thiết kế một hệ thống quản lý điểm học tập của sinh viên trường
đại học
- Phân tích và thiết kế hệ thống quản lý điểm học tập của sinh viên
- Đưa ra các chức năng phù hợp với đề tài
- Xây dựng cơ sở dữ liệu cho bài toán
- Thực hiện lập trình các chức năng ban đầu đã đề ra cho bài toán
- Triển khai và cài đặt chương trình trong thực tế
- Hồn thành đề tài đầy đủ theo những mục tiêu ban đầu đã đề ra
1.3. GIỚI HẠN VÀ PHẠM VI CỦA ĐỀ TÀI
Trong phạm vi đề tài này em sẽ nghiên cứu các vấn đề:
- Nghiên cứu về công tác quản lý điểm của trường đại học, đi sâu vào nghiên
cứu và phân tích một hệ thống thông tin để xây dựng ứng dụng.
- Ứng dụng được xây dựng bằng ngơn ngữ lập trình PHP, công cụ sử dụng là bộ
phần mềm Sublime text 3 và cơ sở dữ liệu xây dựng bằng phpMyadmin.
1.4. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC
Hệ thống quản lý điểm của trường đại học khi hoàn thành dự kiến đạt được các kết
quả sau:
- Phân tích hệ thống quản lý điểm theo đúng yêu cầu nghiệp vụ của nhà trường.
- Hoàn thành cài đặt phần mềm quản lý với các chức năng chính sau:
+ Cập nhật dữ liệu thơng tin cho hệ thống.
+ Thực hiện các chức năng thêm, sửa, xóa thông tin
- Thực hiện chức năng thêm thông tin sinh viên, giảng viên, khoa, lớp học, môn
học, điểm học tập, phân quyền.
- Thực hiện chức năng sửa thông tin sinh viên, giảng viên, khoa, lớp học, môn
học, điểm học tập, phân quyền.
2
- Thực hiện chức năng xóa thơng tin sinh viên, giảng viên, khoa, lớp học, môn
học, điểm học tập, phân quyền.
+ Thực hiện chức năng phân quyền
- Thực hiện phân quyền cho các đối tượng sinh viên, giảng viên bộ mơn, quản
trị viên trong hệ thống.
+ Tìm kiếm thơng tin:
- Xem tất cả thông tin của sinh viên: theo tên sinh viên, mã sinh viên, lớp, địa
chỉ, tình trạng, date, email, v.v.
- Tìm kiếm sinh viên: theo tên sinh viên, theo mã sinh viên, theo lớp học v.v.
- Tìm kiếm thơng tin khoa: theo mã khoa, tên khoa v.v.
- Tìm kiếm thông tin lớp: theo tên lớp, mã lớp, v.v.
- Tìm kiếm thơng tin giảng viên: theo tên giảng viên, mã giảng viên, v.v.
- Tìm kiếm thơng tin mơn học: theo tên môn học, mã môn học, v.v.
+ Thống kê danh sách điểm của sinh viên
Hiển thị danh sách sinh viên trong lớp
Thống kê điểm của từng sinh viên trong từng lớp
+ Quản lý điểm của từng sinh viên
- Sinh viên truy cập vào trang cá nhân để quản lý điểm học tập của bản thân
+ Hoàn thành báo cáo chi tiết đồ án tốt nghiệp.
3
CHƯƠNG II
KIẾN THỨC NỀN TẢNG
2.1. CƠ SỞ LÝ THUYẾT
2.1.1. Cơ sở lý thuyết về phân tích thiết kế hệ thống thơng tin
2.1.1.1. Phân tích thiết kế hệ thống
Trong kỹ nghệ phần mềm để sản xuất được một sản phẩm phần mềm người ta
chia quá trình phát triển sản phẩm ra nhiều giai đoạn như thu thập và phân tích yêu
cầu, phân tích và thiết kế hệ thống, phát triển (coding), kiểm thử, triển khai và bảo trì.
Trong đó, giai đoạn phân tích, thiết kế bao giờ cũng là giai đoạn khó khăn và phức tạp
nhất. Giai đoạn này giúp chúng ta hiểu rõ yêu cầu đặt ra, xác định giải pháp, mơ tả chi
tiết giải pháp.
Để phân tích và thiết kế một phần mềm thì có nhiều cách làm, một trong những
cách làm đó là xem hệ thống gồm những đối tượng sống trong đó và tương tác với
nhau. Việc mô tả được tất cả các đối tượng và sự tương tác của chúng sẽ giúp chúng ta
hiểu rõ hệ thống và cài đặt được nó.
2.1.1.2. UML
UML là ngơn ngữ mơ hình hóa hợp nhất dùng để biểu diễn hệ thống. Nói một
cách đơn giản là nó dùng để tạo ra các bản vẽ nhằm mô tả thiết kế hệ thống. Các bản
vẽ này được sử dụng để các nhóm thiết kế trao đổi với nhau cũng như dùng để thi công
hệ thống (phát triển), thuyết phục khách hàng, các nhà đầu tư v.v..
Phân tích thiết kế hệ thống hướng đối tượng cần các bản vẽ để mô tả hệ thống
được thiết kế, cịn UML là ngơn ngữ mơ tả các bản vẽ nên cần nội dung thể hiện. Do
vậy, chúng ta phân tích và thiết kế theo hướng đối tượng và sử dụng UML để biểu diễn
các thiết kế đó nên chúng thường đi đơi với nhau.
UML sử dụng để vẽ cho nhiều lĩnh vực khác nhau như phần mềm, cơ khí, xây
dựng trong phạm vi các bài viết này chúng ta chỉ nghiên cứu cách sử dụng UML cho
phân tích và thiết kế hướng đối tượng trong ngành phần mềm. Phân tích thiết kế hệ
thống hướng đối tượng sử dụng UML bao gồm các thành phần sau:
+ View (góc nhìn)
+ Diagram (bản vẽ)
+ Notations (ký hiệu)
4
+ Mechanisms (quy tắc, cơ chế)
a) View (Góc nhìn)
Mỗi góc nhìn như thầy bói xem voi, nó khơng thể hiện hết hệ thống nhưng thể
hiện rõ hệ thống ở một khía cạnh. Chính vì thế trong xây dựng có bản vẽ kiến trúc
(nhìn về mặt kiến trúc), bản vẽ kết cấu (nhìn về mặt kết cấu), bản vẽ thi cơng (nhìn về
mặt thi cơng). Trong phần mềm cũng như vậy, phân tích thiết kế hệ thống hướng đối
tượng sử dụng UML có các góc nhìn sau:
+ Use Case View: cung cấp góc nhìn về các ca sử dụng giúp chúng ta hiểu hệ
thống có gì? ai dùng và dùng nó như thế nào.
+ Logical View: cung cấp góc nhìn về cấu trúc hệ thống, xem nó được tổ chức
như thế nào. Bên trong nó có gì.
+ Process View: cung cấp góc nhìn động về hệ thống, xem các thành phần trong
hệ thống tương tác với nhau như thế nào.
+ Component View: Cũng là một góc nhìn về cấu trúc giúp chúng ta hiểu cách
phân bổ và sử dụng lại các thành phần trong hệ thống ra sao.
+ Deployment View: cung cấp góc nhìn về triển khai hệ thống, nó cũng ảnh
hưởng lớn đến kiến trúc hệ thống.
Tập hợp các góc nhìn này sẽ giúp chúng ta hiểu rõ hệ thống cần phân tích, thiết kế.
Trong hình 1 chúng ta thấy góc nhìn Use Case View nằm ở giữa và chi phối tất cả các
góc nhìn cịn lại. Chính vì thế chúng ta thường thấy các tài liệu nói về 4 view + 1 chứ
không phải 5 view nhằm nhấn mạnh vai trò của Use Case View.
b) Diagram (Bản vẽ)
Diagram các bạn có thể dịch là sơ đồ. Tuy nhiên ở đây chúng ta sử dụng từ bản
vẽ cho dễ hình dung. Các bản vẽ được dùng để thể hiện các góc nhìn của hệ thống.
Trong đó,
+ Use Case Diagram: bản vẽ mô tả về ca sử dụng của hệ thống. Bản vẽ này sẽ
giúp chúng ta biết được ai sử dụng hệ thống, hệ thống có những chức năng gì. Lập
được bản vẽ này bạn sẽ hiểu được yêu cầu của hệ thống cần xây dựng.
+ Class Diagram: bản vẽ này mô tả cấu trúc của hệ thống, tức hệ thống được
cấu tạo từ những thành phần nào. Nó mơ tả khía cạnh tĩnh của hệ thống.
5
+ Object Diagram: Tương tự như Class Diagram nhưng nó mơ tả đến đối tượng
thay vì lớp (Class).
+ Sequence Diagram: là bản vẽ mô tả sự tương tác của các đối tượng trong hệ
thống với nhau được mô tả tuần tự các bước tương tác theo thời gian.
+ Collaboration Diagram: tương tự như sequence Diagram nhưng nhấn mạnh về
sự tương tác thay vì tuần tự theo thời gian.
+ State Diagram: bản vẽ mô tả sự thay đổi trạng thái của một đối tượng. Nó
được dùng để theo dõi các đối tượng có trạng thái thay đổi nhiều trong hệ thống.
+ Activity Diagram: bản vẽ mô tả các hoạt động của đối tượng, thường được sử
dụng để hiểu về nghiệp vụ của hệ thống.
+ Component Diagram: bản vẽ mô tả về việc bố trí các thành phần của hệ thống
cũng như việc sử dụng các thành phần đó.
+ Deployment Diagram: bản vẽ mô tả việc triển khai của hệ thống như việc kết
nối, cài đặt, hiệu năng của hệ thống v.v…
c) Notations (Các ký hiệu)
Notations là các ký hiệu để vẽ, nó như từ vựng trong ngơn ngữ tự nhiên. Các kí
hiệu phổ biến bao gồm: Use Case, Actor, Class
d) Mechanisms (Các quy tắc)
Mechanisms là các quy tắc để lập nên bản vẽ, mỗi bản vẽ có quy tắc riêng và
bạn phải nắm được để tạo nên các bản vẽ thiết kế đúng. Các quy tắc này chúng ta sẽ
bàn kỹ trong các bài về các bản vẽ.
2.1.2. Cơ sở lý thuyết về cơ sở dữ liệu
Cơ sở dữ liệu (Database) là một tập hợp các dữ liệu có tổ chức, thường được
lưu trữ và truy cập điện tử từ hệ thống máy tính. Khi cơ sở dữ liệu phức tạp hơn, chúng
thường được phát triển bằng cách sử dụng các kỹ thuật thiết kế và mơ hình hóa chính
thức.
Hệ quản lý cơ sở dữ liệu (Database Management System - DBMS) là phần
mềm tương tác với người dùng cuối, ứng dụng và chính cơ sở dữ liệu để thu thập và
phân tích dữ liệu. Phần mềm DBMS bao gồm các tiện ích cốt lõi được cung cấp để
quản trị cơ sở dữ liệu. Tổng cộng của cơ sở dữ liệu, DBMS và các ứng dụng liên quan
có thể được gọi là "hệ thống cơ sở dữ liệu". Thông thường thuật ngữ "cơ sở dữ liệu"
6
cũng được sử dụng để nói đến bất kỳ DBMS, hệ thống cơ sở dữ liệu hoặc ứng dụng
nào được liên kết với cơ sở dữ liệu.
Các nhà khoa học máy tính có thể phân loại các hệ thống quản lý cơ sở dữ liệu
theo các mơ hình cơ sở dữ liệu mà họ hỗ trợ. Cơ sở dữ liệu quan hệ đã trở nên thịnh
hành trong những năm 1980. Những dữ liệu mơ hình này dưới dạng các hàng và cột
trong một loạt các bảng và phần lớn sử dụng SQL (Structured Query Language - ngôn
ngữ truy vấn cấu trúc) để ghi và truy vấn dữ liệu. Vào những năm 2000, các cơ sở dữ
liệu phi quan hệ đã trở nên phổ biến, được gọi là NoSQL vì chúng sử dụng các ngôn
ngữ truy vấn khác.
Lưu trữ cơ sở dữ liệu là nơi chứa vật chất hóa vật lý của cơ sở dữ liệu. Nó bao
gồm mức độ nội bộ (vật lý) trong kiến trúc cơ sở dữ liệu. Nó cũng chứa tất cả thơng tin
cần thiết (ví dụ: siêu dữ liệu, "dữ liệu về dữ liệu" và cấu trúc dữ liệu bên trong) để
tái cấu trúc mức khái niệm và cấp độ bên ngoài từ cấp độ bên trong khi cần. Đưa dữ
liệu vào lưu trữ vĩnh viễn nói chung là trách nhiệm của cơng cụ cơ sở dữ liệu hay cịn
gọi là "cơng cụ lưu trữ". Mặc dù DBMS thường truy cập thông qua hệ điều hành cơ
bản (và thường sử dụng các hệ thống tệp của hệ điều hành làm trung gian để bố trí lưu
trữ), các thuộc tính lưu trữ và cài đặt cấu hình là cực kỳ quan trọng đối với hoạt động
hiệu quả của DBMS và do đó được duy trì chặt chẽ bởi quản trị cơ sở dữ liệu. Một
DBMS, trong khi hoạt động, ln có cơ sở dữ liệu của nó nằm trong một số loại lưu
trữ (ví dụ: bộ nhớ và bộ nhớ ngoài). Dữ liệu cơ sở dữ liệu và thơng tin cần thiết bổ
sung, có thể với số lượng rất lớn, được mã hóa thành các bit. Dữ liệu thường nằm
trong bộ lưu trữ trong các cấu trúc trơng hồn tồn khác với cách dữ liệu nhìn ở cấp độ
khái niệm và bên ngoài, nhưng theo cách cố gắng tối ưu hóa (tốt nhất có thể) các cấu
trúc này khi người dùng và chương trình cũng cần như để tính tốn các loại thơng tin
cần thiết từ dữ liệu (ví dụ: khi truy vấn cơ sở dữ liệu).
Một số DBMS hỗ trợ chỉ định mã hóa ký tự nào được sử dụng để lưu trữ dữ
liệu, do đó, nhiều mã hóa có thể được sử dụng trong cùng một cơ sở dữ liệu.
Các cấu trúc lưu trữ cơ sở dữ liệu mức thấp khác nhau được sử dụng bởi cơng
cụ lưu trữ để tuần tự hóa mơ hình dữ liệu để nó có thể được ghi vào phương tiện lựa
chọn. Các kỹ thuật như lập chỉ mục có thể được sử dụng để cải thiện hiệu suất. Lưu trữ
thơng thường là theo định hướng hàng, nhưng cũng có cơ sở dữ liệu tương quan và
định hướng cột.
Bảo mật cơ sở dữ liệu liên quan đến tất cả các khía cạnh khác nhau của việc bảo
vệ nội dung cơ sở dữ liệu, chủ sở hữu và người dùng của nó. Nó bao gồm từ bảo vệ
7