CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI 1. Giới thiệu đề tài Bán hàng trực tuyến hiện nay đang được coi là một trong những chiến lược kinh doanh cực kỳ hiệu quả đối với các cửa hàng doanh nghiệp kinh doanh và đặc biệt là xây dựng ứng dụng kết hợp với các trang mạng xã hội đang phát đã đem lại rất thành công cho nhiều doanh nghiệp và cửa hàng đặc biệt là trong mùa dịch Covid 19 đang diễn biến hết sức phức tạp, cho nên nhu cầu mua sắm online càng nhiều. Đã có rất nhiều ngôn ngữ, Framework xây dựng hệ thống bán hàng trực tuyến rất thuận tiện và thành công và đã thu lại một nguồn lợi nhuận rất lớn ví dụ như các cửa hàng Shopee, Lazada… họ đã rất thành công với việc bán hàng từ hệ thống ứng dụng trên nền tảng mobile app.
Bên cạnh những lợi ích từ việc xây dựng hệ thống ứng dụng bán hàng thì cũng gặp không ít khó khăn trong việc chọn ngôn ngữ, Framework để xây dựng hệ thống để đáp ứng đầy đủ nhu cầu của người kinh doanh và khách hàng tìm kiếm thông tin. Do đó em chọn đề tài xây dựng hệ thống Ứng dụng siêu thị online bằng Android Studio và cơ sở dữ liệu Firebase có thể phần nào giúp các cửa hàng trình bày sản phẩm và thông tin về của hàng công ty của mình, và giúp cho khách hàng có thể có nhu cầu tìm kiếm thông tin sản phẩm và đặt hàng online một cách dễ dàng. Mục đích đề tài Xây dựng hệ thống Ứng dụng mobile trình bày sản phẩm, tin tức, giới thiệu, thông tin chi tiết cho từng sản phẩm, tin tức, và có thể quản lý sản phẩm, tin tức, các module, một cách thuận tiện và thân thiện với người dùng nhất. Nghiên cứu và đưa một số công nghệ vào hệ thống ứng dụng mobile , quản lý chặt chẽ các sản phẩm, tin tức cũng như vấn đề về bảo mật, giúp khách hàng có thể dễ dàng tìm kiếm thông tin và một giao diện đẹp nhất.
Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu: +Java +Android Studio +FireBase 1 - Phạm vi nghiên cứu đối với Shop các hoạt động liên quan đến bán hàng qua ứng dụng mobile +Hiển thị và quản lý thông tin sản phẩm +Quản lý đơn hàng +Quản lý sản phẩm +Quản lý slider +Quản lý giao diện ứng dụng 1. Ý nghĩa đề tài Với việc xây dựng được một ứng dụng siêu thị trực tuyến sẽ giúp ích được nhiều cho các chủ cửa hàng vừa và nhỏ có thể quản lý được các sản phẩm của mình khi thống kê và giao dịch, công việc sẽ được rút ngắn xuống. Có thể đặt mua hàng mà không phải đến trực tiếp. Android Studio Android Studio là IDE chính thức được sử dụng trong phát triển ứng dụng Android dựa trên ItenlliJ IDEA.
Chức năng chính của Android Studio là cung cấp các giao diện giúp người dùng có thể tạo các ứng dụng và xử lý các công cụ file phức tạp sau hậu trường.Ngôn ngữ lập trình được sử dụng trong Android Studio là Java và nó sẽ được cài sẵn trên thiết bị của bạn. Khi sử dụng Android Studio thì bạn chỉ cần viết, chỉnh sửa và lưu trữ chúng trên các dự án của mình và các file nằm trong dự án đó. Đồng thời, Android Studio còn cung cấp quyền truy cập vào Android SDK Ngoài ra, Android Studio là đuôi cho code Java cho phép nó chạy trơn tru trên các thiết bị Android rồi tận dụng được lợi thế của phần cứng gốc. Chỉ cần sử dụng ngôn ngữ lập trình Java để có thể viết chương trình, khi đó Android SDK sẽ có nhiệm vụ kết nối các thành phần này lại với nhau.
Khi đó, Android Studio sẽ kích hoạt để thực hiện chạy code và thông qua trình giả lập hoặc dựa vào bất kỳ phần cứng giúp kết nối với các thiết bị. Sau đó, bạn có thể gỡ rối cho các chương trình khi nó chạy và nhận phản hồi giúp giải thích các sự cố,. 2 Cho đến nay, Google đã và đang rất nỗ lực để giúp cho Android Studio sẽ trở nên mạnh mẽ và hữu ích hơn. Khi gõ code, nó sẽ giúp bạn cung cấp danh sách gợi ý hoàn thành để giúp người dùng có thể hoàn thiện được dòng code đó.
Đây là một trong những chức năng rất hữu ích đề phòng cho trường hợp không nhớ chính xác cú pháp tiết kiệm thời gian hiệu quả hơn. Java Java là một ngôn ngữ lập trình có mục đích chung và hướng đối tượng được phát triển cho môi trường phân tán và phát triển cho các thiết bị điện tử tiêu dùng như TV, VCR,… Ngôn ngữ lập trình Java là một ngôn ngữ độc lập với nền tảng, có nghĩa là không giới hạn đối với bất kỳ phần cứng hoặc hệ điều hành cụ thể nào. Nó cung cấp cho người dùng cơ sở để ‘viết một lần, chạy ở moị nơi’. Java là một ngôn ngữ đồng thời, dựa trên lớp và hướng đối tượng.
Nó có thể truy cập miễn phí và chúng có thể chạy trên tất cả nền tảng hoặc hệ điều hành. Java rất đơn giản và dễ học. Các tính năng của Java: +Đơn giản +Hướng đối tượng +Không phụ thuộc vào nền tảng +Di động +Mạnh mẽ +Bảo mật +Đa luồng và tương tác +Kiến trúc và môi trường của Java +JVM (Máy ảo Java) +JRE (Môi trường thời gian chạy Java) +JDK (Bộ phát triển Java) Ưu nhược điểm của Java Ưu điểm của Java: +Nó là một ngôn ngữ độc lập với nền tảng vì chúng ta có thể chạy mã Java trên bất kỳ máy nào mà không cần bất kỳ phần mềm đặc biệt nào. 3 +Nó là một ngôn ngữ an toàn và lý do đằng sau an toàn là con trỏ, Java không sử dụng con trỏ.
+Nó hỗ trợ đa luồng, chúng ta có thể thực hiện đồng thời nhiều chương trình. +Java là một ngôn ngữ mạnh mẽ vì nó có nhiều tính năng như tự động thu gom rác, không sử dụng con trỏ rõ ràng, xử lý ngoại lệ, v. +Java là một ngôn ngữ lập trình cấp cao giúp dễ học và dễ hiểu. +Nó cung cấp khả năng quản lý bộ nhớ hiệu quả.
Nhược điểm của Java: +Java là một ngôn ngữ cấp cao. Do đó Java phải xử lý các mức biên dịch và trừu tượng của một máy ảo. +Java thể hiện hiệu suất kém vì bộ thu gom rác, cấu hình bộ nhớ đệm sai và bế tắc giữa các quy trình. +Java có rất ít trình xây dựng GUI (Giao diện người dùng đồ hoạ) như Swing, SWT, JSF và JavaFX.
+Cuối cùng chúng ta có thể viết những đoạn mã dài và phức tạp nếu chúng ta cố gắng thực hiện một tập hợp các hoạt động đơn giản. Điều này ảnh hưởng đến khả năng đọc của mã 1.3 Mô hình MVC MVC là viết tắt của cụm từ “Model-View-Controller“. Đây là mô hình thiết kế sử dụng trong kỹ thuật phần mềm. MVC là một mẫu kiến trúc phần mềm để tạo lập giao diện người dùng trên máy tính.
MVC chia thành ba phần được kết nối với nhau như tên gọi: Model (dữ liệu), View (giao diện) và Controller (bộ điều khiển). Đơn giản hơn, là mô hình này được chia thành 3 phần trong soure code. Và mỗi phần đảm nhận vai trò và nhiệm vụ riêng biệt nhau và độc lập.1: Mô hình MVC Mô hình MVC (MVC pattern) thường được dùng để phát triển giao diện người dùng. Nó cung cấp các thành phần cơ bản để thiết kế một chương trình cho máy tính hoặc điện thoại di động, cũng như là các ứng dụng web.
Đã tìm hiểu mô hình MVC là gì? Dưới đây mình sẽ đi sâu và giải thích từng thành phần trong mô hình.2: Giải thích mô hình MVC Mô hình MVC gồm 3 loại chính là thành phần bên trong không thể thiếu khi áp dụng mô hình này: Model: Là bộ phận có chức năng lưu trữ toàn bộ dữ liệu của ứng dụng và là cầu nối giữa 2 thành phần bên dưới là View và Controller. Một model là dữ liệu được sử dụng bởi chương trình. Đây có thể là cơ sở dữ liệu, hoặc file XML bình thường hay một đối tượng đơn giản. Chẳng hạn như biểu tượng hay là một nhân vật trong game.
View: Đây là phần giao diện (theme) dành cho người sử dụng. View là phương tiện hiển thị các đối tượng trong một ứng dụng. Chẳng hạn như hiển thị một cửa sổ, nút hay văn bản trong một cửa sổ khác. Nó bao gồm bất cứ thứ gì mà người dùng có thể nhìn thấy được.
Controller: Là bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua View. Một controller bao gồm cả Model lẫn View. Nó nhận input và thực hiện các update tương ứng. 6 Lịch sử của MVC MVC được tiến sĩ Trygve Reenskaug đưa vào ngôn ngữ lập trình Smalltalk-76 khi ông đến trung tâm Nghiên cứu Xerox Palo Alto (PARC) vào giữa năm 1970.
Sau đó, việc triển khai trở nên phổ biến trong các phiên bản khác của Small- Talk. Năm 1988, các bài báo “The Journal of Object Technology” – JOT mang lại bước tranh toàn cảnh về MVC mang liệu sự hiệu quả tốt nhất. Luồng xử lý trong MVC Luồng xử lý trong của mô hình MVC, bạn có thể hình dung cụ thể và chi tiết qua từng bước dưới đây: Khi một yêu cầu của từ máy khách (Client) gửi đến Server. Thì bị Controller trong MVC chặn lại để xem đó là URL request hay sự kiện.
Sau đó, Controller xử lý input của user rồi giao tiếp với Model trong MVC. Model chuẩn bị data và gửi lại cho Controller. Cuối cùng, khi xử lý xong yêu cầu thì Controller gửi dữ liệu trở lại View và hiển thị cho người dùng trên trình duyệt.3: Cách hoạt động mô hình MVC Ở đây, View không giao tiếp trực tiếp với Model. Sự tương tác giữa View và Model sẽ chỉ được xử lý bởi Controller.
Ưu và nhược điểm của MVC Ưu điểm mô hình MVC 7 Đầu tiên, nhắc tới ưu điểm mô hình MVC thì đó là băng thông (Bandwidth) nhẹ vì không sử dụng viewstate nên khá tiết kiệm băng thông. Việc giảm băng thông giúp website hoạt động ổn định hơn. Kiểm tra đơn giản và dễ dàng, kiểm tra lỗi phần mềm trước khi bàn giao lại cho người dùng. Một lợi thế chính của MVC là nó tách biệt các phần Model, Controller và View với nhau.
Sử dụng mô hình MVC chức năng Controller có vai trò quan trọng và tối ưu trên các nền tảng ngôn ngữ khác nhau. Ta có thể dễ dàng duy trì ứng dụng vì chúng được tách biệt với nhau. Có thể chia nhiều developer làm việc cùng một lúc. Công việc của các developer sẽ không ảnh hưởng đến nhau.
Hỗ trợ TTD (test-driven development). Chúng ta có thể tạo một ứng dụng với unit test và viết các won test case.