1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng app mobile tư vấn sinh viên

155 8 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 App Mobile Tư Vấn Sinh Viên
Tác giả Nguyễn Văn Thành, Võ Tá Đức
Người hướng dẫn ThS. Nguyễn Hữu Trung
Trường học Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 155
Dung lượng 14,64 MB

Cấu trúc

  • 1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI (22)
  • 2. MỤC ĐÍCH CỦA ĐỀ TÀI (23)
  • 3. PHƯƠNG PHÁP THỰC HIỆN (23)
  • CHƯƠNG 1. CƠ SỞ LÝ THUYẾT (24)
    • 1.1 Flutter (24)
      • 1.1.1 Giới thiệu về Flutter (24)
      • 1.1.2 Điều làm Flutter trở nên độc đáo (25)
      • 1.1.3 Các tính năng của Flutter (25)
      • 1.1.4 So sánh Flutter và các đối thủ (26)
    • 1.2 Dart (27)
      • 1.2.1 Giới thiệu về Dart (27)
      • 1.2.2 Ưu điểm (28)
    • 1.3 Google Firebase (28)
      • 1.3.1 Giới thiệu về Google Firebase (28)
      • 1.3.2 Freebase Authentication (29)
      • 1.3.3 Ưu điểm (29)
  • CHƯƠNG 2. KHẢO SÁT, PHÂN TÍCH HIỆN TRẠNG (30)
    • 2.1 Phân tích hiện trạng (30)
    • 2.2 Khảo sát một số phần mềm (31)
      • 2.2.1 Trang tư vấn sinh viên Trường Đại học Sư Phạm Kỹ Thuật Thành phố Hồ Chí (31)
    • 2.3 Phân tích yêu cầu của dự án (33)
    • 2.4 Danh sách yêu cầu chức năng nghiệp vụ (35)
    • 2.5 Danh sách yêu cầu chức năng hệ thống (36)
    • 2.6 Danh sách yêu cầu phi chức năng (36)
  • CHƯƠNG 3. MÔ HÌNH HÓA YÊU CẦU (37)
    • 3.1 Lược đồ Usecase (37)
    • 3.2 Phân hệ người dùng (38)
      • 3.2.1 Đăng nhập (38)
      • 3.2.2 Đăng kí (39)
      • 3.2.3 Đăng xuất (40)
      • 3.2.4 Xem thông tin cá nhân (40)
      • 3.2.5 Thay đổi thông tin cá nhân (41)
      • 3.2.6 Đổi ảnh đại diện (42)
      • 3.2.7 Xem giới thiệu về trường (42)
      • 3.2.8 Xem các bài đăng (43)
      • 3.2.9 Gửi thắc mắc về bài đăng (44)
      • 3.2.10 Xem danh sách tư vấn viên (45)
      • 3.2.11 Xem thông tin tư vấn viên (45)
      • 3.2.12 Đặt câu hỏi cho tư vấn viên (46)
      • 3.2.13 Xem các câu hỏi của người dùng đã gửi (47)
      • 3.2.14 Xem chi tiết câu hỏi và câu trả lời (47)
      • 3.2.15 Đặt câu hỏi (48)
      • 3.2.16 Đổi mật khẩu (49)
      • 3.2.17 Xem danh sách các câu hỏi được public (50)
    • 3.3 Phân hệ tư vấn viên (51)
      • 3.3.1 Đăng nhập (51)
      • 3.3.2 Đăng xuất (52)
      • 3.3.3 Xem thông tin cá nhân (52)
      • 3.3.4 Thay đổi ảnh đại diện (53)
      • 3.3.5 Thay đổi thông tin cá nhân (53)
      • 3.3.6 Đổi mật khẩu (54)
      • 3.3.7 Xem các bài đăng (55)
      • 3.3.8 Xem giới thiệu về trường (0)
      • 3.3.9 Xem danh sách câu hỏi của tư vấn viên (56)
      • 3.3.10 Xem chi tiết câu hỏi và câu trả lời (57)
      • 3.3.11 Thêm câu trả lời (58)
      • 3.3.12 Chuyển câu hỏi (0)
      • 3.3.13 Xem danh sách các câu hỏi được public (59)
    • 3.4 Phân hệ trưởng nhóm (61)
      • 3.4.1 Đăng nhập (62)
      • 3.4.2 Đăng xuất (63)
      • 3.4.3 Xem thông tin cá nhân (64)
      • 3.4.4 Đổi ảnh đại diện (64)
      • 3.4.5 Thay đổi thông tin cá nhân (65)
      • 3.4.6 Đổi mật khẩu (66)
      • 3.4.7 Quản lý tư vấn viên (66)
      • 3.4.8 Thay đổi lĩnh vực phụ trách (67)
      • 3.4.9 Vô hiệu hóa tài khoản (68)
      • 3.4.10 Reset mật khẩu (69)
      • 3.4.11 Kích hoạt tài khoản (70)
      • 3.4.12 Thêm tư vấn viên (70)
      • 3.4.13 Quản lý lĩnh vực (71)
      • 3.4.14 Chỉnh sửa lĩnh vực thuộc khoa (72)
      • 3.4.15 Xóa lĩnh vực thuộc khoa (73)
      • 3.4.16 Thêm lĩnh vực thuộc khoa (73)
      • 3.4.17 Xem các bài đăng (74)
      • 3.4.18 Thêm bài đăng mới (74)
      • 3.4.19 Xem các câu hỏi thuộc khoa (75)
      • 3.4.20 Xem chi tiết câu hỏi và câu trả lời (76)
      • 3.4.21 Thêm câu trả lời (77)
      • 3.4.22 Chuyển câu hỏi (0)
      • 3.4.23 Xem danh sách các câu hỏi được public (78)
      • 3.4.24 Xem thống kê của khoa (79)
    • 3.5 Phân hệ manager (80)
      • 3.5.1 Đăng nhập (80)
      • 3.5.2 Đăng xuất (81)
      • 3.5.3 Xem thông tin cá nhân (82)
      • 3.5.4 Đổi ảnh đại diện (82)
      • 3.5.5 Thay đổi thông tin cá nhân (83)
      • 3.5.6 Đổi mật khẩu (84)
      • 3.5.7 Xem giới thiệu về trường (85)
      • 3.5.8 Xem thống kê (85)
      • 3.5.9 Quản lý các khoa (86)
      • 3.5.10 Chỉnh sửa tên khoa (86)
      • 3.5.11 Thay đổi trưởng khoa (87)
      • 3.5.12 Thêm khoa mới (88)
      • 3.5.13 Xem các bài đăng (88)
      • 3.5.14 Xem danh sách các câu hỏi được public (89)
      • 3.5.15 Xem chi tiết câu hỏi và câu trả lời (90)
  • CHƯƠNG 4. THIẾT KẾ PHẦN MỀM (91)
    • 4.1 Lược đồ tuần tự (91)
      • 4.1.1 Đăng kí (91)
      • 4.1.2 Đăng nhập (92)
      • 4.1.3 Chỉnh sửa thông tin cá nhân (93)
      • 4.1.4 Đặt câu hỏi (94)
      • 4.1.5 Trả lời câu hỏi (95)
      • 4.1.6 Chuyển câu hỏi (0)
      • 4.1.7 Reset mật khẩu (97)
      • 4.1.8 Vô hiệu hóa tài khoản (98)
      • 4.1.9 Thay đổi lĩnh vực tư vấn viên (98)
    • 4.2 Lược đồ cơ sở dữ liệu (98)
  • CHƯƠNG 5. THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ (100)
    • 5.1 Màn hình splash (100)
    • 5.2 Người dùng (101)
      • 5.2.1 Đăng nhập (101)
      • 5.2.2 Đăng ký (103)
      • 5.2.3 Reset mật khẩu (105)
      • 5.2.4 Trang chủ (106)
      • 5.2.5 Tìm kiếm bài đăng (108)
      • 5.2.6 Chi tiết bài đăng (110)
      • 5.2.7 Màn hình message (112)
      • 5.2.8 Màn hình tìm kiếm tư vấn viên (114)
      • 5.2.9 Màn hình chi tiết tin nhắn (116)
      • 5.2.10 Màn hình thông tin tư vấn viên (118)
      • 5.2.11 Lựa chọn chuyển hướng (0)
      • 5.2.12 Màn hình thông tin cá nhân (122)
    • 5.3 Đội ngũ tư vấn viên (124)
      • 5.3.1 Trang home (124)
      • 5.3.2 Thông tin cá nhân (126)
      • 5.3.3 Màn hình quản lý tư vấn viên (128)
      • 5.3.4 Tạo tư vấn viên mới (130)
      • 5.3.5 Chỉnh sửa tác vụ với tư vấn viên (132)
      • 5.3.6 Quản lý lĩnh vực trong khoa (134)
      • 5.3.7 Màn hình tin nhắn (136)
      • 5.3.8 Màn hình chi tiết tin nhắn tư vấn viên (138)
      • 5.3.9 Chuyển câu hỏi (0)
      • 5.3.10 Thống kê (142)
      • 5.3.11 Tạo bài đăng mới (144)
    • 5.4 Admin (145)
      • 5.4.1 Màn hình đăng nhập admin (145)
      • 5.4.2 Màn hình trang chủ admin (146)
  • CHƯƠNG 6. CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG (147)
    • 6.1 Cài đặt (147)
    • 6.2 Kiểm thử ứng dụng (0)
      • 6.2.1 Các chức năng thuộc phân hệ người dùng (147)
      • 6.2.2 Các chức năng thuộc phân hệ tư vấn viên (148)
      • 6.2.3 Phân hệ trưởng nhóm (148)
      • 6.2.4 Phân hệ Manager (150)
    • 1. NHỮNG KẾT QUẢ ĐẠT ĐƯỢC (151)
      • 1.1 Về kiến thức (151)
      • 1.2 Về đề tài (151)
      • 1.3 Về kinh nghiệm (152)
    • 2. ƯU ĐIỂM VÀ NHƯỢC ĐIỂM (152)
      • 2.1 Ưu điểm (152)
      • 2.2 Nhược điểm (152)
    • 3. THUẬN LỢI (152)
    • 4. KHÓ KHĂN (152)
    • 5. HƯỚNG PHÁT TRIỂN (153)

Nội dung

TÍNH CẤP THIẾT CỦA ĐỀ TÀI

Công nghệ thông tin đang phát triển mạnh mẽ trong mọi lĩnh vực của đời sống, kinh tế và xã hội, đặc biệt trong cơ chế thị trường Sự phát triển của các quan hệ kinh tế và quy mô doanh nghiệp đã làm tăng khối lượng thông tin, khiến công tác quản lý trở nên phức tạp hơn Việc quản lý thủ công bằng sổ sách không còn đáp ứng được nhu cầu hiện tại Do đó, quản lý dựa vào máy tính trở thành một nhu cầu thiết yếu cho hầu hết các ngành và doanh nghiệp, với việc tin học hóa từng bước trong quản lý, khai thác và điều hành sản xuất kinh doanh ngày càng trở nên cấp thiết.

Trong môi trường giáo dục hiện nay, việc sinh viên trao đổi thông tin và đặt câu hỏi với giảng viên là rất quan trọng Trước đây, sinh viên phải đến phòng tư vấn để giải quyết thắc mắc, điều này tốn thời gian và không phải lúc nào cũng có người đủ chuyên môn Hiện tại, sinh viên Sư phạm kỹ thuật có thể truy cập trang web tuvansinhvien.hcmute.edu.vn để nhận tư vấn Tuy nhiên, việc truy cập website và yêu cầu tư vấn trực tuyến vẫn có những hạn chế Để cải thiện điều này, nhóm chúng tôi đề xuất phát triển một ứng dụng di động cho phép sinh viên đặt câu hỏi ngay trên điện thoại, giúp tư vấn viên nhận thông báo nhanh chóng và nâng cao hiệu quả tư vấn.

