1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn môn phân tích thiết kế hướng đối tượng đề tài website talk with tranger

47 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Website Talk With Stranger
Tác giả Võ Chế Bằng
Người hướng dẫn ThS. Phạm Thị Miên
Trường học Trường Đại Học Giao Thông Vận Tải Phân Hiệu Tại Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo Bài Tập Lớn
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 47
Dung lượng 3,03 MB

Cấu trúc

  • CHƯƠNG 1: CƠ SỞ LÝ THUYẾT (13)
    • 1.1. Tổng quan về MySQL Workbench (13)
      • 1.1.1. Các tính năng của MySQL Workbench (13)
        • 1.1.1.1. Dựng hình và thiết kế (13)
        • 1.1.1.2. Phát triển (13)
        • 1.1.1.3. Quản trị (13)
        • 1.1.1.4. Di chuyển cơ sở dữ liệu (14)
      • 1.1.2. Ưu nhược điểm (14)
        • 1.1.2.1. Ưu điểm (14)
        • 1.1.2.2. Nhược điểm (15)
    • 1.2. Tổng quan về Draw.io (15)
      • 1.2.1. Giới thiệu về Draw.io (15)
      • 1.2.2. Ưu nhược điểm (15)
        • 1.2.2.1. Ưu điểm (15)
        • 1.2.2.2. Nhược điểm (16)
  • CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG (17)
    • 2.1. Mô tả bài toán (17)
    • 2.2. Biểu đồ Use case (18)
      • 2.2.1. Biểu đồ (18)
      • 2.2.2. Đặc tả use case (18)
        • 2.2.2.1. Đăng ký (18)
        • 2.2.2.2. Đăng nhập (19)
        • 2.2.2.3. Đặt lại mật khẩu (19)
        • 2.2.2.4. Đăng xuất (20)
        • 2.2.2.5. Chỉnh sửa thông tin cơ bản (20)
        • 2.2.2.6. Thay đổi ảnh đại diện hoặc ảnh nền (20)
        • 2.2.2.7. Kết nối với người dùng khác (21)
        • 2.2.2.8. Xử lý yêu cầu kết bạn (23)
        • 2.2.2.9. Tìm kiếm và nhắn tin với bạn bè (23)
    • 2.3. Biểu đồ lớp (24)
    • 2.4. Biểu đồ hoạt động (25)
      • 2.4.1. Biểu đồ hoạt động tổng quan hệ thống (25)
      • 2.4.2. Đăng ký (26)
      • 2.4.3. Đăng nhập (27)
      • 2.4.4. Đăng xuất (28)
      • 2.4.5. Đặt lại mật khẩu (28)
      • 2.4.6. Chỉnh sửa thông tin cá nhân (30)
      • 2.4.7. Chỉnh sửa ảnh đại diện hoặc ảnh nền (31)
      • 2.4.8. Kết nối cùng người lạ (32)
      • 2.4.9. Xử lý yêu cầu kết bạn (33)
      • 2.4.10. Tìm kiếm và nhắn tin với bạn bè (34)
    • 2.5. Biểu đồ tuần tự (35)
      • 2.5.1. Đăng ký (35)
      • 2.5.2. Đăng nhập (36)
      • 2.5.3. Đặt lại mật khẩu (37)
      • 2.5.4. Đăng xuất (38)
      • 2.5.5. Chỉnh sửa thông tin cá nhân (39)
      • 2.5.6. Chỉnh sửa ảnh đại diện hoặc ảnh nền (39)
      • 2.5.7. Kết nối cùng người lạ (40)
      • 2.5.8. Xử lý yêu cầu kết bạn (41)
      • 2.5.9. Tìm kiếm và nhắn tin với bạn bè (42)
  • CHƯƠNG 3: THIẾT KẾ CƠ SỞ DỮ LIỆU (43)
    • 3.1. Các thực thể và thuộc tính (43)
      • 3.1.1. Thực thể NGƯỜI DÙNG: User (43)
      • 3.1.2. Thực thể OTP: PasswordResetToken (43)
      • 3.1.3. Thực thể PHIÊN ĐĂNG NHẬP: KeyToken (43)
      • 3.1.4. Thực thể QUỐC GIA: Country (43)
      • 3.1.5. Thực thể YÊU CẦU KẾT BẠN: FriendRequest (44)
      • 3.1.6. Thực thể CUỘC HỘI THOẠI: Conservation (44)
      • 3.1.7. Thực thể TIN NHẮN: Message (44)
      • 3.1.8. Thực thể PHIÊN ĐĂNG NHẬP CŨ: RefreshToken (44)
    • 3.2. Mô hình quan hệ (44)
  • CHƯƠNG 4: KẾT LUẬN (46)
    • 4.1. Kết quả đạt được (46)

