1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu Laravel và áp dụng để phát triển ứng dụng quản lý đồ án sinh viên Học viện Công nghệ Bưu chính Viễn thông

83 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu Laravel và áp dụng để phát triển ứng dụng quản lý đồ án sinh viên Học viện Công nghệ Bưu chính Viễn thông
Tác giả An Nguyễn Nam Sơn
Người hướng dẫn ThS. Vũ Thị Tú Anh
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành Công nghệ đa phương tiện
Thể loại Đồ án tốt nghiệp Đại học
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 83
Dung lượng 18,19 MB

Nội dung

Dé áp dụng những tiến bộ trong công việc hàng ngày em đã chon đề tài phát triển một website quản lý đồ án tốt nghiệp của sinh viên trường Học viện Công nghệ Bưu chính viễn thông.. Chính

Trang 1

Dé tai: TIM HIEU LARAVEL VA AP DUNG DE PHAT

TRIEN UNG DUNG QUAN LY ĐỎ AN SINH VIÊN

HỌC VIEN CONG NGHỆ BUU CHÍNH VIÊN THONG

Người hướng dan: ThS.Vũ Thị Tú Anh

Sinh viên thực hiện: An Nguyễn Nam Sơn

Lớp: DI9PTDPT Hệ: Đại học chính quy

HÀ NỘI - 2023

Trang 2

BO THONG TIN VÀ TRUYEN THONG

HQC VIEN CONG NGHE BUU CHINH VIEN THONG

DO AN TOT NGHIEP DAI HOC

Dé tai: TIM HIEU LARAVEL VA AP DUNG DE PHAT TRIEN

UNG DUNG QUAN LY ĐỎ ÁN SINH VIÊN HỌC VIEN

CONG NGHE BUU CHINH VIEN THONG

Người hướng dẫn: ThS.Vũ Thị Tú Anh

Sinh viên thực hiện: An Nguyễn Nam Sơn

Lớp: DI9PTDPT

Hệ: Đại học chính quy

Trang 4

Đồ án tốt nghiệp Đại học

DE CƯƠNG DE TÀI

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN CONG HOA XÃ HỘI CHỦ NGHĨA VIỆT

THÔNG KHOA ĐA PHƯƠNG TIỆN NAM Độc lập - Tự do - Hạnh phúc

DE TAI DO AN TOT NGHIỆP ĐẠI HỌC

Ho và tên sinh viên: AN NGUYEN NAM SON

Lớp: DI9PTDPT Khoá: 2019-2023 Ngành dao tạo: Công Nghệ Da Phương Tiện Hệ đảo tạo: Đại học chính quy

1 Tên đồ án/khoá luận tốt nghiệp: Tìm hiểu Laravel và áp dụng dé phát triển ứng

dụng quản lý đồ án sinh viên Học viện Công nghệ Bưu chính Viễn thông

2 Lý do chọn đề tài:

Hiện nay công nghệ thông tin có vai trò quan trọng, trở nên phô biến và có ảnh

hưởng tới các hoạt động quản lý và tác nghiệp từ cơ quan nhà nước, trường học, các

doanh nghiệp Cùng với sự phát triển của Internet thì các hệ thống thông tin, phần

mềm quan lý cũng trở nên đa dạng hơn Việc chuyên đổi các hệ thống cũ dựa trên

tương tác trực tiếp giữa hệ thống sang tương tác giữa con người và hệ thống sẽ giúpviệc xử lý, thực hiện các tác vụ một cách tự động hoá dễ dàng và rút ngắn thời gian,

nâng cao hiệu suất công việc Con người có thê ngồi ở nhà hay bất kỳ đâu mà vẫn có

thé quản lý hệ thống va thu thập đữ liệu

Sinh viên năm cuối học bậc đại học hoặc cao dang cuối khoá sẽ phải làm dé tài

tốt nghiệp dé nộp cho nhà trường Việc quản ly đồ án tốt nghiệp sinh viên là một yêucầu thiết yếu của mỗi trường đại học Để quản lý đồ án và lưu trữ có hiệu quả thì

không đơn giản bởi đòi hỏi kỹ năng của người quan lý Lam sao dé vừa có thé kiểm

soát được số lượng dé tai của các khóa, các hệ đào tạo khác nhau vừa có thể lưu trữ nó

làm tài liệu cho các bạn sinh viên khóa sau đồng thời phân công giảng viên hướng dẫn

đồ án một cách hợp lý Do đó việc đòi hỏi có một ứng dụng trợ giúp cho công việc

quản lý và lưu trữ đồ án tốt nghiệp sinh viên là một nhu cau tất yếu dé đảm bảo hiệu

quả và tiết kiệm thời gian trong công việc Chính vì vậy, em đã chọn đề tài Xây dựngmột website quản lý đồ án tốt nghiệp của sinh viên trường Học viện Công nghệ Bưu

chính Viễn thông Đây là quá trình em áp dụng những kiến thức đã học vào thực tiễn

Đề tài của em lấy bối cảnh trường em đang theo học nên có thể tìm hiểu thêm thông

tin và các nghiệp vụ chức năng cần có dé xây dựng nên một website tiện dụng, dễ triển

khai và mang lại tính hiệu quả cao.

3 Nội dung chính của đồ án:

An Nguyễn Nam Sơn — DI9PTDPT

Trang 5

Đồ án tốt nghiệp Đại học

Đô án được chia làm các chương như sau:

Chương 1: Tổng quan về đề tài Chương này miêu tả bài toán và các chức năng

của hệ thông.

Chương 2: Giải pháp xây dựng hệ thống Chương này sẽ trình bày phương

pháp xây dựng hệ thông băng việc ứng dụng các công nghệ

Chương 3: Xây dựng hệ thống Chương này sẽ đưa ra phương pháp xây dựng

hệ thông, phân tích và thiệt kê hệ thông, biêu đồ use case, biêu đô lớp và biêu đô tuân

tự cho từng chức năng của hệ thông, xây dựng cơ sở dữ liệu cho hệ thông.

Kết luận: Dua ra kết quả, hướng phát triển tiếp theo và kết luận của việc xây

dựng hệ thông.

4 Ngày giao đề tài: 02/10/2023

5 Ngày nộp quyén: 17/12/2023

GIẢNG VIÊN HƯỚNG DẪN SINH VIÊN THỰC HIỆN

(Ký, ghi rõ họ tên) (Ký, ghi rõ họ tên)

An Nguyễn Nam Sơn

TRUONG KHOA

(Ky, ghi rõ họ tên)

An Nguyễn Nam Sơn — DI9PTDPT

Trang 6

Đồ án tốt nghiệp Đại học

LOI CAM ON

Em xin gửi lời cảm ơn chân thành nhất đến thay cô trường Hoc viện Công nghệBưu chính Viễn thông, cũng như thầy cô khoa Đa phương tiện đã đồng hành, giúp đỡ

em trong học tập từ năm nhất đến nay Nhờ sự hướng dẫn tận tình của thầy cô, em đã

học tập được những kiến thức chuyên ngành cũng như những kỹ năng cần thiết để

hoàn thành tốt đề tài đồ án tốt nghiệp này

Đặc biệt em xin bày tỏ lòng biết ơn chân thành, sâu sắc đến giảng viên hướngdẫn ThS Vũ Thị Tú Anh đã trực tiếp giúp đỡ, hướng dẫn, chia sẻ cho em những kiếnthức chuyên môn, cách thức làm việc và cả kinh nghiệm thực tế trong suốt quá trình

em thực hiện đồ án tốt nghiệp Em xin gửi lời cảm ơn sâu sắc nhất tới cô

Tuy nhiên, vì thời gian có hạn, trình độ hiểu biết của bản thân còn hạn chế, kiến

thức chuyên môn còn nhiều thiếu sót khi tìm hiểu và trình bày đồ án Em rất mong

nhận được sự góp ý và quan tâm từ thầy cô cũng như bạn bè để em hoàn thiện đồ án

hoàn thiện hơn.

Em xin chân thành cảm ơn!

Hà Nội, tháng 12 năm 2023

Sinh viên

An Nguyễn Nam Sơn

An Nguyễn Nam Sơn — DI9PTDPT

Trang 7

DANH MỤC CÁC KY HIỆU VÀ CHU VIET TAT.u cccessessessessssesssssssescsesecseeees iv

DANH MỤC CAC BANG ecsssssssssssssssssssssssssssscsscsscsocsecsacsscsacsucsucsucscsecaneaeacsseaeseeaes v

06710055 1

CHƯƠNG 1: TONG QUAN VE DE TTÀII 2-° 5-5 5< 5 se se seesesssezecsee 2

1.1 Giới thiệu đề tài ¿- +: 5c 22221 S2E 2112112212211211211211211111112111111211 1112 re 2

1.2 Lý do chọn dé tài - ¿s1 9E EE12E1211211211211217111111111111111 211111 2

1.3 Mô tả bài toán - 5-5-2 c2212E122121127127112112112112112112111121121121212 111kg 2

1.4 Tính cấp thiết của đồ án - 2-5 s22 12121 181121271211111121 111111111111 te 3

1.5 Quy trình phát triỀn ¿52 SE ES2E9EE2EEEE2E21511212121111112111 1111111111111 re 4

CHUONG 2: GIẢI PHÁP XÂY DỰNG HỆ THÓNG -.- 5° 5525 <se52 6

2.1 6o ái 2i: 71 6

2.1.1 Ngôn ngữ HTML và CSS - 2 22E+2E2EEEEE22E22E12712711211211 2121 xe 6 2.1.2 Ngôn ngữ JaVaSCTIDI - - - c 1 213 111 1111911111 11H TH nry 8 2.1.3 Ngôn ngữ PHP - - - G1 1111 1 1S 1T 1H HH nen 9

2.1.4 Laravel Frame€WOFK - + + + 2111112223111 12531111 S292 11v nen ng xxx 12 2.1.5 Hệ quản tri cơ sở đữ liệu MySQL .- 2c 2S 323 ksrrrrrrerrexee 19

2.2 Mô hình hoạt động - S211 1112 1S 111111 11101119 k1 nghe 20

2.3 Mô hình phát triển hệ thống - 2-2 2 £+E£SEE£EEÊEE2EEEE2EEEEEEEEEEEEEEErErrkrkei 21

2.3.1 Mô hình thác nước là gì? - ¿+ + ++22£EEtEE2E12E12711211221271 21.211 cxe 21 2.3.2 Các giai đoạn chính - - + - +21 1121331111311 1551 1111111111111 E11 1n rrg 22

2.3.3 Ưu, nhược điểm của mô hình thác nước -¿ :+s+s+s+s+E+E+EszezszE+z+zszsz 22

2.3.4 Ứng dụng và trường hợp sử dụng -¿-22++2x2x++zxzzxrzxezrxerxerxee 23