Xuất phát từ ý tưởng đó, nhóm em xin thực hiện đề tài Xây dựng ứng dụng mobile tư vấn sinh viên

MỤC ĐÍCH CỦA ĐỀ TÀI

Mục tiêu chính của việc phát triển ứng dụng di động tư vấn sinh viên là mang lại sự tiện lợi, tiết kiệm thời gian và chi phí, đồng thời đảm bảo hiệu quả cao.

Việc sử dụng Firebase không chỉ mang lại sự rõ ràng và chính xác cho dữ liệu mà còn giúp giảm thiểu sai sót và mất mát thông tin Dữ liệu được lưu trữ trên nền tảng này cho phép xử lý theo thời gian thực, từ đó nâng cao tốc độ và hiệu quả trong quá trình vận hành.

PHƯƠNG PHÁP THỰC HIỆN

Tìm hiểu các kiến thức cần thiết để thực hiện đề tài:

 Các kỹ thuật phân tích thiết kế hệ thống

 Tìm hiểu ngôn ngữ lập trình Dart

 Tìm hiểu Flutter, các thư viện hỗ trợ cho đề tài

CƠ SỞ LÝ THUYẾT

Flutter

Flutter là bộ SDK đa nền tảng do Google phát triển, cho phép xây dựng ứng dụng di động (native app) trên cả iOS và Android.

Flutter gồm 2 thành phần quan trọng:

 Một SDK (Software Development Kit): Một bộ sưu tập các công cụ sẽ giúp bạn phát triển các ứng dụng của mình

Một Framework (Thư viện giao diện người dùng dựa trên các widget) là một bộ sưu tập các thành phần giao diện người dùng (UI) có thể tái sử dụng như nút, ô nhập liệu, thanh trượt, v.v giúp người dùng cá nhân hóa theo nhu cầu riêng của mình.

Flutter là bộ công cụ giao diện người dùng miễn phí và mã nguồn mở, cho phép phát triển ứng dụng nhanh chóng và đẹp mắt với mã nguồn duy nhất cho di động, web và máy tính để bàn Được phát triển bởi Google và hiện đang tuân theo tiêu chuẩn ECMA, Flutter sử dụng ngôn ngữ lập trình Dart để xây dựng ứng dụng.

Flutter được tối ưu hóa chủ yếu cho các ứng dụng di động 2D, cho phép phát triển trên cả nền tảng Android và iOS Ngoài ra, Flutter còn hỗ trợ xây dựng các ứng dụng đầy đủ tính năng như máy ảnh, bộ nhớ, vị trí địa lý, mạng và tích hợp SDK của bên thứ ba.

1.1.2 Điều làm Flutter trở nên độc đáo

Flutter nổi bật so với các framework khác nhờ việc không sử dụng WebView hay các widget OEM đi kèm với thiết bị Thay vào đó, nó áp dụng công cụ kết xuất hiệu suất cao riêng để vẽ các widget Hệ thống của Flutter, bao gồm hoạt ảnh, cử chỉ và widget, được triển khai chủ yếu bằng ngôn ngữ lập trình Dart, cho phép các nhà phát triển dễ dàng đọc, thay đổi, thay thế hoặc loại bỏ các thành phần.

Nó cung cấp khả năng kiểm soát tuyệt vời cho các nhà phát triển đối với hệ thống

1.1.3 Các tính năng của Flutter

Flutter là một framework mạnh mẽ giúp xây dựng ứng dụng di động và máy tính để bàn với thiết kế đẹp mắt, sử dụng bộ material design và các widget phong phú Bài viết này sẽ khám phá những tính năng nổi bật của Flutter trong việc phát triển ứng dụng di động.

Flutter is a free and open-source framework designed for mobile app development Its cross-platform capability enables developers to write code once and deploy it across multiple platforms.

Hình 1.2: a Hình 1.2 Các tính năng của Flutter [1]

22 duy trì và có thể chạy trên các nền tảng khác nhau Nó tiết kiệm thời gian, công sức và tiền bạc của các nhà phát triển

Tải lại nóng (Hot Reload) là tính năng cho phép nhà phát triển thấy ngay lập tức các thay đổi trong code mà họ thực hiện, hiển thị trực tiếp trong ứng dụng Điều này mang lại sự tiện lợi lớn, giúp nhà phát triển nhanh chóng sửa chữa lỗi mà không cần khởi động lại ứng dụng.

Các tính năng và SDK gốc có thể truy cập giúp quá trình phát triển ứng dụng trở nên dễ dàng và thú vị hơn thông qua mã nguồn của Flutter Tính năng này cho phép tích hợp các bên thứ ba và các API nền tảng, từ đó tạo điều kiện thuận lợi để truy cập SDK trên cả hai nền tảng.

Code tối thiểu (Minimal code) trong ứng dụng Flutter được phát triển bằng ngôn ngữ lập trình Dart, kết hợp biên dịch JIT và AOT để tối ưu hóa thời gian khởi động, hiệu suất hoạt động và tăng tốc trải nghiệm người dùng JIT hỗ trợ cải thiện quy trình phát triển và cho phép làm mới giao diện người dùng một cách dễ dàng mà không cần đầu tư thêm vào việc xây dựng hệ thống mới.

Widget là framework công tác của Flutter, cung cấp các widget cho phép phát triển thiết kế tùy chỉnh Flutter bao gồm hai bộ widget chính: Material Design và widget Cupertino, giúp mang lại trải nghiệm mượt mà trên mọi nền tảng.

1.1.4 So sánh Flutter và các đối thủ

Khi so sánh Flutter và React Native, hai framework nổi bật trong phát triển ứng dụng di động, có nhiều yếu tố cần cân nhắc Flutter, với khả năng tạo giao diện người dùng đẹp mắt và hiệu suất cao, đang thu hút sự chú ý, trong khi React Native lại nổi bật nhờ vào cộng đồng lớn và khả năng tái sử dụng mã nguồn Việc lựa chọn giữa hai framework này phụ thuộc vào nhu cầu cụ thể của dự án và kỹ năng của đội ngũ phát triển.

Bảng 1.1 So sánh Flutter và React Native

Dart + Flutter Java Script/React.js

Biên dịch Biên dịch thành các Native Biên dịch một phần thành

App Native App, một phần trong

App được chạy dưới dạng JavaScript

Xây dựng các thành phần UI

Không biên dịch code thành các UIComponent của riêng Android hay IOS mà Flutter kiểm soát từng pixel trên màn hình

Biên dịch code thành các UIComponent của riêng Android hay IOS

Nền tảng ứng dụng Ứng dụng di động, web, desktop

Hầu như là ứng dụng di động (Có thể có React Native Web)

Dart

Dart là ngôn ngữ lập trình hướng đối tượng mã nguồn mở, được Google phát triển vào năm 2011 với cú pháp kiểu C Ngôn ngữ này nhằm mục đích tạo giao diện người dùng frontend cho web và ứng dụng di động, và đang được phát triển tích cực Dart được biên dịch sang mã máy gốc để xây dựng ứng dụng di động, lấy cảm hứng từ các ngôn ngữ như Java, JavaScript, C# và Typed Do là ngôn ngữ biên dịch, Dart không cho phép thực thi mã trực tiếp; thay vào đó, trình biên dịch sẽ phân tích cú pháp và chuyển đổi mã thành code máy.

Ngôn ngữ Dart hỗ trợ hầu hết các khái niệm cơ bản của lập trình như lớp, giao diện và hàm, nhưng không cung cấp mảng trực tiếp Thay vào đó, Dart sử dụng tập hợp để sao chép cấu trúc dữ liệu tương tự như mảng, đồng thời hỗ trợ generic và kiểu tùy chọn.

Dart là ngôn ngữ lập trình lý tưởng để phát triển ứng dụng chất lượng cao cho nhiều nền tảng như Android, iOS và Web Với Dart, bạn có thể tạo ra những trải nghiệm đẹp mắt và chất lượng trên tất cả các loại màn hình.

 Một ngôn ngữ được tối ưu hóa cho client

 Cú pháp dễ làm quen, rõ ràng, súc tích, sớm xác định được các lỗi.

Google Firebase

1.3.1 Giới thiệu về Google Firebase

Firebase là dịch vụ cơ sở dữ liệu đám mây mạnh mẽ của Google, giúp đơn giản hóa quá trình lập trình ứng dụng thông qua việc tối ưu hóa các thao tác với cơ sở dữ liệu.

Firebase cung cấp giao diện lập trình ứng dụng API đơn giản, giúp tăng cường số lượng người dùng và tối ưu hóa lợi nhuận Dịch vụ này nổi bật với tính năng đa năng và bảo mật cao, hỗ trợ cả hai nền tảng Android và iOS.

Firebase là nền tảng lý tưởng cho việc phát triển ứng dụng di động và website, cung cấp các API mạnh mẽ và dễ sử dụng mà không cần phải lo lắng về backend hay server.

Firebase nổi bật với khả năng xác thực người dùng thông qua các nền tảng như Email, Facebook, Twitter, GitHub và Google, đồng thời hỗ trợ xác thực nặc danh cho ứng dụng Quá trình xác thực này giúp bảo vệ thông tin cá nhân của người dùng, đảm bảo an toàn và ngăn chặn việc đánh cắp tài khoản.

 Tạo tài khoản và sử dụng dễ dàng

 Tốc độ phát triển nhanh

 Nhiều dịch vụ trong một nền tảng

 Được cung cấp bởi Google

 Tập trung vào phát triển giao diện người dùng

 Firebase không có máy chủ

 Tạo lưu lượng truy cập

KHẢO SÁT, PHÂN TÍCH HIỆN TRẠNG

Phân tích hiện trạng

Công nghệ thông tin đang phát triển mạnh mẽ trong mọi lĩnh vực của đời sống, kinh tế và xã hội Sự mở rộng quy mô của doanh nghiệp và xí nghiệp trong cơ chế thị trường đã làm tăng khối lượng thông tin, khiến công tác quản lý trở nên phức tạp hơn Việc quản lý thủ công bằng sổ sách không còn đáp ứng được yêu cầu hiện tại Do đó, quản lý dựa vào máy tính trở thành nhu cầu thiết yếu cho hầu hết các ngành và doanh nghiệp Tin học hóa trong quản lý, khai thác và điều hành sản xuất kinh doanh là yêu cầu cấp thiết trong thời đại ngày nay.

Trong bối cảnh giáo dục hiện đại, việc giao tiếp giữa sinh viên và giảng viên là rất quan trọng do nhu cầu hỏi đáp của sinh viên ngày càng tăng Trước đây, sinh viên phải đến trực tiếp phòng tư vấn để giải đáp thắc mắc, nhưng điều này thường mất thời gian và không đảm bảo có chuyên gia sẵn sàng Hiện nay, sinh viên có thể truy cập trang web tuvansinhvien.hcmute.edu.vn để nhận tư vấn nhanh chóng Tuy nhiên, việc này vẫn yêu cầu sinh viên phải vào website và các tư vấn viên phải thường trực Do đó, nhóm chúng tôi đề xuất phát triển một ứng dụng di động, cho phép sinh viên đặt câu hỏi trực tiếp trên điện thoại, giúp tư vấn viên nhận thông báo nhanh chóng và cải thiện hiệu quả tư vấn.

Xuất phát từ ý tưởng đó, nhóm em xin thực hiện đề tài Xây dựng ứng dụng mobile

Khảo sát một số phần mềm

