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

Đồ án Công nghệ phần mềm Đề tài về Du lịch 9.5 điểm

60 219 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

Định dạng
Số trang 60
Dung lượng 23,41 MB

Nội dung

ĐẠI HỌC ĐÀ NẴNGTRƯỜNG ĐẠI HỌC BÁCH KHOAKHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐỒ ÁNCÔNG NGHỆ PHẦN MỀMĐỀ TÀIXây dựng Website hỗ trợ việc tìm kiếm địa điểm vui chơi, du lịch và chia sẻ trải nghiệm du lịch tại thành phố Đà Nẵng GVHD: TS. Lê Thị Mỹ HạnhNhóm:16Nh14 SVTH:Nguyễn Hữu Hoàng HưngNguyễn Trần HậuĐoàn Văn KhánhLê Trần Hồng PhúcNguyễn Phước PhiVõ Xuân Hùng Đà Nẵng, 2019MỤC LỤCLỜI NÓI ĐẦU4PHÂN CÔNG CÔNG VIỆC5CHƯƠNG 1: GIỚI THIỆU HỆ THỐNG6MỤC ĐÍCH6PHẠM VI HỆ THỐNG6CHƯƠNG 2: XÂY DỰNG HỆ THỐNG7PHÂN TÍCH YÊU CẦU7TỔNG QUAN7Tác nhân7Sơ đồ ca sử dụng8MÔ TẢ CHỨC NĂNG11Xác thực người dùng11Xem thông tin địa điểm, dịch vụ18Tìm kiếm dịch vụ, địa điểm19Đánh giá dịch vụ, địa điểm21Yêu cầu cập nhật dịch vụ, địa điểm22Báo cáo dịch vụ, địa điểm25Xem blog26Viết blog29Đánh giá (bình luận) blog30Báo cáo blog31Phê duyệt yêu cầu tạo mới và cập nhật dịch vụ, địa điểm sẵn có33Xử lý báo cáo về dịch vụ, địa điểm34Xem thông tin và phân quyền35YÊU CẦU PHI CHỨC NĂNG38Hiệu suất38Tương thích38Tính ứng dụng39Tính tin cậy39An toàn thông tin39THIẾT KẾ40Sơ đồ lớp40Cơ sở dữ liệu41Sơ đồ cơ sở dữ liệu41Cấu trúc bảng41CÀI ĐẶT50KIỂM THỬ51CHƯƠNG 3: KẾT QUẢ TRIỂN KHAI HỆ THỐNG53XÁC THỰC NGƯỜI DÙNG53Đăng nhập53Xem thông tin cá nhân54DỊCH VỤ, ĐỊA ĐIỂM54Tìm kiếm dịch vụ, địa điểm54Xem thông tin dịch vụ, địa điểm55Đánh giá dịch vụ, địa điểm56Yêu cầu cập nhật dịch vụ, địa điểm56BLOG58Xem blog58Báo cáo blog59Viết blog mới60QUẢN LÝ NGƯỜI DÙNG61PHÊ DUYỆT YÊU CẦUBÁO CÁO62Phê duyệt yêu cầu cập nhậtthêm dịch vụ, địa điểm62Xử lý báo cáo về dịch vụ, địa điểm62CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN63THUẬN LỢI VÀ KHÓ KHĂN63THÀNH QUẢ ĐẠT ĐƯỢC63HƯỚNG PHÁT TRIỂN63 LỜI NÓI ĐẦUĐồ án chuyên ngành công nghệ phần mềm là đồ án quan trọng của sinh viên chuyên ngành công nghệ phần mềm. Sau khi được học các môn học về phần mềm như công nghệ phần mềm, phân tích và thiết kế hướng đối tượng thì có thể nói đây là phần quan trọng để sinh viên hiểu rõ hơn về thế nào là một dự án phần mềm. Đồ án này là một cột mốc mà các kỹ năng và khả năng lập trình của sinh viên lại lên một bước mới vì những mảng kiến thức đã xuất hiện trong các môn học, sinh viên sẽ áp dụng vào dự án này.Và nhóm em xin tỏ lòng cảm ơn tới cô Lê Thị Mỹ Hạnh – giảng viên khoa Công nghệ thông tin, Trường Đại học Bách Khoa, Đại học Đà Nẵng đã trực tiếp hướng dẫn em hoàn thành đề tài này.Trong quá trình làm khó có thể tránh khỏi các thiếu sót, kính mong nhận được ý sự góp ý của quý thầy cô để đề tài trở nên hoàn thiện hơn.Nhóm em xin chân thành cảm ơn PHÂN CÔNG CÔNG VIỆCSTTThành viênNội dung công việc1Nguyễn Hữu Hoàng HưngPhân tích và thiết kế databasePhân tích và thiết kế toàn hệ thốngCrawl dữ liệuViết báo cáo Kiểm tra tiến độ từng thành viên trong nhóm2Đoàn Văn KhánhPhân tích và thiết kế databasePhân tích và thiết kế hệ thống API cho hệ thốngReview phần Backend cho toàn hệ thốngDeploy website và quản lý cloud server3Nguyễn Trần HậuPhân tích và thiết kế hệ thống API cho hệ thốngPhân tích và thiết kế sơ đồ lớp cho hệ thốngCoding phần Backend cho toàn hệ thốngReview phần frontend của trang admin4Nguyễn Phước PhiPhân tích và thiết kế UXUI cho trang blog, service và quản lý.Coding phần frontend cho blogReview phần frontend cho serviceThiết kế testcase cho trang service5Lê Trần Hồng PhúcPhân tích và thiết kế UXUI cho trang blog, service.Coding phần frontend cho serviceReview phần frontend cho blogThiết kế testcase cho trang blog6Võ Xuân HùngPhân tích và thiết kế UXUI cho trang quản lý.Coding phần frontend cho adminThiết kế testcase cho trang adminCHƯƠNG 1: GIỚI THIỆU HỆ THỐNGI.MỤC ĐÍCHMục đích của hệ thống là hỗ trợ người dùng có thể tìm kiếm các trải nghiệm về du lịch Đà Nẵng bao gồm địa điểm ăn uống, vui chơi và giải trí tại thành phố Đà Nẵng.Hệ thống hỗ trợ và cho phép người dùng tìm kiếm và đánh giá các địa điểm, dịch vụ đã có sẵn trên hệ thống cũng như đóng góp các địa điểm, dịch vụ mới vào hệ thống. Hệ thống cũng cho phép người dùng có thể đăng tải các bài viết về trải nghiệm du lịch của mình để chia sẻ với cộng đồng.II.PHẠM VI HỆ THỐNGHệ thống website gợi ý trải nghiệm, địa điểm vui chơi, du lịch tại thành phố Đà Nẵng chạy trên nền web giúp việc tìm kiếm các địa điểm ăn uống, vui chơi, giải trí được tiến hành một cách nhanh chóng và tiện lợi. Hệ thống ra đời nhằm đáp ứng nhu cầu du lịch tại thành phố Đà Nẵng ngày càng tăng cao, nhằm giúp khách du lịch và người dân địa phương có thể dễ dàng lựa chọn được những dịch vụ phù hợp.Hệ thống phục vụ cho 3 đối tượng user chính:Người du lịch (traveler)Người điều hành (moderator)Quản trị viên (admin)Website cho phép người dùng tìm kiếm các dịch vụ và địa điểm theo từ khoá (tên quán, địa chỉ, số điện thoại, mô tả) hoặc theo loại (nhà hàng, quán cà phê, chỗ lưu trú, phương tiện di chuyển). Bên cạnh đó, người dùng có thể đánh giá phản hồi các dịch vụ hoặc địa điểm có trên hệ thống. Ngoài ra thì hệ thống còn cho phép người dùng cập nhật các thông tin liên quan đến dịch vụ hoặc địa điểm (thêm địa điểm mới chưa có trên hệ thống, sửa các thông tin về dịch vụ đã có trên hệ thống) dưới sự quản lý của admin và moderator. Cuối cùng, hệ thống cho phép user chia sẻ và khám phá các trải nghiệm Đà Nẵng dưới nhiều góc nhìn khác nhau thông qua các bài blog.CHƯƠNG 2: XÂY DỰNG HỆ THỐNGI.PHÂN TÍCH YÊU CẦUI.1.TỔNG QUANI.1.1.Tác nhânTác nhânMô tảNgười du lịch (Traveler)Có quyền đăng nhập, đăng ký, chỉnh sửa và xem chi tiết thông tin cá nhân.Có quyền tìm kiếm các dịch vụ và địa điểm trên hệ thống bằng từ khóa hoặc bằng loại dịch vụ.Có quyền xem, đánh giá, đề nghị cập nhật và thêm mới các dịch vụ và địa điểm trên hệ thống.Có quyền xem và bình luận blog chia sẻ trải nghiệm tại Đà Nẵng của người dùng khác.Có quyền viết blog để chia sẻ trải nghiệm.Có quyền báo cáo các dịch vụ, điểm điểm và các bài viết blog không phù hợp.Người trung gian (Moderator)Có quyền đăng nhập, chỉnh sửa, xem chi tiết thông tin cá nhân.Có các quyền tương tự như user.Có quyền phê duyệt các đề nghị cập nhật và thêm mới của user.Có quyền xử lý các báo cáo từ user (xoá, chặn).Quản trị viên (Admin)Có các quyền tương tự như Moderator.Có quyền phân quyền cho user và Moderator.Có quyền chặn (block) user, Moderator. I.1.2.Sơ đồ ca sử dụngI.1.2.1.Sơ đồ tổng quát I.1.2.2.Chức năng xác thực người dùng I.1.2.3.Chức năng tìm kiếm dịch vụ địa điểm I.1.2.4.Chức năng đánh giá dịch vụ địa điểm I.1.2.5.Chức năng cập nhật dịch vụ địa điểm I.1.2.6.Chức năng viết blog I.1.2.7.Chức năng quản lý dịch vụ I.1.2.8.Chức năng quản lý blog I.1.2.9.Chức năng quản lý người dùng I.2.MÔ TẢ CHỨC NĂNGI.2.1.Xác thực người dùngI.2.1.1.Đăng nhập Screen Đăng nhậpDescriptionCho phép user đăng nhập bằng usernameScreen AccessUser nhấn vào login ở headerScreen ContentItemTypeDataDescriptionLoginlabeltiêu đề usernameinputusernametrường input để nhập username của userpasswordinputpasswordtrường input để nhập password của userloginbutton đăng nhậpScreen ActionsAction NameDescriptionSuccessFailuređăng nhậpsau khi bấm nút login, user có thể đăng nhập vào tài khoản của mìnhchuyển trang về trang userthông báo lỗi nếu đăng nhập không thành công (usernamepassword sai)I.2.1.2.Đăng ký Screen Đăng kýDescriptionCho phép user đăng ký tài khoảnScreen AccessUser nhấn vào nút Sign up ở màn hình loginScreen ContentItemTypeDataDescriptionSign uplabeltiêu đề usernameinputusernametrường input để nhập username của userpasswordinputpasswordtrường input để nhập password của useremailinputemailtrường input để nhập email của userfull nameinputfull nametrường input để nhập full name của usersign upbutton đăng kýScreen ActionsAction NameDescriptionSuccessFailuresign upSau khi nhấn nút sign up, thông tin tài khoản của user sẽ được lưu vào hệ thống và user có thể bắt đầu login sử dụng tài khoản.thông báo sign up thành công, chuyển trang về màn hình đăng nhậpthông báo lỗi nếu đăng ký không thành công (username trùng, email trùng, dữ liệu của các input không hợp lệ)I.2.1.3.Đăng xuất Screen Đăng xuấtDescriptionCho phép user đăng xuất khỏi tài khoảnScreen Accessuser nhấn vào biểu tượng user trên header và chọn logoutScreen ContentItemTypeDataDescriptionlogoutbutton đăng xuấtScreen ActionsAction NameDescriptionSuccessFailurelogoutsau khi nhấn nút logout, hệ thống sẽ hủy bỏ session hiện tại của userchuyển trang về trang chủthông báo lỗi nếu logout không thành côngI.2.1.4.Xem thông tin cá nhân ScreenXem chi tiết thông tin cá nhânDescriptionCho phép user xem chi tiết thông tin cá nhân của mình và số lượng bài viết đã đăngScreen accessSau khi đăng nhập user chọn vào menu thông tin cá nhân để truy cậpScreen ContentItemTypeDataDescriptionTênLabelString Hiển thị tên của userNgày sinhLabelDate Hiển thị ngày sinh của userSdtLabelNumber Hiển thị số điện thoại của userEmailLabelString Hiển thị email của userFacebookLabelString Hiển thị facebook của userInstagramLabelString Hiển thị instagram của userPOSTLabelString Hiển thị số lượng bài viết user đã viếtImageImage Thumbnail của các bài viếtĐổi mật khẩuButton Có chức năng đổi mật khẩu cho tài khoản của userChỉnh sửaButton Cập nhật lại các thông tin cá nhân trừ mật khẩuScreen ActionsAction NameDescriptionSuccessFailureĐổi mật khẩuUser click vào nút đổi mật khẩu để thực hiện đổi mật khẩuHiển thị ra form để đổi mật khẩuKhông hiện form đổi mật khẩuChỉnh sửaUser click vào nút chỉnh sửa để thực hiện cập nhật thông tinHiện ra form cập nhật thông tinKhông hiện form cập nhật thông tinI.2.1.5.Cập nhật thông tin cá nhân ScreenCập nhật thông tin cá nhânDescriptionCho phép user cập nhật thông tin cá nhânScreen accessUser click vào nút chỉnh sửaScreen ContentItemTypeDataDescriptionTênTextInput Nhập tên mớiNgày sinhDate Nhập ngày sinh mớiSdtTextInput Nhập số điện thoại mớiEmailTextInput Nhập email mớiFacebookTextInput Nhập facebook mớiInstagramTextInput Nhập instagram mớiLưu thay đổiButton Xác nhận thay đổiScreen ActionsAction NameDescriptionSuccessFailureLưu thay đổiUser nhấn vào nút “Lưu thay đổi” để thực hiện việc thay đổi thông tinThông báo chỉnh sửa thành công, quay lại trang trướcTải lại trang, thông báo lỗi nếu lưu không thành công (dữ liệu input không hợp lệ) ScreenĐổi mật khẩuDescriptionCho phép user cập đổi mật khẩuScreen accessUser click vào nút đổi mật khẩuScreen ContentItemTypeDataDescriptionMật khẩu cũTextInput Nhập mật khẩu cũMật khẩu mớiTextInput Nhập mật khẩu mớiXác nhận mật khẩu mớiTextInput Nhập lại mật khẩu mớiLưu thay đổiButton Xác nhận thay đổiScreen ActionsAction NameDescriptionSuccessFailureLưu thay đổiUser nhấn vào “Lưu thay đổi” để thực hiện việc thay đổiThông báo đổi mật khẩu thành công, quay lại trang trướcThông báo lỗi nếu đổi mật khẩu thất bạiI.2.2.Xem thông tin địa điểm, dịch vụ Screen Xem chi tiết địa điểm, dịch vụDescriptionCho phép user xem thông tin chi tiết về một địa điểm hoặc một dịch vụ cụ thểScreen AccessUser nhấn vào một địa điểm hoặc dịch vụ ở danh sáchScreen ContentItemTypeDataDescriptionnametexttên địa điểm, dịch vụ addresstextđịa chỉ ratingnumberxếp hạng descriptiontextmô tả về địa điểm, dịch vụ imagesimage1 số hình ảnh của địa điểm, dịch vụ related blogbuttonblog liên quan tới địa điểmnhấn để xem blogScreen ActionsAction NameDescriptionSuccessFailurexem blogSau khi nhấn nút xem blog, user sẽ xem chi tiết blog đóchuyển trang tới trang chi tiết blogthông báo lỗi nếu không tìm thấy blogI.2.3.Tìm kiếm dịch vụ, địa điểm Screen Tìm kiếm địa điểm, dịch vụDescriptioncho phép user tìm kiếm địa điểm, dịch vụScreen Accessuser nhấn vào thanh tìm kiếm ở headerScreen ContentItemTypeDataDescriptionsearch barinputtên địa điểm, dịch vụinput để nhập nội dung cần tìmsearchbutton nhấn để tìm kiếm địa điểm, dịch vụfilterbutton nhấn để lọc khi tìm kiếm địa điểm, dịch vụScreen ActionsAction NameDescriptionSuccessFailuresearchsau khi nhấn nút search, danh sách kết quả sẽ hiện ra ở dropdownkết quả hiện ra ở dropdownhiện ra kết quả rỗng nếu không tìm thấy kết quả nàofiltersau khi nhấn nút filter, kết quả tìm kiếm sẽ được giới hạn lạikết quả tìm kiếm giới hạn lạihiện ra thông báo lỗi nếu filter không hợp lệI.2.4.Đánh giá dịch vụ, địa điểm Screen Đánh giá địa điểm, dịch vụDescriptionCho phép user đánh giá địa điểm, dịch vụScreen Accessuser nhấn vào nút đánh giá ở trang địa điểm, dịch vụScreen ContentItemTypeDataDescriptiontitletext tiêu đềratingnumberratingrating tương ứng với chất lượng cũng như sự hài lòng của user đối với địa điểm, dịch vụdescriptiontextmô tả về địa điểm, dịch vụlý do và nội dung của bài đánh giáratebutton nhấn để rateScreen ActionsAction NameDescriptionSuccessFailureratesau khi nhấn nút rate, user sẽ gửi đánh giá về địa điểm, dịch vụ để lưu vào hệ thốngthông báo thành công, trở về trang địa điểmthông báo lỗi khi không thể rateI.2.5.Yêu cầu cập nhật dịch vụ, địa điểmI.2.5.1.Cập nhật dịch vụ và địa điểm có sẵn ScreenYêu cầu cập nhật dịch vụ, địa điểmDescriptionCho phép user gửi đề nghị cập nhật lại địa điểm, dịch vụScreen accessUser xem địa điểm, dịch vụ sau đó click vào cập nhậtScreen ContentItemTypeDataDescriptionThuộc tính cần cập nhậtLabelString Mô tả thuộc tính cần cập nhậtĐịa điểmTextInput Địa chỉ của địa điểm, dịch vụ đóThời gian hoạt độngTextInput Thời gian hoạt động của địa điểm, dịch vụ đóƯu đãiTextInput Ưu đãi của địa điểm, dịch vụ đóHình ảnhButton Hình ảnh của địa điểm, dịch vụ đóNội dung cập nhậtTextField Mô tả chi tiết thông tin hơn về nội dung cập nhậtGửiButton Gửi yêu cầuScreen ActionsAction NameDescriptionSuccessFailureGửiUser click vào để thực hiện việc gửi yêu cầuThông báo gửi yêu cầu thành côngTải lại trang, thông báo lỗiI.2.5.2.Thêm mới dịch vụ và địa điểm ScreenYêu cầu thêm mới địa điểm dịch vụDescriptionCho phép user gửi đề nghị thêm vào địa điểm, dịch vụScreen accessUser click vào menu yêu cầu thêm mới địa điểm,dịch vụScreen ContentItemTypeDataDescriptionTên gọiTextInput Tên địa điểm, dịch vụĐịa chỉTextInput Địa chỉ của địa điểm, dịch vụ đóLoại hình dịch vụCombobox Chọn loại hình ví dụ như cafe, nhà hàng...Giờ hoạt độngTextInput Giờ hoạt độngGiá cả trung bìnhTextInput Giá cả trung bình của địa điểm, dịch vụ đóMô tảTextInput Mô tả chi tiết thông tin hơn về địa điểm đóHình ảnhButton Upload ảnh về địa điểm nếu cóSubmitButton Submit yêu cầuScreen ActionsAction NameDescriptionSuccessFailureLoại hình dịch vụUser click vào để thực hiện chọn loại hình ví dụ như cafe, nhà hàng... Hình ảnhUser click vào để upload ảnh về địa điểm nếu có SubmitUser click vào để thực hiện việc submit yêu cầuQuay lại trang chủ, thông báo thành côngTải lại trang, thông báo lỗiI.2.6.Báo cáo dịch vụ, địa điểm ScreenXem chi tiết bài viếtDescriptionCho phép user báo cáo bài viếtScreen accessUser click vào thumbnail bài viết ở trang trướcScreen ContentItemTypeDataDescription. . .Icon Chọn yêu cầu đối với bài viếtBáo cáo bài viếtIcon Chọn để báo cáo bài viếtVui lòng chọn vấn đề báo cáoLabelString Hiển thị window report bài viếtLý do 1Icon Lý do report 1Lý do 2Icon Lý do report 2Lý do 3Icon Lý do report 3Lý do 4Icon Lý do report 4Lý do 5Icon Lý do report 5GửiButton Gửi lý do reportScreen ActionsAction NameDescriptionSuccessFailureChọn lý doUser click vào để chọn các lý do 1,2,3,4,5 để báo cáo GửiUser click vào để gửi các lý do vừa chọnThông báo gửi thành côngTải lại trang, thông báo gửi thất bạiI.2.7.Xem blogI.2.7.1.Xem nội dung blog ScreenXem các bài viếtDescriptionCho phép user xem các bài viết đánh giáScreen accessUser click vào menu bài viếtScreen ContentItemTypeDataDescriptionThumbnailImage Thumbnail của các bài viết1Number Trang 12Number Trang 23Number Trang 3NextButton Tiến 1 trangPreviousButton Lùi 1 trangScreen ActionsAction NameDescriptionSuccessFailureNextUser click vào để tiến 1 trangTiến 1 trangTải lại trangPreviousUser click vào để lùi 1 trangLùi 1 trangTải lại trangClick vào thumbnailUser click vào để xem chi tiết bài viếtHiển thị chi tiết bài viếtTải lại trang, thông báo lỗi ScreenXem chi tiết bài viếtDescriptionCho phép user xem chi tiết bài viếtScreen accessUser click vào thumbnail bài viết ở trang trướcScreen ContentItemTypeDataDescriptionImageImage Ảnh chụp về các địa điểm,dịch vụTiêu đềText Tiêu đề bài viếtNội dungText Nội dung chi tiết bài viếtScreen ActionsAction NameDescriptionSuccessFailure I.2.8.Viết blog ScreenViết bàiDescriptionCho phép user viết bài cảm nhận hay đánh giá về một địa điểm, dịch vụScreen accessUser click vào menu bài viết chọn tạo mớiScreen ContentItemTypeDataDescriptionTiêu đềTextInput Tiêu đề bài viếtGiới thiệuTextField Giới thiệu bài viếtNội dungTextField Nội dung bài viếtHình ảnhButton Upload các hình ảnh cho bài viếtGửiButton Submit bài viếtScreen ActionsAction NameDescriptionSuccessFailureGửiUser click vào để submit bài viếtThông báo gửi thành côngTải lại trang, thông báo gửi thất bạiI.2.9.Đánh giá (bình luận) blog ScreenXem chi tiết bài viếtDescriptionCho phép user xem chi tiết bài viết và bình luận về bài viếtScreen accessUser click vào thumbnail bài viết ở trang trướcScreen ContentItemTypeDataDescriptionBình luậnTextField Hiển thị các bình luận về bài viếtNội dung bình luậnTextInput Nhập nội dung bình luậnĐăngButton Đăng bình luậnScreen ActionsAction NameDescriptionSuccessFailureĐăngUser click vào để đăng bình luậnHiển thị bình luận vừa mới đăng lên phái trênTải lại trang, thông báo lỗiI.2.10.Báo cáo blog ScreenXem chi tiết bài viếtDescriptionCho phép user báo cáo bài viếtScreen accessUser click vào thumbnail bài viết ở trang trướcScreen ContentItemTypeDataDescription. . .Icon Chọn yêu cầu đối với bài viếtBáo cáo bài viếtIcon Chọn để báo cáo bài viếtVui lòng chọn vấn đề báo cáoLabelString Hiển thị window report bài viếtLý do 1Icon Lý do report 1Lý do 2Icon Lý do report 2Lý do 3Icon Lý do report 3Lý do 4Icon Lý do report 4Lý do 5Icon Lý do report 5GửiButton Gửi lý do reportScreen ActionsAction NameDescriptionSuccessFailureChọn lý doUser click vào để chọn các lý do 1,2,3,4,5 để báo cáo GửiUser click vào để gửi các lý do vừa chọnThông báo gửi thành côngTải lại trang, thông báo gửi thất bạiI.2.11.Phê duyệt yêu cầu tạo mới và cập nhật dịch vụ, địa điểm sẵn có ScreenQuản lý các request từ người dùngDescriptionCho phép xác nhận các requestScreen accessAdmin chọn Quản lý request ở thanh menu bên tráiScreen ContentItemTypeDataDescriptionDanh sách requestTableDanh sách các requestBảng chứa danh sách các requestId requestLabel – Stringid của requestCác ô mã id của requestId userLabel – StringId của người requestCác ô mã id của người gửi requestTrạng tháiLabel – StringTrạng thái của requestLoại requestLabel – StringLoại của requestPhân loại ra các requestid serviceLabel – String Id của dịch vụMã id của dịch vụThời gianLabel – StringThời gian tạo request Có thể xem thời gian requestXác nhậnButtonChấp nhận request Có thể chấp nhận requestSubmitTìm kiếmButton Có thể nhấn để hiển thị kết quả tìm kiếmI.2.12.Xử lý báo cáo về dịch vụ, địa điểm ScreenQuản lý các report từ người dùngDescriptionCho phép xác nhận xử lý các reportScreen accessAdmin chọn Quản lý report thanh menu bên tráiScreen ContentItemTypeDataDescriptionDanh sách reportTableDanh sách các reportBảng chứa danh sách các reportId reportLabel – Stringid của reportCác ô mã id của reportId userLabel – StringId của người reportCác ô mã id của người gửi reportTrạng tháiLabel – StringTrạng thái của reportLoại requestLabel – StringLoại của requestPhân loại ra các requestid serviceLabel – String Id của dịch vụMã id của dịch vụThời gianLabel – StringThời gian tạo request Có thể xem thời gian reportXác nhậnButtonCó thể chấp nhận reportI.2.13.Xem thông tin và phân quyền Screen Danh sách các tài khoản user (user và mod)DescriptionCho phép admin có thể xem chi tiết thông tin, cấp quyền hoặc chặn userScreen AccessAdmin chọn Quản lý user hoặc Quản lý moderator ở thanh menu bên tráiScreen ContentItemTypeDataDescriptionDanh sách userTableDanh sách các userBảng chứa danh sách các userTênLabel – StringHọ và tên userCác ô chứa họ và tên userEmailLabel – StringEmail của userCác ô chứa emailSố điện thoạiLabel – StringSố điện thoại userCác ô chứa số điện thoạiNgày tạoLabel – StringNgày tạo tài khoảnChứa ngày tạo tài khoảnPhân quyềnSelect User ModeratorCấp quyền cho userTùy chỉnhLink Có thể nhấn để xem chi tiết tài khoảnTìm kiếmTextbox String Có thể nhập tên hoặc email để tìm kiếm thông tin userSubmitTìm kiếmButton Có thể nhấn để hiển thị kết quả tìm kiếmScreen ActionsAction NameDescriptionSuccessFailureXem chi tiết danh sách thông tin userSau khi nhấn vào mục Quản lý user hoặc Quản lý moderator, sẽ gửi request lên server để lấy dữ liệu sau đó render ra danh sách thông tin chi tiết các user.Hiển thị danh sách tất cả các thông tin user nếu không có user nào thì để trống.Request lên server bị lỗi hoặc dữ liệu server trả về bị lỗi sẽ hiển thị ra “Không có user nào”Cấp quyền cho userMặc định khi user đăng ký tài khoản thì tài khoản sẽ là tài khoản khách(user). Khi Admin select để cấp quyền cho user, Nếu chọn quyền moderator thi tài khoản đó sẽ có các quyền của Moderator. Và tài khoản sẽ bị xoá khỏi danh sách user, di chuyển sang danh sách moderator.Chuyển sang trang danh sách các moderator. Và có tất cả quyền của moderator.Vẫn select được nhưng tài khoản vẫn ở tại danh sách user và chưa có quyền nào.Xem chi tiết thông tin từng tài khoảnKhi Admin nhấn vào xem chi tiết sẽ di chuyển sang trang mới hiển thị ra chi tiết thông tin của user, xem chi tiết các bài đăng của user, các request, các report,...Sẽ di chuyển đến trang mới hiển thị ra thông tin userNhấn vào xem chi tiết vị vô hiệu.Tìm kiếm thông tin userKhi gõ vào ô tìm kiếm. và nhấn vào nút Tìm kiếm. Admin có thể tìm kiếm thông tin user một cách nhanh chóng bằng cách tìm kiếm theo Tên hoặc email userHiển thị ra danh sách thông tin user cần tìm kiếmkết quả trả về từ server thất bại nhấn vào nút tìm kiếm không có kết quả.Thay đổi trạng thái của userMặc định trạng thái sẽ là Vô hiệu hóa.Khi nhấn vào nút vô hiệu hóa thì trạng thái vô hiệu hóa sẽ được kích hoạt tài khoản của user bị block khỏi hệ thống, user sẽ bị đăng xuất khi đang ở trạng thái đăng nhập và sẽ không thể đăng nhập cho đến khi được mở và hiện thông báo “tài khoản của bạn đã bị khóa”.Nếu user đang ở trạng thái bị Vô hiệu hóa, Admin có thể nhấn Hoạt động để tài khoản user hoạt động trở lại.Tài khoản user bị vô hiệu hóa không thể đăng nhập. Hoặc trở lại hoạt động bình thường.Không thể chuyển trạng thái, không bị vô hiệu hóa hoặc hoạt động.I.3.YÊU CẦU PHI CHỨC NĂNGI.3.1.Hiệu suấtSTTYêu cầu1Cho phép nhiều tài khoản truy cập vào hệ thống cùng một lúc (scale tự động dựa trên dịch vụ của Google Cloud)2Người dùng có thể truy cập đến website thông qua internet2Yêu cầu về thời gian chờ kết quả: hiển thị nhanh 1 trang web (thời gian tải 1 trang chậm nhất là 3s nếu đường truyền internet ổn định)3Tài nguyên sử dụng: Tiết kiệm tài nguyên,đảm bảo sử dụng hợp lý bộ nhớ4Yêu cầu linh động: Thao tác với phần mềm đơn giản,không quá phức tạpI.3.2.Tương thíchSTTYêu cầu1Chạy trên được nhiều trình duyệt (Google Chrome, Safari, Firefox, Cốc cốc, Opera)I.3.3.Tính ứng dụngSTTYêu cầu1Phù hợp với nhu cầu tìm kiếm dịch vụ du lịch của người dân du lịch2Nội dung bằng tiếng Anh nên phù hợp với người nước ngoài3Giao diện đơn giản + đẹp mắt với người sử dụngI.3.4.Tính tin cậySTTYêu cầu1Bảo trì định kỳ (trung bình 1 tuần 1 lần)2Nhiều chức năng đáp ứng 3Khả năng phục hồi sao lưu dữ liệuI.3.5.An toàn thông tinSTTYêu cầu1Bảo mật thông tin tốt2Toàn vẹn dữ liệu khi có sự cố xảy ra (mất nguồn điện)3Chức năng xác thực (các thay đổi dữ liệu đều được quản trị viên xác thực)II.THIẾT KẾII.1.Sơ đồ lớp II.2.Cơ sở dữ liệuII.2.1.Sơ đồ cơ sở dữ liệu II.2.2.Cấu trúc bảngII.2.2.1.Bảng UserBảng UserTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã thông tin người dùngInteger11Khóa chínhusernameTên đăng nhậpVarchar255Độc nhấtpasswordMật khẩuVarchar255Mã hóa BcryptemailEmailVarchar255fullnameHọ tên đầy đủVarchar255 tokenMã định danh người gọi APIVarchar 255 role_idMã phân quyềnInteger 11Khóa ngoạiII.2.2.2.Bảng RoleBảng RoleTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã phân quyềnInteger11Khóa chínhrole_nameTên quyềnVarchar255II.2.2.3.Bảng ServiceBảng ServiceTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã thông tin người dùngInteger11Khóa chínhnameTên dịch vụVarchar255street_addressĐịa chỉ đườngVarchar255extended_addressĐịa chỉ mở rộngVarchar255mobileSố điện thoạiVarchar255view_statusTrạng thái hiển thịVarchar255total_ratingTổng số lượt đánh giáIntegeravg_ratingĐiểm đánh giá trung bìnhRealcategory_idMã loại dịch vụInteger11Khoá ngoạiauthor_idMã người tạoInteger11Khoá ngoạiII.2.2.4.Bảng Service_CategoryBảng Service_CategoryTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã loại dịch vụInteger11Khóa chínhnameTên loại dịch vụVarchar255prop_table_nameTên bảng thuộc tínhVarchar255II.2.2.5.Bảng Service_HotelBảng Service_HotelTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã khách sạnInteger11Khóa chínhproperty_amenitiesDanh sách tiện nghi chỗ ở Varchar255priceGiá một đêmVarchar255service_idMã dịch vụInteger11Khoá ngoạiII.2.2.6.Bảng Service_RestaurantBảng Service_RestaurantTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã nhà hàngInteger11Khóa chínhfood_categoryDanh sách loại thức ăn được phục vụ tại nhà hàngVarchar255special_dietChế độ ăn đặc biệt được phục vụ tại nhà hàngVarchar255mealBữa ăn nhà hàng phục vụVarchar255service_idMã dịch vụInteger11Khoá ngoạiII.2.2.7.Bảng Service_AttractionBảng Service_AttractionTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã địa điểm du lịchInteger11Khóa chínhnoteChú thích về địa điểmVarchar255service_idMã dịch vụInteger11Khoá ngoạiII.2.2.8.Bảng Service_TransportationBảng Service_TransportationTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã phương tiện di chuyểnInteger11Khóa chínhwebsiteĐường dẫn liên kết đến website của dịch vụ vận chuyển Varchar255appĐường dẫn liên kết đến ứng dụng của dịch vụ vận chuyểnVarchar255service_idMã dịch vụInteger11Khoá ngoạiII.2.2.9.Bảng Service_ReviewBảng Service_ReviewTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã đánh giá dịch vụInteger11Khóa chínhtimeThời gian đánh giá dịch vụTimestampratingĐánh giá dịch vụVarchar255(15)commentBình luận về dịch vụVarchar255service_idMã dịch vụInteger11Khoá ngoạiauthor_idMã tác giảInteger11Khoá ngoạiII.2.2.10.Bảng Service_Related_KeysBảng Service_Related_KeysTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã bảng quan hệInteger11Khóa chínhkeyTừ khóa liên quan đến dịch vụTextservice_idMã dịch vụInteger11Khoá ngoạiII.2.2.11.Bảng Service_ImageBảng Service_ImageTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã đánh giá dịch vụInteger11Khóa chínhsrcDãy nhị phân biểu diễn hình ảnhblobservice_idMã dịch vụInteger11Khoá ngoạiauthor_idMã tác giảInteger11Khoá ngoạiII.2.2.12.Bảng Service_ReportBảng Service_ReportTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã đánh giá dịch vụInteger11Khóa chínhtimeThời gian tạo báo cáoTimestampreasonLý do báo cáoVarchar255statusTrạng thái xử lý báo cáoVarchar255service_idMã dịch vụInteger11Khoá ngoạiauthor_idMã tác giảInteger11Khoá ngoạimoderator_idMã quản trị viênInteger11Khoá ngoạiII.2.2.13.Bảng Service_RequestBảng Service_RequestTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã đánh giá dịch vụInteger11Khóa chínhtimeThời gian tạo yêu cầu cập nhậtTimestampstatusTrạng thái của yêu cầu cập nhậtVarchar255service_old_idMã dịch vụ liên kết đến dịch vụ đã tồn tại trong trường hợp cập nhật thông tin của dịch vụ đã cóInteger11Khoá ngoại(Nếu thêm dịch vụ mới thì bằng NULL)service_new_idMã dịch vụ liên kết đến dịch vụ mới trong trường hợp cập nhật và thêm mới.Integer11Khoá ngoạiauthor_idMã tác giảInteger11Khoá ngoạimoderator_idMã quản trị viênInteger11Khoá ngoạiII.2.2.14.Bảng Contact_FormBảng Contact_FormTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã form liên hệInteger11Khóa chínhtimeThời gian tạo form liên hệTimestampcontentNội dung liên hệVarchar255emailEmail người liên hệVarchar255nameTên người liên hệVarchar255II.2.2.15.Bảng BlogBảng BlogTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã blogInteger11Khóa chínhtitleTiêu đề của blogVarchar255overviewMô tả ngắn về blogVarchar255contentNội dung blogtexttimeThời gian tạo blogTimestampthumbnailHình ảnh đại diện của blogVarchar255author_idMã tác giảInteger11Khoá ngoạiII.2.2.16.Bảng Blog_FeedbackBảng Blog_FeedbackTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã blogInteger11Khóa chínhtimeThời gian tạo phản hồi TimestampcommentNội dung bình luậnVarchar255author_idMã tác giảInteger11Khoá ngoạiblog_idMã blogInteger11Khoá ngoạiII.2.2.17.Bảng Blog_ReportBảng Blog_ReportTên cộtGiải thíchKiểu dữ liệuMaxlengthGhi chúidMã báo cáo blogInteger11Khóa chínhtimeThời gian báo cáo blogTimestampreasonLý do báo cáoVarchar255statusTình trạng xử lý báo cáoVarchar255author_idMã người báo cáoInteger11Khoá ngoạiblog_idMã blogInteger11Khoá ngoạimoderator_id Mã quản trị viên xử lý báo cáoInteger11Khoá ngoạiIII.CÀI ĐẶTFrontend: HTML, CSS, JavaScript, JQuery, Bootstrap, React JSBackend: NodeJS, Express.jsDatabase: PostgreSQLServer: Google CloudIV.KIỂM THỬNoModule codePassFailUntestedNANumber of test cases1Đăng nhập700072Đăng ký11000113Đăng xuất100014Xem thông tin cá nhân500055Cập nhật thông tin cá nhân300036Tìm kiếm thông tin dịch vụ, địa điểm16000167Xem thông tin dịch vụ, địa điểm48000488Đánh giá dịch vụ, địa điểm12000129Cập nhật thông tin dịch vụ, địa điểm đã có trên hệ thống540005410Thêm thông tin dịch vụ, địa điểm mới540005411Xem blog130001312Viết blog mới4000413Báo cáo blog3000314Quản lý người dùng141415Hiển thị chi tiết service(admin)282816Hiển thị chi tiết blog (admin)3317Phê duyệt yêu cầu cập nhật dịch vụ, địa điểm sẵn có110001118Phê duyệt yêu cầu thêm dịch vụ, địa điểm mới110001119Xử lý báo cáo về dịch vụ, địa điểm111120Xử lý báo cáo về blog2221Xử lý phân trang cho service4444822Xử lý phân trang cho review1021223Xử lý phân trang cho blog10210Sub total373080381Test coverage97,90%Test successful coverage97,90%CHƯƠNG 3: KẾT QUẢ TRIỂN KHAI HỆ THỐNGI.XÁC THỰC NGƯỜI DÙNGI.1.Đăng nhập I.2.Xem thông tin cá nhân II.DỊCH VỤ, ĐỊA ĐIỂMII.1.Tìm kiếm dịch vụ, địa điểm II.2.Xem thông tin dịch vụ, địa điểm II.3.Đánh giá dịch vụ, địa điểm II.4.Yêu cầu cập nhật dịch vụ, địa điểmII.4.1.Cập nhật thông tin dịch vụ, địa điểm sẵn có II.4.2.Thêm dịch, địa điểm mới III.BLOGIII.1.Xem blog III.2.Báo cáo blog III.3.Viết blog mới IV.QUẢN LÝ NGƯỜI DÙNG V.PHÊ DUYỆT YÊU CẦUBÁO CÁOV.1.Phê duyệt yêu cầu cập nhậtthêm dịch vụ, địa điểm V.2.Xử lý báo cáo về dịch vụ, địa điểm  CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂNI.THUẬN LỢI VÀ KHÓ KHĂNI.1.Thuận lợiCác thành viên đều nắm khá rõ quy trình phát triển phần mềmCó nhiều công cụ và thư viện hỗ trợ cho việc quản lý công việc, xây dựng các chức năng và deploy sản phẩm.Các thành viên đều có kiến thức chuyên môn vững vàng, tinh thần trách nhiệm tốt và luôn hoàn thành công việc.I.2.Khó khănChưa được tiếp xúc với môi trường thực tế nên hệ thống có thể chưa đáp ứng được tất cả các yêu cầu phù hợp thực tế.Nghiệp vụ của hệ thống khá phức tạp, đặc biệt là trong việc tối ưu hóa các chức năng.II.THÀNH QUẢ ĐẠT ĐƯỢCChất lượng sản phẩm đáp ứng được yêu cầu đề raDeploy thành công sản phẩm.Thực hiện đầy đủ quy trình phát triển phần mềmNâng cao kỹ năng làm việc nhómIII.HƯỚNG PHÁT TRIỂNĐưa sản phẩm đến người dùng.Liên tục nhận các đánh giá và phản hồi từ người dùng để hoàn thiện sản phẩm ngày càng tốt hơn.Quản lý và bảo dưỡng sản phẩm thường xuyên.

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

