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/