Trường đại học
Trường Đại Học Công Nghệ Thông Tin & Truyền Thông Việt HànNgười đăng
Ẩn danhThể loại
đồ ánPhí lưu trữ
30.000 VNĐMục lục chi tiết
Tóm tắt
Trong bối cảnh công nghệ số, việc xây dựng ứng dụng bán hàng đã trở thành một yêu cầu tất yếu đối với các doanh nghiệp, đặc biệt là trong môi trường cạnh tranh tại Đà Nẵng. Đề tài này, thực hiện trong khuôn khổ Đồ án Cơ sở 3 tại Trường Đại học Công nghệ Thông tin & Truyền thông Việt Hàn (VKU), tập trung vào việc phát triển một giải pháp phần mềm hoàn chỉnh, giải quyết các bài toán thực tiễn trong vận hành kinh doanh. Mục tiêu chính không chỉ là tạo ra một sản phẩm công nghệ mà còn là một cơ hội để sinh viên Đại học Việt Hàn áp dụng kiến thức lý thuyết vào thực tế, từ phân tích yêu cầu, thiết kế hệ thống, đến lập trình và kiểm thử. Dự án này là một bài tập lớn trong lĩnh vực đồ án công nghệ phần mềm, đòi hỏi sự kết hợp nhuần nhuyễn giữa kỹ năng kỹ thuật và tư duy giải quyết vấn đề. Một hệ thống thương mại điện tử di động hiệu quả cần đảm bảo tính tiện dụng cho khách hàng và khả năng quản lý linh hoạt cho chủ cửa hàng. Đề tài nghiên cứu sâu về quy trình phát triển ứng dụng di động, lựa chọn công nghệ phù hợp và xây dựng các chức năng cốt lõi như quản lý sản phẩm, quản lý đơn hàng, và tích hợp thanh toán online. Việc hoàn thành báo cáo đồ án cơ sở một cách chi tiết và khoa học cũng là một phần quan trọng, thể hiện năng lực tổng hợp và trình bày của sinh viên. Đây không chỉ là một dự án kỹ thuật, mà còn là một nghiên cứu điển hình về việc ứng dụng công nghệ thông tin để tối ưu hóa quy trình kinh doanh, mang lại giá trị thực tiễn cao.
Sự bùng nổ của thương mại điện tử di động đã thay đổi hoàn toàn thói quen mua sắm của người tiêu dùng. Các hệ thống bán hàng truyền thống đối mặt với nhiều hạn chế như quy trình thủ công, khó khăn trong việc tiếp cận khách hàng tiềm năng và quản lý tồn kho không hiệu quả. Theo tài liệu gốc, đề tài này ra đời nhằm giải quyết các vấn đề mà cửa hàng tại Đà Nẵng gặp phải: "từ việc tìm nguồn hàng, vận chuyển, tìm kiếm khách hàng đến quảng cáo, cân đối thu-chi". Một ứng dụng di động chuyên biệt giúp tự động hóa các quy trình, cung cấp một kênh tiếp cận khách hàng hiện đại, và cho phép người dùng mua sắm mọi lúc, mọi nơi. Tính cấp thiết của việc phát triển ứng dụng di động này nằm ở khả năng nâng cao năng lực cạnh tranh, tối ưu hóa vận hành và mang lại trải nghiệm mua sắm vượt trội cho khách hàng trong kỷ nguyên số.
Mục tiêu tổng quát của đồ án là "Xây dựng app bán hàng" hoàn chỉnh. Để đạt được điều đó, các mục tiêu cụ thể được xác định rõ ràng. Thứ nhất, phân tích và đặc tả các yêu cầu chức năng và phi chức năng của một hệ thống thương mại điện tử di động, bao gồm các nghiệp vụ từ phía khách hàng và quản trị viên. Thứ hai, tiến hành thiết kế cơ sở dữ liệu một cách logic và hiệu quả, sử dụng các hệ quản trị như MySQL hoặc SQLite để lưu trữ thông tin sản phẩm, khách hàng và đơn hàng. Thứ ba, lập trình và triển khai các chức năng cốt lõi như xem sản phẩm, thêm vào giỏ hàng, thanh toán online, và quản lý thông tin người dùng. Cuối cùng, thực hiện kiểm thử để đảm bảo ứng dụng hoạt động ổn định và đóng gói sản phẩm để có thể triển khai thực tế. Quá trình này giúp sinh viên VKU nắm vững toàn bộ vòng đời phát triển phần mềm.
Để đảm bảo một dự án xây dựng ứng dụng bán hàng thành công, giai đoạn phân tích và thiết kế hệ thống đóng vai trò nền tảng. Đồ án này áp dụng phương pháp Phân tích và Thiết kế Hướng đối tượng (OOAD), một cách tiếp cận hiện đại và hiệu quả trong đồ án công nghệ phần mềm. OOAD cho phép mô hình hóa hệ thống dựa trên các đối tượng trong thế giới thực, giúp cấu trúc phần mềm trở nên rõ ràng, dễ bảo trì và mở rộng. Ngôn ngữ Mô hình hóa Thống nhất (UML) được sử dụng như một công cụ trực quan để thể hiện các thiết kế này. Thông qua các biểu đồ UML, đội ngũ phát triển có thể dễ dàng trao đổi ý tưởng và xác định kiến trúc tổng thể. Các biểu đồ chính được sử dụng bao gồm sơ đồ use case để xác định các chức năng và tương tác của người dùng, biểu đồ lớp để mô tả cấu trúc tĩnh của hệ thống, và biểu đồ tuần tự để mô tả luồng xử lý động. Việc áp dụng bài bản OOAD và UML không chỉ giúp làm rõ yêu cầu mà còn là cơ sở vững chắc cho việc lựa chọn công nghệ phát triển, dù là Java Android, React Native hay Flutter. Quá trình này đảm bảo rằng tất cả các khía cạnh của hệ thống quản lý bán hàng đều được xem xét kỹ lưỡng trước khi bắt đầu lập trình, giảm thiểu rủi ro và chi phí sửa đổi về sau. Đây là một kỹ năng cốt lõi mà mọi sinh viên Đại học Việt Hàn ngành công nghệ thông tin cần nắm vững.
Trong giai đoạn đầu, sơ đồ use case là công cụ không thể thiếu để đặc tả yêu cầu chức năng. Tài liệu đồ án đã xây dựng các use case chi tiết cho cả hai tác nhân chính: khách hàng và quản trị viên. Các chức năng như "Xem thông tin sản phẩm", "Quản lý đặt hàng & thanh toán hóa đơn", "Quản lý khách hàng" đều được mô tả rõ ràng qua biểu đồ. Song song đó, sơ đồ ERD (Entity-Relationship Diagram) hay biểu đồ lớp thực thể được dùng để thiết kế cơ sở dữ liệu. Nó xác định các thực thể chính như Khách hàng, Sản phẩm, Đơn hàng, và mối quan hệ giữa chúng. Việc này tạo ra một cấu trúc dữ liệu chặt chẽ, làm nền tảng cho việc truy vấn và thao tác dữ liệu sau này bằng MySQL hoặc các hệ quản trị khác.
Một ứng dụng bán hàng thành công không chỉ mạnh về chức năng mà còn phải có giao diện người dùng (UI) hấp dẫn và trải nghiệm người dùng (UX) mượt mà. Đồ án đã chú trọng vào việc thiết kế các màn hình giao diện một cách trực quan, từ giao diện chính, danh mục sản phẩm, chi tiết sản phẩm, đến giỏ hàng và màn hình thanh toán. Các yêu cầu phi chức năng như "Giao diện ứng dụng dễ sử dụng, thân thiện" được đặt lên hàng đầu. Mặc dù tài liệu thừa nhận "Giao diện chưa được thẩm mỹ" là một hạn chế, nhưng việc xác định và thiết kế luồng người dùng (user flow) rõ ràng đã là một bước đi đúng đắn, tạo tiền đề cho các cải tiến trong tương lai để nâng cao trải nghiệm khách hàng.
Việc lựa chọn công nghệ phù hợp là một quyết định chiến lược ảnh hưởng đến toàn bộ quá trình phát triển ứng dụng di động. Đối với một đồ án cơ sở 3, sinh viên thường đứng trước nhiều lựa chọn: phát triển ứng dụng gốc (native) hoặc đa nền tảng (cross-platform). Phát triển gốc với Java Android mang lại hiệu năng tối ưu và khả năng truy cập sâu vào các tính năng của hệ điều hành. Tuy nhiên, các nền tảng đa nền tảng như React Native và Flutter ngày càng trở nên phổ biến nhờ khả năng tiết kiệm thời gian và chi phí khi chỉ cần một codebase cho cả iOS và Android. Về phía backend, các framework mạnh mẽ như PHP Laravel hay NodeJS thường được sử dụng để xây dựng API, xử lý logic nghiệp vụ và kết nối với cơ sở dữ liệu. Đối với cơ sở dữ liệu, MySQL là lựa chọn phổ biến cho các hệ thống lớn, trong khi SQLite phù hợp cho việc lưu trữ dữ liệu cục bộ trên thiết bị. Trong khuôn khổ đồ án này, việc sử dụng SQLite được đề cập, cho thấy hướng tiếp cận xây dựng một ứng dụng có khả năng hoạt động offline. Việc tìm kiếm các source code app bán hàng tham khảo trên các nền tảng này cũng là một phương pháp học hỏi hiệu quả cho sinh viên. Quyết định cuối cùng phụ thuộc vào yêu cầu cụ thể của dự án, kỹ năng của đội ngũ và mục tiêu dài hạn.
Khi xem xét phát triển đa nền tảng, React Native và Flutter là hai ứng cử viên hàng đầu. React Native, được phát triển bởi Facebook, sử dụng JavaScript và cho phép tái sử dụng một phần lớn logic từ phát triển web. Cộng đồng lớn và hệ sinh thái thư viện phong phú là một lợi thế lớn. Ngược lại, Flutter của Google sử dụng ngôn ngữ Dart và có kiến trúc tự vẽ giao diện (self-rendering engine), mang lại hiệu năng gần như gốc và giao diện đồng nhất trên mọi thiết bị. Lựa chọn giữa hai nền tảng này đòi hỏi sự cân nhắc về hiệu năng, tốc độ phát triển và hệ sinh thái hỗ trợ.
Một ứng dụng di động không thể hoạt động độc lập mà cần một hệ thống backend vững chắc để quản lý dữ liệu và logic. NodeJS với kiến trúc bất đồng bộ phù hợp cho các ứng dụng thời gian thực, trong khi PHP Laravel lại mạnh về sự ổn định và quy trình phát triển nhanh chóng. Về cơ sở dữ liệu, MySQL là một hệ quản trị CSDL quan hệ truyền thống, mạnh mẽ và đáng tin cậy. Trong khi đó, các giải pháp BaaS (Backend as a Service) như Firebase cung cấp một bộ công cụ hoàn chỉnh từ xác thực, cơ sở dữ liệu thời gian thực đến hosting, giúp giảm đáng kể thời gian phát triển backend, là một lựa chọn lý tưởng cho các đồ án mẫu VKU.
Quá trình triển khai là giai đoạn biến các bản thiết kế thành một sản phẩm phần mềm hoạt động. Việc xây dựng ứng dụng bán hàng đòi hỏi phải chia nhỏ hệ thống thành các module chức năng để dễ quản lý và phát triển. Mỗi module giải quyết một nghiệp vụ cụ thể. Module quan trọng đầu tiên là quản lý sản phẩm, cho phép quản trị viên thêm, sửa, xóa sản phẩm và phân loại chúng. Tiếp theo là module quản lý người dùng, xử lý việc đăng ký, đăng nhập và xác thực người dùng. Chức năng cốt lõi của mọi ứng dụng thương mại điện tử là giỏ hàng và quản lý đơn hàng. Module này phải xử lý logic thêm sản phẩm vào giỏ, tính toán tổng tiền, và lưu lại lịch sử mua hàng. Một trong những phần phức tạp nhất là tích hợp cổng thanh toán online, kết nối với các dịch vụ của bên thứ ba để xử lý giao dịch một cách an toàn. Tài liệu đồ án đã trình bày chi tiết việc triển khai các chức năng như "xem sản phẩm theo danh mục", "chọn và xem chi tiết sản phẩm", và "lưu thông tin khách hàng". Quá trình này đòi hỏi kỹ năng lập trình vững vàng và khả năng gỡ lỗi hiệu quả, là thước đo chính xác năng lực của sinh viên trong một đồ án công nghệ phần mềm.
Module quản lý sản phẩm là xương sống của ứng dụng. Nó không chỉ bao gồm các thao tác CRUD (Create, Read, Update, Delete) cơ bản mà còn liên quan đến việc quản lý hình ảnh, mô tả, giá cả và số lượng tồn kho. Về phía người dùng, chức năng tìm kiếm và lọc sản phẩm phải được tối ưu để mang lại trải nghiệm tốt nhất. Trong khi đó, module quản lý đơn hàng theo dõi toàn bộ vòng đời của một giao dịch, từ khi đơn hàng được tạo, xác nhận, xử lý, vận chuyển cho đến khi hoàn tất. Việc thiết kế một quy trình xử lý đơn hàng mạch lạc và hiệu quả là yếu tố quyết định sự hài lòng của khách hàng.
Chức năng giỏ hàng phải cho phép người dùng dễ dàng thêm, xóa, và cập nhật số lượng sản phẩm. Dữ liệu giỏ hàng cần được lưu trữ một cách hợp lý, có thể là trên thiết bị (local storage) cho khách vãng lai hoặc đồng bộ với tài khoản người dùng đã đăng nhập. Việc tích hợp thanh toán online là một thách thức về cả kỹ thuật và bảo mật. Nó đòi hỏi phải làm việc với API của các cổng thanh toán như MoMo, VNPAY, xử lý các callback và đảm bảo thông tin giao dịch của khách hàng được mã hóa và bảo vệ tuyệt đối. Đây là một chức năng nâng cao giá trị và tính chuyên nghiệp cho ứng dụng.
Sau quá trình triển khai, việc đánh giá kết quả đạt được là bước cuối cùng nhưng vô cùng quan trọng. Đồ án xây dựng ứng dụng bán hàng này đã thành công trong việc tạo ra một sản phẩm hoàn chỉnh với các chức năng cơ bản, đáp ứng được mục tiêu đề ra của một Đồ án Cơ sở 3. Các kết quả đạt được bao gồm: hiểu rõ quy trình phát triển phần mềm, áp dụng thành công lý thuyết vào thực tiễn, và tạo ra một ứng dụng có giá trị. Tuy nhiên, theo chính tác giả của đồ án, sản phẩm vẫn còn một số hạn chế cần khắc phục. Các vấn đề được chỉ ra bao gồm "Một số chức năng chưa tối ưu", "Phần phân tích thiết kế còn lủng củng", và "Giao diện chưa được thẩm mỹ". Việc nhận diện được những điểm yếu này cho thấy sự trưởng thành trong tư duy và là cơ sở để đề ra hướng phát triển trong tương lai. Hướng nghiên cứu tiếp theo có thể tập trung vào việc tối ưu hóa hiệu năng hệ thống, nâng cao bảo mật, và cải thiện trải nghiệm người dùng (UX). Đây là một ví dụ điển hình về một đồ án mẫu VKU, không chỉ thể hiện kết quả mà còn phản ánh quá trình học hỏi và không ngừng cải tiến.
Kết quả chính của đồ án là một ứng dụng Android hoạt động được, với các chức năng cốt lõi như quản lý sản phẩm, giỏ hàng, và đặt hàng. Quá trình kiểm thử được thực hiện thông qua các test case cụ thể cho từng chức năng, ví dụ như "Bảng kiểm thử chức năng mua hàng" và "Bảng kiểm thử chức năng thanh toán". Việc kiểm thử này đảm bảo rằng các luồng nghiệp vụ chính hoạt động đúng như mong đợi, giảm thiểu lỗi trước khi triển khai. Đây là một bước không thể thiếu để đảm bảo chất lượng của sản phẩm phát triển ứng dụng di động.
Đồ án đã thẳng thắn chỉ ra các hạn chế, bao gồm hiệu năng và thiết kế giao diện. Hướng phát triển được đề xuất rất rõ ràng: "tối ưu tốt hơn để phù hợp với nhiều người dùng hơn", "chú trọng vào tối ưu tốc độ xử lý", và "nâng cao bảo mật, thiết kế cơ sở dữ liệu sử dụng mạng". Các định hướng này mở ra cơ hội để phát triển dự án thành một sản phẩm thương mại hoàn chỉnh, có thể áp dụng các công nghệ mới như React Native hoặc Flutter để cải thiện giao diện và mở rộng sang nền tảng iOS, hoặc sử dụng Firebase để đơn giản hóa kiến trúc backend và tăng khả năng mở rộng.
Bạn đang xem trước tài liệu:
Đồ án cơ sở 3 xây dựng app bán hàng