Báo cáo Tiểu luận về Lập trình Ứng dụng Bán Giày Thể Thao trên Thiết Bị Di Động ở Thị Trường Nội Địa

MỤC LỤC

Phạm vi đề tài Phạm Vi Không Gian

Khu vực nghiên cứu: Đề tài sẽ tập trung vào thị trường nội địa, cụ thể là tại một quốc gia nhất định. Đối tượng người dùng: Ứng dụng sẽ phục vụ cho người tiêu dùng trong nước, đặc biệt là những người có nhu cầu mua sắm đồ thể thao trực tuyến. Thời gian thực hiện: Đề tài dự kiến được thực hiện trong khoảng thời gian 3 tháng.

Thời gian sử dụng ứng dụng: Ứng dụng được thiết kế để sử dụng lâu dài, với khả năng cập nhật và nâng cấp tính năng theo yêu cầu và phản hồi của người dùng. Phát triển ứng dụng di động: Sử dụng Android Studio làm công cụ phát triển chính, ngôn ngữ lập trình Java hoặc Kotlin, và các công nghệ liên quan đến phát triển ứng dụng di động.Cơ sở dữ liệu: Sử dụng SQLite hoặc Firebase để lưu trữ dữ liệu sản phẩm, người dùng và đơn hàng.Giao diện người dùng: Thiết kế giao diện người dùng (UI) và trải nghiệm người dùng (UX) tối ưu cho thiết bị di động. Lĩnh vực thương mại điện tử:Sản phẩm thể thao: Tập trung vào việc cung cấp thông tin và bán các sản phẩm thể thao như quần áo, giày dép, dụng cụ tập luyện.

CƠ SỞ LÝ THUYẾT

