Công nghệ thông tin đã và đang ngày càng phát triển mạnh mẽ trong mọi lĩnh vực của đời sống, kinh tế, 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ế cũng như sự mở rộng ngày càng lớn về quy mô của các doanh nghiệp, xí nghiệp, cơ quan đã làm tăng các luồng và khối lượng thông tin, làm cho công tác quản lý trở nên phức tạp hơn. Với việc làm công tác quản lý thủ công bằng sổ sách (như trước kia) thì không thể đáp ứng được với sự phát triển như hiện nay. Trong xu thế ấy, việc quản lý dựa vào máy tính là một nhu cầu thiết yếu của hầu hết mọi ngành, mọi doanh nghiệp, việc tin học hóa từng bước trong công tác quản lý, khai thác, điều hành sản xuất kinh doanh và quản lý hoạt động là một đòi hỏi ngày càng cấp thiết. Trong môi trường giáo dục hiện nay, việc trao đổi thông tin, hỏi đáp giữa sinh viên và các giảng viên là điều rất cần thiết bởi thắc mắc của sinh viên là không có giới hạn. Nếu như tầm chục năm trước, khi một sinh viên có một thắc mắc với nhà trường, sinh viên đó phải lên tận phòng tư vấn sinh viên để hỏi, và không phải lúc nào cũng có người đủ chuyên môn trả lời thắc mắc có mặt ngay lúc đó để trả lời, và việc di chuyển như vậy cũng rất mất thời gian. Còn bây giờ, nếu có một thắc mắc nào đó thì sinh viên Sư phạm kỹ thuật có thể lên trang web tuvansinhvien.hcmute.edu.vn để được các tư vấn viên tư vấn, giải đáp tận tình. Nhưng vấn đề đặt ra là, muốn đặt câu hỏi thì sinh viên phải truy cập website của nhà trường, và các tư vấn viên cũng phải trực website liên tục để việc tư vấn diễn ra nhanh chóng nhất. Vậy nên nhóm em nghĩ đến việc tạo ra một ứng dụng mobile dựa trên ý tưởng và chức năng của website trên để sinh viên có thể đặt câu hỏi ngay trên điện thoại di động, các tư vấn viên có thể nhận được thông báo trên điện thoại của mình, giúp việc tư vấn diễn ra dễ dàng hơ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.
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 yêu cầu hiện tại Do đó, việc ứng dụng công nghệ máy tính trong quản lý trở thành 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 dần dần 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 trao đổi thông tin giữa sinh viên và giảng viên là rất cần thiết do sự đa dạng của thắc mắc sinh viên Trước đây, sinh viên phải đến phòng tư vấn để hỏi, nhưng không phải lúc nào cũng có chuyên gia sẵn sàng trả lời, gây tốn thời gian Ngày nay, sinh viên có thể dễ dàng đặt câu hỏi và nhận được phản hồi nhanh chóng, giúp tối ưu hóa quá trình học tập và giải quyết vấn đề hiệu quả hơn.
Sư phạm kỹ thuật có thể truy cập trang web tuvansinhvien.hcmute.edu.vn để được tư vấn tận tình, nhưng sinh viên cần vào website và các tư vấn viên phải trực tuyến liên tục để hỗ trợ nhanh chóng Vì vậy, nhóm em đề 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 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 tư vấn sinh viên
MỤC ĐÍCH CỦA ĐỀ TÀI
Mục tiêu hàng đầu của việc phát triển ứng dụng mobile 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 trong quá trình hỗ trợ sinh viên.
Việc sử dụng Firebase mang lại sự rõ ràng và chính xác cho dữ liệu, giúp tránh 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
Flutter là một framework UI mạnh mẽ, cung cấp một thư viện các thành phần giao diện người dùng (UI) có thể tái sử dụng như nút bấm, ô nhập văn bản và thanh trượt, cho phép người dùng cá nhân hóa theo nhu cầu riêng Nó hỗ trợ phát triển ứng dụng nhanh chóng và đẹp mắt, với khả năng biên dịch nguyên bản cho thiết bị di động, web và máy tính để bàn, tất cả từ một ngôn ngữ lập trình và cơ sở mã duy nhất Flutter hoàn toàn miễn phí và mã nguồn mở, được phát triển bởi Google và hiện được quản lý theo tiêu chuẩn ECMA, 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 cho việc phát triển ứng dụng di động 2D, có khả năng hoạt động trên cả nền tảng Android và iOS Nó cho phép xây dựng các ứng dụng đầy đủ tính năng với các khả năng như sử dụng máy ảnh, lưu trữ, định vị, kết nối 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 đó, Flutter áp dụng công cụ kết xuất hiệu suất cao riêng của mình để vẽ các widget, mang lại trải nghiệm mượt mà và tối ưu cho người dùng.
Nó triển khai hầu hết các hệ thống như hoạt ảnh, cử chỉ và widget 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ỏ mọi thứ Điều này mang lại 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 phát triển ứng dụng di động và máy tính để bàn với thiết kế hấp dẫn Nó cung cấp các phương pháp đơn giản để bắt đầu xây dựng ứng dụng, cùng với bộ thiết kế material design và kho widget phong phú Bài viết này sẽ khám phá các tính năng chính của Flutter trong việc phát triển ứng dụng di động.
Flutter là một framework mã nguồn mở và miễn phí, cho phép phát triển ứng dụng di động hiệu quả Với tính năng đa nền tảng, Flutter giúp lập trình viên viết mã một lần và triển khai trên nhiều hệ điều hành khác nhau, từ đó tiết kiệm thời gian, công sức và chi phí.
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 những thay đổi trong code mà không cần khởi động lại ứng dụng Điều này giúp sửa lỗi một cách nhanh chóng và hiệu quả, mang lại sự tiện lợi tối đa trong quá trình phát triển.
Các tính năng và SDK gốc có thể truy cập (Accessible Native Features and SDKs): Tính năng này cho phép quá trình phát triển ứng dụng dễ
Hình 1.2: a Hình 1.2 Các tính năng của Flutter [1]
Flutter cho phép phát triển ứng dụng đa nền tảng một cách nhanh chóng và hiệu quả nhờ vào mã nguồn gốc, tích hợp các API và SDK bên thứ ba Điều này giúp chúng ta dễ dàng truy cập và sử dụng SDK trên cả hai nền tảng, mang lại trải nghiệm người dùng thú vị và mượt mà.
Code tối thiểu trong ứng dụng Flutter được phát triển bằng ngôn ngữ lập trình Dart, với việc sử dụng 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à cải thiện tốc độ JIT không chỉ nâng cao hệ thống phát triển mà còn 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 xây dựng lại hệ thống.
Flutter là một framework mạnh mẽ cung cấp các widget cho phép phát triển các thiết kế tùy chỉnh Đặc biệt, Flutter bao gồm hai bộ widget chính: Material Design và widget Cupertino, mang đến 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ày thường được đặt lên bàn cân để đánh giá ưu nhược điểm của từng công nghệ Flutter nổi bật với hiệu suất cao và giao diện người dùng đẹp mắt, trong khi React Native lại được ưa chuộng nhờ vào cộng đồng phát triển 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à kinh nghiệm 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 Native App, một phần trong App được chạy dưới dạng JavaScript
Không biên dịch code thành các UIComponent
Biên dịch code thành các UIComponent của riêng
30 phần UI của riêng Android hay IOS mà Flutter kiểm soát từng pixel trên màn hình
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à một 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 chủ yếu được sử dụng để tạo giao diện người dùng frontend cho web và ứng dụng di động Dart đang được phát triển tích cực và có khả năng biên dịch sang mã máy gốc, giúp xây dựng ứng dụng di động Nó được lấy cảm hứng từ các ngôn ngữ lập trình như Java, JavaScript, C# và Typed mạnh Do Dart là ngôn ngữ biên dịch, mã nguồn không thể được thực thi 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 nó thành mã máy.
Ngôn ngữ Dart hỗ trợ nhiều 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 tuyệt vời và chất lượng trên mọ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ẽ do Google cung cấp, giúp người dùng dễ dàng lập trình ứng dụng bằng cách đơn giản 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 số lượng người dùng và tối ưu hóa lợi nhuận Dịch vụ này không chỉ đa năng mà còn đảm bảo tính 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à web, cung cấp các API mạnh mẽ và dễ sử dụng mà không cần phải xây dựng backend hay server.
Firebase nổi bật với tính năng xác thực người dù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 Tính năng 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 và kinh tế, đặc biệt trong cơ chế thị trường Sự mở rộng quy mô của các doanh nghiệp và cơ quan đã làm gia 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, điều hành sản xuất và quản lý hoạt động là yêu cầu cấp thiết trong thời đại ngày nay.
Trong môi trường giáo dục hiện nay, việc trao đổi thông tin giữa sinh viên và giảng viên là vô cùng cần thiết do nhu cầu hỏi đáp của sinh viên ngày càng đa dạng Trước đây, sinh viên phải đến phòng tư vấn để giải đáp thắc mắc, nhưng điều này thường tốn thời gian và không đảm bảo có chuyên gia sẵn sàng hỗ trợ Hiện nay, sinh viên có thể dễ dàng đặt câu hỏi trực tuyến, giúp tiết kiệm thời gian và nâng cao hiệu quả trong việc tìm kiếm thông tin.
Sư phạm kỹ thuật có thể truy cập trang web tuvansinhvien.hcmute.edu.vn để được tư vấn tận tình Tuy nhiên, việc sinh viên phải vào website và các tư vấn viên cần trực tuyến liên tục gây khó khăn cho quá trình tư vấn Để khắc phục đ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, trong khi các tư vấn viên nhận thông báo tức thì, giúp nâng cao hiệu quả và sự thuận tiện trong việc 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
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ùng với một website quản trị dành cho quản trị viên Ứng dụng này cung cấp các chức năng chính như lựa chọn câu hỏi, đăng thông báo và quản lý hệ thống hiệu quả.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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ủ
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
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
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
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
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
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
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
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
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
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ủ
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
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ề trường
Bảng 3.25 Xem giới thiệu về trường
Name Xem giới thiệu về trường
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
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
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
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
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
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
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
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
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
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
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
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
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
Bảng 3.34 Đổi ảnh đại diện
Name Đổi ảnh đại diện
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
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
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ủ
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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ủ
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
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
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
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
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
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
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
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
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
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
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
Bảng 3.58 Đổi ảnh đại diện
Name Đổi ảnh đại diện
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
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
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ủ
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
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
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
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
Bảng 3.64 Chỉnh sửa tên khoa
Name Chỉnh sửa tên khoa
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
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
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
1 Người dùng chọn nút Thoát
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
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
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
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
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 đó
Chuyển đổi dễ dàng giữa danh sách tất cả câu hỏi, câu hỏi đã trả lời và câu hỏi chưa trả lời thông qua Tabbar Ngoài ra, người dùng còn có thể truy cập danh sách tin nhắn riêng để quản lý thông tin hiệu quả hơn.
Widget danh sách tin nhắn hiển thị các tin nhắn trong một danh sách nhất định, cung cấp thông tin cơ bản về từng tin nhắn Khi người dùng nhấn vào một tin nhắn, hệ thống sẽ chuyển hướng đến màn hình chi tiết của tin nhắn đó.
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
Truy cập đường dẫn https://drive.google.com/drive/folders/19o-
_G8mlZNe1B9qhUOn_X23LlZ3Kvrtm?usp=sharing Đối với hệ điều hành
Đối với hệ điều hành Android, người dùng cần chọn tải xuống tệp có định dạng apk, trong khi đối với hệ điều hành iOS, lựa chọn tải xuống tệp có định dạng ipa Sau khi tải về, hãy tiến hành cài đặt tệp tương ứng.
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 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, cho phép 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 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 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 giữa các thành viên trong nhóm giúp tăng cường sự hợp tác và hiệu quả công việc Bên cạnh đó, khả năng đọc tài liệu tiếng Anh và tự học, tự nghiên cứu sẽ giúp giải quyết những khó khăn trong quá trình làm việc Cuối cùng, kỹ năng quản lý thời gian là yếu tố then chốt để hoàn thành nhiệm vụ đúng tiến độ, bất chấp những yếu tố tác động 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
Tất cả các ứng dụng và website đều được triển khai và cập nhật phiên bản mới nhất Đối với ứng dụng di động, người dùng có thể cài đặt thông qua file apk hoặc cung cấp email để được mời vào 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 bao gồm các tính năng cần có và hoạt động ổn định
Ý tưởng thực hiện đề tài độc đáo, không bị 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ờ có sự hướng dẫn nhiệt tình của thầy Nguyễn Hữu Trung cũng như các thầy cô trong Khoa Công nghệ thông tin Trường Đại học Sư Phạm Kỹ
Thuật Thành phố Hồ Chí Minh giúp đỡ nhóm trong thời gian thực hiện đề tài
Flutter là một công nghệ mới, do đó, việc tìm kiếm giải pháp và lời giải cho các vấn đề phát sinh trong quá trình phát triển phần mềm vẫn gặp nhiều khó khăn 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 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 đề
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 cho hệ thống Do đó, nhóm đã xác định hướng phát triển cho hệ thống nhằm khắc phục những trở ngại này.
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.