Đồ án cơ sở 4: Xây dựng ứng dụng mạng xã hội nhắn tin và gọi điện ngẫu nhiên

Đồ án kỹ thuật nghiên cứu cơ sở 4 tên dự án xây dựng ứng dụng mạng xã hội nhắn tin và gọi điện ngẫu nhiên, thiết kế chi tiết, tính toán kỹ thuật theo tiêu chuẩn, đánh giá tính khả

Chuyên ngành

Khoa Học Máy Tính

Người đăng

Ẩn danh

Thể loại

Đồ án cơ sở

2024

49
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan đồ án xây dựng ứng dụng mạng xã hội ngẫu nhiên

Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ, các ứng dụng di động đã trở thành một phần không thể thiếu trong đời sống xã hội. Nhu cầu kết nối, giao lưu và chia sẻ giữa các cá nhân ngày càng tăng cao, đặc biệt là mong muốn mở rộng mối quan hệ vượt ra ngoài vòng tròn xã hội hiện có. Bắt nguồn từ ý tưởng này, đồ án cơ sở 4 về việc xây dựng ứng dụng mạng xã hội nhắn tin và gọi điện ngẫu nhiên ra đời. Dự án tập trung vào việc tạo ra một nền tảng cho phép người dùng kết nối với những người lạ một cách ngẫu nhiên, an toàn và thú vị. Mục tiêu chính là phá vỡ những rào cản trong giao tiếp truyền thống, mang lại trải nghiệm mới mẻ và đáp ứng nhu cầu tìm kiếm bạn bè, chia sẻ sở thích của thế hệ trẻ. Ứng dụng kết bạn này không chỉ đơn thuần là một công cụ liên lạc mà còn là một không gian xã hội thu nhỏ, nơi mọi người có thể thể hiện bản thân và khám phá những mối quan hệ mới. Việc phát triển một ứng dụng mạng xã hội như vậy đòi hỏi sự kết hợp giữa kiến thức về lập trình di động, quản lý cơ sở dữ liệu, và đặc biệt là công nghệ giao tiếp thời gian thực (real-time communication). Đồ án sẽ đi sâu vào việc phân tích, thiết kế và triển khai các tính năng cốt lõi như ghép nối người dùng, nhắn tin tức thời, và gọi video/audio chất lượng cao, đồng thời đảm bảo yếu tố an toàn và bảo mật cho người dùng trong môi trường trực tuyến.

1.1. Lý do và tính cấp thiết của đề tài ứng dụng kết nối

Sự phát triển của xã hội hiện đại đôi khi đi kèm với cảm giác cô đơn và nhu cầu kết nối sâu sắc hơn. Các nền tảng mạng xã hội truyền thống thường giới hạn người dùng trong vòng kết nối bạn bè hoặc người quen biết. Điều này tạo ra một khoảng trống thị trường cho các ứng dụng kết nối ngẫu nhiên, nơi người dùng có thể vượt qua giới hạn địa lý và xã hội để tìm kiếm những cuộc trò chuyện thú vị. Đề tài xây dựng ứng dụng mạng xã hội nhắn tin và gọi điện ngẫu nhiên giải quyết trực tiếp nhu cầu này. Tính cấp thiết của dự án thể hiện ở khả năng mang lại một phương thức giải trí lành mạnh, giảm bớt căng thẳng và mở rộng thế giới quan cho người dùng. Hơn nữa, việc thực hiện đồ án này giúp sinh viên áp dụng các kiến thức đã học vào một sản phẩm thực tế, từ đó nâng cao kỹ năng chuyên môn về phát triển phần mềm, đặc biệt là trong lĩnh vực ứng dụng di động đang rất tiềm năng.

1.2. Mục tiêu và phạm vi nghiên cứu của đồ án cơ sở 4

Mục tiêu chính của đồ án cơ sở 4 là xây dựng thành công một ứng dụng di động (Android) với các chức năng cơ bản: đăng ký/đăng nhập, quản lý hồ sơ, tìm kiếm và ghép nối người dùng ngẫu nhiên, nhắn tin ngẫu nhiêngọi điện ngẫu nhiên. Phạm vi nghiên cứu tập trung vào các khía cạnh kỹ thuật. Thứ nhất là nghiên cứu và áp dụng các công nghệ giao tiếp thời gian thực như WebRTC cho tính năng gọi điện và Firebase Realtime Database hoặc WebSocket cho tính năng nhắn tin. Thứ hai là thiết kế và triển khai thuật toán ghép nối người dùng dựa trên các tiêu chí cơ bản như sở thích hoặc vị trí. Thứ ba là xây dựng một giao diện người dùng (UI) thân thiện và một trải nghiệm người dùng (UX) mượt mà, trực quan. Đồ án sẽ không đi sâu vào các tính năng phức tạp như trí tuệ nhân tạo trong việc gợi ý kết bạn hay các hệ thống thương mại hóa.