Nội dung

Nó có mặt hầu hếttrong tất cả các lĩnh vực mà chúng ta đang sinh hoạt, làm việc và cũng như giải trí…Nó giúp đỡ cho chúng ta từ nông nghiệp, công nghiệp, kinh tế, giáo dục, y tế.Nhằm tận

CƠ SỞ LÝ THUYẾT

Tổng quan về MySQL Workbench

MySQL Workbench chính là một chương trình giúp cho người lập trình có thể giao tiếp với hệ cơ sở dữ liệu MySQL thay vì phải sử dụng các lệnh Command line – giao diện dựa trên văn bản trong hệ điều hành, chuyển tiếp các lệnh từ người dùng đến hệ điều hành – phức tạp và mất thời gian MySQL Workbench được thiết kế đơn giản, dễ sử dụng và có thể thích ứng với nhiều hệ điều hành như là Microsoft Windowns, Max OS, Linux hay Ubuntu.

1.1.1 Các tính năng của MySQL Workbench

1.1.1.1 Dựng hình và thiết kế

Các database có hiệu suất cao luôn sử dụng mô hình (modeling) làm yếu tố cốt lõi MySQL Workbench cũng không phải là ngoại lệ, ứng dụng này tạo ra các thiết kế mô hình database một cách trực quan và rất đơn giản khi dịch sang cơ sở dữ liệu MySQL.

Ngoài ra, MySQL Workbench còn hỗ trợ người dụng tạo nhiều modeling trong cùng một môi trường cũng như là hỗ trợ các đối tượng khác như trình xem, bảng biểu, trình kích hoạt, phương pháp lưu trữ, … để tạo nên một cơ sở dữ liệu Nó còn cho phép chỉnh sửa các modeling đồ họa của bạn bằng cách dung Table Editor, một công cụ thường sử dụng để sửa các Index, Column, Privileges, Routines and Views, …

Ngôn ngữ truy vấn SQL cho chúng ta thực hiện những thao tác cơ sở dữ liệu quan hệ và nó cũng chính là trung tâm của tất cả các database MySQL Workbench có tích hợp sẵn các trình soạn thảo, cho phép người dùng chỉnh sửa, xây dựng và sử dụng đối với các cơ sở dữ liệu của MySQL Server Chúng cũng có kèm theo các tiện ích để xem và xuất dữ liệu. Đặc biệt, MySQL đánh dấu các cú pháp bằng các màu sắc khác nhau, giúp cho các nhà phát triển dễ hơn trong quá trình viết và debug các câu lệnh SQL MySQL Workbench có khả năng chạy nhiều truy vấn khác nhau cùng lúc, sau đó kết quả sẽ được hiện thị một cách tự động trong các trang khác nhau và được lưu lại trong lịch sử truy vấn để tiện cho quá trình truy xuất và chạy về sau.

Trong quá trình đảm bảo an toàn thông tin, dữ liệu cho doanh nghiệp thì quản trị hệ thống là một yếu tố quan trọng Những vấn đề liên quan đến quản trị hệ thống gồm cấu hình, nhật ký, quản lý người dùng, … Các tính năng được tích hợp trong MySQL Workbench giúp việc quản trị trở nên đơn giản hơn, có thể kể đến như:

– Cấu hình máy chủ: được hỗ trợ nâng cao và cho phép chỉnh sửa để hiệu suất được tăng cao.

– Nhật ký máy chủ: Nhật ký sẽ bao gồm thông tin các lỗi, bản ghi nhị phân và bản ghi InnodDB, từ đó làm căn cứ đưa ra các chuẩn đoán cho máy chủ.MySQL Workbench cung cấp công cụ trực quan cho phép người dùng, các lập trình viên, các nhà phát triển xem lịch sử, nhật ký của MySQL Server.

– Sao lưu và phục hồi dữ liệu: MySQL Workbench sở hữu các công cụ trực quan để dùng cho việc nhập hay xuất các file dump trong MySQL.

