Tải bản đầy đủ (.pdf) (79 trang)

XÂY DỰNG ỨNG DỤNG ĐẶT LỊCH HẸN CẮT TÓC “E-HAIR” BUILDING THE APPLICATION OF A HAIR SCHEDULE “E-HAIR

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (11.9 MB, 79 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO

NGÂN HÀNG NHÀ NƯỚC VIỆT NAM

TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP .HỒ CHÍ MINH
KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

ĐỒ ÁN
Chuyên ngành:
HỆ THỐNG THÔNG TIN DOANH NGHIỆP

XÂY DỰNG ỨNG DỤNG ĐẶT LỊCH
HẸN CẮT TÓC “E-HAIR”
BUILDING THE APPLICATION OF A HAIR
SCHEDULE “E-HAIR”
GVHD: NCS.ThS. Nguyễn Duy Thanh
Sinh viên thực hiện: Đào Phương Lâm
MSSV: 030234180063

TP. HỒ CHÍ MINH – NĂM 2021


BỘ GIÁO DỤC VÀ ĐÀO TẠO

NGÂN HÀNG NHÀ NƯỚC VIỆT NAM

TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP .HỒ CHÍ MINH
KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

ĐỒ ÁN
Chuyên ngành:


HỆ THỐNG THÔNG TIN DOANH NGHIỆP

XÂY DỰNG ỨNG DỤNG ĐẶT LỊCH
HẸN CẮT TÓC “E-HAIR”
BUILDING THE APPLICATION OF A HAIR SCHEDULE
“E-HAIR”
GVHD: NCS.ThS. Nguyễn Duy Thanh
Sinh viên thực hiện: Đào Phương Lâm
MSSV: 030234180063

TP. HỒ CHÍ MINH – NĂM 2021


LỜI CAM ĐOAN
Tôi xin cam đoan đồ án với đề tài Xây dựng ứng dụng đặt lịch hẹn cắt tóc
“e-Hair” là cơng trình nghiên cứu độc lập của bản thân dựa trên các kiến thức đã học
tại trường Đại học Ngân Hàng TP.HCM và sự tự tìm hiểu của bản thân. Các thông tin
tham khảo trong đồ án đều được trích dẫn một cách đầy đủ và cẩn thận. Đồng thời, đồ
án có sử dụng hình ảnh và thơng tin của một số salon và hình ảnh tại kênh tiktok
@huyleodaik.

Nếu phát hiện có bất kỳ sự gian lận nào tơi xin hoàn toàn chịu trách nhiệm về nội
dung bài tiểu luận của mình.
TP.HCM, ngày ... tháng 12 năm 2021
Sinh viên thực hiện
(Ký & ghi rõ họ tên)

Đào Phương Lâm



LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất đến quý Thầy Cô Trường Đại học
Ngân Hàng TP.HCM, đặc biệt là quý Thầy, Cô Khoa Hệ Thống Thông Tin Quản Lý đã
truyền đạt những kiến thức quý báu giúp cho em hoàn thành và thực hiện tốt đồ án này.
Tơi xin bày tỏ lịng biết ơn đặc biệt đến Thầy Nguyễn Duy Thanh đã luôn theo dõi
đồng hành và hướng dẫn tơi hồn thành tốt nhất đồ án theo đúng tiến độ đề ra.
Do giới hạn kiến thức và khả năng lý luận của bản thân cịn nhiều thiếu sót và hạn
chế, kính mong sự chỉ dẫn và đóng góp của các Thầy, Cơ để đồ án của tơi được hồn
thiện hơn.
Xin chân thành cảm ơn!
TP.HCM, ngày ... tháng 12 năm 2021
Sinh viên thực hiện
(Ký & ghi rõ họ tên)

Đào Phương Lâm


TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP.HCM

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ

Độc lập – Tự do – Hạnh phúc

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Giảng viên hướng dẫn: NCS.ThS. Nguyễn Duy Thanh.
Sinh viên: Đào Phương Lâm.

MSSV: 030234180063.


Ngành: Hệ thống thông tin doanh nghiệp.
Tên đề tài: XÂY DỰNG ỨNG DỤNG ĐẶT LỊCH HẸN CẮT TÓC “E-HAIR”.
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
TP.HCM, ngày ... tháng 12 năm 2021
Giảng viên hướng dẫn
(Ký & ghi rõ họ tên)

Nguyễn Duy Thanh


TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP.HCM

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ


Độc lập – Tự do – Hạnh phúc

NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
Giảng viên phản biện: ...................................................................................................
Sinh viên: Đào Phương Lâm.

MSSV: 030234180063.

Ngành: Hệ thống thông tin doanh nghiệp.
Tên đề tài: XÂY DỰNG ỨNG DỤNG ĐẶT LỊCH HẸN CẮT TÓC “E-HAIR”.
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
TP.HCM, ngày ... tháng 12 năm 2021
Giảng viên phản biện
(Ký & ghi rõ họ tên)


MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI........................................................................... 1
1. Lý do chọn đồ án ............................................................................................1
2. Mục tiêu đồ án................................................................................................2
CHƯƠNG 2: TỔNG QUAN ANDROID VÀ XÂY DỰNG ỨNG DỤNG ................ 3
1. Tổng quan về android ...................................................................................3
1.1 Hệ điều hành Android................................................................................3
1.2 Giao diện Android .....................................................................................3
1.3 Quản lý bộ nhớ ..........................................................................................3
1.4 Mã nguồn mở .............................................................................................4
1.5 Bảo mật ......................................................................................................4
2. Xây dựng ứng dụng .......................................................................................4
2.1 Quy trình xây dựng phần mềm ..................................................................4
2.2 Sơ lược về Android Studio ........................................................................5
2.3 Ngơn ngữ lập trình Java .............................................................................6
2.4 Cơ sở dữ liệu Firebase ...............................................................................6
CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG ĐẶT LỊCH HẸN CẮT TÓC “E-HAIR” 7
1. Lên ý tưởng ....................................................................................................7
2. Phân tích .........................................................................................................7
2.1 Yêu cầu chức năng.....................................................................................7
2.2 Yêu cầu phi chức năng ............................................................................18
2.3 Quy tắc của ứng dụng ..............................................................................19
2.4 Đặc tả use case .........................................................................................21
2.5 Thiết kế cơ sở dữ liệu ..............................................................................22
3. Phát triển ......................................................................................................24
3.1 Thiết kế giao diện ....................................................................................24


3.2 Lập trình...................................................................................................25
3.3 Chức năng của tác nhân khách hàng .......................................................25
3.4 Chức năng của tác nhân salon .................................................................37

3.5 Chức năng của tác nhân quản trị viên......................................................43
4. Kiểm thử chất lượng phần mềm ................................................................49
4.1 Kiểm tra chức năng ..................................................................................49
4.2 Kiểm tra phi chức năng............................................................................49
5. Triển khai .....................................................................................................52
6. Bảo trì ...........................................................................................................53
KẾT LUẬN .................................................................................................................. 54
TÀI LIỆU THAM KHẢO........................................................................................... 55
PHỤ LỤC 1 .................................................................................................................. 56
PHỤ LỤC 2 .................................................................................................................. 58
PHỤ LỤC 3 .................................................................................................................. 59


DANH MỤC TỪ VIẾT TẮT
Chữ viết tắt

Giải nghĩa

OHA

Open Handset Alliance

RAM

Random Access Memory

OTP

One Time Password


IEEE

Institute of Electrical and Electronics Engineers

reCAPTCHA

Completely Automated Public Turing test to
tell Computers and Humans Apart


DANH MỤC HÌNH ẢNH
Hình 1: Quy trình xây dựng phần mềm ...................................................................5
Hình 2: Android Studio ...........................................................................................5
Hình 3: Firebase .......................................................................................................6
Hình 4: Biểu đồ use case tác nhân khách hàng .....................................................12
Hình 5: Biểu đồ use case tác nhân salon ...............................................................16
Hình 6: Biểu đồ use case tác nhân quản trị viên và Special_Admin. ....................19
Hình 7: Biểu đồ activity “Đăng nhập”...................................................................21
Hình 8: Cấu trúc dữ liệu của gốc Account ............................................................22
Hình 9: Cơ sở dữ liệu thời gian thực của ứng dụng e-Hair ...................................23
Hình 10: Dịch vụ Cloud Firestore của Firebase ....................................................24
Hình 11: Dịch vụ lưu trữ Storage của Firebase ....................................................24
Hình 12: Thiết kế giao diện ...................................................................................25
Hình 13: Lập trình Java .........................................................................................25
Hình 14: Giao diện khi khởi động phần mềm .......................................................26
Hình 15: Màn hình nhập số điện thoại đăng ký .....................................................26
Hình 16: Màn hình xác thực robot.........................................................................27
Hình 17: Màn hình nhập OTP ...............................................................................27
Hình 18: Tin nhắn OTP .........................................................................................27
Hình 19: Nhập OTP ...............................................................................................27

Hình 20: Thiết lập mật khẩu ..................................................................................27
Hình 21: Nhập thơng tin ........................................................................................27
Hình 22: Trang chủ e-Hair.....................................................................................28
Hình 23: Tìm kiếm salon .......................................................................................28
Hình 24: Salon ở TP.HCM ....................................................................................28
Hình 25: Trang chủ salon ......................................................................................29
Hình 26: Chọn dịch vụ...........................................................................................29
Hình 27: Xem chi tiết dịch vụ ...............................................................................29
Hình 28: Chọn thời gian đặt lịch ...........................................................................29
Hình 29: Đặt lịch thành cơng .................................................................................29
Hình 30: Xem bài viết ...........................................................................................30
Hình 31: Đánh giá salon ........................................................................................30


Hình 32: Bài viết salon ..........................................................................................30
Hình 33: Hồn tất đánh giá lịch hẹn (khách hàng) ................................................30
Hình 34: Lịch sử lịch hẹn ......................................................................................30
Hình 35: Đánh giá và phản hồi ..............................................................................31
Hình 36: Xem ảnh ..................................................................................................31
Hình 37: Tùy chọn lịch sử .....................................................................................31
Hình 38: Hủy lịch hẹn ...........................................................................................31
Hình 39: Trang chủ e-Hair.....................................................................................32
Hình 40: Xem bài viết ...........................................................................................32
Hình 41: Cập nhật thơng tin cá nhân .....................................................................32
Hình 42: Hồn tất cập nhật thơng tin .....................................................................33
Hình 43: Đổi mật khẩu ..........................................................................................33
Hình 44: Thơng báo ...............................................................................................33
Hình 45: Đăng ký salon .........................................................................................34
Hình 46: Hồn tất đăng ký salon ...........................................................................34
Hình 47: Đăng nhập ...............................................................................................34

Hình 48: Xem chính sách ......................................................................................35
Hình 49: Liên hệ admin .........................................................................................35
Hình 50: Liên hệ salon và e-Hair...........................................................................35
Hình 51: Quên mật khẩu ........................................................................................36
Hình 52: Quên mật khẩu (OTP và thiết lập mật khẩu) ..........................................36
Hình 53: Xem chi tiết lịch hẹn...............................................................................37
Hình 54: Xử lý lịch hẹn .........................................................................................37
Hình 55: Cập nhật ảnh khách hàng .......................................................................38
Hình 56: Xem lịch sử lịch hẹn ...............................................................................38
Hình 57: Xem chi tiết lịch hẹn...............................................................................39
Hình 58: Hủy lịch hẹn (salon) ...............................................................................39
Hình 59: Xem và thêm dịch vụ salon ....................................................................40
Hình 60: Thao tác với dịch vụ ...............................................................................40
Hình 61: Sửa và xóa dịch vụ .................................................................................41
Hình 62: Xóa dịch vụ .............................................................................................41
Hình 63: Cài đặt salon ...........................................................................................41


Hình 64: Quản lý bài viết ......................................................................................42
Hình 65: Cập nhật thơng tin salon .........................................................................42
Hình 66: Salon liên hệ khách hàng và e-Hair ........................................................43
Hình 67: Xem thơng báo (salon) ...........................................................................43
Hình 68: Quản trị e-Hair ........................................................................................44
Hình 69: Xem danh sách tài khoản cá nhân ..........................................................44
Hình 70: Tìm kiếm người sử dụng ........................................................................44
Hình 71: Mở, khóa và tạm khóa tài khoản cá nhân ...............................................45
Hình 72: Xem và tìm kiếm tài khoản salon ...........................................................45
Hình 73: Mở, tạm khóa, khóa tài khoản salon .......................................................46
Hình 74: Xem và xử lý báo cáo .............................................................................47
Hình 75: Xem nhật ký ...........................................................................................47

Hình 76: Liên hệ cá nhân và salon ........................................................................48
Hình 77: Quản trị admin ........................................................................................48
Hình 78: Quản lý chính sách e-Hair ......................................................................49
Hình 79: Kiểm tra phi chức năng ..........................................................................52
Hình 80: Đóng gói và cài đặt phần mềm ...............................................................52
DANH MỤC BẢNG
Bảng 1: Đặc tả use case "Đăng ký tài khoản" của khách hàng .............................21
Bảng 2: Test case ...................................................................................................51


CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
1. Lý do chọn đồ án
Dịch bệnh COVID-19 đã quay trở lại Việt Nam vào những ngày đầu tháng 7 năm
2021. Một số nơi cũng đã áp dụng thực hiện Chỉ thị số 16/CT-TTg theo Chỉ thị này phải
tạm dừng các hoạt động kinh doanh khơng cần thiết để có thể nhanh chóng kiểm sốt
dịch bệnh COVID-19, sớm đưa cuộc sống trở lại bình thường. Tính đến hiện nay, tháng
10 một số địa phương đã điều chỉnh lại các biện pháp phịng, chóng dịch theo nguyên
tắc tại Chỉ thị số 15/CT-TTg ngày 27/3/2020 của Thủ tướng Chính phủ. Theo đó, một
số hoạt động kinh doanh đã được phép hoạt động trở lại trong đó có dịch vụ cắt tóc, gội
đầu (salon) đồng thời tuân thủ 5K, không tập trung đông người và giữa khoảng cách.
Điều này, dẫn đến khi khách đến salon q đơng thì phải quay về và đến khi khác, đã
mang đến nhiều phiền toái cho khách hàng (Hiệu, 2021), (Thảo, 2021). Hay trước đại
dịch thì việc khách hàng đến cửa hàng cắt tóc phải chờ đến lượt là điều hồn tồn có thể
xảy ra. Hiện nay, chỉ có cơng ty cổ phần thương mại dịch vụ 30Shine – Chuỗi salon
30Shine là có chính thức ứng dụng đặt lịch hẹn cắt tóc trên Android và website. Đối với,
các salon khác thì khách hàng có thể đặt lịch cắt bằng cách đặt trên website hoặc liên hệ
trực tiếp nhân viên hoặc chủ salon đều này dẫn đến việc khó quản lý. Nhằm giải quyết
vấn đề trên, đồ án sẽ thực hiện với đề tài xây dựng ứng dụng đặt lịch cắt tóc mang tên
“e-Hair” trên hệ điều hành Android. Ứng dụng này giúp cho cả khách hàng có thể đặt
lịch một cách nhanh chóng tại nhà và khơng phải chờ đợi lâu, cịn đối với chủ cửa hàng

cắt tóc thì có thể quản lý được số lượng đặt lịch hẹn đến salon. Đây cũng như là một cầu
nối cho cửa hàng cắt tóc và khách hàng.
Để có thể xây dựng ứng dụng đặt lịch hẹn cắt tóc “e-Hair” đồ án sẽ sử dụng cơng
cụ hỗ trợ lập trình Android Studio bằng ngơn ngữ lập trình Java. Cơ sở dữ liệu đồ án sẽ
sử dụng Firebase Realtime database là một cloud hosted database hỗ trợ đa nền tảng:
Android, IOS và Web. Về cơ sở dữ liệu offline đồ án sẽ ứng dụng SQLite trong vấn đề
lưu trữ. Đồng thời, sử dụng điện thoại Huawei Nova 2i để build ứng dụng thông qua cáp
USB.

1


2. Mục tiêu đồ án
Dựa vào các kiến thức đã học trong tất cả các môn chuyên ngành Hệ thống thơng
tin doanh nghiệp và sự tự tìm hiểu thêm các kiến thức liên quan để thực hiện đồ án xây
dựng ứng dụng đặt lịch hẹn cắt tóc “e-Hair”, đồ án đặt ra 2 mục tiêu sau:
-

Biết tổng quan về Android và kỹ thuật lập trình Android.

-

Xây dựng được ứng dụng phần mềm chạy trên nền tảng hệ điều hành Android.

2


CHƯƠNG 2: TỔNG QUAN ANDROID VÀ XÂY DỰNG ỨNG
DỤNG
1. Tổng quan về android

1.1 Hệ điều hành Android
Android là một hệ điều hành cho các thiết bị di động, dựa trên nền tảng Linux, được
Google phát triển và sau đó trở thành sản phẩm chiến lược của tổ chức OHA (Phượng,
2014). Nó là sản phẩm mã nguồn mở, cho phép các nhà phát triển có thể điều khiển thiết
bị di động có cài đặt hệ điều hành. Android thơng qua các đoạn mã lệnh được viết bằng
ngôn ngữ Java.
Android được biết đến lần đầu vào năm 2008, khi mà chiếc điện thoại HTC Dream
G1 chính thức được bán tại Mỹ. Tuy nó cịn nhiều thiết sót nhưng nó đã đặt nền móng
cho các tính năng có thể xem là đặc điểm nhận dạng của Android ngày nay. Đồng thời,
Google cũng từng bước cập nhật cho hệ điều hành này. Mới nhất, ngày 20/10/2021
Google chính thức phát hành phiên bản Android 12 dành cho các smartphone sử dụng
giao diện gốc như Pixel sau một thời gian trải Android 12 Beta.
1.2 Giao diện Android
Giao diện Android được thiết kế dựa trên nguyên tắc tác động trực tiếp, sử dụng
cảm ứng chạm như vuốt, chạm, kéo dãn và thu lại để xử lý các đối tượng trên màn hình
(Trang, 2013). Những thiết bị phần cứng bên trong như gia tốc kế, con quay hồi chuyển
và cảm biến khoảng cách được một số ứng dụng sử dụng để phản hồi một số hành động
của người sử dụng. Một điểm mạnh của Android là chức năng đa nhiệm (multi-tasking)
cho phép chuyển qua lại các ứng dụng một các dễ dàng.
1.3 Quản lý bộ nhớ
Thiết bị Android chủ yếu vận hành bằng pin, nên việc Android được thiết kế để
quản lý bộ nhớ (RAM) để giảm tối đa tiêu thụ điện năng. Khi một ứng dụng không được
sử dụng ứng dụng sẽ tự động ngăn nó trong bộ nhớ, vừa giúp tăng khả năng phản hồi vì
ứng dụng không nhất thiết phải mở lại từ đầu, vừa đảm bảo không tiêu tốn năng lượng
một cách không cần thiết. Android quản lý các ứng dụng trong bộ nhớ một cách tự động
và được thiết kế ẩn đi với người sử dụng. Khi bộ nhớ thấp, ứng dụng sẽ bắt đầu diệt ứng
dụng, sắp theo thời điểm cuối mà chúng được sử dụng.
3



1.4 Mã nguồn mở
Android là công nghệ mới, đây là điểm lợi thế dễ dàng thấy được, bởi hầu hết các
nhà phát triển công nghệ cho điện thoại di động trước đó đều đóng gói và che dấu sản
phẩm của họ. Android từ phiên bản ban đầu cho đến phiên bản hiện nay đã được phát
triển và nâng cấp lên rất nhiều. Chính vì cơng nghệ mở, nên cộng đồng những nhà phát
triển nền tảng và ứng dụng Android có quyền truy cập, điều chỉnh, nâng cấp và hoàn
thiện hơn về tính năng và hiệu quả của nó.
1.5 Bảo mật
Android là một hệ điều hành mã nguồn mở nên tất cả thơng tin về ứng dụng mọi
người đều có thể nắm được. Đây là ưu điểm và cũng là nhược điểm, bởi các hacker có thể
tìm kiếm những lỗ hổng ứng dụng và tạo ra những virus tấn công thiết bị (Phượng, 2014).
2. Xây dựng ứng dụng
2.1 Quy trình xây dựng phần mềm
Không giống như các ứng dụng phần mềm truyền thống như những ứng dụng chạy
trên máy tính để bàn, máy chủ hoặc máy tính xách tay, quy trình xây dựng ứng dụng di
động đặt ra thêm yêu cầu và các vấn đề. Một số vấn đề phổ biến bao gồm: tích hợp phần
mềm với phần cứng, lưu trữ hạn chế và các vấn đề truyền thống như độ tin cậy và hiệu
suất (Muthuswamy và các cộng sự, 2013).
Ngành công nghiệp di động phần mềm tập trung vào việc ra mắt sản phẩm hơn là
tuân thủ quy trình phát triển sản phẩm. Nó chỉ có thể duy trì nếu chúng phản ánh ý kiến
của người sử dụng cuối và nhanh chóng tung ra các sản phẩm phần mềm theo u cầu.
Do đó, cần phải thiết kế lại quy trình để phù hợp với bản chất thích ứng của ứng dụng
di động. Quy trình này bao gồm các giai đoạn khác nhau phù hợp phát triển một ứng
dụng Android nhẹ, cụ thể là: Giai đoạn 1: Phân tích yêu cầu, Giai đoạn 2: Thiết kế và
Phát triển, Giai đoạn 3: Kiểm tra và Đảm bảo chất lượng, Giai đoạn 4: Giai đoạn nghiệm
thu sản phẩm và Giai đoạn 5: Đưa ra thị trường (Kaleel & HariShankar, 2013). Giai
đoạn 5 là một bước xác thực quan trọng xác nhận sự chấp nhận của sản phẩm. Về việc
đáp ứng nhu cầu của khách hàng yêu cầu, sản phẩm được thiết lập để phát hành chính
thức trên thị trường. Nếu khơng, sẽ thực hiện lại giai đoạn phân tích yêu cầu.


4


2.2 Sơ lược về Android Studio

Hình 1: Quy trình xây dựng phần mềm
(Nguồn: Kaleel & HariShankar (2013), trang 4)

Ngày 16/05/2013, Android Studio được ra mắt công chúng tại hội nghị Google I/O.
Nó được thiết kế đặc biệt để dành riêng cho việc phát triển ứng dụng Android (môi
trường phát triển tích hợp – IDE). Android Studio hỗ trợ tính năng như sửa mã thông
minh cho các ngôn ngữ Kotlin, Java và C / C ++ giúp tiết kiệm thời gian. Ngồi ra, cịn
có một số tính năng nổi bật khác như: thiết kế bố cục trực quan, phân tích APK, trình
giả lập thiết bị Android,... Android Studio có thể hoạt động trên các hệ điều hành
Windows, Linux, Mac và Chrome OS. Tại trang chính thức của Android Studio, phiên
bản mới nhất dành cho Windows (64-bit) là Android Studio 2020.3.1.26 (Google, 2021).

Hình 2: Android Studio
(Nguồn: Phần mềm Android Studio, màn hình tác giả)

5


2.3 Ngơn ngữ lập trình Java
Ngơn ngữ lập trình Android rất đa dạng nhưng phổ biến nhất là Kotlin, Java và C /
C ++. Đồ án này sẽ sử dụng ngơn ngữ Java làm ngơn ngữ lập trình Android. Java được
biết đến là ngôn ngữ phổ biến nhất trong lập trình Android, nó là một ngơn ngữ đơn
giản, sử dụng dễ dàng, có độ linh hoạt, đặc biệt là Android Studio hỗ trợ mạnh về mảng
Java và Kotlin. Khi sử dụng Java làm ngơn ngữ lập trình Android thì khơng thể thiếu
Java Development Kit (JDK), đây là phần mềm miễn phí trong đó JDK bao gồm Java

SE Runtime (JRE) (Dixit, 2014).
2.4 Cơ sở dữ liệu Firebase
Ban đầu, máy chủ được sử dụng cho các ứng dụng Android là Oracle SQL,
Microsoft SQL Server và MySQL được kết nối với máy chủ với các tệp PHP. Sau đó,
Firebase ra đời cho các ứng dụng Android sử dụng JSON để lưu trữ dữ liệu. Các máy
chủ khác sử dụng định dạng bảng (hàng và cột) để lưu trữ dữ liệu (Khawas & Shah,
2018). Firebase cung cấp nhiều dịch vụ như: phân tích dữ liệu người sử dụng, Google
Clouds Messaging (GCM), xác thực Firebase bằng Facebook, Google GitHub và
Twitter, cơ sở dữ liệu thời gian thực, lưu trữ Firebase dùng để truyền tải tập tin dễ dàng
và an tồn, thơng báo Firebase ,...

Hình 3: Firebase
(Nguồn: website Firebase)

Firebase giúp các ứng dụng Android nhanh hơn và hiệu quả hơn vì khơng cần PHP
như một ngơn ngữ của bên thứ ba để giao tiếp với cơ sở dữ liệu. Nó cung cấp một kênh
an tồn để giao tiếp với cơ sở dữ liệu trực tiếp từ Java. Nó khơng chỉ có thể được sử
dụng trong Android mà còn cũng để kết nối nhiều nền tảng.
Tất cả dữ liệu trong cơ sở dữ liệu thời gian thực (Realtime Database) Firebase được
lưu trữ dưới dạng JSON. Nó khơng giống như cơ sở dữ liệu SQL, khơng có bảng hoặc
bản ghi. Khi thêm dữ liệu, nó sẽ trở thành một nút trong cấu trúc JSON hiện có với một
khóa được liên kết. Ngồi ra, có thể cung cấp khóa cho nó như số điện thoại người sử
dụng hoặc sử dụng phương thức push() của Firebase.
6


CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG ĐẶT LỊCH HẸN CẮT TĨC
“E-HAIR”
1. Lên ý tưởng
Nhu cầu làm đẹp hay làm tóc nói riêng là nhu cầu của tất cả mọi người. Để giúp

việc tiết kiệm thời gian cho khách hàng không phải chờ đợi đến lượt của mình thì một
ứng dụng Android hỗ trợ việc đặt lịch hẹn trước sẽ giúp ít nhiều vấn đề này. Đồng thời,
cũng sẽ giúp cho chủ salon không bị động trong việc khách đến quá đông, mà đã được
phân chia ra các khung giờ, đáp ứng được yêu cầu tuân thủ quy định 5K hiện nay.
2. Phân tích
2.1 Yêu cầu chức năng
Các tác nhân tham gia bao gồm:
-

Khách hàng: người đăng ký đặt lịch hẹn tại các salon.

-

Salon: người nhận lịch hẹn từ các khách hàng đã đặt lịch.

-

Quản trị viên: Người đảm bảo duy trì ứng dụng.

-

Special_Admin: Người đảm bảo duy trình ứng dụng cấp cao.

2.1.1 Khách hàng
a. Đăng ký tài khoản cá nhân
Bất kỳ ai cũng có thể đăng tài khoản cá nhân bằng số điện của mình. Việc đăng ký
yêu cầu phải xác minh danh tính thơng qua xác thực OTP (thời gian hiệu lực 60 giây).
Nếu sau 60 giây mà người sử dụng chưa xác thực, người sử dụng phải thực hiện gửi lại
mã OTP. Khi đăng ký, người sử dụng cần phải thiết lập mật khẩu bằng 6 chữ số, nhập
lại 2 lần mật khẩu nhằm xác định người sử dụng đã nhớ mật khẩu. Đồng thời cung cấp

các thông tin cần thiết: họ và tên, số điện thoại, ngày tháng năm sinh, nơi ở (tỉnh thành,
quận – huyện, phường – xã). Cuối cùng, phải đồng ý với việc khai báo thông tin trên là
sự thật và chấp nhận các chính sách của e-Hair. Nếu người sử dụng chấp nhận đồng ý
và ứng dụng hồn tất việc cập nhật thơng tin của người sử dụng mới này, người sử dụng
không cần phải đăng nhập lại mà sẽ được chuyển vào trang chủ của e-Hair.
Trường hợp số điện thoại đã đăng ký thành cơng trước đây thì khơng thể thực hiện
đăng ký lại. Nếu trường hợp người sử dụng không đồng ý với việc khai báo thông tin
trên là sự thật và chấp nhận chính sách của e-Hair, ứng dụng khơng cần thực hiện bất kỳ
7


hành động nào. Nếu trong lúc thiết lập mật khẩu, người sử dụng nhập lại mật khẩu mới
không trùng khớp, người sử dụng phải nhập lại cho đến khi trùng khớp.
b. Đăng nhập
Sau khi đã đăng ký thành công tài khoản và người sử dụng chọn đăng xuất thì phải
thực hiện đăng nhập lại ứng dụng thông qua số điện thoại và mật khẩu 6 chữ số đã thiết
lập phần đăng ký tài khoản. Nếu người sử dụng nhập chính xác số điện thoại đã đăng ký
và mật khẩu của số điện thoại đó, sẽ vào trang chủ của e-Hair. Tại trang chủ, phần mềm
hiển thị danh sách các bài viết của các salon và các lựa chọn: đặt lịch, hủy lịch, lịch sử,
tìm kiếm, thơng báo và thơng tin về tên, ảnh đại diện của người sử dụng cá nhân. Người
sử dụng có thể xem bài viết và báo cáo bài viết của salon, nếu tài khoản cá nhân có tài
khoản salon thì có thể dùng tài khoản salon để báo cáo bài viết.
Trường hợp người sử dụng nhập sai mật khẩu quá 3 lần sẽ tính thời gian chờ để
đăng nhập lại bắt đầu từ 60 giây. Nếu người sử dụng khơng nhớ mật khẩu, có thể thực
hiện khai báo quên mật khẩu. Tại đây, người sử dụng phải nhập số điện thoại của mình
để xác thực danh tính bằng OTP và thiết lập lại mật khẩu 6 chữ số và nhập lại mật khẩu
mới 2 lần nhằm xác định người sử dụng đã nhớ mật khẩu. Nếu hồn tất thiết lập lại mật
khẩu người sử dụng có thể vào trang chủ của e-Hair.
Nếu hiệu lực OTP không còn, người sử dụng phải thực hiện gửi lại mã OTP. Nếu
trong lúc thiết lập lại mật khẩu, người sử dụng nhập lại mật khẩu mới không trùng khớp,

người sử dụng phải nhập lại cho đến khi trùng khớp.
Trường hợp người sử dụng muốn đăng xuất tài khoản thì có thể chọn mục “Đăng
xuất” trong trang cá nhân của mình.
c. Đăng ký salon
Sau khi đăng nhập thành công tài khoản cá nhân, khi chưa có tài khoản salon người
sử dụng có thể đăng ký tài khoản salon do mình sở hữu hoặc quản lý. Người sử dụng
cung cấp: tên salon, hình đại diện salon, hình bìa salon, số điện thoại salon, số điện thoại
chủ salon (tức tài khoản cá nhân), địa chỉ (tỉnh thành, quận - huyện, phường – xã, số
nhà, khu phố), mô tả. Cuối cùng, nếu người sử dụng đồng ý thông tin khai báo là sự thật
và chấp nhận các điều khoản, ứng dụng tạo tài khoản salon cho cá nhân đó.
d. Đặt lịch hẹn
-

Lựa chọn salon
8


Sau khi đã đăng nhập thành công vào trang chủ của e-Hair người sử dụng có thể
thực hiện đặt lịch thơng qua việc chọn mục đặt lịch hoặc tìm kiếm. Khi người sử dụng
chọn một trong hai cách trên được chuyển đến mục tìm kiếm salon. Tại đây người sử
dụng sẽ được cung cấp tìm kiếm salon theo vùng miền, tỉnh thành. Ứng dụng chỉ hiển
thị những tỉnh thành đã có salon trong e-Hair, các tỉnh thành khơng có salon sẽ không
được hiển thị. Khi người sử dụng chọn tỉnh thành cần đặt lịch, ứng dụng sẽ hiển thị các
salon nằm trong tỉnh thành đó. Khi người sử dụng đã chọn được salon cần đặt lịch hẹn,
ứng dụng sẽ đến trang chủ của salon.
-

Lựa chọn dịch vụ

Tại trang chủ của salon sẽ hiển thị các thông tin: tên salon, ảnh đại diện salon, trang

bìa salon, số điện thoại salon, địa chỉ salon. Ngoài ra, hiển thị tất cả các dịch vụ của
salon mà người sử dụng có thể xem và lựa chọn dịch vụ. Đồng thời, trang chủ salon sẽ
cung cấp mục bài viết của salon và mục đánh giá của người sử dụng. Mục bài viết, người
sử dụng có thể xem các bài viết của salon thông qua việc bấm vào bài viết muốn xem,
kết hợp số lượt xem của bài viết đó. Mục đánh giá của người sử dụng, hiển thị số lượng
đặt lịch, đánh giá theo thang điểm 5 sao và các đánh giá cụ thể của từng khách hàng
trước đây của salon (đánh giá theo thang điểm 5 sao, đánh giá (nếu có), phản hồi của
salon (nếu có). Khi người sử dụng chọn dịch vụ mình cần tại salon, ứng dụng sẽ hiển thị
số lượng dịch vụ hiện tại người sử dụng đã chọn. Khi đã quyết định chọn các dịch vụ
cần thiết người sử dụng sẽ được chuyển sang phần “Đặt lịch”. Ngoài ra, người sử dụng
có thể liên hệ với salon bằng cách nhắn tin tại trang chủ salon này.
-

Xử lý đặt lịch

Tại phần “Đặt lịch”, hiển thị quá trình đặt lịch từ chọn salon (tên salon, địa chỉ);
chọn dịch (tên các dịch vụ, chi phí của các dịch vụ, tổng chi phí); chọn ngày giờ (ngày,
giờ); ghi chú cho salon. Đến đây, người sử dụng cần chọn ngày và giờ đặt lịch, ghi chú
cho salon (nếu có) và chọn đặt lịch.
Nếu người sử dụng đã có một lịch hẹn trước đây chưa hồn thành, ứng dụng sẽ
không cho phép người sử dụng sang phần “Đặt lịch” mà phải thơng báo người đã có một
lịch hẹn.
Để thuận tiện cho người sử dụng ứng dụng phải hiển thị thời gian đặt lịch trong
vòng 7 ngày kế tiếp kể từ ngày đặt. Thông tin bao gồm: thứ, ngày, tháng (hôm nay, ngày
9


mai, ngày kia). Người sử dụng không thể lựa chọn các mốc thời gian trong quá khứ mà
phải chọn các mốc thời gian trong tương lai. Ứng dụng hiển thị giờ theo cài đặt của salon
đã được thiết lập trong cài đặt. Nếu mốc thời gian tại đó đã quá số lượng cho phép, người

sử dụng không thể chọn mốc thời gian đó mà phải chọn mốc thời gian khác.
Trường hợp tài khoản của người sử dụng bị tạm khóa hay khóa, hoặc tài khoản
salon bị tạm khóa hay khóa, khi chọn đặt lịch phải thông báo cho người sử dụng và
không chấp nhận đặt lịch này. Nếu salon đã đăng ký tạm dừng hoạt động mà chưa đến
thời gian tạm dừng hoạt động, ứng dụng sẽ chỉ hiển thị các thời gian hoạt động cịn lại.
-

Đặt lịch thành cơng

Khi ứng dụng xử lý thông tin thành công, ứng dụng sẽ hiển thị thông tin đặt lịch
bao gồm: tên salon, hình đại diện salon, số điện salon, địa chỉ salon, ngày giờ hẹn, tên,
giá của các dịch vụ đã đăng ký, tổng chi phí, ghi chú (nếu có). Người sử dụng không thể
quay lại mục “Đặt lịch”, khi người sử dụng muốn quay lại, ứng dụng quay lại trang chủ
e-Hair.
Nếu người sử dụng muốn xem lại thông tin đã đặt lịch có thể chọn mục “Đặt lịch”
ở trang chủ e-Hair. Tại đây, người sử dụng có thể thực hiện thao tác hủy lịch hoặc chọn
hoàn tất nếu đã qua thời gian đặt lịch hoặc salon đã xử lý đặt lịch của người sử dụng
trước thời gian đặt lịch.
e. Xử lý lịch hẹn hoàn tất
Sau khi đã qua thời gian lịch hẹn (15 phút), ứng dụng sẽ tự chuyển từ trạng thái
hủy lịch sang hoàn tất ở mục “Đặt lịch” tại trang chủ e-Hair. Hoặc salon đã hoàn thành
lịch hẹn trước thời gian đặt lịch ứng dụng cũng sẽ chuyển trạng thái lịch hẹn cho người
sử dụng và người sử dụng sẽ nhận được thông báo từ salon. Nếu lịch hẹn đã chuyển
sang trạng thái hồn tất, người sử dụng có thể đánh giá dịch vụ của salon theo thang
điểm 5 sao, kèm đánh giá (nếu có). Nếu đã hồn tất, ứng dụng hiển thị danh sách lịch
sử lịch hẹn bao gồm: tên salon, hình đại diện, thời gian hồn thành lịch hẹn, thời gian
đặt lịch hẹn, tên stylist, tên các dịch vụ đã đăng ký, hình ảnh trước, sau, trái phải (nếu
có), đánh giá của người sử dụng (thang điểm 5 sao), thời gian đánh giá, lời đánh giá (nếu
có), phản hồi của salon (nếu có).
Ngồi ra, người sử dụng có thể đánh giá lại thêm một lần nữa khi muốn và có thể

xóa ảnh nếu cần thiết. Nếu salon có phản hồi cho đánh giá của người sử dụng, người sử
10


dụng có thể báo cáo lại phản hồi của salon cho e-Hair. Ngồi ra, người sử dụng có thể
xem trang chủ salon tại đây.
f. Xem lịch sử đặt lịch
Khi đã đăng nhập tài khoản cá nhân thành công, người sử dụng xem lại lịch sử đặt
lịch của mình tại mục “Lịch sử” trang của e-Hair. Ứng dụng hiển thị thông tin hoàn tất
lịch hẹn tương tự khi người sử dụng hoàn tất lịch hẹn.
Nếu người sử dụng hoàn tất lịch hẹn trước salon, ứng dụng hiển thị thời gian
hoàn thành lịch hẹn, tên stylist là “Salon đang cập nhật”.
g. Người sử dụng hủy lịch
Khi người sử dụng đã đăng nhập thành cơng vào ứng dụng, nếu họ có nhu cầu cần
phải hủy lịch họ có thể thực hiện thơng qua mục “Đặt lịch” tại trang chủ e-Hair. Khi hủy
lịch người sử dụng phải cung cấp lý do mình hủy lịch. Đồng thời, salon sẽ nhận được
thông báo hủy lịch từ người sử dụng này.
Sau khi người sử dụng đã hủy lịch thành công, ứng dụng hiển thị danh sách hủy
lịch của người sử dụng và người sử dụng không thể quay lại mục “Đặt lịch” trước đó.
Nếu người sử dụng có nhu cầu xem lại tất cả các lịch đã bị hủy có thể chọn mục “Hủy
lịch” tại trang chủ e-Hair. Tại đây, ứng dụng hiển thị danh sách các lịch hẹn đã bị hủy
gồm: tên salon, hình đại diện salon, thời gian hủy lịch, thời gian đặt lịch, lý do hủy lịch,
tên, chi phí của từng dịch vụ và tổng cộng chi phí.
h. Cập nhật thơng tin
Khi đăng nhập tài khoản cá nhân thành cơng, người sử dụng có thể cập nhật thông
tin tại mục “Thông tin cá nhân”, ứng dụng hiển thị các thông tin tương tự như đăng ký
tài khoản nhưng có thêm ảnh đại diện và ảnh bìa để người sử dụng thay đổi.
i. Đổi mật khẩu
Khi đăng nhập tài khoản cá nhân thành công, nếu người sử dụng muốn đổi mật
khẩu có thể chọn mục “Đổi mật khẩu”, ứng dụng yêu cầu người sử dụng nhập mật khẩu

hiện tại, mật khẩu mới và nhập lại mật khẩu mới. Nếu mật khẩu hiện tại đúng và hai mật
khẩu mới trùng khớp. Đồng thời, mật khẩu mới và cũ phải khác nhau, khi đó ứng dụng
sẽ thay đổi mật khẩu cho người sử dụng. Nếu người sử dụng quên mật khẩu có thể chọn
“Quên mật khẩu” và thực hiện thao tác tương tự như quên mật khẩu trong lúc đăng nhập.
11


Nếu đã thay đổi mật khẩu thành công ứng dụng sẽ đưa người sử dụng quay trở lại màn
hình đăng nhập để thực hiện đăng nhập lại.
j. Thông báo
Khi đã đăng nhập thành công tài khoản cá nhân, kể cả tài khoản cá nhân có tài
khoản salon, nếu có thơng báo thì ứng dụng sẽ hiển thị thơng báo tại mục thông báo
trang chủ e-Hair và thanh thông báo của thiết bị. Mục thông báo sẽ hiển thị số lượng
thông báo người sử dụng chưa xem qua. Khi chọn mục thông báo ứng dụng hiển thị
danh sách thông báo theo dịng thời gian thơng báo đến. Khi người sử dụng chọn thông
báo bất kỳ trên thanh thông báo thiết bị thì sẽ được chuyển đến mục thơng báo.

Hình 4: Biểu đồ use case tác nhân khách hàng
(Nguồn: tác giả xây dựng)

12


Các loại thơng báo người sử dụng có thể nhận được: mở, khóa, tạm khóa tài khoản
cá nhân, mở, khóa, tạm khóa tài khoản salon, đặt lịch của khách hàng đến salon, hủy
lịch của khách hàng đến salon và ngược lại, hoàn thành lịch hẹn của salon đến khách
hàng và ngược lại. Đồng thời, hiển thị các thông tin liên quan đến thông báo khi muốn
biết thông tin chi tiết.
k. Nhắn tin
Khách hàng có thể nhắn tin đến salon tại trang chủ salon. Salon có thể nhắn tin đến

khách hàng tại chi tiết lịch hẹn, chi tiết lịch sử, hủy lịch hẹn.
Tài khoản cá nhân và tài khoản salon có thể liên hệ với “e-Hair (Admin)” tại mục
“Liên hệ Admin” ở trang cá nhân. Tại đây, nếu tài khoản cá nhân có thể tài khoản salon,
ứng dụng hiển thị lựa chọn tài khoản để liên hệ.
Tất cả tin nhắn của tài khoản cá nhân và salon được quản lý tại mục tin nhắn, chia
thành 2 phần: salon và cá nhân. Ứng dụng hiển thị danh sách đã liên hệ gồm: ảnh đại
diện, tên người (tên salon) nhận và tin nhắn cuối cùng của cuộc hội thoại. Khi chọn một
trong các cuộc hội thoại ứng dụng hiển thị các tin nhắn đã được gửi theo dòng thời gian
và hiển thị ảnh đại diện, tên người (tên salon) nhận, thời gian gửi tin nhắn. Nếu người
nhận hiện đang ở mục tin nhắn thì hiển thị nút xanh lá. Tuy nhiên, đối với tài khoản
quản trị sẽ không hiển thị nút xanh lá này. Khi có tin nhắn với ứng dụng sẽ hiển thị thông
báo trên thanh thông báo của thiết bị người sử dụng.
2.1.2 Salon
a. Xử lý lịch hẹn
Khi salon đã đăng nhập tài khoản cá nhân thành cơng, có thể xem các lịch hẹn tại
mục “Lịch hẹn” của salon hoặc khi khách hàng đặt lịch thành công ứng dụng sẽ thông
báo đến salon và salon có thể xem từ thơng báo đó. Mục “Lịch hẹn” hiển thị danh sách
các lịch hẹn theo ngày (thứ, ngày, tháng, hôm nay, ngày mai, ngày kia) và giờ. Khi chọn
một khách hàng ứng dụng hiển thị chi tiết đặt lịch: tên khách hàng, hình đại diện, hình
bìa, thời gian đặt lịch (ngày, giờ), số điện thoại, tên, giá và tổng chi phí các dịch vụ đã
đăng ký, kèm theo ghi chú (nếu có). Ngồi ra, ứng dụng cung cấp danh sách các stylist
của salon và kèm theo 4 vị trí để lưu trữ ảnh của khách hàng (trước, sau, trái và phải)
khi hoàn thành cắt tóc (nếu có). Nếu salon đã hồn tất việc cung cấp các dịch vụ mà
khách hàng đã đăng ký, salon có thể thực hiện hồn tất lịch hẹn vào lúc này. Ứng dụng
13


×