2.2.1 Trang tư vấn sinh viên Trường Đại học Sư Phạm Kỹ Thuật Thành phố Hồ Chí Minh Đường dẫn website: http://tuvansinhvien.hcmute.edu.vn/

Hình 2.1 Trang chủ trang tư vấn sinh viên [12]

Hình 2.2 Đặt câu hỏi cho tư vấn viên [12]

Hình 2.3 Danh sách tư vấn viên [12]

Hình 2.4 Thư viện câu hỏi [12]

Hình 2.5 Câu hỏi và câu trả lời [12]

Bảng 2.1 Nhận xét trang tư vấn sinh viên

Các chức năng Hạn chế

- Có chức năng đăng nhập, gửi câu hỏi và câu trả lời

- Có danh sách đội ngũ tư vấn viên

- Có hệ thống câu hỏi, lọc câu hỏi theo từng đơn vị

- Có thư viện câu hỏi

- Chưa kiểm soát được việc truy cập đăng nhập từ đầu

- Phải truy cập vào website mới có thể sử dụng

- Một số vấn đề tế nhị như thông tin cá nhân khi đặt câu hỏi vẫn được công khai

- UI/UX chưa tối ưu.

Phân tích yêu cầu của dự án

Xây dựng ứng dụng di động cho phép người dùng trao đổi, đặt câu hỏi và trả lời câu hỏi, cùng với một website quản trị hệ thống dành cho quản trị viên Các chức năng chính của chương trình bao gồm việc tạo thông báo, quản lý người dùng và hỗ trợ tương tác hiệu quả giữa các thành viên.

Bảng 2.2 Phân tích yêu cầu dự án Đối tượng sử dụng Các chức năng thực hiện

- Reset mật khẩu qua email

- Xem các bài thông báo được đăng

- Đặt câu hỏi về các bài đăng

- Gửi tin nhắn riêng cho tư vấn viên

- Xem các câu hỏi, tin nhắn của bản thân và câu trả lời

- Xem danh sách, tìm kiếm đội ngũ tư vấn viên

- Xem thông tin của tư vấn viên cụ thể

- Quản lý tài khoản, thông tin cá nhân

- Thay đổi ảnh đại diện

- Xem giới thiệu về trường

Tư vấn viên - Đăng nhập

- Quản lý tài khoản, thông tin cá nhân

- Xem các bài thông báo được đăng

- Trả lời các tin nhắn riêng

- Xem và trả lời các câu hỏi thuộc phạm quyền

- Xem thống kê cá nhân

- Thay đổi ảnh đại diện

- Quản lý tài khoản, thông tin cá nhân

- Thay đổi ảnh đại diện

- Đăng các bài thông báo

- Xem các bài thông báo được đăng

- Quản lý tư vấn viên thuộc phạm quyền

- Xem, chỉnh sửa tư vấn viên thuộc phạm quyền

- Cấp tài khoản cho tư vấn viên mới

- Trả lời các tin nhắn riêng

- Xem và trả lời các câu hỏi thuộc phạm quyền

- Quản lý các lĩnh vực trong khoa

- Xem thống kê của khoa, của tư vấn viên thuộc khoa

- Quản lý tài khoản, thông tin cá nhân

- Xem các bài thông báo đã được đăng

- Xem thống kê của các khoa

- Quản lý tài khoản, thông tin cá nhân

- Quản lý cơ sở dữ liệu

- Cấp tài khoản cho manager, trưởng nhóm

Danh sách yêu cầu chức năng nghiệp vụ

Quản lý câu hỏi, câu trả lời

 Hiển thị câu hỏi, câu trả lời theo quyền từng cá nhân

 Hiển thị tin nhắn riêng của bản thân

 Thực hiện các lựa chọn đặt câu hỏi

 Thực hiện trả lời câu hỏi theo quyền từng cá nhân

 Quản lý quyền thành viên: tư vấn viên, trưởng nhóm, manager

Danh sách yêu cầu chức năng hệ thống

Thống kê theo quyền được phân

Thêm, xóa, cập nhật bài thông báo.

Danh sách yêu cầu phi chức năng

Hệ thống có chức năng bảo mật và phân quyền

Mật khẩu, thông tin nhạy cảm của người dùng được mã hóa trước khi ghi vào cơ sở dữ liệu

MÔ HÌNH HÓA YÊU CẦU

Lược đồ Usecase

Phân hệ người dùng

Hình 3.2 Phân hệ người dùng

Người dùng đăng nhập vào ứng 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

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng nhập Email và mật khẩu

2 Hệ thống kiểm tra định dạng Email

3 Hệ thống xác thực Email và Mật khẩu bằng firebase

4 Hệ thống xác định vai trò của người dùng thông qua quyền được lưu ở firebase

5 Người dùng đăng nhập thành công vào hệ thống Alternative flow

1 Ứng dụng thông báo sai định dạng

2 Người dùng nhập lại Email và mật khẩu

3 Ứng dụng thông báo đăng nhập thất bại

Brief description Người dùng đăng kí tài khoản

Pre-conditions Người dùng chưa có tài khoản trong hệ thống

Post-conditions Nếu đăng ký thành công, người dùng được chuyển về trang chủ

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng nhập Email, Mật khẩu, Tên, Số điện thoại

2 Hệ thống kiểm tra thông tin Email

3 Hệ thống kiểm tra độ dài Mật khẩu

4 Hệ thống tạo tài khoản cho người dùng trên firebase authentication

5 Hệ thống tạo tài khoản khoản cho người dùng trên firebase

1 Ứng dụng thông báo “Email đã tồn tại” hoặc “Email không hợp lệ”

2 Ứng dụng thông báo “Mật khẩu không đủ mạnh”

3 Ứng dụng thông báo “Đăng ký không thành công, vui lòng thử lại”

4 Người dùng nhập lại thông tin

Brief description Người dùng đăng xuất khỏi ứng dụng

Pre-conditions Người dùng đã đăng nhập vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút đăng xuất

2 Người dùng đăng xuất khỏi hệ thống và trở về trang đăng nhập

3.2.4 Xem thông tin cá nhân

Bảng 3.4 Xem thông tin cá nhân

Name Xem thông tin cá nhân

Brief description Người dùng xem thông tin cá nhân của mình

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng được xem các thông tin cá nhân của mình

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

Bảng 3.5 Thay đổi thông tin cá nhân

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

Brief description Người dùng thay đổi thông tin cá nhân của mình

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Post-conditions Nếu thay đổi thông tin cá nhân thành công người dùng chuyển về trang chủ

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng được xem các thông tin cá nhân của mình

3 Người dùng thay đổi thông tin của mình bằng cách nhập vào textbox

4 Người dùng chọn nút Lưu để cập nhật thông tin cá nhân của mình

Bảng 3.6 Đổi ảnh đại diện

Name Đổi ảnh đại diện

Brief description Người dùng thay đổi ảnh đại diện của mình

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Post-conditions Nếu thay đổi ảnh đại diện thành công người dùng chuyển về trang chủ

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng được xem các thông tin cá nhân của mình

3 Người dùng chọn icon điều chỉnh hình đại diện

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

5 Hệ thống tải ảnh lên Firebase Storage và lưu lại hình ảnh của người dùng

3.2.7 Xem giới thiệu về trường

Bảng 3.7 Xem giới thiệu về trường

Name Xem giới thiệu về trường

Brief description Người dùng xem giới thiệu về trường

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Giới thiệu về trường

2 Người dùng được xem một vài thông tin về trường

Bảng 3.8 Xem các bài đăng

Name Xem các bài đăng

Brief description Người dùng xem các bài đăng của các trưởng nhóm

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình trang chủ

2 Người dùng xem các bài đăng thông báo của trưởng nhóm

3.2.9 Gửi thắc mắc về bài đăng

Bảng 3.9 Gửi thắc mắc về bài đăng

Name Gửi thắc mắc về bài đăng

Brief description Người dùng đặt câu hỏi cho bài đăng của các trưởng nhóm

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình trang chủ

2 Người dùng chọn icon đặt câu hỏi cho bài đăng thông báo của trưởng nhóm

3 Người dùng chọn đối tượng hỏi, nhập phương thức liên hệ và câu hỏi, có thể chọn file đính kèm

4 Người dùng chọn nút Gửi

5 Hệ thống kiểm tra đối tượng hỏi, phương thức liên hệ, câu hỏi, file đính kèm

6 Hệ thống lưu lại câu hỏi lên firebase và chuyển cho trưởng nhóm đăng bài

1 Hệ thống thông báo “Vui lòng chọn đối tượng”

2 Hệ thống thông báo “Vui lòng điền phương thức liên hệ”

3 Hệ thống thông báo “Vui lòng nhập câu hỏi”

4 Người dùng chọn nút Thoát để đóng form gửi câu hỏi cho bài đăng

3.2.10 Xem danh sách tư vấn viên

Bảng 3.10 Xem danh sách tư vấn viên

Name Xem danh sách tư vấn viên

Brief description Người dùng xem danh sách tư vấn viên

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng xem danh sách đội ngũ tư vấn viên Alternative flow (Thất bại)

3.2.11 Xem thông tin tư vấn viên

Bảng 3.11 Xem thông tin tư vấn viên

Name Xem thông tin tư vấn viên

Brief description Người dùng xem thông tin tư vấn viên

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn tư vấn viên muốn xem thông tin

3 Người dùng chuyển tới trang thông tin tư vấn viên

4 Người dùng xem thông tin của tư vấn viên Alternative flow (Thất bại)

3.2.12 Đặt câu hỏi cho tư vấn viên

Bảng 3.12 Đặt câu hỏi cho tư vấn viên

Name Đặt câu hỏi cho tư vấn viên

Brief description Người dùng đặt câu hỏi cho tư vấn viên

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn tư vấn viên muốn đặt câu hỏi

3 Người dùng chuyển tới trang thông tin tư vấn viên

4 Người dùng chọn nút Gửi câu hỏi cho tư vấn viên

5 Người dùng chọn đối tượng hỏi, nhập phương thức liên hệ và câu hỏi, có thể chọn file đính kèm

6 Người dùng chọn nút Gửi

7 Hệ thống kiểm tra đối tượng hỏi, phương thức liên hệ, câu hỏi, file đính kèm

8 Hệ thống lưu lại câu hỏi và gửi câu hỏi đến tư vấn viên được hỏi

1 Hệ thống thông báo “Vui lòng chọn đối tượng”

2 Hệ thống thông báo “Vui lòng điền phương thức liên hệ”

3 Hệ thống thông báo “Vui lòng nhập câu hỏi”

4 Người dùng chọn nút Thoát để đóng form gửi câu hỏi cho tư vấn viên

3.2.13 Xem các câu hỏi của người dùng đã gửi

Bảng 3.13 Xem các câu hỏi của người dùng đã gửi

Name Xem các câu hỏi của người dùng đã gửi

Brief description Người dùng xem danh sách các câu hỏi mà mình đã gửi

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng xem danh sách các câu hỏi của mình đã gửi

3.2.14 Xem chi tiết câu hỏi và câu trả lời

Bảng 3.14 Xem chi tiết câu hỏi và câu trả lời

Name Xem chi tiết câu hỏi và câu trả lời

Brief description Người dùng xem chi tiết câu hỏi và câu trả lời

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn câu hỏi muốn xem chi tiết

3 Người dùng chuyển đến màn hình chi tiết câu hỏi

4 Người dùng xem chi tiết câu hỏi và câu trả lời của tư vấn viên

Brief description Người dùng đặt câu hỏi

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn nút đặt câu hỏi

3 Người dùng chọn đơn vị để hỏi, vấn đề để hỏi, đối tượng hỏi, nhập phương thức liên hệ, tiêu đề, câu hỏi, có thể chọn file đính kèm

