ả- Bước 2: Sau khi hoàn thành quá trình t i phâền mêềm, hãy m phâền mêềm và bắất đâều càiả ởđ t... + Các thành viên thẽo s phân phó nhóm trự ưởng viêất codẽ các hàm con sau đó gắấn vô ch
Trang 1TRƯỜNG ĐIỆN – ĐIỆN TỬ
BÁO CÁOBÀI T P L NẬ Ớ
Đềề tài:
HỆ THỐNG QUẢN LÝ HỌC TẬP CÁ NHÂN
Sinh viên thực hiện: Lâm Xuân Tạo 20203569 Nguyễn Xuân Hoàng 20203433 Nguyễn Bình Độ 20203361
Lớp Điện tử 01 – K65
Hà N i, 01-2022ộ
Trang 2Mục lục
CHƯƠNG I GIỚI THIỆU CHUNG 3
1.1Giới thiệu về chủ đề 3
1.2Một số nghiên cứu liên quan 3
1.3Mục tiêu của đề tài 4
1.4Phương pháp đề xuất 4
1.5Phân chia nhiêm vụ trong nhóm 5
CHƯƠNG II Phân tích bài toán 5
3.2.1 Môi trường cài đặt 8
3.2.2 Triển khai cài đặt 9
3.2.3 Huấn luyện mô hình 10
4.3.1 Đối với bài tập lớn 17
4.3.2 Đối với môn học 17
TÀI LIỆU THAM KHẢO 17
Trang 3Chương I GIỚI THIỆU CHUNG1.1Giới thiệu về chủ đề
Gi i thi u bài toánớ ệ
- M t ộ chương trình giúp sinh viên qu n lý các thông tin cá nhân, vâấn đêề vêề h c t p đ sinhả ọ ậ ểviên dêễ dàng biêất và nắấm bắất thông tin
- Sinh viên được câấp m t tài kho n, m t kh u đ đắng nh p Trong chộ ả ậ ẩ ể ậ ương trình sinh viên sẽễ sắấp xêấp l ch h c tính đị ọ ược đi m các môn h c, l ch thi, thông tin vêề đi m rèn ể ọ ị ểluy n t đó cung câấp thông tin h c b ng phù h p v i m c tiêu đêề raệ ừ ọ ổ ợ ớ ụ
Các thách th c, khó khắn c a bài toánứ ủ
- Bài toán đ t ra yêu câều ph i thôấng nhâất d li u cho môễi sinh viên, môễi sinh viên sẽễ có ặ ả ữ ệm t d li u riêng Các d li u đ hi n th ph i độ ữ ệ ữ ệ ể ể ị ả ược lâấy t các nguôền khác nhau Thông ừtin đ a vào ph i đư ả ượ ưc l u tr l i tránh mâất ữ ạ d li uữ ệ cho lâền đắng nh p sau.ậ
- Giao di n chệ ương trình ch th c hi n th c hi n trên màn consolẽ.ỉ ự ệ ự ệCác ng d ng chính c a bài toánứ ụ ủ
- S d ng các IDE hôễ tr l p trình C/C++ nh Dẽv-C++, Visual studio Codẽ, Visual studio ử ụ ợ ậ ư2022,…
- Th c hi n thao tác x lí trên màn consolẽ.ự ệ ử
1.2Một số nghiên cứu liên quan
ng d ng HUST STUDENT:
- Hi n th thông tin sinh viên đắng kí v i trể ị ớ ường - Đắng nh p bắềng ẽmail do nhà trậ ường cung câấp- Giúp sắấp xêấp l ch thi, thông báo l ch thi t ng mônị ị ừ
- Thôấng kê kêất qu đi m h c tâp và đi m rèn luy n tính ra điêều ki n nh n h c b ng cho ả ể ọ ể ệ ệ ậ ọ ổsinh viên
- Liên kêất v i trang wẽb c a trớ ủ ường iCTSV:
- Hi n th thông tin sinh viên đắng kí v i trể ị ớ ường - Đắng nh p bắềng ẽmail do nhà trậ ường cung câấp
- Đắng kí ho t đ ng và châấm đi m rèn luy n( tính nắng chính )ạ ộ ể ệ
- Thôấng kê kêất qu đi m h c tâp và đi m rèn luy n tính ra điêều ki n nh n h c b ng cho ả ể ọ ể ệ ệ ậ ọ ổsinh viên
Trang 4- Thông tin thông báo c a trủ ường
1.3Mục tiêu của đề tài
- Giúp sinh viên gi i quyêất các vâấn đêề liên quan đêấn h c t p c a sinh viên ả ọ ậ ủ+ Xẽm và ch nh s a thông tin cá nhânỉ ử
+ Thêm, s aử , xóa các môn h c ọ+ Qu n lí l ch thiả ị
+ Thông tin h c b ng nh n đọ ổ ậ ược+ Xẽm đi m, danh sách các môn h cể ọ
- T o giao di n dêễ dùng cho sinh viênạ ệ (ch a hoàn thành)ư
- Môễi tài kho n ả sẽễ có d li u riêng đữ ệ ượ ưc l u trong cùng m t filẽ v i các độ ớ ường dâễn riêng ệ
H c ọb ngổ
Trang 51.5Phân chia nhiêm vụ trong nhóm
Lâm Xuân T oạ (nhóm trưởng):
- T o giao di n chạ ệ ương trình, hi n th b ng đi m môn h c, hi n th b ng đi m rèn ể ị ả ể ọ ể ị ả ểluy n, thêm/s a/xóa môn h cệ ử ọ
Nguyêễn Xuân Hoàng:
- Làm PowẽrPoint, login tài kho n, xẽm và ch nh s a thông tin cá nhânả ỉ ửNguyêễn Bình Đ :ộ
- Làm báo cáo, xẽm thông tin h c b ng, qu n lí/ thông báo l ch thiọ ổ ả ị
Chương II Phân tích bài toán
2.1 Tổng quát
H thôấng bao gôềm nh ng phâền chính:ệ ữ
- Giao di n đắng nh p (ệ ậ Sôấ lượng tài kho n là m c đ nh – đã đả ặ ị ược thêm trước) - Giao di n hi n th , ch nh s a thông tin cá nhân ệ ể ị ỉ ử
- Giao di n hi n th b ng đi m cá nhân ệ ể ị ả ể- Giao di n hi n th đi m rèn luy n ệ ể ị ể ệ- Giao di n thêm/s a/xóa môn h c ệ ử ọ- Giao di n thông tin h c b ng ệ ọ ổ- Giao di n qu n lí l ch thi ệ ả ị
Khái quát khi ch y phâền mêềm: ạ
Sinh viên đắng nh p tài kho n Chậ ả ương trình sẽễ lâấy d li u trong các filẽ, tiêấp thẽo t i giao di n ữ ệ ớ ệchính chương trình Yêu câều th c hi n các chự ệ ương trình giao di n, sau khi ch y xong chở ệ ạ ương
Trang 6
S đôề chơ ương trình chính
2.3 Mô tả chi tiết các chức năng
a, Đắng nh pậ- Đắng nh pậ
Khi đắng nh p tài kho n ậ ả được m c đ nhặ ị chương trình sẽễ mở filẽ “input.txt” đ so sánh ểthông tin nh p vào t đó cho phép kh i đ ng chậ ừ ở ộ ương trình khi đúng tài kho n, m t kh u.ả ậ ẩ
b, Xẽm, ch nh s a thông tin sinh viênỉ ử- Xẽm thông tin sinh viên
Thông tin sinh viên sẽễ đượ ư ạc l u t i filẽ “THONGTIN2.txt” được kh i t o khi t o tài kho n cóở ạ ạ ảtên do chương trình quyêất đ nh Sau khi th c hi n l nh xẽm thông tin sinh viên sẽễ thâấy thôngị ự ệ ệ
Thêm/s a/xóa ửmôn h cọXẽm, ch nhỉ
h c b ngọ ổ
Đi m h c t pể ọ ậ
Trang 7- Ch nh s a thông ỉ ử sinh viên
Khi sinh viên muôấn thay đ i thông tin các nhân chổ ương trình sẽễ th c hi n thay đ i thông tin ự ệ ổSinh viên thay đ i thông tin thì chổ ương trình sẽễ thay m i thông tin đó, các thông tin không ớmuôấn thay đ i sinh viên có th b qua.ổ ể ỏ
Sau khi các thay đ i hoàn thành chổ ương trình sẽễ l u l i filẽ v i các thay đ i trên sinh viên có ư ạ ớ ổth ki m tra l i thông tin qua l nh xẽm thông tin.ể ể ạ ệ
c, Hi n th b ng đi m h c t pể ị ả ể ọ ậ
- Các d li u liên quan đêấn môn h c sẽễ đữ ệ ọ ược lâấy t filẽ ừ “THONGTINDIEM.txt” D li u vêề ữ ệđi m c a sinh viên sẽễ để ủ ượ ưc l u vào filẽ này, khi sinh viên muôấn hi n th chể ị ương trình sẽễ lâấy d li u đ hi n th lên màn hìnhữ ệ ể ể ị
d, Hi n th b ng đi m rèn luy nể ị ả ể ệ
- D li u vêề đi m rèn luy n sẽễ nắềm trong filẽ ữ ệ ể ệ “THONGTINDIEM.txt” Khi th c hi n l nh ự ệ ệhi n th chể ị ương trình sẽễ lâấy d li u t filẽ đ hi n th lên màn hìnhữ ệ ừ ể ể ị
ẽ, Thêm/s a/xóa danh sách môn h cử ọ
- D li u các môn h c sẽễ l u trong filẽ “MONHOC.txt”; các thao tác x lí filẽ sẽễ th c hi n ữ ệ ọ ư ử ự ệtr c tiêấp trên màn consolẽ.ự
f, Thông tin h c b ng ọ ổ
Đ có thông tin h c b ng sinh viên nh n để ọ ổ ậ ượ ệc h thôấng sẽễ lâấy d li u vêề môn h c và đi m rèn ữ ệ ọ ểluy n nêấu th a mãn các điêều ki n c a t ng h c b ng sẽễ nh n đệ ỏ ệ ủ ừ ọ ổ ậ ượ ọ ổc h c b ng tươ ứng ng Sinh viên ch a đ điêều ki n nh n h c b ng chư ủ ệ ậ ọ ổ ương trình sẽễ thông báo qua màn hình hi n thể ị Các điêều ki n so sánh đệ ượ ưc l u trong filẽ “THONGTINHOCBONG.txt”.
g, Qu n lí và thông báo l ch thiả ị
- Sinh viên có th thay đ i l ch thi t ng môn, d li u để ổ ị ừ ữ ệ ược lâấy t filẽ ừ “LICHTHI” Th c hi n ự ệthay đ i xong d li u l u l i filẽ ổ ữ ệ ư ạ
2.4 Đánh giá
Đ viêất để ược chương trình này câền nhiêều kiêấn th c liên quan đêấn ứ struct, danh sách liên kêất, filẽ, hàm Tuy nhiên, vì h n chêấ vêề m t ạ ặ kyễ thu tậ nên nhóm ch a xây d ngư ự đượ c s d li u, ch a c ơ ở ữ ệ ưtôấi u hóa khi d li u ch đư ữ ệ ỉ ượ ư ạc l u t i filẽ c a máy ch th c hi n codẽ, ủ ủ ự ệ ch a th cài đ t và khai ư ể ặthác s d ng chử ụ ương trình t i các máy tính khácạ Chương trình ch ch y trên màn consolẽ t i cácỉ ạ ạIDE hôễ tr l p trình C/C++ợ ậ , ch a có giao di n hoàn ch nh nh m t app c b n.ư ệ ỉ ư ộ ơ ả
Chương III Phương pháp thực hiện
Trang 83.1 Phương pháp đề xuất
Nhắềm t o ra chạ ương trình giúp h thôấng và qu n lý h cệ ả ọ t pậ cá nhân có các ch c nắng login bắềng ứtài kho n , xẽm và s a thông tin cá nhân, hi n th b ngả ử ể ị ả đi m h c t pể ọ ậ , hi nể th b ng đi m rèn ị ả ểluy n, ệ thêm/s aử /xóa các môn h cọ , thông tin h c b ngọ ổ , qu n lí và thông báo l ch thiả ị thì c nhóm ảcùng đ a ra phư ương pháp đ gi i quyêất m c tiêu là :ể ả ụ
+ Các thành viên phân chia công vi c th c hi n 1 phâền trong chệ ự ệ ương trình
+ S d ng các thu t toán dùng ngôn ng l p trình C/C++ đ th c hi n viêất chử ụ ậ ữ ậ ể ự ệ ương trình+ Môễi tài kho n sinh viên có m t ả ộ d li u riêng đữ ệ ượ ưc l u trên cùng 1 filẽ
+ Liên kêất các phâền chương trình bắềng l nh switch gắấn các chệ ương trình con vào t ng casẽ, toàn ừb chộ ương trình chính nắềm trong vòng l p whilẽ, th c hi n thoát chặ ự ệ ương trình bắềng câu l nh ệ“brẽak” nắềm trong hàm con
+ Chương trình còn tôấi u hóa vi c sai sót trong quá trình nh p thông tin t bàn phím qua các ư ệ ậ ừcâu l nh ki m tra đ đ a ra bệ ể ể ư ước gi i quyêất giúp sinh viên th c hi n nh p thông tin v i đ ả ự ệ ậ ớ ộchính xác cao
+ Sau khi thao tác x lí d li u trong filẽ thì xóa màn hình đ gi i phóng b nhử ữ ệ ể ả ộ ớ
+ Các yêu câều th c hi n chự ệ ương trình được sắấp xêấp khoa h c có tr t t thông qua l nh whilẽ(), ọ ậ ự ệhi n th câu l nh hể ị ệ ướng dâễn
+ Th nghi m ch y chử ệ ạ ương trình , khắấc ph c các lôễi trụ ong quá trình viêất codẽ L u l i lôễi, đánh ư ạgiá đ a ra phư ương hướng gi i quyêất lôễi đ hoàn thi n codẽả ể ệ
3.2 Cài đặt thử nghiệm
3.2.1 Môi trường cài đặt
Môi trường cài đ t chính Dẽv- C/C++:ặ
- D án phát tri n Dẽv-C++ đự ể ượ ưc l u tr trênữ SourcẽForgẽ Dẽv-C++ nguyên được phát tri n b i m t l p trình viên có tên là Colin Laplacẽ và ch ch y trênể ở ộ ậ ỉ ạ h điêều ệhành Microsoft Windows.
- Dẽv C++ là m t môi trộ ường phát tri n tích h p t do (IDE), hôễ tr vi c l p trình bắềngể ợ ự ợ ệ ậngôn ng C hay C++ Dẽv C++ đữ ược phát tri n b i l p trình viên Colin Laplacẽ và để ở ậ ượcviêất bắềng ngôn ng l p trình Dẽlphi.ữ ậ
- Dẽv C++ nắềm trong b trình d ch mã nguôền m MinGW và ch hôễ tr trên h điêều hànhộ ị ở ỉ ợ ệMicrosoft Windows Nhà s n xuâất cũng đã cho ra đ i m t phiên b n ch y trên Linux tuyả ờ ộ ả ạ
Trang 9- Xây d ng trong trình so n th o cũng nh trình biên d ch sẽễ cho phép b n l i trongự ạ ả ư ị ạ ở ạDẽv-C ++ t đâều đêấn cuôấi So n mã c a b n và ch y các hàm c a b n thông qua dòngừ ạ ủ ạ ạ ủ ạtrình g rôấi thẽo t ng dòng đ tìm các vâấn đêề M t khi mã đỡ ừ ể ộ ược biên d ch m t cáchị ộchính xác và lôễi miêễn phí s d ng trình biên d ch đ t o ra m t ẽxẽ đ phân phôấi và sử ụ ị ể ạ ộ ể ửd ngụ
- M t đi m đáng chú ý c a phâền mêềm này chính là tích h p DẽvPaks, bao gôềm các gói mộ ể ủ ợ ởr ng nh th vi n, mâễu và nhiêều ti n ích khác Thông thộ ư ư ệ ệ ường, DẽvPaks s h u thêmở ữti n ích GUI v i các công c ph biêấn nh GTK+, FLTK và wxWidgẽts.ệ ớ ụ ổ ư
3.2.2 Triển khai cài đặt
Tri n khai cài đ t chể ặ ương trình qua các quy trình:- Chu n b :ẩ ị
+ Cài đ t ng d ng Dẽv -C++ặ ứ ụ
Đ t i phâền mêềm Dẽv C++ vêề máy, b n câền th c hi n thẽo các bể ả ạ ự ệ ước sau:
- Bước 1: Truy c p vào đậ ường linkhttps://download.com.vn/bloodshẽd-dẽv-c-20945 đểt i phâền mêềm ả
- Bước 2: Sau khi hoàn thành quá trình t i phâền mêềm, hãy m phâền mêềm và bắất đâều càiả ởđ t Lúc này, m t sôấ ô c a s sẽễ hi n th yêu câều b n ch n ngôn ng , đôềng ý v i cácặ ộ ử ổ ể ị ạ ọ ữ ớđiêều kho n s d ng.ả ử ụ
- Bước 3: Phâền mêềm sẽễ yêu câều b n l a ch n v trí đ cài đ t Thông thạ ự ọ ị ể ặ ường, v trí m cị ặđ nh sẽễ là C Sau đó, quá trình cài đ t sẽễ đị ổ ặ ược bắất đâều.
- Bước 4: Khi màn hình xuâất hi n câu h i b n có muôấn cài đ t Dẽv C++ cho tâất c ngệ ỏ ạ ặ ả ườidùng không, hãy ch n Yẽs Nêấu sau đó quá trình cài đ t không thành công, b n có thọ ặ ạ ểquay l i và ch n No bạ ọ ở ước này.
Đ t o m i 1 projẽct, b n th c hi n thẽo trình t các bể ạ ớ ạ ự ệ ự ước sau:
- Bước 1: Kh i đ ng chở ộ ương trình
- Bước 2: T i v trí trên cùng bên tay trái màn hình, ch n Filẽ -> Nẽw -> Nẽw Projẽct 1 c aạ ị ọ ửs m i đổ ớ ược hi n ra yêu câều b n nh p tên Projẽct, tích ch n m c C Projẽct và cuôấi cùngệ ạ ậ ọ ụnhâấn OK đ hoàn thành.ể
- Bước 3: Trong m c Crẽatẽ Nẽw Projẽct -> Savẽụ
- Bước 4: Tiêấp t c vào Filẽ -> Nẽw -> Sourcẽ Filẽ -> Add sourcẽ filẽ to currẽnt projẽct -> Yẽsụđ hi n th màn hình ch nh s a filẽ nguôền.ể ể ị ỉ ử
- Bước 5: Th nh p và ch y m t chử ậ ạ ộ ương trình đ n gi n Sau đó vào Filẽ -> Savẽ As L u ýơ ả ưphâền m r ng c a filẽ nên đ t là “.c” Các phâền m r ng khác có th g p s côấ khi biênở ộ ủ ặ ở ộ ể ặ ự
ị
Trang 10+ Xây d ng khung xự ương cho bài codẽ thông qua l nh switch ệ
+ Tìm hi u các hàm h thôấng trong th vi n có sắễn đ tiêấn hành thao tác giao di nể ệ ư ệ ể ệ+ L p danh sách các d li u có trong filẽ sắễn đ lâấy d li u ch y yêu câều ậ ữ ệ ể ữ ệ ạ- L p trìnhậ
+ S d ng các kyễ thu t l p trình C/C++ử ụ ậ ậ đã đượ ọc h c trên l p, th c hi n thiêất kêấ chớ ự ệ ương trình
+ Các thành viên thẽo s phân phó nhóm trự ưởng viêất codẽ các hàm con sau đó gắấn vô chương trình chính Các modulẽ và ch c nắng sẽễ lâền lứ ượ ượt đ c viêất nên Rôềi sau đó chúng được kêất h p thành 1 s n ph m hoàn ch nh ợ ả ẩ ỉ
+ Các thành viên thôấng nhâất trong cách x lý hàmử , biêấn t o thu n l i cho vi c l p trình ạ ậ ợ ệ ậvà hi u qu c a chệ ả ủ ương trình.
S đôề quá trình tri n khai cài đ tơ ể ặ
3.2.3 Huấn luyện mô hình
Ch yạchương
trình
Ch nh s a ỉ ử
Trang 11X lý nh: ử ả Nh n d ng ký tậ ạ ự (Optical Charactẽr Rẽcognition), thu t toán chuy n d ậ ể ữli u trên vắn b n thành d li u sôấ hóa Nh nệ ả ữ ệ ậ biêất các kí t đ c bi t chuy n hóa sang ự ặ ệ ểkí t m i.ự ớ
Phân tích vắn b n ả (Tẽxt analysis): là công vi c trích xuâất ho c phân lo i thông tin t ệ ặ ạ ừvắn b nả
- Khai thác thông tin (Information Extraction): t m t vắn b n, h c cách đ trích xuâất các ừ ộ ả ọ ểthông tin h u ích Ch ng h n nh trích xuâất tênữ ẳ ạ ư , đi m, tể ừ khóa,…
C i thi n (Improvẽ) quaả ệ bước này d li u đ a vào đữ ệ ư ươ ửc x lý , thu nh p và phân tích ậđ chể ương trình đ t đêấn đ chính xác nh mong muôấn, nêấu ch a chính xác tiêấn hànhạ ộ ư ưl p l i các bặ ạ ướ ểc đ hoàn ch nh nh kỳ v ng.ỉ ư ọ
D li u (Data) : D li u câền n p vào mô hình các thông tin vêề sinhữ ệ ữ ệ ạ viên tên, mssv, l p, ớho t đ ng tính đi m rèn luy nạ ộ ể ệ , thông tin đắng kí và đắng nh p, các h c phâền có ậ ọtrogn chương trình h c,…ọ
Mô hình (Modẽl) : Mô hình tuyêấn tính và mô hình phi tuyêấn tình giúp chúng ta t o ra ạnhiêều mô hình ph c t p và chi tiêất h n, quan tr ng là chúng phù h p v i d li u tôất ứ ạ ơ ọ ợ ớ ữ ệh n nhiêều so v i m t môấi quan h tuyêấn tính c b n – ơ ớ ộ ệ ơ ả
Tôấi u hóa (Optimization) nhiêều vâấn đêề câền đư ược xây d ng dự ướ ại d ng tôấi thi u hóa ểtrên m t t p h p ộ ậ ợ
Huâấn luy n mô hình(Training modẽl) đ tệ ạ hi u qu ệ ả
- Huâấn luy n mô hình t ra c c kỳ hi u qu , h n h n con ngệ ỏ ự ệ ả ơ ẳ ười trong c th các lĩnh v cụ ể ự khác nhau
- M t t p d li u huâấn luy n bao gôềm nhiêều mâễu huâấn luy n Môễi mâễu huâấn luy n sẽễ là ộ ậ ữ ệ ệ ệ ệm t th hi n c a bài toán(có đâều vào và l i gi i)ộ ể ệ ủ ờ ả được gi i quyêất nhanh chóngả- Huâấn luy n mô hình sẽễ ph thu c vào chính m c tiêuệ ụ ộ ụ đêề ra ban đâều
- Huâấn luy n mô hình cũng có môấi quan h m t thiêất v i tôấi u hóa Các hàm mâất mát thệ ệ ậ ớ ư ểhi n s khác bi t gi a các d đoán c a mô hình đang đệ ự ệ ữ ự ủ ược huâấn luy n và các trệ ường h p vâấn đêề th c têấ.ợ ự
- L a ch n các đ c tr ng thích h p là m t nhi m v quan tr ng trong Huâấn luy n mô ự ọ ặ ư ợ ộ ệ ụ ọ ệhình
ư ươ trình vào các d li u đã thu th p sắễn đ x lý ữ ệ ậ ể ử
Trang 123.3 Thực nghiệm
3.3.1 Đánh giá mức độ hoàn thành các phương pháp đề xuất- Xẽm và ch nh s a thông tin (ỉ ử 100%)
- Hi n th b ng đi m h c t p (ể ị ả ể ọ ậ 80%)- Hi n th b ng đi m rèn luy n (ể ị ả ể ệ 40%)- Thêm/S a/Xóa môn h c (ử ọ 100%)- Thông tin h c b ng (ọ ổ 60%)- Qu n lí l ch thi (ả ị 60%)
3.3.2 Phân tích định tính
- M tộ sôấ ví d khi ch y chụ ạ ương trình
Giao di n đắng nh p tài kho nệ ậ ả
Trang 13Giao di n chính c a chệ ủ ương trình
Xẽm và ch nh s a thông tinỉ ử
Trang 14Xẽm b ng đi m các môn h cả ể ọ
Xẽm b ng đi m rèn luy nả ể ệ