– Quản trị người dùng: MySQL Worckbench cho phép người quản lý (admin) của database dễ dàng thêm hoặc xoá bớt người dùng khi cần thiết cũng như là xem hồ sơ của những người dùng.

1.1.1.4 Di chuyển cơ sở dữ liệu

Khả năng di chuyển cơ sở dữ liệu của MySQL Workbench được thiết kế để giúp các nhà phát triển tiết kiệm được thời gian bằng cách cung cấp công cụ trực quan và dễ sử dụng cho tất cả các giai đoạn của cấu hình và quản lý các quy trình dịch chuyển phức tạp như:

– Cho phép dịch chuyển cơ sở dữ liệu từ Microsoft SQL Server, Microsoft Access, PostgreSQL, Sybase ASE, Sybase SQL ở mọi nơi.

– Cho phép dịch chuyển được cấu hình, chỉnh sửa, sao chép cũng như thực hiện và lên lịch với các dự án.

Với trình hướng dẫn di chuyển dữ liệu của MySQL, người dùng có thể chuyển đổi cơ sở dữ liệu hiện có sang MySQL trong vài phút thay vì hàng giờ hoặc vài ngày đối với các phương pháp truyền thống khác.

Có rất nhiều hệ quản trị cơ sở dữ liệu mở trên thị trường, nhưng MySQL vẫn là hệ quan trị cơ sở dữ liệu phổ biến nhất Để các ông lớn trong làng công nghệ tin tưởng sử dụng, MySQL phải có những ưu điểm nhất định chính là:

- Dễ sử dụng và linh hoạt: Quá trình cài đặt nhanh chóng và đơn giản, thông thường sẽ không tốn của bạn quá ba mươi phút Do là một hệ cơ sở dữ liệu đơn giản, ít phức tạp lại có những tính năng cao nên MySQL rất được nhiều nhà phát triển tin dùng MySQL còn cho phép bạn sửa mã nguồn miễn phí để đáp ứng nhu cầu cá nhân của mình.

- Hiệu năng cao: Là một hệ cơ sở dữ liệu có tốc độ cao và ổn định, cho dù dữ liệu lưu trữ của bạn có lớn đến đâu, lớn như dữ liệu của các trang thương mại điện tử hay dữ liệu nặng nề trong hoạt động kinh doanh liên quan đến công nghệ thông tin thì MySQL đều có thể đáp ứng được Hơn thế nữa, với độ phổ biến của nó, một cộng đồng những người sử dụng MySQL luôn sẵn sàng hỗ trợ bạn, tư vấn các giải pháp cho bạn đối với các vấn đề mà họ biết.

- Hệ quản trị tiêu chuẩn: Do đã tồn tại và phát triển nhiều năm trong ngành công nghệ nên sử dụng MySQL dường như đã trở thành một kỹ năng cơ bản của mỗi chuyên gia lập trình Nhờ vậy người dùng MySQL cũng dễ dàng triển khai nhanh các dự án và tìm kiếm những chuyên gia hỗ trợ với mức phí hợp lý.

- Độ bảo mật cao: Một trong những lý do MySQL được các ông lớn trong làng công nghệ sử dụng chính là do khả năng bảo mật, giữ an toàn dữ liệu Tiêu chuẩn bảo mật của MySQL rất cao nhờ hệ thống quản lý tài khoản cũng như phân chia quyền truy cập của mình Nói vậy không chỉ riêng những công ty lớn, mà ngay cả những doanh nghiệp nhỏ hay thậm chí các freelancer việt nam đều cần sử dụng đến MySQL.

Tương tự như những hệ quản trị cơ sở dữ liệu quan hệ khác thì MySQL cũng có một số mặt hạn chế như:

- Hiệu năng: MySQL có thể gặp vấn đề hiệu năng khi xử lý các tác vụ phức tạp hoặc khi phải xử lý tải lớn Nếu không được cấu hình và tối ưu hóa đúng cách, hiệu suất của MySQL có thể bị giảm.

Tổng quan về Draw.io

1.2.1 Giới thiệu về Draw.io

Draw.io là một phần mềm tạo sơ đồ và biểu đồ trực tuyến miễn phí Nó cung cấp một giao diện đồ họa trực quan cho phép bạn tạo ra các loại sơ đồ khác nhau như sơ đồ luồng công việc, sơ đồ mạng, sơ đồ UML, sơ đồ quan hệ thực thể (ER), sơ đồ mạch điện và nhiều hơn nữa.

