Đồ án tốt nghiệp: Xây dựng website trao đổi sản phẩm - Nguyễn Văn Mạnh

Tài liệu đồ án tốt nghiệp ngành Công nghệ thông tin khóa K17G ngày 06/02/2023. Tổng hợp báo cáo nghiên cứu, giải pháp kỹ thuật và kết quả triển khai đề tài.

Chuyên ngành

Kỹ thuật phần mềm

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp đại học

2023

51
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan đề tài 6 2 2023 datn nvm cnttk17g 1

Đề tài nghiên cứu 6 2 2023 datn nvm cnttk17g 1 được thực hiện trong khuôn khổ chương trình đào tạo kỹ sư Kỹ thuật phần mềm tại Đại học Thái Nguyên. Tài liệu phản ánh toàn bộ quy trình khảo sát, phân tích và hiện thực hóa hệ thống thương mại điện tử chuyên biệt. Mục tiêu trọng tâm hướng tới việc giải quyết nhu cầu trao đổi vật phẩm trực tuyến ngày càng gia tăng trong cộng đồng sinh viên và người tiêu dùng trẻ. Nền tảng kỹ thuật được lựa chọn dựa trên tiêu chuẩn kiến trúc hiện đại, đảm bảo tính bảo mật và khả năng mở rộng dịch vụ linh hoạt. Dự án đánh dấu sự kết hợp chặt chẽ giữa lý thuyết kỹ nghệ phần mềm và ứng dụng thực tiễn sản xuất. Công trình đặt nền móng cho việc xây dựng môi trường giao dịch an toàn, tiện lợi và minh bạch. Người dùng có thể đăng tải sản phẩm, tìm kiếm đối tác trao đổi và quản lý giao dịch dễ dàng. Toàn bộ cấu trúc hệ thống tuân thủ chặt chẽ các nguyên lý thiết kế hướng đối tượng tiên tiến.

1.1. Bối cảnh và mục tiêu nghiên cứu đề tài

Sự phát triển mạnh mẽ của thương mại điện tử thúc đẩy nhu cầu thanh lý và trao đổi hàng hóa cũ. Người tiêu dùng cần một kênh trung gian uy tín để tiết kiệm chi phí mua sắm. Đề tài xác định mục tiêu chính là xây dựng website trao đổi sản phẩm thông minh, thân thiện. Hệ thống cho phép người dùng đăng tin trao đổi, kiểm duyệt nội dung và tương tác trực tiếp. Quy trình này loại bỏ các bước trung gian rườm rà, tối ưu hóa thời gian giao dịch. Dự án góp phần thúc đẩy lối sống tiêu dùng bền vững và tuần hoàn tài nguyên hiệu quả trong xã hội hiện đại.

1.2. Phạm vi ứng dụng và đối tượng thụ hưởng

Phạm vi nghiên cứu tập trung vào môi trường giao dịch trực tuyến giữa các cá nhân trong khu vực trường học và đô thị lân cận. Đối tượng thụ hưởng trực tiếp bao gồm học sinh, sinh viên và nhân viên văn phòng có nhu cầu trao đổi vật dụng không còn sử dụng. Nền tảng cung cấp không gian tương tác đa chiều, bảo mật thông tin cá nhân và lưu vết lịch sử trao đổi chi tiết. Mô hình này giúp kết nối các cá nhân có cùng nhu cầu một cách chuẩn xác, nhanh chóng và an toàn tuyệt đối trên không gian số.

II. Phân tích bài toán 6 2 2023 datn nvm cnttk17g 1

