Mỗikhóa học khi kết thúc sẽ yêu cầu các học viên phải có được 1 sản phẩm cuối khóa.Bài toán đặt ra là thiết kế, xây dựng hệ thống quản lý các sản phẩm cuối khóa củahọc viên sau khi kết t
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC VÀ KỸ THUẬT THÔNG TIN
-BÁO CÁO ĐỒ ÁN
BÀI TOÁN QUẢN LÝ KHÓA HỌC
Sinh viên thực hiện:
Hoàng Hải Anh – 21521819
Nguyễn Chí Thi – 21522614
Đinh Công Thiện – 21522617
Giảng viên hướng dẫn:
TS Nguyễn Tấn Cầm
CN Trần Quốc Khánh
Thành phố Hồ Chí Minh, ngày 21 tháng 6 năm 2023
Trang 2MỤC LỤC
LỜI CẢM ƠN 1
I GIỚI THIỆU 2
1 Mô tả bài toán 2
2 Mục tiêu 3
3 Đối tượng sử dụng 3
4 Mô tả quy trình bài toán 3
a Quy trình trước buổi demo 3
b Quy trình trong buổi demo 4
c Quy trình sau buổi demo 5
II PHÂN TÍCH BÀI TOÁN 6
1 Chức năng của hệ thống 6
2 Quản lý các đối tượng 6
3 Các ràng buộc trong bài toán 7
a RBTV có bối cảnh trên nhiều quan hệ 7
b RBTV có bối cảnh trên 1 quan hệ 8
4 Mô hình ERD: 8
III THIẾT KẾ CSDL: 9
1 Lược đồ quan hệ: 9
2 Bảng kiểu dữ liệu: 12
IV CÀI ĐẶT: 15
V KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 15
Trang 3LỜI CẢM ƠN
Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến Trường Đại học Côngnghệ Thông tin - ĐHQG TP.HCM đã đưa môn Quản Lý Thông Tin – IE103 vàochương trình giảng dạy Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến giảngviên bộ môn - thầy Nguyễn Tấn Cầm đã tận tình hướng dẫn chúng em trong quátrình học tập cũng như trong việc hoàn thành đồ án Trong thời gian tham gia lớphọc, chúng em đã có thêm cho mình nhiều kiến thức bổ ích, tinh thần học tập, làmviệc nhóm hiệu quả nghiêm túc Đây chắc chắn sẽ là những kiến thức quý báu, làhành trang để chúng em có thể vững bước sau này
Bộ môn Quản Lý Thông Tin là môn học thú vị, vô cùng quan trọng cho sinh viên họcCông Nghệ Thông Tin Đảm bảo cung cấp đủ kiến thức để sinh viên có thể hiểu được cácchức năng thu thập, lưu trữ, bảo mật thông tin, tài liệu, Tuy nhiên, do chưa
có nhiều kinh nghiệm làm đề tài cũng như những hạn chế về kiến thức, trong bài tiểuluận chắc chắn sẽ không tránh khỏi những thiếu sót Nhóm chúng em rất mong nhậnđược những ý kiến đóng góp tận tình của Thầy sau khi đọc qua bài báo cáo này.Những đóng góp đó không chỉ giúp nhóm hoàn thiện bài tiểu luận, mà còn giúpchúng em có thêm nhiều kiến thức và kỹ năng mới trong lĩnh vực của mình.Một lần nữa, chúng em xin trân trọng gửi lời cảm ơn sự quan tâm giúp đỡ củathầy đã giúp đỡ chúng em trong quá trình thực hiện bài báo cáo này và chúc thầynhiều sức khỏe, thành công và hạnh phúc
1
Trang 4I GIỚI THIỆU
1 Mô tả bài toán
Trường học công nghệ MindX là một trung tâm giảng dạy các lĩnh vực liênquan tới công nghệ thông tin tư lập, dành cho các học viên ở nhiều lứa tuổi khácnhau Học viên có thể lựa chọn khóa học phù hợp cho bản thân để đăng ký Mỗikhóa học khi kết thúc sẽ yêu cầu các học viên phải có được 1 sản phẩm cuối khóa.Bài toán đặt ra là thiết kế, xây dựng hệ thống quản lý các sản phẩm cuối khóa củahọc viên sau khi kết thúc khóa học, với các thông tin sau:
Mỗi học viên sẽ làm sản phẩm cuối khóa sau khi học xong khóa học.Thông tin khóa học sẽ bao gồm ngày bắt đầu, ngày kết thúc, số lượng họcviên
Mỗi học viên sẽ bao gồm các thông tin như họ tên, MaHV, ngày sinh Và sẽ
có thông tin phụ huynh ứng với mỗi học viên để có thể liên lạc và cập nhật tìnhhình học tập của học viên Mỗi sản phẩm sẽ bao gồm: Tên SPCK, thời gian bắtđầu, thời gian kết thúc Một sản phẩm cuối khóa chỉ thuộc 1 khóa học Mỗi sảnphẩm sẽ có 1 chủ đề Có 12 chủ đề dành cho sản phẩm cuối khóa tương ứng với 12tháng (tùy thuộc vào thời điểm kết thúc khóa học)
Mỗi học viên, tại 1 thời điểm, chỉ có thể tham gia 1 khóa học Một khóahọc sẽ được chia thành 3 cấp (beginner, intermediate, advanced) Và mỗikhóa học sẽ học về 1 môn tương ứng với 1 cấp độ
Khóa học sẽ do các giáo viên phụ trách giảng dạy Mỗi khóa học cótương ứng 2 giáo viên: 1 giảng viên và 1 trợ giảng Thông tin giáo viên baogồm họ tên, ngày sinh, địa chỉ, số điện thoại liên lạc Một giáo viên có thểdạy nhiều lớp khác nhau
Ở buổi demo sản phẩm, các giáo viên sẽ đảm nhiệm vai trò giám khảochấm điểm các sản phẩm cuối khóa Và chỉ những giáo viên có chức vụ là giảng viênmới được chấm điểm sản phẩm cuối khóa Mỗi sản phẩm sẽ được
2
Trang 5chấm điểm bởi 3 giám khảo, bao gồm: giám khảo sản phẩm cuối khóa, giámkhảo slide và giám khảo thuyết trình Điểm của sản phẩm cuối khóa sẽ đượcchấm trung bình cộng bởi cả 3 giám khảo.
Học viên có điểm trung bình trên 5 sẽ được đăng ký cấp độ tiếp theo,còn nếu điểm trung bình dưới 5 có thể demo lại lần 2, tuy nhiên sản phẩm lần
2 phải khác sản phẩm lần 1 Mỗi học viên có tối đa 2 lần demo, nếu khôngđạt cả 2 lần thì sẽ không được đăng ký cấp độ tiếp theo
2 Mục tiêu
Mục tiêu của bài toán quản lý sản phẩm cuối khóa của học viên tạiTrường học công nghệ MindX là tạo ra một hệ thống hiệu quả để quản lýthông tin liên quan đến sản phẩm cuối khóa của học viên sau khi họ hoànthành khóa học Ngoài ra, hệ thống này hỗ trợ cho việc lưu trữ thông tin vềkhóa học, học viên và giáo viên
3 Đối tượng sử dụng
Đối tượng sử dụng của hệ thống quản lý sản phẩm cuối khóa bao gồm quản
lý trường học, giáo viên phụ trách giảng dạy, giám khảo và học viên Quản lý sửdụng hệ thống để theo dõi và quản lý thông tin liên quan đến khóa học, học viên vàsản phẩm cuối khóa Giáo viên sử dụng hệ thống để ghi nhận thông tin giảng dạy,đánh giá sản phẩm cuối khóa và quản lý lịch trình giảng dạy Giám khảo sử dụng
hệ thống để chấm điểm sản phẩm cuối khóa Học viên sử dụng hệ thống để ghinhận thông tin cá nhân và demo sản phẩm cuối khóa
4 Mô tả quy trình bài toán
a Quy trình trước buổi demo
(1): Học viên tham gia lớp học với 9 buổi học lý thuyết
(2): Trong các buổi học, giáo viên điểm danh học viên
(3): Upload dữ liệu điểm danh lên cơ sở dữ liệu
3
Trang 6(4): Sau khi tham gia 9 buổi lý thuyết, quản lý lớp học sẽ xếp lịch democho học viên, thời điểm demo sẽ quyết định đề tài sản phẩm cuối khóa củahọc viên
(5a): Nếu học viên tham gia trên 70% buổi học của khóa học thì lấy thôngtin đề tài của học viên
(5b): Nếu học viên không tham gia đủ buổi học thì sẽ cho học sinh học đếnkhi đủ buổi học
(6): 4 buổi tiếp theo, giảng viên lớp học hỗ trợ học viên trong việc thựchiện sản phẩm cuối khóa
(7): Sau 4 buổi học, học viên tiến hành nộp sản phẩm cuối khóa cho giảngviên
(8): Giảng viên upload bài học sinh lên cơ sở dữ liệu
(9): Quản lí lớp học lấy thông tin của phụ huynh từ cơ sở dữ liệu, sau đógửi mail hoặc gọi điện hẹn phụ huynh tham gia buổi demo
(10): Quản lí lớp học phân công ban giám khảo chấm bài
(11): Kết thúc quy trình
b Quy trình trong buổi demo
4
Trang 7(1): Tiến hành điểm danh các học viên, ban giám khảo tham gia buổi demo.
(2): Cập nhật kết quả điểm danh lên trên cơ sở dữ liệu
(3): Sau khi hoàn thành điểm danh, học viên thực hiện trình bày sản phẩm cuối khóa của mình
(4): Xong phần demo, các học viên khác cùng khóa học tiến hành tham giađặt câu hỏi
(5): Thu thập nhận xét từ các phụ huynh theo dõi tại buổi demo
(6): Ban giám khảo bắt đầu đặt câu hỏi
(7): Học viên trả lời các câu hỏi của ban giám khảo
(8): Ban giám khảo ghi nhận các câu trả lời của học viên để tiến hành chấm điểm sau buổi demo
(9): Kết thúc quy trình
c Quy trình sau buổi demo
(1) : Ban giám khảo bắt đầu kiểm thử bài của học viên
(2) : Ban giám khảo chấm bài sau khi học viên hoàn thành bài test.(3) : Cập nhật điểm lên trên cơ sở dữ liệu
5
Trang 8(4a) : Nếu đạt yêu cầu, học viên học viên có thể lên được khóa học tiếp theo.
(4b) : Nếu không đạt yêu cầu thì kiểm tra số lần demo của học viên.(5a) : Nếu học viên chỉ mới demo 1 lần thì học viên có thể làm lại sản phẩm cuối khóa mới để demo lần 2
(5b) : Nếu học viên đã demo lần thứ 2 mà vẫn chưa đạt thì học viên bị đánh rớt khóa học đó và phải học lại khóa học
(6) : Giáo viên nhận xét học viên trong quá trình học tập
(7) : Cập nhật thông tin lớp học của học viên
(8) : Upload thông tin học viên các lớp lên trên cơ sở dữ liệu
(9) : Kết thúc quy trình
II PHÂN TÍCH BÀI TOÁN 1 Chức năng của hệ thống
Các chức năng của hệ thống bao gồm:
- Hệ thống quản lí thông tin: Các thông tin về khóa học, học viên, giáo viên phụ trách, được lưu trữ và quản lí một cách hiệu quả
- Hệ thống điểm danh học viên: Có chức năng điểm danh học viên có mặthay vắng trong các buổi học, từ đó xem xét học viên có thể làm sản phẩm cuối khóahay không
6
Trang 9- Hệ thống lưu trữ sản phẩm cuối khóa: Có chức năng lưu trữ lại các sản phẩm cuối khóa của học viên, sử dụng cho ban giám khảo chấm thi.
- Hệ thống gửi tin nhắn tự động: Có chức năng tự động soạn nội dung tinnhắn mời phụ huynh tham gia buổi demo và gửi cho phụ huynh thông qua thông tincủa phụ huynh
Tóm lại, hệ thống giúp quản lí và lưu trữ thông tin hiệu quả, cung cấp các chứcnăng cần thiết để đảm bảo cho việc quản lí sản phẩm cuối khóa của các học viêntại MindX
2 Quản lý các đối tượng
- Các đối tượng mà hệ thống quản lý bao gồm: Học viên, phụ huynh củahọc viên, các khóa học, các bộ môn và cấp độ, các giáo viên phụ trách các môn học
và quan trọng hơn là quản lý các sản phẩm cuối khóa mà học viên đã thực hiện
- Mối quan hệ của các đối tượng:
+ Mỗi khóa học có thể có nhiều học viên tham gia và mỗi học viên chỉ được tham gia vào một khóa học
+ Mỗi học viên có thể có một phụ huynh để liên hệ và mỗi phụ huynh có thể có nhiều học viên vì có thể có nhiều con
+ Mỗi khóa học có thể có nhiều sản phẩm cuối khóa và mỗi sản phẩm cuối khóa chỉ thuộc duy nhất vào một khóa học
+ Mỗi học viên sẽ tạo ra tối đa 2 sản phẩm cuối khóa và mỗi sản phẩm cuối khóa chỉ thuộc về một học viên
+ Mỗi sản phẩm cuối khóa được chấm bởi 3 giáo viên có chức vụ là giảngviên và mỗi giáo viên cũng có thể chấm được nhiều sản phẩm cuối khóa
+ Mỗi khóa học có tối đa 2 giáo viên giảng dạy và mỗi giáo viên có thể giảng dạy nhiều khóa học
+ Mỗi giáo viên có một chức vụ và một chức vụ có thể có nhiều giáo viên
7
Trang 10+ Mỗi cấp độ có nhiều khóa học của cấp độ đó và mỗi khóa học chỉ có một cấp độ
3 Các ràng buộc trong bài toán
a RBTV có bối cảnh trên nhiều quan hệ
- Kiểm tra mỗi khóa học bắt buộc phải có 1 giáo viên có chức vụ là giảng viên
- Chỉ có giảng viên mới được chấm điểm SPCK
- Cập nhật điểm trung bình bài SPCK của học viên là trung bình điểm của 3giáo viên chấm điểm
- Kiểm tra nếu điểm trung bình của SPCK của học viên phải lớn hơn hoặcbằng 5 thì mới được đăng ký khóa học có cấp độ tiếp theo của môn học đó và sẽ đượcloại bỏ giới hạn cho cấp độ tiếp theo (nếu có) Ngược lại, nếu điểm trung bình thấphơn 5 thì học sinh sẽ bị giới hạn không cho phép đăng ký các khóa học có cấp độ caohơn của môn học
- Kiểm tra thông tin đăng ký khóa học của học viên với khóa học khôngnằm trong danh sách khóa học bị giới hạn của học viên và học viên đang không thamgia khóa học nào khác và ngày đăng ký không được lớn hơn hoặc bằng ngày bắt đầukhóa học Nếu đăng ký thành công thì tự động cập nhật số lượng học viên của khóahọc
b RBTV có bối cảnh trên 1 quan hệ
- Ngày bắt đầu phải bé hơn ngày kết thúc của khóa học
- Điểm của mỗi giáo viên chấm phải lớn hơn hoặc bằng 0 và nhỏ hơn hoặc bằng 10
Trang 11III THIẾT KẾ CSDL:
1 Lược đồ quan hệ:
MONHOC
Tân từ: Thực thể MONHOC chứa các thông tin về các môn học bao gồm: Mã
môn học (MaMon) và tên môn học đó (TenMon)
CAPDO
9
Trang 12Tân từ: Thực thể CAPDO chứa các thông tin về các cấp độ của khóa học bao
gồm: Mã cấp độ (MaCD) và tên cấp độ (TenCD)
PHUHUYNH
Tân từ: Thực thể PHUHUYNH chứa các thông tin về phụ huynh của học viên
bao gồm: Mã phụ huynh (MaPH), Tên của phụ huynh (TenPH), Địa chỉ(DiaChi), Địa chỉ email (Mail), Số điện thoại (SDT)
HOCVIEN
Tân từ: Thực thể HOCVIEN chứa các thông tin về học viên bao gồm: Mã
học viên (MaHV), họ tên học viên (HoTen), ngày sinh (NgaySinh), mã phụhuynh của học viên (MaPH)
KHOAHOCGIOIHAN
Tân từ: Thực thể KHOAHOCGIOIHAN chứa các thông tin về khóa học bị
giới hạn của học viên bao gồm: Mã khóa học giới hạn (MaHV), mã môn giớihạn của học viên (MaMonGH), mã cấp độ giới hạn (MaCDGH)
KHOAHOC
D
Tân từ: Thực thể KHOAHOC chứa các thông tin về các khóa học bao gồm:
Mã khóa học (MaKH), số lượng học viên (SLHV), ngày bắt đầu khóa học
Trang 13(NgayBD), ngày kết thúc khóa học (NgayKT), mã cấp độ của khóa học(MaCD), mã môn học của khóa học (MaMon)
CHUDE
Tân từ: Thực thể CHUDE chứa các thông tin về các chủ đề bao gồm: Mã chủ
đề (MaChuDe), tên chủ đề (TenChuDe), tháng của chủ đề (Thang) và nămcủa chủ đề (Nam)
SPCK
MaSP TenSP DTB LanThucHien MaHV MaChuD MaK
Tân từ: Thực thể SPCK chứa các thông tin về các sản phẩm cuối khóa của học
viên bao gồm: Mã sản phẩm cuối khóa (MaSP), Tên của sản phẩm cuối khóa(TenSP), Điểm trung bình của giám khảo (DTB) và lần thực hiện của sảnphẩm cuối khóa (LanThucHien), mã học viên thực hiện sản phẩm cuối khóa(MaHV), mã chủ đề của sản phẩm cuối kì (MaChuDe), mã khóa học tươngứng với sản phẩm cuối kì (MaKH)
CHUCVU
Tân từ: Thực thể CHUCVU chứa các thông tin về chức vụ của giáo viên bao
gồm: Mã chức vụ (MaCV), Tên của chức vụ (TenCV)
GIAOVIEN
Trang 14Tân từ: Thực thể GIAOVIEN chứa các thông tin về giáo viên bao gồm: Mã
giáo viên (MaGV), Họ tên giáo viên (HoTen), ngày sinh (NgaySinh), địa chỉhiện tại (DiaChi), số điện thoại (SDT)
GV_SPCK
Tân từ: Quan hệ GV_SPCK chứa các thông tin về các giáo viên chấm điểm
cho sản phẩm cuối khóa bao gồm: Mã của giáo viên (MaGV), Mã của sảnphẩm cuối khóa (MaSP), điểm của giáo viên dành cho sản phẩm (Diem)
GV_KH_CV
Tân từ: Quan hệ GV_KH_CV chứa các thông tin về các giáo viên có chức vụ
giảng viên (hoặc trợ giảng) giảng dạy các môn học trong khóa học bao gồm:
Mã của giáo viên (MaGV), mã của khóa học (MaKH), mã chức vụ của giáoviên (MaCV)
HV_KH
Tân từ: Quan hệ HV_KH chứa các thông tin về các học viên đăng ký khóa học
bao gồm: Mã của học viên (MaHV), mã của khóa học (MaKH) và ngày đăng
ký khóa học đó (NgayDangKy)
HV_KHGH
Trang 15Tân từ: Quan hệ HV_KHGH chứa các thông tin về các khóa học mà học viên
bị giới hạn bao gồm: Mã của học viên (MaHV), mã của khóa học bị giới hạn(MaKHGH)
nvarchar(40)
Tên môn họcNOT NULL
MaCD
char(1) Mã cấp độ (khóaNOT NULL chính)TenCD
varchar(15)
Tên cấp độNOT NULL
MaHV
char(8) Mã học viênNOT NULL (khóa chính)HoTen
nvarchar(50)
Họ tên học viênNOT NULL
NgaySinh smalldatetime
Ngày sinh củahọc viênMaPH
char(10)
Mã phụ huynhNOT NULL
MaPH
char(10) Mã phụ huynhNOT NULL (khóa chính)TenPH
nvarchar(50)
Tên phụ huynhNOT NULL
DiaChi nvarchar(80) Địa chỉMail varchar(30) Email liên hệ
Trang 16char(1
0)
Số điện thoại liênNOT
NULL hệ
MaKH
varchar(6)
Mã khóahọcNOT
NULL
(khóa chính)
SLHV
tinyint
Số lượng họcNOT
NULL
viên của khóa học
NgayB
D
smalldatetim
e
Ngày bắt đầuNOT
NULL
khóa học
NgayK
T
smalldatetim
e
Ngày kết thúcNOT
NULL
khóa học
MaCD
char(1
độNOT
NULLMaMo
n
varchar(5) Mã môn
Trang 17N
NOT NULLvarchar(8)
Mã khóa học bị
NOT NULL
chính)MaMonGH
varchar(5) Mã môn học bịNOT NULL giới hạnMaCDGH
CHUDE
GIAOVIEN
CHUCVU
Trang 18NămNOT NULLMaGV
char(4) Mã giáo viênNOT NULL (khóa chính)HoTen
char(10) Số điện thoại liên
MaCV
varchar(3) Mã chức vụ (khóa
NOT NULL chính)TenCV nvarchar(10) Tên chức vụ
Trang 19char(8) Mã học viênNOT NULL (Thuộc tính khóa)MaKH
varchar(6) Mã khóa họcNOT NULL (Thuộc tính khóa)NgayDangK smalldatetime Ngày học viên
MaHV
char(8) Mã học viênNOT NULL (Thuộc tính khóa)varchar(8)
Q-V KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Sự phát triển không ngừng của công nghệ thông tin, nhu cầu xã hội đòi hỏinhững thông tin đưa ra phải chính xác, đảm bảo các yêu cầu của bài toán quản
lý đồng thời phải thiết kế sao cho tiết kiệm được thời gian và công sức chocon người
Trong lĩnh vực công nghệ thông tin, việc tổ chức 1 khối lượng thông tin lớn là 1vấn đề rất khó khăn và đòi hỏi phải giải quyết được việc cập nhật thông tin 1 cáchchính xác hiệu quả và nhanh chóng Do đó, ta cần phải tổ chức thông tin