II. Các thách thức khi xây dựng app nhắn tin và gọi điện ẩn danh

Việc phát triển một ứng dụng mạng xã hội nhắn tin và gọi điện ngẫu nhiên không chỉ đơn thuần là bài toán kỹ thuật mà còn đối mặt với nhiều thách thức phức tạp. Vấn đề lớn nhất chính là đảm bảo an toàn và bảo mật cho người dùng. Trong một môi trường chat ẩn danh, nguy cơ về các hành vi quấy rối, lừa đảo hay nội dung không phù hợp là rất cao. Cần phải xây dựng một hệ thống báo cáo (report), chặn (block) và kiểm duyệt nội dung hiệu quả mà không làm ảnh hưởng đến tính riêng tư. Một thách thức kỹ thuật quan trọng khác là tối ưu hóa hiệu năng cho giao tiếp thời gian thực. Các cuộc gọi video và audio đòi hỏi băng thông lớn và độ trễ thấp. Việc xử lý đồng thời hàng ngàn kết nối mà vẫn đảm bảo chất lượng là một bài toán khó, đòi hỏi kiến trúc hệ thống backend mạnh mẽ và khả năng mở rộng tốt. Thêm vào đó, thuật toán ghép nối người dùng cũng là một yếu tố quyết định sự thành công của ứng dụng. Một thuật toán tốt cần phải cân bằng giữa tính ngẫu nhiên và sự phù hợp, giúp người dùng nhanh chóng tìm được người trò chuyện hợp ý, từ đó giữ chân họ ở lại với nền tảng. Cuối cùng, việc thiết kế trải nghiệm người dùng (UX) sao cho lôi cuốn và dễ sử dụng cũng là một thách thức không nhỏ, quyết định việc người dùng có muốn quay trở lại ứng dụng hay không.

2.1. Vấn đề bảo mật và quyền riêng tư trong chat ẩn danh

Trong một ứng dụng kết nối ngẫu nhiên, bảo mật thông tin cá nhân là ưu tiên hàng đầu. Người dùng cần cảm thấy an toàn khi tham gia. Các thách thức chính bao gồm: bảo vệ dữ liệu người dùng khỏi các cuộc tấn công mạng, ngăn chặn việc thu thập thông tin trái phép, và cung cấp các tùy chọn để người dùng kiểm soát mức độ hiển thị thông tin cá nhân. Hệ thống cần mã hóa đầu cuối (end-to-end encryption) cho các cuộc trò chuyện và cuộc gọi để đảm bảo chỉ người tham gia mới có thể truy cập nội dung. Đồng thời, cơ chế xác thực tài khoản và quản lý phiên đăng nhập phải được thiết kế chặt chẽ để chống lại việc chiếm đoạt tài khoản. Đây là những yếu tố cốt lõi để xây dựng lòng tin cho người dùng khi tham gia vào một nền tảng chat ẩn danh.

2.2. Khó khăn về hiệu năng và độ trễ trong giao tiếp real time

Chất lượng của tính năng gọi điện ngẫu nhiên phụ thuộc rất nhiều vào hiệu năng hệ thống. Độ trễ (latency) cao có thể phá hỏng hoàn toàn trải nghiệm của người dùng. Thách thức ở đây là xây dựng một kiến trúc backend có khả năng xử lý lượng lớn kết nối đồng thời và truyền tải dữ liệu media một cách nhanh chóng. Việc lựa chọn công nghệ phù hợp, như sử dụng các máy chủ STUN/TURN cho WebRTC để xử lý các vấn đề về NAT traversal, là rất quan trọng. Ngoài ra, ứng dụng phía client cũng cần được tối ưu hóa để xử lý video và audio hiệu quả, giảm thiểu việc sử dụng tài nguyên CPU và pin trên thiết bị di động. Việc cân bằng giữa chất lượng cuộc gọi và lượng dữ liệu tiêu thụ cũng là một bài toán cần giải quyết.

III. Hướng dẫn chọn công nghệ cho app gọi điện và nhắn tin