CHUONG 3: XÂY DUNG HE THÓNG -2- 225252 s2 se +sessssesesseses 24

3.1 Xác định yêu cÂu -¿- - + t2 E12EEE19E121E112111121121112111111111111 1111111 rrey 24

3.1.1 Quá trình thực hiện đồ án tốt nghiỆp 2© stEeEE+E£EE2EeErxzEerez 243.1.2 Các tác nhân của hệ thống - ¿+ +E+SE9EE#EEEEEEEE2E12E12E1212212E 22x xE 24

3.1.3 Các ca SU Ụng - án nh TH TH TH TH nh 24

Trang 8

3.4 Kết 8018510000101 A.a 54

3.4.1 Giao diện Quan tri VIÊT G2 113211112511 112 11115211118 1111111922111 xa 54 3.4.2 Giao diện của Sinh VIÊN 2c 5 2211111222311 11 1111111555555 xe 63 3.4.3 Giao diện của GIANG VIÊN c1 1112112 1 11 1111111111111 811 11k ng key ó6

KET 09007 69

Kết hNo:89ì10 2101.77.44 69

Hướng phát triển trong tương lai - 5c s52 SE2EEEEEE2EEE121E712112121211111 1111 xe 69

TÀI LIEU THAM KHẢO 2- 5Ÿ 5£ 5£ 5£ 8 223232 ES£ E32 Es2 E5 S552 532 s2 70

Trang 10

Đồ án tốt nghiệp Đại học

DANH MỤC CAC BANG

Bang 3.2 Đặc tả Use case Đăng nhập - - c1 2.11121112911111 1111111111111 E1 re 28

Bang 3.3 Đặc ta Use case Đăng ký đồ án tốt nghiệp - 5-2 Ssccscccczxerrxres 29

Bảng 3.4 Đặc ta Use case Sinh viên nộp đồ án tốt nghiệp -2- 5 2+2+csczzs¿ 29Bảng 3.5 Đặc ta Use case Nhập danh sách đồ án tốt nghiệp của sinh viên 30Bang 3.6 Đặc ta Use case Thành lập hội đồng - 2 + s+S2+E£EE+E££E+EzEererxrez 30

Bang 3.7 Đặc ta Use case Quan ly đồ án tốt nghiệp sinh viên 2- 5 s52 31Bang 3.8 Đặc ta Use case Nhập điểm đồ án cho sinh viên - 5-2-5252 secsS2 32

Bang 3.9 Đặc ta Use case Quan lý thông tin khoa . 5 S3 + ss+sseerrerrers 32 Bảng 3.10 Đặc ta Use case Quan lý thông tin ngành học c5 sex 33

Bảng 3.11 Đặc tả Use case Quan lý thông tin niên khoá ¿555555 +++<ss52 34 Bảng 3.12 Đặc tả Use case Quan lý thông tin giảng vIiÊn -.- 5-55 + ‡++ss+sss2 34 Bảng 3.13 Đặc tả Use case Quan lý thông tin sinh viÊn 5-52 S55*++s+++ssss2 35

Bang 3.14 Đặc tả Use case Quản lý thông tin hội đỒng - 5-5-2 +c2zzcs£zze2 36Bảng 3.15 Đặc tả Use case Chỉnh sửa dé tài đồ án tốt nghiệp cho sinh viên 36Bang 3.16 Đặc ta Use case Cham điểm đồ án tốt nghiệp của sinh viên 37

Bảng 3.17 Mô tả các bang trong cơ sở dữ lIỆU - c1 1132 3 Esrrresrerres 46 Bảng 3.18 Mô tả các bảng COUCIÏS - -. c 2c 1321113111121 111551 1111911111181 1 1E ke 47

Bảng 3.19 Mô tả các bang council defalÏS - - - + Sc s23 xkstresirrerrrrree 48 Bảng 3.20 Mô tả các bảng deparfimerit - c1 vn ng HH ngư 48 Bang 3.21 Mô tả các bảng Ï€CfUT€TS - - c 1 2010121113121 1119111118111 1 ng 111 nrrreg 48

Bảng 3.22 Mô tả các bảng I4JOFS - - c2 3221112111311 1181 111111111111 111111 811 re, 49 Bảng 3.23 Mô tả các bảng I€WS L1 HS TH 1H11 TH 1H kg key 49