-BÁO CÁO ĐỒ ÁN CÔNG NGHỆ PHẦN MỀM

ĐỀ TÀI

Xây dựng Website hỗ trợ việc tìm kiếm địa điểm vui chơi, du lịch và

chia sẻ trải nghiệm du lịch tại thành phố Đà Nẵng

TS Lê Thị Mỹ Hạnh

Nhóm: 16Nh14

Nguyễn Hữu Hoàng Hưng

Nguyễn Trần Hậu

Trang 3

Đánh giá (bình luận) blog 30

Phê duyệt yêu cầu tạo mới và cập nhật dịch vụ, địa điểm sẵn có 33

Xử lý báo cáo về dịch vụ, địa điểm 34Xem thông tin và phân quyền 35

Trang 4

CHƯƠNG 3: KẾT QUẢ TRIỂN KHAI HỆ THỐNG 53

PHÊ DUYỆT YÊU CẦU/BÁO CÁO 62Phê duyệt yêu cầu cập nhật/thêm dịch vụ, địa điểm 62

Xử lý báo cáo về dịch vụ, địa điểm 62

Trang 5

LỜI NÓI ĐẦU

Đồ án chuyên ngành công nghệ phần mềm là đồ án quan trọng của sinh viên chuyênngành công nghệ phần mềm Sau khi được học các môn học về phần mềm như côngnghệ phần mềm, phân tích và thiết kế hướng đối tượng thì có thể nói đây là phần quantrọng để sinh viên hiểu rõ hơn về thế nào là một dự án phần mềm

