TÓM TẮTTên đề tài: Xây dựng website đặt tour du lịch cho công ty danang travel Sinh viên thực hiện: Bùi Nguyễn Ngọc Huy • Cho phép admin cập nhật tour mới • Cho phép khách hàng đánh giá
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
XÂY DỰNG WEBSITE ĐẶT TOUR DU LỊCH
CHO CÔNG TY DANANG TRAVEL
Người hướng dẫn : Ths Đỗ Phú Huy Sinh viên thực hiện : Bùi Nguyễn Ngọc Huy
Trang 2ĐẠ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
Trang 3{Trang trắng này dùng để dán bản Nhận xét của người hướng dẫn, hoặc thay trangnày bằng Nhận xét của người hướng dẫn}
Trang 4{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 5TÓM TẮT
Tên đề tài: Xây dựng website đặt tour du lịch cho công ty danang travel
Sinh viên thực hiện: Bùi Nguyễn Ngọc Huy
• Cho phép admin cập nhật tour mới
• Cho phép khách hàng đánh giá tour thông qua hình thức vote sao
• Cho phép admin quản lý hóa đơn của mình
Trang 6TRƯỜ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: Đỗ Phú Huy
Sinh viên thực hiện: Bùi Nguyễn Ngọc Huy Mã SV: 1811505310114
1 Tên đề tài:
- Xây dựng website đặt tour du lịch cho công ty danang travel
2 Các số liệu, tài liệu ban đầu:
- Các tài liệu tham khảo được lấy từ nhiều nguồn, đa phần là các bài viết và khóa
học về lập trình trên youtube
- Các trang web booking tour đã có sẵn trên thị trường
3 Nội dung chính của đồ án:
Chương 1: Tổng quanChương 2: Cơ sở lý thuyếtChương 3: Phân tích thiết kếChương 4: Xây dựng chương trìnhChương 5: Kết luận và hướng phát triển
Trang 7LỜI NÓI ĐẦU
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ôi trường học tập và phát triển bản thân tốt nhất
Đặc biệt em xin gửi lời cảm ơn chân thành và sâu sắc tới thầy Đỗ Phú Huy đã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 thầy cô bộ môn đã tận tình giảng dạy, truyền đạtkiến thức cho chúng em trong các kỳ học vừa qua
Xin chân thành cảm ơn tất cả bạn bè đã động viên, giúp đỡ chúng em trongthời gian học tập và hoàn thành đồ án
Mặc dù đã cố gắng nhiều nhưng sẽ không thể 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ự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!
i
Trang 8CAM ĐOAN
Chú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 giảng viên ThS.Đỗ Phú Huy
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
Bùi Nguyễn Ngọc Huy
ii
Trang 9MỤC LỤC
MỤC LỤC iii
DANH MỤC BẢNG BIỂU viii
DANH MỤC HÌNH VẼ ix
DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT xi
DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH xii
MỞ ĐẦU 1
1.1 1 Mục tiêu đề tài 1
1.2 2 Đối tượng nghiên cứu và phạm vi nghiên cứu 1
1.2.1 a Đối tượng nghiên cứu 1
1.2.2 b Phạm vi nghiên cứu 1
1.3 3 Phương pháp nghiên cứu 2
1.4 4 Giải pháp công nghệ 2
1.5 5 Cấu trúc đồ án 2
Chương 2 CƠ SỞ LÝ THUYẾT 3
2.1 Hệ quản trị cơ sở dữ liệu 3
2.1.2 MySQL là gì 3
2.1.3 Đôi nét về lịch sử 3
2.1.4 Ưu điểm MySQL 4
2.2 Ngôn ngữ lập trình 4
2.2.1 FrontEnd 4
2.2.2 BackEnd: 5
1.2 Ant Design 5
1.3 Mô hình MVC 6
iii
Trang 10Chương 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 8
3.1 Đặc tả yêu cầu phần mềm (Software Requirements) 8
3.2 Sơ đồ Usecase 12
3.3 Kịch bản cho Usecase 12
3.3.1 Use case đăng nhập 12
3.3.2 Usecase tìm kiếm 13
3.3.3 Usecase đặt tour 13
3.3.4 Usecase bình luận 14
3.3.5 Usecase Quản lý tour 14
3.3.6 Usecase quản lý tài khoản 15
3.3.7 Usecase quản lý tin tức 15
3.3.8 Usecase quản lý hóa đơn 15
3.3.9 Usecase quản lý hóa đơn 16
3.3.10 Usecase thanh toán online 16
3.4 Sơ đồ ERD 17
3.5 Cơ sở dữ liệu 17
3.5.1 Bảng ảnh 17
3.5.2 Bảng bình luận 18
3.5.3 Bảng cẩm nang du lịch 18
3.5.4 Bảng chỉ tiêu 18
3.5.5 Bảng địa điểm 19
3.5.6 Bảng dịch vụ 19
3.5.7 Bảng hoá đơn 19
3.5.8 Bảng khuyến mãi 20
3.5.9 Bảng loại tour 20
iv
Trang 113.5.10 Bảng ngày đi 20
3.5.11 Bảng quốc gia 20
3.5.12 Bảng role 21
3.5.13 Bảng tag 21
3.5.14 Bảng tin tức 21
3.5.15 Bảng tour 22
3.5.16 Bảng người dùng 22
3.5.17 Bảng thông báo 23
3.5.18 Bảng hoá đơn cá nhân 23
3.6 Diagram trong MySQL 24
3.7 Sơ đồ hoạt động 25
3.7.1 Sơ đồ hoạt động 25
3.7.1.1 Đặt tour 25
3.7.2 Tìm kiếm tour 25
3.7.3 Quản lý tour 26
3.7.4 Tạo tour du lịch cá nhân 27
3.7.5 Quản lý tin tức 27
3.7.6 Quản lý bình luận 28
3.7.7 Quản lí dịch vụ 28
3.7.8 Quản lý loại tour 29
3.7.9 Quản lý khuyến mãi 29
3.8 Sơ đồ tương tác 30
3.8.1 Sequence Diagram cho usecase Đăng nhập 30
3.8.2 Sequence Diagram cho usecase Đặt tour 31
3.8.3 Sequence Diagram cho usecase đăng ký 32
v
Trang 12Chương 4 XÂY DỰNG CHƯƠNG TRÌNH 33
4.1 Công cụ xây dựng chương trình 33
4.2 Giao diện chương trình cho người dùng 34
4.2.1 Giao diện trang chủ 34
4.2.2 Giao diện đăng ký tài khoản 35
4.2.3 Giao diện đăng nhập khi có tài khoản 36
4.2.4 Giao diện khi đăng nhập thành công 36
4.2.5 Cập nhật thông tin cá nhân 37
4.2.6 Giao diện chi tiết tour 38
4.2.7 Giao diện quản lý bài đăng cá nhân 38
4.2.8 Giao diên tin tức 39
4.2.9 Giao diện xem chi tiết bài đăng của sinh viên khác 39
4.2.10 Giao diện đặt tour 40
4.2.11 Giao diện thanh toán 41
4.2.12 Giao diện đánh giá tour 42
4.3 Giao diện chương trình cho quản lý 43
4.3.1 Giao diện dành cho tài khoản Admin 43
4.3.2 Giao diện quản lý tour 43
4.3.3 Giao diện quản lý tài khoản 43
4.3.4 Giao diện quản lý tin tức 44
4.3.5 Giao diện quản lý hóa đơn 45
4.3.6 Giao diện quản lý khuyến mãi 45
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46
4.4 Kết luận 46
4.5 Hướng phát triển 46
vi
Trang 13TÀI LIỆU THAM KHẢO 47
vii
Trang 14DANH MỤC BẢNG BIỂU
Bảng 3.1: Biểu đồ phân cấp chức năng của hệ thống 11
Bảng 3.2: Ảnh 18
Bảng 3.3: Bình luận 18
Bảng 3.4: Chỉ tiêu 19
Bảng 3.5: Địa điểm 19
Bảng 3.6: Dịch vụ 19
Bảng 3.7: Hoá đơn 19
Bảng 3.8: Khuyến mãi 20
Bảng 3.9: Loại tour 20
Bảng 3.10: Ngày đi 20
Bảng 3.11: Quốc gia 21
Bảng 3.12: Role 21
Bảng 3.13: Tag 21
Bảng 3.14: Tin tức 22
Bảng 3.15: Tour 22
Bảng 3.16: Người dùng 23
Bảng 3.17: Thông báo 23
Bảng 3.18: Hóa đơn cá nhân 23
viii
Trang 15DANH MỤC HÌNH VẼ
Hình 2.1: Logo MySQL 3
Hình 2.2: Logo ReactJS 5
Hình 2.3: Logo NodeJS 5
Hình 2.4: Mô hình MVC 6
Hình 3.1: Usecase Diagram 12
Hình 3.2: Sơ đồ ERD 17
Hình 3.3: Sơ đồ Diagram 24
Hình 3.4: Sơ đồ hoạt động đặt tour 25
Hình 3.5: Sơ đồ hoạt động tìm kiếm 26
Hình 3.6: Sơ đồ hoạt động quản lý tour 26
Hình 3.7: Sơ đồ hoạt động tự tạo tour 27
Hình 3.8: Sơ đồ hoạt động quản lý tin tức 27
Hình 3.9: Sơ đồ hoạt động bình luận 28
Hình 3.10: Sơ đồ hoạt động quản lý dịch vụ 28
Hình 3.11: Sơ đồ hoạt động quản lý loại tour 29
Hình 3.12: Sơ đồ sequence cho usecase đăng nhập 30
Hình 3.13: Sơ đồ sequence cho usecase Đặt tour 31
Hình 3.14: Sơ đồ Sequence cho usecase đăng ký 32
Hình 4.1: Giao diện trang chủ 34
Hình 4.2: Giao diện đăng ký tài khoản 35
Hình 4.3: Giao diện đăng nhập tài khoản 36
Hình 4.4: Giao diện sau khi đăng nhập thành công 36
Hình 4.5: Giao diện cập nhật thông tin cá nhân 37
Hình 4.6: Giao diện chi tiết tour 38
ix
Trang 16Hình 4.7: Giao diện danh mục tour 38
Hình 4.8: Giao diện tin tức 39
Hình 4.9: Giao diện chi tiết tin tức 39
Hình 4.10: Giao diện đặt tour 40
Hình 4.11: Giao diện hình thức thanh toán 41
Hình 4.12: Giao diện thanh toán online 42
Hình 4.13: Giao diện đánh giá tour 42
Hình 4.14: Giao diện Admin – Thống kê 43
Hình 4.15: Giao diện quản lý tour 43
Hình 4.16: Giao diện quản lý tài khoản 44
Hình 4.17: Giao diện quản lý tin tức 44
Hình 4.18: Giao diện quản lý hóa đơn 45
Hình 4.19: Giao diện quản lý khuyến mãi 45
x
Trang 17DANH MỤC CHỮ VIẾT TẮT TIẾNG VIỆT
Stt Chữ viết tắt Giải nghĩa
1 CNTT Công nghệ thông tin
xi
Trang 18DANH MỤC CHỮ VIẾT TẮT TIẾNG ANH
Stt Chữ viết tắt Giải nghĩa Nghĩa tiếng Việt
1 HTML Hyper Text Markup
Language Ngôn ngữ đánh dấu siêu văn bản
2 CSS Cascading Style Sheets
3 JS Javascript Ngôn ngữ lập trình Javascript
4 ERD Entity Relationship Diagram Sơ đồ thực thể quan hệ
xii
Trang 19Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
MỞ ĐẦU
Trong những năm qua, du lịch Việt Nam đang trên đà phát triển mạnh,lượng khách quốc tế đến cũng như khách du lịch nội địa ngày càng tăng nhiềuhơn các năm trước Thế giới ngày càng biết đến du lịch Việt Nam nhiều hơntrước, nhiều địa điểm du lịch trong nước được bình chọn là địa chỉ yêu thích củacác du khách quốc tế Xã hội ngày càng đón nhận du lịch vì nhiều những mặt tốt
mà nó mang lại Tính cạnh tranh và chất lượng của du lịch là những vấn đề nhậnđược thảo luận rộng rãi và nhiều sự quan tâm Một cách tiếp cận đa chiều sẽ tạo
ra giải pháp đúng đắn nâng cao chất lượng và tính cạnh tranh của du lịch ViệtNam với các nước khác trên thế giới
Từ lý do trên, em chọn đề tài “Website đặt tour du lịch cho công ty DaNangTravel
” làm hướng nghiên cứu cho đề tài
1.1 1 Mục tiêu đề tài
Việc xây dựng website đặt tour du lịch xây dựng với các mục đích sau:
- Tìm hiểu ngôn ngữ lập trình REACTJS, NODEJS, CSS và áp dụng vào một dự án website
- Học cách xây dựng hệ thống và áp dụng trong thực tế, quản lý khách hàng
- Áp dụng các kiến thức được học ở trường và các tài liệu tham khảo vào một dự án thực tế
1.2 2 Đối tượng nghiên cứu và phạm vi nghiên cứu
1.2.1 a Đối tượng nghiên cứu
Phân tích chức năng đặt tour du lịch của các trang web
1.2.2 b Phạm vi nghiên cứu
- Xây dựng website đặt tour du lịch cho công ty danang travel
- Tìm hiểu về cách thức hoạt động, quy trình đặt tour của các website
thông qua internet
- Phân tích và thiết kế hệ thống cho website
- Tìm hiểu về các mô hình về công nghệ phần mềm để tạo ra phần mềm tốtđược người dùng đón nhận
- Xây dựng một trang web bằng ReactJS và NodeJS
Trang 20Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
1.3 3 Phương pháp nghiên cứu
Phương pháp nghiên cứu lý thuyết thu thập thông tin qua sách, các tài liệu,
trang web để tìm được các cơ sở lý thuyết liên quan vấn đề mình nghiên cứu
Phương pháp triển khai thực nghiệp: xây dựng website
1.4 4 Giải pháp công nghệ
Ngôn ngữ lập trình: HTML/CSS/JS, ReactJS, NodeJS
Hệ quản trị cơ sở dữ liệu: MySQL
Công cụ hỗ trợ: StarUML, Visual Studio Code
1.5 5 Cấu trúc đồ án
Cấu trúc đồ án tốt nghiệp gồm các phần như sau:
- Mở đầu: Giới thiệu lý do và các mục tiêu mà đề tài cần giải quyết, phạm vinghiên cứu của đề tài Giới thiệu tóm tắt nội dung sẽ được trình bày trong các chươngtiếp theo Nghiên cứu, tìm hiểu và đưa ra lý do chọn đề tài, mục tiêu và mục đích khixây dựng và phát triển đề tài Xác định rõ phạm vi và đối tượng hướng đến, giải phápcông nghệ để triển khai, xây dựng đề tài, đồng thời phân tích đặc tả yêu cầu nghiệp vụ
- Chương 1: Tìm hiểu, giới thiệu tổng quát các kiến thức về ngôn ngữ lập trìnhHTML/CSS/JS, ReactJS, NodeJS và hệ quản trị cơ sở dữ liệu MySQL
- Chương 2: Phân tích các tác nhân và chức năng của từng tác nhân, yêu cầu phichức năng của hệ thống Thiết kế sơ đồ use-case, sơ đồ hoạt động, sơ đồ ERD Thiết
kế cơ sở dữ liệu Xây dựng kịch bản cho từng use-case trong hệ thống
- Chương 3: Xây dựng giao diện và chức năng của hệ thống
- Kết luận: Kết luận chung cho các chương trong đồ án Trình bày những vấn đề
đã giải quyết đồng thời trình bày hướng phát triển
Trang 21Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
Chương 2
CƠ SỞ LÝ THUYẾT
Website xây dựng với ngôn ngữ JS sử dụng ReactJS Framework
Xây dựng giao diện trang web bằng Ant Design Template
Cơ sở dữ liệu của hệ thống sử dụng hệ quản trị cơ sở dữ liệu MySQL
Công cụ phát triển: Visual Studio Code, Github, XamPP…
2.1 Hệ quản trị cơ sở dữ liệu
Hình 2.1.1.1.1.1: Logo MySQL
2.1.2 MySQL là gì
MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS)dựa trên ngôn ngữ truy vấn có cấu trúc ( SQL) được phát triển, phân phối và hỗ trợ bởitập đoàn Oracle MySQL chạy trên hầu hết tất cả các nền tảng, bao gồm cả Linux ,UNIX và Windows MySQL thường được kết hợp với các ứng dụng web
2.1.3 Đôi nét về lịch sử
Dự án của MySQL được bắt đầu vào năm 1979, khi nhà phát minh của MySQL,Michael Widenius phát triển một công cụ cơ sở dữ liệu nội bộ có tên UNIREG đểquản lý cơ sở dữ liệu Sau đó, UNIREG đã được viết lại bằng nhiều ngôn ngữ khácnhau và được mở rộng để xử lý các cơ sở dữ liệu lớn Sau một thời gian MichaelWidenius đã liên lạc với David Hughes, tác giả của mQuery, để xem liệu Hughes cóquan tâm đến việc kết nối mQuery với trình xử lý B + ISAM của UNIREG để cungcấp lập chỉ mục cho mQuery hay không Đó là cách MySQL ra đời
Trang 22Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
2.1.4 Ưu điểm MySQL
Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ổn định, dễ sử dụng và 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
Độ bảo mật cao: MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trênInternet khi sở hữu nhiều nhiều tính năng bảo mật thậm chí là ở cấp cao
Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệquản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp
Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu và hơn thếnữa nó có thể được mở rộng nếu cần thiết
Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL để làm việc rấthiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi
2.2 Ngôn ngữ lập trình
2.2.1 FrontEnd
HTML, CSS, Javascript là ngôn ngữ chính để thiết kế giao diện hệ thống
Bộ ba ngôn ngữ này là dường như không thể thiếu khi tạo giao diện mộtwebsite
React là thư viện ngôn ngữ JavaScript mới được phát triển và phổ biếnphổ biến để xây dựng giao diện người dùng (UI) React có tốc độ khá nhanh khingười dùng nhập liệu bằng cách sử dụng phương pháp mới để render website
React là thư viện được phát triển bởi Facebook Nó được ra mắt vào năm
2013 được cho là công cụ JavaScript mã nguồn mở Hiện tại, nó đã đi trước cácđối thủ có khả năng hoạt động tương tự như Angular và Bootstrap, hai thư việnJavaScript được người dùng ưa chuộng nhất thời bấy giờ
React được nhiều lựa chọn bởi nhiều công ty lớn hàng đầu thế giới, bao gồmNetflix, Airbnb, Facebook, WhatsApp, eBay, và Instagram Đây là bằng chứng chothấy React hiện đang nổi trội hơn với các đối thủ khác trong thị trường
Trang 23Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
Hình 2.2.1.1.1.1: Logo ReactJS
2.2.2 BackEnd:
Nodejs là một FrameWork của ngôn ngữ JavaScript, hệ thống được thiết
kế để viết các ứng dụng internet có khả năng mở rộng, được tạo ra năm 2009
MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thếgiới vì đây là hệ quản trị có tốc độ cao, ổn định và khá dễ sử dụng, hoạt động tốttrên nhiều hệ điều hành, tốc độ và tính bảo mật cao
Hình 2.2.2.1.1.1: Logo NodeJS
2.2 Ant Design
Hình 2.4: Logo Ant DesignAnt Design React dành riêng để cung cấp trải nghiệm phát triển tốt cho các lậptrình viên Trước khi bắt đầu, bạn nên tìm hiểu React và ES2015 trước, cài đặt và cấuhình chính xác Node.js v8 trở lên
Trang 24Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
Hướng dẫn chính thức cũng giả định rằng bạn có kiến thức trung cấp về HTML,CSS, JavaScript và React Nếu bạn chỉ mới bắt đầu học front-end hoặc React, thì việc
sử dụng UI framework làm bước đầu tiên có thể không phải là ý tưởng tốt nhất
2.3 Mô hình MVC
MVC là từ viết tắt bởi 3 từ Model – View – Controller Đây là mô hình thiết kế
sử dụng trong kỹ thuật phần mềm Mô hình source code thành 3 phần, tương ứng mỗi
từ Mỗi từ tương ứng với một hoạt động tách biệt trong một mô hình
Hình 2.2.2.1.1.2: Mô hình MVC
Model (M):
Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng Bộ phận này làmột cầu nối giữa 2 thành phần bên dưới là View và Controller Model thể hiện dướihình thức là một cơ sở dữ liệu hoặc có khi chỉ đơn giản là một file XML bình thường.Model thể hiện rõ các thao tác với cơ sở dữ liệu như cho phép xem, truy xuất, xử lý dữliệu,…
View (V):
Đây là phần giao diện (theme) dành cho người sử dụng Nơi mà người dùng cóthể lấy được thông tin dữ liệu của MVC thông qua các thao tác truy vấn như tìm kiếmhoặc sử dụng thông qua các website
Trang 25Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
Thông thường, các ứng dụng web sử dụng MVC View như một phần của hệthống, nơi các thành phần HTML được tạo ra Bên cạnh đó, View cũng có chức năngghi nhận hoạt động của người dùng để tương tác với Controller Tuy nhiên, Viewkhông có mối quan hệ trực tiếp với Controller, cũng không được lấy dữ liệu từController mà chỉ hiển thị yêu cầu chuyển cho Controller mà thôi
Controller (C):
Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua view Từ
đó, C đưa ra dữ liệu phù hợp với người dùng Bên cạnh đó, Controller còn có chứcnăng kết nối với model
Trang 26Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
Chương 3
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
3.1 Đặc tả yêu cầu phần mềm (Software Requirements)
I.PHÂN TÍCH CHỨC NĂNG KHÁCH VÃNG LAI
1.4 Đăng ký Cho phép đăng ký tài khoản
II PHÂN TÍCH CÁC CHỨC NĂNG KHÁCH HÀNG
1 Quản lý tài khoản
1.1 Đăng nhập
Cho phép khách hàng đăng nhập từ tài khoản đã đăng ký và được phép truy cập các dịch vụ khi có tài khoản cá nhân
1.3 Đổi thông tin cá nhân
Cho phép khách hàng thay đổi các thông tin cá nhân của chính mình Như là tên, địa chỉ, ảnh đại diện, …
1.4 Đổi mật khẩu
Cho phép khách hàng đổi mật khẩu của mình khi muốn
1.5 Báo quên mật khẩu
Khi quên mật khẩu khách hàng có thể lấy lại mật khẩu đăng nhập
Trang 27Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
1.6 Xem lịch sử
Cho phép khách hàng xem lại lịch sử đặt tourcủa mình
2 Nhận thông báo
2.1 Nhận thông
báo
Khách hàng sẽ nhận được thông báo từ công
ty khi đăng ký tour của riêng mình
3 Đánh giá và xếp hạng
4.1 Đánh giá khách hàng
Cho phép khách hàng đánh giá tour với
số sao yêu thích tối đa 5 sao
4.2 Bình luận
Cho phép khách hàng để lại các bình luận của mình với tour, nhận xét các ưu nhược điểm
cần phải thay đổi
4 Đặt tour
5.1 Đặt tour Cho phép khách hàng thanh toán , và đặt tour
du lịch cho mình
6 Đọc tin tức
6.1 Đọc tin tức du lịch
Cho phép khách hàng đọc các tin tức được website cập nhật trên hệ thống
II PHÂN HỆ CÁC CHỨC NĂNG DÀNH CHO NHÂN VIÊN
1 Quản lý tài khoản
1.1 Đăng kýtài khoản
Cho phép nhân viên đăng ký tài khoản để đăng nhập và quản lý thông tin
1.2 Đổi thông tin cá nhân
Cho phép nhân viên đổi một số thông tin được phép thay đổi trong tài khoản
1.3 Đổi mật khẩu Cho phép nhân viên đổi mật khẩu đăng nhập.
Trang 28Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
Trang 29Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
1.4 Báo quên mật khẩu
Cho phép nhân viên lấy lại của mình
2 Quản lý khách hàng
2.1 Xem thông tin
Cho phép nhân viên chọn một dịch vụ đượccung cấp và lên lịch làm việc với cộng tác viên
2.2 Cấp quyền
Cho phép nhân viên cấp cao nhất cấp quyềntruy cập truy cập hệ thống
3 Quản lý bài viết
3.1 Thêm bài viết
Cho phép nhân viên đăng thêm bài viết
3.2 Sửa bài viết Cho phép nhân viên sửa bài viết.
3.3 Xoá bài viết Cho phép nhân viên xoá bài viết.
3.4 Xem thông tin
Cho phép nhân viên xem lại thông tin bài viết
4 Quản lý tour
4.1 Thêm tour Cho phép nhân viên tạo thêm tour.
4.2 Sửa tour Cho phép nhân viên sửa tour
4.3 Xoá tour Cho phép nhân viên xoá tour
Trang 30Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
4.4 Xem thông tin Cho phép nhân viên xem lại thông tin tour.
5 Quản lý khuyến mãi
5.1 Thêm khuyến mãi
Cho phép nhân viên tạo khuyến mãi
5.2 Sửa khuyến mãi Cho phép nhân viên sửa khuyến mãi.
5.3 Xoá khuyến mãi Cho phép nhân viên xoá khuyến mãi.
5.4 Áp dụng
Cho phép nhân viên tạo xem hoá đơn đã được tạo
6.2 Xoá hoá đơn Cho phép nhân viên xoá hoá đơn.
7 Quản lý doanh thu
7.1 Xem doanh thu
Cho phép nhân viên xem lại doanh thu của hệ thống theo ngày, tháng, năm
Bảng 3.1.1.1.1.1.1: Biểu đồ phân cấp chức năng của hệ thống
Trang 31Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
3.2 Sơ đồ Usecase
Hình 3.2.1.1.1.1: Usecase Diagram
3.3 Kịch bản cho Usecase
3.3.1 Use case đăng nhập
Tên Usecase Đăng nhập
Mô tả Người dùng muốn thực hiện những chức năng mua bàn
cần phải đăng nhập vào hệ thống
Actors Khách hàng, quản trị viên
sinh 3a.1 Actor nhập sai email3a.1 Nhập lại usecase tiếp tục bước 4
4a Actor nhập sai Passwork
Trang 32Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
4a.1 Actor nhập lại usecase tiếp tục bước 5
Các trường hợp
động ngoại lệ 5a Actor không nhập – hệ thống dừng, thông báo nhập lại Actor ghi email, không có password – hệ thống dừng,
thông báo nhập lại
3.3.2 Usecase tìm kiếm
Tên usecase Tìm kiếm – lọc
Mô tả Khách hàng có tài khoản đăng nhập có thể tìm kiếm tour cần
đặtKhách vãng lai tìm kiếm những tour du lịch để tham khảo
Actors Khách hàng
Khách vãng lai
Đầu vào Từ khóa hoặc danh mục cần tìm kiếm
Đầu ra Hiển thị thông tin tour liên quan đến thông tin tìm kiếm được
nhập
Các bước
thực hiện 1 Khách hàng cần đặt tour/ Khách vãng lai (Actor) vào trang chủ của Website chọn tìm kiếm tour du lịch
2 Actor nhập tên hoặc thông tin tour cần tìm hoặc chọn theo danh mục có sẵn
3 Actor nhấn tìm kiếm hoặc chọn theo danh mục tìm kiếm
4 Website hiển thị tour theo yêu cầu đã nhập
Các bước
phát sinh 2a Actor nhập không đúng từ khóa tìm kiếm/ từ khóa không liên quan đến hoạt động của website hệ thống thông báo
“Không tìm thấy kết quả nào” Usecase dừng lại Quay lại bước 1
Tên usecase Đặt tour
Mô tả Khách hàng có tài khoản đăng nhập đặt tour
Actors Khách hàng
Đầu vào Tour đã chọn
Đầu ra Hiển thị đặt tour thành công và thông báo đặt tour thành công
Các bước
thực hiện
1 Khách hàng (Actor) vào trang chủ của Website chọn tour
du lịch cần đặt và nhấn đặt tour
2 Actor nhập thông tin còn thiếu
3 Actor nhập số lượng người lớn, trẻ em, em bé
4 Actor nhấn ok
5 Actor chọn hình thức thanh toán
6 Actor đồng ý điều khoản7.Web thông báo đặt thành công
Các bước
phát sinh 2 Actor nhập thiếu thông tin cá nhân => Actor phải cập nhật thông tin cá nhân
3.Actor nhập quá số lượng chỗ còn lại => thông báo đã vượt
Trang 33Xây dựng website đặt tour du lịch cho công ty du lịch DaNangTravel
quá số lượng cho phép5a Actor chọn thanh toán online5b Actor nhập thông tin thẻ tín dụng5c Actor nhấp vào thanh toán Các trường
Tên usecase Bình luận
Mô tả Khách hàng có tài khoản đăng nhập
Actors Khách hàng
Đầu vào Tour đã chọn
Đầu ra Hiển thị bình luận đã nhập
3.3.5 Usecase Quản lý tour
Tên usecase Quản lý tour
Mô tả Admin chỉnh sửa tour đang có
Actors Admin
Đầu vào Tour cần thêm( chỉnh sửa)
Đầu ra Tour thêm(chỉnh sửa) vào thành công
Các bước
thực hiện
1 Admin (Actor) vào trang admin và nhấp vào quản lý tour
2 Actor nhấn vào thêm tour
3 Actor nhập các thông tin cần thiết như tên tour , loai tour, dịch vụ, ngày đi,…
4 Actor nhấn thêm tour5.Web thông báo thêm thành công, và hiện tour của mình
hợp ngoại lệ 2a Actor nhấn chức năng khác Usecase dừng lại