Với Draw.io, bạn có thể tạo, chỉnh sửa và chia sẻ các biểu đồ của mình trực tuyến Nó hỗ trợ các tính năng quan trọng như kéo và thả, tự động căn chỉnh, tìm kiếm và thay thế, đánh dấu, ghi chú và nhiều tính năng khác để giúp bạn tạo ra các biểu đồ chuyên nghiệp.

- Miễn phí: Draw.io là một phần mềm tạo sơ đồ và biểu đồ trực tuyến miễn phí. Bạn có thể sử dụng nó mà không cần trả phí hoặc mua bản quyền.

- Đa dạng chức năng: Draw.io cung cấp nhiều công cụ và tính năng cho phép bạn tạo và chỉnh sửa các loại sơ đồ và biểu đồ khác nhau như sơ đồ luồng công việc, sơ đồ mạng, sơ đồ UML, sơ đồ ER và nhiều hơn nữa.

Giao diện trực quan: Giao diện của Draw.io rất trực quan và dễ sử dụng Bạn có thể kéo và thả các phần tử, căn chỉnh tự động và tạo ra các biểu đồ chuyên nghiệp một cách dễ dàng.

Tích hợp tệp tin: draw.io hỗ trợ nhập khẩu các tệp tin vsdx (từ Microsoft Visio), Gliffy™ và Lucidchart™ Điều này cho phép bạn dễ dàng chuyển đổi và sử dụng lại các biểu đồ hiện có từ các ứng dụng khác.

Chia sẻ và lưu trữ trực tuyến: Bạn có thể chia sẻ và lưu trữ các biểu đồ của mình trực tuyến thông qua các dịch vụ lưu trữ như Google Drive, OneDrive và Dropbox Điều này giúp bạn tiện lợi truy cập và làm việc trên các biểu đồ từ bất kỳ địa điểm nào.

- Yêu cầu kích hoạt JavaScript: Để sử dụng Draw.io, bạn cần đảm bảo rằng JavaScript đã được kích hoạt trên trình duyệt web của bạn Nếu không, phần mềm sẽ không hoạt động đúng cách.

- Không có tính năng đồng bộ hóa: Draw.io không cung cấp tính năng đồng bộ hóa tự động giữa các phiên bản biểu đồ Điều này có nghĩa là bạn cần thực hiện việc lưu và chia sẻ thủ công để đảm bảo tính nhất quán của biểu đồ giữa các người dùng.

- Không có phiên bản máy tính để cài đặt: Draw.io chỉ hoạt động thông qua trình duyệt web và không cung cấp phiên bản cài đặt cho máy tính Điều này có thể làm giới hạn khả năng truy cập và sử dụng của Draw.io khi không có kết nối internet.

- Không có tính năng tự động lưu: Draw.io không có tính năng tự động lưu dữ liệu Bạn cần thực hiện việc lưu trữ thủ công để đảm bảo rằng các thay đổi không bị mất nếu xảy ra sự cố kết nối hoặc lỗi trình duyệt.

PHÂN TÍCH HỆ THỐNG

Mô tả bài toán

Website Talk with stranger là một website cho phép kết nối những người dùng với nhau qua video, âm thanh hoặc văn bản Để có thể truy cập vào website, người dùng cần tạo tài khoản và đăng nhập vào hệ thống. Để tiến hành đăng ký người dùng sẽ phải nhập một số thông tin cơ bản cho website như tên, giới tính, ngày sinh, nghề nghiệp, email và mật khẩu Sau đó hệ thống sẽ tiến hành kiểm tra thông tin người dùng Nếu thông tin các thực là chính xác thì mã hoá mật khẩu người dùng và tạo tài khoản với thông tin đã được cung cấp

Sau khi đã tạo tài khoản thành công, người dùng có thể truy cập vào website bằng tài khoản đã tạo Hệ thống sẽ xác thực thông tin người dùng trước khi lưu vào cơ sở dữ liệu.

Ngoài ra nếu người dùng quên mật khẩu thì có thể thực hiện thay đổi Người dùng cần nhập đúng email đã đăng ký, hệ thống sẽ gửi mã otp về mail (mỗi otp chỉ có hạn trong 10 phút) Người dùng nhập mã otp và khởi tạo lại mật khẩu mới, sau đó hệ thống xác thực lại thông tin người dùng đã nhập và cập nhật vào hệ thống

