1. Trang chủ
  2. » Công Nghệ Thông Tin

ĐỒ ÁN XÂY DỰNG ỨNG DỤNG CHIA SẺ TÀI LIỆU VÀ KINH NGHIỆM LUYỆN THI TIẾNG ANH

71 3 0

Đ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 đề Xây Dựng Ứng Dụng Chia Sẻ Tài Liệu Và Kinh Nghiệm Luyện Thi Tiếng Anh
Tác giả Nguyễn Duy Minh Nhật, Đoàn Minh Lực
Người hướng dẫn Thầy Lê Thanh Trọng
Trường học Đại Học Quốc Gia Tp. Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án
Năm xuất bản 2021
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 71
Dung lượng 2,78 MB

Cấu trúc

  • 1. GIỚI THIỆU (3)
  • 2. KHẢO SÁT (3)
    • 2.1. Các ứng dụng đã khảo sát (3)
      • 2.1.1. www.englishforums.com (3)
      • 2.1.2. Tapatalk (4)
      • 2.1.3. Idyoma (4)
      • 2.1.4. HiNative (6)
    • 2.2. Đề xuất các tính năng chính cho ứng dụng dự định xây dựng (6)
  • 3. PHÂN TÍCH (7)
    • 3.1. Mô hình Usecase (7)
    • 3.2. Danh sách các Actor (8)
    • 3.3. Danh sách các Usecase (8)
    • 3.4. Đặc tả Usecase (9)
    • 3.5. Sơ đồ lớp (24)
      • 3.5.1. Sơ đồ lớp (24)
      • 3.5.2. Danh sách các lớp đối tượng và quan hệ (25)
      • 3.5.3. Mô tả chi tiết từng lớp đối tượng (26)
    • 3.6. Sơ đồ hoạt động (28)
    • 3.7. Sơ đồ tuần tự (37)
  • 4. THIẾT KẾ (49)
    • 4.1. Thiết kế dữ liệu (49)
    • 4.2. Thiết kế kiến trúc (50)
      • 4.2.1. Kiến trúc hệ thống (50)
      • 4.2.2. Mô tả chi tiết từng thành phần trong hệ thống (51)
    • 4.3. Thiết kế giao diện (51)
      • 4.3.1. Màn hình Tài khoản (51)
      • 4.3.2. Màn hình Diễn đàn (52)
      • 4.3.3. Màn hình Bài Viết (54)
      • 4.3.4. Màn hình Bình luận (56)
      • 4.3.5. Màn hình Bài tập (57)
      • 4.3.6. Màn hình Sửa Chủ đề (59)
      • 4.3.7. Màn hình Xóa Chủ đề (60)
      • 4.3.8. Màn hình Sửa Bài Viết (63)
      • 4.3.9. Màn hình Xóa Bài Viết (65)
      • 4.3.10. Màn hình Sửa Bình Luận (66)
      • 4.3.11. Màn hình Xóa Bình Luận (68)
  • 5. CÀI ĐẶT VÀ THỬ NGHIỆM (70)
  • 6. KẾT LUẬN VÀ HƯỚNG MỞ RỘNG (71)

Nội dung

GIỚI THIỆU

Tiếng Anh hiện nay đã trở thành ngôn ngữ phổ biến, dẫn đến nhu cầu học và chia sẻ kinh nghiệm thi cử ngày càng tăng Nhằm đáp ứng nhu cầu này, nhóm chúng tôi đã phát triển một ứng dụng di động giúp người dùng chia sẻ tài liệu và kinh nghiệm luyện thi Tiếng Anh, tận dụng sự phổ biến của smartphone trong cuộc sống hàng ngày.

- Mục tiêu: Hổ trợ người dùng trong việc tìm kiếm tài liệu cũng như là các kinh nghiệm của những nguời học Tiếng Anh

- Các chức năng chính: Chia sẻ tài liệu, kinh nghiệm học tập, làm các mẫu bài tập.

KHẢO SÁT

Các ứng dụng đã khảo sát

Diễn đàn học tiếng Anh này cho phép người dùng đặt câu hỏi, thảo luận về nhiều chủ đề và chia sẻ video, tài liệu cùng các nguồn học tiếng Anh Người dùng cũng có thể thực hiện các bài kiểm tra thử trực tiếp trên trang, tạo cơ hội để nâng cao kỹ năng ngôn ngữ của mình.

Nền tảng này hoàn toàn miễn phí, giúp người dùng tiếp cận kiến thức mà không tốn chi phí Nội dung bài viết được phân chia rõ ràng theo từng chuyên mục và chủ đề cụ thể, mang lại sự tiện lợi cho việc tìm kiếm thông tin Hệ thống bỏ phiếu cho phép người học đánh giá độ tin cậy của người trả lời và chất lượng câu trả lời, từ đó nâng cao trải nghiệm học tập.

