TỔNG QUAN, GIỚI THIỆU ĐỀ TÀI
Sự khác biệt giữa AI, Machine Learning và Deep Learning
Trí tuệ nhân tạo (Artificial Intelligence), Học máy (Machine Learning) và Học sâu (Deep Learning) đang trở thành những chủ đề hot trong giới công nghệ Sự bùng nổ của cuộc cách mạng 4.0 đã làm cho các thuật ngữ này ngày càng trở nên quen thuộc trong đời sống hàng ngày Mặc dù đây là ba khái niệm khác nhau, nhưng chúng thường bị nhầm lẫn với nhau.
1.1.1 AI(Trí tuệ nhân tạo) là gì
Trí tuệ nhân tạo (AI) là một lĩnh vực trong khoa học máy tính, tập trung vào việc tự động hóa các hành vi thông minh của máy móc AI mô phỏng quá trình suy nghĩ và học tập của con người, nhằm tạo ra những cỗ máy có khả năng suy nghĩ và hành động tương tự như con người Những cỗ máy này có thể xử lý lượng dữ liệu lớn nhanh chóng hơn con người Hiện nay, có năm ngôn ngữ lập trình phổ biến trong lĩnh vực trí tuệ nhân tạo, và lựa chọn ngôn ngữ phù hợp phụ thuộc vào yêu cầu cụ thể của ứng dụng.
Công nghệ Trí tuệ nhân tạo (AI) được phát triển không phải để đe dọa nhân loại mà nhằm nâng cao chất lượng cuộc sống và mang lại nhiều lợi ích Nhiều ngành như Digital Marketing, y tế, giáo dục và vận tải đã áp dụng thành công AI Nhờ vào những lợi ích này, nhiều công ty lớn đã đầu tư mạnh mẽ vào công nghệ AI với mục tiêu đạt siêu lợi nhuận và trở thành người dẫn đầu trong lĩnh vực này.
Machine Learning (Học máy) là quá trình dạy máy tính cải thiện nhiệm vụ thông qua việc sử dụng các thuật toán để phân tích thông tin sẵn có Nó cho phép máy học hỏi và đưa ra quyết định, dự đoán về các mối liên quan mà không cần lập trình chi tiết cho từng tình huống.
Máy tính sẽ học cách thực hiện các nhiệm vụ thông qua việc tiếp nhận dữ liệu và áp dụng các thuật toán, với các hành động và hướng dẫn chi tiết để thực hiện nhiệm vụ.
Sau đây là một ví dụ đơn giản giúp bạn dễ hình dung hơn cách mà Machine Learning hoạt động
Bạn muốn một chương trình có thể tự nhận diện có con thỏ trong hình:
Để bắt đầu, bạn cần cung cấp cho máy tính một tệp dữ liệu chứa các đặc điểm nhận dạng của loài thỏ, bao gồm hình dáng cơ thể, màu sắc lông và kích thước.
Bạn sẽ cung cấp cho máy tính một tập hợp hình ảnh có chứa con thỏ, giúp máy tính nhận diện và phân tích các chi tiết cũng như đặc điểm liên quan đến loài vật này.
Cuối cùng, khi máy tính đã thu thập đủ dữ liệu về thỏ, nó sẽ có khả năng nhận diện hình ảnh chứa con thỏ bằng cách phân tích các chi tiết A, B, C Để dạy máy tính, cần có một tập dữ liệu sẵn có Công nghệ Blockchain đang tạo ra bước ngoặt trong việc ghi và lưu trữ dữ liệu an toàn, không thể sửa đổi hoặc tấn công Kết hợp giữa Machine Learning và Blockchain sẽ giúp cải thiện độ chính xác của dự đoán Điều này cũng là nền tảng cho ứng dụng mà chúng tôi đang phát triển để phân tích cảm xúc và đánh giá người dùng.
Khái niệm Deep Learning (Học sâu) được lấy cảm hứng từ chức năng của tế bào thần kinh trong não người, sử dụng mạng thần kinh nhân tạo để phân tích dữ liệu chi tiết qua các thuật toán mô phỏng hệ thần kinh Deep Learning học hỏi từ lượng lớn dữ liệu để giải quyết các vấn đề cụ thể, tương tự như cách con người học từ kinh nghiệm Thuật toán sẽ thực hiện nhiệm vụ nhiều lần, điều chỉnh từng bước để cải thiện kết quả Kích thước dữ liệu tăng lên khi có thêm tế bào thần kinh, cho phép hệ thống tự động học tập ở nhiều cấp độ trừu tượng.
Để máy tính nhận biết một sự vật, chúng ta lập trình nhiều lớp trong mạng thần kinh nhân tạo, mỗi lớp xác định một đặc điểm cụ thể Máy sẽ được cung cấp hàng nghìn bức ảnh chứa và không chứa sự vật đó Qua quá trình này, mạng thần kinh sẽ nhận ra các đặc điểm quan trọng của sự vật Deep Learning tự động xác định các đặc điểm cần thiết để phân loại mục tiêu, trong khi Machine Learning yêu cầu con người chỉ định các đặc điểm này.
AI là khái niệm rộng nhất và xuất hiện sớm nhất trong ba khái niệm này Machine Learning là một tập con của AI, đóng vai trò là công cụ hỗ trợ cho AI Cuối cùng, Deep Learning là khái niệm xuất hiện sau cùng, cũng là một tập con của Machine Learning, và hiện đang là kỹ thuật thúc đẩy sự phát triển mạnh mẽ của AI.
(ML) Deep Learning (DL) Định nghĩa
AI là nghiên cứu cho phép máy móc bắt chước hành vi của con người bằng cách sử dụng các thuật toán
ML là một nghiên cứu cho phép máy móc tự động học hỏi, cải thiện kinh nghiệm mà không cần lập trình rõ ràng
DL là nghiên cứu sử dụng mạng lưới thần kinh nhân tạo giống như não người để bắt chước chức năng của con người
Mối quan hệ AI là bức tranh rộng hơn bao gồm ML và DL
ML là thành phần của
AI DL là thành phần của ML
Tạo ra cỗ máy có khả năng suy nghĩ như con người
Làm cho máy móc học tập thông qua dữ liệu để chúng có thể giải quyết các vấn đề
Bắt chước cách bộ não con người hoạt động để xử lý dữ liệu, tạo ra các mẫu sử dụng cho việc đưa ra quyết định
Có thể phân thành 4 loại:
• Công nghệ AI phản ứng
• Công nghệ AI với bộ nhớ hạn chế
DL có bốn loại kiến trúc mạng cơ bản:
• Không giám sát các mô hình đã huấn luyện sẵn
• Mạng thần kinh hồi quy
• Mạng nơ-ron hồi quy
• Mạng nơ-ron tích chập
Các app chia sẻ xe như Uber, Lyft; Các chuyến bay thương mại sử dụng Autopilot…
Cảnh báo giao thông, gắn thẻ tag bạn bè tự động trên Facebook
Phân tích hình ảnh, tạo phụ đề, chatbots, Trợ lý ảo: Alexa, Siri, Cortana,…
Hiện trạng
1.2.1 Nhu cầu thực tế đề tài
Ngày nay, nhu cầu tìm kiếm công việc làm thêm ngoài giờ ngày càng tăng, dẫn đến sự phát triển mạnh mẽ của các dịch vụ giao dịch và mua bán công việc Tuy nhiên, việc quản lý và vận hành dữ liệu trên các trang mạng xã hội và ứng dụng hiện tại chủ yếu vẫn dựa vào các công cụ cơ bản, thiếu sự thống nhất và đảm bảo an toàn dữ liệu, gây ra nhiều rủi ro cho người dùng Đồng thời, cả hai bên giao dịch thường phải thông qua nhiều nguồn trung gian khác nhau.
Để tăng cường độ tin cậy và an toàn khi sử dụng dịch vụ trực tuyến, người dùng thường xem và đánh giá đối tác trước và sau giao dịch Số lượng đánh giá trên các website và trang bán hàng lên đến hàng nghìn mỗi ngày, với nhiều chủ đề và ý nghĩa khác nhau Việc phân loại các đánh giá tích cực và tiêu cực một cách thủ công gặp nhiều khó khăn Do đó, tự động phân loại văn bản theo chủ đề giúp sắp xếp, lưu trữ và truy vấn tài liệu dễ dàng hơn, đồng thời hỗ trợ nhận diện cảm xúc từ bình luận của người dùng Trước nhu cầu này, phần mềm thương mại điện tử trên thiết bị di động với tính năng phân tích cảm xúc đã trở thành công cụ thiết yếu cho các đối tác tìm kiếm nguồn nhân lực và người mua muốn kiếm thêm thu nhập trực tuyến.
1.2.2 Hiện trạng đơn vị cần xây dựng phần mềm
Cần thiết có một tổ chức uy tín làm trung gian để đảm bảo an toàn và bảo mật thông tin cho cả hai bên giao dịch, với khả năng phục vụ trên 100 người dùng.
Quy trình nghiệp vụ bao gồm việc tiếp nhận bài viết giao dịch, tạo điều kiện cho hai bên trao đổi thông tin bổ sung về giao dịch Đồng thời, quy trình cũng đảm bảo quản lý và bảo mật dữ liệu liên quan đến thông tin giao dịch của hai bên Cuối cùng, hệ thống sẽ thực hiện báo cáo thống kê, đánh giá và xếp hạng độ tin cậy của các giao dịch.
• Hiện trạng về mặt tin học: quản lý thông tin qua ứng dụng, excel, trao đổi thông tin,
5 thông báo qua ứng dụng, Zalo, Facebook…
Để phân loại tự động các bình luận và đánh giá thành hai loại tích cực và tiêu cực, tôi sử dụng các mô hình máy học, yêu cầu phải có một bộ dữ liệu đa dạng để huấn luyện Tôi đã thu thập dữ liệu từ các trang thương mại điện tử và dịch vụ uy tín tại Việt Nam, tạo ra bộ dữ liệu gồm 15,000 điểm dữ liệu được chia đều cho hai mặt tích cực và tiêu cực Đồng thời, tôi tập trung vào việc phát triển và cải thiện bộ dữ liệu, cũng như đánh giá khả năng phân loại của các mô hình máy học truyền thống như Logistic Regression và Multinomial Naive Bayes.
1.2.3 Các hạn chế, vấn đề thách thức tồn tại
Nhiều phần mềm hiện nay có tính năng dư thừa, thiếu sự tập trung vào quản lý hiệu quả Độ tin cậy và bảo mật thông tin người dùng còn thấp, gây ra mối lo ngại về an toàn Điều này đặc biệt khó khăn cho những người có khả năng tin học hạn chế.
Việc thu thập bộ dữ liệu gặp nhiều thách thức, đặc biệt là thiếu ngữ cảnh Ban đầu, tôi đã thu thập 1,000 bình luận liên quan đến các món hàng và lĩnh vực dịch vụ, nhưng sau khi tiến hành tiền xử lý và làm sạch dữ liệu, tôi nhận thấy thiếu bối cảnh đã làm giảm khả năng phân loại Mặc dù tôi đã loại bỏ hầu hết các tiêu đề để tránh nhầm lẫn, vẫn còn nhiều dữ liệu có thể gây ra độ nhiễu trong quá trình phân tích.
Dịch vụ này cung cấp thông tin về sản phẩm và địa điểm của chúng Tuy nhiên, cần cẩn trọng với dữ liệu gây nhiễu, như những bài đánh giá có vẻ tích cực nhưng thực chất lại mang ý nghĩa tiêu cực, hoặc những câu bình luận bị biến đổi từ ngữ có thể thay đổi cảm xúc của người đọc.
Ví dụ: Dịch vụ ở đây tốt ghê J)), thật là buồn cười!!!! o
Mục tiêu
• Giảm thiểu số lượng công việc thủ công, tiết kiệm thời gian, công sức
• Nâng cao tính chính xác và bảo mật trong kinh doanh, quản lý và bảo mật thông tin người giao dịch, thuận tiện hơn việc giao dịch trực tiếp
• Kiểm soát tốt các bài viết dịch vụ hợp lí, thống kê báo cáo
Nghiên cứu các phương pháp xây dựng bộ dữ liệu cho bài toán phân loại cảm xúc của bình luận người dùng tự động nhằm xác định phương pháp phù hợp nhất cho ngôn ngữ tiếng Việt Để đạt được mục tiêu này, trước tiên cần đánh giá và xác định rõ vấn đề của bài toán, sau đó khoanh vùng và định phạm vi cho nó Tiếp theo, tôi tìm kiếm nguồn dữ liệu phù hợp và đã chọn Shopee, một trang thương mại điện tử uy tín với số lượng bình luận người dùng lớn, cung cấp một nguồn dữ liệu phong phú và đa dạng, đáp ứng đủ tiêu chuẩn cho bài toán của tôi.
Trong quá trình thu thập và xây dựng bộ dữ liệu, việc xem xét và đánh giá liên tục là rất quan trọng để đảm bảo rằng bộ dữ liệu cuối cùng đạt tiêu chuẩn và sạch Điều này giúp giảm thiểu tối đa sai sót khi thực nghiệm với các mô hình.
Em đã tiến hành nghiên cứu các mô hình và kỹ thuật liên quan đến bài toán phân loại chủ đề của các bài báo điện tử tự động nhằm áp dụng hiệu quả để giải quyết vấn đề đã đặt ra.
Phạm vi
• Quản trị viên hệ thống
• Quản lý tài khoản § Đăng ký tài khoản § Đăng nhập § Quên mật khẩu § Đổi mật khẩu
Quản lý bài đăng dịch vụ bao gồm việc tiếp nhận và hiệu chỉnh thông tin bài viết, tra cứu và sắp xếp dịch vụ, cũng như tìm kiếm việc làm dựa trên kết quả tìm kiếm Người dùng có thể xem thông tin bài viết, lưu trữ các bài viết đã xem và giao dịch gần nhất, đồng thời lập danh sách các bài viết yêu thích để dễ dàng truy cập sau này.
Quản lý người dùng bao gồm các chức năng quan trọng như thêm và chỉnh sửa thông tin người dùng, tra cứu thông tin người dùng, lập danh sách người dùng yêu thích, đánh giá người dùng sau khi hoàn tất giao dịch, và chuyển đổi trạng thái chức năng của người dùng.
Quản lý trò chuyện cho phép người dùng gửi tin nhắn văn bản và đính kèm bài đăng dịch vụ, tạo điều kiện cho việc trao đổi giao dịch tự tạo với giá cả thỏa thuận Ngoài ra, hệ thống cũng cung cấp thông báo về tin nhắn chờ, giúp người dùng dễ dàng theo dõi và quản lý các cuộc trò chuyện.
• Báo cáo, thống kê § Thống kê các đánh giá và bình luận của người dùng § Thống kê các đánh giá và bình luận của về bài viết dịch vụ
Quản lý đơn hàng hiệu quả bao gồm việc tạo và xem đơn hàng, lưu trữ tiến trình đơn hàng, và gửi kết quả dưới dạng file nén zip Khách hàng có thể thanh toán đơn hàng dễ dàng thông qua ví cá nhân hoặc VNPay.
• Thiết lập chung § Thay đổi quy định, tham số § Thiết lập ngôn ngữ § Hiệu chỉnh chế độ DarkMode và LightMode § Tùy chỉnh nhận thông báo
1.4.2.2 Yêu cầu phi chức năng
Giao diện cần phải thân thiện và dễ sử dụng với bố cục hợp lý Nó cũng phải thống nhất và đồng bộ để không gây bất ngờ cho người sử dụng Màu sắc, vị trí và hiển thị của các thành phần trong giao diện cần đảm bảo tính đồng bộ.
Để đảm bảo độ tin cậy và bảo mật, hệ thống cần áp dụng phân quyền cho từng nhóm tài khoản, bảo vệ dữ liệu tài khoản người dùng một cách an toàn Ngoài ra, dữ liệu không bị xóa hoàn toàn và có khả năng khôi phục khi cần thiết.
• Yêu cầu về độ tương thích: § Hệ điều hành Android: Android 4.0 trở lên § Hệ điều hành IOS: IOS 10.0 trở lên
Yêu cầu về khả năng phát triển bao gồm việc dễ dàng nâng cấp các tính năng hiện có nhờ vào hệ thống hóa trong quy trình xử lý, cũng như khả năng mở rộng linh hoạt khi có nhu cầu phát triển.
• Yêu cầu về tính hiệu quả: § Hệ thống quản lý dữ liệu một cách logic § Hiệu năng ổn định tránh gây khó chịu cho người dùng
Khảo sát một số hệ thống liên quan
Toptal
Toptal là một mạng lưới độc quyền, nơi chỉ 3% freelancer hàng đầu được chọn sau khi trải qua quy trình kiểm tra nghiêm ngặt Nền tảng này cung cấp phương pháp cá nhân hóa, giúp ghép đôi doanh nghiệp với freelancer phù hợp, từ đó hỗ trợ các công ty thuê tài năng hàng đầu từ xa Toptal cũng cung cấp dịch vụ di dời freelancer, cho phép họ làm việc theo múi giờ của khách hàng Đặc biệt, Toptal có chính sách dùng thử miễn phí và hoàn tiền nếu khách hàng không hài lòng với dịch vụ.
Toptal có một số nhược điểm, bao gồm quy trình kiểm tra và lựa chọn phức tạp, khiến người dùng khó khăn trong việc chọn lựa từ nhiều freelancer như trên Upwork Ngoài ra, chi phí sử dụng Toptal thường cao hơn so với Upwork hoặc Fiverr Một điểm nữa là Toptal không đảm bảo bảo mật công việc cho các freelancer của mình.
Upwork
Upwork là nền tảng cung cấp hệ thống tìm kiếm linh hoạt và phân loại công việc rõ ràng theo danh mục, loại công việc, ngành nghề và kỹ năng Người dùng có thể dễ dàng tìm kiếm và lọc các công việc đa dạng, từ dự án nhỏ đến lớn, phù hợp với kỹ năng và quy mô của mình Bên cạnh đó, Upwork còn tích hợp các tính năng bổ sung như hệ thống thanh toán an toàn, hợp đồng và cam kết giữa người dùng và nhà tuyển dụng, cùng với công cụ quản lý dự án và khả năng nhắn tin trực tiếp.
Số lượng freelancer trên Upwork rất đông, dẫn đến cạnh tranh khốc liệt trong việc nhận dự án và thu hút nhà tuyển dụng, điều này gây khó khăn cho các freelancer mới Ngoài ra, Upwork áp dụng phí giao dịch cho cả freelancer và nhà tuyển dụng, ảnh hưởng đến lợi nhuận của freelancer và cần được xem xét khi định giá công việc.
Freelancer
Freelancer cung cấp hệ thống tìm kiếm đa dạng và phân loại công việc rõ ràng, nhưng với số lượng người dùng lớn, việc tìm kiếm và lọc công việc có thể trở nên phức tạp hơn so với các nền tảng khác Nền tảng này sở hữu một lượng công việc phong phú từ nhiều ngành nghề khác nhau.
Nền tảng Freelancer cung cấp nhiều dự án đa dạng, từ nhỏ đến lớn, với các tính năng bổ sung như tích hợp thanh toán, hệ thống đấu giá, phòng chat, trao đổi tài liệu và công cụ quản lý dự án Giao diện của phần mềm đơn giản và trực quan, giúp người dùng dễ dàng tìm kiếm công việc, quản lý dự án và giao tiếp hiệu quả với nhà tuyển dụng Ngoài ra, hệ thống đánh giá và phản hồi cho phép người dùng xem và đánh giá kinh nghiệm của các freelancer hoặc nhà tuyển dụng trước đó.
Freelancer phải đối mặt với sự cạnh tranh khốc liệt do số lượng lớn freelancer và nhà tuyển dụng, dẫn đến nguy cơ xuất hiện nhiều công việc kém chất lượng Người dùng cần tự mình lựa chọn và kiểm tra kỹ lưỡng để đảm bảo chất lượng công việc Hơn nữa, một số đánh giá trên nền tảng này có thể thiếu tính khách quan và bị ảnh hưởng bởi các yếu tố không liên quan hoặc phản hồi không chính xác.
Fiverr
Fiverr hoạt động dựa trên hệ thống tìm kiếm từ khóa, giúp người dùng dễ dàng tìm kiếm dịch vụ cụ thể Mặc dù việc phân loại công việc có thể không rõ ràng như trên các nền tảng khác, Fiverr vẫn tập trung vào việc mua bán dịch vụ cụ thể Nền tảng này cung cấp các tính năng hỗ trợ thanh toán an toàn, tích hợp tin nhắn giữa người mua và người bán, cùng với hệ thống đánh giá và phản hồi từ người dùng Người dùng có thể xem xét các đánh giá và phản hồi để đánh giá khả năng và chất lượng của người bán.
Fiverr chuyên cung cấp các dịch vụ cụ thể, tuy nhiên, việc phân loại công việc trên nền tảng này không rõ ràng, điều này có thể gây khó khăn cho người dùng trong việc tìm kiếm công việc phù hợp.
Tiêu chí Upwork Total Freelancer Fiverr
Khả năng tìm kiếm và phân loại công việc X X X X
Tính năng phát triển bổ sung X X
Giao diện người dùng và trải nghiệm X X X X Đánh giá và phản hồi từ người dùng X X X X
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
Use case Diagram
Hình 3.1 Sơ đồ use case
1 Người bán Là người cung cấp dịch vụ
2 Người mua Là người có những nhu cầu có thể giải quyết bằng dịch vụ
Bảng 3.1 Bảng danh sách các actors
3.1.3 Danh sách các Use case
STT Use case chính Phân rã Use-case Ý nghĩa/Ghi chú
1 Xác thực người dùng Đăng nhập Người dùng đăng nhập vào hệ thống bằng tài khoản
Khôi phục mật khẩu Cho phép lấy lại mật khẩu thông qua email
Cập nhật thông tin Cập nhật thông tin cá nhân, thay đổi mật khẩu
2 Đăng dịch vụ Thêm mới một dịch vụ mà người đăng có khả năng cung cấp
Sửa bài đăng Sửa chữa thông tin dịch vụ của bài viết đã được đăng
Xóa bài đăng Xóa một bài đăng dịch vụ khỏi danh sách những bài đã đăng
4 Xem nhu cầu người mua
Tra cứu nhu cầu về những dịch vụ mà người mua mong muốn
Tạo gói dịch vụ tùy chỉnh với người mua
Tạo một dịch vụ với những thông số mong muốn dựa trên một dịch vụ sẵn có
6 Quản lý đơn đặt hàng (người bán)
Người bán xác nhận đơn hàng và bắt đầu cung cấp dịch vụ cho người mua Sau đó, người bán sẽ đính kèm dữ liệu liên quan đến dịch vụ và gửi cho người mua.
7 Tìm kiếm dịch vụ Người mua tìm kiếm dịch vụ mà bản thân có nhu cầu sử dụng
Người mua xem trước những thông tin về dịch vụ có phù hợp với nhu cầu của bản thân không
9 Mua dịch vụ Người mua thanh toán dịch vụ bản thân cảm thấy ưng ý
10 Quản lý đơn đặt hàng (người mua)
Yêu cầu làm lại đơn hàng
Có quyền đề nghị người bán làm lại dịch vụ nếu cảm thấy không như mong đợi
Xem trước đơn hàng Có quyền xem trước dịch vụ người bán cung cấp
Có quyền hủy đơn hàng nếu người bán không cung cấp dịch vụ như mong đợi
Xem danh sách yêu cầu
Xem lại những yêu cầu mong muốn về dịch vụ của người mua Tạo danh sách yêu cầu
Thêm một yêu cầu về dịch vụ để người bán biết thứ người mua cần
12 Quản lý bài đăng yêu thích
Gom nhóm dịch vụ yêu thích
Nhóm những dịch vụ đã sử dụng mà người mua thấy hài lòng Gom nhóm người dùng yêu thích
Nhóm những người cung cấp dịch vụ đáp ứng nhu cầu người mua
Bảng 3.2 Danh sách các use case
3.1.4.1 Đặc tả Use case Xác thực người dùng a Đặc tả Use case Đăng nhập Use case: Đăng nhập
Tác nhân chính: Người mua, người bán
• Người dùng muốn vào hệ thống để thực hiện các tính năng thì phải thông qua đăng nhập Điều kiện tiên quyết:
• Hệ thống đang ở trạng thái hoạt động
Sự kiện kích hoạt: Không có Điều kiện thực hiện: Không có
• Hệ thống hiển thị giao diện đăng nhập
• Người dùng nhập thông tin vào các ô
• Nếu thành công thì sẽ đăng nhập thành công vào hệ thống Nếu thất bại thì hệ thống sẽ hiện thông báo
Bảng 3.3 Đặc tả Use case Đăng nhập b Đặc tả Use case Khôi phục mật khẩu Use case: Khôi phục mật khẩu
Tác nhân chính: Người mua, người bán
• Khi quên mật khẩu và muốn lấy lại mật khẩu mới thì người dùng thực hiện use case này Điều kiện tiên quyết:
• Hệ thống đang ở trạng thái hoạt động
• Phải có username, email đã được đăng ký
Sự kiện kích hoạt: Bấm “Forgot password” ở màn hình đăng nhập Điều kiện thực hiện: Không có
• Hệ thống hiển thị ô để nhập username
• Người dùng nhập thông tin
• Hệ thống sẽ gửi mã code đến mail
• Điền mã code và mật khẩu mới
• Nếu mã code trùng hợp lệ thì password được thay đổi thành công Ngược lại hệ thống sẽ thông báo thất bại và tiến hành lại từ đầu
Bảng 3.4 Đặc tả Use case Khôi phục mật khẩu c Đặc tả Use case Cập nhật thông tin Use case: Cập nhật thông tin
Tác nhân chính: Người mua, người bán
• Người dùng muốn thay đổi thông tin cá nhân hoặc mật khẩu thì sử dụng use case này Điều kiện tiên quyết:
• Hệ thống đang ở trạng thái hoạt động
Sự kiện kích hoạt: Bấm “Profile” ở menu Điều kiện thực hiện: Người dùng đăng nhập vào hệ thống
• Hệ thống hiển thị màn hinh Cập nhật thông tin
• Người dùng nhập thông tin cá nhân vào các ô để thay đổi
• Hệ thống kiểm tra tính đúng đắn của dữ liệu
• Chọn “Save changes” để lưu
• Hệ thống thông báo kết quả
• Nếu người dùng chọn “Change password” chuyển sang luồng A1
- Hiển thị màn hình Thay đổi mật khẩu
- Nhập mật khẩu hiện tại và mật khẩu mới
- Bấm “Change password” để thay đổi
- Hệ thống hiển thị thông báo
Bảng 3.5 Đặc tả Use case Cập nhật thông tin
3.1.4.2 Đặc tả Use case Đăng dịch vụ
Use case: Đăng dịch vụ
Tác nhân chính: Người bán
• Dùng để thực hiện chức năng thêm một dịch vụ mà người bán có khả năng cung cấp
• Hệ thống đang ở trạng thái hoạt động
• Người dùng đang ở trạng thái “Người bán”
Sự kiện kích hoạt: Nhấn nút dấu ‘+’ ở màn hình quản lý bài đăng Điều kiện thực hiện: Người dùng phải đăng nhập vào hệ thống
• Hệ thống hiển thị giao diện tạo bài đăng
• Người dùng điền đầy đủ các trường thông tin (tiêu đề, danh mục, thẻ, …)
• Bấm nút “Next” chuyển sang màn hình nhập thông tin gói hàng
• Người dùng nhập đầy đủ các trường thông tin (tên gói hàng, số lần làm lại, ngày hết hạn, …)
• Bấm nút “Next” chuyển sang màn hình thêm thông tin cho gói hàng
• Người dùng thêm phần thông tin còn lại (mô tả, hình ảnh, …)
• Bấm nút “Finish” kết thúc quá trình đăng bài dịch vụ
Bảng 3.6 Đặc tả Use case Đăng dịch vụ
3.1.4.3 Đặc tả Use-case Quản lý bài đăng
Use case: Quản lý bài đăng
Tác nhân chính: Người bán
• Quản lý chi tiết các bài đăng và 1 số nghiệp vụ như: tra cứu, xóa, sửa Điều kiện tiên quyết:
• Hệ thống đang ở trạng thái hoạt động
• Người dùng đang ở trạng thái “Người bán”
• Có quyền sử dụng Usecase
Sự kiện kích hoạt: Chọn tab “Order” Trong màn hình này chọn tab “My Posts” Điều kiện thực hiện: Người dùng phải đăng nhập vào hệ thống
• Hệ thống hiển thị giao diện quản lý bài đăng(bao gồm danh sách các bài đăng và các button phục vụ các chức năng liên quan)
• Người dùng thực hiện 1 trong các thao tác:
- Nếu người dùng bấm vào một bài đăng thì sẽ chuyển qua màn hình thông tin của bài đăng và tới luồng phụ A1
- Nếu người dùng vuốt một bài đăng qua bên phải sẽ có hai nút để người dùng có thể tương tác là nút “Delete” và “Edit”
- Nếu người dùng bấm nút “Delete” thì sẽ xóa bài đăng ngay lập tức
- Nếu người dùng bấm nút “Edit” thì sẽ đi tới màn hình chỉnh sửa bài đăng
- Ở trên danh sách các bài đăng có nút “Filter” dùng để lọc các bài đăng hiển thị trên màn hình Nếu người dùng nhấn nút này chuyển tới luồng A2
1 Luồng A1 (Xem thông tin bài đăng)
- Hiển thị màn hình thông tin chi tiết bài đăng
- Người dùng bấm vào nút “Edit your post” sẽ đi tới màn hình chỉnh sửa thông tin bài đăng
- Nếu người dùng nhấn vào nút biểu tượng thùng rác sẽ xóa bài đăng
Gần cuối màn hình, người dùng sẽ thấy từ 1 đến 3 đánh giá từ những khách hàng trước đó về người bán Có một nút "Xem Tất Cả"; khi nhấn vào nút này, người dùng sẽ được chuyển đến luồng phụ A3.
- Màn hình hiển thị một tấm ở dưới cùng hiển thị danh sách trạng thái của bài đăng (“Activie”, “Draft”, …)
- Người dùng chọn một trong các trạng thái
Hệ thống cho phép người dùng chọn trạng thái bài đăng và quay về màn hình danh sách, hiển thị các bài đăng tương ứng với trạng thái đã chọn.
3 Luồng A3 (Xem danh sách đánh giá của người mua)
- Hệ thống hiển thị tất cả các đánh giá của người mua dành cho người bán này bao gồm các thông tin như nhận xét, số sao, …
Bảng 3.7 Đặc tả Use-case Quản lý bài đăng
3.1.4.4 Đặc tả Use-case Xem nhu cầu người mua
Use case: Xem nhu cầu người mua
Tác nhân chính: Người bán
• Người bán có thể xem những nhu cầu, yêu cầu về dịch vụ của người mua Điều kiện tiên quyết:
• Hệ thống đang ở trạng thái hoạt động
• Người dùng đang ở trạng thái “Người bán”
• Có quyền sử dụng Usecase
Để kích hoạt sự kiện, người dùng cần chọn tab “Profile” ở thanh điều hướng dưới cùng màn hình Tiếp theo, đến màn hình tài khoản và chọn nút “Buyer requests” Lưu ý rằng người dùng phải đăng nhập vào hệ thống để thực hiện các bước này.
• Hệ thống hiển thị giao diện tất cả những nhu cầu, yêu cầu về dịch vụ khớp với kĩ năng, khả năng của người bán
Bảng 3.8 Đặc tả Use-case Xem nhu cầu người mua
3.1.4.5 Đặc tả Use-case Tạo gói dịch vụ tùy chỉnh với người mua
Use case: Tạo gói dịch vụ tùy chỉnh với người mua
Tác nhân chính: Người bán
Người mua và người bán có thể thương lượng về dịch vụ, dẫn đến việc cần điều chỉnh thông tin so với mô tả ban đầu của người bán Trong trường hợp này, người bán có thể tạo ra một gói dịch vụ mới với các thông tin đã được sửa đổi theo thỏa thuận.
• Hệ thống đang ở trạng thái hoạt động
• Người dùng đang ở trạng thái “Người bán”
• Có quyền sử dụng Usecase
Khi người bán nhấn nút cộng trên màn hình nhắn tin với người mua, một hộp thoại nhỏ sẽ xuất hiện với nút "Custom Offer" Để thực hiện thao tác này, người dùng cần đăng nhập vào hệ thống.
• Hệ thống hiển thị giao diện tạo gói dịch vụ tùy chỉnh
• Người dùng thực hiện điền đầy đủ các thông tin tùy chỉnh về gói dịch vụ
• Người dùng bấm nút “Change” để chọn bài đăng có dịch vụ liên quan tới gói dịch vụ đang tạo Đi tới luồng phụ A1
• Người dùng bấm nút “Back” Đi tới luồng phụ A2
• Người dùng bấm nút “Create offer”
• Hệ thống thông báo tạo gói dịch vụ tùy chỉnh thành công và thoát khỏi màn hình tạo gói dịch vụ
• Một tin nhắn với thông tin về gói dịch vụ tùy chỉnh sẽ được gửi qua người mua
1 Luồng A1 (Chọn bài đăng cho gói dịch vụ)
- Hiển thị màn hình danh sách các bài đăng của người bán
- Người bán chọn một bài đăng có chứa dịch vụ mà người mua đang có nhu cầu
2 Luồng A2 (Hủy tạo gói dịch vụ)
- Quay lại màn hình nhắn tin
- Các trường thông tin đang điền dở ở màn thình tạo gói giao dịch sẽ được trả về giá trị mặc định
Bảng 3.9 Đặc tả Use-case Tạo gói dịch vụ tùy chỉnh với người mua
3.1.4.6 Đặc tả Use-case Quản lý đơn đặt hàng
Use case: Quản lý đơn đặt hàng
Tác nhân chính: Quản trị viên
• Quản lý chi tiết các đơn đặt hàng và 1 số nghiệp vụ như: xác nhận đơn hàng, giao hàng Điều kiện tiên quyết:
• Hệ thống đang ở trạng thái hoạt động
• Người dùng đang ở trạng thái “Người bán”
• Có quyền sử dụng Usecase
Để kích hoạt sự kiện, người dùng cần chọn tab “Orders” ở thanh điều hướng dưới cùng Hệ thống sẽ hiển thị màn hình với hai tab, và người dùng phải chọn tab “My orders” Lưu ý rằng người dùng cần đăng nhập vào hệ thống để thực hiện các bước này.
• Hệ thống hiển thị giao diện quản lý đơn đặt hàng (bao gồm danh sách đơn đặt hàng kèm theo trạng thái)
• Người dùng thực hiện 1 trong các thao tác:
- Nếu nhấn vào một đơn hàng, chuyển sang luồn A1
- Nếu nhấn nút “Filter” chuyển sang luồng A2
1 Luồng A1 (Xem thông tin đơn đặt hàng)
- Hiển thị màn hình thông tin chi tiết và lịch sử về đơn đặt hàng
- Nếu đơn đặt hàng đang ở trạng thái “Created” chuyển sang luồng phụ A3
- Nếu đơn đặt hàng đang ở trạng thái “Doing” chuyển sang luồng phụ A4
- Nếu đơn đặt hàng đang ở trạng thái “Delivered” chuyển sang luồng phụ A5
- Nếu đơn hàng đang ở trạng thái “Completed” chuyển sang luồng phụ A6
- Nếu đơn hàng đang ở trạng thái “Canceled” chuyển sang luồng phụ A7
2 Luồng A2 (Lọc danh sách đơn hàng)
- Hiển thị màn hình danh sách các trạng thái của đơn hàng (“Created”,
- Người dùng chọn một trạng thái đơn hàng muốn lọc
- Hệ thống đóng màn hình chọn danh sách các đơn hàng và hiển thị danh sách các đơn hàng có trạng thái tương ứng
3 Luồng A3 (Xử lý đơn hàng “Created”)
- Hệ thống sẽ hiển thị hai nút “Start” và “Cancel”
- Nếu người bán bấm nút “Start thì đơn hàng sẽ chuyển sang trạng thái
“Doing” thông báo tới người mua là người bán đã nhận được đơn hàng và bắt đầu thực hiện đơn hàng
- Nếu người bán bấm nút “Cancel” thì sẽ hủy đơn hàng và đơn hàng chuyển trạng thái sang “Canceled”
4 Luồng A4 (Xử lý đơn hàng “Doing”)
- Hệ thống sẽ hiển thị hộp thoại đính kèm tệp zip và nút “Delivery”
- Người có thể đính kèm tệp zip bằng cách nhấn nút có biểu tượng
“Ghim” và hệ thống sẽ mở kho tệp của điện thoại để người dùng chọn tệp zip
- Nếu người bán bấm nút “Delivery” tức là người bán giao hàng cho người mua khi đó đơn hàng sẽ chuyển qua trạng thái “Delivered”
- Hệ thống sẽ hiển thị giao diện thông báo người bán đợi người mua nhận hàng và đồng ý
5 Luồng A5 (Xử lý đơn hàng “Delivered”)
- Hệ thống hiển thị giao diện đơn hàng đã được giao và đợi người mua đồng ý
- Nếu đơn hàng đã làm lại thì trên lịch sử sẽ hiển thị nút “Tải xuống” tệp zip đã được gửi đi ở những lần “Delivery” trước đó nếu có
- Nếu người bán bấm nút “Cancel” thì sẽ hủy đơn hàng và đơn hàng chuyển trạng thái sang “Canceled”
6 Luồng A6 (Xử lý đơn hàng “Completed”)
- Hệ thống sẽ hiển thị giao hiện của đơn hàng “Completed”
- Nếu người mua đã đánh giá thì người bán sẽ được hiện giao diện đánh giá người mua
- Nếu người mua chưa đánh giá thì sẽ hiện dòng chữ thông báo “Đợi người mua đánh giá” thì người bán mới được đánh giá
- Người bán đánh giá xong sẽ hiện đánh giá của người mua dành cho mình và hiện cả đánh giá của bản thân cho người mua
7 Luồng A7 (Xử lý đơn hàng “Canceled”)
- Hệ thống sẽ hiển thị dòng chữ “Canceled Order” tức là đơn hàng đã bị người mua hoặc người bán hủy trước đó
Bảng 3.10 Đặc tả Use-case Quản lý đơn đặt hàng
3.1.4.7 Đặc tả Use-case Tìm kiếm dịch vụ
Use case: Tìm kiếm dịch vụ
Tác nhân chính: Người mua
• Người mua có thể tìm kiếm, tra cứu dịch vụ hoặc người bán có thể đáp ứng nhu cầu của bản thân Điều kiện tiên quyết:
• Hệ thống đang ở trạng thái hoạt động
• Người dùng đang ở trạng thái “Người mua”
• Có quyền sử dụng Usecase
Để kích hoạt sự kiện, người dùng cần chọn tab “Home” ở thanh điều hướng dưới cùng Trên màn hình trang chủ, sẽ xuất hiện TextField để tìm kiếm dịch vụ Lưu ý rằng người dùng phải đăng nhập vào hệ thống để thực hiện các thao tác này.
• Nếu người dùng chọn tab “Sellers” chuyển sang luồng A1
• Người dùng chọn tab “Services”
• Hệ thống hiển thị tên các lịch sử người mua đã từng tìm kiếm
• Người mua có thể chọn những cái tên đó hoặc nhập tên dịch vụ mới để tìm kiếm
• Hệ thống hiển thị giao diện những bài đăng có tên dịch vụ khớp với tên người mua đang tìm kiếm
1 Luồng A1 (Tìm kiếm người bán)
- Hệ thống hiển thị lịch sử tên của các người bán mà người mua đã tìm kiếm trước đây
- Người mua có thể chọn những cái tên đó hoặc nhập tên người bán mới để tìm kiếm
- Hệ thống hiển thị giao diện những người bán có tên khớp với tên người mua đang tìm kiếm
Bảng 3.11 Đặc tả Use-case Tìm kiếm dịch vụ
3.1.4.8 Đặc tả Use-case Xem dịch vụ
Use case: Xem dịch vụ
Tác nhân chính: Người mua
• Người mua có thể xem trước các thông tin về dịch vụ mà người bán cung cấp Điều kiện tiên quyết:
• Hệ thống đang ở trạng thái hoạt động
• Người dùng đang ở trạng thái “Người mua”
• Có quyền sử dụng Usecase
Sự kiện kích hoạt: Người dùng bấm vào một bài đăng của người bán Điều kiện thực hiện: Người dùng phải đăng nhập vào hệ thống
• Hệ thống hiển thị giao diện thông tin chi tiết của bài đăng
• Bài đăng có thể có 1-3 gói dịch vụ Người dùng muốn gói dịch vụ nào thì có thể nhấn chọn gói dịch vụ tương ứng
• Góc dưới bên phải màn hình có nút “Chat” Người dùng có thể sử dụng nút này để chuyển qua màn hình nhắn tin trực tiếp với người bán
Bảng 3.12 Đặc tả Use-case Xem dịch vụ
3.1.4.9 Đặc tả Use-case Mua dịch vụ
Use case: Mua dịch vụ
Tác nhân chính: Người mua
Mô tả ngắn gọn: Người mua chọn được dịch vụ ưng ý và tiến hành thanh toán dịch vụ Điều kiện tiên quyết:
• Hệ thống đang ở trạng thái hoạt động
• Người dùng đang ở trạng thái “Người mua”
• Có quyền sử dụng Usecase
Để kích hoạt sự kiện, người dùng cần truy cập vào màn hình chi tiết bài đăng và nhấn nút "Buy this service" Lưu ý rằng điều kiện bắt buộc là người dùng phải đăng nhập vào hệ thống bằng tài khoản giảng viên.
• Hiển thị màn hình chọn phương thức thanh toán
• Có 2 phương thức thanh toán cho người dùng chọn là “Thanh toán bằng ví” và
• Nếu chọn “Thanh toán bằng ví” chuyển qua luồng phụ A1
• Nếu chọn “Thanh toán bằng VNPay” thì sẽ mở webview giao diện thanh toán của VNPay cho người mua thanh toán
• Nếu người dùng thoát khỏi webview khi đang trong quá trình thanh toán thì chuyển qua luồng phụ A2
• Sau khi thanh toán thành công hệ thống sẽ thông báo thanh toán thành công và điều hướng qua màn hình danh sách đơn đặt hàng
• Một đơn hàng mới được thanh toán sẽ được hiển thị ở trên cùng danh sách với trạng thái “Created”
1 Luồng A1 (Thanh toán bằng ví)
- Hệ thống điều hướng qua màn hình thanh toán bằng ví
- Màn hình giao diện hiện thông tin về giá tiền của dịch vụ và số dư trong ví và nút “Pay”
- Người dùng bấm nút “Pay” để tiến hành thanh toán nếu số dư lơn hơn không thì thanh toán thành công
Sau khi thanh toán thành công, hệ thống sẽ chuyển hướng người dùng đến màn hình danh sách đơn đặt hàng, hiển thị gói dịch vụ vừa được thanh toán với trạng thái "Created".
- Khi này đơn hàng vẫn sẽ được thêm vào danh sách các đơn đặt hàng nhưng với trạng thái là “PendingPayment”
- Người mua chọn tab “Orders” sẽ thấy đơn hàng ở trên cùng danh sách các đơn đặt hàng
- Người dùng bấm vào đơn đặt hàng sẽ có 2 nút “Continue Payment” và
- Nếu người dùng bấm “Continue Payment” hệ thống sẽ điều hướng tới màn hình chọn phương thức giao dịch và quay lại luồng chính
- Nếu người dùng bấm “Cancel” thì sẽ hủy đơn đặt hàng
Bảng 3.13 Đặc tả Use-case Mua dịch vụ
- Hiển thị giao diện màn hình chi tiết thông tin và lịch sử của đơn hàng có trạng thái “Completed”
3.1.4.10 Đặc tả Use-case Quản lý đơn đặt hàng
Use case: Quản lý đơn đặt hàng
Tác nhân chính: Người mua
Quản lý chi tiết đơn đặt hàng bao gồm các nghiệp vụ quan trọng như yêu cầu làm lại đơn hàng, xem trước đơn hàng và hủy đơn hàng.
• Hệ thống đang ở trạng thái hoạt động
• Người dùng đang ở trạng thái “Người mua”
• Có quyền sử dụng Usecase
Sự kiện kích hoạt: Chọn tab “Orders” ở thanh điều hướng dưới cùng Điều kiện thực hiện: Người dùng phải đăng nhập vào hệ thống
• Hiển thị màn hình danh sách các đơn đặt hàng và nút “Filter”
• Nếu người dùng bấm nút “Filter” chuyển tới luồng A1
• Nếu người dùng nhấn chọn đơn hàng có trạng thái “Created” chuyển tới luồng A2
• Nếu người dùng nhấn chọn đơn hàng có trạng thái “Doing” chuyển tới luồng A3
• Nếu người dùng nhấn chọn đơn hàng có trạng thái “Delivered” chuyển tới luồng A4
• Nếu người dùng nhấn chọn đơn hàng có trạng thái “Completed” chuyển tới luồng A5
- Hiển thị màn hình danh sách các trạng thái của đơn hàng
- Người mua chọn một trạng thái sau đó hệ thống sẽ tự động thoát khỏi màn hình hiện tại và quay về màn hình danh sách đơn đặt hàng
- Màn hình hiển thị danh sách những đơn đợt hàng có trạng thái như người mua vừa chọn
- Màn hỉnh hiển thị thông tin chi tiết đơn hàng có trạng thái “Created”
- Đơn hàng chờ phí người bán “Start” thì đơn hàng sẽ bắt đầu
- Ở giữa màn hình có nút “Cancel”, nếu người dùng bấm nút thì sẽ hủy đơn hàng
- Hiển thị giao diện màn hình chi tiết thông tin và lịch sử của đơn hàng có trạng thái “Doing”
- Người bán đang làm đơn hàng này nên người mua không có thao tác gì với đơn hàng hết
- Hiển thị giao diện màn hình chi tiết thông tin và lịch sử của đơn hàng có trạng thái “Delivered”
- Sẽ có dialog hiện file zip của người bán gửi và hai nút “Accept” và
“Rework”, có nút tải về bên cạnh trên file zip để người mua có thể tải về
- Nếu người mua bấm nút “Accept” thì đơn hàng sẽ chuyển qua trạng thái
- Nếu người mua bấm nút “Rework” thì người bán sẽ phải làm lại đơn hàng và đơn hàng sẽ cập nhật lại trạng thái thành “Doing”
- Bấm “Save changes” để thay đổi
- Hiển thị giao diện màn hình chi tiết thông tin và lịch sử của đơn hàng có trạng thái “Completed”
- Khi này người bán đã giao hành thành công người mua
- Hiện giao diện review để người mua có thể nhập ý kiến đánh giá cho người bán
- Sau khi đánh giá xong thì người mua có thể bấm nút “Submit” để đánh giá
- Nếu người mua không muốn đánh giá thì có thể bấm nút “Skip”
Bảng 3.14 Đặc tả Use-case Quản lý đơn đặt hàng
3.1.4.11 Đặc tả Use-case Quản lý bài đăng yêu thích
Use case: Quản lý bài đăng yêu thích
Tác nhân chính: Người mua
Mô tả ngắn gọn: Quản lý danh sách các bài đăng và người bán yêu thích Điều kiện tiên quyết:
• Hệ thống đang ở trạng thái hoạt động
• Người dùng đang ở trạng thái “Người mua”
• Có quyền sử dụng Usecase
Sự kiện kích hoạt: Chọn tab “Profile” ở thanh điều hướng dưới cùng Sau đó nhấn nút “Saved” Điều kiện thực hiện: Người dùng phải đăng nhập vào hệ thống
• Hiển thị màn hình danh sách các danh sách yêu thích do người dùng tự tạo
• Nếu người dùng muốn tạo một danh sánh mới, chuyển qua luồng phụ A1
• Người dùng bấm vào một danh sách sẽ hiển thị màn hình chi tiết danh sách yêu thích
• Màn hình có 2 tab “Services” và “Sellers”, tab “Services” hiển thị danh sách dịch vụ yêu thích còn tab “Sellers” hiển thị danh sách người bán tương ứng
• Góc trên bên phải nó nút “Tùy chỉnh”, nhấn vào hiện dialog cho phép người mua sửa tên hoặc xóa danh sách yêu thích tùy chỉnh
- Ở màn hình chi tiết bài đăng của người bán có biểu tượng trái tim
- Người mua bấm vào thì sẽ hiển thị hộp thoại thêm vào danh sách yêu thích
- Hộp thoại hiển thị những danh sách đã có, và nút tạo danh sách mới
- Nếu người dùng chọn một trong những danh sách đã có thì dịch vụ và người bán sẽ được thêm vào danh sách này
- Nếu tạo danh sách mới thì người dùng đặt tên cho danh sách mới và hệ thống sẽ thêm dịch vụ và người bán vào danh sách mới này
Bảng 3.15 Đặc tả Use-case Quản lý đơn đặt hàng
3.1.4.12 Đặc tả Use-case Quản lý bài đăng yêu cầu
Use case: Quản lý yêu cầu
Tác nhân chính: Người mua
Mô tả ngắn gọn: Quản lý danh sách các yêu cầu và nghiệp vụ tạo yêu cầu Điều kiện tiên quyết:
• Hệ thống đang ở trạng thái hoạt động
• Người dùng đang ở trạng thái “Người mua”
• Có quyền sử dụng Usecase
Sự kiện kích hoạt: Chọn tab “Profile” ở thanh điều hướng dưới cùng Sau đó nhấn nút “Manage requests”
33 Điều kiện thực hiện: Người dùng phải đăng nhập vào hệ thống
• Hiển thị màn hình danh sách các yêu cầu và nút ‘+’ tạo yêu cầu
• Nếu user bấm nút ‘+’ tạo yêu cầu chuyển qua luồng A1
- Hiển thị màn hình tạo yêu cầu và người mua điền đầy đủ các thông tin về dịch vụ mà bản thân có nhu cầu
Bảng 3.16 Đặc tả Use-case Quản lý yêu cầu
Sequence diagram
Hình 3.2 Sơ đồ tuần tự đăng nhập
Hình 3.3 Sơ đồ tuần tự đăng ký người dùng
Hình 3.4 Sơ đồ tuần tự khôi phục mật khẩu
3.2.1.4 Cập nhật thông tin người dùng
Hình 3.5 Sơ đồ tuần tự cập nhật thông tin người dùng
3.2.2 Đối với người bán (Seller)
3.2.2.1 Tạo bài đăng dịch vụ
Hình 3.6 Sơ đồ tuần tự tạo bài đăng dịch vụ
3.2.2.2 Quản lý bài đăng dịch vụ a Chỉnh sửa bài đăng
Hình 3.7 Sơ đồ tuần tự chỉnh sửa bài đăng b Xóa bài đăng
Hình 3.8 Sơ đồ tuần tự xóa bài đăng
3.2.2.3 Xem nhu cầu quản lý người mua
Hình 3.9 Sơ đồ tuần tự xem nhu cầu quản lý người mua
3.2.2.4 Tạo gói dịch vụ tùy chỉnh
Hình 3.10 Sơ đồ tuần tự tạo gói dịch vụ tùy chỉnh
3.2.2.5 Quản lý đơn hàng a Xác nhận đơn hàng
Hình 3.11 Sơ đồ tuần tự xác nhận đơn hàng b Giao hàng
Hình 3.12 Sơ đồ tuần tự giao hàng
3.2.3 Đối với người mua (Buyer)
3.2.3.1 Quản lý đơn hàng a Yêu cầu làm lại đơn hàng
Hình 3.13 Sơ đồ tuần tự yêu cầu làm lại đơn hàng b Xem đơn hàng
Hình 3.14 Sơ đồ tuần tự xem đơn hàng c Hủy đơn hàng
Hình 3.15 Sơ đồ tuần tự hủy đơn hàng
Hình 3.16 Sơ đồ tuần tự tìm kiếm dịch vụ
Hình 3.17 Sơ đồ tuần tự xem dịch vụ
Hình 3.18 Sơ đồ tuần tự mua dịch vụ
3.2.3.5 Quản lý yêu cầu a Xem danh sách yêu cầu
Hình 3.19 Sơ đồ tuần tự xem danh sách yêu cầu b Tạo danh sách yêu cầu
Hình 3.20 Sơ đồ tuần tự tạo danh sách yêu cầu
3.2.3.6 Quản lý bài đăng yêu thích a Nhóm bài đăng dịch vụ yêu thích
Hinh 3.21 Sơ đồ tuần tự nhóm bài đăng dịch vụ yêu thích b Nhóm người dùng yêu thích
Hình 3.22 Sơ đồ tuần tự nhóm người dùng yêu thích
Activity diagram
3.3.1 Lược đồ hoạt động quản lý tài khoản
Hình 3.23 Lược đồ hoạt động quản lý tài khoản
3.3.2 Lược đồ hoạt động quản lý bài đăng dịch vụ
Hình 3.24 Lược đồ hoạt động quản lý bài đăng dịch vụ
3.3.3 Lược đồ hoạt động quản lý người dùng
Hình 3.25 Lược đồ hoạt động quản lý người dùng
3.3.4 Lược đồ hoạt động quản lý đơn hàng
Hình 3.26 Lược đồ hoạt động quản lý đơn hàng
3.3.5 Lược đồ hoạt động quản lý trò chuyện
Hình 3.27 Lược đồ hoạt động quản lý trò chuyện
3.3.6 Lược đồ hoạt động quản lý báo cáo, thống kê
Hình 3.28 Lược đồ hoạt động quản lý báo cáo thống kê
3.3.7 Lược đồ hoạt động thiết lập chung
Hình 3.29 Lược đồ hoạt động thiết lập chung
Class Diagram
State Diagram
Component Diagram
Thiết kế cơ sở dữ liệu
Hình 3.33 Lược đồ quan hệ ERD
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id uuid PK Mã user
2 Name varchar(MAX) Tên user
4 Password varchar(MAX) Mật khẩu
5 Description varchar(MAX) Mô tả
6 IdentityCardImage varchar(MAX) Ảnh chứng minh nhân dân
7 Avatar varchar(MAX) Ảnh người dung
9 IsActive bit Trạng thái hoạt động
10 RatingAvg int Trung bình rating
12 Languages varchar(MAX) Thông tin ngôn ngữ
13 Skills varchar(MAX) Thông tin kỹ năng
14 IsVerified int Trạng thái xác thụcw
Bảng 3.17 Mô tả chi tiết bảng User
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id int PK Mã ví
3 NetIncome long Số dư có thể dung
4 Withdrawn long Số tiền đã rút
5 UsedForPurchases long Số tiền dung cho việc mua hang
6 PendingClearance long Số tiền đang chờ xác thực
7 AvailableForWithdrawal long Số tiền có thể rút
8 ExpectedEarnings long Lợi nhuận có thể nhận được
Bảng 3.18 Mô tả chi tiết bảng Wallet
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id int PK Mã Post
2 Title varchar(255) tiêu đề post
4 Status int Trạng thái post
5 UserId int FK Mã User
7 Tags varchar(255) Các thẻ liên quan tới bài viết
9 RatingAvg double Rating trung bình
10 RatingCount int Số lượng rating
11 Document varchar(255) Tài liệu đính kèm
12 HasOfferPackages bit Có offer package không
Bảng 3.19 Mô tả chi tiết bảng Post
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id int PK Mã package
2 Name varchar(MAX) Tên package
3 Description varchar(MAX) Mô tả
4 PostId int FK Mã post
5 NumberOfRevisions int Số lần làm lại
7 IsAvailable bit Trạng thái package
10 DeliveryDays int Số ngày giao
Bảng 3.20 Mô tả chi tiết bảng Package
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id int PK Mã thể loại
Bảng 3.21 Mô tả chi tiết bảng Category
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id int PK Mã loại con
Bảng 3.22 Mô tả chi tiết bảng Subcategory
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id int PK Mã lịch sử giao dịch
4 Type int Loại giao dịch
5 OrderId int FK Mã đơn hang
6 WalletId int FK Mã ví
7 CreatedAt DateTime Ngày thực hiện
Bảng 3.23 Mô tả chi tiết bảng TransactionHistory
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id int PK Mã đơn hang
4 DueBy DateTime Hết hạn vào lúc
5 BuyerId varchar(255) FK Mã người mua
6 RevisionTimes int Số lần làm lại
7 LeftRevisionTimes int Số lần làm lại còn lại
8 LockedMoney long Số tiền bị khóa
9 SellerId varchar(255) FK Mã người bán
10 PackageId int FK Mã gói dịch vụ
11 Status int Trạng thái đơn hang
12 PaymentMethod int Phương thức thanh toán
Bảng 3.24 Mô tả chi tiết bảng Order
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id int PK Mã lịch sử đơn hàng
3 CreatedAt DateTime Thời gian tạo đơn
4 OrderId int FK Mã đơn hang
5 ResourceId int FK Mã tài nguyên
Bảng 3.25 Mô tả chi tiết bảng OrderHistory
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id int PK Mã đánh giá
2 OrderId int Mã đơn hang
4 UserId varchar(255) FK Mã người dung
5 Type int Loại đánh giá
6 Rating int Số điểm đánh giá
7 CreatedAt DateTime Thời gian đánh giá
Bảng 3.26 Mô tả chi tiết bảng Review
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id int PK Mã danh sách yêu thích
2 Name varchar(255) Tên danh sách yêu thích
3 UserId varchar(255) FK Mã người dung
4 ServiceCount int Số lượng service
5 SellerCount int Số lượng người bán
Bảng 3.27 Mô tả chi tiết bảng SavedList
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 UserId varchar(255) PK Mã người bán
2 SavedListId Int Mã danh sách yêu thích
Bảng 3.28 Mô tả chi tiết bảng SavedSeller
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id Int PK Mã phòng
3 LastMessageId Int FK Mã tin nhắn nhắn gần nhất
Bảng 3.29 Mô tả chi tiết bảng Room
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 MemberId int PK Mã bài kiểm tra
2 RoomId int Tên bài kiểm tra
Bảng 3.30 Mô tả chi tiết bảng RoomMember
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id int PK Mã học viên
2 Name varchar(255) Mã lớp học
Bảng 3.31 Mô tả chi tiết bảng Learning
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 Id int PK Mã giảng viên
2 Description varchar(255) Mã tải khoản
3 UserId int Giảng viên còn dạy hay không?
CategoryId int FK Mã category
SubcategoryId int FK Mã subcategory
Tags varchar(255) Các thẻ mô tả
Deadline DateTime Thời gian hạn chót
DoneAt DateTime Thời gian hoàn thành
Bảng 3.32 Mô tả chi tiết bảng ServiceRequest
STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/ghi chú
1 idParameter UUID PK Mã tham số
Bảng 3.33 Mô tả chi tiết bảng Parameter
Thiết kế giao diện
3.8.1 Danh sách các màn hình
STT Tên màn hình Loại màn hình Chức năng
1 Màn hình đăng nhập Màn hình nhập liệu Cho phép người dùng đăng nhập vào hệ thống
2 Màn hình đăng ký Màn hình nhập liệu Cho phép người dùng đăng ký tài khoản
3 Màn hình quên mật khẩu Màn hình nhập liệu Cho phép người dùng thay đổi mật khẩu khi quên mật khẩu
4 Trang chủ Màn hình chính
Hiển thị biểu đồ thống kê doanh thu, top 10 sản phẩm bán chạy nhất và đã xem gần đây nhất
Màn hình danh sách trò chuyện với người dùng
Hiển thị danh sách các người dùng đã trao đổi giao dịch trực tiếp
Màn hình trò chuyện với người dùng
Hiện thị các tin nhắn trò chuyện và các dịch vụ được thỏa thuận trực tiếp
Màn hình tra cứu bài đăng dịch vụ và người dùng
Hiển thị danh sách bài viết và người dùng dựa vào kết quả tra cứu
8 Màn hình danh sách các đơn hàng Màn hình tra cứu Hiển thị danh sách các đơn hàng và loại tiến trình của nó
9 Màn hình chi tiết đơn hàng Màn hình tra cứu Xem tiến trình đơn hàng và gửi kết quả bằng file nén zip
10 Màn hình chi tiết bài đăng Màn hình tra cứu Xem thông tin chi tiết của bài đăng dịch vụ
Màn hình thống kê và đánh giá bài đăng dịch vụ
Báo biểu Xem thống kê bình luận và đánh giá về độ tin cậy của bài đăng
Màn hình thống kê và đánh giá người dùng
Báo biểu Xem thống kê bình luận và đánh giá về độ tin cậy của người dùng
13 Màn hình thanh toán đơn hàng Màn hình nhập liệu
Hiển thị phương thức thanh toán và số tiền phải thanh toán của đơn hàng
Màn hình thông tin chung của người dùng và ứng dụng
Màn hình nhập liệu Hiển thị các thông tin và chức năng chung của ứng dụng
15 Màn hình danh sách yêu thích Màn hình tra cứu
Hiển thị các danh sách yêu thích để lưu các bài đăng dịch vụ hoặc người dùng
Màn hình danh sách yêu thích chi tiết
Hiển thị danh sách bài đăng và danh sách người dùng yêu thích của danh sách đó
17 Màn hình quản lý yêu cầu Màn hình tra cứu Hiển thị danh sách các yêu cầu
18 Màn hình chi tiết yêu cầu Màn hình nhập liệu
Cho phép người dùng gửi các yêu cầu đối với các bài đăng dịch vụ
19 Màn hình thông tin chi tiết người dùng Màn hình tra cứu Hiển thị thông tin chi tiết của người dùng
Màn hình lịch sử nạp tiền vào tài khoản
Báo biểu Thống kê lịch sử nạp tiền
21 Màn hình thống kê giao dịch Báo biểu Hiển thị và phân tích lợi nhuận của bài đăng dịch vụ
Màn hình cài đặt chức năng chung của ứng dụng
Cho phép người dùng chuyển đổi chế độ DarkMode và ngôn ngữ
23 Màn hình quản ký bài đăng Màn hình tra cứu
HIển thị các trạng thái của bài đăng dịch vụ và cho phép người dùng có thể chỉnh sửa và xóa
24 Màn hình tạo bài đăng
Màn hình tra cứu, nhập liệu Nhập thông tin bài đăng
25 Màn hình chỉnh sửa bài đăng Màn hình tra cứu Chỉnh sửa thông tin bài đăng
Bảng 3.34 Danh sách các màn hình
3.8.2 Sơ đồ liên kết màn hình
Hình 3.34 Sơ đồ liên kết màn hình
3.8.3 Mô tả chi tiết các màn hình
Hình 3.35 Màn hình đăng nhập
STT Kiểu Ràng buộc Ý nghĩa
1, 5, 11 Text Hiển thị thông tin
2 IconButton Thay đổi ngôn ngữ
3 Button Cho phép đăng nhập với Google
4 Button Cho phép đăng nhập với Facebook
6 Input Not null Ô nhập username (tên tài khoản)
7 Input Not null Ô nhập password (mật khẩu)
8 Button Hiển thị/ẩn mật khẩu
9 TextButton Lấy lại mật khẩu đã quên
10 Button Email và mật khẩu hợp lệ Đăng nhập
12 TextButton Đăng ký tài khoản
Bảng 3.35 Mô tả đối tượng trên màn hình đăng nhập
STT Biến cố Xử lý
1 Chọn Icon hình trái đất Chọn ngôn ngữ cho ứng dụng
2 Chọn đăng nhập với Google Tiến hành đăng nhập với Google
3 Chọn đăng nhập với Facebook Tiến hành đăng nhập với Facebook
Bảng 3.36 Biến cố và xử lý trên màn hình đăng nhập
3.8.3.2 Màn hình Quên mật khẩu a Màn hình quên mật khẩu (1)
Hình 3.36 Màn hình quên mật khẩu
STT Kiểu Ràng buộc Ý nghĩa
1 IconButton Thoát màn hình đăng ký
2 Text Hiển thị thông tin
3 Input Not null Nhập thông tin email
4 Button Email hợp lệ Gửi mã xác thực
Bảng 3.37 Mô tả đối tượng trên màn hình quên mật khẩu
STT Biến cố Xử lý
1 Chọn nút quay về Quay trở về màn hình đăng nhập
Kiểm tra email hợp lệ để tiến hành gửi mà xác thực và chuyển sang màn hình nhập mã xác thực
Bảng 3.38 Biến cố và xử lý trên màn hình quên mật khẩu b Màn hình quên mật khẩu (2)
Hình 3.37 Màn hình quên mật khẩu
STT Kiểu Ràng buộc Ý nghĩa
1 IconButton Quay trở về màn hình nhập email để tiến hành khôi phục mật khẩu
2,3 Text Hiển thị thông tin
4 TextButton Gửi lại mã xác thực
5 Button Mã xác thực hợp lệ Chuyển sang màn hình khôi phục mật khẩu
6 Input Not null Ô nhập mã xác thực
9 Button Khôi phục mật khẩu
Bảng 3.39 Biến cố và xử lý trên màn hình quên mật khẩu
STT Biến cố Xử lý
Chuyển về trang nhập email để tiến hành khôi phục mật khẩu
Gửi lại mã xác thực khi nhập sai nhiều lần hoặc hết hạn
Kiểm tra mã xác thực và chuyển sang màn hình khôi phục mật khẩu
Tiến hành kiểm tra mật khẩu và cập nhật lại mật khẩu mới sau đó trở về màn hình đăng nhập
Bảng 3.40 Biến cố và xử lý trên màn hình đăng nhập
Hình 3.38 Màn hình trang chủ
STT Kiểu Ràng buộc Ý nghĩa
1 IconButton Hiển thị thông báo của ứng dụng
2 SearchBar Tìm kiểm bài đăng dịch vụ hoặc người dùng
3 Card Hiển thị thể loại dịch vụ phổ biến
4 Card Hiển thị các quảng cáo dịch vụ
Bar Điều hướng đến các màn hình tương ứng
6 Card Hiển thị dịch vụ dựa vào gợi ý lịch sử tìm kiếm
7 Card Hiển thị dịch vụ đã xem gần đây
8 Card Hiển thị dịch vụ đã lưu vào danh sách yêu thích
Bảng 3.41 Mô tả các đối tượng trên màn hình trang chủ
STT Biến cố Xử lý
1 Chọn icon hình chuông Hiển thị thông báo của ứng dụng
2 Chọn một thẻ ở popular category Hiển thị các dịch vụ của loại thẻ đó
Chuyển sang màn hình hiển thị thông tin chi tiết của giao dịch
4 Chọn icon của thanh điều hướng bottom navigation bar
Chuyển đến các màn hình tương ứng
5 Chọn thanh search bar Chuyển sang màn hình tìm kiếm
Bảng 3.42 Biến cố và xử lý trên màn hình trang chủ
3.8.3.1 Màn hình quản lý bài đăng dịch vụ
Hình 3.39 Màn hình quản lý bài đăng dịch vụ
STT Kiểu Ràng buộc Ý nghĩa
1 TabBar Hiển thị trang thông tin tương ứng
2 IconButton Chuyển sang màn hình tạo bài post
3 IconButton Lọc bài đăng dịch vụ theo trạng thái
4 Card Thông tin tổng quát bài đăng
5 Button Chuyển bài đăng sang trạng thái tạm dừng
6 Button Chuyển sang màn hình chỉnh sửa thông tin bài đăng dịch vụ
7 Button Chuyển bài đăng sang trạng thái hoạt động
8 Button Chuyển sang màn hình than toán
Bảng 3.43 Mô tả các đối tượng trên màn hình quản lý bài đăng dịch vụ
STT Biến cố Xử lý
1 Chọn biểu tượng dấu cộng
Chuyển sang màn hình tạo bài đăng dịch vụ
2 Chọn biểu tượng hình tam giác mục số 3
Hiển thị dialog cho phép lọc bài đăng dịch vụ theo trạng thái
3 Chọn bài đăng dịch vụ Chuyển sang màn hình thông tin bài đăng
Chuyển bài đăng dịch vụ sang trạng thái hoạt động và hiển thị đăng bán
5 Chọn nút Pause Chuyển bài đăng dịch vụ sang trạng thái dừng và ko hiển thị đăng bán
6 Chọn nút Edit Chuyển sang màn hình chỉnh sửa thông tin bài đăng
7 Chọn nút Delete Xóa bài đăng dịch vụ
Bảng 3.44 Biến cố và xử lý trên màn hình quản lý bài đăng dịch vụ
3.8.3.2 Màn hình chi tiết bài đăng dịch vụ
Hình 3.40 Màn hình chi tiết bài đăng dịch vụ
STT Kiểu Ràng buộc Ý nghĩa
1 IconButton Quay lại màn hình trang chủ
2 Image Ảnh hiển thị thông tin dịch vụ
3 Image Ảnh người đăng dịch vụ
4 Text Thông tin người đăng dịch vụ
5 Text Thông tin bài đăng dịch vụ
6 TabBar Hiện thị các gói thanh toán tương ứng với từng tab
7 Text Thông tin của gói thanh toán
8 Button Chuyển sang màn hình than toán
9 Button Chuyển sang màn hình trò chuyện
10 Text Hiển thị số đánh giá của bài đăng
11 TextButton Chuyển sang trang chi tiết đánh giá bài đăng dịch vụ
12 Card Thông tin từng bài đánh giá bài đăng
Bảng 3.45 Mô tả các đối tượng trên màn hình chi tiết bài đăng dịch vụ
STT Biến cố Xử lý
1 Chọn avatar ảnh người dùng Chuyển sang màn hình thông tin chi tiết người dùng
2 Chọn biểu tượng trái tim
Hiển thị dialog cho phép lưu bài đăng dịch vụ vào danh sách yêu thích
3 Chọn số tiền ở thanh tab bar Hiện thị các gói thanh toán tương ứng
4 Chọn nút continue Chuyển sang màn hình thanh toán
Chuyển sang màn hình trò chuyện với người đăng dịch vụ
Chuyển sang màn hình hiển thị tất cả bài đánh giá của dịch vụ đó
Bảng 3.46 Biến cố và xử lý trên màn hình chi tiết bài đăng dịch vụ
3.8.3.3 Màn hình tạo bài đăng dịch vụ
Hình 3.41 Màn hình tạo bài đăng dịch vụ1
STT Kiểu Ràng buộc Ý nghĩa
1 Input Not null Nhập tên bài đăng dịch vụ
2 Combobox Chọn thể loại bài đăng dịch vụ
3 Combobox Chọn thể loại phụ bài đăng dịch vụ
4 Input Not null Nhập nhãn dán cho bài đăng dịch vụ
6 IconButton Thoát màn hình tạo bài đăng dịch vụ
Bảng 3.47 Mô tả các đối tượng trên màn hình tạo bài đăng dịch vụ
STT Biến cố Xử lý
1 Chọn nút tên quay trái
Kết thúc việc tạo bài đăng dịch vụ và trở về màn hình quản lý bài đăng
2 Chọn combobox thể loại dịch vụ mục số 2
Hiển thị combobox cho người dùng chọn thể loại đang có trong cơ sở dữ liệu
3 Chọn combobox thể loại phụ dịch vụ mục số 3
Hiển thị combobox cho người dùng chọn thể loại phụ đang có trong cơ sở dữ liệu
Thêm bài đăng dịch vụ thành công với trạng thái bài đăng là Draft và chuyển sang bước 2
Bảng 3.48 Biến cố và xử lý trên màn hình tạo bài đăng dịch vụ
Hình 3.42 Màn hình tạo bài đăng dịch vụ 2
STT Kiểu Ràng buộc Ý nghĩa
Cho phép người dùng có thể tạo
3 gói hàng dịch vụ tương ứng với mức giá
2 Input Not null Tên gói hàng
3 Input Not null Mô tả gói hàng
4 Combobox Số lần vận chuyển
5 Combobox Số lần làm lại
6 Input Not null Giá tiền
8 IconButton Thoát khỏi màn hình tạo bài đăng dịch vụ
Bảng 3.49 Mô tả các đối tượng trên màn hình tạo bài đăng dịch vụ 2
STT Biến cố Xử lý
1 Chọn nút tên quay trái Kết thúc việc tạo bài đăng dịch vụ và trở về màn hình quản lý bài đăng
2 Chọn checkbox Delivery time mục số 2
Cho phép người dùng có thể tạo 3 gói hàng dịch vụ tương ứng với mức giá hoặc chỉ được phép tạo 1 gói hàng dịch vụ
3 Chọn combobox Delivery time mục số 4
Hiển thị combobox cho người dùng chọn số lần vận chuyển đang có trong cơ sở dữ liệu
4 Chọn combobox Revisions mục số 5
Hiển thị combobox cho người dùng chọn số lần có thể làm lại đang có trong cơ sở dữ liệu
Cập nhật thông tin bài đăng dịch vụ thành công và chuyển sang bước 3
Bảng 3.50 Biến cố và xử lý trên màn hình tạo bài đăng dịch vụ 2
Hình 3.43 Màn hình tạo bài đăng dịch vụ 3
STT Kiểu Ràng buộc Ý nghĩa
Not null, không quá 1000 ký tự
Mô tả chi tiết bài đăng dịch vụ
3 IconButton Thoát khỏi màn hình tạo bài đăng dịch vụ
Bảng 3.51 Mô tả các đối tượng trên màn hình tạo bài đăng dịch vụ 3
STT Biến cố Xử lý
1 Chọn nút tên quay trái Kết thúc việc tạo bài đăng dịch vụ và trở về màn hình quản lý bài đăng
Cập nhật thông tin bài đăng dịch vụ thành công và chuyển sang bước 4
Bảng 3.52 Biến cố và xử lý trên màn hình tạo bài đăng dịch vụ 3
Hình 3.44 Màn hình tạo bài đăng dịch vụ 4
STT Kiểu Ràng buộc Ý nghĩa
1 Input Image Not null Hình ảnh bài đăng dịch vụ
2 Button Kết thúc tiến trình tạo bài đăng dịch vụ
3 IconButton Thoát khỏi màn hình tạo bài đăng dịch vụ
Bảng 3.53 Mô tả các đối tượng trên màn hình tạo bài đăng dịch vụ 4
STT Biến cố Xử lý
1 Chọn nút tên quay trái
Kết thúc việc tạo bài đăng dịch vụ và trở về màn hình quản lý bài đăng
Cập nhật thông tin bài đăng dịch vụ thành công, chuyển trạng thái bài đăng sang "Active" và quay về màn hình quản lý bài đăng.
Bảng 3.54 Biến cố và xử lý trên màn hình tạo bài đăng dịch vụ 4
3.8.3.4 Màn hình chỉnh sửa thông tin bài đăng dịch vụ
Hình 3.45 Màn hình chỉnh sửa thông tin bài đăng dịch vụ
STT Kiểu Ràng buộc Ý nghĩa
1 Input Not null Cập nhật tên bài đăng dịch vụ
2 Combobox Chọn thể loại bài đăng dịch vụ
3 Combobox Chọn thể loại phụ bài đăng dịch vụ
4 Input Not null Cập nhật nhãn dán cho bài đăng dịch vụ
6 IconButton Thoát màn hình cập nhật bài đăng dịch vụ
Bảng 3.55 Mô tả các đối tượng trên màn hình chỉnh sửa thông tin bài đăng dịch vụ
STT Biến cố Xử lý
1 Chọn nút tên quay trái
Kết thúc việc cập nhật bài đăng dịch vụ và trở về màn hình quản lý bài đăng
2 Chọn combobox thể loại dịch vụ mục số 2
Hiển thị combobox cho người dùng chọn thể loại đang có trong cơ sở dữ liệu
3 Chọn combobox thể loại phụ dịch vụ mục số 3
Hiển thị combobox cho người dùng chọn thể loại phụ đang có trong cơ sở dữ liệu
Lưu thông tin cập nhật và chuyển sang bước 2
Bảng 3.56 Biến cố và xử lý trên màn hình chỉnh sửa thông tin bài đăng dịch vụ
Hình 3.46 Màn hình chỉnh sửa thông tin bài đăng dịch vụ 2
STT Kiểu Ràng buộc Ý nghĩa
Cho phép người dùng có thể cập nhật 3 gói hàng dịch vụ tương ứng với mức giá
2 Input Not null Tên gói hàng
3 Input Not null Mô tả gói hàng
4 Combobox Số lần vận chuyển
5 Combobox Số lần làm lại
6 Input Not null Giá tiền
8 IconButton Thoát khỏi màn hình cập nhật bài đăng dịch vụ
Bảng 3.57 Mô tả các đối tượng trên màn hình chỉnh sửa thông tin bài đăng dịch vụ 2
STT Biến cố Xử lý
1 Chọn nút tên quay trái Kết thúc việc tạo bài đăng dịch vụ và trở về màn hình quản lý bài đăng
2 Chọn checkbox Delivery time mục số 2
Cho phép người dùng có thể tạo 3 gói hàng dịch vụ tương ứng với mức giá hoặc chỉ được phép tạo 1 gói hàng dịch vụ
3 Chọn combobox Delivery time mục số 4
Hiển thị combobox cho người dùng chọn số lần vận chuyển đang có trong cơ sở dữ liệu
4 Chọn combobox Revisions mục số 5
Hiển thị combobox cho người dùng chọn số lần có thể làm lại đang có trong cơ sở dữ liệu
Cập nhật thông tin bài đăng dịch vụ thành công và chuyển sang bước 3
Bảng 3.58 Biến cố và xử lý trên màn hình chỉnh sửa thông tin bài đăng dịch vụ 2
Hình 3.47 Màn hình chỉnh sửa thông tin bài đăng dịch vụ 3
STT Kiểu Ràng buộc Ý nghĩa
Not null, không quá 1000 ký tự
Mô tả chi tiết bài đăng dịch vụ
3 IconButton Thoát khỏi màn hình cập nhật bài đăng dịch vụ
Bảng 3.59 Mô tả các đối tượng trên màn hình chỉnh sửa thông tin bài đăng dịch vụ 3
STT Biến cố Xử lý
1 Chọn nút tên quay trái Kết thúc việc cập nhật bài đăng dịch vụ và trở về màn hình quản lý bài đăng
Cập nhật thông tin bài đăng dịch vụ thành công và chuyển sang bước 4
Bảng 3.60 Biến cố và xử lý trên màn hình chỉnh sửa thông tin bài đăng dịch vụ 3
Hình 3.48 Màn hình chỉnh sửa thông tin bài đăng dịch vụ 4
STT Kiểu Ràng buộc Ý nghĩa
1 Input Image Not null Hình ảnh bài đăng dịch vụ
2 Button Kết thúc tiến trình cập nhật bài đăng dịch vụ
3 IconButton Thoát khỏi màn hình tạo bài đăng dịch vụ
Bảng 3.61 Mô tả các đối tượng trên màn hình chỉnh sửa thông tin bài đăng dịch vụ 4
STT Biến cố Xử lý
1 Chọn nút tên quay trái
Kết thúc việc tạo bài đăng dịch vụ và trở về màn hình quản lý bài đăng
Cập nhật thông tin bài đăng dịch vụ thành công, chuyển trạng thái bài đăng sang "Active" và quay lại màn hình quản lý bài đăng.
Bảng 3.62 Biến cố và xử lý trên màn hình chỉnh sửa thông tin bài đăng dịch vụ 4
3.8.3.5 Màn hình quản lý đơn hàng
Hình 3.49 Màn hình quản lý đơn hàng
STT Kiểu Ràng buộc Ý nghĩa
1 IconButton Hiển thị dialog lọc theo loại trạng thái đơn hàng
2 Card Hiên thị thông tin chung của đơn hàng
3 Enum Hiển thị trạng thái đơn hàng
Bảng 3.63 Mô tả các đối tượng trên màn hình quản lý đơn hàng
STT Biến cố Xử lý
1 Chọn nút lọc dữ liệu số 1
Mở cửa sổ lọc theo các trạng thái đơn hàng
Bảng 3.64 Biến cố và xử lý trên màn hình quản lý đơn hàng
3.8.3.6 Màn hình danh sách chi tiết đơn hàng
Hình 3.50 Màn hình danh sách chi tiết đơn hàng
STT Kiểu Ràng buộc Ý nghĩa
1 IconButton Nhắn tin với người dùng dịch vụ
2 Card Thông tin đơn hàng
3 Text Thông tin tiến trình đơn hàng
4 IconButton Tải về kết quả giao dịch đơn hàng
5 Text Thông tin đánh giá đơn hàng
6 Button Gửi kết quả giao dịch đơn hàng
7 IconButton Đính kèm file nén zip giao dịch đơn hàng
Bảng 3.65 Mô tả các đối tượng trên màn hình danh sách chi tiết đơn hàng
STT Biến cố Xử lý
1 Ấn biểu tượng tin nhắn Chuyển sang màn hình trò chuyện trực tiếp với người sử dụng dịch vụ
2 Ấn biểu tượng tải xuống Tải kết quả giao dịch đơn hàng dưới dạng file zip
3 Ấn biểu tượng đính kèm Đính kèm file nén zip giao dịch đơn hàng
Gửi kết quả giao dịch đơn hàng đến người bán và thoát màn hình chi tiết đơn hàng
Bảng 3.66 Biến cố và xử lý trên màn hình danh sách chi tiết đơn hàng
3.8.3.7 Màn hình quản lý danh sách yêu thích
Hình 3.51 Màn hình quản lý danh sách yêu thích
STT Kiểu Ràng buộc Ý nghĩa
1 Card Hiển thị thông tin chung của danh sách yêu thích
2 IconButton Mở dialog cho phép người dùng sửa tên hoặc xóa danh sách
3 Tab Bar Xem danh sách dịch vụ yêu thích và người dùng yêu thích
4 Card Hiển thị thông tin chung của bài đăng dịch vụ
5 IconButton Xóa đối tượng khỏi danh sách yêu thích
6 Card Hiển thị thông tin chung của người dùng
7 TextButton Cho phép người dùng sửa tên
8 TextButton Xóa danh sách yêu thích hiện tại
Bảng 3.67 Mô tả các đối tượng trên màn hình quản lý danh sách yêu thích
STT Biến cố Xử lý
1 Chọn đối tượng danh sách yêu thích ở mục số 1
Mở màn hình chi tiết danh sách yêu thích
2 Chọn Icon menu ở mục số 2
Mở dialog hiển thị 2 chức năng sửa tên danh sách yêu thích và xóa danh sách
3 Chọn thẻ tab ở mục số 3
Hiển thị danh sách đối tượng theo chức năng
4 Chọn Icon trái tim Xóa đối tượng khỏi danh sách yêu thích
5 Chọn bài đăng yêu thích mục số 4
Chuyển đến màn hình thông tin chi tiết bài đăng dịch vụ
6 Chọn bài đăng yêu thích mục số 6
Chuyển đến màn hình thông tin chi tiết của người dùng
7 Chọn nút Edit name Sửa đổi tên danh sách
8 Chọn nút Delete list Xóa danh sách yêu thích
Bảng 3.68 Biến cố và xử lý trên màn hình quản lý danh sách yêu thích
3.8.3.8 Màn hình quản lý danh sách cuộc trò chuyện
Hình 3.52 Màn hình danh sách cuộc trò chuyện
STT Kiểu Ràng buộc Ý nghĩa
1 Icon Button Xóa toàn bộ trạng thái đã chọn của checkbox
2 Checkbox Chọn/hủy chọn checkbox
3 Card Hiển thị thông tin chung cuộc trò chuyện
4 Button Xóa cuộc trò chuyện
5 Button Tick chọn toàn bộ cuộc trò chuyện
6 Button Đánh dấu các cuộc trò chuyện đang chọn đã đọc
Bảng 3.69 Mô tả các đối tượng trên màn hình danh sách cuộc trò chuyện
STT Biến cố Xử lý
1 Chọn vào thẻ cuộc trò chuyện mục 3
Mở màn hình chi tiết cuộc trò chuyện
Bảng 3.70 Biến cố và xử lý trên màn hình danh sách cuộc trò chuyện
3.8.3.9 Màn hình chi tiết cuộc trò chuyện
Hình 3.53 Màn hình chi tiết cuộc trò chuyện người mua
STT Kiểu Ràng buộc Ý nghĩa
1 Card Thông tin chung đơn hàng
2 Button Đồng ý giao dịch đơn hàng
3 Button Từ chối giao dịch đơn hàng
4 Text Tin nhắn trao đổi với người dùng
5 Button Gửi đoạn tin nhắn đã nhập
6 Input Not null Nhập tin nhắn
Bảng 3.71 Mô tả các đối tượng trên màn hình chi tiết cuộc trò chuyện người mua
STT Biến cố Xử lý
1 Nhấn nút accept Chấp nhận đơn hàng và mở màn hình thanh toán
2 Nhấn nút deny Từ chối giao dịch đơn hàng
3 Nhấn nút mũi bên Kiểm tra tin nhắn hợp lệ và gửi
Bảng 3.72 Biến cố và xử lý trên màn hình chi tiết cuộc trò chuyện người mua
Hình 3.54 Màn hình chi tiết cuộc trò chuyện người bán
STT Kiểu Ràng buộc Ý nghĩa
1 IconButton Mở thư viện ảnh của máy
2 IconButton Cho phép đính kèm 1 file của máy
3 IconButton Mở màn hình tạo giao dịch đơn hàng theo mong muốn
Bảng 3.73 Mô tả các đối tượng trên màn hình cuộc trò chuyện người bán
STT Biến cố Xử lý
Chấp nhận đơn hàng và mở màn hình thanh toán
2 Nhấn nút deny Từ chối giao dịch đơn hàng
3 Nhấn nút mũi bên Kiểm tra tin nhắn hợp lệ và gửi
Bảng 3.74 Biến cố và xử lý trên màn hình cuộc trò chuyện người bán
3.8.3.10 Màn hình tạo giao dịch đơn hàng theo nhu cầu
Hình 3.55 Màn hình tạo giao dịch đơn hàng theo nhu cầu
STT Kiểu Ràng buộc Ý nghĩa
1 TextButton Cho phép đổi bài đăng dịch vụ
2 Input Not null, Nhập mô tả giao dịch đơn hàng
Nhỏ hơn hoặc bằng 1200 ký tự
3 Input Not null Nhập giá tiền đơn hàng
4 Combobox Not null Chọn số lần vận chuyển
5 Combobox Not null Chọn số lần có thể làm lại
6 Combobox Not null Chọn hạn nộp kết quả
7 SwitchButton Cho phép người dùng gửi yêu cầu
8 Button Tạo giao dịch đơn hàng
Bảng 3.75 Mô tả các đối tượng trên màn hình tạo giao dịch đơn hàng theo nhu cầu
STT Biến cố Xử lý
1 Ấn nút change Mở màn hình chọn bài đăng dịch vụ muốn tạo đơn hàng theo mong muốn
2 Ấn nút combobox delivery time Hiển thị danh sách số lần vận chuyển cho người dùng chọn
Hiển thị danh sách số lần làm lại cho người dùng chọn
Hiển thị danh sách hạn cuối cho người dùng chọn
5 Ấn nút creat order Chuyển sang màn hình thanh toán giao dịch đơn hàng
Bảng 3.76 Biến cố và xử lý trên màn hình tạo giao dịch đơn hàng theo ngu cầu
3.8.3.11 Màn hình quản lý thu nhập
Hình 3.56 Màn hình quản lý thu nhập
STT Kiểu Ràng buộc Ý nghĩa
1 TextButton Mở màn hình vẽ biểu đồ
2 Text Tổng tiền thu nhập
3 Card Phân tích chi tiết thu nhập
Bảng 3.77 Mô tả các đối tượng trên màn hình quản lý thu nhập
STT Biến cố Xử lý
Chuyển sang màn hình thống kê thu nhập bằng biểu đồ
Bảng 3.78 Biến cố và xử lý cho màn hình quản lý thu nhập
3.8.3.12 Màn hình quản lý thẻ tín dụng
Hình 3.57 Màn hình lịch sử giao dịch, ví
STT Kiểu Ràng buộc Ý nghĩa
1 TextButton Mở màn hình nạp tiền bằng VNPay
2 Text Tổng tiền giao dịch
3 Card Lịch sử nạp tiền
Bảng 3.79 Mô tả các đối tượng trên màn hình quản lý thẻ tín dụng
STT Biến cố Xử lý
1 Chọn nút Deposit Chuyển sang màn hình nạp tiền bằng VN pay
Bảng 3.80 Biến cố và xử lý trên màn hình quản lý thẻ tín dụng
3.8.3.13 Màn hình quản lý thông tin chi tiết người dùng a Thông tin
Hình 3.58 Màn hình chi tiết thông tin người dùng
STT Kiểu Ràng buộc Ý nghĩa
1 Tab bar Hiện thị thông tin theo trang tương ứng
2 Text Hiển thị thông tin người dùng
3 Button Cho phép người dùng cập nhật thông tin
Bảng 3.81 Mô tả các đối tượng trên màn hình chi tiết thông tin người dùng
STT Biến cố Xử lý
Hiện cửa sổ chỉnh sửa thông tin người dùng
Bảng 3.82 Biến cố và xử lý trên màn hình chi tiết thông tin người dùng b Đánh giá
Hình 3.59 Màn hình đánh giá người dùng
STT Kiểu Ràng buộc Ý nghĩa
1 Rating bar Thống kê đánh giá trung bình độ tin cậy người dùng
2 Card Thông tin chi tiết đánh giá người dùng
Bảng 3.83 Mô tả các đối tượng trên màn hình thống kê, chi tiết đánh giá
3.8.3.14 Màn hình quản lý cài đặt hệ thống
Hình 3.60 Màn hình danh sách cài đặt hệ thống
STT Kiểu Ràng buộc Ý nghĩa
1 SwitchButton Chuyển sang chế độ
2 Card Chuyển đổi ngôn ngữ sang Tiếng
Bảng 3.84 Mô tả các đối tượng trên màn hình cài đặt hệ thống
STT Biến cố Xử lý
LightMode/DarkMode và khởi động lại ứng dụng
Hiển thị dialog cho phép người dùng đổi ngôn ngữ tiếng Anh/Việt và khởi động lại ứng dụng
Bảng 3.85 Biến cố và xử lý trên màn hình cài đặt hệ thống
3.8.3.15 Màn hình quản lý thông tin người dùng
Hình 3.61 Màn hình quản lý thông tin người dùng
STT Kiểu Ràng buộc Ý nghĩa
1 SwitchButton Chuyển sang chế độ người mua/người bán
2 Card Màn hình danh sách yêu thích
3 Card Màn hình danh sách quản lý yêu cầu
4 Card Màn hình thông tin chi tiết người dùng
5,10 Card Màn hình quản lý ví điện tử
6 Card Màn hình cài đặt chung
7 Card Màn hình hiển thị chính sách và hỗ trợ ứng dụng
8 Card Đăng xuất tài khoản
9 Card Màn hình thống kê thu nhập
Bảng 3.86 Mô tả các đối tượng trên màn hình quản lý thông tin người dùng
STT Biến cố Xử lý
Cho phép người dùng linh hoạt chuyển sang chế độ người mua/người bán
2 ấn nút Save Hiển thị màn hình danh sách yêu thích
3 ấn nút Manage Request Chuyển sang màn hình quản lý yêu cầu
Chuyển sang màn hình thông tin chi tiết người dùng
5 ấn nút In-app credit Chuyển sang màn hình quản lý ví điện tử
6 ấn nút Preferences Chuyển sang màn hình cài đặt hệ thống
7 Ấn nút Support Hiển thị màn hình chính sách và hỗ trợ ứng dụng
8 Ấn nút Earnings Hiển thị màn hình thống kê thu nhập
9 Ấn nút Log out Đăng xuất khỏi ứng dụng
Bảng 3.87 Biến cố và xử lý trên màn hình quản lý thông tin người dùng