4 Người dùng chọn nút Gửi

5 Hệ thống kiểm tra đơn vị để hỏi, vấn đề để hỏi, đối tượng hỏi, nhập phương thức liên hệ, tiêu đề, câu hỏi, file đính kèm

6 Hệ thống lưu lại câu hỏi và gửi câu hỏi đến tư vấn viên theo khoa, vấn đề đã chọn

1 Hệ thống thông báo “Vui lòng chọn đối tượng”

2 Hệ thống thông báo “Vui lòng điền phương thức liên hệ”

3 Hệ thống thông báo “Vui lòng nhập câu hỏi”

4 Hệ thống thông báo “Vui lòng chọn đơn vị để hỏi”

5 Hệ thống thông báo “Vui lòng chọn vấn đề để hỏi”

6 Người dùng chọn nút Thoát để đóng form gửi câu hỏi

Brief description Người dùng đổi mật khẩu của mình

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng chọn nút đổi mật khẩu

3 Người dùng nhập mật khẩu hiện tại, mật khẩu mới, xác nhận mật khẩu

4 Người dùng chọn nút Lưu

5 Hệ thống kiểm tra mật khẩu hiện tại, mật khẩu mới, xác nhận mật khẩu

6 Người dùng chuyển về trang chủ Alternative flow (Thất bại)

1 Hệ thống thông báo “Mật khẩu hiện tại không đúng” hoặc “Vui lòng nhập mật khẩu”

2 Hệ thống thông báo “Mật khẩu mới không đủ mạnh” hoặc “Vui lòng nhập mật khẩu mới”

3 Hệ thống thông báo “Xác nhận mật khẩu không đúng” hoặc “Vui lòng nhập xác nhận mật khẩu”

3.2.17 Xem danh sách các câu hỏi được public

Bảng 3.17 Xem danh sách các câu hỏi được public

Name Xem các câu hỏi của tư vấn viên

Brief description Người dùng xem danh sách các câu hỏi được set public

Pre-conditions Người dùng đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn mục xem các câu hỏi được set public

3 Người dùng xem danh sách các câu hỏi được set public

Phân hệ tư vấn viên

Brief description Tư vấn viên đăng nhập vào ứng dụng

Pre-conditions Tư vấn viên đã có tài khoản trong hệ thống

Post-conditions Nếu đăng nhập thành công tư vấn viên được thực hiện các chức năng theo phân quyền

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng nhập Email và mật khẩu

2 Hệ thống kiểm tra định dạng Email

3 Hệ thống xác thực Email và Mật khẩu bằng firebase

4 Hệ thống xác định vai trò của người dùng thông qua quyền được lưu ở firebase

5 Người dùng đăng nhập thành công vào hệ thống Alternative flow (Thất bại)

1 Ứng dụng thông báo sai định dạng

2 Người dùng nhập lại Email và mật khẩu

3 Ứng dụng thông báo đăng nhập thất bại

Brief description Tư vấn viên đăng xuất khỏi ứng dụng

Pre-conditions Tư vấn viên đã đăng nhập vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút đăng xuất

2 Người dùng đăng xuất khỏi hệ thống và trở về trang đăng nhập

3.3.3 Xem thông tin cá nhân

Bảng 3.20 Xem thông tin cá nhân

Name Xem thông tin cá nhân

Brief description Tư vấn viên xem thông tin cá nhân của mình

Pre-conditions Tư vấn viên đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng được xem các thông tin cá nhân của mình Alternative flow (Thất bại)

3.3.4 Thay đổi ảnh đại diện

Bảng 3.21 Thay đổi ảnh đại diện

Name Đổi ảnh đại diện

Brief description Tư vấn viên thay đổi ảnh đại diện của mình

Pre-conditions Tư vấn viên đăng nhập thành công vào hệ thống

Post-conditions Nếu thay đổi ảnh đại diện thành công tư vấn viên chuyển về trang chủ

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng được xem các thông tin cá nhân của mình

3 Người dùng chọn icon điều chỉnh hình đại diện

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

5 Hệ thống tải ảnh lên Firebase Storage và lưu lại hình ảnh của người dùng

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

Bảng 3.22 Thay đổi thông tin cá nhân

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

Brief description Tư vấn viên thay đổi thông tin cá nhân của mình

Pre-conditions Tư vấn viên đăng nhập thành công vào hệ thống

Post-conditions Nếu thay đổi thông tin cá nhân thành công tư vấn viên chuyển về trang chủ

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng được xem các thông tin cá nhân của mình

3 Người dùng thay đổi thông tin của mình bằng cách nhập vào textbox

4 Người dùng chọn nút Lưu để cập nhật thông tin cá nhân của mình

Brief description Tư vấn viên đổi mật khẩu của mình

Pre-conditions Tư vấn viên đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng chọn nút đổi mật khẩu

3 Người dùng nhập mật khẩu hiện tại, mật khẩu mới, xác nhận mật khẩu

4 Người dùng chọn nút Lưu

5 Hệ thống kiểm tra mật khẩu hiện tại, mật khẩu mới, xác nhận mật khẩu

6 Người dùng chuyển về trang chủ Alternative flow (Thất bại)

1 Hệ thống thông báo “Mật khẩu hiện tại không đúng” hoặc “Vui lòng nhập mật khẩu”

2 Hệ thống thông báo “Mật khẩu mới không đủ mạnh” hoặc “Vui lòng nhập mật khẩu mới”

3 Hệ thống thông báo “Xác nhận mật khẩu không đúng” hoặc “Vui lòng nhập xác nhận mật khẩu”

Bảng 3.24 Xem các bài đăng

Name Xem các bài đăng

Brief description Tư vấn viên xem các bài đăng của các trưởng nhóm

Pre-conditions Tư vấn viên đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình trang chủ

2 Người dùng xem các bài đăng thông báo của trưởng nhóm

3.3.8 Xem giới thiệu về t*kkrường

Bảng 3.25 Xem giới thiệu về trường

Name Xem giới thiệu về trường

Brief description Tư vấn viên xem giới thiệu về trường

Pre-conditions Tư vấn viên đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Giới thiệu về trường

2 Người dùng được xem một vài thông tin về trường Alternative flow (Thất bại)

3.3.9 Xem danh sách câu hỏi của tư vấn viên

Bảng 3.26 Xem danh sách câu hỏi của tư vấn viên

Name Xem các câu hỏi của tư vấn viên

Brief description Tư vấn viên xem danh sách các câu hỏi thuộc phạm vi của mình

Pre-conditions Tư vấn viên đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng xem danh sách các câu hỏi thuộc phạm vi của mình

3.3.10 Xem chi tiết câu hỏi và câu trả lời

Bảng 3.27 Xem chi tiết câu hỏi và câu trả lời

Name Xem chi tiết câu hỏi và câu trả lời

Brief description Tư vấn viên xem chi tiết câu hỏi và câu trả lời

Pre-conditions Tư vấn viên đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn câu hỏi muốn xem chi tiết

3 Người dùng chuyển đến màn hình chi tiết câu hỏi

4 Người dùng xem chi tiết câu hỏi và câu trả lời của tư vấn viên

Bảng 3.28 Thêm câu trả lời

Name Thêm câu trả lời

Brief description Tư vấn viên trả lời các câu hỏi thuộc phạm vi của mình

Pre-conditions Tư vấn viên đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn câu hỏi muốn xem chi tiết

3 Người dùng chuyển đến màn hình chi tiết câu hỏi

4 Người dùng chọn nút lựa chọn

5 Người dùng chọn nút Gửi câu trả lời

6 Người dùng nhập câu trả lời

7 Người dùng chọn nút Gửi

8 Hệ thống kiểm tra câu trả lời của người dùng

9 Hệ thống lưu lại câu trả lời của người dùng

10 Người dùng chuyển đến màn hình chi tiết câu hỏi Alternative flow (Thất bại)

1 Hệ thống thông báo “Vui lòng nhập câu trả lời”

2 Người dùng chọn nút Thoát để đóng form gửi câu trả lời

3 Người dùng chọn nút đóng form lựa chọn

Brief description Tư vấn viên chuyển câu hỏi qua phòng ban, khoa khác

Pre-conditions Tư vấn viên đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn câu hỏi muốn xem chi tiết

3 Người dùng chuyển đến màn hình chi tiết câu hỏi

4 Người dùng chọn nút lựa chọn

5 Người dùng chọn nút Chuyển câu hỏi

6 Người dùng chọn khoa, phòng ban cần chuyển

7 Người dùng chọn nút Lưu

8 Hệ thống kiểm tra lựa chọn của người dùng

9 Hệ thống lưu lại thay đổi phòng ban, khoa của câu hỏi

10 Người dùng chuyển đến màn hình chi tiết câu hỏi Alternative flow (Thất bại)

1 Hệ thống thông báo “Vui lòng chọn đơn vị”

2 Người dùng chọn nút Thoát để đóng form gửi câu trả lời

3 Người dùng chọn nút đóng form lựa chọn

3.3.13 Xem danh sách các câu hỏi được public

Bảng 3.30 Xem danh sách các câu hỏi được public

Name Xem danh sách các câu hỏi được public

Brief description Tư vấn viên xem danh sách các câu hỏi được set public

Pre-conditions Tư vấn viên đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn mục xem các câu hỏi được set public

3 Người dùng xem danh sách các câu hỏi được set public

Phân hệ trưởng nhóm

Hình 3.3 Quản lý tư vấn viên trong khoa

Hình 3.4 Quản lý lĩnh vực trong khoa

Brief description Trưởng nhóm đăng nhập vào ứng dụng

Pre-conditions Trưởng nhóm đã có tài khoản trong hệ thống

Post-conditions Nếu đăng nhập thành công trưởng nhóm được thực hiện các chức năng theo phân quyền

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng nhập Email và mật khẩu

2 Hệ thống kiểm tra định dạng Email

3 Hệ thống xác thực Email và Mật khẩu bằng firebase

4 Hệ thống xác định vai trò của người dùng thông qua quyền được lưu ở firebase

5 Người dùng đăng nhập thành công vào hệ thống Alternative flow (Thất bại)

1 Ứng dụng thông báo sai định dạng

2 Người dùng nhập lại Email và mật khẩu

3 Ứng dụng thông báo đăng nhập thất bại

Brief description Trưởng nhóm đăng xuất khỏi ứng dụng

Pre-conditions Trưởng nhóm đã đăng nhập vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút đăng xuất

2 Người dùng đăng xuất khỏi hệ thống và trở về trang đăng nhập

3.4.3 Xem thông tin cá nhân

Bảng 3.33 Xem thông tin cá nhân

Name Xem thông tin cá nhân

Brief description Trưởng nhóm xem thông tin cá nhân của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng được xem các thông tin cá nhân của mình Alternative flow

Bảng 3.34 Đổi ảnh đại diện

Name Đổi ảnh đại diện

Brief description Trưởng nhóm thay đổi ảnh đại diện của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Post-conditions Nếu thay đổi ảnh đại diện thành công trưởng nhóm chuyển về trang chủ

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng được xem các thông tin cá nhân của mình

3 Người dùng chọn icon điều chỉnh hình đại diện

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

5 Hệ thống tải ảnh lên Firebase Storage và lưu lại hình ảnh của người dùng

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

Bảng 3.35 Thay đổi thông tin cá nhân

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

Brief description Trưởng nhóm thay đổi thông tin cá nhân của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Post-conditions Nếu thay đổi thông tin cá nhân thành công trưởng nhóm chuyển về trang chủ

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng được xem các thông tin cá nhân của mình