• Nhược điểm: o Ngôn ngữ sử dụng trên trang web chỉ có tiếng Anh nên cần trình độ tiếng Anh nhất định để có thể sử dụng

Việc không sử dụng thẻ (tag) gây khó khăn trong việc tìm kiếm bài viết theo từ khóa, trong khi chỉ có trên nền tảng web cũng làm giảm tính tiện lợi cho người dùng thiết bị di động.

Tapatalk là ứng dụng bao gồm hơn 200000 diễn đàn khác nhau

Người dùng có thể kết nối với những người có cùng sở thích bằng cách xem, đăng tải bài viết và bình luận trên các diễn đàn bằng tiếng Anh.

Nền tảng này mang lại nhiều ưu điểm nổi bật, bao gồm sự đa dạng trong các lĩnh vực và diễn đàn để người dùng thảo luận Bài viết hỗ trợ nhiều loại phương tiện như hình ảnh, âm thanh và video, giúp tăng tính tương tác Hệ thống chat tích hợp giống như mạng xã hội, tạo điều kiện cho người dùng kết nối dễ dàng Đặc biệt, khả năng đồng bộ giữa nhiều nền tảng khác nhau giúp người dùng truy cập thông tin thuận tiện hơn.

Bài viết này nêu rõ một số nhược điểm của ứng dụng học tiếng Anh Đầu tiên, nội dung hoàn toàn bằng tiếng Anh và thiếu chương trình dịch, gây khó khăn cho người mới bắt đầu Thứ hai, phiên bản miễn phí bị giới hạn nhiều tính năng, ảnh hưởng đến trải nghiệm người dùng Cuối cùng, mặc dù có nhiều diễn đàn, nhưng hầu hết không tập trung vào việc luyện thi tiếng Anh, làm giảm hiệu quả học tập.

Idyoma là ứng dụng di động học ngôn ngữ xã hội độc đáo, giúp người dùng kết nối và nhắn tin với nhau để thực hành ngôn ngữ Người dùng có thể thay phiên nhau nói ngôn ngữ của nhau, tạo cơ hội luyện tập hiệu quả và tự nhiên.

Học ngôn ngữ từ người bản địa mang lại hiệu quả cao hơn, giúp người học tiếp thu kiến thức một cách tự nhiên và sinh động Ngoài ra, phương pháp học không bị giới hạn trong khuôn khổ truyền thống, tạo sự hứng thú và động lực cho người học trong quá trình tiếp cận ngôn ngữ mới.

Một số nhược điểm của ứng dụng bao gồm việc thiếu tính năng tìm kiếm người đối thoại theo độ tuổi và sở thích, điều này gây khó khăn cho người dùng trong việc kết nối Thêm vào đó, sự xuất hiện của nhiều tài khoản ảo cũng làm cho việc tìm kiếm đối tác học tập trở nên khó khăn hơn.

HiNative là nền tảng toàn cầu dành cho người học ngoại ngữ, cho phép người dùng đặt câu hỏi hoặc trả lời về ngôn ngữ và văn hóa với người bản địa từ khắp nơi trên thế giới.

Ứng dụng này mang lại nhiều ưu điểm nổi bật, bao gồm khả năng hỏi và trả lời qua nhiều phương tiện như văn bản, hình ảnh, âm thanh và video Hệ thống cấp độ và tính điểm khi người dùng trả lời giúp tạo động lực cho người khác tham gia Ngoài ra, ứng dụng còn tích hợp chức năng dịch tự động, tiết kiệm thời gian tra cứu thông tin Người dùng cũng có thể sử dụng các mẫu câu hỏi có sẵn để hỏi nhanh hơn Đặc biệt, giao diện tiếng Việt giúp những người mới bắt đầu học tiếng Anh dễ dàng sử dụng.

Ứng dụng này có một số nhược điểm, bao gồm việc chỉ hoạt động như một nền tảng hỏi và đáp đơn giản, gây khó khăn trong việc chia sẻ tài liệu học tiếng Anh Hơn nữa, những câu hỏi khó có thể không nhận được phản hồi từ người dùng, làm giảm hiệu quả sử dụng.

Đề xuất các tính năng chính cho ứng dụng dự định xây dựng

• Đăng bài viết: Tính năng để người dùng đặt câu hỏi hoặc chia sẻ kiến thức

• Bình luận: Tính năng để người dùng thảo luận trong một bài viết

• Đăng tải tài liệu: Tính năng để người dùng chia sẻ tài liệu