Trong phần phân tích hệ thống 6 2 2023 datn nvm cnttk17g 1, tác giả chỉ ra các rào cản lớn của phương thức trao đổi truyền thống. Việc giao dịch thủ công qua mạng xã hội thường thiếu tính minh bạch, dễ xảy ra lừa đảo và khó kiểm soát chất lượng sản phẩm. Người mua lẫn người bán đều thiếu công cụ theo dõi tiến trình đơn hàng và đánh giá độ tin cậy của đối tác. Đề tài tiến hành khảo sát thực trạng, thu thập yêu cầu người dùng và xây dựng các biểu đồ phân tích nghiệp vụ chuyên sâu. Các biểu đồ Use Case tổng quát, Use Case phân rã cùng biểu đồ tuần tự được thiết lập chi tiết. Hệ thống phân định rõ quyền hạn giữa các tác nhân như khách vãng lai, thành viên đăng ký và quản trị viên. Việc phân loại quyền hạn giúp tối ưu hóa luồng dữ liệu, nâng cao tính an toàn và ngăn chặn các hành vi gian lận trên nền tảng.

2.1. Khảo sát hiện trạng và hạn chế tồn tại

Khảo sát thực tế cho thấy phần lớn hoạt động mua bán, trao đổi đồ cũ hiện nay diễn ra tự phát trên các diễn đàn mạng xã hội. Phương thức này bộc lộ nhiều điểm yếu như thông tin bị trôi nhanh, không có cơ chế xác thực danh tính người đăng bài và thiếu quy trình khiếu nại minh bạch. Người dùng thường gặp rủi ro bị lừa gạt về chất lượng sản phẩm hoặc mất thời gian thương lượng không kết quả. Bài toán đặt ra là cần một nền tảng chuyên biệt với cấu trúc dữ liệu rõ ràng, chuẩn hóa quy trình đăng tải và kiểm soát giao dịch an toàn.

2.2. Mô hình hóa chức năng và luồng xử lý

Đề tài ứng dụng ngôn ngữ mô hình hóa UML để xây dựng các biểu đồ ca sử dụng và biểu đồ trình tự. Các tác nhân chính được định nghĩa gồm Quản trị viên và Người dùng hệ thống. Quản trị viên đảm nhiệm vai trò duyệt danh mục, kiểm duyệt bài đăng, giám sát tài khoản và xem thống kê. Người dùng có quyền đăng tin, quản lý danh sách sản phẩm cá nhân, gửi đề nghị trao đổi và chấm điểm uy tín đối tác. Biểu đồ tuần tự làm rõ quy trình đăng ký, xác thực danh tính và xử lý đơn hàng theo thời gian thực.

III. Giải pháp công nghệ 6 2 2023 datn nvm cnttk17g 1

Công trình nghiên cứu 6 2 2023 datn nvm cnttk17g 1 lựa chọn hệ sinh thái công nghệ Java hiện đại nhằm đảm bảo hiệu năng và độ ổn định cao. Phía máy chủ được phát triển trên nền tảng Spring Boot, cung cấp kiến trúc phân tầng rõ ràng từ Controller, Service đến Repository. Giải pháp này giúp đơn giản hóa cấu hình, tăng tốc độ xử lý yêu cầu và dễ dàng bảo trì mã nguồn. Hệ quản trị cơ sở dữ liệu MariaDB được triển khai để lưu trữ thông tin sản phẩm, danh mục, đơn hàng và lịch sử giao dịch. MariaDB mang lại ưu thế vượt trội về tốc độ truy vấn, khả năng tương thích cao và tối ưu bộ nhớ. Cơ chế bảo mật và xác thực người dùng được xây dựng trên nền tảng JSON Web Token (JWT). Mã định danh JWT cho phép phân quyền người dùng chặt chẽ và bảo vệ an toàn cho các điểm cuối API.

3.1. Kiến trúc Backend Spring Boot và MariaDB

Framework Spring Boot đóng vai trò trung tâm trong việc xử lý logic nghiệp vụ và điều phối dữ liệu hệ thống. Kiến trúc MVC được áp dụng triệt để nhằm tách biệt phần hiển thị và mã xử lý logic. Hệ quản trị MariaDB cung cấp các công cụ lưu trữ hiệu năng cao, kết hợp giữa mô hình quan hệ SQL và tính năng mở rộng NoSQL. Các bảng cơ sở dữ liệu về tài khoản, sản phẩm, đánh giá và đơn hàng được thiết kế chuẩn hóa, loại bỏ dư thừa dữ liệu và duy trì toàn vẹn quan hệ logic.