Lựa chọn công nghệ là bước nền tảng quyết định sự thành công của dự án xây dựng ứng dụng mạng xã hội nhắn tin và gọi điện ngẫu nhiên. Đối với ứng dụng client, Java hoặc Kotlin kết hợp với Android Studio là lựa chọn phổ biến và mạnh mẽ để phát triển trên nền tảng Android, tương tự như cách tiếp cận trong tài liệu gốc cho ứng dụng đặt đồ ăn. Về phía backend, Node.js là một lựa chọn xuất sắc nhờ khả năng xử lý các tác vụ bất đồng bộ và I/O-intensive hiệu quả, rất phù hợp cho các ứng dụng giao tiếp thời gian thực. Để triển khai tính năng nhắn tin tức thời, có thể sử dụng Firebase Realtime Database của Google, một giải pháp NoSQL cho phép đồng bộ dữ liệu giữa các client gần như ngay lập tức. Một giải pháp khác là sử dụng WebSocket, một giao thức cho phép giao tiếp hai chiều liên tục giữa client và server. Đối với tính năng gọi điện ngẫu nhiên, công nghệ WebRTC (Web Real-Time Communication) là tiêu chuẩn vàng. Nó cho phép truyền tải video, audio và dữ liệu peer-to-peer trực tiếp giữa các trình duyệt hoặc ứng dụng mà không cần qua máy chủ trung gian, giúp giảm độ trễ và chi phí vận hành. Cơ sở dữ liệu có thể là MySQL cho các dữ liệu có cấu trúc như thông tin người dùng, hoặc MongoDB (NoSQL) để linh hoạt hơn.

3.1. Phân tích công nghệ backend Node.js và WebSocket

Node.js được chọn làm nền tảng cho máy chủ vì kiến trúc hướng sự kiện, không chặn (non-blocking I/O), cho phép xử lý hàng ngàn kết nối đồng thời một cách hiệu quả. Điều này cực kỳ quan trọng đối với một ứng dụng mạng xã hội có lượng tương tác cao. Kết hợp với WebSocket, máy chủ Node.js có thể duy trì một kết nối mở liên tục với mỗi client. Giao thức WebSocket cho phép máy chủ chủ động đẩy dữ liệu (tin nhắn mới, thông báo) đến client ngay lập tức mà không cần client phải liên tục gửi yêu cầu. Sự kết hợp này tạo thành một nền tảng vững chắc cho hệ thống chat real-time, đảm bảo tin nhắn được gửi và nhận gần như không có độ trễ, mang lại trải nghiệm người dùng tốt nhất.

3.2. Ứng dụng WebRTC cho tính năng gọi video và audio

WebRTC là một framework mã nguồn mở cung cấp cho các ứng dụng di động và trình duyệt web khả năng giao tiếp thời gian thực thông qua các API đơn giản. Trong đồ án này, WebRTC sẽ được tích hợp vào ứng dụng Android để thực hiện chức năng gọi điện ngẫu nhiên. Ưu điểm lớn nhất của WebRTC là khả năng thiết lập kết nối peer-to-peer (P2P), nghĩa là dữ liệu video và audio được truyền trực tiếp giữa hai người dùng. Điều này giúp giảm tải cho máy chủ và giảm thiểu độ trễ đáng kể. Máy chủ chỉ đóng vai trò "báo hiệu" (signaling) để hai client có thể tìm thấy và kết nối với nhau, cũng như cung cấp các máy chủ STUN/TURN để giải quyết vấn đề kết nối qua tường lửa (NAT).

IV. Phương pháp phân tích và thiết kế hệ thống mạng xã hội

Quá trình phân tích và thiết kế hệ thống là giai đoạn xương sống của đồ án cơ sở 4. Dựa trên phương pháp luận được trình bày trong các tài liệu tham khảo, dự án sẽ áp dụng cách tiếp cận hướng đối tượng và sử dụng UML (Unified Modeling Language) để mô hình hóa hệ thống. Giai đoạn đầu tiên là xác định các tác nhân (Actors) và các ca sử dụng (Use Cases). Các tác nhân chính bao gồm Người Dùng (User)Quản trị viên (Admin). Từ đó, xây dựng biểu đồ Use Case tổng quát để mô tả các chức năng chính của ứng dụng mạng xã hội. Các Use Case cốt lõi bao gồm: UC01: Đăng ký/Đăng nhập, UC02: Quản lý hồ sơ, UC03: Tìm kiếm người dùng ngẫu nhiên, UC04: Bắt đầu phiên nhắn tin, UC05: Thực hiện cuộc gọi video/audio. Mỗi Use Case sẽ được mô tả chi tiết về luồng sự kiện chính, các luồng thay thế và các điều kiện tiên quyết. Giai đoạn tiếp theo là thiết kế cơ sở dữ liệu. Sơ đồ quan hệ thực thể (ERD) sẽ được xây dựng để mô tả các bảng dữ liệu như Users, Conversations, Messages và các mối quan hệ giữa chúng. Việc thiết kế một cơ sở dữ liệu tối ưu là rất quan trọng để đảm bảo hiệu suất truy vấn và khả năng mở rộng của hệ thống kết nối ngẫu nhiên này.