• Phiên dịch: Tăng tính tiện lợi, giúp người dùng tiết kiệm thời gian tra cứu

• Làm bài tập, bài kiểm tra thử: Tính năng để người dùng ôn tập và kiểm tra trình độ.

PHÂN TÍCH

Mô hình Usecase

Danh sách các Actor

STT Tên Actor Ý nghĩa/Ghi chú

2 Người dùng chưa có tài khoản

Danh sách các Usecase

STT Tên Use-case Ý nghĩa/Ghi chú

14 Sửa thông tin cá nhân

Đặc tả Usecase

3.4.1.1 Đặc tả Use-case “Đăng ký”

Người dùng chưa đăng ký dùng chức năng đăng ký để tạo một tài khoản

1 Người dùng chưa có tài khoản nhấn nút “Tạo tài khoản” trên ứng dụng

2 Người dùng chưa đăng ký nhập các thông tin:

3 Người dùng chưa đăng ký nhấn nút “Đăng ký”

3.4.1.1.2.2 Các dòng sự kiện khác

Nếu người dùng chưa đăng ký nhập thông tin không hợp lệ thì hệ thống sẽ thông báo và yêu cầu nhập lại

3.4.1.1.3 Các yêu cầu đặc biệt

3.4.1.2 Đặc tả Use-case “Đăng nhập”

Người dùng sử dụng tài khoản đã đăng ký để đăng nhập vào hệ thống

1 Người dùng nhấn nút “Đăng nhập” trên ứng dụng

2 Người dùng nhập các thông tin: a Tên tài khoản (Hoặc Gmail) b Mật khẩu

3 Người dùng nhấn nút “Đăng nhập”

3.4.1.2.2.2 Các dòng sự kiện khác

Nếu người dùng nhập một trong hai thông tin không hợp lệ thì hệ thống sẽ thông báo và yêu cầu người dùng nhập lại

3.4.1.2.3 Các yêu cầu đặc biệt

Người dùng đã tạo tài khoản thành công

3.4.1.3 Đặc tả Use-case “Tạo bài viết”

Người dùng ấn vào biểu tượng tạo bài viết trên ứng dụng để tạo một bài viết

1 Người dùng nhấn vào biểu tượng tạo bài viết trên ứng dụng

2 Người dùng nhập các thông tin:

3 Người dùng nhấn nút “Tạo bài viết” a Tên chủ đề bài viết b Nội dung bài viết

3.4.1.3.2.2 Các dòng sự kiện khác

Nếu người dùng nhập không đủ thông tin (Chủ đề hoặc nội dung) thì hệ thống sẽ thông báo và yêu cầu người dùng nhập lại

3.4.1.3.3 Các yêu cầu đặc biệt

Khi thêm nội dung bài viết thì người dùng có thể thêm vào file đính kèm (không bắt buộc)

3.4.1.4 Đặc tả Use-case “Sửa bài viết”

Người dùng muốn sửa lại thông tin bài viết của mình thì sẽ chọn bài viết rồi nhấn nút “Sửa”

1 Người dùng chọn bài viết của mình

2 Người dùng nhấn nút “Sửa”

3 Người dùng sửa lại thông tin mà mình muốn sửa

4 Người dùng nhất nút “Sửa”

3.4.1.4.2.2 Các dòng sự kiện khác

Nếu người dùng không nhập chủ đề hoặc nội dung, khi nhấn nút "Sửa", hệ thống sẽ thông báo rằng chủ đề và nội dung không được để trống và yêu cầu người dùng nhập lại thông tin cần thiết.

3.4.1.4.3 Các yêu cầu đặc biệt

Người dùng chỉ được sửa bài viết của mình tạo

3.4.1.5 Đặc tả Use-case “Xóa bài viết”

Người dùng muốn xóa một bài viết mà mình đã tạo thì sẽ chọn bài viết rồi nhấn nút “Xóa”

1 Người dùng chọn bài viết mình muốn xóa

2 Người dùng nhấn nút “Xóa”

3.4.1.5.2.2 Các dòng sự kiện khác

3.4.1.5.3 Các yêu cầu đặc biệt

Người dùng chỉ được xóa bài viết của mình đã tạo

3.4.1.6 Đặc tả Use-case “Đăng bình luận”

Người dùng muốn đăng bình luận của mình vào một bài viết thì sẽ nhấn nút “Bình luận”

3.4.1.6.2 Dòng sự kiện 3.4.1.6.2.1 Dòng sự kiện chính

1 Người dùng chọn một bài viết

2 Người dùng nhấn nút “Bình luận”

3 Người dùng nhập bình luận của mình

4 Người dùng nhấn nút “Đăng”

3.4.1.6.2.2 Các dòng sự kiện khác