Đồ án này là một cột mốc mà các kỹ năng và khả năng lập trình của sinh viênlại lên một bước mới vì những mảng kiến thức đã xuất hiện trong các môn học, sinhviên sẽ áp dụng vào dự án này

Và nhóm em xin tỏ lòng cảm ơn tới cô Lê Thị Mỹ Hạnh – giảng viên khoaCông nghệ thông tin, Trường Đại học Bách Khoa, Đại học Đà Nẵng đã trực tiếphướng dẫn em hoàn thành đề tài này

Trong quá trình làm khó có thể tránh khỏi các thiếu sót, kính mong nhận được ý

sự góp ý của quý thầy cô để đề tài trở nên hoàn thiện hơn

Nhóm em xin chân thành cảm ơn!

Trang 6

PHÂN CÔNG CÔNG VIỆC

1 Nguyễn Hữu Hoàng

Hưng

- Phân tích và thiết kế database

- Phân tích và thiết kế toàn hệ thống

- Crawl dữ liệu

- Viết báo cáo

- Kiểm tra tiến độ từng thành viên trong nhóm

2 Đoàn Văn Khánh

- Phân tích và thiết kế database

- Phân tích và thiết kế hệ thống API cho hệ thống

- Review phần Backend cho toàn hệ thống

- Deploy website và quản lý cloud server