4.1. Xây dựng biểu đồ Use Case cho các chức năng chính

Biểu đồ Use Case là công cụ trực quan hóa sự tương tác giữa người dùng và hệ thống. Đối với ứng dụng nhắn tin ngẫu nhiên, các Use Case chính được mô tả như sau. UC01: Đăng Nhập cho phép người dùng đã có tài khoản truy cập vào hệ thống. UC03: Tìm kiếm người dùng ngẫu nhiên là chức năng cốt lõi, hệ thống sẽ chạy thuật toán ghép nối để tìm một người dùng khác đang trực tuyến và sẵn sàng trò chuyện. UC04: Bắt đầu phiên nhắn tin được kích hoạt sau khi ghép nối thành công, mở ra một giao diện chat cho hai người dùng. Tương tự, UC05: Thực hiện cuộc gọi video/audio cho phép người dùng nâng cấp cuộc trò chuyện từ văn bản lên hình ảnh và âm thanh. Các biểu đồ hoạt động và biểu đồ tuần tự cũng sẽ được vẽ để làm rõ luồng xử lý bên trong của từng Use Case.

4.2. Thiết kế cơ sở dữ liệu ERD cho ứng dụng kết bạn

Thiết kế cơ sở dữ liệu cho ứng dụng kết bạn cần đảm bảo tính toàn vẹn, bảo mật và hiệu quả. Sơ đồ ERD sẽ bao gồm các thực thể chính. Bảng Users lưu trữ thông tin cơ bản của người dùng như ID, tên hiển thị, email (đã mã hóa), mật khẩu (đã băm), trạng thái trực tuyến. Bảng Profiles chứa các thông tin mở rộng như sở thích, ảnh đại diện. Bảng Matches hoặc Conversations lưu lại lịch sử các phiên kết nối thành công, bao gồm ID của hai người dùng và thời gian bắt đầu. Bảng Messages chứa nội dung tin nhắn, ID người gửi, ID cuộc trò chuyện và dấu thời gian. Các mối quan hệ (1-nhiều, nhiều-nhiều) sẽ được xác định rõ ràng, cùng với việc lựa chọn khóa chính (PK) và khóa ngoại (FK) hợp lý để tối ưu hóa các câu lệnh truy vấn dữ liệu.

V. Cách triển khai giao diện người dùng UI UX trực quan

Giao diện và trải nghiệm người dùng là yếu tố sống còn quyết định sự gắn bó của người dùng với một ứng dụng mạng xã hội. Một thiết kế UI/UX thành công cần phải đơn giản, trực quan và tạo cảm giác hứng thú. Đối với dự án xây dựng ứng dụng mạng xã hội nhắn tin và gọi điện ngẫu nhiên, giao diện sẽ được thiết kế theo phong cách tối giản, tập trung vào chức năng chính. Màn hình chính sẽ là nơi người dùng có thể bắt đầu tìm kiếm một cuộc trò chuyện mới chỉ với một cú chạm. Quá trình ghép nối sẽ được thể hiện bằng các hiệu ứng hoạt hình (animation) thú vị để giảm cảm giác chờ đợi. Giao diện chat cần rõ ràng, dễ đọc, hỗ trợ gửi emoji và hình ảnh cơ bản. Giao diện cuộc gọi video phải hiển thị hình ảnh của cả hai bên một cách cân đối, với các nút điều khiển (tắt mic, tắt camera, kết thúc cuộc gọi) được bố trí hợp lý và dễ dàng truy cập. Màu sắc chủ đạo của ứng dụng sẽ được lựa chọn để tạo cảm giác thân thiện, tích cực và an toàn. Luồng sử dụng ứng dụng (user flow) sẽ được tối ưu hóa, từ lúc mở ứng dụng, đăng nhập, tìm kiếm kết nối cho đến khi kết thúc cuộc trò chuyện, mọi thứ phải diễn ra một cách mượt mà và liền mạch.