3.4.1.6.3 Các yêu cầu đặc biệt

3.4.1.7 Đặc tả Use-case “Sửa bình luận”

Người dùng muốn sửa một bình luận mà mình đã đăng thì sẽ chọn bình luận đó rồi nhấn “Sửa”

1 Người dùng chọn bài viết mình đã đăng bình luận

2 Người dùng chọn bình luận mình đã đăng

4 Người dùng sửa lại nội dung bình luận

3.4.1.7.2.2 Các dòng sự kiện khác

3.4.1.7.3 Các yêu cầu đặc biệt

Người dùng chỉ được sửa bình luận của mình đã đăng

3.4.1.8 Đặc tả Use-case “Xóa bình luận”

Người dùng muốn xóa một bình luận mà mình đã đăng thì sẽ chọn bình luận rồi nhấn “Xóa”

1 Người dùng chọn bài viết mình đã đăng bình luận

2 Người dùng chọn bình luận mình đã đăng

3.4.1.8.2.2 Các dòng sự kiện khác

3.4.1.9 Các yêu cầu đặc biệt

Người dùng chỉ được xóa bình luận của mình đã đăng

3.4.1.11 Đặc tả Use-case “Xem diễn đàn”

Người dùng muốn xem diễn đàn trên ứng dụng

1 Người dùng vào ứng dụng

2 Người dùng nhấn “Diễn đàn”

3.4.1.11.2.2 Các dòng sự kiện khác

3.4.1.11.3 Các yêu cầu đặc biệt

3.4.1.12 Đặc tả Use-case “Xem bài viết”

Người dùng sử dụng chức năng “Xem bài viết” để xem bài viết trên diễn đàn

1 Người dùng nhấn vào tiêu đề của một bài viết trên diễn đàn

2 Ứng dụng hiển thị chi tiết bài viết (nội dung bài viết, người tạo bài viết, các bình luận trên bài viết)

3.4.1.12.2.2 Các dòng sự kiện khác

3.4.1.12.3 Các yêu cầu đặc biệt

Người dùng nhấn vào nút “Dịch bài viết” để thực hiện chức năng “Phiên dịch”

Người dùng nhấn vào nút “Tải xuống” để thực hiện chức năng “Tải file đính kèm”

Người dùng vào mục “Bình luận” để thực hiện các chức năng “Đăng bình luận”, “Sửa bình luận” hoặc

3.4.1.13 Đặc tả Use-case “Thay đổi thông tin”

Người dùng sử dụng chức năng “thay đổi thông tin” để thay đổi thông tin tài khoản

1 Người dùng nhấn nút “Thay đổi thông tin” trên ứng dụng

2 Ứng dụng hiển thị các mục có thể thay đổi (ảnh đại diện, mật khẩu, thông tin cá nhân)

3.4.1.13.2.2 Các dòng sự kiện khác

3.4.1.13.3 Các yêu cầu đặc biệt

Người dùng nhấn vào nút “Đổi mật khẩu” để thực hiện chức năng đổi mật khẩu

Người dùng nhấn vào nút “Đổi ảnh đại diện” để thực hiện chức năng đổi ảnh đại diện

Người dùng nhấn vào nút “Sửa thông tin cá nhân” để thực hiện chức năng sửa thông tin cá nhân

3.4.1.14 Đặc tả Use-case “Đổi mật khẩu”

Người dùng sử dụng chức năng “Đổi mật khẩu” để thay đổi mật khẩu tài khoản

1 Người dùng nhấn vào nút “Đổi mật khẩu” trên giao diện thay đổi thông tin

2 Người dùng nhập mật khẩu hiện tại của tài khoản

3 Người dùng nhập mật khẩu mới

4 Người dùng nhập lại mật khẩu mới

5 Người dùng nhấn vào nút “Xác nhận”

6 Hệ thống lưu mật khẩu mới của tài khoản vào cơ sở dữ liệu

3.4.1.14.2.2 Các dòng sự kiện khác

Nếu người dùng nhập sai mật khẩu hiện tại hoặc mật khẩu nhập lại không khớp, hệ thống sẽ thông báo lỗi và không lưu mật khẩu mới vào cơ sở dữ liệu.

3.4.1.14.3 Các yêu cầu đặc biệt

3.4.1.15 Đặc tả Use-case “Đổi ảnh đại diện”

1.1.1.1 Người dùng sử dụng tính năng “Đổi ảnh đại diện” để đổi ảnh đại diện cho tài khoản

1 Người dùng nhấn vào nút “Đổi ảnh đại diện”

2 Người dùng chọn ảnh mới từ thiết bị

3 Người dùng nhấn “Xác nhận”