3 Người dùng thay đổi thông tin của mình bằng cách nhập vào textbox

4 Người dùng chọn nút Lưu để cập nhật thông tin cá nhân của mình

Brief description Trưởng nhóm đổi mật khẩu của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng chọn nút đổi mật khẩu

3 Người dùng nhập mật khẩu hiện tại, mật khẩu mới, xác nhận mật khẩu

4 Người dùng chọn nút Lưu

5 Hệ thống kiểm tra mật khẩu hiện tại, mật khẩu mới, xác nhận mật khẩu

6 Người dùng chuyển về trang chủ Alternative flow

1 Hệ thống thông báo “Mật khẩu hiện tại không đúng” hoặc “Vui lòng nhập mật khẩu”

2 Hệ thống thông báo “Mật khẩu mới không đủ mạnh” hoặc “Vui lòng nhập mật khẩu mới”

3 Hệ thống thông báo “Xác nhận mật khẩu không đúng” hoặc “Vui lòng nhập xác nhận mật khẩu”

3.4.7 Quản lý tư vấn viên

Bảng 3.37 Quản lý tư vấn viên

Name Quản lý tư vấn viên

Brief description Trưởng nhóm quản lý các thành viên thuộc khoa của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý Tư vấn viên

2 Người dùng xem danh sách các tư vấn viên thuộc khoa của mình

3.4.8 Thay đổi lĩnh vực phụ trách

Bảng 3.38 Thay đổi lĩnh vực phụ trách

Name Thay đổi lĩnh vực phụ trách

Brief description Trưởng nhóm thay đổi lĩnh vực phụ trách cho thành viên thuộc khoa của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý Tư vấn viên

2 Người dùng xem danh sách các tư vấn viên thuộc khoa của mình

3 Người dùng chọn tư vấn viên muốn thay đổi

4 Người dùng chọn lĩnh vực mới thuộc khoa của mình cho tư vấn viên

5 Người dùng chọn nút Lưu

6 Hệ thống kiểm tra lĩnh vực phụ trách

7 Hệ thống lưu lại lĩnh vực phụ trách của tư vấn viên

8 Người dùng trả về màn hình Quản lý Tư vấn viên Alternative flow

1 Người dùng chọn nút Thoát

3.4.9 Vô hiệu hóa tài khoản

Bảng 3.39 Vô hiệu hóa tài khoản

Name Vô hiệu hóa tài khoản

Brief description Trưởng nhóm vô hiệu hóa tài khoản của thành viên thuộc khoa của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý Tư vấn viên

2 Người dùng xem danh sách các tư vấn viên thuộc khoa của mình

3 Người dùng chọn tư vấn viên muốn thay đổi

4 Người dùng chọn nút Vô hiệu hóa tài khoản

5 Hệ thống vô hiệu hóa tài khoản được chọn

6 Người dùng trả về màn hình Quản lý Tư vấn viên

1 Người dùng chọn nút Thoát

Brief description Trưởng nhóm reset mật khẩu cho thành viên thuộc khoa của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý Tư vấn viên

2 Người dùng xem danh sách các tư vấn viên thuộc khoa của mình

3 Người dùng chọn tư vấn viên muốn thay đổi

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

5 Người dùng chọn nút Lưu

6 Hệ thống kiểm tra mật khẩu

7 Hệ thống lưu lại mật khẩu mới của tư vấn viên

8 Người dùng trả về màn hình Quản lý Tư vấn viên Alternative flow

1 Người dùng chọn nút Thoát

2 Hệ thống thông báo “Vui lòng nhập mật khẩu”

Bảng 3.41 Kích hoạt tài khoản

Name Vô hiệu hóa tài khoản

Brief description Trưởng nhóm kích hoạt lại tài khoản của thành viên thuộc khoa của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý Tư vấn viên

2 Người dùng xem danh sách các tư vấn viên thuộc khoa của mình

3 Người dùng chọn tư vấn viên muốn thay đổi

4 Người dùng chọn nút Kích hoạt tài khoản

5 Hệ thống kích hoạt tài khoản được chọn

6 Người dùng trả về màn hình Quản lý Tư vấn viên Alternative flow

1 Người dùng chọn nút Thoát

Bảng 3.42 Thêm tư vấn viên

Name Thêm tư vấn viên

Brief description Trưởng nhóm tạo tài khoản cho tư vấn viên mới thuộc khoa của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý Tư vấn viên

2 Người dùng chọn nút thêm tư vấn viên mới

3 Người dùng lựa chọn lĩnh vực phụ trách, nhập email, tên, số điện thoại, password

4 Người dùng chọn nút Lưu

5 Hệ thống kiểm tra lĩnh vực phụ trách, email, tên, số điện thoại, password

6 Hệ thống tạo tư vấn viên mới Alternative flow

1 Người dùng chọn nút Thoát

2 Hệ thống thông báo “Vui lòng chọn lĩnh vực quản lý”

3 Hệ thống thông báo “Email không phù hợp” hoặc

4 Hệ thống thông báo “Vui lòng nhập tên”

5 Hệ thống thông báo “Vui lòng nhập số điện thoại”

6 Hệ thống thông báo “Vui lòng nhập mật khẩu” hoặc

“Mật khẩu không đủ mạnh”

Bảng 3.43 Quản lý lĩnh vực

Name Quản lý lĩnh vực

Brief description Trưởng nhóm quản lý các lĩnh vực thuộc khoa của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý Lĩnh vực

2 Người dùng xem danh sách các lĩnh vực thuộc khoa của mình

3.4.14 Chỉnh sửa lĩnh vực thuộc khoa

Bảng 3.44 Chỉnh sửa lĩnh vực thuộc khoa

Name Chỉnh sửa lĩnh vực thuộc khoa

Brief description Trưởng nhóm chỉnh sửa các lĩnh vực thuộc khoa của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý Lĩnh vực

2 Người dùng chọn lĩnh vực cần chỉnh sửa

3 Người dùng nhập thông tin cần chỉnh sửa

4 Người dùng chọn nút Lưu

5 Hệ thống kiểm tra thông tin chỉnh sửa

6 Hệ thống cập nhật thông tin chỉnh sửa Alternative flow

1 Người dùng chọn nút Thoát

2 Hệ thống thông báo “Vui lòng nhập thông tin lĩnh vực”

3.4.15 Xóa lĩnh vực thuộc khoa

Bảng 3.45 Xóa lĩnh vực thuộc khoa

Name Xóa lĩnh vực thuộc khoa

Brief description Trưởng nhóm xóa các lĩnh vực thuộc khoa của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý Lĩnh vực

2 Người dùng chọn lĩnh vực xóa

3 Người dùng chọn nút Xóa

4 Hệ thống xóa lĩnh vực được chọn Alternative flow

1 Người dùng chọn nút Thoát

3.4.16 Thêm lĩnh vực thuộc khoa

Bảng 3.46 Thêm lĩnh vực thuộc khoa

Name Thêm lĩnh vực thuộc khoa

Brief description Trưởng nhóm thêm lĩnh vực thuộc khoa của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý Lĩnh vực

2 Người dùng chọn nút Thêm

3 Người dùng nhập lĩnh vực mới

4 Người dùng chọn nút Lưu

5 Hệ thống kiểm tra lĩnh vực mới

6 Hệ thống thêm lĩnh vực mới Alternative flow

1 Người dùng chọn nút Thoát

Bảng 3.47 Xem các bài đăng

Name Xem các bài đăng

Brief description Trưởng nhóm xem các bài đăng của các trưởng nhóm

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình trang chủ

2 Người dùng xem các bài đăng thông báo của trưởng nhóm

Bảng 3.48 Thêm bài đăng mới

Name Thêm bài đăng mới

Brief description Trưởng nhóm thêm bài đăng mới

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình trang chủ

2 Người dùng chọn nút Thêm bài đăng mới

3 Người dùng nhập nội dung bài đăng, có thể chọn ảnh đính kèm

4 Người dùng chọn nút Đăng

5 Hệ thống kiểm tra nội dung bài đăng

6 Hệ thống lưu lại bài đăng

7 Người dùng trả về màn hình trang chủ Alternative flow

1 Người dùng chọn nút Hủy

2 Hệ thống thông báo “Vui lòng nhập nội dung bài đăng”

3.4.19 Xem các câu hỏi thuộc khoa

Bảng 3.49 Xem các câu hỏi thuộc khoa

Name Xem các câu hỏi thuộc khoa

Brief description Trưởng nhóm xem danh sách các câu hỏi thuộc phạm vi khoa của mình

Pre-conditions Tư vấn viên đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng xem danh sách các câu hỏi thuộc phạm vi khoa của mình

3.4.20 Xem chi tiết câu hỏi và câu trả lời

Bảng 3.50 Xem chi tiết câu hỏi và câu trả lời

Name Xem chi tiết câu hỏi và câu trả lời

Brief description Trưởng nhóm xem chi tiết câu hỏi và câu trả lời

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn câu hỏi muốn xem chi tiết

3 Người dùng chuyển đến màn hình chi tiết câu hỏi

4 Người dùng xem chi tiết câu hỏi và câu trả lời của tư vấn viên

Bảng 3.51 Thêm câu trả lời

Name Thêm câu trả lời

Brief description Trưởng nhóm trả lời các câu hỏi thuộc phạm vi của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn câu hỏi muốn xem chi tiết

3 Người dùng chuyển đến màn hình chi tiết câu hỏi

4 Người dùng chọn nút lựa chọn

5 Người dùng chọn nút Gửi câu trả lời

6 Người dùng nhập câu trả lời

7 Người dùng chọn nút Gửi

8 Hệ thống kiểm tra câu trả lời của người dùng

9 Hệ thống lưu lại câu trả lời của người dùng

10 Người dùng chuyển đến màn hình chi tiết câu hỏi Alternative flow

1 Hệ thống thông báo “Vui lòng nhập câu trả lời”

2 Người dùng chọn nút Thoát để đóng form gửi câu trả lời

3 Người dùng chọn nút đóng form lựa chọn

Brief description Trưởng nhóm chuyển câu hỏi qua phòng ban, khoa khác

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn câu hỏi muốn xem chi tiết

3 Người dùng chuyển đến màn hình chi tiết câu hỏi

4 Người dùng chọn nút lựa chọn

5 Người dùng chọn nút Chuyển câu hỏi

6 Người dùng chọn khoa, phòng ban cần chuyển

7 Người dùng chọn nút Lưu

8 Hệ thống kiểm tra lựa chọn của người dùng

9 Hệ thống lưu lại thay đổi phòng ban, khoa của câu hỏi

10 Người dùng chuyển đến màn hình chi tiết câu hỏi Alternative flow

1 Hệ thống thông báo “Vui lòng chọn đơn vị”

2 Người dùng chọn nút Thoát để đóng form gửi câu trả lời

3 Người dùng chọn nút đóng form lựa chọn

3.4.23 Xem danh sách các câu hỏi được public

Bảng 3.53 Xem danh sách các câu hỏi được public

Name Xem danh sách các câu hỏi được public

Brief description Trưởng nhóm xem danh sách các câu hỏi được set public

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn mục xem các câu hỏi được set public

3 Người dùng xem danh sách các câu hỏi được set public

3.4.24 Xem thống kê của khoa

Bảng 3.54 Xem thống kê của khoa

Name Xem thống kê của khoa

Brief description Trưởng nhóm xem thống kê của khoa mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thống kê

2 Người dùng xem các số liệu thống kê thuộc khoa của mình

Phân hệ manager

Brief description Manager đăng nhập vào ứng dụng

Pre-conditions Manager đã có tài khoản trong hệ thống

Post-conditions Nếu đăng nhập thành công manager được thực hiện các chức năng theo phân quyền

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng nhập Email và mật khẩu