Sau khi đăng nhập vào hệ thống, người dùng có thể thực hiện một số chức năng sau:

 Thay đổi thông tin cá nhân

 Kết nối, gửi lời mời kết bạn đến người lạ

 Chấp nhận lời mời kết bạn và nhắn tin cùng bạn bè

Giao diện màn hình chính của website là trang thông tin của người dùng Tại đây người dùng có thể thay đổi hoặc bổ xung một vài thông tin cá nhân của bản thân như: Ảnh đại diện, ảnh nền, quốc gia và mô tả về bản thân.

Trước khi kết nối dùng người dùng khác, bạn có thể thực hiện một số tuỳ chỉnh như sau: Bật hoặc tắt camera, bật hoặc tắt micro Để thực hiện kết nối với một người dùng khác, ấn vào “Find next”, khi đó bạn sẽ được kết nối với một người dùng khác cũng đang tìm kiếm cuộc hội thoại Hai người có thể trao đổi trực tiếp với nhau thông qua micro hoặc thông qua tin nhắn văn bản bên dưới Nếu người dùng cảm thấy thích thú về người đối diện có thể gửi cho họ lời mời kết bạn, hoặc nếu thấy không thích, người cùng cũng có thể ấn “Find next” để tìm kiếm người dùng khác Nếu có một người khác cũng đang tìm kiếm một cuộc trò chuyện thì hai người dùng sẽ được ghép đôi với nhau Và cùng trong lúc đó, toàn bộ văng bản tin nhắn giữa 2 người trước đó sẽ bị xoá bỏ

Khi mở danh sách lời mời kết bạn, bạn sẽ thấy thông tin cơ bản về người đó như tên, ảnh đại diện và lời giới thiệu Tại đây, người dùng có thể chấp nhận lời mời kết bạn hoặc từ chối nếu muốn Khi đã trở thành bạn bè, người dùng có thể tìm kiếm bạn bè và nhắn tin với họ.

Biểu đồ Use case

Hình 2.1: Biểu đồ Use case hệ thống

Tên user case Đăng ký

Mô tả Người dùng muốn tạo tài khoản để truy cập vào hệ thống Tiền điều kiện

Hành động tác nhân Phản ứng hệ thống

1 Người dùng chọn đăng ký tài khoản

1.1 Hệ thống hiển thị form đăng ký

3 Người dùng điển và submit form đăng ký 2.1 Hệ thống kiểm tra thông tin người dùng có hợp lệ hay không

2.2 Hệ thống tạo một người dùng mới trong cơ sở dữ liệu 2.3 Thông báo người dùng tạo tài khoản thành công 2.4 Tự động đăng nhập và chuyển hướng tới màn hính chính

Ngoại lệ 1 2.1.1 Hệ thống kiểm tra thấy thông tin người dùng đã tồn tại trong hệ thống hoặc thông tin cung cấp chưa chính xác (email không đúng định dạng)

2.1.2 Thông báo cho người dùng tạo tài khoản thất bại

Bảng 2.1: Đặc tả luồng đăng ký 2.2.2.2 Đăng nhập

Tên user case Đăng nhập

Mô tả Người dùng muốn đăng nhập vào hệ thống

Tiền điều kiện Người dùng đã đăng ký tài khoản

Hành động tác nhân Phản ứng hệ thống

1 Người dùng chọn đăng nhập 1.1 Hệ thống hiển thị form đăng nhập

2 Người dùng submit form đăng nhập 2.1 Hệ thống kiểm tra thông tin người dùng có hợp lệ hay không 2.2 Thông báo người dùng đăng nhập thành công 2.3 Điều hướng người dùng sang trang màn hình chính

Ngoại lệ 1 2.1.1 Hệ thống kiểm tra thấy thông tin không chính xác

2.1.2 Thông báo cho người dùng đăng nhập thất bại

Bảng 2.2: Đặc tả luồng đăng nhập 2.2.2.3 Đặt lại mật khẩu

Tên user case Quên mật khẩu

Mô tả Người dùng quên mật khẩu và muốn đặt lại mật khẩu mới Tiền điều kiện Người dùng đã đăng ký tài khoản

Hành động tác nhân Phản ứng hệ thống

1 Người dùng chọn quên mật khẩu 1.1 Hệ thống hiển thị form nhập email

2 Người dùng nhập và submit form email