3 Nguyễn Trần Hậu

- Phân tích và thiết kế hệ thống API cho hệ thống

- Phân tích và thiết kế sơ đồ lớp cho hệ thống

- Coding phần Backend cho toàn hệ thống

- Review phần frontend của trang admin

4 Nguyễn Phước Phi

- Phân tích và thiết kế UX/UI cho trang blog, service

và quản lý

- Coding phần frontend cho blog

- Review phần frontend cho service

- Thiết kế testcase cho trang service

5 Lê Trần Hồng Phúc

- Phân tích và thiết kế UX/UI cho trang blog, service

- Coding phần frontend cho service

- Review phần frontend cho blog

- Thiết kế testcase cho trang blog

6 Võ Xuân Hùng

- Phân tích và thiết kế UX/UI cho trang quản lý

- Coding phần frontend cho admin

- Thiết kế testcase cho trang admin

Trang 7

CHƯƠNG 1: GIỚI THIỆU HỆ THỐNG

- Mục đích của hệ thống là hỗ trợ người dùng có thể tìm kiếm các trải nghiệm

về du lịch Đà Nẵng bao gồm địa điểm ăn uống, vui chơi và giải trí tại thànhphố Đà Nẵng

- Hệ thống hỗ trợ và cho phép người dùng tìm kiếm và đánh giá các địa điểm,dịch vụ đã có sẵn trên hệ thống cũng như đóng góp các địa điểm, dịch vụmới vào hệ thống