4 Hệ thống lưu lại ảnh đại diện mới cho tài khoản

3.4.1.15.2.2 Các dòng sự kiện khác

3.4.1.15.3 Các yêu cầu đặc biệt

3.4.1.16 Đặc tả Use-case “Sửa thông tin cá nhân”

Người dùng sử dụng tính năng “Sửa thông tin cá nhân” để sửa thông tin cá nhân trên tài khoản

1 Người dùng nhấn vào nút “Sửa thông tin cá nhân” trên giao diện thay đổi thông tin

2 Người dùng nhập các thông tin cần sửa vào các chỗ nhập tương ứng

3 Người dùng nhấn vào nút “Xác nhận”

4 Hệ thống lưu lại thông tin cá nhân mới cho tài khoản

3.4.1.16.2.2 Các dòng sự kiện khác

Nếu người dùng cung cấp thông tin không hợp lệ, hệ thống sẽ không lưu trữ dữ liệu mới và sẽ thông báo cho người dùng về sự không hợp lệ của thông tin đã nhập.

3.4.1.16.3 Các yêu cầu đặc biệt

3.4.1.17 Đặc tả Use-case “Thêm file đính kèm”

Người dùng sử dụng tính năng “Thêm file đính kèm” để thêm file đính kèm vào bài viết

1 Người dùng nhấn vào nút “Thêm file đính kèm” trên giao diện tạo bài viết

2 Người dùng chọn file để đính kèm từ thiết bị

3 Người dùng nhấn nút “Xác nhận”

3.4.1.17.2.2 Các dòng sự kiện khác

3.4.1.17.3 Các yêu cầu đặc biệt

3.4.1.18 Đặc tả Use-case “Tải file đính kèm”

Người dùng sử dụng tính năng “Tải file đính kèm” để tải file đính kèm từ bài viết

1 Người dùng nhấn vào file đính kèm mà người dùng muốn tải

2 Ứng dụng tải file đính kèm về thiết bị

3.4.1.18.2.2 Các dòng sự kiện khác

3.4.1.18.3 Các yêu cầu đặc biệt

3.4.1.19 Đặc tả Use-case “Thêm chủ đề”

Người quản lý sử dụng chức năng “Thêm chủ đề” để thêm chủ đề cho diễn đàn

1 Người quản lý nhấn vào nút “Thêm chủ đề” trên giao diện diễn đàn

2 Người quản lý nhập tên và mô tả chủ đề

3 Người quản lý nhấn “Thêm”

4 Hệ thống lưu chủ đề đã thêm

3.4.1.19.2.2 Các dòng sự kiện khác

3.4.1.19.3 Các yêu cầu đặc biệt

3.4.1.20 Đặc tả Use-case “Xoá chủ đề”

Người quản lý sử dụng chức năng “Xoá chủ đề” để xoá chủ đề trên diễn đàn

1 Người quản lý chọn vào chủ đề muốn xoá

2 Người quản lý nhấn vào nút “Xóa chủ đề”

3.4.1.20.2.2 Các dòng sự kiện khác

3.4.1.20.3 Các yêu cầu đặc biệt

3.4.1.21 Đặc tả Use-case “Sửa chủ đề”

Người quản lý sử dụng chức năng “Sửa chủ đề” để sửa chủ đề trên diễn đàn

1 Người quản lý chọn vào chủ đề muốn sửa

2 Người quản lý nhấn vào nút “Sửa chủ đề”

3 Người quản lý nhập tên mới cho chủ đề

4 Người quản lý nhấn “Lưu”

3.4.1.21.2.2 Các dòng sự kiện khác

3.4.1.21.3 Các yêu cầu đặc biệt

3.4.1.22 Đặc tả Use-case “Kiểm duyệt bài viết”

Người quản lý sử dụng chức năng “Kiểm duyệt bài viết” để kiểm duyệt bài viết trên diễn đàn

1 Người quản lý nhấn vào mục “Danh sách các bài viết chờ kiểm duyệt” trên giao diện diễn đàn

2 Người quản lý nhấn vào bài viết muốn kiểm duyệt

3 Người quản lý chọn trạng thái kiểm duyệt của bài viết (duyệt hoặc không duyệt)

4 Người quản lý nhấn vào nút“Xác nhận”

5 Hệ thống lưu lại trạng thái kiểm duyệt của bài viết

3.4.1.22.2.2 Các dòng sự kiện khác

3.4.1.22.3 Các yêu cầu đặc biệt

3.4.1.23 Đặc tả Use-case “Phiên dịch”

Người dùng dịch bài viết sang ngôn ngữ mà người dùng lựa chọn

1 Người dùng nhấn vào nút “Dịch bài viết”