2.1 Hệ thống kiểm tra email có tồn tại hay không 2.2 Hệ thống gửi một mã otp về mail

3 Người dùng điền và submit form đổi mật khẩu

3.1 Hệ thống kiểm tra thông tin người dùng nhập vào có chính xác hay không

3.2 Thông báo người dùng đã đổi mật khẩu thành công

Ngoại lệ 1 3.1.1 Hệ thống kiểm tra thấy thông tin người dùng nhập vào chưa chính xác 3.1.2 Thông báo cho người dùng thay đổi mật khẩu thất bại

Bảng 2.3: Đặc tả luồng đặt lại mật khẩu

Tên user case Đăng xuất

Mô tả Người dùng muốn đăng xuất khỏi hệ thống

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống

Hành động tác nhân Phản ứng hệ thống

1 Người dùng chọn đăng xuất 1.1 Hệ thống kiểm tra thông tin của người dùng xem có hợp lệ hay không 1.2 Điều hướng tới trang đăng nhập, thông báo đăng xuất thành công.

Ngoại lệ 1 1.1.1 Hệ thống kiểm tra thấy thông tin xác thực người dùng không hợp lệ 1.1.2 Thông báo cho người dùng không thể đăng xuất

Bảng 2.4: Đặc tả luồng đăng xuất 2.2.2.5 Chỉnh sửa thông tin cơ bản

Tên user case Chỉnh sửa thông tin cá nhân

Mô tả Người dùng muốn thay đổi thông tin cá nhân

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống

Hành động tác nhân Phản ứng hệ thống

1 Người dùng thay đổi và submit trong form thông tin cá nhân

1.1 Hệ thống kiểm tra thông tin người dùng có hợp lệ hay không, loại bỏ thay đổi ở các trường không được phép sửa 1.2 Lưu thông tin mới vào cơ sở dữ liệu

1.3 Thông báo chỉnh sửa thông tin thành công 1.4 Hiển thị lại thông tin đã cập nhật

Ngoại lệ 1 1.1.1 Hệ thống kiểm tra thông tin xác thực của người dùng không hợp lệ 1.1.2 Thông báo cho người dùng không thể cập nhật

Bảng 2.5: Đặc tả luồng thay đổi thông tin cơ bản

2.2.2.6 Thay đổi ảnh đại diện hoặc ảnh nền

Tên user case Thay đổi ảnh đại diện hoặc ảnh nền

Mô tả Người dùng muốn thay đổi thông tin cá nhân

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống

Hành động tác nhân Phản ứng hệ thống

1 Người dùng gọi chức năng thay đổi ảnh, chọn ảnh từ thiết bị

1.1 Hệ thống hiển thị ảnh người dùng đã chọn từ thiết bị

2 Người dùng xác nhận sử dụng ảnh 2.1 Hệ thống lưu ảnh vào bộ nhớ đệm

2.3 Lấy đường dẫn của ảnh trên cloud và lưu vào cơ sở dữ liệu 2.4 Hệ thống cập nhật lại giao diện

Ngoại lệ 1 2.1.1 Hệ thống kiểm tra thông tin xác thực của người dùng không hợp lệ 2.1.2 Thông báo cho người dùng không thể cập nhật

Bảng 2.6: Đặc tả luồng thay đổi ảnh đại diện và ảnh nền 2.2.2.7 Kết nối với người dùng khác

Tên user case Kết nối với người dùng bất kỳ

Mô tả Người dùng muốn tìm kiếm một cuộc trò chuyện vói một người dùng khác Tiền điều kiện Người dùng đã đăng nhập vào hệ thống

Hành động tác nhân Phản ứng hệ thống

1 Người dùng chọn kết nối với người dùng khác

1.1 Hệ thống hiển thị lên giao diện kết nối cùng người dùng khác Tại đây người dùng có thể lựa chọn bật hoặc tắt camera hoặc micro

2 Người dùng chọn tìm kiếm người dùng khác

2.1 Hệ thống tìm kiếm người dùng khác cũng đang yêu cầu kết nối và kết nối hai người dùng lại với nhau

2.2 Hệ thống hiển thị giao diện thời gian thực

3 Khi ghép đôi thành công, hai người dùng có thể trao đổi, trò chuyện với nhau thông qua micro hoặc văn bản dạng tin nhắn

3.1 Hệ thống hiển thị được thông tin tin nhắn, video hoặc audio theo thời gian thực