- Hệ thống cũng cho phép người dùng có thể đăng tải các bài viết về trảinghiệm du lịch của mình để chia sẻ với cộng đồng

- Hệ thống website gợi ý trải nghiệm, địa điểm vui chơi, du lịch tại thành phố

Đà Nẵng chạy trên nền web giúp việc tìm kiếm các địa điểm ăn uống, vuichơi, giải trí được tiến hành một cách nhanh chóng và tiện lợi Hệ thống rađời nhằm đáp ứng nhu cầu du lịch tại thành phố Đà Nẵng ngày càng tăngcao, nhằm giúp khách du lịch và người dân địa phương có thể dễ dàng lựachọn được những dịch vụ phù hợp

- Hệ thống phục vụ cho 3 đối tượng user chính:

Người du lịch (traveler)Người điều hành (moderator)Quản trị viên (admin)

- Website cho phép người dùng tìm kiếm các dịch vụ và địa điểm theo từkhoá (tên quán, địa chỉ, số điện thoại, mô tả) hoặc theo loại (nhà hàng, quán

cà phê, chỗ lưu trú, phương tiện di chuyển) Bên cạnh đó, người dùng có thểđánh giá phản hồi các dịch vụ hoặc địa điểm có trên hệ thống Ngoài ra thì

hệ thống còn cho phép người dùng cập nhật các thông tin liên quan đến dịch