2 Người dùng chọn ngôn ngữ muốn dịch

3 Hệ thống dịch bài viết sang ngôn ngữ người dùng lựa chọn

3.4.1.23.2.2 Các dòng sự kiện khác

3.4.1.23.3 Các yêu cầu đặc biệt

3.4.1.24 Đặc tả Use-case “Phản hồi”

Thành viên phản hồi về các sự kiện liên quan đến ứng dụng qua chức năng “Phản hồi”

1 Thành viên nhấn vào nút “Phản hồi”

2 Thành viên nhập nội dung muốn phản hồi

3 Thành viên nhấn vào nút “Gửi phản hồi”

3.4.1.24.2.2 Các dòng sự kiện khác

3.4.1.24.3 Các yêu cầu đặc biệt

3.4.1.25 Đặc tả Use-case “Thêm bài tập”

Người quản lý sử dụng chức năng “Thêm bài tập” để thêm bài tập

1 Người quản lý nhấn vào nút “Thêm bài tập”

2 Người quản lý nhấn vào nút “Thêm câu hỏi”

3 Người quản lý nhập nội dung câu hỏi và câu trả lời

4 Người quản lý chọn câu trả lời đúng

5 Người quản lý nhấn “Thêm”

6 Nếu người quản lý muốn thêm câu hỏi thì quay lại bước 2, ngược lại thì người quản lý nhấn nút “Lưu” để lưu lại bài tập và kết thúc

3.4.1.25.2.2 Các dòng sự kiện khác

3.4.1.25.3 Các yêu cầu đặc biệt

3.4.1.26 Đặc tả Use-case “Chỉnh sửa bài tập”

Người quản lý sử dụng chức năng “Chỉnh sửa bài tập” để chỉnh sửa bài tập

1 Người quản lý nhấn vào bài tập mà người quản lý muốn sửa

2 Người quản lý nhấn vào nút “Chỉnh sửa”

3 Người quản lý sửa lại nội dung bài tập (câu hỏi, đáp án, đáp án đúng)

4 Người quản lý nhấn nút “Lưu”

3.4.1.26.2.2 Các dòng sự kiện khác

3.4.1.26.3 Các yêu cầu đặc biệt

3.4.1.27 Đặc tả Use-case “Xoá bài tập”

Người quản lý sử dụng chức năng “Xoá bài tập” để xoá bài tập

1 Người quản lý nhấn vào bài tập mà người quản lý muốn xoá

2 Người quản lý nhấn vào nút “Xóa”

3 Người quản lý nhấn vào nút “Xác nhận”

3.4.1.27.2.2 Các dòng sự kiện khác

3.4.1.27.3 Các yêu cầu đặc biệt

3.4.1.28 Đặc tả Use-case “Làm bài tập”

Thành viên làm bài tập qua chức năng “Làm bài tập”

1.1.1.1.2 Thành viên nhấn vào bài tập muốn làm

1.1.1.1.3 Người dùng chọn đáp án cho từng câu hỏi

1.1.1.1.4 Người dùng nhấn vào nút “Nộp bài”

1.1.1.1.5 Hệ thống hiển thị kết quả của bài tập

3.4.1.28.2.2 Các dòng sự kiện khác

3.4.1.28.3 Các yêu cầu đặc biệt

Sơ đồ lớp

3.5.2 Danh sách các lớp đối tượng và quan hệ

STT Tên lớp/quan hệ Loại Ý nghĩa/Ghi chú

3 NGUOIQUANLY public Người quản lý

9 FILEDINHKEM public File đính kèm

12 CAUTRALOI public Câu trả lời

13 KETQUABAITAP public Kết quả bài tập

14 CHITIETKETQUA public Chi tiết kết quả

3.5.3 Mô tả chi tiết từng lớp đối tượng

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 MaNguoiDung Protected Khoá chính Mã người dùng

2 TenTaiKhoan Protected Phân biệt, từ 6 – 32 ký tự Tên tài khoản

4 MatKhau Protected Từ 6 – 32 ký tự Mật khẩu

5 NgaySinh Protected Không Ngày sinh

6 SDT Protected Không Số điện thoại

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 MaChuDe Private Khoá chính Mã chủ đề

2 TenChuDe Private Không Tên chủ đề

3 MoTa Private Tối đa 255 ký tự Mô tả

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

Mã người dùng tạo bài viết

Mã chủ đề của bài viết

5 NoiDung Private Không Nội dung bài viết

6 TrangThaiKiemDuyet Private Không Trạng thái kiểm duyệt

(Chưa duyệt/Đã duyệt/Không duyệt)

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 MaBinhLuan Private Khoá chính Mã bình luận