4 Người dùng có thể lựa chọn kết bạn với người đối diện nếu cảm thấy hứng thú

4.1 Hệ thống gửi một yêu cầu kết bạn cho người đối diện đang trong cuộc trò chuyện

5 Người dùng có thể tìm kiếm người dùng khác nếu không muốn giao lưu với người dùng hiện đang kết nối

5.1 Hệ thống tiến hành xoá bỏ toàn bộ lịch sử trò chuyện giữa hai người dùng trước

5.2 Tiến hành tìm kiếm người dùng khác với người dùng trước cũng đang có yêu cầu kết nối

5.3 Hệ thống tiến hành ghép đôi và hiển thị nội dung lên giao diện

Ngoại lệ 1 2.1.1 Nếu hệ thống không tìm thấy bất kì người dùng nào đang có yêu cầu kết nối thì có thể người dùng sẽ phải chờ một người nào đó cũng đang ghép đôi để tiến hành kết nối

Ngoại lệ 2 4.1.1 Hệ thống kiểm tra thông tin xác thực người dùng không hợp lệ 4.1.2 Thông báo cho người dùng không thể gửi lời mời kết bạn

Bảng 2.7: Đặc tả luồng kết nối với người dùng khác

2.2.2.8 Xử lý yêu cầu kết bạn

Tên user case Xác nhận lời mời kết bạn

Mô tả Người dùng muốn xác nhận quan hệ bạn bè hoặc không với một người dùng khác Tiền điều kiện Người dùng đã đăng nhập vào hệ thống và có yêu cầu kết bạn

Hành động tác nhân Phản ứng hệ thống

1 Người dùng chọn xem danh sách lời mời kết bạn

1.1 Hệ thống hiển thị danh sách và thông tin của các người cũng đã gửi lời mời kết bạn

2 Người dùng chấp nhận lời mời kết bạn

2.1 Hệ thống tạo một bảng ghi xác nhận mối quan hệ bạn bè giữa hai người dùng

2.2 HIển thị lại thông tin danh sách lời mời kết bạn

3 Người dùng từ chối lời mời kết bạn

3.1 Hệ thống xoá yêu cầu kết bạn 3.2 Hiển thị lại thông tin danh sách lời mời kết bạn

Ngoại lệ 1 1.1.1 Hệ thống kiểm tra thông tin xác thực của người dùng không hợp lệ 1.1.2 Thông báo cho người dùng không thể xem danh sách yêu cầu kết bạn

Bảng 2.8: Đặc tả luồng xử lý yêu cầu kết bạn 2.2.2.9 Tìm kiếm và nhắn tin với bạn bè

Tên user case Tìm kiếm và nhắn tin với bạn bè

Mô tả Người dùng muốn nhắn tin với bạn bè

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống và đã kết bạn với một vài người dùng khác

Hành động tác nhân Phản ứng hệ thống

1 Người dùng tìm kiếm bạn bè trong danh sách hiển thị hoặc bằng thanh tìm kiếm

1.1 Hệ thống hiển thị danh sách bạn bè người dùng

2 Người dùng nhắn tin với bạn bè đã tìm

2.1 Hệ thống hiển thị thông tin các cuộc trò chuyện trước đó 2.2 Cập nhật hiển thị các tin nhắn thời gian thực

Ngoại lệ 1 1.1.1 Hệ thống kiểm tra thông tin xác thực của người dùng không hợp lệ 1.1.2 Thông báo cho người dùng không thể tìm kiếm thông tin bạn bè

Bảng 2.9: Đặc tả luồng tìm kiếm và nhắn tin với bạn bè

Biểu đồ lớp

Biểu đồ hoạt động

2.4.1 Biểu đồ hoạt động tổng quan hệ thống

Hình 2.3: Biểu đồ hoạt động tổng quan hệ thống

Hình 2.4: Biểu đồ hoạt động đăng ký

Hình 2.5: Biểu đồ hoạt động đăng nhập

Hình 2.6:Biểu đồ hoạt động đăng xuất 2.4.5 Đặt lại mật khẩu

Hình 2.7: Biểu đồ hoạt động đặt lại mật khẩu

2.4.6 Chỉnh sửa thông tin cá nhân

Hình 2.8: Biểu đồ hoạt động chỉnh sửa thông tin cá nhân

2.4.7 Chỉnh sửa ảnh đại diện hoặc ảnh nền

