CHƯƠNG 1: KHẢO SÁT HỆ THỐNG 1. Giới thiệu đề tài 1.1 Tên đề tài “Xây dựng website bán giày trực tuyến VueJS và Spring Boot”.1 Lý do chọn đề tài Ngày nay cùng với sự phát triển vô cùng mạnh mẽ của cuộc cách mạng 4.0 thì việc mua sắm online đã không còn là điều gì xa lạ đối với mọi người. Chính vì vậy việc áp dụng công nghệ thông tin vào kinh doanh đang là lối đi của rất nhiều cửa hàng hay doanh nghiệp. Các cửa hàng sẽ rất cần kết hợp các yếu tố công nghệ để phát triển không ngừng.
Đó sẽ là một cầu nối rất tốt để kết nối khách hàng với các shop, các cửa hàng. Và một website cho phép xem và mua sản phẩm sẽ là một phương án khả quan để làm được điều này. Khách hàng có thể dễ dàng tìm hiểu sản phẩm và có thể mua trực tiếp. Còn bên của hàng sẽ dễ dàng quản lý các đơn đặt hàng của mình hơn và cung cấp cho khách hàng những thông tin mới nhất về sản phẩm hay của hàng của mình.
Nhận thấy đây là một cơ hội tốt để áp dụng được các kiến thức mà bản thân đã tích lũy được vào đời sống thực tế em đã chọn đề tài “Xây dựng website bán giày trực tuyến VueJS và Spring Boot”. - Tìm kiếm thông tin. - Đọc hiểu tài liệu. - Ghi chép, phỏng vấn những người có hiểu biết về VueJs và Java - Cài đặt và sử dụng Visual Studio Code và IntelliJ IDEA 1.1 Mục tiêu - Tạo ra mô ̣t website bán giày cho các chủ cửa hàng và các khách hàng trực tuyến.
- Quản lý việc nhâ ̣p, xuất hàng dễ dàng với quy mô lớn hơn. - Quảng bá thương hiện trên nhiều phương tiện dễ dàng hơn. - Tiếp câ ̣n với nhiều khách hàng hơn, giúp bán được nhiều hàng và tiết kiệm thời gian mua hàng cho khách hàng. 3 Downloaded by ANH BACH (bachvan15@gmail.
Khảo sát chi tiết 1.1 Đối tượng và phương pháp khảo sát - Đối tượng: Khách hàng. - Phương pháp: Phỏng vấn, lấy ý kiến trực tiếp. - Mục đích: Làm rõ yêu cầu của khách hàng đối với website. Nghiên cứu sản phẩm, các biểu mẫu, quy trình giao dịch hàng.2 Thực trạng hiện tại - Theo dữ liệu thu thâ ̣p từ khảo sát tại Hoa Kỳ, doanh thu thương mại điện tử năm 2020 tăng 32, 2% so với cùng kỳ năm 2019, đạt 188, 2 tỷ USD – con số này mô ̣t phần bắt nguồn từ việc người tiêu dùng phải ở nhà và mua sắm qua mạng do yêu cầu về giãn cách trong đại dịch.
- Mô ̣t thống kê khác tại Hoa Kỳ cho thấy 70% người được khảo sát mua sắm qua mạng nhiều hơn trước đại dịch, trong đó có 36% mua sắm qua mạng nhiều hơn rất nhiều. - Tại Việt Nam, theo Sách trắng Thương mại điện tử năm 2021, tỷ lệ người dùng internet tham gia mua sắm trực tuyến đã tăng từ 77% trong năm 2019 lên 88% trong năm 2020. - Đáp ứng các nhu cầu tiêu dùng của bản thân và gia đình, đồng thời đảm bảo yếu tố an toàn: Trong bối cảnh giãn cách, phong tỏa, gần như “đóng 6 băng” mọi hoạt đô ̣ng thì nhu cầu của người tiêu dùng vẫn hiện hữu, đặc biệt là những nhu cầu cơ bản như ăn, mặc, bảo vệ và nâng cao sức khỏe. Mua sắm qua mạng giúp người tiêu dùng đáp ứng được những nhu cầu này mà vẫn đảm bảo yếu tố an toàn do không phải di chuyển đến nhiều địa điểm mua sắm.
- Tiện lợi, nhanh chóng: Người tiêu dùng không phải xếp hàng chờ đợi như mua sắm truyền thống. Người tiêu dùng chỉ cần ở nhà, lên mạng chọn mua và chờ vâ ̣n chuyển hàng đến nhà. - Tạm thời xoa dịu tâm trạng trong bối cảnh nguy hiểm của đại dịch: Khi việc giãn cách/phong tỏa diễn ra trong thời gian dài, người tiêu dùng dễ rơi vào trạng thái tiêu cực như buồn chán, cô đơn, có xu hướng dễ cáu 4 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 giâ ̣n, bực bô ̣i… mua sắm qua mạng là mô ̣t trong những phương thức giải tỏa tạm thời những cảm xúc này. - Tạo cảm giác “kết nối”: Khi phải thực hiện giãn cách/phong tỏa trong thời gian dài dẫn tới việc không được tiếp xúc với người khác, mua sắm qua mạng giúp tạo cảm giác “kết nối” tới xã hô ̣i thông qua các thông báo đặt hàng, thanh toán, vâ ̣n chuyển được gửi qua tin nhắn/email của người tiêu dùng.
- Chưa hỗ trợ cho nhân viên và chủ cửa hàng thực hiện các nghiệp vụ tốt. - Các nghiệp vụ thường xuyên như nhâ ̣p hàng, xuất hàng, hàng tồn đều chủ yếu làm bằng thủ công, chưa liên quan đến tin học nhiều dẫn đến năng xuất chưa thực sự cao. - Các nghiệp vụ định kỳ như tính doanh thu đều chưa rõ ràng và chính xác tuyệt đối. - Chưa tiết kiệm thời gian trong việc quản lý sản phẩm.
- Không quảng bá rô ̣ng rãi, khiến nhiều khách hàng chưa thể tiếp câ ̣n với số lượng đông đảo 1.3 Kết quả sơ bộ - Làm rõ yêu được yêu cầu về mặt chức năng, phi chức năng của khách hàng. - Nắm rõ cách thức bán hàng. - Nắm rõ sản phẩm, biểu mẫu liên quan. - Đặt ra thời hạn hoàn thành dự án và chuyển giao sản phẩm website.
Các phương pháp và công nghệ thực hiện đề tài - Các phương pháp sử dụng trong đề tài: - Tìm kiếm thông tin. - Đọc hiểu tài liệu. - Ghi chép, phỏng vấn những người có hiểu biết về JavaScript và VueJs - Cài đặt và sử dụng Visual Studio Code và IntelliJ IDEA - Các công nghệ sử dụng trong đề tài: Ngôn ngữ lập trình JavaScript. 5 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 IntelliJ IDEA VueJs Mô hình Client-Server 6 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 CHƯƠNG 2: CỞ SỞ LÝ THUYẾT 2.
Ngôn ngữ lập trình Java 2.1 Khái niệm 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 đó.2 Đặc điểm a) 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. b) Độ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. 7 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 Ở 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. c) 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. Mô tả trình tự biên dịch và thông dịch của Java 8 Downloaded by ANH BACH (bachvan15@gmail.com) lOMoARcPSD|39150642 Ư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. d) Cơ chế thu gom rác 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++, bạn sẽ 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 đó, bạn 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à bạn 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. e) Tính an toàn và bảo mật 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.