2 Hệ thống kiểm tra định dạng Email

3 Hệ thống xác thực Email và Mật khẩu bằng firebase

4 Hệ thống xác định vai trò của người dùng thông qua quyền được lưu ở firebase

5 Người dùng đăng nhập thành công vào hệ thống

1 Ứng dụng thông báo sai định dạng

2 Người dùng nhập lại Email và mật khẩu

3 Ứng dụng thông báo đăng nhập thất bại

Brief description Manager đăng xuất khỏi ứng dụng

Pre-conditions Manager đã đăng nhập vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút đăng xuất

2 Người dùng đăng xuất khỏi hệ thống và trở về trang đăng nhập

3.5.3 Xem thông tin cá nhân

Bảng 3.57 Xem thông tin cá nhân

Name Xem thông tin cá nhân

Brief description Manager xem thông tin cá nhân của mình

Pre-conditions Manager đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng được xem các thông tin cá nhân của mình Alternative flow

Bảng 3.58 Đổi ảnh đại diện

Name Đổi ảnh đại diện

Brief description Manager thay đổi ảnh đại diện của mình

Pre-conditions Manager đăng nhập thành công vào hệ thống

Post-conditions Nếu thay đổi ảnh đại diện thành công manager chuyển về trang chủ

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng được xem các thông tin cá nhân của mình

3 Người dùng chọn icon điều chỉnh hình đại diện

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

5 Hệ thống tải ảnh lên Firebase Storage và lưu lại hình ảnh của người dùng

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

Bảng 3.59 Thay đổi thông tin cá nhân

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

Brief description Manager thay đổi thông tin cá nhân của mình

Pre-conditions Trưởng nhóm đăng nhập thành công vào hệ thống

Post-conditions Nếu thay đổi thông tin cá nhân thành công manager chuyển về trang chủ

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng được xem các thông tin cá nhân của mình

3 Người dùng thay đổi thông tin của mình bằng cách nhập vào textbox

4 Người dùng chọn nút Lưu để cập nhật thông tin cá nhân của mình

Brief description Manager đổi mật khẩu của mình

Pre-conditions Manager đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thông tin cá nhân

2 Người dùng chọn nút đổi mật khẩu

3 Người dùng nhập mật khẩu hiện tại, mật khẩu mới, xác nhận mật khẩu

4 Người dùng chọn nút Lưu

5 Hệ thống kiểm tra mật khẩu hiện tại, mật khẩu mới, xác nhận mật khẩu

6 Người dùng chuyển về trang chủ Alternative flow

1 Hệ thống thông báo “Mật khẩu hiện tại không đúng” hoặc “Vui lòng nhập mật khẩu”

2 Hệ thống thông báo “Mật khẩu mới không đủ mạnh” hoặc “Vui lòng nhập mật khẩu mới”

3 Hệ thống thông báo “Xác nhận mật khẩu không đúng” hoặc “Vui lòng nhập xác nhận mật khẩu”

3.5.7 Xem giới thiệu về trường

Bảng 3.61 Xem giới thiệu về trường

Name Xem giới thiệu về trường

Brief description Manager xem giới thiệu về trường

Pre-conditions Manager đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Giới thiệu về trường

2 Người dùng được xem một vài thông tin về trường Alternative flow

Brief description Manager xem thống kê của các khoa

Pre-conditions Manager đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Thống kê

2 Người dùng xem các số liệu thống kê các khoa

Bảng 3.63 Quản lý các khoa

Name Quản lý các khoa

Brief description Manager quản lý các khoa

Pre-conditions Manager đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý khoa

2 Người dùng xem danh sách các khoa Alternative flow

Bảng 3.64 Chỉnh sửa tên khoa

Name Chỉnh sửa tên khoa

Brief description Manager chỉnh sửa thông tin khoa

Pre-conditions Manager đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý khoa

2 Người dùng chọn khoa cần chỉnh sửa

3 Người dùng nhập thông tin cần chỉnh sửa

4 Người dùng chọn nút Lưu

5 Hệ thống kiểm tra thông tin chỉnh sửa

6 Hệ thống cập nhật thông tin chỉnh sửa Alternative flow

1 Người dùng chọn nút Thoát

2 Hệ thống thông báo “Vui lòng nhập thông tin khoa”

Bảng 3.65 Thay đổi trưởng khoa

Name Thay đổi trưởng khoa

Brief description Manager thay đổi trưởng khoa

Pre-conditions Manager đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý khoa

2 Người dùng chọn khoa cần chỉnh sửa

3 Người dùng chọn nút Thay đổi trưởng khoa

4 Người dùng chọn trưởng khoa mới

5 Hệ thống cập nhật thông tin chỉnh sửa Alternative flow

1 Người dùng chọn nút Thoát

Brief description Manager thêm khoa mới

Pre-conditions Manager đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn nút Quản lý khoa

2 Người dùng chọn nút thêm khoa mới

3 Người dùng nhập thông tin khoa mới

4 Người dùng chọn nút Lưu

5 Hệ thống kiểm tra thông tin khoa mới

6 Hệ thống cập nhật thông tin khoa mới Alternative flow

1 Người dùng chọn nút Thoát

2 Hệ thống thông báo “Vui lòng nhập thông tin khoa”

Bảng 3.67 Xem các bài đăng

Name Xem các bài đăng

Brief description Manager xem các bài đăng của các trưởng nhóm

Pre-conditions Manager đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình trang chủ

2 Người dùng xem các bài đăng thông báo của trưởng nhóm

3.5.14 Xem danh sách các câu hỏi được public

Bảng 3.68 Xem danh sách các câu hỏi được public

Name Xem danh sách các câu hỏi được public

Brief description Manager xem danh sách các câu hỏi được set public

Pre-conditions Manager đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn mục xem các câu hỏi được set public

3 Người dùng xem danh sách các câu hỏi được set public

3.5.15 Xem chi tiết câu hỏi và câu trả lời

Bảng 3.69 Xem chi tiết câu hỏi và câu trả lời

Name Xem chi tiết câu hỏi và câu trả lời

Brief description Manager xem chi tiết câu hỏi và câu trả lời

Pre-conditions Manager đăng nhập thành công vào hệ thống

Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng:

1 Người dùng chọn màn hình Tin nhắn

2 Người dùng chọn câu hỏi muốn xem chi tiết

3 Người dùng chuyển đến màn hình chi tiết câu hỏi

4 Người dùng xem chi tiết câu hỏi và câu trả lời của tư vấn viên

THIẾT KẾ PHẦN MỀM

Lược đồ tuần tự

Hình 4.1 Lược đồ tuần tự đăng ký

Hình 4.2 Lược đồ tuần tự đăng nhập

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

Hình 4.3 Lược đồ tuần tự chỉnh sửa thông tin cá nhân

Hình 4.4 Lược đồ tuần tự đặt câu hỏi

Hình 4.5 Lược đồ tuần tự trả lời câu hỏi

Hình 4.6 Lược đồ tuần tự chuyển câu hỏi

Hình 4.7 Lược đồ tuần tự reset mật khẩu

4.1.8 Vô hiệu hóa tài khoản

Hình 4.8 Lược đồ tuần tự vô hiệu hóa tài khoản

4.1.9 Thay đổi lĩnh vực tư vấn viên

Hình 4.9 Lược đồ tuần tự thay đổi lĩnh vực

Lược đồ cơ sở dữ liệu

Hình 4.10 Lược đồ cơ sở dữ liệu

THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ

Màn hình splash

Người dùng

Hình 5.2 Màn hình đăng nhập

Bảng 5.1 Mô tả màn hình đăng nhập

STT Tên Loại Ghi chú

1 Nhập email đăng nhập Input text Nhập thông tin email đăng nhập

2 Nhập mật khẩu Password Nhập mật khẩu

3 Đăng nhập Button Khi nhấn vào sẽ thực hiện đăng nhập

4 Đăng ký tài khoản mới Link text Khi nhấn vào sẽ mở trang đăng ký

5 Reset mật khẩu qua email

Link text Khi nhấn vào sẽ mở trang reset mật khẩu

Hình 5.3 Màn hình đăng kí Bảng 5.2 Mô tả màn hình đăng ký

STT Tên Loại Ghi chú

1 Họ tên Input text Nhập thông tin họ tên

2 Số điện thoại Input text Nhập thông tin số điện thoại

3 Email Input text Nhập thông tin email đăng kí

4 Mật khẩu Password Nhập mật khẩu

5 Đăng kí Button Khi nhấn sẽ thực hiện đăng kí

6 Đăng nhập Link text Khi nhấn vào sẽ mở trang đăng nhập

7 Chọn đối tượng người dùng

Choose item Lựa chọn đối tượng của người dùng

Hình 5.5 Màn hình trang chủ người dùng

Bảng 5.3 Mô tả màn hình trang chủ người dùng

STT Tên Loại Ghi chú

1 Menu Button Khi nhấn vào sẽ mở menu đề người dùng lựa chọn

2 Tin nhắn Button Khi nhấn vào sẽ chuyển đến trang tin nhắn

3 Bài thông báo Widget Nội dung bài đăng đến từ trưởng khoa

4 Đặt câu hỏi Button Khi nhấn vào sẽ mở form gửi thắc mắc về bài đăng

5 Tìm kiếm Button Khi nhấn vào sẽ mở trang tìm kiếm bài đăng

Hình 5.6 Màn hình tìm kiếm bài đăng

Bảng 5.4 Mô tả màn hình tìm kiếm bài đăng

STT Tên Loại Ghi chú

1 Tìm kiếm Text field Nhập input tìm kiếm

2 Kết quả tìm kiếm Widget Kết quả tìm kiểm, khi lựa chọn sẽ mở trang chi tiết bài đăng

Hình 5.7 Màn hình chi tiết bài đăng Bảng 5.5 Mô tả màn hình chi tiết bài đăng

STT Tên Loại Ghi chú

1 Thông tin bài đăng Widget Thông tin của bài đăng

2 Thông tin người đăng Widget Thông tin của người đăng bài

3 Trở lại Button Khi nhấn vào sẽ trở về màn hình trước đó

4 Option Button Khi nhấn vào mở các lựa chọn cho bài đăng

5 Send message Button Khi nhấn vào sẽ gửi tin nhắn riêng cho người đăng bài

6 Have question Button Khi nhấn vào sẽ gửi câu hỏi cho bài đăng

7 Cancel Button Khi nhấn vào sẽ đóng form lựa chọn

Bảng 5.6 Mô tả màn hình message

STT Tên Loại Ghi chú

1 Trở lại Button Khi nhấn vào trở về màn hình trước đó

2 Tìm kiếm Button Khi nhấn vào sẽ mở trang tìm kiếm tư vấn viên

3 Danh sách tư vấn viên Widget Thông tin của các tư vấn viên, khi nhấn vào sẽ mở trang thông tin cá nhân của tư vấn viên

4 Tin nhắn Widget Danh sách tin nhắn, câu hỏi của người dùng, khi nhấn vào sẽ mở màn hình chi tiết tin nhắn

5 Thư viện Button Khi nhấn vào sẽ chuyển sang màn hình thư viện câu hỏi

6 Thêm tin nhắn Button Khi nhấn vào sẽ mở form gửi câu hỏi mới

5.2.8 Màn hình tìm kiếm tư vấn viên

Hình 5.9 Màn hình tìm kiếm tư vấn viên

Bảng 5.7 Mô tả màn hình tìm kiếm tư vấn viên

STT Tên Loại Ghi chú

1 Trở lại Button Khi nhấn vào sẽ trở lại màn hình trước đó