Hình 2.9: Biểu đồ hoạt động chỉnh sửa ảnh đại diện hoặc ảnh nền

2.4.8 Kết nối cùng người lạ

Hình 2.10: Biểu đồ hoạt động kết nối cùng người lạ

2.4.9 Xử lý yêu cầu kết bạn

Hình 2.11: Biểu đồ hoạt động xử lý yêu cầu kết bạn

2.4.10 Tìm kiếm và nhắn tin với bạn bè

Hình 2.12: Biểu đồ hoạt động tìm kiếm và nhắn tin với bạn bè

Biểu đồ tuần tự

Hình 2.13: Biểu đồ tuần tự luồng đăng ký

Hình 2.14: Biểu đồ tuần tự luồng đăng nhập

Hình 2.15: Biểu đồ tuần tự luồng đặt lại mật khẩu

Hình 2.16: Biểu đồ tuần tự luồng đăng xuất

2.5.5 Chỉnh sửa thông tin cá nhân

Hình 2.17: Biểu đồ tuần tự luồng chỉnh sửa thông tin cá nhân 2.5.6 Chỉnh sửa ảnh đại diện hoặc ảnh nền

Hình 2.18: Biểu đồ tuần tự chỉnh sửa ảnh đại diện hoặc ảnh nền

2.5.7 Kết nối cùng người lạ

Hình 2.19: Biểu đồ tuần tự luồng kết nối cùng người lạ

2.5.8 Xử lý yêu cầu kết bạn

Hình 2.20: Biểu đồ tuần tự luồng xử lý yêu cầu kết bạn

2.5.9 Tìm kiếm và nhắn tin với bạn bè

Hình 2.21: Biểu đồ tuần tự luồng tìm kiếm và nhắn tin với bạn bè2.5.9.1

THIẾT KẾ CƠ SỞ DỮ LIỆU

Các thực thể và thuộc tính

3.1.1 Thực thể NGƯỜI DÙNG: User

- id: Mã định danh người dùng

- user_last_name: Họ người dùng

- user_first_name: Tên người dùng

- user_status: Trạng thái người dùng

- is_deleted: Trạng thái tài khoản

- user_avatar: Ảnh đại diện

- id: Mã dịnh danh OTP

- expired_at: Thời gian hết hạn

3.1.3 Thực thể PHIÊN ĐĂNG NHẬP: KeyToken

- id: Mã định danh token

- public_key: Khoá giải mã công khai

- private_key: Khoá mã hoá bí mật

- refresh_token: Mã phiên đăng nhập

3.1.4 Thực thể QUỐC GIA: Country

- id: Mã định danh quốc gia

- country_name: Tên quốc gia

- country_code: Mã quốc gia

- country_iso_code: Mã iso quốc gia

3.1.5 Thực thể YÊU CẦU KẾT BẠN: FriendRequest

- id: Mã định danh yêu cầu kết bạn

-greeting_text: Lời giới thiệu

3.1.6 Thực thể CUỘC HỘI THOẠI: Conservation

- id: Mã định danh cuộc hội thoại

- type: Loại cuộc hội thoại

- message_count: Số lượng tin nhắn

- call_count: Số lượng cuộc gọi

- is_deleted: Trạng thái cuộc hội thoại

3.1.7 Thực thể TIN NHẮN: Message

- id: Mã định danh tin nhắn

- text: Thông tin tin nhắn dạng văn bản

- atttachment: Thông tin đính kèm

3.1.8 Thực thể PHIÊN ĐĂNG NHẬP CŨ: RefreshToken

- id: Mã định danh phiên đăng nhập cũ

- token: Mã phiên đăng nhập cũ

Mô hình quan hệ

User (id, user_fisrt_name, user_last_name, user_status, is_deleted, user_gender, user_email, user_password, user_avatar, user_background, user_description, user_major, user_role, user_dob, user_country)

RefreshToken (id, belong_to, token)

PasswordResetToken (id, token, user_email, expired_at)

Message (id, sender, conservation, type, text, attachment)

Member (id, user_id, conservation)

KeyToken (id, user_id, public_key, private_key, refresh_token)

FriendRequest (id, sender_id, receiver_id, greeting_text)

Friend (id, sender_id, receiver_id)

Country (id, country_name, country_code, country_iso_code)

Conservvation (id, creator, type, message_count, call_count, is_deleted)

Ngày đăng: 07/06/2024, 15:25

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w