CHƯƠNG 3. MÔ HÌNH HÓA YÊU CẦU
3.1.1. Đăng nhập bằng email và mật khẩu
3.1.2. Đăng nhập bằng tài khoản Google
Name Đăng nhập bằng email và mật khẩu Brief
description Người dùng đăng nhập vào ứng dụng bàng email và mật khẩu Actor(s) Người dùng
Pre-
conditions Người dùng đã có tài khoản trong hệ thống Post-
conditions
Nếu đăng nhập thành công người dùng được thực hiện các chức năng theo phân quyền
Flow of events
Basic flow 1. Người dùng nhập Email và Mật khẩu
2. Hệ thống kiểm tra định dạng Email và Mật khẩu 3. Hệ thống xác thực Email và Mật khẩu của người dùng 4.
4. Hệ thống xác định roles và thông tin của người dùng 5. Người dùng đăng nhập thành công vào hệ thống Alternative
flow
2.1. Hệ thống thông báo sai định dạng Email hoặc định dạng Mật khẩu không đúng
2.2. Quay trở lại bước 1 của luồng hoạt động
3.1. Hệ thống thông báo đăng nhập thất bại vì đăng nhập sai thông tin
3.2. Quay trở lại bước 1 của luồng hoạt động
Exception flow Thoát ‘Đăng nhập’
Người dùng thoát khỏi giao diện ‘Đăng nhập’
Quay lại bước 1 của luồng hoạt động Extension
point Không có
Name Đăng nhập bằng Google
44 3.1.3. Đăng nhập bằng tài khoản Facebook
Brief
description Người dùng đăng nhập vào ứng dụng bằng tài khoản Google Actor(s) Người dùng, Google
Pre-
conditions Post- conditions
Nếu đăng nhập thành công người dùng được thực hiện các chức năng theo phân quyền
Flow of events
Basic flow 1. Người dùng nhấn vào Icon Google ở Dialog đăng nhập
2. Người dùng chọn tài khoản Google muốn sử dụng để đăng nhập 3. Hệ thống nhận access token trong response từ Google và gửi lên server
4. Hệ thống nhận token từ server và nhận thông tin của người dùng 5. Người dùng đăng nhập thành công vào hệ thống
Alternative flow
Exception flow 2.1. Người dùng quay lại và không chọn tài khoản Google 2.2. Quay lại bước 1 của luồng hoạt động
Extension
point Không có
Name Đăng nhập bằng Facebook Brief
description Người dùng đăng nhập vào ứng dụng bằng tài khoản Facebook Actor(s) Người dùng, Facebook
Pre-
conditions Post- conditions
Nếu đăng nhập thành công người dùng được thực hiện các chức năng theo phân quyền
45 3.1.4. Đăng ký
Flow of events
Basic flow 1. Người dùng nhấn vào Icon Facebook ở Dialog đăng nhập
2. Người dùng chọn tài khoản Facebook muốn sử dụng để đăng nhập 3. Hệ thống nhận access token trong response từ Facebook và gửi lên server
4. Hệ thống nhận token từ server và nhận thông tin của người dùng 5. Người dùng đăng nhập thành công vào hệ thống
Alternative flow
Exception flow 2.1. Quay lại và không chọn tài khoản Facebook 2.2. Quay lại bước 1 của luồng hoạt động
Extension
point Không có
46 Name Đăng ký
Brief
description
UseCase này cho phép người dùng đăng ký tài khoản bằng email và mật khẩu
Actor(s) Người dùng Pre-
conditions
+ Không có tài khoản nào đang đăng nhập ở thiết bị của người dùng + Email đăng ký chưa tồn tại trong hệ thống
Post- conditions
+ Nếu đăng ký thành công, hệ thống tạo tài khoản mới và người dùng được chuyển về trang đăng nhập
+ Nếu đăng ký thất bại, hệ thống hiện thông báo và yêu cầu người dùng thực hiện lại thao tác đăng nhập
Flow of events
Basic flow 1. Người dùng nhập email, mật khẩu và xác nhận mật khẩu 2. Hệ thống kiểm tra format của email và mật khẩu
3. Hệ thống kiểm tra sự trùng khớp giữa mật khẩu và mật khẩu xác nhận
4. Hệ thống gửi email, mật khẩu, mật khẩu xác nhận lên server và chuyển đến màn hình nhập OTP được gửi qua email
5. Người dùng nhập OTP được gửi qua email 6. Hệ thống gửi OTP lên server
7. Hệ thống tạo tài khoản cho người dùng
8. Hệ thống chuyển hướng người dùng đến trang đăng nhập Alternative
flow
2.1. Hệ thống thông báo lỗi vì email hoặc mật khẩu không hợp lệ 2.2. Quay lại bước 1 của luồng hoạt động
3.1. Hệ thống thông báo lỗi vì mật khẩu và xác nhận mật khẩu không trùng khớp
3.2. Quay lại bước 1 của luồng hoạt động
4.1. Hệ thống thông báo lỗi vì Email đã tồn tại trong hệ thống 4.2. Quay lại bước 1 của luồng hoạt động
6.1. Hệ thống thông báo lỗi khi người dùng nhập sai OTP 6.2. Quay lại bước 5 của luồng hoạt động
47 3.1.5. Thêm số điện thoại vào tài khoản
Exception flow Thoát ‘Đăng ký’
Người dùng thoát khỏi màn hình đăng ký Quay lại bước 1 của luồng hoạt động Extension
point
Không có
48 3.1.6. Xóa số điện thoại khỏi tài khoản
Name Thêm số điện thoại vào tài khoản Brief
description
Người dùng thêm số điện thoại vào tài khoản
Actor(s) Người dùng Pre-
conditions
Người dùng đã đăng nhập thành công
Post- conditions
Thêm số điện thoại vào ứng dụng thành công
Flow of events
Basic flow 1. Người dùng nhấn vào icon “Menu” ở thanh Appbar ở màn hình chính
2. Người dùng nhấn vào avatar ở thanh sidebar 3. Hệ thống điều hướng đến màn hình “Profile”
4. Người dùng nhấn vào button “Add” ở field Number Phone 5. Hệ thống điều hướng đến màn hình nhập số điện thoại
6. Người dùng chọn quốc gia và nhập số điện thoại và xác nhận 7. Hệ thống điều hướng đến màn hình nhập mã OTP
8. Người dùng nhập mã OTP được gửi qua số điện thoại vừa nhập 9. Hệ thống xác thực mã OTP và đăng kí số điện thoại vào tài khoản Alternative
flow
6.1. Hệ thống hiển thị lỗi nếu số điện thoại không hợp lệ 6.2. Quay lại bước 6 của luồng hoạt động
9.1. Hệ thống hiển thị thông báo lỗi nếu mã OTP không đúng 9.2. Quay lại bước 8 của luồng hoạt động
Exception flow Extension
point
Không có
49 3.1.7. Đăng xuất
Name Đăng xuất
Brief
description
UseCase này cho phép người dùng đăng xuất tài khoản khỏi thiết bị
Actor(s) Người dùng
Name Xóa số điện thoại khoỉ tài khoản Brief
description
Người dùng xóa số điện thoại khỏi tài khoản
Actor(s) Người dùng Pre-
conditions
Người dùng đã đăng nhập thành công
Người dùng đã thêm số điện thoại thành công Post-
conditions
Xóa số điện thoại khỏi tài khoản thành công
Flow of events
Basic flow 1. Người dùng nhấn vào icon “Menu” ở thanh Appbar ở màn hình chính
2. Người dùng nhấn vào avatar ở thanh sidebar 3. Hệ thống điều hướng đến màn hình “Profile”
4. Người dùng nhấn vào button “Delete” ở field Number Phone 7. Hệ thống điều hướng đến màn hình nhập mã OTP
8. Người dùng nhập mã OTP được gửi qua số điện thoại vừa nhập 9. Hệ thống xác thực mã OTP và đăng kí số điện thoại vào tài khoản Alternative
flow
6.1. Hệ thống hiển thị lỗi nếu số điện thoại không hợp lệ 6.2. Quay lại bước 6 của luồng hoạt động
9.1. Hệ thống hiển thị thông báo lỗi nếu mã OTP không đúng 9.2. Quay lại bước 8 của luồng hoạt động
Exception flow Extension
point
Không có
50 Pre-
conditions
Người dùng đã đăng nhập tài khoản vào hệ thống
Post- conditions
Người dùng đăng xuất khỏi ứng dụng
Flow of events
Basic flow Người dùng chọn nút đăng xuất
Tài khoản được đăng xuất khỏi hệ thống và thiết bị Alternative
flow
Không có
Exception flow Không có Extension
point
Không có
3.1.8. Đổi mật khẩu Name Đổi mật khẩu Brief
description
UseCase này cho phép người dùng đổi mật khẩu của tài khoản
Actor(s) Người dùng Pre-
conditions Post- conditions
Người dùng đổi mật khẩu thành công
Flow of events
Basic flow 1. Người dùng nhập email của tài khoản cần đồi mật khẩu 2. Hệ thống chuyển hướng đến màn hình nhập OTP 3. Người dùng nhập mã OTP được gửi qua email 4. Hệ thống chuyển hướng đến màn hình đổi mật khẩu
5. Người dùng nhập mật khẩu mới và xác nhận mật khẩu mới 6. Hệ thống đổi mật khẩu thành công
51 Alternative
flow
1.1. Hệ thống thông báo lỗi nếu email người dùng nhập không có trong hệ thống
1.2. Quay lại bước 1 của luồng hoạt động
3.1. Hệ thống thông báo nếu người dùng nhập sai mã OTP 3.2. Quay lại bước 3 của luồng hoạt động
5.1. Hệ thống thông báo nếu mật khẩu mới và xác nhận mật khẩu mới không trùng khớp
5.1.2. Quay lại bước 5 của luồng hoạt động Exception
flow
Thoát ‘Đổi mật khẩu’
1. Người dùng thoát khỏi màn hình đổi mật khẩu 2. Quay lại bước 1 của luồng hoạt động
Extension point
Không có
3.1.9. Đổi thông tin cá nhân
Name Đổi thông tin cá nhân
Brief description
UseCase này cho phép người dùng đổi thông tin cá nhân
Actor(s) Người dùng Pre-
conditions
Người dùng đã đăng nhập tài khoản vào hệ thống
Post- conditions Flow of events
Basic flow 1. Hiển thị màn hình đổi thông tin cá nhân
2. Người dùng nhập First Name, Last Name, chọn Ngày sinh và Giới tính
3. Hệ thống cập nhật thông tin cá nhân mới cho tài khoản Alternative
flow
52 Exception
flow
2.1. Thoát dialog “Edit Information”
2.2. Quay lại bước 1 của luồng hoạt động Extension
point
Không có
3.1.10. Theo dõi truyện tranh Name Theo dõi truyện tranh Brief
description
UseCase này cho phép người dùng theo dõi một bộ truyện
Actor(s) Người dùng
Pre-conditions Người dùng đã đăng nhập tài khoản vào hệ thống
Post-conditions Người dùng theo dõi truyện thành công và thêm bộ truyện vừa theo dõi vào thư viện
Flow of events
Basic flow 1. Người dùng chọn vào bộ truyện 2. Hiển thị màn hình chi tiết truyện
3. Hệ thống kiểm tra người dùng đã theo dõi bộ truyện hay chưa 4. Người dùng nhập nhấn vào button “Follow”
5. Hệ thống thêm bộ truyện vào danh sách các bộ truyện đã theo dõi Alternative flow 3.1. Hệ thống hiển thị button “Following” thay vì button “Follow” khi
người dùng đã theo dõi bộ truyện
3.2. Quay lại bước 2 của luồng hoạt động
4.1. Hiển thị dialog “Sign In” khi người dùng chưa đăng nhập vào hệ thống
4.2. Quay lại bước 4 của luồng hoạt dộng Exception flow 1. Thoát màn hình “Chi tiết truyện”
2. Quay lại bước 1 của luồng hoạt động Extension point Không có
3.1.11. Tìm kiếm truyện tranh Name Tìm kiếm truyện tranh Brief
description
UseCase này cho phép người dùng tìm kiếm bộ truyện
Actor(s) Người dùng
53 Pre-conditions
Post-conditions Hiển thị tất cả bộ truyện có tên chứa dữ liệu người dùng nhập vào Flow of events
Basic flow 1. Người dùng chọn vào icon “Search” ở bên phải thanh Appbar ở màn hình “Home”
2. Chuyển đến màn hình tìm kiếm truyện tranh 3. Người dùng nhập tên truyện cần tìm kiếm
4. Hệ thống tìm kiếm trong cơ sở dữ liệu và hiển thị những bộ truyện phù hợp với dữ liệu người dùng vừa nhập
Alternative flow 4.1. Hiển thị “No result found” khi hệ thống không tìm thấy bộ truyện nào có tên chứa dữ liệu người dùng nhập vào
4.2. Quay lại bước 3 của luồng hoạt động Exception flow Thoát màn hình “Search Comic”
1. Người dùng thoát khỏi màn hình “Search Comic”
2. Quay lại bước 1 của luồng hoạt động Extension point Không có
3.1.12. Chuyển sang chương tiếp theo Name Chuyển sang chương tiếp theo Brief
description
UseCase này cho phép người dùng chuyển sang chương tiếp theo khi đọc truyện
Actor(s) Người dùng Pre-conditions
Post-conditions Chuyển sang chương tiếp theo Flow of events
Basic flow 1. Người dùng nhấn button “→” để chuyển đến chương tiếp theo 2. Hệ thống chuyển đến màn hình đọc truyện chương tiếp theo
Alternative flow 2.1.1. Hệ thống sẽ hiển thị Dialog thông báo “This is the lastest chapter”
khi không còn chương tiếp theo 2.1.2. Quay lại bước 1
2.2.1. Hệ thống hiển thị dialog Sign In khi người dùng chưa đăng nhập và muốn đọc chap bị khóa
2.2.1. Quay lại bước 1
54 Exception flow Thoát màn hình “Read Comic”
1. Người dùng thoát khỏi màn hình “Comic”
2. Quay lại bước 1 của luồng hoạt động Extension point Không có
3.1.13. Chuyển sang chương trước Name Chuyển sang chương trước Brief
description
UseCase này cho phép người dùng chuyển sang chương khi đọc truyện
Actor(s) Người dùng Pre-conditions
Post-conditions Chuyển sang chương trước Flow of events
Basic flow 1. Người dùng nhấn button “” để chuyển đến chương tiếp theo 2. Hệ thống chuyển đến màn hình đọc truyện chương tiếp theo
Alternative flow 2.1. Hệ thống sẽ hiển thị Dialog thông báo “No previous chapter available” khi không còn chương tiếp theo
2.2. Quay lại bước 1
Exception flow Thoát màn hình “Read Comic”
1. Người dùng thoát khỏi màn hình “Comic”
2. Quay lại bước 1 của luồng hoạt động Extension point Không có
3.1.14. Xem những truyện đang theo dõi Name Xem những truyện đang theo dõi Brief
description
UseCase này cho phép người dùng xem những bộ truyện đang theo dõi
Actor(s) Người dùng
Pre-conditions Người dùng đã đăng nhập hệ thống
Post-conditions Hệ thống cung cấp tất cả các bộ truyện người dùng đang theo dõi Flow of events
Basic flow 1. Người dùng nhấn vào Icon “Library” ở trang thanh Appbar ở màn hình chính
2. Người dùng nhấn vào tab “Following”
55 3. Hệ thống hiển thị tất cả những bộ truyện người dùng đã theo dõi Alternative flow 1.1. Hiển thị dialog Sign In nếu người dùng chưa đăng nhập
1.2. Quay lại bước 1 Exception flow
Extension point Không có
3.1.15. Nạp coin bằng PayPal Name Nạp coin bằng PayPal Brief
description
Người dùng nạp coin vào ứng dụng bằng PayPal
Actor(s) Người dùng, Paypal
Pre-conditions Người dùng đã đăng nhập ứng dụng Có tài khoản Paypal SandBox
Post-conditions Nạp tiền thành công vào ứng dụng và đổi thành coin tương ứng Flow of events
Basic flow 1. Người dùng nhấn vào icon “Payment” trên thanh Appbar ở màn hình chính
2. Hệ thống chuyển hướng đến màn hình “Payment” và hiển thị tất cá mức nạp
3. Người dùng chọn mức muốn nạp
4. Hệ thống hiển thị phương pháp thanh toán 5. Người dùng chọn Icon PayPal
6. Hệ thống điều hướng đến màn hình đăng nhập PayPal 7. Người dùng đăng nhập PayPal bằng tài khoản SandBox 8. Hệ thống chuyển hướng đến màn hình thanh toán bằng PayPal 9. Người dùng xác nhận thanh toán
10. Hệ thống xác nhận thanh toán và chuyển mức tiền thanh toán thành coin
Alternative flow 9.1. Người dùng hủy thanh toán
9.2. Hệ thống hủy thanh toán và quay lại bước 4 của luồng hoạt động Exception flow Có lỗi khi thanh toán bằng PayPal
Hệ thống hiển thị lỗi Extension point Không có
3.1.16. Nạp coin bằng ZaloPay
56 Name Nạp coin bằng ZaloPay
Brief description
Người dùng nạp coin vào ứng dụng bằng ZaloPay
Actor(s) Người dùng, ZaloPay
Pre-conditions Người dùng đã đăng nhập ứng dụng
Đã đăng nhập ứng dụng ZaloPay SandBox thành công
Post-conditions Nạp tiền thành công vào ứng dụng và đổi thành coin tương ứng Flow of events
Basic flow 1. Người dùng nhấn vào icon “Payment” trên thanh Appbar ở màn hình chính
2. Hệ thống chuyển hướng đến màn hình “Payment” và hiển thị tất cá mức nạp
3. Người dùng chọn mức muốn nạp
4. Hệ thống hiển thị phương pháp thanh toán 5. Người dùng chọn Icon ZaloPay
6. Hệ thống điều hướng đến ứng dụng ZaloPay 7. Người dùng xác nhận thanh toán
8. Hệ thống xác nhận thanh toán và chuyển mức tiền thanh toán thành coin
Alternative flow 7.1. Người dùng hủy thanh toán
7.2. Hệ thống hủy thanh toán và quay lại bước 4 của luồng hoạt động Exception flow Có lỗi khi thanh toán ZaloPay
Hệ thống hiển thị thông báo lỗi Extension point Không có
3.1.17. Xem lịch sử nạp của tài khản Name Lịch sử nạp tiền
Brief description
Xem lịch sử nạp tiền của tài khoản
Actor(s) Người dùng
Pre-conditions Người dùng đã đăng nhập ứng dụng Người dùng đã nạp tiền
Post-conditions Xem tất cả lịch sử nạp tiền và thông tin nạp tiền của tài khoản
57 Flow of events
Basic flow 1. Người dùng nhấn vào icon “Menu” trên thanh Appbar ở màn hình chính
2. Người dùng nhấn vào icon “Coin” ở thanh SideBar 3. Hệ thống chuyển hướng đến màn hình “My Coin”
4. Hệ thống hiển thị tất cả lịch sử nạp tiền của tài khoản Alternative flow
Exception flow
Extension point Không có
3.1.18. Xem lịch sử mua truyện Name Lịch sử mua truyện Brief
description
Xem lịch sử mua truyện của tài khoản
Actor(s) Người dùng
Pre-conditions Người dùng đã đăng nhập ứng dụng Người dùng đã mua truyện
Post-conditions Xem tất cả lịch sử nạp tiền và thông tin nạp tiền của tài khoản Flow of events
Basic flow 1. Người dùng nhấn vào icon “Menu” trên thanh Appbar ở màn hình chính
2. Người dùng nhấn vào icon “Coin” ở thanh SideBar 3. Hệ thống chuyển hướng đến màn hình “My Coin”
4. Người dùng nhấn vào tab “Purchase”
4. Hệ thống hiển thị tất cả lịch sử mua truyện của tài khoản Alternative flow
Exception flow
Extension point Không có
3.1.19. Mua chương truyện
Name Mua chương truyện
Brief description
Người dùng mua truyện bằng coin
Actor(s) Người dùng
58 Pre-conditions Người dùng đã đăng nhập ứng dụng
Post-conditions Người dùng mua chương truyện thành công Flow of events
Basic flow 1. Người dùng nhấn vào bộ truyện muốn đọc 2. Người dùng chọn chương muốn mua 3. Người dùng xác nhận mua chương truyện 4. Hệ thống mở khóa chương truyện
Alternative flow 3.1. Hiển thị thông báo “There is not enough COINS left in your account to use this service” khi tài khoản của người dùng không đủ coin
Exception flow 3.2. Quay lại bước 3 của luồng hoạt động Extension point Không có
3.1.20. Xem thông báo
Name Xem thông báo
Brief description
Người dùng xem thông báo
Actor(s) Người dùng
Pre-conditions Người dùng đã đăng nhập ứng dụng
Post-conditions Người dùng mua chương truyện thành công Flow of events
Basic flow 1. Người dùng nhấn vào icon “Notification” trên thanh Appbar ở màn hình chính
2. Hệ thống hiển thị danh sách thông báo Alternative flow
Exception flow
Extension point Không có 3.1.21. Bình luận
Name Bình luận
Brief description
Người dùng bình luận về bộ truyện
Actor(s) Người dùng
Pre-conditions Người dùng đã đăng nhập ứng dụng Post-conditions
59 Flow of events
Basic flow 1. Người dùng chọn bộ truyện muốn bình luận 2. Người dùng nhấn vào button “Show all”
3. Hệ thống điều hướng đến màn hình “Comment”
4. Người dùng nhập nội dung muốn bình luận
5. Người dùng nhấn vào button “Send” để gửi bình luận 6. Hệ thống hiển thị bình luận của người dùng
Alternative flow Exception flow
Extension point Không có