3.2. Cơ chế bảo mật và xác thực bằng JWT

Hệ thống ứng dụng chuẩn JSON Web Token nhằm thiết lập cơ chế xác thực không trạng thái (stateless) an toàn trên nền tảng Web. Cấu trúc token gồm ba phần Header, Payload và Chữ ký số Signature được mã hóa chặt chẽ. Khi người dùng đăng nhập thành công, máy chủ cấp phát chuỗi token hợp lệ để xác thực mọi yêu cầu tiếp theo. Giải pháp này ngăn chặn nguy cơ giả mạo phiên làm việc, giảm tải cho bộ nhớ máy chủ và bảo vệ quyền riêng tư cho từng tài khoản thành viên.

IV. Kết luận ứng dụng 6 2 2023 datn nvm cnttk17g 1

Tổng kết đồ án 6 2 2023 datn nvm cnttk17g 1 cho thấy hệ thống website trao đổi sản phẩm đã được triển khai hoàn chỉnh và đáp ứng đầy đủ các yêu cầu kỹ thuật ban đầu. Giao diện trang web được thiết kế trực quan, dễ thao tác và tương thích trên nhiều kích thước màn hình. Các phân hệ chính như đăng tải sản phẩm, tìm kiếm, đánh giá và quản trị danh mục đều vận hành ổn định. Nghiên cứu khẳng định tính khả thi cao khi ứng dụng các công nghệ Java, Spring Boot và MariaDB vào bài toán thương mại điện tử phục vụ đời sống. Đồ án tạo ra một sản phẩm thực tế có giá trị sử dụng cao trong môi trường học đường và cộng đồng. Trong các giai đoạn tiếp theo, hệ thống có thể mở rộng thêm cổng thanh toán trực tuyến, tích hợp trí tuệ nhân tạo để gợi ý trao đổi thông minh và phát triển ứng dụng di động đa nền tảng.

4.1. Kết quả thực nghiệm và đánh giá hệ thống

Quá trình thử nghiệm thực tế chứng minh website hoạt động mượt mà, thời gian phản hồi máy chủ nhanh chóng và dữ liệu đồng bộ chính xác. Giao diện người dùng thể hiện đầy đủ chi tiết sản phẩm, trạng thái trao đổi và danh sách đơn hàng đã tạo. Module quản trị dành cho Admin cho phép giám sát toàn diện hoạt động hệ thống, từ việc duyệt tin đến khóa tài khoản vi phạm. Kết quả kiểm thử khẳng định độ tin cậy và sự hoàn thiện của kiến trúc phần mềm được xây dựng.

4.2. Hướng phát triển và nâng cấp tương lai

Hướng hoàn thiện tiếp theo của nền tảng tập trung vào việc bổ sung cổng thanh toán chuyển khoản ngân hàng tự động. Hệ thống sẽ tích hợp thêm tính năng chat trực tuyến thời gian thực bằng giao thức WebSocket nhằm hỗ trợ người dùng đàm phán tức thì. Ngoài ra, việc ứng dụng thuật toán học máy để phân tích sở thích và tự động đề xuất cặp trao đổi phù hợp sẽ nâng cao trải nghiệm người dùng. Đề tài mở ra tiềm năng thương mại hóa rộng rãi trong thực tế.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

15/06/2026
6 2 2023 datn nvm cnttk17g 1

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

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. Tổng quan về các công nghệ 1. Tổng quan về ngôn ngữ Java  Giới thiệu Java là một trong những ngôn ngữ lập trình hướng đối tượng. Nó được sử dụng trong phát triển phần mềm, trang web, game hay ứng dụng trên các thiết bị di động.

Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem năm 1991. Ban đầu Java được tạo ra nhằm mục đích viết phần mềm cho các sản phẩm gia dụng, và có tên là Oak. Java được phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun MicroSystem. Java được tạo ra với tiêu chí “Viết (code) một lần, thực thi khắp nơi” (Write Once, Run Anywhere – WORA).