5.1. Thiết kế màn hình chờ kết nối và giao diện chat

Màn hình chờ kết nối là điểm chạm quan trọng đầu tiên trong trải nghiệm cốt lõi. Thay vì một màn hình trống rỗng, thiết kế sẽ sử dụng các hoạt ảnh tinh tế, các câu trích dẫn hoặc gợi ý trò chuyện thú vị để giữ sự chú ý của người dùng. Khi kết nối thành công, ứng dụng sẽ chuyển mượt mà sang giao diện chat. Giao diện này sẽ tuân thủ các nguyên tắc thiết kế phổ biến: tin nhắn của người dùng ở một bên, của đối phương ở bên còn lại, có dấu thời gian rõ ràng và chỉ báo trạng thái (đã gửi, đã xem). Các yếu tố như bong bóng chat, font chữ, màu sắc sẽ được thiết kế để dễ đọc và không gây mỏi mắt.

5.2. Tối ưu hóa trải nghiệm người dùng UX cho cuộc gọi video

Trải nghiệm gọi điện ngẫu nhiên cần được tối ưu hóa tối đa. Khi một cuộc gọi bắt đầu, ứng dụng phải xử lý nhanh chóng để giảm thời gian chờ. Bố cục giao diện cuộc gọi sẽ ưu tiên hiển thị video của người nói. Các nút điều khiển chức năng phải đủ lớn và có biểu tượng dễ hiểu. Ứng dụng cũng cần xử lý tốt các tình huống như kết nối mạng yếu. Thay vì ngắt cuộc gọi đột ngột, nó có thể tự động giảm chất lượng video để duy trì kết nối âm thanh. Phản hồi xúc giác (haptic feedback) khi nhấn nút hoặc thông báo rung khi có cuộc gọi đến cũng góp phần nâng cao trải nghiệm người dùng tổng thể.

VI. Kết luận và định hướng phát triển cho dự án trong tương lai

Sau thời gian nghiên cứu và triển khai, đồ án cơ sở 4 đã hoàn thành mục tiêu đề ra là xây dựng ứng dụng mạng xã hội nhắn tin và gọi điện ngẫu nhiên với các chức năng cơ bản. Sản phẩm đã đáp ứng được nhu cầu kết nối và giao lưu của người dùng trong môi trường số. Quá trình thực hiện đồ án đã giúp củng cố kiến thức chuyên ngành về lập trình di động Android, phát triển backend với Node.js, và đặc biệt là áp dụng các công nghệ giao tiếp thời gian thực phức tạp như WebRTCWebSocket. Giao diện ứng dụng được thiết kế thân thiện, dễ sử dụng, tập trung vào việc mang lại một trải nghiệm người dùng tích cực. Tuy nhiên, do giới hạn về thời gian và nguồn lực, ứng dụng vẫn còn một số hạn chế. Hệ thống kiểm duyệt nội dung mới chỉ ở mức cơ bản, và thuật toán ghép nối vẫn có thể được cải tiến để thông minh hơn. Dù vậy, sản phẩm này là một nền tảng vững chắc, mở ra nhiều hướng phát triển tiềm năng trong tương lai. Đây là một minh chứng cho khả năng áp dụng lý thuyết vào thực tiễn để tạo ra một sản phẩm công nghệ có giá trị.

6.1. Đánh giá kết quả đạt được và những hạn chế của đồ án

Kết quả đạt được lớn nhất là một ứng dụng Android hoạt động ổn định, cho phép người dùng đăng ký, tìm kiếm ngẫu nhiên và thực hiện các cuộc trò chuyện văn bản cũng như video/audio. Đồ án đã triển khai thành công kiến trúc client-server sử dụng các công nghệ hiện đại. Hạn chế chính của dự án nằm ở quy mô. Ứng dụng chưa được thử nghiệm với lượng người dùng lớn để đánh giá khả năng chịu tải của hệ thống. Các tính năng nâng cao như bộ lọc tìm kiếm (theo giới tính, độ tuổi), hệ thống điểm thưởng, hay các phòng chat nhóm vẫn chưa được triển khai. Vấn đề an toàn và bảo mật vẫn cần được đầu tư nhiều hơn với các cơ chế kiểm duyệt tự động bằng AI.

6.2. Hướng phát triển và nâng cấp ứng dụng mạng xã hội