2 MaBaiViet Private Khoá ngoại Mã bài viết của bình luận

3 MaNguoiDung Private Khoá ngoại Mã người dùng đăng bình luận

4 NoiDung Private Không Nội dung bình luận

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 MaThe Private Khoá chính Mã thẻ (tag)

2 TenThe Private Không Tên thẻ

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 MaFile Private Khoá chính Mã file đính kèm

2 MaNguoiDung Private Khoá ngoại Mã người dùng thêm file

3 TenFile Private Tối đa 100 ký tự Tên file đính kèm

4 KichThuoc Private Không Kích thước của file đính kèm

5 MaBaiViet Private Khoá ngoại Mã bài viết của file đính kèm

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 MaPhanHoi Private Khoá chính Mã phản hồi

2 MaNguoiDung Private Khoá ngoại Mã người dùng gửi phản hồi

3 NoiDung Private Không Nội dung

4 ThoiGianGui Private Không Thời gian gửi

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 MaBaiTap Private Khoá chính Mã bài tập

2 MaNguoiDung Private Khoá ngoại Mã người dùng thêm bài tập

3 TenBaiTap Private Tối đa 100 ký tự

4 MoTa Private Tối đa 255 ký tự

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 MaBaiTap Private Khoá ngoại Mã bài tập của câu hỏi

2 MaCauHoi Private Khoá chính Mã câu hỏi

3 NoiDung Private Tối đa 255 ký tự Nội dung câu hỏi

Loại Ràng buộc Ý nghĩa/ghi chú

1 MaCauTraLoi Private Khoá chính Mã câu trả lời

2 MaCauHoi Private Khoá ngoại Mã câu hỏi

3 NoiDung Private Tối đa 255 ký tự

4 DungSai Private Không Đúng/sai (Câu trả lời là đúng/sai)

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

Mã kết quả bài tập

Mã bài tập của kết quả bài tập

Mã người dùng làm bài tập

4 ThoiGianLam Private Không Thời gian người dùng làm bài tập

5 SoCauDung Private Không Số câu hỏi người dùng trả lời đúng

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

Mã kết quả bài tập

Mã câu hỏi của kết quả bài tập

Mã câu trả lời người dùng dùng chọn

Sơ đồ hoạt động

Sơ đồ tuần tự

THIẾT KẾ

Thiết kế dữ liệu

Thiết kế kiến trúc

Phần mềm được xây dựng theo mô hình client-server:

Các thành phần trong client:

UI Screen: Thành phần màn hình giao diện người dùng, nhiệm vụ chính là hiển thị dữ liệu và nhận dữ liệu từ người dùng

BLOC (Business Logic Components) là các thành phần chịu trách nhiệm xử lý nghiệp vụ của chương trình, nhận sự kiện từ giao diện người dùng (UI) và thực hiện các thao tác xử lý để trả về kết quả cho UI.

Repository: Thành phần tập trung các nguồn dữ liệu, cung cấp khả năng bảo trì và mở rộng tốt hơn cho chương trình

Network Provider: Thành phần cung cấp dữ liệu, chịu trách nhiệm truy xuất dữ liệu từ máy chủ thông qua Web API

Các thành phần trong server:

Web API là giao diện lập trình phần mềm có thể truy cập qua web bằng giao thức HTTP Nó nhận và xử lý các yêu cầu từ client, sau đó trả lại kết quả cho client.

DBMS (Database Management System): Hệ quản trị cơ sở dữ liệu, dùng để lưu trữ và quản lý dữ liệu

4.2.2 Mô tả chi tiết từng thành phần trong hệ thống

UI Screen Màn hình giao diện người dùng

BLOC Thành phần xử lý nghiệp vụ logic

Repository Nơi chứa nguồn dữ liệu

Network Provider Cung cấp dữ liệu

Web API Giao diện lập trình ứng dụng truy cập qua web

DBMS Hệ quản trị cơ sở dữ liệu

Thiết kế giao diện

Màn hình hiển thị thông tin tài khoản bao gồm tên, ảnh đại diện, email và ngày sinh của người dùng Người dùng có thể thay đổi mật khẩu tài khoản qua tùy chọn "Đổi mật khẩu" Ngoài ra, tùy chọn "Đăng xuất" cho phép người dùng thoát khỏi tài khoản của mình.

4.3.2 Màn hình Diễn đàn Ở màn hình này sẽ hiển thị các chủ đề để người dùng lựa chọn

Người dùng chọn một chủ đề nào đấy thì sẽ được chuyển đến màn hình chủ đề

Người dùng muốn tìm kiếm thì chọn vào thanh tìm kiếm và nhập chủ đề muốn tìm kiếm