Chương trình phần mềm viết bằng Java có thể chạy trên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó.  Đặc điểm của ngôn ngữ lập trình java - Tương tự C++, hướng đối tượng hoàn toàn Trong quá trình tạo ra một ngôn ngữ mới phục vụ cho mục đích chạy được trên nhiều nền tảng, các kỹ sư của Sun MicroSystem muốn tạo ra một ngôn ngữ dễ học và quen thuộc với đa số người lập trình. Vì vậy họ đã sử dụng lại các cú pháp của C và C++. Tuy nhiên, trong Java thao tác với con trỏ bị lược bỏ nhằm đảo bảo tính an toàn và dễ sử dụng hơn.

Các thao tác overload, goto hay các cấu trúc như struct và union cũng được loại bỏ khỏi Java. 7 Độc lập phần cứng và hệ điều hành Một chương trình viết bằng ngôn ngữ Java có thể chạy tốt ở nhiều môi trường khác nhau. Gọi là khả năng “cross-platform”. Khả năng độc lập phần cứng và hệ điều hành được thể hiện ở 2 cấp độ là cấp độ mã nguồn và cấp độ nhị phân.

Ở cấp độ mã nguồn: Kiểu dữ liệu trong Java nhất quán cho tất cả các hệ điều hành và phần cứng khác nhau. Java có riêng một bộ thư viện để hỗ trợ vấn đề này. Chương trình viết bằng ngôn ngữ Java có thể biên dịch trên nhiều loại máy khác nhau mà không gặp lỗi. Ở cấp độ nhị phân: Một mã biên dịch có thể chạy trên nhiều nền tảng khác nhau mà không cần dịch lại mã nguồn.

Tuy nhiên cần có Java Virtual Machine để thông dịch đoạn mã này. - Ngôn ngữ thông dịch Ngôn ngữ lập trình thường được chia ra làm 2 loại (tùy theo các hiện thực hóa ngôn ngữ đó) là ngôn ngữ thông dịch và ngôn ngữ biên dịch. Thông dịch (Interpreter): Nó dịch từng lệnh rồi chạy từng lệnh, lần sau muốn chạy lại thì phải dịch lại. Biên dịch (Compiler): Code sau khi được biên dịch sẽ tạo ra 1 file thường là .exe, và file .exe này có thể đem sử dụng lại không cần biên dịch nữa.

Ngôn ngữ lập trình Java thuộc loại ngôn ngữ thông dịch. Chính xác hơn, Java là loại ngôn ngữ vừa biên dịch vừa thông dịch. Cụ thể như sau: Khi viết mã, hệ thống tạo ra một tệp. Khi biên dịch mã nguồn của chương trình sẽ được biên dịch ra mã byte code.

Máy ảo Java (Java Virtual Machine) sẽ thông dịch mã byte code này thành machine code (hay native code) khi nhận được yêu cầu chạy chương trình. 8 Ưu điểm : Phương pháp này giúp các đoạn mã viết bằng Java có thể chạy được trên nhiều nền tảng khác nhau. Với điều kiện là JVM có hỗ trợ chạy trên nền tảng này. Nhược điểm : Cũng như các ngôn ngữ thông dịch khác, quá trình chạy các đoạn mã Java là chậm hơn các ngôn ngữ biên dịch khác (tuy nhiên vẫn ở trong một mức chấp nhận được).

- Cơ chết thu gom rác tự động Khi tạo ra các đối tượng trong Java, JRE sẽ tự động cấp phát không gian bộ nhớ cho các đối tượng ở trên heap. Với ngôn ngữ như C \ C++, ta phải yêu cầu hủy vùng nhớ mà bạn đã cấp phát, để tránh việc thất thoát vùng nhớ. Tuy nhiên vì một lý do nào đó, ta không hủy một vài vùng nhớ, dẫn đến việc thất thoát và làm giảm hiệu năng chương trình. Ngôn ngữ lập trình Java hỗ trợ cho bạn điều đó, nghĩa là ta không phải tự gọi hủy các vùng nhớ.