Trong tương lai, ứng dụng có thể được phát triển theo nhiều hướng. Thứ nhất, cải tiến thuật toán ghép nối bằng cách tích hợp máy học để gợi ý những người dùng có cùng sở thích, tăng tỷ lệ có những cuộc trò chuyện chất lượng. Thứ hai, mở rộng các tính năng xã hội như tạo phòng chat theo chủ đề, tổ chức các sự kiện trực tuyến. Thứ ba, nâng cao hệ thống an toàn và bảo mật bằng cách tích hợp AI để tự động phát hiện và ngăn chặn các hành vi tiêu cực. Cuối cùng, có thể phát triển phiên bản ứng dụng trên các nền tảng khác như iOS hoặc web để tiếp cận một lượng người dùng rộng lớn hơn, biến nó thành một ứng dụng kết bạn đa nền tảng chuyên nghiệp.

11/09/2025

Trích đoạn nội dung tài liệu

Chương I. Giới thiệu về dự án 1. Tên đề tài Xây dựng app đặt đồ ăn. Lý do chọn đề tài Thị trường tiềm năng:Hiện nay các nghành liên quan về dịch vụ đều đang có xu hướng đi về hướng online để giúp cho khách hàng tiện lợi hơn trong việc mua sắm và ăn uống.

Việc xây dựng ứng dụng đặt đồ ăn sẽ giúp cho khách hàng một cách dễ dàng và tăng khả năng tiếp cận của khách hàng với các nhà hàng, quán ăn. Sự phát triển của công nghệ: Sự phát triển của công nghệ đang tác động trực tiếp đến đời sống của mỗi cá nhân. Các ứng dụng mua sắm trực tuyến ngày càng được ưa chuộng và trở thành xu hướng. Việc xây dựng ứng dụng đặt đồ ăn là một cách để kết hợp giữa công nghệ với nhà hàng, quán ăn để cung cấp cho khách hàng một trải nghiệm mua sắm tiện lợi và dễ dàng.

Nhu cầu thị trường: Nhu cầu của thị trường đang chuyển dịch sang các dịch vụ tiện lợi. Việc xây dựng ứng dụng đặt đồ ăn giúp cung cấp cho khách hàng nhiều sự lựa chọn về món ăn cũng như sự tiện lợi về thời gian. Tóm lại, việc chọn đề tài xây dựng ứng dụng đặt đồ ăn là một cách để kết hợp giữa nhu cầu thị trường, sự phát triển của công nghệ và tiết kiệm chi phí vận hành để cung cấp cho khách hàng một trải nghiệm mua sắm tiện lợi và đa dạng món ăn. Đồ án cơ sở 3 11 Khoa khoa học máy tính GVHD: Ks.

Hướng tiếp cận và Ưu nhược điểm của đề tài 3. Hướng tiếp cận Ứng dụng tạo ra cố gắng hướng đến người dùng với giao diện và các chức năng đặc biệt - Thiết kế giao diện + Giao diện đẹp mắt, dễ sử dụng và thân thiện với người dùng. + Tối ưu hóa giao diện cho các thiết bị di động khác nhau. + Sử dụng các màu sắc và hình ảnh phù hợp với chủ đề.

- Phát triển tính năng 3. Ưu nhược điểm của đề tài  Ưu điểm: - Tiện lợi: Người dùng có thể đặt hàng bất cứ khi nào và ở bất cứ đâu mà không cần phải đến cửa hàng trực tiếp. - Dễ dàng tìm kiếm sản phẩm: Với ứng dụng đặt đồ ăn, người dùng có thể tìm kiếm sản phẩm theo từ khóa, tên nhà hàng(quán), giá cả và nhiều tiêu chí khác. - Đa dạng sản phẩm: Ứng dụng đặt đồ ăn có thể cung cấp cho người dùng rất nhiều sản phẩm khác nhau từ các nhà hàng và quán ăn.

- Thông tin sản phẩm rõ ràng: Người dùng có thể xem thông tin về món ăn, bao gồm hình ảnh, giá cả, đánh giá từ người dùng khác, giúp cho người dùng đưa ra quyết định mua hàng tốt hơn. - Thanh toán dễ dàng: Người dùng có thể thanh toán trực tuyến bằng nhiều phương thức thanh toán khác nhau như thẻ tín dụng, chuyển khoản, ví điện tử,.  Nhược điểm: Đồ án cơ sở 3 12 Khoa khoa học máy tính GVHD: Ks. Phạm Hòa Bình - Khó đảm bảo chất lượng sản phẩm: Trong quá trình giao hàng có thể ảnh hưởng đến chất lượng của món ăn.