Nếu như là người quản lý thì sẽ có thêm chức năng thêm chủ đề

Ngoài ra người dùng còn có thể gửi phản hồi bằng chức năng phản hồi

Trên màn hình này, người dùng sẽ thấy các bài viết từ các tài khoản khác nhau Mỗi bài viết có thể kèm theo file đính kèm hoặc không, và người dùng có thể tải xuống file đó thông qua chức năng được cung cấp.

Bình luận: Dùng khi người dùng muốn đăng lên bài viết đấy nình luận của mình

Người dùng có thể tìm kiếm bài viết bằng các thẻ(Tag1,Tag2,Tag3,Tag4,…)

56 Ở màn hình này sẽ hiển thị các bình luận của người dủng và các câu trả lời của các người dùng khác đối với một bình luận nào đấy

Trả lời: Dùng cho những người dùng khác đăng ý kiến của mình về một bình luận nào đấy

Nhập bình luận: Dùng để nhập bình luận của người dùng và sau đó đăng lên bài viết bằng chức năng

57 Ở màn hình này sẽ hiển thị các bài tập để người dùng lựa chọn

Sau khi chọn được một bài tập thì người dùng sẽ được bắt đầu làm bài

Người dùng chọn “Kế tiếp” để chuyển sang trang kế tiếp “trở lại” để quay lại trang trước “Nộp bài” để kết thúc làm bài và nộp bài

4.3.6 Màn hình Sửa Chủ đề

Để chỉnh sửa một chủ đề, người quản lý cần nhấn giữ chủ đề đó để hiển thị các tùy chọn Sau khi chọn chức năng “Sửa”, hệ thống sẽ chuyển đến màn hình chỉnh sửa tiếp theo.

Người quản lý sẽ chỉnh sửa chủ đề sau đó nếu muốn lưu lại thay đổi thì sẽ chọn

“Lưu”, nếu không thì chọn “Thoát”

4.3.7 Màn hình Xóa Chủ đề

Để chỉnh sửa một chủ đề, người quản lý cần nhấn giữ chủ đề đó để hiển thị các tùy chọn Khi chọn chức năng “Xóa”, hệ thống sẽ chuyển đến màn hình tiếp theo.

Người quản lý nếu muốn xóa chủ đề thì sẽ chọn “Xóa”, nếu không thì chọn

4.3.8 Màn hình Sửa Bài Viết

Khi muốn chỉnh sửa một bài viết, người dùng chỉ cần nhấn giữ bài viết của mình để hiển thị các tùy chọn Sau đó, chọn chức năng "Sửa" để chuyển đến màn hình chỉnh sửa tiếp theo.

Người dùng sẽ chỉnh sửa bài viết sau đó nếu muốn lưu lại thay đổi thì sẽ chọn

“Lưu”, nếu không thì chọn “Thoát”

4.3.9 Màn hình Xóa Bài Viết

Khi người dùng muốn chỉnh sửa một bài viết, họ chỉ cần nhấn giữ bài viết đó để hiển thị các tùy chọn Sau khi chọn chức năng “Xóa”, người dùng sẽ được chuyển đến màn hình tiếp theo.

Người dùng nếu muốn xóa bài viết thì chọn “Xóa”, nếu không chọn “Thoát”

4.3.10 Màn hình Sửa Bình Luận

Để chỉnh sửa một bình luận, người dùng chỉ cần nhấn giữ bình luận của mình để hiển thị các tùy chọn Sau khi chọn chức năng “Sửa”, người dùng sẽ được chuyển đến màn hình chỉnh sửa bình luận.

Người dùng sẽ chỉnh sửa bình luận sau đó nếu muốn lưu lại thay đổi thì sẽ chọn

“Lưu”, nếu không thì chọn “Thoát”

4.3.11 Màn hình Xóa Bình Luận

Để chỉnh sửa bình luận, người dùng chỉ cần nhấn giữ bình luận của mình để hiện ra các tùy chọn Khi chọn chức năng “Xóa”, người dùng sẽ được chuyển đến màn hình tiếp theo.

Người dùng nếu muốn xóa bình luận sẽ chọn “Xóa”, nếu không chọn “Thoát”.

CÀI ĐẶT VÀ THỬ NGHIỆM

Môi trường cài đặt: Android

Ngôn ngữ cài đặt: Dart, Flutter

Thử nghiệm cho thấy ứng dụng được xuất file apk và chạy thành công trên các giả lập Android cũng như trên điện thoại di động Tuy nhiên, một số dòng điện thoại gặp tình trạng lag nhẹ khi sử dụng.

Ngày đăng: 18/12/2021, 22:09

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

TÀI LIỆU LIÊN QUAN

w