Bộ thu dọn rác của Java sẽ theo vết các tài nguyên đã được cấp. Khi không có tham chiếu nào đến vùng nhớ, bộ thu dọn rác sẽ tiến hành thu hồi vùng nhớ đã được cấp phát. 9 - Đa luồng Java hỗ trợ lập trình đa tiến trình (multithread) để thực thi các công việc đồng thời. Đồng thời cũng cung cấp giải pháp đồng bộ giữa các tiến trình (giải pháp sử dụng priority…).

- Tính an toàn và bảo mật o Tính an toàn:  Ngôn ngữ lập trình Java yêu cầu chặt chẽ về kiểu dữ liệu.  Dữ liệu phải được khai báo tường minh.  Không sử dụng con trỏ và các phép toán với con trỏ.  Java kiểm soát chặt chẽ việc truy nhập đến mảng, chuỗi.

Không cho phép sử dụng các kỹ thuật tràn. Do đó các truy nhập sẽ không vượt quá kích thước của mảng hoặc chuỗi.  Quá trình cấp phát và giải phóng bộ nhớ được thực hiện tự động.  Cơ chế xử lý lỗi giúp việc xử lý và phục hồi lỗi dễ dàng hơn.

o Tính bảo mật:  Java cung cấp một môi trường quản lý chương trình với nhiều mức khác nhau.  Mức 1: Chỉ có thể truy xuất dữ liệu cũng như phương phức thông qua giao diện mà lớp cung cấp.  Mức 2: Trình biên dịch kiểm soát các đoạn mã sao cho tuân thủ các quy tắc của ngôn ngữ lập trình Java trước khi thông dịch.  Mức 3: Trình thông dịch sẽ kiểm tra mã byte code xem các đoạn mã này có đảm bảo được các quy định, quy tắc trước khi thực thi.

 Mức 4: Java kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giới hạn truy xuất trước khi nạp vào hệ thống. Tổng quan về Spring Boot  Spring framework là gì? Spring là một framework được ra đời để giúp các nhà phát triển có thể xây dựng hệ thống và chạy ứng dụng trên JVM một cách thuận tiện, đơn giản và nhanh chóng. Đây là một mã nguồn mở được phát triển và rất nhiều người sử dụng. Trên thực tế, Spring framework là tập hợp gồm rất nhiều các dự án nhỏ khác nhau như: Spring MVC (sử dụng để xây dựng các ứng dụng trên nền tảng web), Spring Data, Spring Boot,… Để phát triển một ứng dụng web cơ bản sử dụng Spring framework, bạn cần trải qua ít nhất 5 công đoạn sau:  Tạo một project sử dụng Maven với các dependency cần thiết.

 Tạo một tập tin web đuôi (.xml) để khai báo DispatcherServlet (thuộc Spring MVC).  Một tập tin có cấu hình của Spring MVC.  Trả về một class Controller khi có request đến.  Cuối cùng là phải có một web server phục vụ triển khai ứng dụng lên chạy.

Để khởi tạo một dự án Spring khá là vất vả và tốn nhiều công sức. Người lập trình phải khai báo những dependency trong pom.xml, cấu hình XML hoặc các annotation cực kỳ phức tạp. Giờ đây, việc tạo ra các ứng dụng này sẽ được thực hiện một cách đơn giản, nhanh chóng hơn rất nhiều chỉ với Spring Boot. Vậy Spring Boot là gì? 11  Spring Boot là gì ? Spring Boot chính là một Java framework siêu to và khổng lồ và có nhiều khả năng hữu ích vì nó có thể giúp lập trình viên giải quyết rất nhiều vấn đề.

So với framework Spring thông thường, Spring Boot tỏ ra những lợi thế vượt trội. Khi sử dụng Spring Boot, rất nhiều thứ được cải tiến hỗ trợ lập trình viên như:  Auto config: tự động cấu hình thay lập trình viên, ta chỉ cần viết code và tiến hành chạy hệ thống là được.  Dựa trên các Annotation để tạo lập các bean thay vì XML.  Server Tomcat có thể được nhúng ngay trong file JAR build ra và có thể chạy ở bất kì đâu mà java chạy được.