Ứng dụng android là gì? Ứng dụng Android là các phần mềm được phát triển để hoạt động trên hệ điều hành Android. Android là một hệ điều hành di động được phát triển bởi Google, cho phép các ứng dụng chạy trên các thiết bị di động như điện thoại thông minh, máy tính bảng, đồng hồ thông minh, TV thông minh và nhiều thiết bị khác. Các ứng dụng Android có thể được tải xuống và cài đặt từ cửa hàng ứng dụng Google Play Store hoặc từ các nguồn khác như trang web của nhà phát triển. Các ứng dụng này có thể có nhiều chức năng khác nhau, từ giải trí, truy cập internet, xử lý ảnh, đến các ứng dụng thương mại điện tử và ngân hàng trực tuyến.

Để phát triển các ứng dụng Android, nhà phát triển có thể sử dụng các công cụ và ngôn ngữ lập trình như Android Studio, Java, Kotlin, C++, hoặc React Native. Các ứng dụng Android có thể được thiết kế để chạy trên nhiều loại thiết bị di động khác nhau với độ phân giải và kích thước màn hình khác nhau. Với số lượng người dùng Android ngày càng tăng và nhu cầu sử dụng các ứng dụng di động cũng ngày càng tăng cao, việc phát triển các ứng dụng Android là một lĩnh vực rất hấp dẫn và tiềm năng. Công nghệ sử dụng - Ngôn ngữ: Java, PHP - Phần mềm: Android Studio, MySQL, Sublime Text Đồ án cơ sở 3 13 Khoa khoa học máy tính GVHD: Ks.

Sơ lược về mobile ngôn ngữ Java là một ngôn ngữ lập trình được sử dụng rộng rãi trong việc phát triển các ứng dụng Android. Các ứng dụng Android được viết bằng Java được biên dịch thành bytecode và chạy trên máy ảo Java (JVM) trên thiết bị Android. Điều này cho phép các ứng dụng Android viết bằng Java được thực thi trên nhiều nền tảng khác nhau. Java có nhiều ưu điểm, bao gồm:  Được phát triển từ lâu và được sử dụng rộng rãi trong nhiều lĩnh vực, bao gồm việc phát triển ứng dụng Android.

 Có hệ sinh thái lớn với nhiều thư viện và framework hỗ trợ.  Có cú pháp rõ ràng và dễ hiểu, giúp việc phát triển và bảo trì ứng dụng trở nên dễ dàng hơn.  Có tính đa nền tảng cao, cho phép phát triển ứng dụng cho nhiều hệ điều hành và nền tảng khác nhau. Tuy nhiên, Java cũng có một số hạn chế như:  Yêu cầu các thiết bị Android phải cài đặt máy ảo Java (JVM) để thực thi các ứng dụng viết bằng Java.

 Có thể không phù hợp cho các ứng dụng có yêu cầu xử lý tốc độ cao và sử dụng tài nguyên máy tính lớn.  Có một số hạn chế về tính bảo mật, cho phép các lỗ hổng bảo mật có thể được khai thác. Đồ án cơ sở 3 14 Khoa khoa học máy tính GVHD: Ks. Phạm Hòa Bình Tóm lại, Java là một ngôn ngữ lập trình rất phổ biến và được sử dụng rộng rãi trong việc phát triển ứng dụng Android.