Android Studio

  • Điểm mạnh và điểm yếu

    Android Studio là một môi trường tích hợp phát triển (Integrated Development Environment – IDE) được phát triển bởi Google dành cho việc phát triển ứng dụng trên nền tảng Android. Nó cung cấp một loạt các công cụ và tính năng để giúp nhà phát triển xây dựng và triển khai ứng dụng Android một cách dễ dàng. Công cụ này cung cấp một giao diện trực quan và các trình biên dịch, trình gỡ lỗi, trình tạo giao diện người dùng, trình quản lý phiên bản và nhiều công cụ khác.

    Gradle cho phép bạn quản lý phụ thuộc, xây dựng, kiểm thử và đóng gói ứng dụng Android một cách linh hoạt và hiệu quả. Hỗ trợ Kotlin: Android Studio không chỉ hỗ trợ Java mà còn tích hợp sâu sắc với Kotlin, ngôn ngữ lập trình hiện đại và an toàn được Google ưu ái sử dụng cho phát triển Android. Android Jetpack: Bộ công cụ và thư viện hỗ trợ giúp nhà phát triển xây dựng ứng dụng Android hiện đại, linh hoạt và dễ bảo trì hơn.

    Hỗ trợ mở rộng và tích hợp: Android Studio cung cấp các công cụ để quản lý dự án, kiểm thử và triển khai ứng dụng trên nhiều thiết bị khác nhau, đồng thời tích hợp sâu rộng với các dịch vụ của Google như Firebase, Google Cloud Platform để phát triển và quản lý ứng dụng một cách hiệu quả. Hỗ trợ toàn diện cho phát triển Android: Android Studio là một IDE được thiết kế đặc biệt cho phát triển ứng dụng Android. Nó cung cấp các công cụ mạnh mẽ để thiết kế giao diện người dùng, lập trình ứng dụng, quản lý dự án, và kiểm thử ứng dụng trên nền tảng Android.

    Tích hợp sâu rộng với các công nghệ của Google:Android Studio tích hợp sâu rộng với các công nghệ và dịch vụ của Google như Firebase, Google Cloud Platform,. Google Play Services, giúp nhà phát triển dễ dàng tích hợp các tính năng như lưu trữ dữ liệu, phân tích dữ liệu, định vị, quản lý người dùng và triển khai ứng dụng trên đám mây. Hỗ trợ nhiều ngôn ngữ lập trình:Android Studio không chỉ hỗ trợ Java mà còn tích hợp sâu sắc với Kotlin - ngôn ngữ lập trình hiện đại được Google khuyến khích sử dụng cho phát triển ứng dụng Android.

    Cập nhật và hỗ trợ liên tục từ Google: Android Studio luôn nhận được sự cập nhật và hỗ trợ từ Google, với các phiên bản mới liên tục cải tiến về hiệu suất, tính năng và bảo mật, đồng thời hỗ trợ những công nghệ mới nhất của Android. Yêu cầu tài nguyên máy tính khá cao: Android Studio yêu cầu một máy tính có cấu hình tương đối cao để có thể chạy mượt mà và hiệu quả. Vấn đề tương thích và bug:Như mọi phần mềm khác, Android Studio cũng có thể gặp phải vấn đề về tương thích và bug trong quá trình sử dụng.

    Java

    • Khái niệm

      Điều này cho phép nhà phát triển lựa chọn ngôn ngữ phù hợp nhất với nhu cầu và kỹ năng của mình. Việc cập nhật và sử dụng phiên bản mới nhất thường giúp giảm thiểu những vấn đề này. Java vẫn là một trong những ngôn ngữ lập trình phổ biến nhất và được sử dụng rộng rãi trong các lĩnh vực khác nhau như phát triển ứng dụng di động (Android development), phát triển phần mềm máy tính, dịch vụ web, máy chủ ứng dụng, và nhiều hệ thống nhúng khác.Java tiếp tục được duy trì và phát triển bởi Oracle Corporation, sau khi họ mua lại Sun Microsystems vào năm 2010.

      Java là một ngôn ngữ lập trình được thiết kế để có tính đơn giản, hiệu quả và có khả năng mở rộng. Nó hỗ trợ nhiều tính năng như hướng đối tượng, đa luồng (multithreading), xử lý ngoại lệ (exception handling), và tự động quản lý bộ nhớ (garbage collection). Java được phát triển với mục đích là có thể chạy trên nhiều nền tảng khác nhau mà không cần phải biên dịch lại mã nguồn.

      Điều này là nhờ vào việc sử dụng máy ảo Java (Java Virtual Machine - JVM), mà mã nguồn Java được biên dịch thành mã bytecode có thể chạy trên bất kỳ JVM nào. Đa nền tảng (Platform Independence): Mã nguồn Java được biên dịch thành bytecode, có thể chạy trên bất kỳ JVM nào mà không cần phải biên dịch lại từng nền tảng. Điều này giúp Java phát triển ứng dụng một lần và chạy trên nhiều hệ điều hành và môi trường khác nhau mà không cần sửa đổi mã nguồn.

      Hướng đối tượng (Object-Oriented): Java hỗ trợ lập trình hướng đối tượng mạnh mẽ với các khái niệm như class, object, inheritance, encapsulation, và polymorphism. Bảo mật cao: Java có các cơ chế bảo mật tích hợp như kiểm soát quyền truy cập (Access Control), kiểm tra kiểu tại thời điểm chạy (Runtime Type Checking), và mô. Điều này giúp ngăn chặn các lỗ hổng bảo mật và các cuộc tấn công từ phía bên ngoài.

      Công cụ và framework phát triển: Java có các công cụ phát triển mạnh mẽ như Eclipse, IntelliJ IDEA, NetBeans và Android Studio, cùng với các framework như Spring, Hibernate, và Apache Commons, giúp tăng tốc quá trình phát triển và cải thiện hiệu suất ứng dụng. Cú pháp phức tạp: Cú pháp của Java có thể phức tạp hơn so với một số ngôn ngữ khác, đặc biệt là trong việc xử lý các ngoại lệ và kiểm soát quyền truy cập. Độ trễ (Latency): Do JVM phải dịch bytecode thành mã máy khi chạy, ứng dụng Java có thể có độ trễ khi khởi động ban đầu so với các ứng dụng được biên dịch sẵn.

      Hình 2.2:Hình ảnh minh hoạ ngôn ngữ Java
      Hình 2.2:Hình ảnh minh hoạ ngôn ngữ Java

      SQLite

      • Điểm mạnh và điểm yếu

        Nhẹ và nhanh:SQLite được thiết kế để sử dụng ít tài nguyên hệ thống. Nó rất nhẹ và nhanh, phù hợp cho các ứng dụng nhúng và di động. Không cần cài đặt và cấu hình:Không cần phải cài đặt hay cấu hình một máy chủ cơ sở dữ liệu.

        Đơn giản và dễ sử dụng:SQLite có giao diện lập trình đơn giản và dễ sử dụng. Các ứng dụng có thể dễ dàng tích hợp SQLite mà không cần phải có kiến thức chuyên sâu về quản trị cơ sở dữ liệu. Giới hạn về tính năng: Mặc dù SQLite hỗ trợ nhiều tính năng của SQL chuẩn, nhưng nó vẫn thiếu một số tính năng cao cấp như stored procedures, triggers phức tạp, và quản lý quyền truy cập chi tiết.

        Bảo mật: SQLite không cung cấp nhiều tính năng bảo mật như các hệ quản trị cơ sở dữ liệu máy chủ khác. Việc bảo mật cơ sở dữ liệu thường phải được quản lý ở mức ứng dụng.

        PHÂN TÍCH HỆ THỐNG VÀ XÂY DỰNG SẢN PHẨM