vụ hoặc địa điểm (thêm địa điểm mới chưa có trên hệ thống, sửa các thôngtin về dịch vụ đã có trên hệ thống) dưới sự quản lý của admin và moderator.Cuối cùng, hệ thống cho phép user chia sẻ và khám phá các trải nghiệm ĐàNẵng dưới nhiều góc nhìn khác nhau thông qua các bài blog

Trang 8

- Có quyền viết blog để chia sẻ trải nghiệm.

- Có quyền báo cáo các dịch vụ, điểm điểm và các bài viết blog không phù hợp

Người trung gian

(Moderator)

- Có quyền đăng nhập, chỉnh sửa, xem chi tiết thông tin cá nhân

- Có các quyền tương tự như user

- Có quyền phê duyệt các đề nghị cập nhật và thêm mới của user

- Có quyền xử lý các báo cáo từ user (xoá, chặn)

Quản trị viên

(Admin)

- Có các quyền tương tự như Moderator

- Có quyền phân quyền cho user và Moderator

- Có quyền chặn (block) user, Moderator

I.1.2 Sơ đồ ca sử dụng

Trang 9

I.1.2.2 Chức năng xác thực người dùng

Trang 10

I.1.2.4 Chức năng đánh giá dịch vụ/ địa điểm

Trang 11