Việc sử dụng Java để phát triển ứng dụng Android có nhiều ưu điểm và nhược điểm, và nhà phát triển cần cân nhắc kỹ trước khi quyết định sử dụng Java hay ngôn ngữ lập trình khác để phát triển ứng dụng Android. Sơ lược về database MySQL MySQL là một hệ quản trị cơ sở dữ liệu phổ biến và miễn phí, được phát triển và bảo trì bởi Oracle Corporation. MySQL sử dụng ngôn ngữ SQL để tương tác với cơ sở dữ liệu và hỗ trợ nhiều tính năng như:  Hỗ trợ nhiều loại cơ sở dữ liệu như các kiểu dữ liệu quan hệ, cơ sở dữ liệu XML, JSON và nhiều loại dữ liệu khác.  Hỗ trợ nhiều tính năng như giao dịch, chế độ không khóa, sao lưu, khôi phục và bảo mật cơ sở dữ liệu.

 Hỗ trợ nhiều loại kết nối như kết nối cục bộ, kết nối mạng và kết nối từ xa.  Có tính đa nền tảng, cho phép cài đặt và sử dụng trên nhiều hệ điều hành và nền tảng khác nhau. MySQL cũng có một số ưu điểm như:  Miễn phí và mã nguồn mở, dễ sử dụng và cài đặt.  Hỗ trợ nhiều công cụ và framework phát triển ứng dụng.

 Được sử dụng rộng rãi và có cộng đồng phát triển lớn, giúp tìm kiếm hỗ trợ dễ dàng. Tuy nhiên, MySQL cũng có một số hạn chế như: Đồ án cơ sở 3 15 Khoa khoa học máy tính GVHD: Ks. Phạm Hòa Bình  Hiệu suất không cao khi xử lý dữ liệu lớn và phức tạp.  Khó quản lý và thực hiện các hoạt động quản trị cơ sở dữ liệu phức tạp.

 Không hỗ trợ một số tính năng như xử lý truy vấn phức tạp và lưu trữ đối tượng. Tóm lại, MySQL là một hệ quản trị cơ sở dữ liệu rất phổ biến và được sử dụng rộng rãi trong các ứng dụng phát triển. MySQL có nhiều ưu điểm và nhược điểm, và nhà phát triển cần cân nhắc kỹ trước khi quyết định sử dụng MySQL hay hệ quản trị cơ sở dữ liệu khác để phát triển ứng dụng. Cấu trúc đồ án Ngoài phần mở đầu và kết luận, nội dung báo cáo của em được chia làm ba chương: CHƯƠNG 2.

PHÂN TÍCH THIẾT KẾ 1. Các Chức Năng Hiện Tại Của Ứng Dụng Cho đến thời điểm hiện tại Ứng dụng bán mỹ phẩm đã dần dần hoàn thiện với các chức năng như sau: Chức năng Đăng nhập/Đăng xuất Đăng ký tài khoản Quên mật khẩu Giỏ hàng. Quản lý giỏ hàng. Đồ án cơ sở 3 16 Khoa khoa học máy tính GVHD: Ks.

Phạm Hòa Bình Thông tin cá nhân. Thống kê Đăng sản phẩm Thống kê đơn hàng. Actors Và Use Case 1. Các Use Case Diagram 2.

Mô Tả Actors ST Tên Actor Mô Tả Đồ án cơ sở 3 17 Khoa khoa học máy tính GVHD: Ks. Phạm Hòa Bình T 1 Khách Khách hàng truy cập vào ứng dụng để chọn và đặt mua các sản Hàng phẩm. 2 Admin Admin quản lý việc quản lý sản phẩm, quản lý đơn hàng và thống kê đơn hàng, … 3. Mô Tả Use Cases ST Code Name Mô Tả T 1 UC01 Đăng Nhập Cho phép khách hàng đăng nhập vào hệ thống.

2 UC02 Đăng Ký Cho phép khách hàng đăng ký để sử dụng hệ thống. 3 UC03 Tìm kiếm sản Cho phép khách hàng tìm kiếm sản phẩm trong danh phẩm sách sản phẩm của cửa hàng. 4 UC04 Thêm giỏ Cho phép khách hàng thêm sản phẩm vào giỏ hàng. hàng 5 UC05 Đặt Hàng Cho phép khách hàng đặt hàng sau khi đã lựa chọn xong sản phẩm.

6 UC06 Đăng sản Đăng sản phẩm để bán phẩm Đồ án cơ sở 3 18 Khoa khoa học máy tính GVHD: Ks. UC01: Đăng Nhập Use Case Description Use case name: Đăng Nhập Use case ID: UC01 Actor(s): Khách Hàng, Admin Description: Khách hàng và admin cần phải đăng nhập để sử dụng chức năng của ứng dụng. Trigger: Khách hàng và admin thực hiện đăng nhập, nhấn vào nút đăng nhập. Pro-  Tài khoản của khách hàng và admin đã được cấp phép sử Đồ án cơ sở 3 19 Khoa khoa học máy tính GVHD: Ks.

Phạm Hòa Bình Condition(s): dụng.  Tài khoản của khách hàng và admin đã được xác minh. Post-  Người dùng đăng nhập thất bại. Condition(s): Activities Actor System Main Flow: Đăng nhập thành công 1 Nhập thông tin đăng nhập 2 Nhấn nút đăng nhập 3 Validation xác thực tài khoản.

4 Cho phép người dùng truy cập ứng dụng. 5 Đưa người dùng đến thẳng giao diện chính của ứng dụng System Message MS01 Sai tài khoản/ mật khẩu! MS02 Hãy vào gmail để xác thực! Đồ án cơ sở 3 20 Khoa khoa học máy tính GVHD: Ks.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