42
Hình 65: Cập nhật thơng tin salon (Nguồn hình ảnh: salon 30Shine) (Nguồn hình ảnh: salon 30Shine) 3.4.7 Cập nhật thông tin salon
Salon cập nhật thông tin bằng cách chọn “Chỉnh sửa” tại trang salon và thực hiện cập nhật các thông cần thiết.
3.4.8 Liên hệ e-Hair và khách hàng
Salon liên hệ với e-Hair thông qua mục “Liên hệ Admin” tương tự tài khoản khách hàng, tuy nhiên chọn liên hệ với danh nghĩa là salon. Salon có thể liên hệ trực tiếp đến khách hàng thông qua việc chạm vào ảnh đại diện của khách hàng (chi tiết lịch hẹn, chi tiết lịch sử, chi tiết hủy lịch) (hình 66).
3.4.9 Báo cáo bài viết
Tài khoản salon kể cả tài khoản cá nhân của salon chỉ có thể báo cáo bài viết của salon khác, khơng thể tự báo cáo bài viết của chính salon mình quản lý. Quá trình báo cáo bài viết tương tự như khách hàng báo cáo bài viết.
Hình 64: Quản lý bài viết (Nguồn hình ảnh: salon 30Shine) (Nguồn hình ảnh: salon 30Shine)
43
Hình 66: Salon liên hệ khách hàng và e-Hair (Nguồn: tác giả xây dựng) (Nguồn: tác giả xây dựng)
Hình 67: Xem thông báo (salon) (Nguồn: tác giả xây dựng) 3.4.10 Xem thông báo
Salon nhận được thông báo từ khách hàng về đặt lịch, hủy lịch, hồn tất đánh giá lịch hẹn và tạm khóa, khóa tài khoản salon từ e-Hair. Tồn bộ thơng báo của salon và tài khoản cá nhân của salon sẽ cùng tổ chức chung ở mục thông báo trang chủ e-Hair. Khi mở thông báo ở thanh thông báo, e-Hair sẽ hiển thị danh sách các thông báo. Xem chi tiết thông báo bằng cách chạm vào thơng báo đó. Ngồi ra, tin nhắn đến cũng sẽ hiển thị ở thanh thông báo để dẫn đến cuộc hội thoại.
3.5 Chức năng của tác nhân quản trị viên
Đối với các quản trị viên và Special_Admin được phân quyền, các chức năng của quản trị được quản trị tại mục “Admin” trang cá nhân của quản trị viên (hình 68).
44 Hình 69: Hình 68: Quản trị e-Hair
(Nguồn: tác giả xây dựng)
Hình 68 Hình 69: Xem danh sách tài khoản cá nhân
(Nguồn: tác giả xây dựng)
Hình 70: Tìm kiếm người sử dụng (Nguồn: tác giả xây dựng) (Nguồn: tác giả xây dựng) 3.5.1 Xem danh sách tài khoản cá nhân
Quản trị viên xem danh sách tài khoản cá nhân tại mục “Cá nhân” của trang quản trị viên. Tại đây, quản trị viên có thể tìm kiếm người sử dụng theo tên hoặc số điện thoại.
3.5.2 Mở, khóa, tạm khóa tài khoản cá nhân
Quản trị viên mở, khóa, tạm khóa tài khoản tại danh sách tài khoản cá nhân bằng cách chọn tài khoản và thực hiện khóa, tạm khóa hoặc mở khóa, mở tạm khóa, người sử dụng sẽ nhận được thông báo và e-Hair sẽ ghi nhận ký về việc này. Ngồi ra, quản trị viên cịn có thể xem các thơng tin cơ bản của người sử dụng tại đây, bao gồm tài khoản salon liên kết với tài khoản cá nhân này. Đồng thời, quản trị có thể liên hệ với người sử dụng cá nhân hoặc salon bằng các chạm vào ảnh đại diện.
45
Hình 71: Mở, khóa và tạm khóa tài khoản cá nhân (Nguồn: tác giả xây dựng) (Nguồn: tác giả xây dựng)
Hình 72: Xem và tìm kiếm tài khoản salon (Nguồn: tác giả xây dựng) (Nguồn: tác giả xây dựng)
3.5.3 Xem danh sách tài khoản salon
Quản trị viên xem danh sách tài khoản salon tại mục “Salon” của trang quản trị viên. Tại đây, quản trị viên có thể tìm kiếm salon theo tên salon hoặc số điện thoại của salon. Tương tự như xem danh sách tài khoản cá nhân đối với các tài khoản bị tạm khóa sẽ hiển thị màu trắng, màu xanh đen tương ứng với tài khoản bị khóa. Các tài khoản bị khóa và tạm khóa nói chung sẽ bị hạn chế chức năng (phụ lục 3).
46
Hình 73: Mở, tạm khóa, khóa tài khoản salon (Nguồn: tác giả xây dựng) (Nguồn: tác giả xây dựng)
3.5.4 Mở, khóa, tạm khóa tài khoản salon
Quản trị viên mở, khóa, tạm khóa tài khoản salon tại danh sách tài khoản salon bằng cách chọn tài khoản salon và thực hiện khóa, tạm khóa hoặc mở khóa, mở tạm khóa, salon sẽ nhận được thơng báo và e-Hair sẽ ghi nhận ký về việc này. Ngoài ra, quản trị viên cịn có thể xem các thơng tin cơ bản của salon và tài khoản cá nhân chủ quản. Quản trị viên liên hệ với salon hoặc chủ quản salon bằng các chạm vào ảnh đại diện. Khi đã bị tạm khóa hoặc khóa, salon khơng thể nhận thêm bất kỳ lịch hẹn nào cho đến hết thời hạn khóa (phụ lục 3).
3.5.5 Xem và xử lý báo cáo
Quản trị viên xem các báo cáo từ tài khoản cá nhân hoặc tài khoản salon tại mục “Báo cáo” của trang quản trị viên (hình 74). Quản trị viên có thể bỏ qua báo cáo để hồn tất nếu báo cáo đó khơng vi phạm chính. Ngược lại, quản trị viên có thể xóa bài viết đối với báo cáo bài viết, xóa ảnh, xóa lời đánh giá của khách hàng trong báo cáo, xóa phản hồi của salon đối với báo cáo lịch sử lịch hẹn (phụ lục 3). Tất cả các hành động đối với báo cáo đều được nhật ký e-Hair ghi nhận.
3.5.6 Xem chính sách e-Hair
Quản trị viên có thể xem chính sách e-Hair tại biểu tượng thơng tin tại trang quản trị viên. Nội dung và chức năng tương tự như một tài khoản cá nhân xem chính sách của e-Hair.
47
Hình 74: Xem và xử lý báo cáo
(Nguồn hình ảnh: salon 30Shine và Quân BarberShop2)
Hình 75: Xem nhật ký (Nguồn: tác giả xây dựng) (Nguồn: tác giả xây dựng) 3.5.7 Xem nhật ký
Quản trị viên xem nhật ký tại mục “Nhật ký” của trang quản trị viên. Tại đây, bao gồm tất cả các hành động của quản trị viên và Special_Admin. Các nhật ký được phân theo đặc điểm và hành động của quản trị viên. Nhật ký hiển thị màu xanh dương nhạt thể hiện nhật ký chưa xem qua. Ngồi ra, quản trị viên có thể tìm kiếm nhật ký theo từ khóa.
48
77: Hình 76: Liên hệ cá nhân và salon
(Nguồn: tác giả xây dựng)
Hình 76: Hình 77: Quản trị admin
(Nguồn: tác giả xây dựng) 3.5.8 Liên hệ salon và cá nhân
Quản trị viên liên hệ với salon và cá nhân thông qua chạm vào ảnh đại diện của họ tại mục người sử dụng, salon, báo cáo. Tất cả cuộc hội thoại sẽ được quản lý tại mục “Nhắn tin” của trang quản trị viên.
3.5.9 Quản trị Admin
Quản trị viên được tài khoản Special_Admin phân quyền. Chức năng này chỉ dành riêng cho Special_Admin và được quản lý tại mục Quản trị Admin. Tất cả quản trị viên cịn lại khơng thể sử dụng chức năng này.
49
Hình 78: Quản lý chính sách e-Hair (Nguồn: tác giả xây dựng) (Nguồn: tác giả xây dựng) 3.5.10 Thêm, sửa và xóa chính sách e-Hair
Quản trị viên Special_Admin có quyền thêm, sửa và xóa chính sách e-Hair tại biểu tượng thơng tin . Ngồi ra, Special_Admin có thể thay đổi tên, ảnh đại diện hiển thị khi liên lạc với salon hoặc cá nhân. Đồng thời, quản trị viên và Special_Admin có thể thay đổi ảnh bìa của e-Hair. Nếu quản trị viên sử dụng các chức năng không thuộc quyền của quản trị viên mà là chức năng đặc biệt của Special_Admin, e-Hair sẽ thông báo vấn đề này (phụ lục 3).
4. Kiểm thử chất lượng phần mềm 4.1 Kiểm tra chức năng 4.1 Kiểm tra chức năng
Thực hiện kiểm tra từng chức năng bằng cách viết test case và tiến hành kiểm thử thành phần các chức năng riêng lẻ (bảng 2). Khi số lượng chức năng hơn ½, thực hiện kiểm thử tích hợp đảm bảo sự tương tác giữa các giao diện với nhau. Đồng thời, khi test hệ thống thực hiện test yêu cầu nghiệp vụ (nguyên tắc phần mềm).
4.2 Kiểm tra phi chức năng
Thực hiện kiểm tra thông báo khi đã đạt giới hạn gửi 10.000 mã OTP thực hiện đăng ký tài khoản mới hoặc quên mật khẩu (hình 79). Thực hiện chạy thử nghiệm trên điện thoại hệ điều hành Android 5.0 trở lên.
50
e-Hair Trạng thái kiểm tra: Hoàn thành Test case: Đăng nhập
Lịch sử
Ngày Công việc Người thực hiện
10/12/2021 Viết test case Đào Phương Lâm
11/12/2021 Test Đào Phương Lâm
Tiền điều kiện Có tài khoản e-Hair, chưa đăng nhập.
Tổng test case Đạt Thất bại
Lần 1 11 9 2
Lần 2 11 9 2
Lần 3 11 11 0
STT Mô tả Đầu vào mong đợi Kết quả 1 Kết quả lần 2 3
1 Nhập số điện thoại. - Nhập đủ 10 vào ô số điện thoại. - Đúng kiểu đầu vào
- Chuyển con trỏ sang nhập mật khẩu. Đạt Đạt Đạt
2 Nhập mật khẩu. - Nhập đủ 6 số mật khẩu. - Mật khẩu khơng chính xác. - Ẩn mật khẩu, thực hiện đăng nhập. - Thông báo mật khẩu sai. Đạt Đạt Đạt
3 Tài khoản không tồn tại. - Nhập số điện thoại không tồn tại. - Thông báo tài khoản không tồn tại Đạt Đạt Đạt
51
5 Thời gian chờ. - Tiếp tục nhập sai mật khẩu. - Hiển thị thời gian chờ lần hai (2p), đăng nhập khi hết thời gian. Đạt Đạt Đạt
6 Thời gian chờ. - Tiếp tục kiểm tra thêm 3 lần sai mật khẩu. - Hiển thị thời gian chờ theo số lần nhập sai, đăng nhập khi hết thời gian. Đạt Đạt Đạt
7 Đăng nhập thành công. - Nhập đúng số điện thoại và mật khẩu. - Hiển thị trang chủ e-Hair Đạt Đạt Đạt
8 Phục hồi thời gian chờ.
- Đăng xuất.
- Nhập số điện cũ và sai mật khẩu lần đầu.
- Thông báo sai mật khẩu.
- Không hiển thị thời gian chờ - Xử lý đăng nhập khi đổi mật khẩu
Thất
bại Thất bại Đạt
9 Phục hồi thời gian chờ. - Nhập số điện thoại cũ và sai mật khẩu 4 lần. - Hiển thị thời gian chờ lần đầu (60s), đăng nhập khi hết thời gian. Thất bại Thất bại Đạt
10 Đảm bào thời gian chờ
- Đóng ứng dụng.
- Nhập số điện thoại cũ và sai mật khẩu.
- Hiển thị thời gian chờ thứ hai (2p),
đăng nhập khi hết thời gian. Đạt Đạt Đạt
11 Đảm bảo thời gian chờ
- Gỡ ứng dụng và cài ứng dụng. - Nhập số điện thoại cũ và sai mật khẩu.
- Hiển thị thời gian chờ lần ba (3p),
đăng nhập khi hết thời gian. Đạt Đạt Đạt
Bảng 2: Test case (Nguồn: tác giả xây dựng) (Nguồn: tác giả xây dựng)
52
Hình 79: Kiểm tra phi chức năng (Nguồn: tác giả xây dựng) (Nguồn: tác giả xây dựng)
Hình 80: Đóng gói và cài đặt phần mềm
(Nguồn:màn hình Android Studio và màn hình điện thoại) 5. Triển khai
Thực hiện đóng gói phần mềm e-Hair bằng Android Studio bằng cách tạo file keystore (.jks) và nhúng vào file apk. Cuối cùng, chuyển file apk từ debug sang release. Ngồi ra, để phần mềm có thể đến với người sử dụng phần mềm phải được đăng trên kho ứng dụng Google Play. Tuy nhiên, do vấn đề kinh phí đồ án sẽ chỉ thực hiện đến bước đóng gói hồn thiện sản phẩm và có thể thực hiện cài đặt trên điện thoại bằng cách tải file apk do tác giả thực hiện upload. Người sử dụng có thể tải phần mềm tại đây.
53
6. Bảo trì
Bảo trì phần mềm là việc sửa đổi một phần mềm sau khi đã bàn giao để chỉnh lại các lỗi phát sinh, cải thiện hiệu năng của phần mềm hoặc các thuộc tính khác, hoặc làm cho phần mềm thích ứng trong một mơi trường đã bị thay đổi (IEEE, 1993).
Nếu trong quá trình sử dụng phần mềm phát sinh lỗi không nằm trong các lỗi mà nhà phát triển đã kiểm thử hoặc e-Hair muốn nâng cấp, bổ sung tính năng hay thuật tốn khơng cịn hỗ trợ ở các phiên bản Android mới hơn thì việc trì sẽ được thực hiện để đảm bảo phần mềm hoạt động ổn định.
54 KẾT LUẬN
Sau thời gian thực hiện, đồ án đã đạt được một số kết quả như xây dựng, đóng gói thành cơng ứng dụng “e-Hair” – Đặt lịch hẹn cắt tóc với 3 chức năng chính: đặt lịch, hủy lịch, xem lịch hẹn kèm theo các tính năng bổ sung như: nhắn tin, quản trị người sử dụng, xây dựng salon,... Ngoài ra, ứng dụng đã hoạt động ổn định trên thiết bị điện thoại Android, cụ thể là thiết bị Huawei Nova 2i và LG. Đồng thời, đã đạt được mục tiêu đồ án đề ra, biết được một cách tổng quan về Android và kỹ thuật lập trình Android bằng ngôn ngữ Java với sự hỗ trợ của Android Studio và sử dụng các dịch vụ của Firebase để phục vụ việc phát triển phần mềm.
Tuy đồ án đã đạt được những mục tiêu đã đề ra nhưng đồ án vẫn còn một số hạn chế về mặt hồn thiện một ứng dụng đó là đưa ứng dụng vào kho ứng dụng Google Play. Về khía cạnh tính năng, e-Hair cịn nhiều mặt cần phải phát triển để đảm bảo được yêu cầu ngày càng khắt khe của người sử dụng. Trong thời gian tới, e-Hair cần hồn thiện tính năng tin nhắn với việc có thể gửi đa phương tiện và gọi điện thông qua ứng dụng. Bên cạnh đó, cần xây dựng bổ sung tính năng thanh tốn thơng qua Momo, thẻ ngân hàng,... Để hỗ trợ tốt hơn cho người sử dụng khi số lượng người sử dụng tăng theo thời gian, e-Hair không thể sử dụng công cụ nhắn tin thủ công để hỗ trợ người sử dụng mà cần phải sử dụng đến công cụ nhắn tin tự động để giải quyết vấn đề này. Phát triển tính năng đăng ký bằng Facebook, Google thay vì chỉ sử dụng số điện thoại. Để ứng dụng có thể đến được với nhiều người sử dụng không thể không kể đến các hoạt động quảng bá hình ảnh kết hợp với các chính sách linh hoạt của e-Hair. Cuối cùng, đồ án đã thực hiện một video demo ứng dụng e-Hair tại https://youtu.be/orS94K1IN9E.
55
TÀI LIỆU THAM KHẢO Dixit, P. K. (2014). Android (1 ed.). India: House PVT LTD.
Firebase. (2021). Authenticate with Firebase on Android using a Phone Number .
Retrieved 12 11, 2021, from
https://firebase.google.com/docs/auth/android/phone-auth?hl=en
Google. (2021). Download Android Studio. Retrieved 12 2021, from
https://developer.android.com/studio?gclid=CjwKCAiA78aNBhAlEiwA7B76p 2q2LG86exDrkpezNzFRHNxOYrLTo8G4q2pKHInjy-
06TbkK4qqBahoCGGkQAvD_BwE&gclsrc=aw.ds
Hiệu, D. (2021, 10 01). Người dân TP.HCM xếp hàng chờ cắt tóc. Retrieved from
Zingnews: https://zingnews.vn/nguoi-dan-tphcm-xep-hang-cho-cat-toc- post1267730.html
IEEE. (1993). IEEE 830-1993 - IEEE Recommended Practice for Software Requirements Specifications. Hoa Kỳ: Institute of Electrical and Electronics
Engineers.
Kaleel, S. B., & HariShankar, S. (2013). Applying Agile Methodology in Mobile Software. Canada.
Khawas, C., & Shah, P. (2018). Application of Firebase in Android App Development. India.
Muthuswamy, S., Ganapathi, P., & S.Sathyanarayanan. (2013). A survey on Mobile Application Development.
Phượng, T. T. (2014). Giáo trình Lập trình Android. Hồ Chí Minh: Nhà xuất bản Đại học Quốc gia Thành phố Hồ Chí Minh.
Thảo, T. (2021, 09 21). Người Hà Nội đổ xơ đi cắt tóc. Retrieved from Zingnews:
https://zingnews.vn/nguoi-ha-noi-do-xo-di-cat-toc-post1264970.html Trang, T. H. (2013). Giáo trình Android. Hà Nội: Trang Hồ.
56 PHỤ LỤC 1
CẤU TRÚC CÁC DỮ LIỆU TRONG CƠ SỞ DỮ LIỆU THỜI GIAN THỰC
Phụ lục 1. 1: Cấu trúc các dữ liệu trong cơ sở dữ liệu (Nguồn: tác giả xây dựng)
57
Phụ lục 1. 2: Cấu trúc các dữ liệu trong cơ sở dữ liệu (Nguồn: tác giả xây dựng)
58 PHỤ LỤC 2
MỘT SỐ CẤU TRÚC DỮ LIỆU GỐC TRONG CƠ SỞ DỮ LIỆU THỜI GIAN THỰC
Phụ lục 2. 1 . Một số cấu trúc dữ liệu gốc trong cơ sở dữ liệu thời gian thực (Nguồn: tác giả xây dựng)
59
Hình phụ lục 3. 1: Chỉnh sửa đánh giá (Nguồn: tác giả xây dựng)
Hình phụ lục 3. 2: Xóa ảnh trong lích sử lịch hẹn Hình phụ lục 3. 3: Báo cáo phản hồi (Nguồn: tác giả xây dựng)
PHỤ LỤC 3
60
Hình phụ lục 3. 4 Báo cáo bài viết (Nguồn hình ảnh: salon 30Shine)
Hình phụ lục 3. 5: Khai báo địa chỉ (Nguồn: tác giả xây dựng)
61
Hình phụ lục 3. 6: Đăng nhập (Nguồn: tác giả xây dựng)
Hình phụ lục 3. 7: Salon cập nhật lịch sử lịch hẹn (Nguồn: tác giả xây dựng)
62
Hình phụ lục 3. 8: Salon phản hồi, báo cáo đánh giá khách hàng (Nguồn: tác giả xây dựng)
Hình phụ lục 3. 9: Thêm và chỉnh sửa thể loại dịch vụ (Nguồn: tác giả xây dựng)
63
Hình phụ lục 3. 10: Xóa thể loại dịch vụ (Nguồn hình ảnh và dịch vụ: salon 30Shine)
Hình phụ lục 3. 11: Hồn tất xóa thể loại dịch vụ
(Nguồn hình ảnh và dịch vụ: salon 30Shine)
Hình phụ lục 3. 12: Thiết lập cài đặt salon (Nguồn: tác giả xây dựng)
64
Hình phụ lục 3. 13: Thiết lập cài đặt và quản lý stylist (Nguồn: tác giả xây dựng)
Hình phụ lục 3. 14: Thiết lập tạm dừng và hoạt động trở lại (Nguồn: tác giả xây dựng)
65
Hình phụ lục 3. 15: Xử lý báo cáo lịch sử lịch hẹn (Nguồn hình ảnh: Tiktok @huyleodaik)
Hình phụ lục 3. 16: Xử lý báo cáo bài viết và báo cáo vi phạm