2 Tìm kiếm Text field Nhập thông tin tìm kiếm

3 Kết quả tìm kiếm Widget Kết quả tìm kiếm, khi nhấn vào sẽ mở màn hình thông tin cá nhân tư vấn viên

5.2.9 Màn hình chi tiết tin nhắn

Hình 5.10 Màn hình chi tiết tin nhắn

Bảng 5.8 Mô tả màn hình chi tiết tin nhắn

STT Tên Loại Ghi chú

1 Trở về Button Khi nhấn vào sẽ trở về trang chủ

2 Nôi dung trò chuyện Widget Nội dung đoạn trò chuyện giữa người dùng và tư vấn viên

3 File Button Khi nhấn vào sẽ cho phép chọn file hình ảnh hoặc pdf

4 Nhập tin nhắn Text field Nhập nội dung tin nhắn

5 Gửi Button Khi nhấn vào sẽ gửi tin nhắn

5.2.10 Màn hình thông tin tư vấn viên

Hình 5.11 Màn hình thông tin tư vấn viên

Bảng 5.9 Mô tả màn hình thông tin tư vấn viên

STT Tên Loại Ghi chú

1 Trở về Button Khi nhấn vào sẽ trở về trang tin nhắn

2 Thông tin tư vấn viên Widget Hình đại diện, họ tên, thông tin cá nhân của tư vấn viên

3 Message Button Khi nhấn vào sẽ mở form gửi tin nhắn cho tư vấn viên

Hình 5.12 Lựa chọn chuyển hướng

Bảng 5.10 Mô tả lựa chọn chuyển hướng

STT Tên Loại Ghi chú

1 Thông tin cơ bản Widget Ảnh đại diện, tên, email của người dùng

2 Thông tin cá nhân Button Khi nhấn vào sẽ chuyển hướng sang màn hình quản lý thông tin cá nhân

3 Giới thiệu về trường Button Khi nhấn vào sẽ mở màn hình giới thiệu về trường

4 Logout Button Khi nhấn vào sẽ logout khỏi ứng dụng

5.2.12 Màn hình thông tin cá nhân

Hình 5.13 Màn hình thông tin cá nhân

Bảng 5.11 Mô tả màn hình thông tin cá nhân

STT Tên Loại Ghi chú

1 Trở về Button Khi nhấn vào sẽ trở về trang tin nhắn

2 Ảnh đại diện Image Ảnh đại diện của người dùng

3 Chuyển đổi Tab bar Lựa chọn giữa thông tin cá nhân và đổi mật khẩu

4 Thông tin cá nhân Text field Thông tin cá nhân của người dùng, khi cần update có thể nhập thông tin cập nhật

5 Lưu Button Khi nhấn vào sẽ update thông tin người dùng

6 Chỉnh sửa ảnh đại diện Button Khi nhấn vào sẽ cho phép người thay đổi ảnh đại diện

7 Password Text field Nhập thông tin mật khẩu hiện tại và mật khẩu mới

Đội ngũ tư vấn viên

Hình 5.14 Màn hình home tư vấn viên

Bảng 5.12 Mô tả màn hình tin nhắn tư vấn viên

STT Tên Loại Ghi chú

1 Menu Button Khi nhấn vào sẽ mở menu lựa chọn điều hướng

2 Message Button Khi nhấn vào sẽ mở màn hình tin nhắn

3 New post Widget Khi nhấn vào sẽ mở form tạo bài đăng mới đính kèm hình ảnh hoặc file pdf

4 Danh sách bài đăng Widget Nội dung các bài đăng bao gồm người đăng, thời gian, nội dung bài đăng cùng hình ảnh đính kèm

Hình 5.15 Màn hình thông tin cá nhân tư vấn viên

Bảng 5.13 Mô tả màn hình thông tin cá nhân tư vấn viên

STT Tên Loại Ghi chú

1 Trở lại Button Khi nhấn vào sẽ trở về màn hình trước đó

2 Ảnh đại diện Image Ảnh đại diện của người dùng

3 Edit Button Khi nhấn vào sẽ cho phép người dùng chỉnh sửa ảnh đại diện của mình

4 Tab bar TabBar Chuyển đổi giữa thông tin cá nhân và thay đổi password

5 Thông tin cá nhân Text field Chứa các thông tin cá nhân của người dùng, khi cần chỉnh sửa có thể nhập thông tin chỉnh sửa

6 Lưu Button Khi nhấn vào sẽ thực hiện chỉnh sửa thông tin người dùng

7 Mật khẩu Text field Nhập thông tin mật khẩu hiện tại và mật khẩu mới

5.3.3 Màn hình quản lý tư vấn viên

Hình 5.16 Màn hình quản lý tư vấn viên

Bảng 5.14 Mô tả màn hình quản lý tư vấn viên

STT Tên Loại Ghi chú

1 Trở lại Button Khi nhấn vào sẽ trở lại màn hình trước đó

2 Add Button Khi nhấn vào sẽ mở form tạo tài khoản tư vấn viên mới

3 Danh sách tư vấn viên Widget Danh sách tư vấn viên thuộc phạm vi xác định

4 Edit Button Khi nhấn vào sẽ mở form thực hiện các tác vụ với tư vấn viên được chọn

5.3.4 Tạo tư vấn viên mới

Hình 5.17 Màn hình tạo tư vấn viên mới Bảng 5.15 Mô tả màn hình tạo tư vấn viên mới

STT Tên Loại Ghi chú

1 Categories Selection Khi nhấn vào sẽ mở menu lựa chọn các lĩnh vực, có thể chọn nhiều lĩnh vực

2 Thông tin cá nhân Text field Nhập các thông tin cần thiết để tạo tư vấn viên mới

3 Save Button Khi nhấn vào tạo tư vấn viên mới

4 OK Button Khi nhấn vào sẽ lưu các lựa chọn lĩnh vực

5 Cancel Button Khi nhấn vào sẽ đóng form lựa chọn lĩnh vực của tư vấn viên

5.3.5 Chỉnh sửa tác vụ với tư vấn viên

Hình 5.18 Màn hình tác vụ tư vấn viên

Bảng 5.16 Mô tả màn hình tác vụ tư vấn viên

STT Tên Loại Ghi chú

1 Thông tin cá nhân Widget Ảnh đại diện, họ tên, chức vụ của người dùng

2 Category Selection Lựa chọn các lĩnh vực cho tư vấn viên, khi nhấn vào có thể chỉnh sửa lĩnh vực

3 Save Button Khi nhấn vào sẽ lưu thông tin lĩnh vực của tư vấn viên

Khi nhấn vào sẽ cập nhật trạng thái tài khoản của người dùng

5.3.6 Quản lý lĩnh vực trong khoa

Hình 5.19 Màn hình quản lý lĩnh vực trong khoa

Bảng 5.17 Mô tả màn hình quản lý lĩnh vực trong khoa

STT Tên Loại Ghi chú

1 Trở lại Button Khi nhấn vào sẽ trở về màn hình trước đó

2 Thêm lĩnh vực mới Button Khi nhấn vào sẽ mở form thêm lĩnh vực mới trong khoa

3 Tên khoa Text Tên khoa được quản lý

4 Lĩnh vực trong khoa Widget Danh sách các lĩnh vực quản lý trong khoa

Hình 5.20 Màn hình tin nhắn tư vấn viên Bảng 5.18 Mô tả màn hình tin nhắn tư vấn viên

STT Tên Loại Ghi chú

1 Trở lại Button Khi nhấn vào sẽ trở về màn hình trước đó

Danh sách tin nhắn Tabbar cho phép người dùng dễ dàng chuyển đổi giữa các danh mục như tất cả câu hỏi, câu hỏi đã trả lời, câu hỏi chưa trả lời và danh sách tin nhắn riêng.

Widget danh sách tin nhắn hiển thị các tin nhắn trong một danh sách cụ thể, cung cấp thông tin cơ bản về từng tin nhắn Khi người dùng nhấn vào tin nhắn, hệ thống sẽ chuyển hướng đến màn hình chi tiết để xem thêm thông tin.

Khi nhấn vào sẽ thực hiện chuyển đổi giữa danh sách tất cả câu hỏi, câu hỏi private và câu hỏi được public vào thư viện câu hỏi

5.3.8 Màn hình chi tiết tin nhắn tư vấn viên

Hình 5.21 Màn hình chi tiết tin nhắn tư vấn viên Bảng 5.19 Mô tả màn hình chi tiết tin nhắn tư vấn viên

STT Tên Loại Ghi chú

1 Trở lại Button Khi nhấn vào sẽ trở về màn hình trước đó

2 Tin nhắn Widget Nội dung cuộc hội thoại với người dùng, bao gồm tin nhắn, hình ảnh, file pdf

3 File Button Khi nhấn vào sẽ chọn file ảnh hoặc pdf để gửi

4 Nhập tin nhắn Text field Nhập nội dung tin nhắn mới

5 Options Button Lựa chọn các options với tin nhắn như chuyển câu hỏi, xem câu hỏi liên quan

6 Cancel Button Khi nhấn vào sẽ đóng form lựa chọn các options

7 Send Button Khi nhấn vào sẽ gửi tin nhắn

Hình 5.22 Màn hình chuyển câu hỏi

Bảng 5.20 Mô tả màn hình chuyển câu hỏi

STT Tên Loại Ghi chú

1 Lĩnh vực phụ trách Selection Khi nhấn vào sẽ mở các lĩnh vực phụ trách thuộc khoa để người dùng lựa chọn

2 Email Input text Người dùng nhập email cho tư vấn viên

3 Họ tên Input text Người dùng nhập họ tên của tư vấn viên

4 Số điện thoại Input text Người dùng nhập số điện thoại cho tư vấn viên

5 Mật khẩu Password Người dùng nhập mật khẩu cho tư vấn viên

6 Lưu Button Khi nhấn vào sẽ thực hiện thêm tư vấn viên mới

7 Thoát Button Khi nhấn vào sẽ thực hiện đóng form thêm tư vấn viên

Hình 5.23 Màn hình thống kê Bảng 5.21 Mô tả màn hình quản lý lĩnh vực

STT Tên Loại Ghi chú

1 Bottom Bar Bottom navigator bar

Khi nhấn vào sẽ chuyển đổi giữa các màn hình thống kê về số lượng câu hỏi, khoa, lĩnh vực, tư vấn viên

Hình 5.24 Màn hình tạo bài đăng mới

Bảng 5.22 Mô tả màn hình tạo bài đăng mới

STT Tên Loại Ghi chú

1 Cancel Button Khi nhấn vào sẽ đóng form tạo bài đăng mới

2 Post Button Khi nhấn vào thực hiện tạo bài đăng mới

3 Content Text field Nhập nội dung bài đăng

4 File pdf, hình ảnh Button Khi nhấn vào sẽ cho phép thêm hình ảnh hoặc file pdf vào bài đăng

Admin

5.4.1 Màn hình đăng nhập admin

Hình 5.25 Màn hình đăng nhập admin

5.4.2 Màn hình trang chủ admin

Hình 5.26 Màn hình trang chủ admin

Hình 5.27 Màn hình thống kê admin

CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG

Kiểm thử ứng dụng

CHƯƠNG 6 CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG 6.1 Cài đặt

To access the necessary files, visit the link provided For Android operating systems, download the file in apk format For iOS operating systems, choose the file in ipa format After downloading, proceed to install the file.

6.2.1 Các chức năng thuộc phân hệ người dùng

Bảng 6.1 Kiểm thử chức năng phân hệ người dùng

STT Testcase Kết quả mong đợi Kết quả

1 Chức năng đăng nhập Đăng nhập thành công, đúng phân quyền

