TÍNH CẤP THIẾT CỦA ĐỀ TÀI
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.
MỤC ĐÍCH CỦA ĐỀ TÀI
Mục đích chính của việc xây dựng ứng dụng mobile tư vấn sinh viên đó là tạo nên sự tiện lợi, tiết kiệm thời gian, kinh phí nhưng vẫn đem lại hiệu quả cao.
Ngoài ra còn đem lại sự rõ ràng, rành mạnh của dữ liệu, tránh sai sót, mất mát dữ liệu Dữ liệu được lưu trên firebase nên sẽ dễ dàng xử lý realtime tạo nên sự nhanh chóng cho 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à một bộ SDK đa nền tảng có thể hoạt động trên iOS và Android do
Google phát triển được sử dụng để tạo ra các ứng dụng dành cho di động (native app).
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 (UI Library based on widgets): Một tập hợp các thành phần giao diện người dùng (UI) có thể tái sử dụng (button, text inputs, slider, v.v.) giúp bạn có thể cá nhân hóa tùy theo nhu cầu của riêng mình.
Flutter là một bộ công cụ giao diện người dùng để tạo các ứng dụng nhanh, đẹp, được biên dịch nguyên bản cho thiết bị di động, web và máy tính để bàn với một ngôn ngữ lập trình và cơ sở code duy nhất Nó là miễn phí và code nguồn mở Ban đầu nó được phát triển từ Google và bây giờ được quản lý theo tiêu chuẩn ECMA Ứng dụng Flutter sử dụng ngôn ngữ lập trình Dart để tạo ứng dụng.
Flutter chủ yếu được tối ưu hóa cho các ứng dụng di động 2D có thể chạy trên cả nền tảng Android và IOS Chúng ta cũng có thể sử dụng nó để xây dựng các ứng dụng đầy đủ tính năng, bao gồm máy ảnh, bộ nhớ, vị trí địa lý, mạng, SDK của bên thứ ba, …
1.1.2 Điều làm Flutter trở nên độc đáo
Flutter khác với các framework khác vì nó không sử dụng WebView cũng như các widget OEM (Original Equipment Manufacturer) đi kèm với thiết bị Thay vào đó, nó sử dụng công cụ kết xuất hiệu suất cao của riêng mình để vẽ các widget Nó cũng triển khai hầu hết các hệ thống của nó 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 đọc, thay đổi, thay thế hoặc loại bỏ mọi thứ một cách dễ dàng 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 cung cấp các phương pháp dễ dàng và đơn giản để bắt đầu xây dựng các ứng dụng dành cho thiết bị di động và máy tính để bàn đẹp mắt với một bộ thiết kế material design và widget phong phú Ở đây, chúng ta sẽ thảo luận về các tính năng chính của nó để phát triển framework di động.
Hình 1.2 Các tính năng của Flutter [1]
Code nguồn mở (Open-Source:): Flutter là một framework code nguồn mở và miễn phí để phát triển các ứng dụng di động. Đa nền tảng (Cross-platform): Tính năng này cho phép Flutter viết code một lần, 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): Bất cứ khi nào nhà phát triển thực hiện thay đổi trong code, thì những thay đổi này có thể được nhìn thấy ngay lập tức với Tải lại nóng Nó có nghĩa là những thay đổi hiển thị ngay lập tức trong chính ứng dụng Đây là một tính năng rất tiện dụng, cho phép nhà phát triển sửa các lỗi ngay lập tức.
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ễ dàng và thú vị thông qua code gốc của Flutter, tích hợp bên thứ ba và các API nền tảng Do đó, chúng tôi có thể dễ dàng truy cập SDK trên cả hai nền tảng.
Code tối thiểu (Minimal code): Ứng dụng Flutter được phát triển bởi ngôn ngữ lập trình Dart, sử dụng biên dịch JIT và AOT để cải thiện thời gian khởi động tổng thể, hoạt động và tăng tốc hiệu suất JIT nâng cao hệ thống phát triển và làm mới giao diện người dùng mà không cần nỗ lực thêm vào việc xây dựng hệ thống mới.
Widget: framework công tác Flutter cung cấp các widget có khả năng phát triển các thiết kế cụ thể có thể tùy chỉnh Quan trọng nhất, Flutter có hai bộ widget: Material Design và các widget Cupertino giúp mang lại trải nghiệm không có trục trặc trên tất cả các nền tảng.
1.1.4 So sánh Flutter và các đối thủ
Một trong những framework được so sánh và đắn đo nhiều nhất khi đề cập đến Flutter là React Native, sau đây là một số so sánh giữa hai framework.
Bảng 1.1 So sánh Flutter và React Native
Ngôn ngữ Dart + Flutter Java Script/React.js lập trình,
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 Không biên dịch code Biên dịch code thành các các thành thành các UIComponent UIComponent của riêng phần UI của riêng Android hay IOS 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 di động, web, Hầu như là ứng dụng di động ứng dụng desktop (Có thể có React Native Web)
Nhà phát Google Facebook triển
Dart
Dart là một ngôn ngữ lập trình hướng đối tượng mã nguồn mở, có mục đích chung với cú pháp kiểu C do Google phát triển vào năm 2011 Mục đích của lập trình Dart là tạo giao diện người dùng frontend cho web và ứng dụng dành cho thiết bị di động Nó đang được phát triển tích cực, đượ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ữ lập trình khác như Java, JavaScript, C # và Typed mạnh Vì Dart là một ngôn ngữ biên dịch nên bạn không thể thực thi code của mình trực tiếp; thay vào đó, trình biên dịch phân tích cú pháp nó và chuyển nó thành code máy.
Nó hỗ trợ hầu hết các khái niệm chung của ngôn ngữ lập trình như lớp, giao diện,hàm, không giống như các ngôn ngữ lập trình khác Ngôn ngữ Dart không hỗ trợ mảng trực tiếp Nó hỗ trợ tập hợp, được sử dụng để sao chép cấu trúc dữ liệu như mảng,generic và kiểu tùy chọn.
Dart được sử dụng để tạo các ứng dụng chất lượng cao, quan trọng cho các nền tảng khác nhau (Android, IOS, Web) Dart giúp bạn tạo ra những trải nghiệm đẹp, chất lượng cao trên tất cat các màn hình, với:
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 hoạt động trên nền tảng đám mây – cloud Kèm theo đó là hệ thống máy chủ cực kỳ mạnh mẽ của Google Chức năng chính là giúp người 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.
Cụ thể là những giao diện lập trình ứng dụng API đơn giản Mục đích nhằm tăng số lượng người dùng và thu lại nhiều lợi nhuận hơn Đặc biệt, còn là dịch vụ đa năng và bảo mật cực tốt Firebase hỗ trợ cả hai nền tảng Android và IOS.
Firebase là một nền tảng để phát triển ứng dụng di động và trang web, bao gồm các API đơn giản và mạnh mẽ mà không cần backend hay server.
Hoạt động nổi bật của Firebase là xây dựng các bước xác thực người dùng bằng Email, Facebook, Twitter, GitHub, Google Đồng thời cũng xác thực nặc danh cho các ứng dụng Hoạt động xác thực có thể giúp thông tin cá nhân của người sử dụng được an toàn và đảm bảo không bị đá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 đã 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
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 - Chưa kiểm soát được việc truy cập hỏi và câu trả lời đăng nhập từ đầu.
- Có danh sách đội ngũ tư vấn viên - Phải truy cập vào website mới có
- Có hệ thống câu hỏi, lọc câu hỏi thể sử dụng. theo từng đơn vị - Một số vấn đề tế nhị như thông tin
- Có thư viện câu hỏi 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 để trao đổi, trả lời câu hỏi, đăng thông báo trên nền tảng di động cho phép người dùng thực hiện lựa chọn, đặt câu hỏi và trả lời câu hỏi Bên cạnh đó là website để quản trị hệ thống bằng quyền Quản trị viên Các chức năng chính của chương trình bao gồm:
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ý người dùng
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
Phân hệ người dùng
Hình 3.2 Phân hệ người dùng
Brief Người dùng đăng nhập vào ứng dụng description
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
Basic flow Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng dụng: (Thành cô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
(Thất bại) 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ủ
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Alternative flow 1 Ứng dụng thông báo “Email đã tồn tại” hoặc “Email
(Thất bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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ủ
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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ủ
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Alternative flow (Thất 1 Hệ thống thông báo “Vui lòng chọn đối tượng” bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Alternative flow (Thất 1 Hệ thống thông báo “Vui lòng chọn đối tượng” bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Alternative flow (Thất 1 Hệ thống thông báo “Vui lòng chọn đối tượng” bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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 1 Hệ thống thông báo “Mật khẩu hiện tại không đúng” bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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 1 Ứng dụng thông báo sai định dạng bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
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ủ
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
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ủ
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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 1 Hệ thống thông báo “Mật khẩu hiện tại không bại) đú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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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 1 Hệ thống thông báo “Vui lòng nhập câu trả lời” bạ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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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 1 Hệ thống thông báo “Vui lòng chọn đơn vị” bạ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
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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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 1 Ứng dụng thông báo sai định dạng bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
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ủ
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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ủ
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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 (Thất bại) đú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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Alternative flow 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
(Thất bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
(Thất bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
(Thất bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
(Thất bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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” (Thất bạ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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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ị”
(Thất bạ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
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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
(Thất bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
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ủ
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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ủ
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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” (Thất bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
(Thất bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
(Thất bại) 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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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
Basic flow (Thành Usecase bắt đầu khi người dùng thực hiện đăng nhập vào ứng cô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 đồ 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Ý
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 Link text Khi nhấn vào sẽ mở trang reset email 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 Choose item Lựa chọn đối tượng của người dùng 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
4 Status Switch Khi nhấn vào sẽ cập nhật trạng button 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 đó
2 Danh sách tin nhắn Tabbar Lựa chọn chuyển đổi giữa danh sách tất cả câu hỏi, câu hỏi đã trả lời, câu hỏi chưa trả lời, danh sách tin nhắn riêng
3 Tin nhắn Widget Danh sách các tin nhắn thuộc danh sách nhất định, chứa thông tin cơ bản của tin nhắn, khi nhấn vào sẽ chuyển tới màn hình chi tiết tin nhắn
4 Bottom bar Navigator Khi nhấn vào sẽ thực hiện bar 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
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 Android, lựa chọn download file có định dạng apk Đối với hệ điều hành IOS, lựa chọn download file có định dạng ipa Sau đó thực hiện cài đặt 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 Đăng nhập thành công, đúng phân Pass nhập quyền
2 Chức năng đăng Đăng ký thành công khi người dùng Pass ký 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 Pass 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 Thông tin cá nhân của người dùng Pass tin cá nhân thay đổi thành công
6 Gửi câu hỏi cho Câu hỏi gửi thành công khi người Pass tư vấn viên cụ dùng chọn và nhập đủ các thông tin thể cần thiết
7 Gửi câu hỏi Câu hỏi gửi thành công khi người Pass dùng chọn và nhập đủ các thông tin cần thiết
8 Gửi thắc mắc về Câu hỏi gửi thành công khi người Pass bài đăng 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 Đăng nhập thành công, đúng phân Pass nhập quyền
2 Đổi mật khẩu Đổi mật khẩu thành công khi người Pass 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 Thông tin cá nhân của người dùng Pass tin cá nhân 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 Pass 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 Pass 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 Đăng nhập thành công, đúng phân Pass nhập quyền
2 Đổi mật khẩu Đổi mật khẩu thành công khi người Pass dùng nhập mật khẩu cũ đũng, mật
144 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 Thông tin cá nhân của người dùng Pass tin cá nhân 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 Pass 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 Pass dùng chọn đủ các thông tin cần thiết
7 Vô hiệu hóa tài Người dùng vô hiệu hóa tài khoản Pass khoản thành công
8 Kích hoạt tài Người dùng kích hoạt tài khoản Pass 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ư Pass 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 Pass dùng nhập mật khẩu phù hợp
11 Thêm tư vấn Thêm tư vấn viên mới thành công Pass viên mới khi người dùng chọn và nhập đủ các thông tin cần thiết
12 Thêm lĩnh vực Thêm lĩnh vực mới thành công khi Pass mới người dùng nhập đủ thông tin cần thiết
13 Chỉnh sửa lĩnh Chỉnh sửa lĩnh vực thành công Pass vực
14 Thêm bài đăng Thêm bài đăng mới thành công khi Pass mới 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 Đăng nhập thành công, đúng phân Pass nhập quyền
2 Đổi mật khẩu Đổi mật khẩu thành công khi người Pass 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 Thông tin cá nhân của người dùng Pass tin cá nhân thay đổi thành công
5 Thay đổi trưởng Thay đổi trưởng khoa thành công khi Pass khoa người dùng chọn thông tin phù hợp
6 Chỉnh sửa thông Chỉnh sửa thông tin khoa thành công Pass tin khoa 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.
Về chuyên môn: o Phát triển phần mềm bằng Flutter, Dart để viết các native apps tương thích với các platform khác nhau. o Học hỏi được các debug để tìm lỗi và giải quyết các lỗi xảy ra trong quá trình phát triển phần mềm. o Học và tiếp thu được nhiều kiến thức mới. o Hiểu được cách quản lý cơ sở dữ liệu, cách làm việc với google firebase.
Về kỹ năng o Rèn luyện kỹ năng làm việc nhóm, giải quyết vấn đề chung. o Tư duy phản biện, kỹ năng giao tiếp giữa các thành viên trong nhóm. o Kỹ năng đọc tài liệu tiếng anh, tự học, tự nghiên cứu để giải quyết khó khăn. o Kỹ năng quản lý thời gian để thực hiện đúng tiến độ mà không bị ảnh hưởng bởi nhiều yếu tố khác nhau.
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 các ứng dụng di động, người dùng có thể cài đặt bằng file apk hoặc cung cấp email cho nhóm thực hiện đề tài để được mời vào hệ thống Firebase Distribution đề sử dụng ứng dụng Còn với website, người dùng có thể truy cập bằng đường dẫn truy 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.
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 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.
Việc 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 đem lại nhiều mặt thuận lợi nhưng cũng khiến cho nhóm gặp không ít khó khăn để quản lý cũng như tùy biến các 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, về mặt thời gian cũng như kiến thức đã khiến cho nhóm có nhiều trở ngại trong việc hiện thực hóa nhiều tính năng cho hệ thống, do đó nhóm đã đề ra hướng phát triển cho hệ thống như sau:
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/