I.1.2.7 Chức năng quản lý dịch vụ

Trang 12

I.2 MÔ TẢ CHỨC NĂNG

I.2.1 Xác thực người dùng

Description Cho phép user đăng nhập bằng username

Screen Access User nhấn vào login ở header

Screen Content Item Type Data Description

username input username trường input để nhập username của user password input password trường input để nhập password của user

Trang 13

Screen Actions Action Name Description Success Failure

đăng nhập sau khi bấm nút

login, user có thể đăng nhập vào tài khoản của mình

chuyển trang về trang user

thông báo lỗi nếu đăng nhập không thành công (username/password sai)

Description Cho phép user đăng ký tài khoản

Screen Access User nhấn vào nút Sign up ở màn hình login

Screen Content Item Type Data Description

Sign up label tiêu đề

username input username trường input để nhập username của user password input password trường input để nhập password của user

Trang 14

email input email trường input để nhập email của user full name input full name trường input để nhập full name của user

Screen Actions Action Name Description Success Failure

sign up Sau khi nhấn

nút sign up, thông tin tài khoản của user sẽ được lưu vào hệ thống và user

có thể bắt đầu login sử dụng tài khoản.

thông báo sign up thành công, chuyển trang về màn hình đăng nhập

thông báo lỗi nếu đăng ký không thành công (username trùng, email trùng, dữ liệu của các input không hợp lệ)

Screen Đăng xuất

Description Cho phép user đăng xuất khỏi tài khoản

Screen Access user nhấn vào biểu tượng user trên header và chọn logout

Screen Content

Trang 15

Item Type Data Description

Screen Actions Action Name Description Success Failure

logout sau khi nhấn

nút logout, hệ thống sẽ hủy bỏ session hiện tại của user

chuyển trang về trang chủ

thông báo lỗi nếu logout không thành

công

Screen Xem chi tiết thông tin cá nhân

Description Cho phép user xem chi tiết thông tin cá nhân của mình và số lượng bài viết đã đăng

Screen access Sau khi đăng nhập user chọn vào menu thông tin cá nhân để truy cập

Screen Content Item Type Data Description

Tên Label-String Hiển thị tên của user

Ngày sinh Label-Date Hiển thị ngày sinh của user

Sdt Label-Number Hiển thị số điện thoại của user

Email Label-String Hiển thị email của user

Facebook Label-String Hiển thị facebook của user

Trang 16

Instagram Label-String Hiển thị instagram của user

POST Label-String Hiển thị số lượng bài viết user đã viết

Image Image Thumbnail của các bài viết

Đổi mật khẩu Button Có chức năng đổi mật khẩu cho tài khoản của

user Chỉnh sửa Button Cập nhật lại các thông tin cá nhân trừ mật khẩu

Screen Actions Action Name Description Success Failure

Đổi mật khẩu User click vào nút

đổi mật khẩu để thực hiện đổi mật khẩu

Hiển thị ra form để đổi mật khẩu

Không hiện form đổi mật khẩu

Chỉnh sửa User click vào nút

chỉnh sửa để thực hiện cập nhật thông tin

Hiện ra form cập nhật thông tin

Không hiện form cập nhật thông tin

Screen Cập nhật thông tin cá nhân

Description Cho phép user cập nhật thông tin cá nhân

Screen access User click vào nút chỉnh sửa

Screen Content

Trang 17

Item Type Data Description

Sdt TextInput Nhập số điện thoại mới

Facebook TextInput Nhập facebook mới

Instagram TextInput Nhập instagram mới

Lưu thay đổi Button Xác nhận thay đổi

Screen Actions Action Name Description Success Failure

Lưu thay đổi User nhấn vào

nút “Lưu thay đổi” để thực hiện việc thay đổi thông tin

Thông báo chỉnh sửa thành công, quay lại trang trước

Tải lại trang, thông báo lỗi nếu lưu không thành công (dữ liệu input không hợp lệ)

Screen Đổi mật khẩu

Description Cho phép user cập đổi mật khẩu

Screen access User click vào nút đổi mật khẩu

Screen Content

Trang 18

Item Type Data Description

Mật khẩu cũ TextInput Nhập mật khẩu cũ

Mật khẩu mới TextInput Nhập mật khẩu mới

Xác nhận mật

khẩu mới

TextInput Nhập lại mật khẩu mới

Lưu thay đổi Button Xác nhận thay đổi

Screen Actions

Action Name Description Success Failure

Lưu thay đổi User nhấn vào

“Lưu thay đổi”

để thực hiện việc thay đổi

Thông báo đổi mật khẩu thành công, quay lại trang trước

Thông báo lỗi nếu đổi mật khẩu thất bại

I.2.2 Xem thông tin địa điểm, dịch vụ

Screen Xem chi tiết địa điểm, dịch vụ

Trang 19

Description Cho phép user xem thông tin chi tiết về một địa điểm hoặc một dịch vụ cụ thể

Screen Access User nhấn vào một địa điểm hoặc dịch vụ ở danh sách

Screen Content Item Type Data Description

name text tên địa điểm,

dịch vụ address text địa chỉ

related blog button blog liên quan

tới địa điểm

nhấn để xem blog

Screen Actions Action Name Description Success Failure

xem blog Sau khi nhấn nút

xem blog, user sẽ xem chi tiết blog đó

chuyển trang tới trang chi tiết blog

thông báo lỗi nếu không tìm thấy blog

Trang 20

I.2.3 Tìm kiếm dịch vụ, địa điểm

