ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
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
GVHD:
TS. Lê Thị Mỹ Hạnh
Nhóm:
16Nh14
SVTH:
Nguyễn Hữu Hoàng Hưng
Nguyễn Trần Hậu
Đoàn Văn Khánh
Lê Trần Hồng Phúc
Nguyễn Phước Phi
Võ Xuân Hùng
Đà Nẵng, 2019
MỤC LỤC
Đồ án chuyên ngành Công nghệ phần mềm
2
Đồ án chuyên ngành Công nghệ phần mềm
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!
3
Đồ án chuyên ngành Công nghệ phần mềm
PHÂN CÔNG CÔNG VIỆC
STT
1
2
Thành viên
Nguyễn Hữu Hoàng
Hưng
Nội dung công việc
- 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
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
Đoàn Văn Khánh
-
Review phần Backend cho toàn hệ thống
-
Deploy website và quản lý cloud server
Phân tích và thiết kế hệ thống API cho hệ
thống
3
Nguyễn Trần Hậu
-
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
Phân tích và thiết kế UX/UI cho trang blog,
service và quản lý.
4
Nguyễn Phước Phi
-
Coding phần frontend cho blog
-
Review phần frontend cho service
-
Thiết kế testcase cho trang service
Phân tích và thiết kế UX/UI cho trang blog,
service.
5
Lê Trần Hồng Phúc
-
Coding phần frontend cho service
-
Review phần frontend cho blog
Thiết kế testcase cho trang blog
- Phân tích và thiết kế UX/UI cho trang quản lý.
-
6
Võ Xuân Hùng
- Coding phần frontend cho admin
- Thiết kế testcase cho trang admin
4
Đồ án chuyên ngành Công nghệ phần mềm
CHƯƠNG 1: GIỚI THIỆU HỆ THỐNG
I.
MỤC ĐÍCH
-
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à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Ố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, 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.
5
Đồ án chuyên ngành Công nghệ phần mềm
CHƯƠNG 2: XÂY DỰNG HỆ THỐNG
I.
PHÂN TÍCH YÊU CẦU
I.1. TỔNG QUAN
I.1.1.
Tác nhân
Tác nhân
Người du lịch
(Traveler)
Mô tả
- 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.
6
Đồ án chuyên ngành Công nghệ phần mềm
I.1.2.
Sơ đồ ca sử dụng
I.1.2.1. Sơ đồ tổng quát
I.1.2.2. Chức năng xác thực người dùng
7
Đồ án chuyên ngành Công nghệ phần mềm
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
8
Đồ án chuyên ngành Công nghệ phần mề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ụ
9
Đồ án chuyên ngành Công nghệ phần mềm
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
10
Đồ án chuyên ngành Công nghệ phần mềm
I.2. MÔ TẢ CHỨC NĂNG
I.2.1.
Xác thực người dùng
I.2.1.1. Đăng nhập
Screen
Đăng nhập
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
Login
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
login
button
đăng nhập
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)
11
Đồ án chuyên ngành Công nghệ phần mềm
I.2.1.2. Đăng ký
Screen
Đăng ký
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
email
input
email
trường input để nhập email của user
full name
input
full name
sign up
button
trường input để nhập full name của user
đăng ký
Screen Actions
12
Đồ án chuyên ngành Công nghệ phần mềm
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ệ)
I.2.1.3. Đăng xuất
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
Item
Type
logout
button
Data
Description
đăng xuất
Screen Actions
13
Đồ án chuyên ngành Công nghệ phần mềm
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
I.2.1.4. Xem thông tin cá nhân
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
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
14
Đồ án chuyên ngành Công nghệ phần mềm
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
Đổi mật khẩu
Chỉnh sửa
Description
User click vào nút
đổi mật khẩu để thực
hiện đổi mật khẩu
User click vào nút
chỉnh sửa để thực
hiện cập nhật
thông tin
Success
Hiển thị ra
form để đổi
mật khẩu
Hiện ra form
cập nhật
thông tin
Failure
Không hiện form đổi mật khẩu
Không hiện form cập nhật thông tin
I.2.1.5. Cập nhật thông tin cá nhân
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
Item
Type
Tên
TextInput
Data
Description
Nhập tên mới
15
Đồ án chuyên ngành Công nghệ phần mềm
Ngày sinh
Date
Nhập ngày sinh mới
Sdt
TextInput
Nhập số điện thoại mới
Email
TextInput
Nhập email 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
Item
Type
Data
Description
16
Đồ án chuyên ngành Công nghệ phần mềm
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.
Screen
Description
Xem thông tin địa điểm, dịch vụ
Xem chi tiết địa điểm, dịch vụ
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ể
17
Đồ án chuyên ngành Công nghệ phần mềm
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
name
text
tên địa điểm,
dịch vụ
address
text
địa chỉ
rating
number
xếp hạng
description
text
mô tả về địa
điểm, dịch vụ
images
image
1 số hình ảnh
của địa điểm,
dịch vụ
related blog
button
blog liên quan
tới địa điểm
Description
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
18
Đồ án chuyên ngành Công nghệ phần mềm
I.2.3.
Tìm kiếm dịch vụ, địa điểm
Screen
Tìm kiếm địa điểm, dịch vụ
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
Item
Type
Data
Description
search bar
input
tên địa
điểm, dịch
vụ
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,
dịch vụ
Screen Actions
Action Name
Descripti
on
Success
Failure
19
Đồ án chuyên ngành Công nghệ phần mềm
search
sau khi
nhấn nút
search,
danh sách
kết quả sẽ
hiện ra ở
dropdow
n
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ới
hạ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.
Screen
Description
Screen Access
Đánh giá dịch vụ, địa điểm
Đánh giá địa điểm, dịch vụ
Cho phép user đánh giá địa điểm, dịch vụ
user nhấn vào nút đánh giá ở trang địa điểm, dịch vụ
20
Đồ án chuyên ngành Công nghệ phần mềm
Screen Content
Item
Type
Data
Description
title
text
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á
rate
button
tiêu đề
nhấn để rate
Screen Actions
Action Name
rate
I.2.5.
Description
Success
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
Failure
thông báo lỗi khi không thể rate
Yêu cầu cập nhật dịch vụ, địa điểm
I.2.5.1. Cập nhật dịch vụ và địa điểm có sẵn
21
Đồ án chuyên ngành Công nghệ phần mề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ụ
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ụ đó
Nội dung cập
nhật
TextField
Mô tả chi tiết thông tin hơn về nội dung cập
nhật
Gửi
Button
Gửi yêu cầu
Screen Actions
Action Name
Gửi
Description
Success
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
Failure
Tải lại trang, thông báo lỗi
I.2.5.2. Thêm mới dịch vụ và địa điểm
22
Đồ án chuyên ngành Công nghệ phần mềm
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
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ụ
Data
Combobox
Description
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ó
Submit
Button
Submit yêu cầu
Screen Actions
Action Name
Description
Success
Failure
23
Đồ án chuyên ngành Công nghệ phần mềm
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
để upload ảnh
về địa điểm nếu
có
Submit
User click vào
để thực hiện
việc submit
yêu cầu
I.2.6.
Quay lại
trang chủ,
thông báo
thành
công
Tải lại trang, thông báo lỗi
Báo cáo dịch vụ, địa điểm
24
Đồ án chuyên ngành Công nghệ phần mềm
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
Vui lòng chọn vấn
đề báo cáo
Label-String
Hiển thị window report bài viết
Lý do 1
Icon
Lý do report 1
Lý do 2
Icon
Lý do report 2
Lý do 3
Icon
Lý do report 3
Lý do 4
Icon
Lý do report 4
Lý do 5
Icon
Lý do report 5
25