Khi sử dụng Spring Boot, lập trình viên chỉ cần:  Sử dụng Spring Initializr: nhập các thông tin của dự án (project), chọn thư viện (Library) rồi tải code về máy.  Mở mã nguồn (source code) và bắt đầu viết code.  Có thể chạy ngay trong IDE, hoặc build thành file JAR mà không cần cấu hình config cho server nữa. 12  Ưu điểm nổi bật của Spring boot Những tính năng nổi bật của Spring Boot mà ta không thể bỏ qua như:  Phát triển web một cách đơn giản và nhanh chóng.

 Config an toàn  Có thể hỗ trợ YAML  Có tính quản trị cao  Dễ dàng ứng dụng Spring và các sự kiện.  Có thể cấu hình ở bên ngoài và tạo ra những tệp thuộc tính.  Tính bảo mật cao.  Ghi log  Đặc điểm nổi bật của Spring Boot SpringApplication: Đây là class được dùng để khởi chạy ứng dụng từ hàm main().

Vì thế, khi khởi chạy ứng dụng, các lập trình viên chỉ cần gọi method run() là được. Externalized Configuration: Spring Boot cho phép người dùng có thể sử dụng cấu hình (config) từ bên ngoài. Chính vì vậy mà mỗi ứng dụng được tạo ra có thể chạy được trên nhiều môi trường khác nhau. Profiles: Dùng để phân chia các loại cấu hình cho các môi trường khác nhau.

Loggin: Sử dụng phục vụ cho toàn bộ chức năng log trong phạm vi nội bộ. Những logging này sẽ được quản lý một cách mặc định. Tổng quan về MariaDB.  MariaDB là gì? MariaDB là hệ quản trị cơ sở dữ liệu miễn phí được phát triển từ hệ quản trị cơ sở dữ liệu mã nguồn mở MySQL.

MariaDB được phát triển nhằm thay thế công nghệ cơ sở dữ liệu MySQL, vì thế nó tương thích và cho một hiệu suất cao hơn so với MySQL. Ưu điểm khi sử dụng MariaDB là gì? 13 MariaDB được Michael “Monty” Widenius, developer hàng đầu của MySQL dẫn dắt và phát triển. Ưu điểm lớn nhất của hệ quản trị này là tương thích với nhiều hệ điều hành, bao gồm Linux CentOS, Ubuntu và Window với các gói cài đặt tar, zip, MSI, rpm cho cả 32bit và 64bit với hiệu suất cao hơn so với MySQL. Vì thế, MariaDB đang ngày càng được đông đảo các nhà phát triển sử dụng, trong đó có wikipedia, Fullstack-Station,… MariaDB đang có xu hướng thay thế cho MySQL – hệ quản trị cơ sở dữ liệu mã nguồn mở lâu đời nhất được sử dụng từ trước đến nay.

 Lịch sử của MariaDB Nền móng cơ sở đầu tiên của MariaDB được phát triển bởi “trụ cột” của MySQL AB là Michael “Monty” Widenius.

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

Cách trích dẫn tài liệu này

Chuẩn Việt Nam
Nguyễn Văn Mạnh (2023), Xây dựng website trao đổi sản phẩm, Đồ án tốt nghiệp đại học, Trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên, Thái Nguyên.
APA 7
Nguyễn, V. M. (2023). Xây dựng website trao đổi sản phẩm [Đồ án tốt nghiệp đại học, Trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên]. vn-document.net. https://vn-document.net/document/6-2-2023-datn-nvm-cnttk17g-1/9387638545
IEEE
V. M. Nguyễn, "Xây dựng website trao đổi sản phẩm," Đồ án tốt nghiệp đại học, Trường Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên, Thái Nguyên, 2023. [Online]. Available: https://vn-document.net/document/6-2-2023-datn-nvm-cnttk17g-1/9387638545

Tạo trích dẫn cho tài liệu khác