Description cho phép user tìm kiếm địa điểm, dịch vụ

Screen Access user nhấn vào thanh tìm kiếm ở header

Screen Content

search bar input tên địa

điểm, dịchvụ

input để nhập nội dung cần tìm

search button nhấn để tìm kiếm địa điểm, dịch vụ

filter button nhấn để lọc khi tìm kiếm địa điểm,

Trang 21

search sau khi

nhấn nút search, danh sáchkết quả sẽhiện ra ở dropdown

kết quả hiện ra ở dropdown

hiện ra kết quả rỗng nếu không tìm thấy kết quả nào

filter sau khi

nhấn nút filter, kết quả tìm kiếm sẽ được giớihạn lại

kết quả tìm kiếm giới hạn lại

hiện ra thông báo lỗi nếu filter không hợp lệ

I.2.4 Đánh giá dịch vụ, địa điểm

Screen Đánh giá địa điểm, dịch vụ

Description Cho phép user đánh giá địa điểm, dịch vụ

Screen Access user nhấn vào nút đánh giá ở trang địa điểm, dịch vụ

Screen Content

Trang 22

Item Type Data Description

rating number rating rating tương ứng với chất lượng cũng như

sự hài lòng của user đối với địa điểm,

dịch vụ

description text mô tả về

địa điểm, dịch vụ

lý do và nội dung của bài đánh giá

Screen Actions Action Name Description Success Failure

rate sau khi nhấn nút

rate, user sẽ gửi đánh giá về địa điểm, dịch vụ để lưu vào hệ thống

thông báo thành công, trở về trang địa điểm

thông báo lỗi khi không thể rate

I.2.5 Yêu cầu cập nhật dịch vụ, địa điểm

Screen Yêu cầu cập nhật dịch vụ, địa điểm

Description Cho phép user gửi đề nghị cập nhật lại địa điểm, dịch vụ

Trang 23

Screen access User xem địa điểm, dịch vụ sau đó click vào cập nhật

Screen Content Item Type Data Description

Thuộc tính cần

cập nhật

Label-String Mô tả thuộc tính cần cập nhật

Địa điểm TextInput Địa chỉ của địa điểm, dịch vụ đó

Thời gian hoạt

động

TextInput Thời gian hoạt động của địa điểm, dịch vụ đó

Ưu đãi TextInput Ưu đãi của địa điểm, dịch vụ đó Hình ảnh Button Hình ảnh của địa điểm, dịch vụ đó

Gửi User click

vào để thực hiện việc gửi yêu cầu

Thông báo gửi yêu cầu thành công

Tải lại trang, thông báo lỗi

Trang 24

Screen Yêu cầu thêm mới địa điểm dịch vụ

Description Cho phép user gửi đề nghị thêm vào địa điểm, dịch vụ

Screen access User click vào menu yêu cầu thêm mới địa điểm,dịch vụ

Screen Content Item Type Data Description

Tên gọi TextInput Tên địa điểm, dịch vụ

Địa chỉ TextInput Địa chỉ của địa điểm, dịch vụ đó Loại hình dịch vụ Combobox Chọn loại hình ví dụ như cafe, nhà hàng Giờ hoạt động TextInput Giờ hoạt động

Giá cả trung bình TextInput Giá cả trung bình của địa điểm, dịch vụ đó

Mô tả TextInput Mô tả chi tiết thông tin hơn về địa điểm đó Hình ảnh Button Upload ảnh về địa điểm nếu có

Screen Actions Action Name Description Success Failure

Trang 25

Loại hình dịch vụ User click vào

để thực hiện chọn loại hình

ví dụ như cafe, nhà hàng

Hình ảnh User click vào

Quay lại trang chủ, thông báo thành công

Tải lại trang, thông báo lỗi

I.2.6 Báo cáo dịch vụ, địa điểm

Trang 26

Screen Xem chi tiết bài viết

Description Cho phép user báo cáo bài viết

Screen access User click vào thumbnail bài viết ở trang trước

Screen Content Item Type Data Description

Icon Chọn yêu cầu đối với bài viết

Báo cáo bài viết Icon Chọn để báo cáo bài viết

Trang 27

Screen Actions Action Name Description Success Failure

Chọn lý do User click

vào để chọn các lý do 1,2,3,4,5 để báo cáo

Gửi User click

vào để gửi các lý do vừa chọn

Thông báo gửi thành công

Tải lại trang, thông báo gửi thất bại

I.2.7 Xem blog

Screen Xem các bài viết

Description Cho phép user xem các bài viết đánh giá

Screen access User click vào menu bài viết

Screen Content Item Type Data Description

Thumbnail Image Thumbnail của các bài viết

Trang 28

Next Button Tiến 1 trang

Screen Actions Action Name Description Success Failure

Next User click

vào để tiến 1 trang

Tiến 1 trang Tải lại trang

Previous User click

vào để lùi 1 trang

Lùi 1 trang Tải lại trang

Click vào thumbnail User click

vào để xem chi tiết bài viết

Hiển thị chi tiết bài viết

Tải lại trang, thông báo lỗi

Screen Xem chi tiết bài viết

Description Cho phép user xem chi tiết bài viết

Screen access User click vào thumbnail bài viết ở trang trước

Trang 29

Screen Content Item Type Data Description

Image Image Ảnh chụp về các địa điểm,dịch vụ

Nội dung Text Nội dung chi tiết bài viết

Screen Actions Action Name Description Success Failure

I.2.8 Viết blog

Screen Viết bài

Description Cho phép user viết bài cảm nhận hay đánh giá về một địa điểm, dịch vụ

Screen access User click vào menu bài viết chọn tạo mới

Screen Content

Item Type Data Description

Tiêu đề TextInput Tiêu đề bài viết

Trang 30

Giới thiệu TextField Giới thiệu bài viết

Nội dung TextField Nội dung bài viết

Hình ảnh Button Upload các hình ảnh cho bài viết

Screen Actions

Action Name Description Success Failure

Gửi User click

vào để submit bài viết

Thông báo gửi thành công

Tải lại trang, thông báo gửi thất bại

I.2.9 Đánh giá (bình luận) blog

Screen Xem chi tiết bài viết

Description Cho phép user xem chi tiết bài viết và bình luận về bài viết

Screen access User click vào thumbnail bài viết ở trang trước

Screen Content

Item Type Data Description

Bình luận TextField Hiển thị các bình luận về bài viết

Trang 31

Nội dung bình

luận

TextInput Nhập nội dung bình luận

Screen Actions

Action Name Description Success Failure

Đăng User click vào

để đăng bình luận

Hiển thị bình luận vừa mới đăng lên phái trên

Tải lại trang, thông báo lỗi

I.2.10 Báo cáo blog

Trang 32

Screen Xem chi tiết bài viết

Description Cho phép user báo cáo bài viết

Screen access User click vào thumbnail bài viết ở trang trước

Screen Content Item Type Data Description

Icon Chọn yêu cầu đối với bài viết

Báo cáo bài

Trang 33

Screen Actions Action Name Description Success Failure

Chọn lý do User click vào

để chọn các lý

do 1,2,3,4,5 để báo cáo

Gửi User click vào

để gửi các lý

do vừa chọn

Thông báo gửi thành công

Tải lại trang, thông báo gửi thất bại

I.2.11 Phê duyệt yêu cầu tạo mới và cập nhật dịch vụ, địa điểm sẵn có

Screen Quản lý các request từ người dùng

Description Cho phép xác nhận các request

Screen access Admin chọn Quản lý request ở thanh menu bên trái

Screen Content Item Type Data Description

Danh sách

request

Table Danh sách

các request

Bảng chứa danh sách các request

Id request Label – String id của

Các ô mã id của người gửi request

Trạng thái Label – String Trạng thái

Ngày đăng: 04/01/2020, 20:31

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w