Bảng 3.24 Mô tả các bảng DOSI{IOIS 0 2 31 112 St 1n TH kg kg re 50 Bảng 3.25 Mô tả các bảng TOÌ€S - s11 TH ng HH nh TH nh 50

Bảng 3.26 Mô tả các bảng school _y€AS c2 12212121112 1111111111111 1 1E xe 50 Bảng 3.27 Mô tả các bảng SCOF€S LG 2 01 0112111111111 111011101110 1110111811 8g key 51 Bảng 3.28 Mô tả các bang sfud€nIfS - - c1 1211111111111 11111111 18 1111111111111 1 re, 51 Bảng 3.29 Mô ta các bang student_ theSIs - 2c 2 132323 1313 1x re 52

Bảng 3.30 Mô tả các bang the€SIS ch HH TH TH TH TH nh 52

An Nguyễn Nam Sơn — DI9PTDPT

Trang 11

Đơ án tơt nghiệp Đại học

Hình 2.5 Lưu đồ hoạt động của kiến trúc \MVC -.cc + ESt2EE1E121511112112EEEEE xe 13

Hình 2.6 Cách hoạt động khái quát cơ bản của LaravelÌ ¿+ s-s+s++sscsx+ssss2 14

Hình 2.7 Hệ quan tri cơ sở dữ liệu MySQL, - 5322 +2 1+ +3 kxsrrerrerrekre 19

Hình 2.8 Mơ hình hoạt động của hệ thong "— 20

Hình 2.9 Mơ hình thác nước WaterfaÏÏ - - - c1 1x12 1111112 tk SH ng ng re 21

Hinh 3.1 Qua trinh thuc hién đồ án tốt nghiệp của sinh vIiÊn - 55-5 ss++s<s+ 24

Hình 3.2 Biểu đồ Use case tong quát - ¿+ SE E2 E2E1212121112121 111 cEee 27

Hình 3.3 Biểu đồ lớp 2: + 19S19EE9EE2E12E12112112112112171711111111111 11.111 xe 38

Hình 3.4 Biểu đồ trạng thái đăng ký dé tài đồ án tốt nghiệp :- 5-52: 39

Hình 3.5 Biểu đồ trạng thái giảng viên hướng dẫn chỉnh sửa dé tài đồ án 40

Hình 3.6 Biéu đồ trang thái nhập Excel danh sách đồ án tốt nghiệp của sinh vién 40

Hình 3.7 Biéu đồ trạng thái thành lập hội đồng bảo vệ đồ án tốt nghiệp 41

Hình 3.8 Biéu đồ trạng thai sinh viên nộp đồ án tốt nghiệp 25-5 eee 42

Hình 3.9 Biểu đồ trang thái giảng viên cham điểm đồ án sinh viên - 43

Hình 3.10 Biéu đồ trạng thái Sinh viên xem điểm đồ án tốt nghiệp 43

Hình 3.11 Biéu đồ tuần tự đăng ký dé tài đồ án tốt nghiệp 5 25sccscsss¿ 44

Hình 3.12 Biéu đồ tuần tự giảng viên hướng dẫn chỉnh sửa dé tài đồ án 44

Hình 3.13 Biéu đồ tuần tự nhập Excel danh sách đồ án tốt nghiệp của sinh vién 45

Hình 3.14 Biéu đồ tuần tự thành lập hội đồng bảo vệ đồ án tốt nghiệp 45

Hình 3.15 Biéu đồ tuần tự nộp đồ án tốt nghiệp - - + 2 +2+x+E+EeEvEzzxzxerrree 45

Hình 3.16 Biéu đồ tuần tự giảng viên cham điểm đồ án sinh viên 46

Hình 3.17 Lược đỗ cơ sở dữ liệu - : 55cc22ttt2 tre 46

Hình 3.18 Giao điện Trang tổng quan - ¿2+ s+s9EE£EE£EEEEEEEE2E12E12E121221 212 cEee2 54

Hình 3.19 Giao diện Quản lý khoa c2 2211121112 1111 112 111111181191 ng Hy re 54

Hình 3.20 Giao diện Quản lý ngành học - c2 2212211322112 E111 Eeexxks 55

Trang 12

Đồ án tốt nghiệp Đại học

Hình 3.21 Giao diện Quản lý niên khoả - 2c 2122322111332 Exxx 55

Hình 3.22 Giao diện Quản lý giảng VIÊn - (c0 201121111 1111111111111 1851 11111 xe 56

Hình 3.23 Giao diện Thêm mới giảng VIÊN - - c3 1321113213511 Exkxrs 56

Hình 3.24 Giao diện Nhập Excel danh sách giảng viên - 5 ss+++sscssssss2 56

Hình 3.25 Giao diện Xác nhận trước khi xoá dit liệu - 5-5 5525 << <++++++++++>s+ 57

Hình 3.26 Giao diện Quản lý chức VỤ - - c0 2222111121111 11111111111 11118111 rà 57

Hình 3.27 Giao diện Quản lý sinh Vién ccc cccccsscesscessceesecsseeeeseceseeesseeesseeeeeeseees 58

Hình 3.28 Giao diện Thông tin chỉ tiết về sinh viên 2: 2 c2 +xete£Ee£eEzrx 58

Hình 3.29 Giao diện Thêm mới sinh viÊn 5 5 222333 * +22 EEE++++++zzzzezseeseexs 58

Hình 3.30 Giao diện Chỉnh sửa thông tin sinh vIÊn - c1 sseeeeree 59

Hình 3.31 Giao diện Nhập Excel danh sách sinh viên .- 5 523 +++<ssssssx+++ 59

Hình 3.32 Giao diện Xác nhận trước khi xoá đữ liệu 5225555 +‡+£+++++>s+ 59

Hình 3.33 Giao diện Quản lý đồ án - 5 5c S1 SE EE12E1211211211211211 1111111 cx6 60

Hình 3.34 Giao diện Thêm mới đồ án 5-5522 tttEEtttrrtttrttttrrrrrtrrrrrrrek 60

Hình 3.35 Giao diện Chỉnh sửa thông tin đồ án ¿ 2 + s2S22E£+zzzxczxzzves 61

Hình 3.36 Giao diện Nhập Excel danh sách AG án St SE 11111111111 tre 61

Hình 3.37 Giao điện Thông tin chi tiết về d6 án -2- 2 sSt2E‡E‡E£E££E2EeEerrrree 61

Hình 3.38 Giao diện Quản lý hội G6ng cececececssessessessessessesessesesessesssessessseesvseeeees 62

Hình 3.39 Giao diện Thanh lập hội đồng - 2-2 2 E+EE+EE+EE2EE+EeEEzErEerxzEerees 62

Hình 3.40 Giao diện Thông tin chi tiết về hội đồng 2-2 s52 z+x+>zzsze: 62

Hình 3.41 Giao diện Quản lý tin fỨC cà 1S 111 SH SSH HT net 63

Hình 3.42 Giao diện Thông tin chi tiết tin tỨC -2- ¿+ SEt+E2E+E£EvEEEErEexerereree 63

Hình 3.43 Giao diện Đăng ký đề tài 5 - St TEE21121121121121121111 1111 tre 64

Hình 3.44 Giao diện Đã đăng ký đề tải 5 cesses nề 2212112112121 1121 1e 64

Hình 3.45 Giao điện D6 án cá nhân -:::- 22+ttEtttttEEttttErrrrrtrrrrrrrrrirrrree 65

Hình 3.46 Giao diện Xem thông tin chi tiết đồ án cá nhân 25:55: 65

Hình 3.47 Giao diện Xem tin fỨC 2 E1 211111113531 111119331 1111185535555 1 1111k xe 66

Hình 3.48 Giao diện Hội đồng tham gia 5: S9 SE 2E E2 E212 xE 66

Hình 3.49 Giao diện Thông tin hội đồng và danh sách d6 án -2- 5-5: 67

Hình 3.50 Giao diện Chấm điểm đồ ann ccseeccseecsseessseeesseeesseeessesssneesneeenes 67

Hình 3.51 Giao diện Danh sách đồ án phụ trách hướng dẫn 5-2: 68

An Nguyễn Nam Sơn — DI9PTDPT vii

Trang 13

Đồ án tốt nghiệp Đại học Mở đầu

MỞ DAUHiện nay công nghệ thông tin có vai trò quan trọng, trở nên phổ biến và có ảnh

hưởng tới các hoạt động quản lý và tác nghiệp từ cơ quan nhà nước, trường học, các

doanh nghiệp Cùng với sự phát triển của Internet thì các hệ thống thông tin, phần

mềm quản lý cũng trở nên đa dạng hơn Việc chuyên đổi các hệ thống cũ dựa trên

tương tác trực tiếp giữa hệ thống sang tương tác giữa con người và hệ thống sẽ giúpviệc xử lý, thực hiện các tác vụ một cách tự động hoá dễ dàng và rút ngắn thời gian,

nâng cao hiệu suất công việc Con người có thé ngồi ở nhà hay bat kỳ đâu ma vẫn có

thé quản lý hệ thống và thu thập dữ liệu

Dé áp dụng những tiến bộ trong công việc hàng ngày em đã chon đề tài phát

triển một website quản lý đồ án tốt nghiệp của sinh viên trường Học viện Công nghệ

Bưu chính viễn thông.

Đồ án tốt nghiệp của em sẽ có phạm vi như sau:

e Đối với sinh viên: Đăng ký dé tai đồ án tốt nghiệp, đăng ký giảng viên hướng

dẫn, nộp dé án tốt nghiệp, xem điểm bảo vệ của đồ án, xem tin tức

e Đối với giảng viên: Duyệt dé tài sinh viên đăng ký, xem thông tin hội đồng,

cham điểm cho đồ án

e Đối với quản trị viên: Quan lý các dit liệu về khoa, ngành, niên khoá, hội đồng,

giảng viên, sinh viên, đồ án tốt nghiệp, điểm bảo vệ đồ án, tin tức, phân công

hướng dẫn, phản biện.

Hệ thống được chạy trên nền tảng web dé cho người dùng có thé thuận tiện, dé dang

tương tác với hệ thống Ung dụng được xây dựng bằng ngôn ngữ PHP với framework

Laravel.

Nội dung của báo cáo dé án tốt nghiệp bao gồm những nội dung sau:

e Chương 1: Tổng quan về dé tài Chương này miêu tả bài toán và các chức năng

của hệ thống

e Chương 2: Giải pháp xây dựng hệ thống Chương này sẽ trình bày phương pháp

xây dựng hệ thông bằng việc ứng dụng các công nghệ

© Chương 3: Xây dựng hệ thống Chương này sẽ đưa ra phương pháp xây dựng

hệ thống, phân tích và thiết kế hệ thống, biểu đồ usecase, biểu đồ lớp và biểu đồ

tuần tự cho từng chức năng của hệ thống, xây dựng cơ sở dữ liệu cho hệ thống

e Kết luận: Dua ra kết quả, hướng phát triển tiếp theo và kết luận của việc xây

dựng hệ thống

An Nguyễn Nam Sơn — DI9PTDPT

Trang 14

Đồ án tốt nghiệp Đại học Chương 1: Tổng quan về đề tài

CHƯƠNG 1: TONG QUAN VE DE TÀI1.1 Giới thiệu đề tài

Dưới thời đại công nghiệp hoá, hiện đại hoá, sự xuất hiện của công nghệ gópphan quan trong trong khâu quan ly trong mọi lĩnh vực trở nên dé dang hơn, đáp ứngnhu cầu của mọi người Trong đời sống, việc tô chức, quản lý và cham điểm đồ án tốtnghiệp rất phức tạp và rắc rỗi nên em đã xây dựng một hệ thống quản lý đồ án tốtnghiệp bằng ngôn ngữ PHP thông qua quá trình tìm hiểu và nghiên cứu Laravel

Framework.

1.2 Lý do chọn đề tài

Hiện nay công nghệ thông tin có vai trò quan trọng, trở nên phô biến và có ảnh

hưởng tới các hoạt động quản lý và tác nghiệp từ cơ quan nhà nước, trường học, các

doanh nghiệp Cùng với sự phát triển của Internet thì các hệ thống thông tin, phần

mềm quản lý cũng trở nên đa dạng hơn Việc chuyên đổi các hệ thống cũ dựa trên

tương tác trực tiếp giữa hệ thống sang tương tác giữa con người và hệ thống sẽ giúp

việc xử lý, thực hiện các tác vụ một cách tự động hoá dễ dàng và rút ngắn thời gian,

nâng cao hiệu suất công việc Con người có thé ngồi ở nhà hay bat kỳ đâu mà vẫn cóthé quản lý hệ thống và thu thập dit liệu

Sinh viên năm cuối học bậc đại học hoặc cao đăng cuối khoá sẽ phải làm đề tài

tốt nghiệp dé nộp cho nhà trường Việc quan lý đồ án tốt nghiệp sinh viên là một yêucầu thiết yếu của mỗi trường đại học Để quản lý đồ án và lưu trữ có hiệu quả thìkhông đơn giản bởi đòi hỏi kỹ năng của người quản lý Lam sao dé vừa có thé kiểmsoát được số lượng dé tài của các khóa, các hệ đào tạo khác nhau vừa có thể lưu trữ nó

làm tài liệu cho các bạn sinh viên khóa sau đồng thời phân công giảng viên hướng dẫn

đồ án một cách hợp lý Do đó việc đòi hỏi có một ứng dụng trợ giúp cho công việcquản lý và lưu trữ đồ án tốt nghiệp sinh viên là một nhu cầu tất yêu để đảm bảo hiệu

quả và tiết kiệm thời gian trong công việc

Chính vì vậy, em đã chọn đề tài Xây dựng một website quản lý đồ án tốt nghiệp

của sinh viên trường Học viện Công nghệ Bưu chính Viễn thông Đây là quá trình em

áp dụng những kiến thức đã học vào thực tiễn Đề tài của em lấy bối cảnh trường em

đang theo học nên có thé tìm hiểu thêm thông tin và các nghiệp vụ chức năng cần có

để xây dựng nên một website tiện dụng, dễ triển khai và mang lại tính hiệu quả cao

1.3 Mô tả bài toán

Bài toán phát sinh từ tình hình thực tế của các trường đại học nói chung và Học

viện Công nghệ Bưu chính viễn thông nói riêng trong việc tổ chức làm đồ án tốtnghiệp cho sinh viên năm cuối các ngành Kỹ thuật Từ đó xây dựng hệ thống giúp

quản lý đồ án tốt nghiệp, giúp giảm bớt công sức của sinh viên và giảng viên, đồng

thời giúp cho việc quản lý trở nên rõ ràng, tiện lợi Hệ thống quản lý đồ án tốt nghiệp

được xây dựng cho sinh viên, giảng viên, quản trị viên sử dụng Với Học viện Công

nghệ Bưu chính Viễn thông, cách làm việc trước đây (nộp đơn, gửi email ) được đánh

An Nguyễn Nam Sơn — DI9PTDPT

Trang 15

Đồ án tốt nghiệp Đại học Chương 1: Tổng quan về đề tài

giá là không phù hợp và thiếu hiệu quả, do đó hệ thống ra đời được kỳ vọng sẽ là giải

pháp cho quy trình đăng ký và quản lý đồ án tốt nghiệp, làm đơn giản việc quản lý

cũng như giúp sinh viên dé dang nắm bắt được thông tin Hệ thống sẽ mang tính kháchquan, công băng, thê hiện qua việc sinh viên đăng ký và người có thâm quyền phê

duyệt.

Hệ thông sẽ bao gôm các chức năng sau:

e Đôi với sinh viên:

©

©

Đăng ký đồ án: sinh viên có thê nêu ra dự định về đề tài, và giảng viên hướngdan mình làm đồ án

Nộp đồ án tốt nghiệp: sinh viên tải lên tập tin đồ án tốt nghiệp của minh dé

giảng viên có thé xem và cham điểmXem điểm đồ án tốt nghiệp: Sau khi hoàn thành đồ án và được hội đồngchấm điểm, sinh viên có thé xem được điểm của minh

Xem tin tức, thông báo từ quản tri viên trên bảng tin của website

® Đôi với giảng viên:

© Phê duyệt đồ án: Giảng viên có thé phê duyệt dé tài đồ án sinh viên do giảng

viên hướng dẫn

Xem hội đồng tham gia: xem thông tin hội đồng tham gia bao gồm thành

viên hội đồng, chức vụ trong hội đồng, những đồ án tốt nghiệp bảo vệ

Cham điểm đồ án: Giảng viên chấm điểm đồ án tốt nghiệp khi sinh viên đãnộp đồ án tốt nghiệp

e Đôi với quản trị viên:

S Đăng tai và quản lý các tin tức: Những người dùng khác có thé thấy được tin

sửa, xóa sinh viên và giảng viên trong hệ thống QTV có thể nhập từ file

Excel mà không cần nhập thủ công từng sinh viên, giảng viênQuản lý đồ án tốt nghiệp của sinh viên: QTV có thể nhập từ file Excel bao

gồm tất cả thông tin về đồ án, sinh viên thực hiện, giảng viên hướng dẫn, hội

đồng bảo vệ QTV phân công hướng dẫn, phân công phản biện cho đồ án tốtnghiệp

Quản lý thông tin về hội đồng: QTV có thể thành lập các hội đồng theo sốquyết định thành lập hội đồng của trường, xem thông tin hội đồng, thành viênhội đồng, đồ án tốt nghiệp bảo vệ

An Nguyễn Nam Sơn — DI9PTDPT

Trang 16

Đồ án tốt nghiệp Đại học Chương 1: Tổng quan về đề tài

1.4 Tính cấp thiết của đồ án

Tại Học viện Công nghệ Bưu chính Viễn thông, việc đăng ký đồ án và giảng

viên hướng dẫn là tương đối bắt tiện do phải đăng ký trên giấy và nộp tại Văn phòng

một cửa, sinh viên đăng ký sẽ tốn công sức để đến trường nộp đơn, còn cán bộ tiếp

nhận thì phải mat nhiều thời gian dé xử lý từng đơn, hơn nữa còn có thể nhầm lẫn

trong quá trình xử lý.

Việc quản lý, lưu trữ đồ án tốt nghiệp sinh viên là một yêu cầu thiết yếu củamỗi trường đại học Dé quản lý đồ án và lưu trữ có hiệu quả thì không đơn giản bởi đòihỏi kỹ năng của người quản lý Lam sao dé vừa có thé kiểm soát được số lượng dé tàicủa các khóa, các hệ dao tạo khác nhau vừa có thé lưu trữ nó làm tài liệu cho các bansinh viên khóa sau đồng thời phân công giảng viên hướng dẫn đồ án một cách hợp lý

Một số trường đại học, cao đăng tại Việt Nam cũng đã xây dựng hệ thống cho

van dé này, tuy nhiên chưa giải quyết được triệt để Từ những lý do trên, việc xâydựng hệ thống dé quan lý đăng ký thực tập và đồ án là cần thiết

1.5 Quy trình phát triển

Hệ thống được xây dựng bằng mô hình Client - Server sử dụng ngôn ngữ PHP

(framework Laravel) va cơ sở dt liệu MySQL.

Quá trình phát triển hệ thống sẽ bao gồm các bước sau:

e Thiết kế, xây dựng cơ sở dit liệu: Tạo CSDL dé làm nơi lưu trữ dữ liệu CSDL

được sử dụng trong hệ thống là MySQL MySQL là một trong những cơ sở dit

liệu quan hệ phổ biến nhất hiện nay MySQL có tính bảo mật cao, phù hợp với hệthống quản lý thực tập của đồ án do có truy cập co sử dữ liệu trên Internet Ngoài

ra MySQL hỗ trợ nhiều chức năng SQL (phpMyAdmin, MySQL workbench),người quản trị có thể sử dụng để can thiệp trực tiếp vào cơ sở đữ liệu khi xảy rasai sót khi vận hành và cho phép khôi phục transaction khi xảy ra sự cố, giúp dữ

liệu được bảo toàn đúng đắn

e Xây dựng Server: Tao các bang và mỗi quan hệ trong CSDL, tạo các API va kết

nối các API với CSDL, tất cả đều được thực hiện bởi framework Laravel Laravel

là một framework của ngôn ngữ PHP, được sử dụng rộng rãi dé xây dựngwebsite theo mô hình MVC Laravel cung cấp 1 cơ chế giúp tạo các bảng cho

CSDL mà không cần trực tiếp theo tác trên hệ quản trị CSDL Laravel cung cấp

công cụ tích hợp dòng lệnh, giúp dé dàng thực hiện thay đổi cau trúc bảng trong

Cơ sở dữ liệu hay tạo thêm Controller, Model, Laravel cũng cung cấp cơ chế

mô phỏng các Model dựa trên quan hệ của các bảng trong Cơ sở dữ liệu (được

gọi là Eloquent ORM), giúp thực hiện truy vấn Cơ sở đữ liệu mà không cần sử

dụng ngôn ngữ SQL Ngoài ra Laravel cung cấp sẵn tính năng bảo mật: PDO

chống lại tan công SQL Injection và field token chống lại tan công CSRF, điều

này rất phù hợp với hệ thống đăng ký đồ án do yêu cầu tính bảo mật cao

An Nguyễn Nam Sơn — DI9PTDPT

Trang 17

Đồ án tốt nghiệp Đại học Chương 1: Tổng quan về đề tài

e Xây dựng giao diện website: Giao diện website được xây dựng băng Blade, một

engine template mạnh mẽ được tích hợp sẵn trong Laravel, cùng với đó là

HTML, CSS, JavaScript, Bootstrap Blade là một template engine cua Laravel,

giúp ban dé dàng tích hop PHP vào các file view ma không làm phức tap cú

pháp Blade template là một công cụ giúp chúng ta xử ly cú pháp trong view một

cách ngăn gọn, logic Không giống như các template khác trong PHP thì blade

cho phép chúng ta sử dụng cả PHP thuần trong nó Tất cả các blade template sẽ

được biên dịch về mã PHP thuần và cache lại nên về cơ bản sử dụng blade

template cũng không làm cho ứng dụng của bạn chậm đi.

An Nguyễn Nam Sơn — DI9PTDPT

Trang 18

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

CHƯƠNG 2: GIẢI PHÁP XÂY DUNG HE THONG

2.1 Công nghệ sử dụng

2.1.1 Ngôn ngữ HTML và CSS

a HTML,

Định nghĩa HTML: HTML(Hypertext Markup Language) là mã được dùng dé

xây dựng nên câu trúc va nội dung của trang web Vi dụ, nội dung có thê được cau

thành bởi một loạt các đoạn văn, một danh sách liệt kê, hoặc sử dụng những hình ảnh

và bảng biéu

HTML ESB

Hình 2.1 Ngôn ngữ HTML va CSS

Ưu điểm của HTML

Sở hữu nguồn tài nguyên vô cùng rộng lớn và cộng đồng hỗ trợ cực kỳ "hùng

hau" Sử dụng mượt mà trên hau hêt mọi trình duyệt.

Vô cùng đơn giản và dễ học ngay cả với những người mới.

Là mã nguồn mở và hoàn toàn miễn phí

Có markup gọn gàng và đồng nhất Được vận hành bởi World Wide Web

Consortium (W3C).

Tích hợp được với nhiều ngôn ngữ backend như PHP một cách dé dàng

Nhược điểm của HTML

Chỉ được dùng chủ yếu trong việc thiết kế website tĩnh

Đề có thé phát triển nên những tính năng động, ban cần sử dụng Javaccript hoặc

ngôn ngữ backend bên thứ 3 như PHP.

Một số trình duyệt hiện nay còn chậm hỗ trợ tính năng mới

Dường như rất khó kiểm soát cảnh thực thi của trình duyệt

b CSS

CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ được sử

dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu(HTML) Nói ngắn gọn hơn là ngôn ngữ tạo phong cách cho trang web Bạn có thể

An Nguyễn Nam Sơn — D19PTDPT

Trang 19

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

hiểu đơn giản rằng, nếu HTML đóng vai trò định dang các phan tử trên website như

việc tạo ra các đoạn văn bản, các tiêu đề, bang, thi CSS sẽ giúp chúng ta có thé thêm

style vào các phần tử HTML đó như đôi bố cục, mau sắc trang, đôi màu chữ, font chữ,thay đổi cấu trúc

CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996,

vì HTML không được thiết kế dé gắn tag dé giúp định dang trang web

Phương thức hoạt động của CSS là nó sẽ tìm dựa vào các vùng chọn, vùng chọn

có thé là tên một thẻ HTML, tên một ID, class hay nhiều kiểu khác Sau đó là nó sẽ áp

dụng các thuộc tính cần thay đổi lên vùng chọn đó

Mối tương quan giữa HTML và CSS rất mật thiết HTML là ngôn ngữ markup

(nền tảng của site) và CSS định hình phong cách (tất cả những gì tạo nên giao diện

website), chúng là không thé tach rời

Lợi ích chính của CSS:

e Giải quyết một van đề lớn Trước khi có CSS, các thẻ như phông chữ, màu sắc,

kiểu nền, các sắp xếp phan tử, đường viền và kích thước phải được lặp lại trênmoi trang web Đây là một quá trình rất dài tốn thời gian và công sức Ví dụ:Nếu bạn đang phát triển một trang web lớn nơi phông chữ và thông tin màuđược thêm vào mỗi trang, nó sẽ trở thành một quá trình dài và tốn kém CSS đã

được tạo ra đề giải quyết vẫn đề này Đó là một khuyến cáo của W3C Nhờ CSS

ma source code của trang Web sẽ được tô chức gọn gàng hơn, trật tự hơn Nội

dung trang web sẽ được tách bạch hơn trong việc định dạng hiển thị Từ đó, quá

trình cập nhập nội dung sẽ dé dàng hơn và có thé hạn chế tối thiêu làm rối cho

mã HTML.

e Tiết kiệm rất nhiều thời gian Dinh nghĩa kiêu CSS được lưu trong các tệp CSS

bên ngoài vì vậy có thê thay đổi toàn bộ trang web băng cách thay đổi chỉ mộttệp Sử dụng CSS sẽ giúp bạn không cần thực hiện lặp lại các mô tả cho từng

thành phan Từ đó, bạn có thé tiết kiệm được tối đa thời gian làm việc với nó,

làm code ngắn lại giúp kiểm soát dé dang hơn các lỗi không đáng có CSS tạo

ra nhiều style khác nhau nên có thể được áp dụng với nhiều trang web, từ đó

giảm tránh việc lặp lại các định dạng của các trang web giống nhau

© Cung cấp thêm các thuộc tính CSS cung cấp các thuộc tính chi tiết hơn HTML

để định nghĩa giao diện của trang web CSS giúp người dùng nhiều styles trênmột trang web HTML nên khả năng điều chỉnh trang của bạn trở nên vô hạn

An Nguyễn Nam Sơn — D19PTDPT

Trang 20

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

bản đồ tương tác, các chức năng của JavaScript có thé cải thiện trải nghiệm người

dùng của trang web Là ngôn ngữ kịch bản phía máy khách, JavaScript là một trong

những công nghệ cốt lõi của World Wide Web Ví dụ: khi duyệt internet, bất cứ khi

nào bạn thấy quảng cáo quay vòng dạng hình ảnh, menu thả xuống nhấp dé hiên thịhoặc mau sắc phan tử thay đổi động trên trang web cũng chính là lúc bạn thấy các hiệu

ứng của JavaScrIpt.

b Ứng dụng của JavaScript

Trước đây, các trang web có dang tĩnh, tương tự như các trang trong một cuốn

sách Một trang tĩnh chủ yếu hiển thị thông tin theo một bố cục cố định và không làm

được mọi thứ ma chúng ta mong đợi như ở một trang web hiện đại JavaScript dần

được biết đến như một công nghệ phía trình duyệt dé làm cho các ứng dụng web linh

hoạt hon Sử dụng JavaScript, các trình duyệt có thé phản hồi tương tác của ngườidùng và thay đổi bố cục của nội dung trên trang web

Khi ngôn ngữ này phát triển hoàn thiện, các nhà phát triên JavaScript đã thiết

lập các thư viện, khung và cách thức lập trình cũng như bắt đầu sử dụng ngôn ngữ nàybên ngoài trình duyệt web Ngày nay, bạn có thé sử dung JavaScript dé thực hiện hoạt

động phát triển cả ở phía máy khách và máy chủ

c Cách hoạt động

Tất cả các ngôn ngữ lập trình đều hoạt động bằng cách dịch cú pháp giống tiếngAnh thành mã máy, hệ điều hành sau đó sẽ chạy mã này JavaScript được phân loạikhái quát là một ngôn ngữ viết tập lệnh hoặc một ngôn ngữ diễn giải Mã JavaScript

được diễn giải, tức là được công cụ JavaScript dịch trực tiếp sang mã ngôn ngữ máy cơ

bản Với các ngôn ngữ lập trình khác, trình biên dịch sẽ biên dịch toàn bộ mã thành mã

máy trong một bước riêng Như vậy, tất cả các ngôn ngữ viết tập lệnh đều là ngôn ngữlập trình, nhưng không phải tất cả các ngôn ngữ lập trình đều là ngôn ngữ viết tập lệnh

An Nguyễn Nam Sơn — D19PTDPT

Trang 21

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

d Lợi ích của JavaScript

e Dễ dang học và sử dụng: Cú pháp của JavaScript được lay cảm hứng từ ngôn ngữ

lập trình Java, rất dễ để học và viết mã Các nhà phát triển sử dụng JavaScript

trong hau hết các trang web và ứng dụng di động dé viết tập lệnh phía máy khách

Node.js cũng đã trở nên hết sức phố biến đối với việc viết mã backend trong thập

kỷ qua Nhiều nền tảng phát trực tuyến và video phố biến đã được viết mã bằng

Node.Js.

e Có thé không phụ thuộc vào nền tảng: Không giống như các ngôn ngữ lập trình

khác, bạn có thể chèn JavaScript vào bất kỳ trang web nào và sử dụng với nhiều

ngôn ngữ và khung phát triển web khác Sau khi viết, bạn có thể chạy mã

JavaScript trên bất kỳ máy nào Do đó, với JavaScript, việc phát triển ứng dụng có

thé không phụ thuộc vào nền tảng

e Giảm tải máy chủ: Bạn có thé sử dụng JavaScript để giảm tải máy chủ và tắc

nghẽn mạng vì JavaScript có thể chạy các phép toán logic và thực hiện nhiều công

việc của máy chủ trên chính máy khách Ví dụ: hãy xem xét quá trình điền một

biểu mẫu đăng ký JavaScript nhanh chóng kiểm tra xem bạn đã nhập số có 10 chữ

số cho trường điện thoại di động hay chưa Nếu những yêu cầu này được gửi đến

máy chủ, trang của bạn sẽ tải lại mỗi khi có lỗi, làm cho quá trình đăng ký rất

chậm chạp và tẻ nhạt.

e Cải thiện giao diện người dùng: JavaScript tạo ra các trang web tinh tế giúp thuận

tiện trong việc tìm kiếm và xử lý thông tin phức tạp Các nhà phát triển áp dụngJavaScript dé mở rộng chức năng va độ dé đọc cũng như để tương tác giữa người

dùng và trang web hiệu quả hơn.

e Hỗ trợ đồng thời: JavaScript có thé chạy song song nhiều tập hợp hướng dẫn khác

nhau Về phan backend, Node.js có thé giải quyết va xử lý các phản hồi của máy

chủ được mở rộng quy mô mà không tiêu tốn cùng một lượng băng thông dé làm

việc đó.

2.1.3 Ngôn ngữ PHP

a PHP là gi?

Ngôn ngữ PHP là từ viết tắt của Personal Home Page nay đã chuyển thành

Hypertext Preprocessor Thuật ngữ này là một dạng mã lệnh hoặc một chuỗi ngôn ngữ

kịch bản được dùng dé phát triển các ứng dụng web chạy trên máy chủ Khi các lập

trình viên PHP viết chương trình, chuỗi lệnh sẽ được xử lý trên server sau đó sinh ra

mã HTML trên client Dựa vào đó, các ứng dụng trên website sẽ hoạt động một cách

dễ dàng.

An Nguyễn Nam Sơn — D19PTDPT

Trang 22

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

nó có thé kết nối dé dàng với các website khác có sử dụng HTML PHP cũng là ngôn

ngữ lập trình có mã nguồn mở, tương thích với nhiều nền tảng khác nhau như MacOS,

Linux, Windows, PHP được nhiều người dùng đánh giá là dễ đọc nên đa số các lập

trình viên sẽ lựa chọn học PHP trước khi bắt đầu vào nghề.

b Ứng dụng của ngôn ngữ PHP trong lập trình

Ngôn ngữ lập trình PHP thường tập trung vào việc thiết lập chương trình cho

máy chủ, tạo các cơ sở dữ liệu, xây dựng nội dung website, nhận dir liệu cookie Chua

hết, bạn còn có thể thực hiện được nhiều thao tác, công năng khác khi sử dụng ngôn

ngữ này.

Một số ứng dụng phô biến của PHP trong ngành IT:

Thiết lập chương trình cho hệ thống máy chủ: Đây là một ứng dụng chủ yếunhất của PHP Các PHP Developer sẽ phải thực hiện các thao tác như phân tích ngôn

ngữ lập trình PHP, xây dựng máy chủ web và trình duyệt web.

Tạo các dòng tập lệnh: Các lập trình viên sẽ tạo ra một dòng tập lệnh dé vậnhành chương trình PHP mà không cần đến máy chủ Kiểu lập trình này được sử dụngtrên các hệ điều hành phô biến như Linux hay Windows

Xây dựng các ứng dụng làm việc: Bạn có thể ứng dụng những điểm mạnh vốn

có của PHP đề xây dựng ứng dụng phần mềm Các lập trình viên thường dùng PHP —

GTK làm nền tảng xây dựng phần mềm vì đây là nhánh mở rộng của ngôn ngữ lập

trình này và không có sẵn trong các bản phân phối chính thức hiện nay

Hỗ trợ cho mọi loại cơ sở dữ liệu khác nhau: Khi một website có hỗ trợ cơ sở

dữ liệu tốt sẽ giúp ích cho việc vận hành, sao lưu và đặc biệt là backup dữ liệu đề

phòng trường hợp xảy ra an ninh mạng.

c Ưu nhược điểm của ngôn ngữ lập trình PHP

Ưu điểm: PHP được sử dụng pho biến bởi nhiều lợi ích ma nó mang lại

Mã nguồn mở và miễn phi: PHP sử dụng miễn phí nên giúp tiết kiệm đáng kếngân sách dự án Việc cài đặt và sử dụng ngôn ngữ này cũng rất đễ dàng, bạn chỉ cầnhọc chăm chỉ trong 3 — 6 tháng là đã có thê sử dụng thuần thục

An Nguyễn Nam Sơn — D19PTDPT

Trang 23

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

Tính linh hoạt: PHP là một ngôn ngữ đa nền tang, có thé hoạt động trên bất kỳ

hệ điều hành nảo (Windows, Linux, macOS, ) Hơn nữa, PHP còn có thé kết hợp với

nhiều ngôn ngữ lập trình khác dé xây dựng các tính năng công nghệ một cách hiệu quả

nhất

Hệ thống thư viện phong phú, tính cộng đồng cao: Do sự phố biến của ngôn

ngữ PHP nên việc tìm các thư viện code hay hàm liên quan đến PHP sẽ cực kỳ đơn

giản Chưa kể, bạn sẽ nhận được sự trợ giúp từ các diễn đàn, đội nhóm chuyên sâu của

PHP giúp việc học tập hay làm việc trở nên dễ dàng.

Cơ sở dữ liệu đa dạng: PHP cho phép kết nối với hầu hết các cơ sở dữ liệu khác

như mySQL, SQLite, PostgreSQL, MS-SQL,,

Nhược điểm: Mặc dù sở hữu nhiều lợi ich nhưng ngôn ngữ PHP vẫn có một số hạn chế

nhất định, trong đó vấn đề bảo mật được nhiều người quan tâm nhất Bởi bản chất của

PHP có mã nguồn mở nên các lỗ hong của mã nguồn sẽ bị công khai ngay sau khi

chúng được tìm thấy Và các lỗ hồng này có thể bị khai thác cho các mục đích xấu

trước khi chúng ta kip sửa chữa Bên cạnh đó, ngôn ngữ lập trình PHP chỉ hoạt động

được trên các website và giao diện không được gọn gàng, đẹp mắt Độ bảo mật và hiệu

suất của ngôn ngữ này cũng chưa tốt

d Sự khác biệt giữa PHP với các ngôn ngữ lập trình khác

Ngôn ngữ lập trình PHP không chạy trên một trình duyệt mà chủ yếu tương thích với

một máy chủ web Nếu bạn mở một trang web bắt kỳ, máy chủ sẽ chạy tập lệnh PHP

được liên kết sau đó trả lại website cho bạn

Với HTML: Ngôn ngữ này được dùng dé tạo cấu trúc cơ bản của một trang web Hau

hết các trang web hiện nay đều cần sử dụng ngôn ngữ này dé xây dựng website

Với CSS: Sử dụng với mục đích trang trí cho website thêm sinh động, đẹp mắt Các

lập trình viên sử dụng nhiều hiệu ứng khác nhau giúp website bạn trở nên ấn tượng và

thu hút người dùng.

Với Javascript: Các lập trình viên sẽ sử dụng ngôn ngữ này đặt các phép tính, điều

kiện khác nhau để kiểm tra khả năng phản ứng của website trong điều kiện thực tế

Trang 24

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

Laravel cung cấp cho nhà phát triển một thư viện không 16 chứa các tinh năng

đã được lập trình san Nhờ vào đó mà người dùng xây dựng trang web trở nên nhanh

chóng và đơn giản hơn do giảm số lượng và thời gian code Các chức năng mà Laravel

cung cấp có thé dé dàng mở rộng và bảo trì Đồng thời, các nhà phát triển còn có thé

thêm thắt chức năng vào ứng dụng phần mềm của mình một cách liền mạch nhờ vào

hệ thống đóng gói module và quản lý thắt chặt

PHP framework là thư viện làm cho sự phát triển của những ứng dụng web viếtbang ngôn ngữ PHP trở nên trôi chảy hơn Bằng cách cung cấp 1 cấu trúc cơ bản dé

xây dựng những ứng dụng đó Hay nói cách khác, PHP framework giúp bạn thúc đây

nhanh chóng quá trình phát triển ứng dụng Giúp bạn tiết kiệm được thời gian, tăng sự

ồn định cho ứng dụng Giảm thiểu số lần phải viết lai code cho lập trình viên

b Mô hình MVC

Trang 25

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

MAY KHÁCH | MÁY CHỦ

I Gửi yêu cầu

Đanh Sách Khách Hàng Cơ sở dữ liệu

Yêu cau “-x

được gửi đên

ControllerTương tác với ịModel

Model

Trình bày dữ liệu theo sởmẫu định dạng (template)

View - - Controller

Tiên xử lý dữ liệu Nhận dữ liệu

và gửi đến View từ Model

Hình 2.5 Luu đô hoạt động của kiến trúc MVCLaravel tuân theo mô hình kiến trúc MVC (Model-View-Controller), giúp táchbiệt logic của ứng dụng thành các phan riêng biệt dé dé bảo trì và phát triển

MVC (Model-View-Controller) là mẫu kiến tric phần mềm trên máy tính nhằm

mục đích tạo lập giao diện cho người dùng Theo đó, hệ thống MVC được chia thành

ba phần có khả năng tương tác với nhau và tách biệt các nguyên tắc nghiệp vụ với giao

diện người dùng.

Ba thành phần ấy bao gồm:

e Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi

đúng những phương thức xử lý chúng.

© Model: Là thành phan chứa tat cả các nghiệp vụ logic, phương thức xử lý, truy

xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý

e View: Đảm nhận việc hiển thi thông tin, tương tác với người dùng, nơi chứa tất

cả các đối tượng GUI như textbox, images

Bang cách nay, thông tin nội ham được xử ly tách biệt với phần thông tin xuất hiệntrong giao diện người dùng Bảo đảm các nguyên tắc nghề nghiệp của lập trình viên

c Luéng xử lý

An Nguyễn Nam Sơn — D19PTDPT

Trang 26

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

Routing : faites —> Middleware

Migration & Seeding

User gửi yêu câu.

Yêu cầu từ User sẽ được Routing điều hướng:

e Tới Controller dé xu ly yéu cầu Tới Middleware dé kiểm tra

điêu hướng cân thiết.

e Tới thăng View nếu không cần xử lý.

Middleware Middleware có thé xem như bộ loc HTTP từ request, ví dụ như

dùng đê kiêm tra, xác thực người dùng đăng nhập vào hệ thông.

Sau khi kiêm tra, xác thực xong sẽ trả vê Controller đê tiêp tục xử lý.

Controller Controller được xem như trung tâm điều khiển của hệ thống, tất

cả thao tác xử lý nên được thực hiện ở đây.

Kêt quả xử lý sẽ được trả vê view.

Khi có yêu cầu từ Controller, Model sẽ tương tác với Database và

trả kết quả vê Controller, một sô trường hợp can thiệt thì Model

cũng có thê trả thang ket quả vê View.

An Nguyễn Nam Sơn — D19PTDPT

Trang 27

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

Migration va © Migration, được dùng dé tao Database

Seeding e Seeding, duoc dùng để tao dit liệu ảo cho Database.

d Ưu điểm của Laravel

e Dùng những tính năng mới nhất của PHP: Dùng những tinh năng mới nhất của

PHP là ưu điểm nồi bật nhất của Laravel Framework.Cu thé, khi dùng công cụ nàybạn có thé sử dụng các tính năng mới nhất của PHP, đặc biệt là trong Interfaces,

Namespaces, Anonymous functions và Overloading, Shorter array syntax Hiện

nay, đã xuất hiện nhiều bộ CMS viết trên nền Laravel, từ mã nguồn mở tới thương

mại, từ các bộ CMS đơn giản cho đến bộ "siêu mạnh"

e Cú pháp đẹp và dé đọc: Laravel có cú pháp rõ ràng và dé đọc, điều này giúp giảm

độ phức tạp của mã nguồn và tạo điều kiện thuận lợi cho việc bảo trì và phát triển

e Nguồn tài nguyên vô cùng lớn và sẵn có: Nguồn tài nguyên của Laravel rất thân

thiện với các lập trình viên với đa dạng tài liệu khác nhau dé tham khảo Các phiên

bản được phát hành đều có nguồn tài liệu phù hợp với ứng dụng của mình

e Tích hợp với dịch vụ mail: Ngày nay, những ứng dụng website cần phải thông báo

về offer và các deal mới cho người sử dụng Việc đăng ký trở thành người dùng

mới là điều vô cùng quan trọng Trên thư viện SwiftMailer của Framework hiện

được trang bi API sạch Trong đó có những Driver cho Mailgun, SMTP, SparkPost, PHP's "mail" function, Mandrill va "sendmail", Amazon SES giúp

chúng ta gửi thư qua dịch vu local hoặc dịch vu dựa trên đám mây.

e Hỗ trợ những cache backend phô biến: Đặc biệt, cũng Redis out-of-the-box và

Memecached, Framework Laravel hỗ trợ những cache backend Ưu điểm này giúp

bạn có thé dé dàng tùy chỉnh được nhiều cấu hình cache

e Tốc độ xử lý nhanh: Không những vậy, công cụ này còn hỗ trợ hiệu quả cho việc

lập những dự án lớn trong khoảng thời gian ngắn hoặc tạo website Vì vậy,

Laravel được những lập trình viên và công ty công nghệ ứng dụng dé phát triển

sản phẩm của họ

e Tính bảo mật cao: Tính bảo mật cao là ưu điểm của Laravel được nhiều người yêu

thích nhất hiện nay Công cụ cung cấp những tính năng bảo mật mạnh giúp ngườidùng an tâm tập trung cao độ cho việc phát triển sản phẩm:

o Dùng PDO dé chống sự tan công của SQL Injection.

o Dùng field token ân dé chống sự tan công kiểu CSRF.

An Nguyễn Nam Sơn — D19PTDPT

Trang 28

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

© Đặc biệt, Laravel escape các biên đêu được đưa ra những view mặc định, vì thê

có thê tránh sự tân công của XSS.

e Những tính năng hữu ích của Laravel

e Eloquent ORM: Laravel sử dung Eloquent ORM để tương tác với cơ sở dữ liệu

Eloquent cung cấp một cách đơn giản và hiệu quả để thực hiện các truy vấn và

quản lý mối quan hệ giữa các bảng

e Blade Template Engine: Blade là một template engine nhẹ, dé đọc và mạnh mẽ.

Nó giúp ban tao va quan lý giao diện người dùng một cach thuận tiện Artisan

Console: Artisan là một công cụ dòng lệnh giúp thực hiện nhiều tác vụ như tạo

migration, seed dir liệu, tao controller, va nhiéu công việc khác một cách nhanh

chóng.

e Middleware: Middleware cho phép bạn xử lý các request trước khi chúng đến

được controller hoặc sau khi response đã được trả về Điều này hữu ích để thực

hiện các tác vụ như xác thực, kiểm soát quyền truy cập, và ghi log

e Routing: Laravel cung cấp hệ thống routing mạnh mẽ, giúp xác định cách các

URL của ứng dụng sẽ được xử lý.

e Dependency Injection: Laravel hỗ trợ Dependency Injection, giúp giảm sự phụ

thuộc giữa các thành phần của ứng dụng và làm cho mã nguồn dễ kiểm soát vàkiểm thử

e Migration va Seeder: Migration cho phép bạn quản lý cấu trúc của cơ sở dit liệu

thông qua mã nguồn, trong khi Seeder giúp ban đồ dit liệu mẫu vào cơ sở dữ liệu

e Tích hợp công cụ front-end: Laravel Mix giúp quản lý và biên dịch tài nguyên

front-end như CSS và JavaScript một cách dễ dàng.

e Quản lý tệp và lưu trữ: Laravel sử dụng gói Flysystem PHP, có thé làm việc với

nhiều hệ thống tệp khác nhau từ hệ thông tệp cục bộ đến lưu trữ dựa trên đám mâynhư Amazon S3 Laravel cũng cung cấp tính năng truyền tệp với Giao thức truyền

tệp SSH (SFTP).

e Bao mật: Laravel có một số tính năng bảo mật bao gồm xác thực người dùng, ủy

quyền vai trò người dùng, xác minh email, dịch vụ mã hóa, băm mật khẩu và tínhnăng đặt lại mật khẩu

e Testing Support: Laravel hỗ trợ việc kiểm thử băng cách tích hợp PHPUnit va

cung cấp các công cụ giúp kiểm thử tự động

f Cấu trúc thư mục của một dự án Laravel

Bảng 2.2 Cấu trúc thư mục của một dự án Laravel

Folder / File | Mô tả | app | Thư mục app, chứa tất cả các project được tạo, hầu hết |

An Nguyễn Nam Sơn — D19PTDPT

Trang 29

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

các class trong project được tạo đều ở trong đây

Không giống các framework khác, các file model không

được chứa trong một thư mục riêng biệt, mà được chứa ngay tại thư mục app này.

app/Console Thư mục Console, chứa các tập tin định nghĩa các câu

lệnh trên artisan.

app/Exceptions Thư mục Exceptions, chứa các tập tin quản lý, điều hướng

lỗi.

app/Http/Controllers Thư mục Controllers, chứa các controller của proJect.

app/Http/Middleware | Thư mục Middleware, chứa các tập tin lọc và ngăn chặn

các requests.

app/Providers Thư mục Providers, chứa các file thực hiện việc khai báo

bootstrap Thư mục bootstrap, chứa những file khởi động cua

framework và những file cấu hình auto loading, route, và

file cache.

config Thu mục config, chứa tat cả những file cau hình

database Thu mục database, chứa 2 thu mục migration (tao va thao

tac database) va seeds (tao dữ liệu mẫu), tiện lợi dé lưu

trữ dữ liệu sau này.

database/factories Thu mục factories, chứa các file định nghĩa các cột bảng

dữ liệu dé tạo ra các dữ liệu mẫu

database/migrations Thư mục migrations, chứa các file tao va chỉnh sửa dữ

liệu.

database/seeds Thu mục seeds, chứa các file tao dtr liệu thêm vào CSDL.

public Thư mục public, chứa file index.php giống như cổng cho

tất cả các request vào project, bên trong thư mục còn chứa

file JavaScript, va CSS.

resources Thư mục resources, chứa những file view va raw, các file

An Nguyễn Nam Sơn — D19PTDPT

Trang 30

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

resources/views

biên soạn như LESS, SASS, hoặc JavaScript Ngoài ra

còn chứa tat cả các file lang trong project

Thư mục views, chứa các file view xuât giao diện người dùng.

Thư mục routes, chứa tất cả các điều khién route (đường

dẫn) trong project Chứa các file route sẵn có: web.php,

channels.php, api.php, và console.php.

routes/api.php

của ứng dụng User (đăng ký, đăng nhập, ).

routes/web.php file web.php, điều khiển các route của view, như route của

trang top, sản pham,

storage Thu mục storage, chứa các file biên soạn blade templates

của ban, file based sessions, file caches, va những file

sinh ra từ project Thư mục app, dùng dé chứa những file

sinh ra từ proJect Thư mục framework, chứa những file

sinh ra từ framework và caches Thư mục logs, chứa

những file logs Thư mục /storage/app/public, lưu những file người dùng tạo ra như hình ảnh.

tests Thư mục tests, chứa những file tests, như PHPUnit test.

vendor Thu mục vendor, chứa các thư viện cua Composer.

env file env, chứa các config chính của Laravel.

artisan file thực hiện lệnh của Laravel.

.p1fattributes File dành cho xử lý git.

.gitignore

composer.json File cua Composer.

composer.lock

composer-setup.php

package.Js file package.js, chứa các package cần dùng cho projects

phpunit.xml file phpunit.xml, xml của phpunit dùng dé testing project

Trang 31

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

webpack.mix.js file webpack.mix.js, file dùng dé build các webpack

2.1.5 Hệ quan trị cơ sở dữ liệu MySQL

MySQL:

Hình 2.7 Hệ quản trị cơ sở dit liệu MySQL

a MySQL là gì?

MySQL là hệ quản trị cơ sở dir liệu mã nguồn mở miễn phí nằm trong nhóm

LAMP (Linux - Apache - MySQL - PHP) >< Microsoft (Windows, IIS, SQL Server,

ASP/ASP.NET), vi MySQL được tích hợp sử dung chung với apache, PHP nên nó phổbiến nhất thé giới Vì MySQL 6n định và dé sử dụng, có tính khả chuyên, hoạt độngtrên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh (vì đượcnhiều người hỗ trợ mã nguồn mở) và Mysql cũng có cùng một cách truy xuất và mãlệnh tương tự với ngôn ngữ SQL chính vì thế nên MySQL được sử dụng và hỗ trợ của

những lập trình viên yêu thích mã nguồn mở

Nhưng MySQL không bao quát toàn bộ những câu truy van cao cấp như SQLServer Vì vay Mysql chi đáp ứng việc truy xuất đơn giản trong quá trình vận hành của

website, thích hợp cho các ứng dụng có truy cập CSDL trên internet và có thé giải

quyết hầu hết các bài toán trong PHP, Perl MySQL miễn phí hoàn toàn cho nên ban

có thé tai về MySQL từ trang chủ Nó có nhiều phiên ban cho các hệ điều hành khác

nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OSX, Unix,

FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,

MySQL là một trong những vi dụ rất co bản về Hệ Quan trị Cơ sở dữ liệu quan

hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)

b Một số đặc điểm của MySQL

MySQL là một phần mềm quan trị CSDL dang server-based (gần tương đương

với SQL Server của Microsoft).

MySQL quản ly dit liệu thông qua các CSDL, mỗi CSDL có thé có nhiều bảng

quan hệ chứa dit liệu MySQL có cơ chế phân quyền người sử dụng riêng, mỗi ngườidùng có thể được quản lý một hoặc nhiều CSDL khác nhau, mỗi người dùng có một

tên truy cập (username) và mật khâu tương ứng để truy xuất đến CSDL

An Nguyễn Nam Sơn — D19PTDPT

Trang 32

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

Khi ta truy van tới CSDL MySQL, ta phải cung cấp tên truy cập và mật khẩu

của tai khoản có quyên sử dung CSDL đó Nêu không, chúng ta sẽ không làm được gi

cả giông như quyên chứng thực người dung trong SQL Server vậy.

c Cơ chế hoạt động

Với những thông tin chỉ tiết trên về khái niệm MySQL, theo đó cách thức vận hành

chính tại MySQL môi trường hiện tại là:

MySQL đang tạo ra bang dé có thê lưu trữ dữ liệu và định nghĩa về sự liên quan giữa

những bảng đó.

Client sẽ trực tiếp gửi yêu cầu SQL băng 1 lệnh đặc biệt có trên MySQL

Ứng dụng tại server sẽ tiến hành phản hồi thông tin cũng như trả về những kết quả trên

may client.

d Ly do nên sử dung MySQL

MySQL hiện đang là CSDL có tốc độ ổn định, kha cao và đặc biệt là rat dé sử dung,

hoạt động được trên nhiêu những hệ điêu hành.

Không những có thé sử dụng trên nhiều ứng dụng được, tính bảo mật mạnh mà nó còn

được sử dụng miễn phí hoàn toàn.

MySQL không những bồ trợ cho Perl và PHP, mà còn bé trợ cho rất nhiều những ngônngữ khác Đây chính là nơi để thực hiện lưu trữ tất cả những thông tin trên những

trang Web đang được viết bằng Perl hoặc PHP

2.2 Mô hình hoạt động

Web Client

User

Database

Hình 2.8 Mô hình hoạt động cua hệ thong

Hệ thống được xây dựng theo kiến trúc Client — Server Trong đó máy khách gửi yêu

cầu (HTTP request) đến máy chủ Máy chủ tiếp nhận yêu cầu và xử lý, sau đó trả kếtquả về cho máy khách Hệ thống sử dụng 1 máy chủ duy nhất và máy chủ nay chấp

nhận tất cả các yêu cầu hợp lệ từ máy khách, bat kế vị trí địa lý

An Nguyễn Nam Sơn — D19PTDPT

Trang 33

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

e Website (máy khách): Đây giao diện người dùng được thực hiện bằng các ngôn

ngữ và công nghệ web như HTML, CSS, và JavaScript Người dùng tương tác trực

tiếp với website trên máy tính Website có thé gửi các yêu cầu tới server như thêmsinh viên, đăng ký đồ án, thành lập hội đồng, tìm kiếm người dùng, Máy chủ xử

lý các yêu cau và trả về kết quả cho máy khách Máy khách hiên thị dữ liệu/ thông

báo cho người dùng.

e Backend (máy chủ): Phan backend của hệ thống sử dung framework Laravel của

ngôn ngữ PHP Đây là nơi tiếp nhận và xử lý các yêu cầu từ máy khách qua giao

thức HTTP

e MySQL (cơ sở dit liệu): Cơ sở dit liệu MySQL kết nối trực tiếp với máy chủ

backend Là nơi lưu trữ tất cả dữ liệu của hệ thống: từ thông tin người dùng cho

đến hội đồng, đồ án, thông tin đăng ký đồ án, Dữ liệu có thé thay đổi khi có cácyêu cầu cập nhật từ người dùng

Quy trình hoạt động chung là khi người dùng thực hiện một hành động trên giao diện

người dung (client), ví dụ như nhấn nút dé tạo mới một bản ghi, yêu cầu sẽ được gửiđến Laravel server thông qua mạng Laravel server xử lý yêu cầu này, tương tác với cơ

sở dit liệu dé lưu trữ hoặc truy xuất dữ liệu, và sau đó trả về kết qua cho client dé hién

thi.

2.3 Mô hình phat triển hệ thong

Ngày nay dé tạo ra 1 sản pham chất lượng tốt mà đảm bảo tiết kiệm chi phí sản

xuất và rút ngắn thời gian hoàn thành thì luôn cần có 1 quy trình rõ ràng, chia công

việc thành từng bước, từng giai đoạn dé hoàn thiện Đặc biệt hon trong công việc thiết

kế và phát triển phần mềm, ta có rất nhiều những mô hình phát triển như thác nước,

agile, scrum, Trong đồ án này em đã sử dụng mô hình thác nước dé phát triển hệ

Hình 2.9 Mô hình thác nước Waterfall

An Nguyễn Nam Sơn — D19PTDPT

Trang 34

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

2.3.1 Mô hình thác nước là gì?

Mô hình thác nước (tiếng Anh: waterfall model) là một mô hình của quy trìnhphát triển phần mềm, trong đó quy trình phát triển trông giống như một dòng chảy, với

các pha được thực hiện theo trật tự nghiêm ngặt và không có sự quay lui hay nhảy

vượt pha là: phân tích yêu cầu, thiết ké, triển khai thực hiện, kiểm thử, liên kết và bao

trì Người ta thường dẫn bài báo được Winston W Royce xuất bản vào năm 1970 để

giải thích nguồn gốc cho tên gọi "thác nước": nhưng có điều thú vị là chính Royce đã

dùng mô hình phát triển lặp chứ không hề dùng thuật ngữ "mô hình thác nước"

Mô hình thác nước (Waterfall Model) là một trong những phương pháp phát

triển phần mềm cổ điển và tuần tự Mỗi giai đoạn của quy trình này phải được hoàn

thành và kiểm tra kỹ lưỡng trước khi tiếp tục sang giai đoạn tiếp theo

2.3.2 Các giai đoạn chính

Các giai đoạn chính của mô hình thác nước bao gồm:

e Yêu cầu (Requirements): Trong giai đoạn này, yêu cầu của hệ thống phần mềm

được xác định và ghi chép một cách chỉ tiết Điều này bao gồm việc hiểu rõ nhu

cầu và mong muốn của người dùng cuối

e Thiết kế (Design): Dựa trên yêu cầu, quyết định về cách thức triển khai hệ thống

được thực hiện trong giai đoạn thiết kế Thiết kế có thể được chia thành thiết kế hệ

thống (System Design) và thiết kế chỉ tiết (Detailed Design)

e Triển khai (Implementation): Trong giai đoạn nay, mã nguồn thực hiện được dựa

trên thiết kế và yêu cầu Các lập trình viên thực hiện mã nguồn và kiểm thử cácdon vị nhỏ dé đảm bao tính đúng đắn và hoạt động như mong đợi

e Kiểm thử (Testing): Các đơn vị và hệ thống được kiểm thử dé đảm bao rang tat ca

các thành phần hoạt động một cách chính xác và liên kết với nhau đúng cách

Kiểm thử có thể bao gồm kiểm thử đơn vị, kiểm thử tích hợp và kiểm thử hệ

thống

e Triển khai (Deployment): Sau khi kiểm thử hoàn thành và phê duyệt, hệ thống

được triển khai và đưa vào sử dụng

e Bảo trì (Maintenance): Trong giai đoạn này, bảo trì và hỗ trợ kỹ thuật được thực

hiện dé giữ cho hệ thống hoạt động một cách ôn định va đáp ứng được những thay

đổi và yêu cầu mới từ người dùng

2.3.3 Ưu, nhược điểm của mô hình thác nước

Ưu điểm của mô hình thác nước:

e Dễ quản lý: Mô hình thác nước có cấu trúc tuyến tính và tuần tự, giúp quan ly dự

án dé dàng hơn Mỗi giai đoạn được hoàn thành rõ ràng trước khi tiến vào giaiđoạn tiếp theo

e Rõ ràng và dễ hiểu: Mô hình này có cấu trúc rõ ràng, giúp mọi thành viên trong

nhóm dự án hiểu rõ về tiến độ và các bước cần thực hiện

Trang 35

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

Kiểm soát nghiêm ngặt: Vì mỗi giai đoạn phải được hoàn thành trước khi tiễn vào

giai đoạn tiếp theo, kiểm soát và kiểm thử có thé thực hiện một cách chi tiết va

nghiêm ngặt.

Phù hợp với dự án ồn định: Mô hình thác nước thích hợp cho các dự án có yêu cầu

ồn định và ít thay đôi, nơi mà yêu cầu được xác định rõ từ đầu và ít khả năng thay

đôi.

Nhược điêm của mô hình thác nước:

Không linh hoạt: Mô hình thác nước không linh hoạt khi phải đối mặt với sự thayđổi trong yêu cầu hoặc thiết kế Nếu có thay đổi, việc quay lại và sửa lỗi ở giai

Không thích hợp cho dự án lớn và phức tạp: Trong các dự án lớn và phức tạp, việc

đặc tả yêu cầu chỉ tiết và đầy đủ cho tất cả các giai đoạn có thé là một nhiệm vụ

khó khăn và không hiệu quả.

Khó khăn khi phản hồi từ người dùng: Do tính chất tuần tự, phan hồi từ người

dùng cuối thường chỉ được thu thập sau khi hệ thống đã triển khai, điều này có thể

làm tăng chi phí và công sức dé sửa lỗi nếu có phản hồi tiêu cực

2.3.4 Ứng dụng và trường hợp sử dụng

Mô hình thác nước phù hợp với các dự án quy mô lớn lớn, yêu câu duy trì các

giai đoạn và thời hạn theo đúng kế hoạch đã lập ra Hoặc các dự án đã được thực hiện

nhiều lần mà ít xảy ra phát sinh trong quá trình thực thi Đặc biệt phù hợp trong dự án

sản xuất và xây dựng các sản phẩm vật lý và theo các đơn đặt hàng, có thể đễ dàng

tham khảo áp dụng các quy trình quan lý từ các dự án trước đó vào công việc hiện tại

với rất ít hoặc không cần điều chỉnh Việc áp dụng mô hình Waterfall được khuyến

khích khi người thực thi phải năm rõ yêu câu của dự án một cách tôt nhât, yêu câu vê

tính rõ ràng và tính ôn định cao như:

Mô hình thác nước nên sử dụng khi mà đội dự án đã có kinh nghiệm làm việc,

trình độ chuyên môn và kỹ thuật cao bởi mô hình này yêu cầu sự chính xác ngay

từ khi bắt đầu dự án

Mô hình thác nước phù hợp với những dự án mà khách hàng đã đưa ra được yêu

cầu cụ thé, chính xác ngay từ dau và ít có khả năng thay đồi

Áp dụng đối với những khách hàng lớn mà phong cách làm việc của họ chủ yếu

theo mô hình truyền thống hoặc những khách hàng không mong muốn có nhiềuthay đôi trong dự án

Trang 36

Đồ án tốt nghiệp Đại học Chương 2: Giải pháp xây dựng hệ thống

e Nam vững được công nghệ và sự phát triển của công nghệ.

Trang 37

Đồ án tốt nghiệp Đại học Chương 3: Xây dựng hệ thống

CHƯƠNG 3: XÂY DỰNG HỆ THÓNG

3.1 Xác định yêu cầu

3.1.1 Quá trình thực hiện đồ án tốt nghiệp

Quá trình thực hiện đỏ án tốt nghiệp

Sinh viên = QTV = Giảng viên E Hệ thống

Đăng ký đề tài

Nhập danh sách đề

tai của sinh viên

Tiệp nhận và chỉnh Thông tin đồ ánsửa dé tài

Cham diém eo

Hình 3.1 Quá trình thực hiện đô án tốt nghiệp của sinh viênSinh viên đủ điều kiện tiến hành đăng ký đồ án tốt nghiệp

QTV sẽ nhận được thông tin đăng ký của tat cả sinh viên, còn giảng viên hướng dẫn sẽ

nhận được thông tin đăng ký của các sinh viên đăng ký mình.

Giảng viên hướng sẽ tiễn hành tiếp nhận, chỉnh sửa đề tài đồ án của sinh viên Thông

tin đồ án tốt nghiệp sẽ được lưu lại trong hệ thống

Sau khi sinh viên bảo vệ xong đồ án, giảng viên trong hội đồng sẽ tiến hành vào điểm

đồ án

Sau khi đã vào điểm, sinh viên có thể vào xem điểm đồ án của mình

3.1.2 Các tác nhân của hệ thống

e Người quan tri: quản lý tin tức, quan ly niên khoá, khoa, ngành, quan ly thông

tin hội đồng, quản lý thông tin giảng viên, sinh viên, quản lý danh sách đồ án,

điểm đồ án, xem thống kê đăng ký đồ án, vào điểm đồ án

e Giảng viên: xem tin tức, xem danh sách sinh viên đăng ký hướng dan đồ án,

chấm điểm đồ án trong hội đồng tham gia

e Sinh viên: xem tin tức, đăng ký dé tài đồ án, đăng ký giảng viên hướng dẫn đồ

án, nộp đồ án tốt nghiệp, xem điểm đồ án tốt nghiệp thực hiện

3.1.3 Các ca sử dụng

e Đăng nhập: người dùng đăng nhập hệ thong

Trang 38

Đồ án tốt nghiệp Đại học Chương 3: Xây dựng hệ thống

e Đăng tin tức: QTV đăng tin tức lên hệ thống

e Chỉnh sửa tin tức: QTV chỉnh sửa tin tức trên hệ thống

e Xóa tin tức: QTV xóa tin tức đã đăng trên hệ thong

e Xem tin tức: Người dùng hệ thống xem tin tức

e Thêm niên khoá: QTV thêm niên khoá mới vào hệ thống

e Chỉnh sửa niên khoá: QTV chỉnh sửa thông tin của niên khoá

e Xóa niên khoá: QTV xóa niên khoá khỏi hệ thống

e Thêm khoa: QTV thêm khoa mới vào hệ thong

e Chỉnh sửa khoa: QTV chỉnh sửa thông tin của khoa

e Xóa khoa: QTV xóa khoa khỏi hệ thong

e Thêm ngành học: QTV thêm ngành học mới vào hệ thống

e Chỉnh sửa ngành học: QTV chỉnh sửa thông tin của ngành học

e Xóa ngành học: QTV xóa ngành học khỏi hệ thống

e Thêm chức vụ của giảng viên: QTV thêm chức vụ mới vào hệ thống

e Chỉnh sửa chức vụ của giảng viên: QTV chỉnh sửa thông tin của chức vụ

e Xóa chức vụ của giảng viên: QTV xóa chức vụ khỏi hệ thống

e Xem danh sách người dùng (Giảng viên, Sinh viên): QTV xem danh sách người

dùng trong hệ thông, Lọc sinh viên theo ngành, niên khoá, Lọc giảng viên theo khoa, chức vụ

e Tìm kiếm người dùng (Giảng viên, Sinh viên): QTV tìm kiếm người dùng dựa

theo tên e© Nhập danh sách người dùng (Giảng viên, Sinh viên): QTV nhập danh sách người

dùng băng file Excel lên hệ thông

e Xem thông tin chỉ tiết người dùng (Giảng viên, Sinh viên): QTV xem thông tin chi

tiết người dùng trong hệ thong

e Thêm người dùng (Giảng viên, Sinh viên): QTV thêm người dùng đồng thời thêm

tài khoản người dùng vao hệ thong

e Chỉnh sửa người dùng (Giảng viên, Sinh viên): QTV chỉnh sửa thông tin người

dùng

e Xóa người dùng (Giảng viên, Sinh viên): QTV xóa người dùng khỏi hệ thong

e Đăng ký dé tài đồ án tốt nghiệp thủ công cho sinh viên: QTV thêm thủ công đề tài

vào danh sách đô án tôt nghiệp kèm với sinh viên thực hiện và giảng viên hướng dan.

e Nhập danh sách dé tài đồ án tốt nghiệp: QTV nhập danh sách đồ án bang file

Excel lên hệ thông

An Nguyễn Nam Sơn — DI9PTDPT

Trang 39

Đồ án tốt nghiệp Đại học Chương 3: Xây dựng hệ thống

Xem danh sách đồ án tốt nghiệp: QTV xem danh sách đồ án tốt nghiệp sinh viên

đăng ký cùng với giảng viên hướng dẫn

Xem chỉ tiết thông tin về đồ án tốt nghiệp: QTV xem tất cả thông tin về đồ án tốt

nghiệp như thông tin cơ bản, sinh viên thực hiện, giảng viên hướng dẫn

Chỉnh sửa thông tin đồ án tốt nghiệp: QTV chỉnh sửa thông tin đồ án tốt nghiệpXoá đồ án tốt nghiệp: QTV xoá thông tin đồ án tốt nghiệp

Nhập điểm đồ án tốt nghiệp cho sinh viên: QTV vào điểm đồ án của sinh viênThành lập hội đồng: QTV thành lập hội đồng bao gồm các thành viên trong hội

Chỉnh sửa tên đề tài đồ án tốt nghiệp: Giảng viên hướng dẫn chỉnh sửa tên đề tài

cho sinh viên phụ trách hướng dẫn

Xem thông tin danh sách hội đồng: Giảng viên xem thông tin chỉ tiết về hội đồngtham gia và các đồ án tốt nghiệp bảo vệ trong hội đồng

Xem danh sách đồ án tốt nghiệp: Giảng viên xem danh sách thông tin đồ án tốt

nghiệp của sinh viên phụ trách hướng dẫn

Chấm diém đồ án tốt nghiệp: Giảng viên trong hội đồng tham gia cham điểm đồ

án tốt nghiệp cho sinh viên

Trang 40

Đồ án tốt nghiệp Đại học Chương 3: Xây dựng hệ thống

3.2 Đặc tả hệ thống

3.2.1 Biểu đồ Use case

Quản lý khoa, ngành, niên khoá

Quản lý hội đồng

Quản lý giảng viên

Sinh viên Quản lý sinh viên O

Thông kê điểm

Quản lý đồ án sinh viên

Hình 3.2 Biểu đô Use case tổng quát

Bang 3.1 Mô ta Use case

STT |T œ› n use case < e› - ®

oO ac ng nhap Dang nhập tai khoản người dùng

Quản lý khoa Quản trị viên quản lý thông tin về khoaQuản lý ngành học Quản trị viên quản lý thông tin về ngành học

Quản lý niên khoá Quản trị viên quản lý thông tin về niên khoá

Quản lý hội đồng Quản trị viên quản lý thông tin về hội đồng

Quản lý sinh viên Quan trị viên quản ly thông tin về sinh viên

`

À 7

Quản lý đồ án Quản trị viên quản lý thông tin về đồ án tốt

nghiệp của sinh viên

An Nguyễn Nam Sơn — D19PTDPT

Ngày đăng: 28/03/2024, 12:40

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w