ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬTKHOA CÔNG NGHỆ SỐ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN ĐỀ TÀI: XÂY DỰNG HỆ THỐNG WEBSITE
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
TIỀN CỨU TRỢ LŨ LỤT CHO HUYỆN HOÀ VANG- ĐÀ NẴNG
Sinh viên thực hiện : TRỊNH QUANG PHÚC
Trang 3ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ
ĐỒ ÁN TỐT NGHIỆP
ĐẠI HỌC
NGÀNH: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI:
XÂY DỰNG HỆ THỐNG WEBSITE
QUẢN LÝ VIỆC ỦNG HỘ VÀ PHÂN BỐ HÀNG/
TIỀN CỨU TRỢ LŨ LỤT CHO HUYỆN HOÀ VANG- ĐÀ NẴNG
Giảng viên hướng dẫn duyệt
Đà Nẵng, tháng/2022
Trang 4này bằng Nhận xét của người hướng dẫn}
Trang 5{Trang trắng này dùng để dán bản Nhận xét của người phản biên, hoặc thay trangnày bằng Nhận xét của người phản biện}
Trang 6Tên đề tài: Xây dựng hệ thống website quản lý việc ủng hộ và phân bố hàng/ tiềncứu trợ lũ lụt cho huyện Hoà Vang- Đà Nẵng
Sinh viên thực hiện: Trịnh Quang Phúc
Mã SV: 181150531331 Lớp:18T3
Nội dung tóm tắt:
Mục tiêu của hệ thống website là quản lý việc ủng hộ đối với những mạnh thườngquân, là những cá nhân, tập thể, là những người ủng hộ có thể dễ dàng ủng hộ nhữngmặt hàng, tiền hỗ trợ bà con, người dân gặp khó khăn trong giai đoạn lũ lụt qua côngnghệ trên Website, giải quyết được vấn đề sử dụng giấy tờ, thủ tục gây khó khăn Việcphân bố hàng/ tiền cứu trợ sẽ đến tay người dân một cách rõ ràng và minh bạch nhất,chính xác nhất
Đề tài hướng đến xây dựng hệ thống Website quản lý với các chức năng chính:
- Trang Admin: Đây là trang nơi quản trị viên kiểm soát hệ thống, cậpnhật tài khoản của hệ thống, cập nhật các bài đăng đến với ngườidùng
- Trang Cán bộ quản lý phân phối: Đây là trang tạo những đợt cứu trợ
để người ủng hộ có thể biết, là nơi duyệt những đăng ký ủng hộ củangười ủng hộ, quản lý việc bàn giao hàng ủng hộ đến cho cán bộphường
- Trang Cán bộ phường: Đây là trang cập nhật các hộ gia đình sẽ nhậnủng hộ trong đợt cứu trợ sẽ phân về nơi cán bộ quản lý, bàn giaohàng ủng hộ đến những chủ hộ gia đình
- Trang chủ hộ gia đình: Là nơi chủ hộ gia đình truy cập và xem lịch
sử nhận được hàng ủng hộ
- Trang Khách vãng lai: Là nơi những người dùng xem bài viết đượcđăng trên hệ thống Website
Trang 7TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
KHOA CÔNG NGHỆ SỐ CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAMĐộc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: ThS Lê Vũ
Sinh viên thực hiện: Trịnh Quang Phúc Mã SV: 1811505310331
1 Tên đề tài
Xây dựng hệ thống website quản lý việc ủng hộ và phân bố hàng/ tiền cứu trợ lũ lụtcho huyện Hoà Vang- Đà Nẵng
2 Các số liệu, tài liệu ban đầu
Thông tin mô tả về các xã thuộc địa bàn huyện Hoà Vang- Đà Nẵng:
3 Nội dung chính của đồ án
Quá trình xây dựng hệ thống website quản lý việc ủng hộ và phân bố hàng/ tiềncứu trợ lũ lụt cho huyện Hoà Vang- Đà Nẵng:
- Khảo sát nghiệp vụ thực tế
- Phân tích thiết kế các chức năng của hệ thống
- Thiết kế giao diện cho các chức năng
- Phân tích thiết kế cơ sơ dữ liệu
Trang 9LỜI CẢM ƠN
Lời đầu tiên, em xin chân thành cảm ơn Trường đại học Sư Phạm Kỹ Thuật đã tạođiều kiện để em có được một môi trường học tập và rèn luyện, phát triển bản thân tốtnhất
Đặc biệt em xin gửi lời cảm ơn chân thành và sâu sắc đến thầy Lê Vũ, người đãhướng dẫn, giúp đỡ em trong suốt thời gian thực hiện đề tài này
Em xin chân thành cảm ơn các thầy, các cô trong bộ môn đã tận tình giảng dạy,truyền đạt những kiến thực, kinh nghiệm quý báu cho chúng em trong các kỳ học vừaqua
Xin chân thành cảm ơn tất cả các bạn bè đã giúp đỡ, động viên chúng em trongthời gian học tập và hoàn thành đồ án
Mặc dù đã cố gắng tìm hiểu, phân tích thiết kế hệ thống và cài đặt chương trìnhnhưng sẽ không tránh khỏi những thiếu sót vì thời gian hạn chế và kiến thức trong đềtài làm đồ án Em kính mong nhận được sự cảm thông và góp ý của quý Thầy Cô vàcác bạn để hoàn thành tốt hơn nữa
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Trịnh Quang Phúc
Trang 10Chúng em xin cam đoan:
1 Những nội dung trong luận văn này do chúng em thực hiện dưới sựhướng dẫn của thầy ThS Lê Vũ
2 Mọi tham khảo trong luận văn đều được trích dẫn rõ ràng tên tác giả, têncông trình, thời gian, địa điểm công bố
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, chúng
em xin chịu hoàn toàn trách nhiệm
Sinh viên thực hiện
Trịnh Quang Phúc
Trang 11LỜI NÓI ĐẦU
Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ theo cảchiều rộng và sâu Máy tính điện tử không còn là một thứ phương tiện quý hiếm màđang ngày càng trở thành một công cụ làm việc và giải trí thông dụng của con người,không chỉ ở công sở mà còn ngay cả trong gia đình
Đứng trước vai trò của thông tin hoạt động cạnh tranh gay gắt, các tổ chức và cácdoanh nghiệp đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống thông tin củamình nhằm tin học hóa các hoạt động tác nghiệp của đơn vị
Hiện nay các công ty tin học hàng đầu thế giới không ngừng đầu tư và cải thiệncác giải pháp cũng như các sản phẩm nhằm cho phép tiến hành tự động hóa trênInternet Thông qua các sản phẩm và công nghệ này, chúng ta dễ dàng nhận ra tầmquan trọng và tính tất yếu của website Với những thao tác đơn giản trên máy có nốimạng Internet bạn sẽ có tận tay những gì mình cần mà không phải mất nhiều thời gian.Bạn chỉ cần vào các trang web làm theo hướng dẫn và click vào những gì bạn cần Cáchoạt động sẽ thực hiện ngay trên hệ thống đó
Ở Việt Nam cũng có rất nhiều trường đại học tự động hóa các quy trình trên hệthống website nhưng do những khó khăn về cơ sở hạ tầng như viễn thông chưa pháttriển mạnh nên các quy trình vẫn còn rất nhiều sổ sách, giấy tờ thủ công dẫn đến thiếuhiệu quả, mất khá nhiều thời gian
Để tiếp cận và góp phần đẩy mạnh sự phổ biến và tiện ích của website, chúng em
đã tìm hiểu và cài đặt “Hệ thống website quản lý việc ủng hộ và phân bố hàng/ tiềncứu trợ lũ lụt cho huyện Hoà Vang- Đà Nẵng”
Trang 12MỤC LỤC iv
DANH MỤC HÌNH ẢNH ix
DANH MỤC BẢNG xi
MỞ ĐẦU 1
1 Mục tiêu đề tài 1
2 Đối tượng nghiên cứu và phạm vi nghiên cứu 2
a Đối tượng nghiên cứu 2
b Phạm vi nghiên cứu 2
3 Phương pháp nghiên cứu 2
4 Giải pháp công nghệ 2
5 Cấu trúc đồ án 2
Chương 1 CƠ SỞ LÝ THUYẾT 3
1.1 Giới thiệu MySQL 3
1.1.1 Đặc điểm của MySQL 3
1.1.2 Các lợi ích khi sử dụng MYSQL 4
1.1.2.1 Hiệu năng sử dụng cao 4
1.1.2.2 MySQL hỗ trợ giao dịch mạnh mẽ 4
1.1.2.3 Tốc độ xử lý nhanh 4
1.1.2.4 Dễ dàng sử dụng 5
1.1.2.5 Hỗ trợ ngôn ngữ truy vấn 5
1.1.2.6 Tính kết nối và bảo mật cao 5
1.2 Giới thiệu ngôn ngữ lập trình PHP 6
1.2.1 Đôi nét về PHP 6
Trang 13Tên đề tài: xây dựng hệ thống website quản lý việc ủng hộ và phân phối hàng cứu trợ lũ lụt
cho huyện Hoà Vang- Đà Nẵng
1.2.2 Ưu điểm 6
1.2.3 Nhược điểm 7
1.3 Giới thiệu về framework LARAVEL 7
1.3.1 Laravel có 3 đặc tính nổi trội 7
1.3.2 Điều khiến laravel trở nên khác biệt: 7
1.4 Giới thiệu về Visual Studio Code 8
Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 10
2.1 Phân tích tác nhân và chức năng 10
2.1.1 Xác định các tác nhân 10
2.1.2 Các yêu cầu chức năng 10
2.1.2.1 Quản trị viên 10
2.1.2.2 Cán bộ quản lý phân phối 10
2.1.2.3 Cán bộ phường 10
2.1.2.4 Chủ hộ gia đình 11
2.1.2.5 Người ủng hộ 11
2.1.2.6 Khách vãng lai 11
2.2 Sơ đồ use-case 11
2.3 Sơ đồ hoạt động 12
2.3.1 Actor Quản trị viên 12
2.3.1.1 Sơ đồ hoạt động cập nhật tài khoản người dùng 12
2.3.1.2 Sơ đồ hoạt động cập nhật tài khoản người dùng 12
2.3.1.3 Sơ đồ hoạt động cập nhật hàng cứu trợ 13
2.3.1.4 Sơ đồ hoạt động cập nhật hộ gia đình 13
2.3.2 Cán bộ quản lý phân phối 14
2.3.2.1 Sơ đồ hoạt động cập nhật đợt ủng hộ 14
Trang 142.3.2.2 Sơ đồ hoạt động cập nhật đăng ký ủng hộ 14
2.3.2.3 Sơ đồ hoạt động bàn giao đợt đăng ký 15
2.3.3 Actor Cán bộ phường 15
2.3.3.1 Sơ đồ hoạt động đăng ký hộ gia đình nhận ủng hộ 15
2.3.3.2 Sơ đồ hoạt động bàn giao cho hộ gia đình 16
2.3.4 Actor Chủ hộ gia đình 16
2.3.4.1 Sơ đồ hoạt động xem lịch sử nhận ủng hộ 16
2.3.5 Actor Người ủng hộ 17
2.3.5.1 Sơ đồ hoạt động đăng ký ủng hộ 17
2.3.5.2 Sơ đồ hoạt động cập nhật thông tin cá nhân 17
2.3.5.3 Sơ đồ hoạt động xem lịch sử ủng hộ 18
2.3.6 Actor Khách vãng lai 18
2.3.6.1 Sơ đồ hoạt động xem bài viết 18
2.4 Sơ đồ ERD 19
2.4.1 Xây dựng ERD 19
2.4.2 Kết quả sơ đồ ERD trong hệ quản trị MySQL 21
2.5 Thiết kế cơ sở dữ liệu 22
2.5.1 Bảng roles (Bảng quyền) 22
2.5.2 Bảng users (Bảng người dùng) 22
2.5.3 Bảng wards (Bảng xã) 22
2.5.4 Bảng posts (Bảng bài viết) 23
2.5.5 Bảng user_info (Bảng thông tin người dùng) 23
2.5.6 Bảng companies (Bảng công ty) 24
2.5.7 Bảng registration_supports (Bảng đăng ký hỗ trợ) 24
2.5.8 Bảng registration_support_detail (Bảng chi tiết đăng ký hỗ trợ) 24
Trang 15Tên đề tài: xây dựng hệ thống website quản lý việc ủng hộ và phân phối hàng cứu trợ lũ lụt
cho huyện Hoà Vang- Đà Nẵng
2.5.9 Bảng goods (Bảng hàng hoá) 25
2.5.10 Bảng periods (Bảng đợt ủng hộ) 25
2.5.11 Bảng familes (Bảng hộ gia đình) 25
2.5.12 Bảng family_period (Bảng hộ gia đình đăng ký đợt) 26
2.5.13 Bảng family_handovers (Bảng bàn giao hộ gia đình) 26
2.6 Kịch bản cho từng use-case 27
2.6.1 Cập nhật tài khoản người dùng 27
2.6.2 Cập nhật hàng cứu trợ 27
2.6.3 Cập nhật bài viết 28
2.6.4 Cập nhật hộ gia đình 28
2.6.5 Cập nhật đợt ủng hộ 29
2.6.6 Xem lịch sử nhận ủng hộ 30
2.6.7 Duyệt đăng ký ủng hộ 30
2.6.8 Đăng ký hộ gia đình ủng hộ 31
2.6.9 Bàn giao cho hộ gia đình 31
2.6.10 Đăng ký ủng hộ 32
2.6.11 Xem lịch sử ủng hộ 33
2.6.12 Xem bài viết 33
Chương 3 XÂY DỰNG CHƯƠNG TRÌNH 35
3.1 Công cụ xây dựng chương trình 35
3.2 Giao diện chương trình 35
3.2.1 Giao diện trang Admin 35
3.2.1.1 Giao diện cập nhật tài khoản người dùng 35
3.2.1.2 Giao diện trang cập nhật hàng cứu trợ 36
3.2.1.3 Giao diện trang cập nhật bài viết 38
Trang 163.2.1.4 Giao diện trang cập nhật hộ gia đình 39
3.2.2 Giao diện trang Người ủng hộ 40
3.2.2.1 Giao diện trang đăng ký ủng hộ 40
3.2.2.2 Giao diện trang xem lịch sử ủng hộ 42
3.2.3 Giao diện trang Cán bộ quản lý phân phối 43
3.2.3.1 Giao diện trang cập nhật đợt ủng hộ 43
3.2.3.2 Giao diện trang duyệt đăng ký ủng hộ 44
3.2.3.3 Giao diện trang bàn giao đăng ký 45
3.2.4 Giao diện trang Cán bộ phường 47
3.2.4.1 Giao diện trang đăng ký hộ gia đình nhận hỗ trợ từ đợt ủng hộ47 3.2.4.2 Giao diện trang bàn giao cho hộ gia đình 48
3.2.5 Giao diện trang Chủ hộ gia đình 50
3.2.5.1 Giao diện trang xem lịch sử nhận ủng hộ 50
3.2.6 Giao diện trang Khách vãng lai 51
3.2.6.1 Giao diện trang xem bài viết 51
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 52
3.3 Kết luận 52
3.4 Hướng phát triển 52
TÀI LIỆU THAM KHẢO 53
Trang 17DANH MỤC HÌNH ẢNH
Hình 2.1: Sơ đồ use-case tổng quát 11
Hình 2.2: Sơ đồ hoạt động cập nhật tài khoản ngời dùng 12
Hình 2.3: Sơ đồ hoạt động cập nhật tài khoản người dùng 12
Hình 2.4: Sơ đồ hoạt động cập nhật hàng cứu trợ 13
Hình 2.5: Sơ đồ hoạt động cập nhật hộ gia đình 13
Hình 2.6: Sơ đồ hoạt động cập nhật đợt ủng hộ 14
Hình 2.7: Sơ đồ hoạt động cập nhật đăng ký ủng hộ 14
Hình 2.8: Sơ đồ hoạt động bàn giao đợt đăng ký 15
Hình 2.9: Sơ đồ hoạt động đăng ký hộ gia đình nhận ủng hộ 15
Hình 2.10: Sơ đồ hoạt động bàn giao cho hộ gia đình 16
Hình 2.11: Sơ đồ hoạt động xem lịch sử nhận ủng hộ 16
Hình 2.12: Sơ đồ hoạt động đăng ký ủng hộ 17
Hình 2.13: Sơ đồ hoạt động cập nhật thông tin cá nhân 17
Hình 2.14: Sơ đồ hoạt động xem lịch sử ủng hộ 18
Hình 2.15: Sơ đồ hoạt động xem bài viết 18
Hình 2.16: Sơ đồ ERD (Tiếng việt) 19
Hình 2.17: Sơ đồ ERD (Tiếng anh) 20
Hình 2.18: Sơ đồ ERD trong hệ quản trị cơ sở dữ liệu MySQL 21
Hình 3.1: Giao diện trang cập nhật tài khoản người dùng 35
Hình 3.2: Giao diện trang cập nhật tài khoản người dùng (Thêm) 36
Hình 3.3: Giao diện trang cập nhật hàng cứu trợ 36
Hình 3.4: Giao diện trang cập nhật hàng cứu trợ (Thêm) 37
Hình 3.5: Giao diện trang cập nhật hàng cứu trợ (Sửa) 37
Hình 3.6: Giao diện trang danh sách bài viết 38
Hình 3.7: Giao diện trang cập nhật bài viết (Thêm) 38
Hình 3.8: Giao diện trang cập nhật bài viết (Sửa) 39
Hình 3.9: Giao diện trang danh sách hộ gia đình 39
Hình 3.10: Giao diện trang cập nhật hộ gia đình (Sửa) 40
Hình 3.11: Giao diện trang đăng ký ủng hộ 40
Trang 18Hình 3.12: Giao diện chọn đợt ủng hộ 41
Hình 3.13: Giao diện thêm trong danh sách hàng hoá 41
Hình 3.14: Giao diện xem lịch sử ủng hộ 42
Hình 3.15: Giao diện huỷ đăng ký ủng hộ 42
Hình 3.16: Giao diện danh sách các đợt ủng hộ 43
Hình 3.17: Giao diện cập nhật đợt ủng hộ (Thêm) 43
Hình 3.18: Giao diện cập nhật đợt ủng hộ (Sửa) 44
Hình 3.19: Giao diện danh sách đăng ký ủng hộ 44
Hình 3.20: Giao diện duyệt đăng ký ủng hộ 45
Hình 3.21: Giao diện danh sách đợt ủng hộ 45
Hình 3.22: Giao diện xem thông tin đợt ủng hộ 46
Hình 3.23: Giao diện phiếu bàn giao khi “Cán bộ” in phiếu 46
Hình 3.24: Giao diện danh sách các đợt ủng hộ 47
Hình 3.25: Giao diện chọn hộ gia đình 47
Hình 3.26: Giao diện đăng ký gia đình nhận ủng hộ 48
Hình 3.27: Giao diện danh sách các đợt ủng hộ 48
Hình 3.28: Giao diện chi tiết bàn giao cho hộ gia đình 49
Hình 3.29: Giao diện bàn giao thành công 49
Hình 3.30: Giao diện danh sách các đợt ủng hộ trong nơi cư trú 50
Hình 3.31: Giao diện chi tiết đã nhận được ủng hộ 50
Hình 3.32: Giao diện các bài đăng trên website 51
Trang 19DANH MỤC BẢNG
Bảng 2.1: Kịch bản use-case Cập nhật tài khoản người dùng 27
Bảng 2.2: Kịch bản use-case Cập nhật hàng cứu trợ 28
Bảng 2.3: Kịch bản use-case Cập nhật bài viết 28
Bảng 2.4: Kịch bản use-case Cập nhật hộ gia đình 29
Bảng 2.5: Kịch bản use-case Cập nhật đợt ủng hộ 30
Bảng 2.6: Kịch bản use-case Xem lịch sử nhận ủng hộ 30
Bảng 2.7: Kịch bản use-case Duyệt đăng ký ủng hộ 31
Bảng 2.8: Kịch bản use-case Đăng ký hộ gia đình ủng hộ 31
Bảng 2.9: Kịch bản use-case Bàn giao cho hộ gia đình 32
Bảng 2.10: Kịch bản usecase Đăng ký ủng hộ 32
Bảng 2.11: Kịch bản use-case Xem lịch sử ủng hộ 33
Bảng 2.12: Kịch bản use-case Xem bài viết 34
Trang 20MỞ ĐẦU
Ngày nay, xu hướng phát triển công nghiêp hóa – hiện đại hóa đất nước ngày càngđược đẩy mạnh Để có thể đáp ứng được khối công việc ngày càng gia tăng, đòi hỏicon người phải có phương pháp quản lý hợp lý giúp tiết kiệm thời gian, các chínhsách, mô hình và chi phí cũng như công sức lao động
Việc quản lý một quy trình quản lý việc ủng hộ và phân bố cứu trợ tốn nhiều nhânlực có trình độ chuyên môn nhất định, đa số sử dụng bàn giấy là chủ yếu, khiến choviệc kiểm kê, báo cáo rất khó khăn và tốn nhiều thời gian chưa đáp ứng được nhu cầungười sử dụng Nắm bắt được tình hình trên em đã tiến hành thiết kế hệ thống websitequản lý việc ủng hộ và phân bố hàng/ tiền cứu trợ lũ lụt cho huyện Hoà Vang- ĐàNẵng nhằm giải quyết những vấn đề nêu trên, giúp cho việc quản lý nhanh hơn, chínhxác, minh bạch, số hoá các quy trình một cách tốt hơn
Trang 21Tên đề tài: xây dựng hệ thống website quản lý việc ủng hộ và phân phối hàng cứu trợ lũ lụt
cho huyện Hoà Vang- Đà Nẵng
2 Đối tượng nghiên cứu và phạm vi nghiên cứu
a Đối tượng nghiên cứu
cán bộ phường, các đợt cứu trợ
xác định các hộ gia đình nhận
b Phạm vi nghiên cứu
Áp dụng tại huyện Hoà Vang- Đà Nẵng
3 Phương pháp nghiên cứu
phân bố cứu trợ để tìm cơ sở lý thuyết liên quan đến vấn đề mình nghiên cứu
4 Giải pháp công nghệ
5 Cấu trúc đồ án
Trang 22Chương 1
CƠ SỞ LÝ THUYẾT1.1 Giới thiệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới vàđược các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL
là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạtđộng trê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ới tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cậpCSDL trên internet Người dùng có thể tải về MySQL miễn phí từ trang chủ MySQL
có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điềuhành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare,SGI Irix, Solaris, SunOS, …
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữ liệu quan hệ
sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ Node.js, PHP, Perl, và nhiều ngôn ngữ khác,làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl, …
1.1.1 Đặc điểm của MySQL
Hệ quản trị cơ sở dữ liệu MySQL chính là một trong những phần mềm quản trịCSDL dạng server based, hệ gần giống với SQL server of Microsoft
MySQL là phần mềm quản lý dữ liệu thông qua CSDL Và mỗi một CSDL đều cóbảng quan hệ chứa dữ liệu riêng biệt
MySQL có cơ chế quản lý sử dụng riêng giúp cho mỗi người sử dụng đều có thểquản lý cùng lúc một hay nhiều CSDL khác nhau Và mỗi người dùng đều có 1username và password để truy nhập và truy xuất đến CSDL Khi truy vấn đến CSDLcủa MySQL, chúng ta phải cung cấp tài khoản và mật khẩu có quyền sử dụng cơ sở
dữ liệu đó MySQL tương thích tốt với môi trường PHP, giúp hệ thống hoạt độngmạnh mẽ
Trang 23Tên đề tài: xây dựng hệ thống website quản lý việc ủng hộ và phân phối hàng cứu trợ lũ lụt
cho huyện Hoà Vang- Đà Nẵng
1.1.2 Các lợi ích khi sử dụng MYSQL
Ra mắt người dùng hoàn toàn miễn phí, hệ quản trị cơ sở dữ liệu MySQL mang
đến rất nhiều những lợi ích thiết thực, được ứng dụng trong nhiều dự án của các công
ty công nghệ, một trong số đó có thể kể đến những công ty chuyên lập trìnhnhư MonaMedia, Misa, … cùng chúng tôi tìm hiểu những lợi ích thiết thực củamySQL ngay dưới đây:
1.1.2.1 Hiệu năng sử dụng cao
Hầu hết, hệ quản trị cơ sở dữ liệu MySQL đang được các nhà phát triển rất ưachuộng trong quá trình phát triển ứng dụng Và họ đánh giá rất cao ở hiệu năng sửdụng của MySQL Với kiến trúc storage-engine, MySQL đặc trưng cho các ứng dụngchuyên biệt, đặc biệt là đối với những trang web có dung lượng lớn, phục vụ hàngtriệu khách hàng Hoặc đối với những hệ thống xử lý giao dịch tốc độ cao thì MySQLđều cùng có thể đáp ứng được những khả năng xử lý khắt khe của mọi hệ thống Đặcbiệt, với những tiện ích tải tốc độ cao, cơ chế xử lý nâng cao cùng bộ nhớ cache.MySQL đưa ra tất cả những tính năng cần có, đây là giải pháp hoàn hảo nhất ngay cảđối với những hệ thống doanh nghiệp khó tính nhất hiện nay
1.1.2.2 MySQL hỗ trợ giao dịch mạnh mẽ
Hệ quản trị cơ sở dữ liệu MySQL không những mang lại hiệu năng sử dụng cao.
Mà nó còn đưa ra một trong số những engine giao dịch cơ sở dữ liệu tốt nhất trên thịtrường hiện nay Tính năng này bao gồm: Khóa mức dòng không hạn chế; hỗ trợ giaodịch ACID hoàn thiện; khả năng giao dịch được phân loại và hỗ trợ giao dịch đa dạng
mà người đọc không cản trở cho người viết và ngược lại Với MySQL, dữ liệu sẽđược đảm bảo trong suốt quá trình server có hiệu lực Các mức giao dịch độc lập sẽđược chuyên môn hóa, nếu phát hiện có lỗi khóa chết ngay tức thì
1.1.2.3 Tốc độ xử lý nhanh
Đánh giá chung của các nhà phát triển, tất cả họ đều cho rằng hệ quản trị cơ sở dữ
liệu MySQL là cơ sở dữ liệu nhanh nhất Đây là nơi để cho các website có thể trao
đổi thường xuyên các dữ liệu bởi nó có engine xử lý tốc độ cao Khả năng chèn dữliệu cực nhanh và hỗ trợ mạnh mẽ các chức năng chuyên dụng cho trang web Cáctính năng này cũng được sử dụng cho môi trường lưu trữ dữ liệu mà hệ quản trị này
Trang 24tăng cường đến hàng terabyte cho các server đơn Ngoài ra còn có những tính năngkhác như: chỉ số băm, bảng nhớ chính, bảng lưu trữ và cây B được gói lại để giúpgiảm các yêu cầu lưu trữ tối đa đến 80% Với tốc độ nhanh, thật không thể phủ
nhận hệ quản trị cơ sở dữ liệu MySQL là sự lựa chọn tốt nhất cho cả ứng dụng web
cũng như các ứng dụng của doanh nghiệp ngày nay
1.1.2.4 Dễ dàng sử dụng
MySQL ngoài được biết đến với tốc độ khá cao, ổn định thì nó thực sự là một
hệ thống cơ sở dữ liệu rất đơn giản, rất dễ sử dụng Ít phức tạp khi cài đặt và quản trịhơn các hệ thống lớn Đặc biệt nó có thể hoạt động trên tất cả các hệ điều hành
1.1.2.5 Hỗ trợ ngôn ngữ truy vấn
MySQL hệ quản trị cơ sở dữ liệu là ngôn ngữ của sự lựa chọn cho tất cả các hệ
thống cơ sở dữ liệu hiện đại Người dùng hoàn toàn có thể truy cập MySQL bằng cách
sử dụng các ứng dụng mà hỗ trợ ODBC (một giao thức giao tiếp cơ sở dữ liệu đượcphát triển bởi Microsoft) Nhiều client có thể truy cập đến server trong cùng một thờigian Đặc biệt các client có thể sử dụng nhiều cơ sở dữ liệu một cách đồng thời Bạncũng có thể truy cập MySQL tương tác với khi sử dụng một vài giao diện để đưa vàocác truy vấn và xem kết quả như: các dòng yêu cầu của khách hàng, các trình duyệtweb
1.1.2.6 Tính kết nối và bảo mật cao
Điều quan trọng nhất của mỗi một doanh nghiệp chính là việc bảo mật dữ liệu tuyệt
đối Và hệ quản trị cơ sở dữ liệu MySQL tích hợp các tính năng bảo mật an toàn tuyệt
đối MySQL được nối mạng một cách đầy đủ Các cơ sở dữ liệu có thể được truy cập
từ bất cứ nơi nào trên internet Bạn có thể chia sẻ dữ liệu của bạn với bất kì ai, bất cứlúc nào và bất cứ nơi đâu bạn muốn Nhưng MySQL kiểm soát quyền truy cập nênngười không nên nhìn thấy dữ liệu của bạn sẽ không thể nào nhìn được Với việc xácnhận truy cập cơ sở dữ liệu, MySQL trang bị các kĩ thuật mạnh Chỉ có những người
sử dụng đã được xác nhận mới truy cập được vào cơ sở dữ liệu Ngoài ra, SSH và SSLcũng được hỗ trợ nhằm đảm bảo kết nối an toàn và bảo mật Tiện ích backup vàrecovery cung cấp bởi MySQL hệ quản trị cơ sở dữ liệu và các hãng phần mềm thứ 3cho phép backup logic và vật lý cũng như recovery toàn bộ ngay tại một thời điểm
Trang 25Tên đề tài: xây dựng hệ thống website quản lý việc ủng hộ và phân phối hàng cứu trợ lũ lụt
cho huyện Hoà Vang- Đà Nẵng
1.2 Giới thiệu ngôn ngữ lập trình PHP
1.2.1 Đôi nét về PHP
PHP: Hypertext Preprocessor, thường được viết tắt thành PHP là một ngôn ngữlập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụngviết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp vớiweb và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụngweb, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựngsản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trởthành một ngôn ngữ lập trình web phổ biến nhất thế giới
Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có
sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của PHP lậpnên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanhnghiệp
1.2.2 Ưu điểm
Ưu điểm của PHP có rất nhiều, trong đó có 5 nội dung chính bao gồm:
những ai muốn học về ngôn ngữ lập trình Có thể tự học được PHP theo dạng online,
mà không cần phải lo đến việc sẽ bỏ ra một khoản tiền lớn để chi trả cho học
nó sẽ không bị mất quá nhiều thời gian mới có thể học được Đây chính là một ưuđiểm, khiến cho PHP luôn đón nhận được sự quan tâm hàng đầu từ những người yêuthích về công nghệ thông tin
một cách mạnh mẽ Vậy nên, nếu như có nhu cầu tìm nguồn tài liệu thì có thể dễ dàng,cũng như gặp khó khăn thì được hỗ trợ một cách đắc lực nhất
cao Bên cạnh đó, ưu điểm này còn giúp làm được lượng công việc lớn khác nhau,cũng như tại nhiều công ty và thu nhập từ đó sẽ được tăng lên đáng kể
PHP không chỉ dừng lại ở những tính năng hiện tại, trong tương lai thì nó còn pháttriển mạnh mẽ hơn nữa để khẳng định được vị trí của mình luôn là cao ở trong bảng
Trang 26danh sách thực hiện điều tra, khảo sát mỗi năm về ngôn ngữ lập trình trong công nghệthông tin.
1.2.3 Nhược điểm
Với những ưu điểm tiện dụng, người học lập trình có thể dễ học thì PHP cũng cónhững nhược điểm cơ bản Trong đó, nó được thể hiện qua:
gọn gàng và có phần đẹp mắt như những ngôn ngữ trong lập trình khác
web Đó chính là lý do khiến cho ngôn ngữ này khó có thể cạnh tranh được vớinhững ngôn ngữ lập trình khác, nếu như muốn phát triển và nhân rộng hơn nữatrong lập trình
1.3 Giới thiệu về framework LARAVEL
Laravel là một framework rõ ràng và ưu việt cho việc phát triển web PHP Giảithoát bạn khỏi mã spaghetti, nó giúp bạn tạo ra những ứng dụng tuyệt vời, sử dụngsyntax đơn giản Phát triển là thích thú những trải nghiệm sáng tạo chứ không phải là
sự khó chịu
Laravel là một framework PHP 5.3 được miêu tả như ‘một framework cho webartisan’ Theo tác giả Taylor Otwell, Laravel mang lại niềm vui cho việc lập trình bởi
nó đơn giản, súc tích và đặc biệt là trình bày hợp lý
1.3.1 Laravel có 3 đặc tính nổi trội
- Đơn giản: các chức năng của Laravel rất dễ hiểu và thực hiện
- Ngắn gọn: hầu hết các chức năng của Laravel hoạt động liên tục với cấu hìnhrất nhỏ, dựa vào các quy tắc chuẩn để giảm bớt code-bloat
- Trình bày hợp lý: hướng dẫn sử dụng Laravel rất đầy đủ và luôn cập nhật Nhàlập trình, người tạo ra framework luôn cập nhật tài liệu trước khi cho ra mộtphiên bản mới, đảm bảo những người học lập trình luôn luôn có những tài liệumới nhất
1.3.2 Điều khiến laravel trở nên khác biệt:
- Bundles: là dành cho Laravel cũng như PEAR là cho PHP Ngoài ra laravel đi
kèm với công cụ command-line gọi là Artisan, giúp việc cài đặt các gói dễ
Trang 27Tên đề tài: xây dựng hệ thống website quản lý việc ủng hộ và phân phối hàng cứu trợ lũ lụt
cho huyện Hoà Vang- Đà Nẵng
dàng
- Eloquent ORM: là file thực thi PHP Active Record tiên tiến nhất hiện có.
- Migrations: trong laravel, migrations được xây dựng trong framework, chúng
có thể thực hiện thông quan Artisan command-line
- Unit-testing: laravel là 1 framework tuyệt vời để tích hợp PHP Unit.
- Redis: Laravel hỗ trợ Redis rất ngắn gọn.
1.4 Giới thiệu về Visual Studio Code
Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux vàmacOS, Visual Studio Code được phát triển bởi Microsoft Nó được xem là một sự kếthợp hoàn hảo giữa IDE và Code Editor
Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntaxhighlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nhờ tínhnăng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi theme, phímtắt, và các tùy chọn khác
- Cung cấp kho tiện ích mở rộng
- Kho lưu trữ an toàn
- Visual Studio Code hỗ trợ nhiều ứng dụng web Ngoài ra, nó cũng có một trình
soạn thảo và thiết kế website
- Lưu trữ dữ liệu dạng phân cấp
- Hỗ trợ viết Code
- Visual Studio Code có tích hợp thiết bị đầu cuối, giúp người dùng khỏi phải
chuyển đổi giữa hai màn hình hoặc trở về thư mục gốc khi thực hiện các thao tác
- Người dùng Visual Studio Code có thể mở cùng lúc nhiều tệp tin và thư mục –
mặc dù chúng không hề liên quan với nhau
Trang 28- Intellisense: có thể phát hiện nếu bất kỳ đoạn mã nào không đầy đủ Thậm chí, khi
lập trình viên quên không khai báo biến, Intellisense sẽ tự động giúp họ bổ sungcác cú pháp còn thiếu
- Hỗ trợ Git.
Trang 29Tên đề tài: xây dựng hệ thống website quản lý việc ủng hộ và phân phối hàng cứu trợ lũ lụt
cho huyện Hoà Vang- Đà Nẵng
Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG2.1 Phân tích tác nhân và chức năng
- Cập nhật thông tin cá nhân
- Cập nhật danh sách hộ gia đình cần được cứu trợ
- Cập nhật bàn giao hàng cứu trợ cho hộ gia đình
Trang 302.1.2.4 Chủ hộ gia đình
- Đăng nhập
- Cập nhật thông tin cá nhân
- Xem lịch sử nhận được cứu trợ
Trang 31Tên đề tài: xây dựng hệ thống website quản lý việc ủng hộ và phân phối hàng cứu trợ lũ lụt
cho huyện Hoà Vang- Đà Nẵng
2.3 Sơ đồ hoạt động
2.3.1 Actor Quản trị viên
2.3.1.1 Sơ đồ hoạt động cập nhật tài khoản người dùng
Hình 2.3.1.1.1.1: Sơ đồ hoạt động cập nhật tài khoản ngời dùng
2.3.1.2 Sơ đồ hoạt động cập nhật tài khoản người dùng
Hình 2.3.1.2.1.1: Sơ đồ hoạt động cập nhật tài khoản người dùng
Trang 322.3.1.3 Sơ đồ hoạt động cập nhật hàng cứu trợ
Hình 2.3.1.3.1.1: Sơ đồ hoạt động cập nhật hàng cứu trợ
2.3.1.4 Sơ đồ hoạt động cập nhật hộ gia đình
Hình 2.3.1.4.1.1: Sơ đồ hoạt động cập nhật hộ gia đình
Trang 33Tên đề tài: xây dựng hệ thống website quản lý việc ủng hộ và phân phối hàng cứu trợ lũ lụt
cho huyện Hoà Vang- Đà Nẵng
2.3.2 Cán bộ quản lý phân phối
2.3.2.1 Sơ đồ hoạt động cập nhật đợt ủng hộ
Hình 2.3.2.1.1.1: Sơ đồ hoạt động cập nhật đợt ủng hộ
2.3.2.2 Sơ đồ hoạt động cập nhật đăng ký ủng hộ
Hình 2.3.2.2.1.1: Sơ đồ hoạt động cập nhật đăng ký ủng hộ
Trang 342.3.2.3 Sơ đồ hoạt động bàn giao đợt đăng ký
Hình 2.3.2.3.1.1: Sơ đồ hoạt động bàn giao đợt đăng ký
2.3.3 Actor Cán bộ phường
2.3.3.1 Sơ đồ hoạt động đăng ký hộ gia đình nhận ủng hộ
Hình 2.3.3.1.1.1: Sơ đồ hoạt động đăng ký hộ gia đình nhận ủng hộ
Trang 35Tên đề tài: xây dựng hệ thống website quản lý việc ủng hộ và phân phối hàng cứu trợ lũ lụt
cho huyện Hoà Vang- Đà Nẵng
2.3.3.2 Sơ đồ hoạt động bàn giao cho hộ gia đình
Hình 2.3.3.2.1.1: Sơ đồ hoạt động bàn giao cho hộ gia đình
2.3.4 Actor Chủ hộ gia đình
2.3.4.1 Sơ đồ hoạt động xem lịch sử nhận ủng hộ
Hình 2.3.4.1.1.1: Sơ đồ hoạt động xem lịch sử nhận ủng hộ