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

đồ án 2 ứng dụng chăm sóc và nhận nuôi thú cưng

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 (2.42 MB, 72 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THƠNG TIN</b>

<b>KHOA CƠNG NGHỆ PHẦN MỀM </b>

<b>ĐỒ ÁN 2</b>

<b>ỨNG DỤNG CHĂM SĨC VÀ NHẬN NI THÚ CƯNG </b>

<b>GV HƯỚNG DẪN: ThS. Lê Thanh Trọng SINH VIÊN THỰC HIỆN: </b>

<b>Huỳnh Thế Vĩ – 20520857 Lê Đặng Phương Uyên – 20520853 </b>

<b>Mã lớp: SE122.O11 </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>LỜI CẢM ƠN </b>

Đồ án “Ứng dụng chăm sóc và nhận ni thú cưng” là một sản phẩm mà nhóm đã bỏ nhiều tâm huyết để hồn thiện. Bên cạnh đó, khơng thể khơng nhắc đến những sự hỗ trợ, đóng góp từ quý thầy cơ.

Nhóm muốn gửi lời cảm ơn sâu sắc đến ThS. Lê Thanh Trọng đã tận tình hướng dẫn, đưa ra những góp ý, định hướng để nhóm có thể hồn thành đồ án. Nhóm sẽ ln biết ơn và ghi nhớ những bài học đó.

Ngồi ra, nhóm cũng xin gửi lời cảm ơn đến quý thầy cô trường Đại học Công nghệ Thông tin - những người đã mang đến cho nhóm những kỹ năng, kiến thức cần thiết góp phần khơng nhỏ vào q trình thực hiện đồ án.

Trong q trình thực hiện đồ án, nhóm có thể gặp những sai sót, vì thế nhóm rất mong nhận được những góp ý, hỗ trợ từ thầy để có thể hồn thiện đồ án 2 hơn nữa và có thể là khóa luận trong tương lai.

TP. Hồ Chí Minh, ngày 31 tháng 12 năm 2023 Nhóm sinh viên thực hiện

<b>Huỳnh Thế Vĩ – Lê Đặng Phương Uyên </b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

1.4.2.2. Công cụ quản lý và thực hiện đồ án ... 7

<b>Chương 2. PHÂN TÍCH VÀ THIẾT KẾ ... 9</b>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>DANH MỤC BẢNG BIỂU</b>

Bảng 1.1. Bảng chức năng chăm sóc thú cưng ... 4Bảng 1.2. Bảng chức năng cho/nhận thú cưng ... 4Bảng 1.3. Bảng kế hoạch dự kiến ... 7

<b> </b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>DANH MỤC HÌNH ẢNH </b>

Hình 2.1. Sơ đồ use-case tổng quát ... 9

Hình 2.2. Sơ đồ tuần tự đăng ký tài khoản ... 24

Hình 2.3. Sơ đồ tuần tự quên mật khẩu ... 24

Hình 2.4. Sơ đồ tuần tự đổi mật khẩu ... 25

Hình 2.5. Sơ đồ tuần tự thay đổi thơng tin tài khoản ... 25

Hình 2.6. Sơ đồ tuần tự đăng bài ... 26

Hình 2.7. Sơ đồ tuần tự quản lý bài đăng ... 27

Hình 2.8. Sơ đồ tuần tự gửi yêu cầu nhận nuôi ... 28

Hình 2.9. Sơ đồ tuần tự quản lý yêu cầu của bài đăng ... 29

Hình 2.10. Sơ đồ tuần tự nhắn tin ... 30

Hình 2.11. Sơ đồ hoạt động đăng ký tài khoản ... 31

Hình 2.12. Sơ đồ hoạt động quên mật khẩu ... 32

Hình 2.13. Sơ đồ hoạt động đổi mật khẩu ... 32

Hình 2.14. Sơ đồ hoạt động đăng nhập ... 33

Hình 2.15. Sơ đồ hoạt động thay đổi thơng tin tài khoản ... 33

Hình 2.16. Sơ đồ hoạt động đăng bài ... 34

Hình 2.17. Sơ đồ hoạt động quản lý bài đăng ... 34

Hình 2.18. Sơ đồ hoạt động gửi u cầu nhận ni ... 35

Hình 2.19. Sơ đồ hoạt động quản lý yêu cầu của bài đăng ... 35

Hình 2.20. Sơ đồ hoạt động nhắn tin ... 36

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>TÓM TẮT ĐỒ ÁN </b>

<b>Đặt vấn đề: </b>

Xu hướng chăm sóc thú cưng đang ngày càng phát triển mạng với nhiều loài, giống từ châu Âu, châu Mỹ cũng như các giống truyền thống được quan tâm hơn ở trong và ngoài nước. Điều này tạo cơ hội cho nhiều người yêu thích động vật được giao lưu, chia sẻ sở thích với nhau trên các ứng dụng mạng. Tuy nhiên, những ứng dụng này còn tồn tại nhiều hạn chế như: giao diện người dùng kém, trải nghiệm sử dụng còn nhiều vấn đề, giải pháp nghiệp vụ quản lý hồ sơ, chăm sóc thú cưng chưa đáp ứng đủ nhu cầu,… Vì vậy, nhu cầu cho một ứng dụng với giao diện đẹp, dễ sử dụng

<b>và đáp ứng đủ nhu cầu quản lý, chăm sóc, chia sẻ về thú cưng là rất cấp thiết. Vấn đề nghiên cứu: </b>

<small>− </small> Tìm hiểu nhu cầu quản lý và chăm sóc thú cưng đang phát triển mạnh. Nghiên cứu nghiệp vụ hoạt động của những ứng dụng cũng như trải nghiệm của người dùng trên các nền tảng đó để đưa ra các cải thiện.

<small>− </small> Xây dựng ứng dụng chăm sóc và nhận nuôi thú cưng, đáp ứng cho nhu cầu của người nuôi thú cưng thông qua việc cung cấp nền tảng nhận ni, chăm sóc và hệ thống quản lý thú cưng.

<b>Mục tiêu nghiên cứu: </b>

Mục tiêu của đồ án là tìm ra giải pháp hiệu quả để giải quyết vấn đề tạo ra một ứng dụng chăm sóc và nhận ni thú cưng.

<b>Đối tượng nghiên cứu: </b>

Những người u thích cơng việc chăm sóc thú cưng và có nhu cầu quản lý

<b>hồ sơ và nhận nuôi thú cưng. </b>

<i><b>Phạm vi nghiên cứu: </b></i>

Tập trung xây dựng hệ thống giúp người dùng nhận nuôi và quản lý thông tin hồ sơ của thú cưng.

Sau đây, nhóm sẽ trình bày về phần mềm, quy trình thiết kế và cài đặt qua 4 phần:

<b>• Chương 1: Tổng quan về đề tài: giới thiệu sơ lược về đề tài: lý do chọn </b>

đề tài, mục tiêu, phạm vi, đóng góp.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

• <b>Chương 2: Phân tích và thiết kế: trình bày các phân tích thiết kế: use </b>

case, sequence/activity diagram, sơ đồ lớp, lược đồ cơ sở dữ liệu,…

• <b>Chương 3: Công nghệ sử dụng và kết quả sản phẩm: trình bày cơng </b>

nghệ sử dụng, demo sản phẩm và kết quả.

• <b>Chương 4: Kết luận và hướng phát triển: Kết luận, mặt đã đạt được, </b>

chưa đạt được và hướng phát triển.

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>Chương 1. TỔNG QUAN VỀ ĐỀ TÀI </b>

<b>1.1. Lý do chọn đề tài </b>

Với sự gia tăng nhu cầu chăm sóc thú cưng trong xã hội, việc cần một ứng dụng giúp giải quyết vấn đề liên quan đến nuôi thú cưng, bao gồm quản lý thơng tin, chăm sóc sức khỏe, và tìm kiếm ngơi nhà mới cho những thú cưng cần được chăm sóc. Ứng dụng mang lại giá trị thực tế và hữu ích cho cả những người chủ thú cưng hiện tại và những người muốn nhận ni thú cưng.

Bên cạnh đó, việc tạo ra một cộng đồng trực tuyến cho những người yêu thú mong muốn tìm được một ngơi nhà mới cho thú cưng của mình hoặc những thú cưng bị bỏ rơi, bị lạc và kết nối với nhau thông qua sự chăm sóc thú cưng cũng là một điều rất cần thiết. Chức năng trò chuyện và tư vấn tự động với bot chat mang lại sự tương tác và tiện ích cao, tạo ra trải nghiệm người dùng tốt và giải quyết những thắc mắc liên quan đến thú cưng một cách thuận lợi. Tích hợp thơng tin về các cơ sở thú y uy tín và cung cấp hướng dẫn chăm sóc thú cưng đúng cách, đồng thời tạo điều kiện cho việc nhận nuôi thú cưng, thể hiện cam kết với nguyên tắc trách nhiệm xã hội.

Hơn thế nữa, với sự gia tăng nhu cầu chăm sóc thú cưng, ứng dụng có tiềm năng thu hút một lượng người dùng lớn, mở ra cơ hội kinh doanh thông qua quảng cáo, đối tác hợp tác, và các dịch vụ tư vấn thú cưng.

<b>Chính vì những lý do trên, nhóm đã quyết định chọn thực hiện đề tài “Ứng dụng chăm sóc và nhận ni thú cưng”.</b>

<b>1.2. Mục đích </b>

Xây dựng một ứng dụng về thú cưng, tạo ra một mơi trường trực tuyến hồn chỉnh để hỗ trợ người chủ thú cưng trong việc quản lý và chăm sóc thú cưng của họ, đồng thời kết nối những người muốn nhận nuôi với những thú cưng cần tìm nhà mới, tìm lại những thú cưng khơng may bị lạc.

<b>1.3. Phạm vi nghiên cứu 1.3.1. Phạm vi môi trường </b>

Triển khai sản phẩm đề tài trên môi trường ứng dụng di động.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Tìm kiếm thơng tin địa chỉ, tên,… của các cơ sở thú y gần vị

<b>trí hiện tại của mình. Được lấy từ Google Maps và Geoapify </b>

Đối với chức năng cho/nhận nuôi thú cưng:

− Quản lý thông tin về thú cưng muốn nhận nuôi hoặc đem cho (tên, tuổi, giống loài, tiêm ngừa,…)

− Danh sách thú cưng được đăng tải (tìm kiếm, sắp xếp hồ sơ tương thích nhất với thú cưng mong muốn)

− Trò chuyện giữa người cho và người nhận nuôi.

<i>Bảng 1.2. Bảng chức năng cho/nhận thú cưng </i>

<b>Quản lý thông tin </b> Quản lý thông tin về thú cưng được nhận ni bao gồm hình ảnh, tên, giống loài, tuổi, cân nặng, vị trí, tình trạng tiêm ngừa,…

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Đăng bài tìm kiếm

<b>thú cưng bị thất lạc </b>

Đăng bài tiếm kiếm thú cưng bị thất lạc bao gồm hình ảnh,

<b>tên, thơng tin về giống lồi,… </b>

Trị chuyện giữa người cho và người

<b>nhận </b>

Người cho và nhận có thể trao đổi trực tiếp với nhau bằng trị chuyện theo thời gian thực (real time).

<b>Người dùng có thể liên hệ với nhau bằng số điện thoại. </b>

<b>Xác nhận/từ chối </b> Người dùng có thể chấp nhận yêu cầu nhận nuôi từ người khác. Và bài đăng được đăng tải trước đó sẽ bị gỡ xuống. Người dùng cũng có thể từ chối u cầu nhận ni vì một số

<b>lý do nào đó. </b>

<b>1.4. Kế hoạch thực hiện 1.4.1. Quy trình thực hiện </b>

− Phác thảo sơ lược mơ hình dữ liệu. − Lên kế hoạch thực hiện

− Phân tích đặc tả yêu cầu. − Thiết kế:

+ Thiết kế hệ thống. + Thiết kế dữ liệu. + Thiết kế giao diện. − Code và kiểm thử. − Báo cáo.

<b>1.4.2. Kế hoạch chi tiết - áp dụng quy trình phát triển phần mềm 1.4.2.1. Các bước thực hiện </b>

− Phác thảo sơ lược mơ hình dữ liệu

+ Phân tích đối tượng và các thuộc tính. + Vẽ mơ hình sơ đồ lớp.

+ Vẽ sơ đồ logic.

− Lên kế hoạch thực hiện và khảo sát hiện trạng:

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

+ Phân tích tính khả thi và cách thức thực hiện. + Thu thập thông tin và rút ra yêu cầu phần mềm.

− Phân tích đặc tả yêu cầu: Dựa trên các đặc tả yêu cầu đã thu thập được để phác thảo UI sơ lược để dễ thực hiện code.

− Thiết kế:

<b>Thiết kế hệ thống </b>

+ Vẽ use-case: phân tích nghiệp vụ tổng quan. + Vẽ sơ đồ Sequence Diagram (Sơ đồ tuần tự). + Vẽ sơ đồ luồng.

+ Xác định kiến trúc hệ thống.

<b>Thiết kế dữ liệu </b>

+ Phân tích dữ liệu dựa trên yêu cầu người dùng.

+ Kết quả đầu ra là tài liệu thiết kế dữ liệu, dùng để phục vụ viết thiết kế + database.

<b>Thiết kế giao diện </b>

+ Vẽ giao diện màn hình cũng như phân tích thiết kế xử lý dựa trên yêu cầu người dùng.

+ Kết quả đầu ra là tài liệu thiết kế giao diện, dùng để phục vụ viết thiết kế giao diện (UI) cho sản phẩm.

− Code và Kiểm thử:

+ Phân chia nhiệm vụ code dựa theo các yêu cầu. + Tạo các test case để test hệ thống chạy tốt hay chưa. − Cách tổ chức quản lý các thành viên:

<b>Leader: Huỳnh Thế Vĩ </b>

Team chúng em cùng thảo luận, họp bàn để phân cơng, phân chia tìm hiểu kiến thức về mỗi giai đoạn. Mỗi bạn trong nhóm sẽ có vai trị riêng. Khi đã nắm được kiến thức về giai đoạn mình tìm hiểu. Tiến hành training và thực hiện ngay. Sau mỗi giai đoạn được hồn thành. Tiến hành kiểm tra, nếu có lỗi có thể quay lại bước trước đó

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

để hoàn thiện hay sửa lỗi rồi mới tiếp tục tới tiếp theo. Cứ như vậy cho tới khi hoàn thành hết tất cả các giai đoạn, nhóm em sẽ báo cáo cuối kỳ.

<b>1.4.2.2. Công cụ quản lý và thực hiện đồ án Trao đổi thông tin </b>

− Facebook – Messenger: Nơi thông báo các việc quan trọng. − Google Meet: Meeting trao đổi giữa các thành viên.

<b>Lưu trữ tài liệu </b>

Thống nhất đề tài đồ án.

X Đề tài: Ứng dụng chăm sóc và nhận ni thú cưng.

<b>Phân tích, đặt tả u cầu (16/9 – 23/9) </b>

Phân tích đặc tả danh sách yêu cầu được đưa ra.

X Đặc tả yêu cầu. Thông tin chức năng. Biểu mẫu và quy định. Mô tả tổng thể.

Biểu đồ luồng xử lý dữ liệu. Mơ tả dịng sự kiện.

<b>Thiết kế dữ liệu (24/9 – 1/10) </b>

Thiết kế sơ đồ lớp. X Sơ đồ lớp tổng thể . Thiết kế sơ đồ

logic.

X Sơ đồ logic hoàn chỉnh.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

Thiết kế cơ sở dữ liệu.

X Các bản dữ liệu.

<b>Thiết kế giao diện (2/10 – 16/10) </b>

Lập danh sách các màn hình.

X Bảng danh sách các màn hình.

Vẽ sơ đồ liên kết giữa các màn hình.

X Sơ đồ liên kết giữa các màn hình.

Lập mơ tả của từng màn hình.

X Bản vẽ giao diện các màn hình.

Bảng mơ tả các đối tượng trên màn hình.

<b>Cài đặt (17/10 – 15/12) </b>

Cài đặt cơ sở dữ liệu.

X Cơ sở dữ liệu hoàn chỉnh.

Code Front-end. X Giao diện ứng dụng, API & L. Code Back-end. X Các chức năng được đưa ra.

<b>Kiểm thử (16/12 – 19/12) </b>

Tiến hành thử nghiệm các chức năng phần mềm với dữ liệu mẫu.

X Tạo ra các test case để kiểm thử tính tối ưu của phần mềm.

<b>Hồn thành báo cáo cuối kỳ (20/12 – 25/12) </b>

Slide powerpoint File báo cáo word

X Slide powerpoint File báo cáo word

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>Chương 2. PHÂN TÍCH VÀ THIẾT KẾ </b>

<b>2.1. Thiết kế hệ thống </b>

<b>2.1.1. Use-case diagram </b>

<i>Hình 2.1. Sơ đồ use-case tổng quát </i>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

2.1.1.1. Danh sách use-case

1 Đăng ký tài khoản Người dùng có thể đăng ký tài khoản mới trên ứng dụng chăm sóc và nhận ni thú cưng.

2 Đăng nhập Người dùng có thể đăng nhập vào tài khoản của mình trên ứng dụng chăm sóc và nhận ni thú cưng.

3 Đăng xuất Người dùng có thể đăng xuất khỏi tài khoản của mình.

4 Quên mật khẩu Người dùng có thể khơi phục mật khẩu của mình qua số điện thoại.

5 Đổi mật khẩu Người dùng có thể đổi mật khẩu của mình sau khi đã đăng nhập.

6 Thay đổi thông tin tài khoản

Người dùng có thể thay đổi thơng tin cá nhân trên tài khoản của mình.

7 Đăng bài Người dùng có thể đăng bài viết mới để thơng báo về việc nhận ni hoặc tìm thú cưng.

8 Quản lý bài đăng Người dùng có thể quản lý các bài viết đã đăng, bao gồm sửa đổi, xóa bài viết và xem trạng thái của bài đăng.

9 Gửi/hủy yêu cầu nhận nuôi

Người dùng có thể gửi u cầu nhận ni đến chủ nhân của bài đăng nhận nuôi.

10 Quản lý yêu cầu nhận nuôi

Chủ nhân của bài đăng nhận ni có thể quản lý các u cầu nhận nuôi như chấp nhận hoặc từ chối.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

11 Thao tác với bài đăng

Người dùng có thể thực hiện các thao tác như thêm hoặc gỡ bài đăng vào danh sách u thích.

12 Tìm kiếm bài đăng Người dùng có thể tìm kiếm bài đăng theo các loại thú cưng phù hợp hoặc bộ lọc phù hợp.

13 Gửi tin nhắn Người dùng có thể gửi tin nhắn cho nhau.

14 Chat bot Người dùng có thể chat với bot để nhận tư vấn về tình trạng sức khỏe của thú cưng.

15 Xem cẩm nang chăm sóc thú cưng

Người dùng có thể xem cẩm nang và hướng dẫn chăm sóc thú cưng.

16 Thú y gần mình Người dùng có thể xem danh sách các thú y gần địa điểm của mình.

17 Quản lý yêu cầu nhận ni

Người dùng có thể quản lý các u cầu nhận ni cho bài đăng thú cưng của mình.

2.1.1.2. Đặc tả use-case

<b>Đăng ký tải khoản </b>

<b>Use Case Name </b> Đăng ký tải khoản

<b>Description </b> Người dùng có thể đăng ký tài khoản mới trên ứng dụng chăm sóc và nhận ni thú cưng.

<b>Actor(s) </b> Người dùng chưa có tài khoản.

<b>Pre-Condition(s) </b> Người dùng chưa có tài khoản trên hệ thống.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>Post-Condition(s) </b> <sup>Tài khoản mới được tạo và người dùng đã đăng nhập vào hệ </sup>

thống. Đăng nhập

<b>Use Case Name </b> Đăng nhập

<b>Description </b> Người dùng có thể đăng nhập vào tài khoản của mình để truy cập các tính năng và thơng tin cá nhân.

<b>Actor(s) </b> Người dùng đã có tài khoản.

<b>Pre-Condition(s) </b> Người dùng đã có tài khoản hợp lệ trên hệ thống.

<b>Post-Condition(s) Người dùng đã đăng nhập thành công vào tài khoản của mình. </b>

<b>Basic Flow </b>

1. Người dùng truy cập trang đăng nhập. 2. Người dùng nhập email và mật khẩu. 3. Hệ thống xác minh thông tin đăng nhập.

4. Hệ thống đăng nhập người dùng và chuyển hướng đến trang chính.

<b>Exception Flow </b> <sup>Nếu hệ thống gặp lỗi trong quá trình đăng nhập, hiển thị thông </sup>

báo lỗi và yêu cầu thử lại.

<b>Đăng xuất </b>

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>Use Case Name </b> Đăng xuất

<b>Description </b> Người dùng có thể đăng xuất khỏi tài khoản của mình.

<b>Actor(s) </b> Người dùng đã đăng nhập.

<b>Pre-Condition(s) </b> Người dùng đã đăng nhập vào tài khoản của mình.

<b>Post-Condition(s) Người dùng đã đăng xuất khỏi tài khoản. </b>

Quên mật khẩu

<b>Use Case Name </b> Qn mật khẩu

<b>Description </b> Người dùng có thể khơi phục mật khẩu của mình thơng qua số điện thoại đã đăng ký.

<b>Actor(s) </b> Người dùng đã có tài khoản nhưng quên mật khẩu.

<b>Pre-Condition(s) </b> Người dùng đã có tài khoản trên hệ thống.

<b>Post-Condition(s) Số điện thoại đặt lại mật khẩu được gửi đến người dùng. </b>

3a. Nếu email không tồn tại, hiển thị thông báo lỗi.

3b. Nếu người dùng chưa xác minh email, hiển thị thông báo yêu cầu xác minh trước khi đặt lại mật khẩu.

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>Exception Flow </b> <sup>Nếu hệ thống gặp lỗi trong quá trình xử lý, hiển thị thông báo </sup>

lỗi và yêu cầu thử lại.

<b>Đổi mật khẩu </b>

<b>Use Case Name </b> Đổi mật khẩu

<b>Description </b> Người dùng có thể đổi mật khẩu của mình thơng qua số điện thoại đã đăng ký.

<b>Actor(s) </b> Người dùng đã đăng nhập.

<b>Pre-Condition(s) </b> Người dùng đã đăng nhập vào tài khoản của mình.

<b>Post-Condition(s) Mật khẩu của người dùng đã được thay đổi. </b>

<b>Basic Flow </b>

1. Người dùng truy cập trang thay đổi mật khẩu. 2. Người dùng nhập mật khẩu cũ và mật khẩu mới. 3. Hệ thống kiểm tra và thay đổi mật khẩu.

4. Hiển thị thông báo thành công.

<b>Alternative Flow </b>

3a. Nếu mật khẩu cũ khơng chính xác, hiển thị thơng báo lỗi. 3b. Nếu mật khẩu mới khơng đáp ứng u cầu an tồn, hiển thị thông báo yêu cầu nhập mật khẩu mới.

<b>Exception Flow </b> <sup>Nếu hệ thống gặp lỗi trong quá trình xử lý, hiển thị thơng báo </sup>

lỗi và u cầu thử lại.

<b>Thay đổi thông tin tài khoản </b>

<b>Use Case Name </b> Thay đổi thông tin tài khoản

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>Description </b> Người dùng có thể thay đổi thơng tin cá nhân trên tài khoản của mình.

<b>Actor(s) </b> Người dùng đã đăng nhập.

<b>Pre-Condition(s) </b> Người dùng đã đăng nhập vào tài khoản của mình.

<b>Post-Condition(s) Thông tin cá nhân của người dùng đã được cập nhật. </b>

<b>Alternative Flow </b> <sup>3a. Nếu có lỗi trong q trình kiểm tra hoặc cập nhật thơng </sup>

tin, hiển thị thông báo lỗi và yêu cầu người dùng thử lại.

<b>Exception Flow </b> <sup>Nếu hệ thống gặp lỗi trong q trình xử lý, hiển thị thơng báo </sup>

lỗi và yêu cầu thử lại.

<b>Đăng bài </b>

<b>Use Case Name </b> Đăng bài

<b>Description </b> Người dùng có thể đăng bài viết mới để thông báo về việc nhận ni hoặc tìm thú cưng.

<b>Actor(s) </b> Người dùng đã đăng nhập.

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<b>Pre-Condition(s) </b> Người dùng đã đăng nhập vào tài khoản của mình.

<b>Post-Condition(s) Bài viết mới đã được đăng và xuất hiện trên trang chủ. </b>

<b>Basic Flow </b>

1. Người dùng truy cập trang đăng bài.

2. Người dùng nhập thông tin cần thiết cho bài viết (tên thú cưng, loại, giống, giới tính, địa chỉ, v.v.).

3. Hệ thống kiểm tra và lưu trữ thông tin bài viết mới. 4. Hiển thị thông báo thành công và chuyển hướng đến

trang quản lý bài đăng của người dùng.

<b>Alternative Flow </b> <sup>2a. Nếu thiếu thông tin hoặc sai thông tin, hiển thị thông báo </sup>

lỗi và yêu cầu người dùng thử lại.

<b>Exception Flow </b> <sup>Nếu hệ thống gặp lỗi trong quá trình xử lý, hiển thị thông báo </sup>

lỗi và yêu cầu thử lại.

<b>Quản lý bài đăng </b>

<b>Use Case Name </b> Quản lý bài đăng

<b>Description </b> Người dùng có thể quản lý các bài viết đã đăng, bao gồm sửa đổi, xóa bài viết và xem trạng thái của bài đăng.

<b>Actor(s) </b> Người dùng đã đăng nhập.

<b>Pre-Condition(s) </b> Người dùng đã đăng nhập vào tài khoản của mình và đã có ít nhất một bài đăng.

<b>Post-Condition(s) </b> Thay đổi (sửa, xóa) được áp dụng vào bài đăng và có thể thấy trên trang chủ.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<b>Alternative Flow </b> <sup>4a. Nếu thiếu thông tin hoặc sai thông tin, hiển thị thông báo </sup>

lỗi và yêu cầu người dùng thử lại.

<b>Exception Flow </b> <sup>Nếu hệ thống gặp lỗi trong q trình xử lý, hiển thị thơng báo </sup>

lỗi và yêu cầu thử lại.

<b>Gửi yêu cầu nhận nuôi </b>

<b>Use Case Name </b> Gửi yêu cầu nhận nuôi

<b>Description </b> Người dùng có thể gửi u cầu nhận ni đến chủ nhân của bài đăng nhận nuôi.

<b>Actor(s) </b> Người dùng đã đăng nhập.

<b>Pre-Condition(s) </b>

Người dùng đã đăng nhập vào tài khoản của mình và có ít nhất một bài đăng được hiển thị và người dùng chưa gửi yêu cầu đến bài đăng đó.

<b>Post-Condition(s) </b> <sup>Yêu cầu nhận ni đã được gửi và có thể được xem trong trang </sup>

quản lý yêu cầu nhận nuôi.

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>Quản lý yêu cầu nhận nuôi </b>

<b>Use Case Name </b> Quản lý yêu cầu nhận nuôi

<b>Description </b> <sup>Chủ nhân của bài đăng nhận ni có thể quản lý các yêu cầu </sup>

nhận nuôi như chấp nhận hoặc từ chối.

<b>Actor(s) </b> Chủ nhân bài đăng.

<b>Pre-Condition(s) </b> <sup>Chủ nhân bài đăng đã đăng nhập và có ít nhất một yêu cầu </sup>

nhận nuôi.

<b>Post-Condition(s) </b> <sup>Trạng thái của yêu cầu nhận nuôi được cập nhật và thông báo </sup>

đến người gửi yêu cầu.

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

4. Chủ nhân bài đăng chọn thực hiện tùy chọn (chấp nhận hoặc từ chối).

5. Hệ thống cập nhật trạng thái của yêu cầu và thông báo kết quả cho cả chủ nhân và người gửi yêu cầu.

<b>Thao tác với bài đăng </b>

<b>Use Case Name </b> Thao tác với bài đăng

<b>Description </b> Người dùng có thể thực hiện các thao tác như thêm hoặc gỡ bài đăng vào danh sách yêu thích.

<b>Actor(s) </b> Người dùng đã đăng nhập.

<b>Pre-Condition(s) </b> Người dùng đã đăng nhập vào tài khoản của mình và có ít nhất một bài đăng.

<b>Post-Condition(s) </b> Thay đổi (thêm hoặc gỡ) đã được áp dụng vào danh sách yêu thích của người dùng.

<b>Alternative Flow </b> <sup>2a. Nếu bài đăng không tồn tại hoặc người dùng không có </sup>

quyền truy cập, hiển thị thơng báo lỗi.

<b>Tìm kiếm bài đăng </b>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

<b>Use Case Name </b> Tìm kiếm bài đăng

<b>Description </b> Người dùng có thể tìm kiếm bài đăng theo các loại thú cưng phù hợp hoặc địa chỉ phù hợp.

<b>Actor(s) </b> Người dùng đã đăng nhập.

<b>Pre-Condition(s) </b> Người dùng đã đăng nhập vào tài khoản của mình và có ít nhất một bài đăng.

<b>Post-Condition(s) Kết quả tìm kiếm được hiển thị cho người dùng. </b>

<b>Basic Flow </b>

1. Người dùng truy cập trang tìm kiếm bài đăng. 2. Người dùng nhập thơng tin tìm kiếm (loại thú cưng,

địa chỉ, v.v.).

3. Hệ thống thực hiện tìm kiếm và hiển thị kết quả.

<b>Gửi tin nhắn và gọi điện </b>

<b>Use Case Name </b> Gửi tin nhắn và gọi điện

<b>Description </b> Người dùng có thể gửi tin nhắn và gọi điện thoại cho nhau.

<b>Actor(s) </b> Người dùng đã đăng nhập.

<b>Pre-Condition(s) </b> Người dùng đã đăng nhập vào tài khoản của mình.

<b>Post-Condition(s) </b> <sup>Tin nhắn được gửi hoặc cuộc gọi được thực hiện ngoài ứng </sup>

dụng.

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<b>Use Case Name </b> Chat bot

<b>Description </b> Người dùng có thể chat với bot để nhận tư vấn về tình trạng sức khỏe của thú cưng.

<b>Actor(s) </b> Người dùng đã đăng nhập.

<b>Pre-Condition(s) </b> Người dùng đã đăng nhập vào tài khoản của mình.

<b>Post-Condition(s) Người dùng nhận được tư vấn từ bot. </b>

<b>Basic Flow </b>

1. Người dùng truy cập tính năng chat với bot.

2. Người dùng nhập câu hỏi hoặc mơ tả tình trạng của thú cưng.

3. Bot phản hồi và cung cấp tư vấn hoặc hướng dẫn.

<b>Xem cẩm nang chăm sóc thú cưng </b>

<b>Use Case Name </b> Xem cẩm nang chăm sóc thú cưng

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<b>Description </b> Người dùng có thể xem cẩm nang và hướng dẫn chăm sóc thú cưng.

<b>Actor(s) </b> Người dùng đã đăng nhập.

<b>Pre-Condition(s) </b> Người dùng đã đăng nhập vào tài khoản của mình.

<b>Post-Condition(s) Hiển thị cẩm nang chăm sóc thú cưng. </b>

<b>Use Case Name </b> Xem thú y gần mình

<b>Description </b> Người dùng có thể xem danh sách các thú y gần địa điểm của mình.

<b>Actor(s) </b> Người dùng đã đăng nhập.

<b>Pre-Condition(s) </b> Người dùng đã đăng nhập vào tài khoản của mình.

<b>Post-Condition(s) </b> Người dùng đã xem thông tin về các thú y gần địa điểm của mình.

<b>Basic Flow </b> 1. Người dùng truy cập trang xem thú y gần mình.

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

2. Người dùng cung cấp địa điểm hoặc hệ thống sử dụng địa điểm hiện tại của người dùng.

3. Hệ thống hiển thị danh sách các thú y gần địa điểm cung cấp.

<b>Quản lý yêu cầu nhận nuôi </b>

<b>Use Case Name </b> Quản lý yêu cầu nhận ni

<b>Description </b> Người dùng có thể xem các u cầu nhận ni thú cưng của mình đã gửi và hủy gửi yêu cầu nhận nuôi.

<b>Actor(s) </b> Người dùng đã đăng nhập.

<b>Pre-Condition(s) </b> Người dùng đã đăng nhập vào tài khoản của mình và đã có ít nhất một bài đăng nhận nuôi.

<b>Post-Condition(s) </b> Người dùng xem các yêu cầu nhận nuôi thú cưng của mình đã gửi hoặc hủy gửi u cầu nhận ni.

<b>Basic Flow </b>

1. Người dùng truy cập trang xem yêu cầu đã gửi. 2. Người dùng chọn xem hoặc hủy yêu cầu. 3. Hệ thống hiển thị lại cập nhật mới nhất.

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

<b>2.1.2. Sequence diagram </b>

<i>Hình 2.2. Sơ đồ tuần tự đăng ký tài khoản </i>

<i>Hình 2.3. Sơ đồ tuần tự quên mật khẩu </i>

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

<i>Hình 2.4. Sơ đồ tuần tự đổi mật khẩu </i>

<i>Hình 2.5. Sơ đồ tuần tự thay đổi thông tin tài khoản </i>

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

<i>Hình 2.6. Sơ đồ tuần tự đăng bài </i>

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

<i>Hình 2.7. Sơ đồ tuần tự quản lý bài đăng </i>

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

<i>Hình 2.8. Sơ đồ tuần tự gửi yêu cầu nhận nuôi </i>

</div>

×