CHƯƠNG 1. Giới Thiệu Về Đề Tài E-Shop được xây dựng cho khách hàng là những người có đam mê mua sắm đồ ăn cũng như hướng đến các đối tượng như học sinh, sinh viên và nhân viên văn phòng. Nhất là khi trong thời điểm hiện nay tình hình dịch bệnh đang diễn biến căng thẳng đã khiến cho nhiều người phải ở tại nhà làm việc và học tập. Và E-Shop đã được cho ra đời với mục đích mang những dịch vụ mua sắm.
Nhiệm Vụ Đồ Án Vì tình hình dịch bệnh diễn ra ngoài xã hội đang diễn ra căng thẳng mọi người đều phải ở yên trong nhà dẫn đến nhu cầu được giải trí cũng như học tập và làm việc tại nhà cũng trở nên khó khăn khi không có các trang thiết bị công nghệ. Do đó dự án E-Shop được xây dựng nên để đáp ứng các nhu cầu mua sắm các trang thiết bị công nghệ mà không cần đến trực tiếp. Khách hàng chỉ cần ở nhà thực hiện truy cập vào ứng dụng và thực hiện chọn lựa và đặt hàng sau đó sản phẩm sẽ được giao đến tận nhà. Công việc Tìm hiểu và phát triển ứng dụng mua sắm đồ điện tử Phát triển ứng dụng mua sắm đồ điện tử.
Áp dụng các kiến thức đã được học tại trường như: Cơ sở dữ liệu, phân tích thiết kế hệ thống thông tin và lập trình trên android studio để xây đựng một ứng dụng mua sắm đồ điện tử 2. Mục đích và mục tiêu Vận dụng các kiến thức đã học vào thực tiễn. Tạo ra một ứng dụng có thể đưa vào sử dụng trong thực tế. Cấu Trúc Đồ Án Cấu trúc đồ án gồm có 5 phần lần lượt là: Tổng quan, Cơ sở lý thuyết, Phân tích thiết kế, Kết quả thực nghiệm, Kết luận và kiến nghị.
5 Tổng quan: Ở phần tổng quan chúng em giới thiệu và trình bày sơ lược về lý do cũng như mục tiêu để hình thành và thực hiện đồ án cũng như các chức năng tiêu biểu cho người dùng. Cơ sở lý thuyết: Ở đây chúng xem trình bày về các khái niệm và phương pháp giải quyết vấn đề được dùng trong ứng dụng cũng như các công nghệ, hệ thống và các bên được liên kết với ứng dụng được chúng em sự dụng. Phân tích thiết kế: Phần này chúng nói về các UML như: Use case, ERD, Class Diagram chung của đồ án và các Activity Diagram, Sequence Diagram của từng chức năng của ứng dụng. Kết quả thực nghiệm: Đến đây chúng em sẽ nói về tính thực nghiệm của ứng dụng, cũng như kết quả thực nghiệm và kết quả thực tế đã đạt được của ứng dụng.
Kết luận và kiến nghị: Chúng em nêu những kết luận chung về quá trình thực hiện đồ án, khẳng định những kết quả đạt được, cũng như hạn chế đang mắc phải và hướng phát triển của ứng dụng trong tương lai. CƠ SỞ LÝ THUYẾT Với tất cả vốn kiến thức chúng em đã được học từ trường lớp và các thầy cô. Trải qua nhiều lần thảo luận chúng em quyết định thực hiện dự án Ứng dụng mua sắm đồ điện tử E-Shop bằng Android Studio dựa trên mô hình MVP và Cơ sở dữ liệu Firebase. 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 IntelliJ 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 đặt sẵn trên thiết bị của bạn. Mô hình MVP trong Android giúp tách tầng trình diễn ra khỏi tầng dữ liệu, việc sử dụng MVP Pattern sẽ giúp dễ dàng mở rộng một cách nhanh chóng, dễ dàng bảo trì và dễ dàng kiểm thử ứng dụng. Mô hình mvp gồm 3 thành phần chính: Model: phụ trách xử lý tầng dữ liệu có thể là các thực thể (Entities), API Services, SQLite, SharedPreferences, Realm Database, helpers… View: phụ trách trình bày cách dữ liệu hiển thị, tiếp nhận tương tác từ người dùng sau đó gọi đến Presenter xử lý tương tác.
Presenter: phụ trách tiếp nhận các yêu cầu từ View sau gọi sự kiện xử lý tương ứng, có thể sẽ lấy dữ liệu từ Model và cuối cùng đẩy dữ liệu cho View hiển thị. Firebase là một dịch vụ database dựa trên nền tảng đám mây – cloud, cùng với đó là hệ thống server cực kỳ mạnh mẽ của Google. Firebase là một nền tảng do Google mang lại, nhằm hỗ trợ việc tạo ra các trang Web App, Mobile App chất lượng cao. Chức năng chính là giúp người dùng lập trình ứng dụng bằng việc đơn giản hóa các bước thực hành với cơ sở dữ liệu.
Cụ thể là những giao diện lập trình ứng dụng API dễ dàng. Đáng chú ý, còn là một dịch vụ rất đa năng và tính bảo mật cực kỳ tốt. Firebase hỗ trợ cả hai nền tảng Android và IOS. 7 Chúng em lựa chọn Android Studio bởi vì tính tiện dụng mà nó mang lại như cho phép người dùng tạo ứng dụng, dễ dàng thực hiện các thay đổi xem trước.
Còn với Cơ sở dữ liệu Firebase thì người dùng đơn giản hóa quá trình thực hiện cơ sở dữ liệu cho ứng dụng. 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 E-Shop đã 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 cho khách hàng. Đăng ký bằng tài khoản google để đăng nhập.
Chi tiết sản phẩm. Quản lý giỏ hàng. Cập nhật thông tin cá nhân. Xem danh mục sản phẩm.
Liên kết app và google map. Liên kết với MoMo. Danh sách sản phẩm nổi bật. Thống kê đơn hàng.
Actors Và Use Case 2. Các Use Case Diagram Hình 3. Mô Tả Actors STT Tên Actor Mô Tả 1 Khách Hàng Khách hàng truy cập vào ứng dụng để chọn và đặt mua các sản 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, … Bảng 3.
Mô Tả Use Cases STT Code Name Mô 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 phẩm Cho phép khách hàng tìm kiếm sản phẩm trong danh sách sản phẩm của cửa hàng. 4 UC04 Thêm giỏ hàng Cho phép khách hàng thêm sản phẩm vào giỏ 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 Quản Lý Hóa Đơn Admin quản lý các đơn hàng và xử lý các trang thái của chúng. 7 UC07 Xem Danh Mục Sản Xem và phân loại sản phẩm. UC01: Đăng Nhập Dành cho khách hàng.3 Dành cho admin.5 12 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-Condition(s): Tài khoản của khách hàng và admin đã được cấp phép sử dụng. Tài khoản của khách hàng và admin đã được xác minh. Thiết bị cần được kết nối vào internet khi đăng nhập.
Post-Condition(s): Người dùng đăng nhập thất bại. Sẽ xuất hiện thông báo đăng nhập thất bại (Hình 3. Đăng nhập thành công sẽ vào thẳng màn hình chính (Hình 3.1 13 Activities Actor System Main Flow: Đăng nhập thành công 1 Nhập thông tin đăng nhập (Hình 3. 2 Nhấn nút đăng nhập (Hình 3.4) 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 (Hình 3.2 System Message MS01 Sai tài khoản/ mật khẩu! (Hình 3.2) MS02 Hãy vào gmail để xác thực! Bảng 3.3 14 Activity Diagram Hình 3.6 15 Sequence Diagram Hình 3. UC02: Đăng Ký Hình 3.3 Use Case Description Use case name: Đăng Ký Use case ID: UC02 Actor(s): Khách Hàng Description: Khách hàng cần phải đăng ký để sử dụng chức năng của ứng dụng. Trigger: Khách hàng thực hiện đăng ký, nhấn vào nút Đăng Ký.
Pro-Condition(s): Tài khoản khách hàng chưa được cấp. Khách hàng cần có gmail để đăng ký. Thiết bị cần được kết nối vào internet để đăng ký. 17 Post-Condition(s): Khách hàng đăng ký thành công.
Chuyển sang giao diện chính (Hình 3. Hiển thị yêu cầu lưu mật khẩu (Hình 3.1 Activities Actor System Main Flow: Đăng ký thành công. 1 Nhập thông tin đăng ký (Hình 3.1) 2 Nhấn nút Đăng Ký (Hình 3. 3 Validation xác thực tài khoản.
4 Thông báo khách hàng nếu mật khẩu xác nhận lại không giống mật khẩu chính (Hình 3. 5 Các thông tin đăng ký hợp lệ. 6 Vào Gmail xác thực tài khoản. 7 Chuyển người dùng đến giao diện chính của ứng dụng (Hình 3.2 18 System Message MS01 Mật khẩu không khớp! (Hình 3.2) MS02 Email đã được đăng ký! MS03 Hãy vào gmail để xác thực tài khoản của bạn! Bảng 3.3 Activity Diagram Hình 3.4 19 Sequence Diagram Hình 3.
UC03: Tìm kiếm sản phẩm Hình 3.3 Use Case Description Use case name: Tìm Kiếm Sản Phẩm Use case ID: UC03 Actor(s): Khách Hàng Description: Khách hàng cần tìm kiếm sản phẩm trong ứng dụng của shop. Trigger: Khách hàng nhấn vào thanh tìm kiếm. Pro-Condition(s): Đã đăng nhập trên ứng dụng. Khách hàng đang trên giao diện chính.
Thiết bị cần có kết nối internet. Khách hàng nhấn vào thanh tìm kiếm. Post-Condition(s): Hiển thị sản phẩm khi tìm kiếm thành công (Hình 3.1 21 Activities Actor System Main Flow: Tìm kiếm thành công 1 Nhấn vào thanh tìm kiếm (Hình 3. 2 Nhập tên sản phẩm (Hình 3.
3 Thực hiện truy vấn dữ liệu từ bảng Sản Phẩm dựa theo tên sản phẩm khách hàng nhập vào. 4 Nhấn vào nút tìm kiếm. 5 Hiển thị sản phẩm (Hình 3.2 Activity Diagram Hình 3.4 22 Sequence Diagram Hình 3. UC04: Thêm giỏ hàng Hình 3.2 Use Case Description Use case name: Thêm giỏ hàng.
Use case ID: UC04 Actor(s): Khách Hàng. Description: Khách hàng thêm sản phẩm vào giỏ hàng. Trigger: Nhấn vào nút Thêm Vào Giỏ Hàng trong phần chi tiết sản phẩm. Pro-Condition(s): Đã đăng nhập vào ứng dụng.
Khách hàng cần phải vào chi tiết sản phẩm để thêm giỏ hàng. 24 Thiết bị cần có kết nối internet. Post-Condition(s): Thêm sản phẩm vào giỏ hàng. Hiển thị thông báo thêm giỏ hàng thành công (Hình 3.1 Activities Actor System Main Flow: Thêm vào giỏ hàng thành công.
1 Nhấn nút thêm vào giỏ hàng. 2 Lưu thông tin sản phẩm vào trong giỏ hàng. 3 Hiển thị thông báo đã thêm thành công (Hình 3.2 System Message MS01 Thêm sản phẩm vào giỏ hàng thành công! (Hình 3.3 25 Activity Diagram Hình 3.