2 Chức năng đăng ký Đăng ký thành công khi người dùng nhập đầy đủ và các thông tin phù hợp

3 Đổi mật khẩu Đổi mật khẩu thành công khi người dùng nhập mật khẩu cũ đũng, mật khẩu mới và xác nhận mật khẩu trùng khớp với nhau

4 Đổi ảnh đại diện Đổi ảnh đại diện thành công Pass

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

Thông tin cá nhân của người dùng thay đổi thành công

6 Gửi câu hỏi cho tư vấn viên cụ thể

Câu hỏi gửi thành công khi người dùng chọn và nhập đủ các thông tin cần thiết

7 Gửi câu hỏi Câu hỏi gửi thành công khi người dùng chọn và nhập đủ các thông tin cần thiết

8 Gửi thắc mắc về bài đăng

Câu hỏi gửi thành công khi người dùng chọn và nhập đủ các thông tin cần thiết

6.2.2 Các chức năng thuộc phân hệ tư vấn viên

Bảng 6.2 Kiểm thử chức năng phân hệ tư vấn viên

STT Testcase Kết quả mong đợi Kết quả

1 Chức năng đăng nhập Đăng nhập thành công, đúng phân quyền

2 Đổi mật khẩu Đổi mật khẩu thành công khi người dùng nhập mật khẩu cũ đũng, mật khẩu mới và xác nhận mật khẩu trùng khớp với nhau

3 Đổi ảnh đại diện Đổi ảnh đại diện thành công Pass

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

Thông tin cá nhân của người dùng thay đổi thành công

5 Thêm câu trả lời Thêm câu trả lời thành công khi người dùng chọn và nhập đủ các thông tin cần thiết

6 Chuyển câu hỏi Chuyển câu hỏi thành công khi người dùng chọn đủ các thông tin cần thiết

Bảng 6.3 Kiểm thử chức năng phân hệ trưởng nhóm

STT Testcase Kết quả mong đợi Kết quả

1 Chức năng đăng nhập Đăng nhập thành công, đúng phân quyền

2 Đổi mật khẩu Đổi mật khẩu thành công khi người dùng nhập mật khẩu cũ đũng, mật

145 khẩu mới và xác nhận mật khẩu trùng khớp với nhau

3 Đổi ảnh đại diện Đổi ảnh đại diện thành công Pass

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

Thông tin cá nhân của người dùng thay đổi thành công

5 Thêm câu trả lời Thêm câu trả lời thành công khi người dùng chọn và nhập đủ các thông tin cần thiết

6 Chuyển câu hỏi Chuyển câu hỏi thành công khi người dùng chọn đủ các thông tin cần thiết

7 Vô hiệu hóa tài khoản

Người dùng vô hiệu hóa tài khoản thành công

Người dùng kích hoạt tài khoản thành công

9 Chuyển lĩnh vực Chuyển lĩnh vực thành công cho tư vấn viên khi người dùng chọn đúng thông tin cần thiết

10 Reset mật khẩu Reset mật khẩu thành công khi người dùng nhập mật khẩu phù hợp

11 Thêm tư vấn viên mới

Thêm tư vấn viên mới thành công khi người dùng chọn và nhập đủ các thông tin cần thiết

Thêm lĩnh vực mới thành công khi người dùng nhập đủ thông tin cần thiết

Chỉnh sửa lĩnh vực thành công Pass

Thêm bài đăng mới thành công khi người dùng chọn và nhập đủ các thông tin cần thiết

Bảng 6.4 Kiểm thử chức năng phân hệ manager

STT Testcase Kết quả mong đợi Kết quả

1 Chức năng đăng nhập Đăng nhập thành công, đúng phân quyền

2 Đổi mật khẩu Đổi mật khẩu thành công khi người dùng nhập mật khẩu cũ đũng, mật khẩu mới và xác nhận mật khẩu trùng khớp với nhau

3 Đổi ảnh đại diện Đổi ảnh đại diện thành công Pass

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

Thông tin cá nhân của người dùng thay đổi thành công

Thay đổi trưởng khoa thành công khi người dùng chọn thông tin phù hợp

6 Chỉnh sửa thông tin khoa

Chỉnh sửa thông tin khoa thành công khi người dùng nhập đủ thông tin phù hợp

NHỮNG KẾT QUẢ ĐẠT ĐƯỢC

Về kiến thức, mỗi thành viên của nhóm được học hỏi và trau dồi được thêm rất nhiều cho bản thân mình

Chuyên môn của tôi bao gồm phát triển phần mềm bằng Flutter và Dart để tạo ra các ứng dụng native tương thích với nhiều nền tảng khác nhau Tôi đã học được cách sử dụng các công cụ debug để xác định và khắc phục lỗi trong quá trình phát triển phần mềm, đồng thời tiếp thu nhiều kiến thức mới hữu ích Ngoài ra, tôi cũng hiểu rõ cách quản lý cơ sở dữ liệu và làm việc hiệu quả với Google Firebase.

Kỹ năng làm việc nhóm và giải quyết vấn đề chung là rất quan trọng trong môi trường làm việc hiện đại Tư duy phản biện và kỹ năng giao tiếp hiệu quả giữa các thành viên trong nhóm giúp nâng cao sự hợp tác và sáng tạo Ngoài ra, khả năng đọc tài liệu tiếng Anh và tự học, tự nghiên cứu là cần thiết để vượt qua những thách thức Cuối cùng, kỹ năng quản lý thời gian giúp đảm bảo tiến độ công việc mà không bị ảnh hưởng bởi các yếu tố bên ngoài.

Sau khi thực hiện đề tài nhóm đã đạt được:

 Ứng dụng di động dành cho người dùng của hệ thống Tư vấn sinh viên

 Ứng dụng di động dành cho tư vấn viên của hệ thống Tư vấn sinh viên

 Ứng dụng di động dành cho trưởng nhóm của hệ thống Tư vấn sinh viên

 Ứng dụng di động dành cho quản lý của hệ thống Tư vấn sinh viên

 Website dành cho admin của hệ thống Tư vấn sinh viên

 Sơ đồ, lược đồ báo cáo cho hệ thống Tư vấn sinh viên

 Các tài liệu báo cáo cho hệ thống Tư vấn sinh viên

Về các ứng dụng, website tất cả đề được triển khai và cập nhật bản mới nhất Với

Người dùng có thể cài đặt 148 ứng dụng di động thông qua file apk hoặc cung cấp email cho nhóm thực hiện đề tài để nhận lời mời tham gia hệ thống Firebase Distribution Đối với website, người dùng chỉ cần truy cập qua đường dẫn đã được cung cấp.

Kinh nghiệm lập trình ứng dụng di động

Kinh nghiệm lập trình website bằng Ruby on Rails

Kinh nghiệm phát triển, triển khai ứng dụng và kiểm thử phần mềm

Kinh nghiệm làm việc với Google Firebase, Cloud FireStore.

ƯU ĐIỂM VÀ NHƯỢC ĐIỂM

Các hệ thống được triển khai giúp người dùng có thể dễ dàng sử dụng mà không cần phải cài đặt phức tạp

Hệ thống được viết trong một source code nhờ có sự hỗ trợ của Flutter khiến cho việc cài đặt cũng dễ dàng hơn

Hệ thống sở hữu những tính năng thiết yếu và đảm bảo hoạt động ổn định Ý tưởng thực hiện dự án này là độc đáo, không trùng lặp với các dự án cùng quy mô khác.

Vẫn còn chưa đầy đủ các tính năng để tăng trải nghiệm của người dùng

Giao diện UI/UX vẫn chưa thật sự mượt mà

Vì kinh nghiệm và kiến thức còn nhiều hạn chế, một số chức năng được xử lý chưa thật sự tối ưu.

THUẬN LỢI

Nhờ sự hướng dẫn tận tình của thầy Nguyễn Hữu Trung và các giảng viên trong Khoa Công nghệ thông tin, nhóm chúng tôi đã nhận được nhiều hỗ trợ quý báu trong quá trình thực hiện đề tài tại Trường Đại học Sư Phạm Kỹ Thuật Thành phố Hồ Chí Minh.

KHÓ KHĂN

Flutter là một công nghệ khá mới nên việc tìm kiếm các giải pháp cũng như các lời

149 giải cho các bài toán phát sinh trong quá trình phát triển phần mềm còn gây ít nhiều trở ngại cho nhóm

Tương tác với Google Firebase để xác thực, quản lý người dùng và lưu trữ dữ liệu, hình ảnh mang lại nhiều lợi ích, nhưng cũng đặt ra không ít thách thức cho nhóm trong việc quản lý và tùy biến các thành phần của hệ thống liên quan đến tiện ích này.

Kinh nghiệm và kỹ năng của nhóm còn nhiều thiếu sót và non trẻ cũng dẫn đến không ít khó khăn để giải quyết vấn đề.

HƯỚNG PHÁT TRIỂN

Trong quá trình thực hiện đề tài, nhóm gặp nhiều khó khăn về thời gian và kiến thức, ảnh hưởng đến việc hiện thực hóa các tính năng của hệ thống Do đó, nhóm đã xác định hướng phát triển cho hệ thống trong thời gian tới.

 Phát triển hệ thống thông báo khi nhận được câu hỏi, câu trả lời, câu hỏi được chuyển, có bài đăng mới…

 Phát triển luồng hỏi và trả lời theo thời gian thực để cải thiện việc tương tác giữa người dùng và nhân viên trong hệ thống

 Phát triển các tính năng mới mà nhóm nghĩ ra trong tương lai

 Cải thiện hiệu suất, sửa lỗi và ứng dụng các công nghệ mới vào đề tài

[1] Tìm hiểu về Flutter và ứng dụng, Đỗ Thế Hiệp, https://lib.hpu.edu.vn/bitstream/handle/123456789/34453/Do-The-Hiep-

CT2101C.pdf?sequence=1&fbclid=IwAR207d1oHFljULpIhEqNeZZ-0-

[2] Dart overview, Dart Team, https://dart.dev/overview

[3] Firebase App Distribution, Firebase, https://firebase.google.com/docs/app-distribution

[4] Firebase, Wikipedia, https://en.wikipedia.org/wiki/Firebase

[5] Flutter Document, Flutter team, https://docs.flutter.dev/

[6] UI Food Delivery Flutter, Trần Tâm Nguyên, https://www.youtube.com/watch?v=uHxGhTAuQ1w&list=PLclUEECd6XzsMA7FGYMng9VxOE3g2L ow-&ab_channel=Tr%E1%BA%A7nT%C3%A2mNguy%C3%AAn

[7] Flutter cơ bản, Nguyễn Đức Hoàng https://www.youtube.com/watch?v=GkuKMSnERPE&list=PLWBrqglnjNl3DzS2RHds5KlanGqQ1uLN Q&ab_channel=NguyenDucHoang

[8] Báo Cáo Mẫu, Nguyễn Trường An – Gian Thiệu Quân https://docs.google.com/document/d/1oc1vsIUwo7cDvZgSDYI2h0B3T511E6iI/edit?usp=sharing&ouid= 106910716433953849962&rtpof=true&sd=true

[9] Flutter login and registration using firebase, Freecode sport, https://www.freecodespot.com/blog/flutter-login-and-registration-using-firebase/

[10] Using Firebase Authentication, Firebase, https://firebase.flutter.dev/docs/auth/usage

[11] Flutter (software), Wikipedia, https://en.wikipedia.org/wiki/Flutter_(software)

[12] Trang tư vấn sinh viên trường Đại học Sư phạm Kỹ thuật TP Hồ Chí Minh http://tuvansinhvien.hcmute.edu.vn/

Ngày đăng: 05/12/2023, 10:01

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

TÀI LIỆU LIÊN QUAN

w