1. Trang chủ
  2. » Luận Văn - Báo Cáo

đề tài tìm hiểu kỹ năng lập trình android và xây dựng ứng dụng siêu thị trực tuyến

39 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu kỹ năng lập trình Android và xây dựng ứng dụng siêu thị trực tuyến
Tác giả Phạm Minh Đức, Trần Duy Hưng
Người hướng dẫn T.S Trần Trung
Trường học Đại học Kiến trúc Hà Nội
Chuyên ngành Phát triển phần mềm hướng dịch vụ
Thể loại Báo cáo
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 39
Dung lượng 6,54 MB

Cấu trúc

  • 1.3. Ngôn ngữ Dart (12)
  • 1.4. Framework Flutter (13)
    • 1.4.1. Flutter là gì?.............................................................................................. 1.4.2. Tại sao Flutter lại được yêu thích bởi các lập trình viên?.................... 1.4.4. Flutter cho Mobile App........................................................................... 1.5. Node js (13)
  • 1.6. Strapi (19)
    • 1.6.1. Giới thiệu Strapi....................................................................................... 1.6.2. Các tính năng nổi bật của Strapi............................................................ 1.7. Postman (20)
    • 1.7.1. Postman là gì ?.......................................................................................... 1.7.2. Ứng dụng của Postman............................................................................ 1.7.3. Cài đặt Postman....................................................................................... CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ CHƯƠNG TRÌNH...................... 2.1. Ý tưởng thiết kế (21)
  • 2.2 Biểu đồ Use-case (24)
    • 2.2.1 Use-case đăng ký (24)
    • 2.2.2 Usecase đăng nhập (25)
    • 2.2.4 Usecase đặt hàng (26)
  • 2.3 Biểu đồ tuần tự.............................................................................................25 .1 Chức năng đăng nhập............................................................................... .2. Chức năng đăng ký.................................................................................. .3. Chức năng tìm kiếm sản phẩm............................................................... .4. Chức năng đặt hàng (27)
  • 2.4 Kiến trúc REST API (29)
    • 2.4.1 Mô hình kiến trúc (29)
    • 2.4.2 Đặc tả kiến trúc (30)
    • 2.4.3 Rest API hoạt động như thế nào ? (30)
    • 2.4.4 Status code (31)
    • 2.4.5 Kiến trúc mô hình MVC (32)
    • 2.4.6 Luồng xử lý phần mềm áp dụng mô hình MVC..................................... CHƯƠNG 3: CHƯƠNG TRÌNH THỰC NGHIỆM........................................... 3.1. Kết quả đạt được (32)
  • 3.2. Một số chức năng chính của ứng dụng (34)
  • 3.3. Điều chỉnh và định hướng phát triển (38)
  • PHẦN III: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN......................................... 1. Kết luận (39)
    • 2. Định hướng phát triển...................................................................................37 DANH MỤC TÀI LIỆU THAM KHẢO (39)

Nội dung

Dart được sử dụng để xây dựng các loại ứng dụ ng: web, server, di động IOS và Android với công cụ Flutter.Dart là ngôn ngữ hỗ trợ lập trình hướng đối tượng, cú pháp kiểu C, mã code Dart

Ngôn ngữ Dart

Hình 1.3.1 Logo của ngôn ngữ Dart

Dart là ngôn ngữ lập trình mới, được phát triển bởi Google, hiện đã được chấp thuận bởi tổ chức Ecma Dart được sử dụng để xây dựng các loại ứng dụ ng: web, server, di động (IOS và Android với công cụ Flutter).

Dart là ngôn ngữ hỗ trợ lập trình hướng đối tượng, cú pháp kiểu C, mã code Dart có thể biên dịch thành JavaSript để chạy trên trình duyệt Nó hỗ trợ những khái niệm lập trình hiện đại như giao diện lớp, lớp trừu tượng

Từ ngôn ngữ lập trình Dart, Google giới thiệu SDK Futter để sử dụng ngôn ngữ Dart phát triển ứng dụng di động chạy đa nền tảng (Một lần viết code build ra ứng dụng cho ISO và Android).

Trong Flutter, tất cả các ứng dụng đều được tạo bằng Dart Vì vậy, Dart là một ngôn ngữ hướng đối tượng ( OOP) được tạo và duy trì bởi Google Nó thường được sử dụng trong Google, nó đã được chứng minh là có khả năng tạo ra ứng dụng web khổng lồ, chẳng hạn như AdWords Dart ban đầu được tạo ra để thay thế và kế thừa của Java Script Sau đó, nó hiện thực hóa phần lớn các thuộc tính quan trọng của Java Tiêu chuẩn tiếp theo của tập lệnh (ví dụ: từ khóa "async" và "wait").

Tuy nhiên, để thu hút các nhà thiết kế tò mò về nội dung của Java, Dart có một cấu trúc ngôn ngữ giống như Java Giống như các Framework khác Flutter sử dụng các bối cảnh đáp ứng nhanh (responsive perspectives).

Dart, với tư cách là một mã lập trình nâng cao, được nâng cấp để giải quyết tình huống này trong tiêu chuẩn bộ nhớ với sự hỗ trợ của "Generational Waste Accumulation”

Dart là một mã lập trình mà tôi sẽ sử dụng để xây dựng ứng dụng của mình trong Flutter Nghiên cứu nó không phải là rất khó nếu chúng tôi có liên quan đến nội dung java Chúng tôi sẽ nhanh chóng lấy nó Dart là ngôn ngữ nâng cao của khách hàng dành cho các ứng dụng nhanh ở bất kỳ giai đoạn nào do Google thực hiện Cấp trên và hiệu quả trong Flutter được thực hiện bằng cách sử dụng một vài quy trình:

Không giống như nhiều nền tảng linh hoạt phổ biến khác, Flutter không sử dụng java nội dung nào cả Dart là mã hóa Nó lắp ráp thành mã song song và đó là lý do tiếp tục chạy với việc thực thi cục bộ java mục tiêu, nhanh chóng, C.Flutter không sử dụng các phần giao diện người dùng cục bộ Điều đó thoạt nghe có vẻ vụng về và thiếu sót Trong bất kỳ trường hợp nào,vì các phân đoạn được thực thi trong chính Flutter, nên không có sự tương ứng giữa lớp và mật mã Do đó, các trò chơi đạt hiệu suất tốt nhất cho các hình minh họa của chúng ngoài ô điện thoại, So catch, nội dung, các thành phần media, nền tảng đều được thiết kế bởi Flutter động cơ.

Framework Flutter

Flutter là gì? 1.4.2 Tại sao Flutter lại được yêu thích bởi các lập trình viên? 1.4.4 Flutter cho Mobile App 1.5 Node js

Hình 1.4.1 Logo của Framework Flutter

Flutter là 1 framework dành cho việc lập trình di động Cross-Platform, nó giúp các lập trình viên có thể tạo ra các ứng dụng chạy trên nhiều nền tảng như Web, Android, iOS (hiện tại và dự định tương lai Flutter còn có thể build được ứng dụng chạy trên cả Window, MacOS và Linux nữa)

Flutter được tạo ra bởi ông lớn Google và được cho ra mắt vào năm 2017, đến nay Flutter được cho phát hành phiên bản mới nhất 3.1.0 vào cuối tháng 5 vừa qua

Flutter hoàn toàn miễn phí và cũng là mã nguồn mở.

Flutter sử dụng ngôn ngữ lập trình Dart – một ngôn ngữ hướng đối tượng và tất nhiên cũng được phát triển bởi Google

Flutter có đầy đủ các tính năng hot nhất hiện nay dành cho lập trình di động: hỗ trợ Hot Reload, Debug Devtool, nhiều IDE support: Android Studio, Visual Code.

Flutter được phát triển nhằm giải quyết bài toán thường gặp trong mobile là Fast Development và Native Performance Nếu như React Native chỉ đảm bảo Fast Development và code native thuần chỉ đảm bảo Native Performance thì Flutter làm được cả 2 điều trên.

1.4.2 Tại sao Flutter lại được yêu thích bởi các lập trình viên?

Theo thống kê từ Stack Overflow, Flutter đạt số điểm 68,8% về mức độ danh mục công nghệ được yêu thích (từ việc bắt đầu và tiếp tục sử dung nó), trong khi đó số điểm của React Native hiện tại chỉ là 57,9%.

Còn theo Google Trends, mức độ phổ biến của Flutter gần gấp đôi so với React Native.

Chạy ở 60 fps, giao diện người dùng được tạo ra với Flutter thực thi tốt hơn nhiều so với những ứng dụng được tạo ra với các framework phát triển đa nền tảng khác chẳng hạn như React Native và Ionic

Những điểm mạnh của Flutter: Đầu tiên phải nhắc đến đó là Flutter chính là con đẻ của Google, 1 ông lớn thực sự với gia tài hệ sinh thái đồ sộ liên quan đến lập trình di động Đó là hệ điều hành Android, là IDE Android Studio, ngôn ngữ Kotlin, Dart, các thư viện mà gần như ai làm mobile cũng sẽ dùng như Firebase, Google Map, … Và quả thực thì Flutter được lợi rất nhiều từ việc Google cung cấp cho nó rất nhiều các package có sẵn, chỉ cần import vào để sử dụng.

Khác với cách tiếp cận của React Native, Flutter được team Google viết mới hoàn toàn bộ render UI Điều đó có nghĩa là bạn sẽ có 1 bộ UI chung dành cho các nền tảng khác nhau (Flutter đặt tên cho chúng là các widgets), điều này tạo ra sự thống nhất trên các thiết bị giúp có được sự trải nghiệm tốt hơn cho người dùng.

Phát triển 1 ứng dụng bằng Flutter thực sự rất nhanh Dart là 1 ngôn ngữ khá dễ hiểu, trong khi Flutter cũng đã cung cấp bộ Widgets và tài liệu thực sự chi tiết dành cho bạn.

Phát triển đa nền tảng: Flutter là một framework phát triển ứng dụng đa nền tảng có tính ứng dụng cực cao Công nghệ cho phép bạn xây dựng ứng dụng cho cả Android và iOS từ cùng một mã nguồn nhằm tiết kiệm thời gian và công sức cho nhà phát triển Đồng thời, Flutter còn giảm bớt sự phức tạp trong việc duy trì và cập nhật ứng dụng trên nhiều nền tảng khác nhau Tiện ích cũng hỗ trợ phát triển ứng dụng web, mở rộng khả năng sử dụng mã nguồn duy nhất cho nhiều loại hình thiết bị riêng biệt.

Hiệu suất hoạt động cao: Một điểm mạnh tiếp theo cần được nhắc đến thông qua cách ứng dụng nền tảng Flutter chính là hiệu suất cao Điều này được thể hiện qua việc sử dụng mô hình giao diện người dùng được xây dựng từ các widget riêng biệt Công nghệ hoạt động một cách thông minh và tối ưu hóa hiệu suất của ứng dụng Những ứng dụng phát triển bằng Flutter sẽ có khả năng chạy mượt mà Hệ thống tiện ích đáp ứng nhu cầu truy cập nhanh chóng và cung cấp trải nghiệm tốt nhất người dùng Nhờ vào cách tiếp cận này, Flutter đã thu hút sự quan tâm của nhiều nhà phát triển và doanh nghiệp muốn xây dựng các ứng dụng di động, trang web có hiệu suất cao.

Giao diện dành cho người dùng bắt mắt: Ưu điểm đặc biệt tiếp theo cần được kể đến của Flutter chính là khả năng tạo ra giao diện người dùng bắt mắt và gia tăng sự tương tác Flutter cung cấp các công cụ và thư viện đồ họa mạnh mẽ giúp nhà phát triển tạo ra các giao diện người dùng ấn tượng Qua việc sử dụng các widget và thiết kế theo cách modul, Flutter cho phép xây dựng giao diện người dùng một cách linh hoạt Nhiều yếu tố được triển khai như các thành phần cơ bản, các hiệu ứng đặc sắc Đây quả là giải pháp lý tưởng để bạn nâng cao trải nghiệm của mình khi lập web.

Tiện ích cập nhật nhanh chóng: Hệ thống hoạt động trên Flutter cho phép người dùng cập nhật ứng dụng mà không cần thông qua quá trình phê duyệt từ cửa hàng ứng dụng trực tuyến Cụ thể là Google Play Store đối với Android hay App Store đối với iOS Công nghệ có tác dụng giảm thời gian đưa các cải tiến, quá trình sửa lỗi theo ý kiến người dùng sẽ diễn ra theo một cách nhanh chóng hơn Đồng thời, tiện ích còn tối ưu hóa quá trình phát triển và triển khai ứng dụng.

Cộng đồng, diễn đàn hỗ trợ lớn: Trong quá trình sử dụng Flutter thì bạn sẽ được nhận rất nhiều lợi ích từ cộng đồng phát triển rộng lớn và sự hỗ trợ tích cực Cộng đồng này bao gồm các nhà phát triển, kỹ sư và các chuyên gia trên toàn cầu nhằm cung cấp tài liệu, công cụ và thư viện thông tin Nhờ vào cách hoạt động sôi nổi của cộng đồng, các vấn đề phổ biến và các thách thức trong quá trình phát triển Flutter mà bạn gặp phải sẽ được giải quyết nhanh chóng Người dùng có thể học hỏi thêm nhiều điều thú vị thông qua việc chia sẻ kiến thức, kinh nghiệm và các hỗ trợ từ cộng đồng

Sử dụng DART: Một ngôn ngữ lập trình hướng đối tượng do Google phát triển DART là một static type language nên nó là AOT (Ahead of Time), compile xong hết rồi mới chạy Trong khi đó nó cũng là JIT (Just in Time) giống như các dynamic type language Khi dev thì nó sử dụng JIT để hỗ trợ Hot Load và build release thì dùng AOT để tối ưu hiệu năng như một native code bình thường Ngoài ra DART cũng hướng tới việc trở thành một ngôn ngữ có thể chạy trên nhiều platform khác nhau, nó cũng có máy ảo (VM) làm nhiệm vụ dịch source code sang bytecode như Java Hiện tại DART có thể transpile ra các ngôn ngữ khác như JS để chạy trên trình duyệt Cái này không liên quan mobile lắm tuy nhiên đây cũng là 1 ưu điểm lớn của ngôn ngữ này nên không thể bỏ qua.

Strapi

Giới thiệu Strapi 1.6.2 Các tính năng nổi bật của Strapi 1.7 Postman

Strapi là một hệ thống quản lý nội dung (CMS) mã nguồn mở và độc lập nền tảng Nó cho phép xây dựng và quản lý các API và nội dung cho ứng dụng web hoặc di động một cách dễ dàng

Strapi được xây dựng bằng Node.js và cung cấp một giao diện đồ họa thân thiện để bạn có thể tạo, quản lý và cấu hình các loại dữ liệu như bài viết, sản phẩm, danh mục, người dùng, và nhiều hơn nữa Có thể tùy chỉnh các trường và quan hệ giữa các loại dữ liệu theo ý muốn

Một trong những ưu điểm của Strapi là khả năng tạo API linh hoạt Có thể tạo các endpoint API dựa trên các loại dữ liệu bạn đã định nghĩa và xác định các hành động CRUD (Create, Read, Update, Delete) cho từng loại dữ liệu

Strapi cung cấp cơ chế bảo mật và xác thực để bạn có thể kiểm soát quyền truy cập vào các API và dữ liệu Strapi cũng hỗ trợ việc mở rộng và tùy chỉnh thông qua các plugin và middleware Có thể sử dụng các plugin có sẵn hoặc tự viết plugin của riêng mình để mở rộng tính năng của Strapi theo nhu cầu của ứng dụng của bạn

Với Strapi, có thể nhanh chóng xây dựng hệ thống quản lý nội dung và API linh hoạt cho ứng dụng web hoặc di động mà không cần viết mã từ đầu.

1.6.2 Các tính năng nổi bật của Strapi

Quản lý nội dung linh hoạt: Strapi cung cấp một giao diện quản lý nội dung dễ sử dụng, cho phép bạn tạo, chỉnh sửa và xóa các loại dữ liệu như bài viết, hình ảnh, sản phẩm và nhiều hơn nữa Bạn có thể tùy chỉnh các loại dữ liệu và trường dữ liệu theo nhu cầu của bạn

API mạnh mẽ: Strapi tự động tạo ra một API mạnh mẽ cho ứng dụng của bạn,cho phép bạn truy cập và quản lý dữ liệu từ xa thông qua các yêu cầu HTTP hoặcGraphQL Bạn có thể xác định các quyền truy cập và giới hạn dữ liệu cho từng người dùng hoặc vai trò

Tích hợp dễ dàng: Strapi cho phép bạn kết nối với các cơ sở dữ liệu phổ biến như MongoDB, PostgreSQL, MySQL và SQLite Ngoài ra, Strapi cũng hỗ trợ các dịch vụ đám mây như AWS S3 và Azure Blob Storage để lưu trữ tệp đa phương tiện Quản lý người dùng và vai trò: Strapi cung cấp chức năng quản lý người dùng và phân quyền mạnh mẽ Bạn có thể tạo và quản lý người dùng, gán vai trò cho họ và xác định quyền truy cập cho từng vai trò Điều này giúp bạn kiểm soát việc truy cập và quản lý dữ liệu trong ứng dụng của mình

Plugin và mô-đun mở rộng: Strapi hỗ trợ các plugin và mô-đun mở rộng, cho phép bạn mở rộng chức năng của nền tảng theo nhu cầu của bạn Bạn có thể tìm và sử dụng các plugin có sẵn từ cộng đồng Strapi hoặc tạo các plugin tùy chỉnh của riêng mình

Tùy chỉnh giao diện người dùng: Strapi cho phép bạn tùy chỉnh giao diện người dùng quản lý nội dung theo ý muốn Bạn có thể thay đổi giao diện, thêm biểu mẫu tùy chỉnh và điều chỉnh trình đơn để phù hợp với nhu cầu của ứng dụng của bạn Tích hợp dễ dàng với các công cụ phát triển: Strapi tích hợp tốt với các công cụ phát triển phổ biến như React, Vue.js và Angular Bạn có thể tạo ứng dụng đơn trang (SPA) hoặc ứng dụng đa trang (MPA) sử dụng Strapi như một nguồn dữ liệu

Strapi cung cấp một số tính năng nổi bật như quản lý nội dung linh hoạt, API mạnh mẽ, tích hợp dễ dàng, quản lý người dùng và vai trò, plugin và mô-đun mở rộng, tùy chỉnh giao diện người dùng và tích hợp với các công cụ phát triển phổ biến Điều này giúp cho việc phát triển vàtriển khai ứng dụng web trở nên dễ dàng và linh hoạt.

Postman là gì ? 1.7.2 Ứng dụng của Postman 1.7.3 Cài đặt Postman CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ CHƯƠNG TRÌNH 2.1 Ý tưởng thiết kế

Postman là một công cụ phát triển ứng dụng API (Application Programming Interface) và kiểm thử API Nó giúp cho việc tạo, gửi, và xem kết quả của các yêu cầu

HTTP và HTTPS đến các API khác nhau Postman cho phép bạn tạo các yêu cầu HTTP tuỳ chỉnh và xem các phản hồi từ máy chủ, giúp cho việc phát triển, kiểm thử và tương tác với các API dễ dàng hơn.

Postman cung cấp một giao diện đồ họa thân thiện và dễ sử dụng, cho phép người dùng xác định các thông số yêu cầu như URL, phương thức HTTP, tham số, tiêu đề, và nội dung yêu cầu Bên cạnh đó, nó cũng hỗ trợ các tính năng như lưu trữ, quản lý và tổ chức các yêu cầu, chạy các bộ kiểm tra tự động, và tạo tài liệu API.

Postman có thể được sử dụng cho nhiều mục đích, bao gồm phát triển ứng dụng, kiểm thử API, gỡ lỗi và ghi lại yêu cầu HTTP Nó là một công cụ phổ biến và hữu ích cho các nhà phát triển và những người làm việc với API.

Kho API: Dễ dàng lưu trữ, lập danh mục và cộng tác xung quanh tất cả các tạo phẩm API của bạn trên một nền tảng trung tâm Postman có thể lưu trữ và quản lý thông số kỹ thuật API, tài liệu, công thức quy trình làm việc, trường hợp và kết quả thử nghiệm, chỉ số và mọi thứ khác liên quan đến API

Công cụ: Nền tảng Postman bao gồm một bộ công cụ toàn diện giúp đẩy nhanh vòng đời của API — từ thiết kế, thử nghiệm, tài liệu và mô phỏng đến chia sẻ và khả năng khám phá của các API của bạn

Quản trị: Phương pháp quản trị toàn vòng đời của Postman cho phép những người chấp nhận thay đổi các phương pháp phát triển của họ, dẫn đến các API chất lượng tốt hơn và thúc đẩy sự hợp tác giữa các nhóm nhà phát triển và nhóm thiết kế API

Không gian làm việc: Không gian làm việc của người đưa thư giúp bạn tổ chức công việc API của mình và cộng tác trong tổ chức của bạn hoặc trên toàn thế giới Có ba loại không gian làm việc Postman khác nhau cho các nhu cầu khác nhau của bạn: không gian làm việc cá nhân, không gian làm việc nhóm và không gian làm việc công cộng

Tích hợp: Postman tích hợp với các công cụ quan trọng nhất trong quy trình phát triển phần mềm của bạn để cho phép thực hành API ưu tiên Nền tảng Postman cũng có thể mở rộng thông qua API Postman và thông qua các công nghệ mã nguồn mở

Bước 1: Truy cập https://www.postman.com/downloads/ và lựa chọn phiên bản phù hợp với máy tính của mình chẳng hạn như MacOs, Windown, Linux Click vào !

Bước 2: Sau khi tải xong, ta giải nén file đó ra và tiến hành chạy ứng dụng

Bước 3: Tiến hành lựa chọn tài khoản đăng nhập hoặc đăng ký

Bước 4: Sau khi cài đặt xong sẽ hiển thị ra trang chủ

CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ CHƯƠNG TRÌNH

1 Chức năng đăng nhập đăng ký

- Người dùng thực hiện tạo tài khoản hoặc đăng nhập tài khoản.

- Người dùng thực hiện thao tác tìm kiếm sản phẩm.

- Người dùng thực hiện thao tác thêm sản phẩm vào giỏ hàng.

Biểu đồ Use-case

Use-case đăng ký

Tên UseCase Đăng ký tài khoản

Tác nhân Người dùng Điều kiện đầu vào Không có

Kết quả đầu ra Người dùng có tài khoản thành viên, lưu vào cơ sở dữ liệu

Mô tả Use Case cho phép người dùng đăng ký tài khoản thành viên

1 Người dùng Chọn đăng ký

2 Hệ thống Hiển thị giao diện đăng ký thành viên

3 Người dùng Điền thông tin cần thiết và đăng ký

Kiểm tra thông tin, nếu đúng thì lưu vào cơ sở dữ liệu,thông báo đăng ký thành công và trả lại giao diện đăng nhập

Usecase đăng nhập

Tên Use Case Đăng nhập tài khoản

Tác nhân Người dùng Điều kiện đầu vào Tác nhân chưa đăng nhập vào hệ thống

Kết quả đầu ra Tác nhân đăng nhập thành công

Mô tả Use Case cho phép đăng nhập vào hệ thống

1 Tác nhân Chọn chức năng đăng nhập

2 Hệ thống Hiển thị giao diện đăng nhập

3 Tác nhân Nhập email, mật khẩu vào giao diện đăng nhập

Kiểm tra email và mật khẩu, nếu đúng thì hệ thống sẽ chuyển tới trang chủ với trạng thái đã đăng nhập, nếu sai thì chuyển sang dòng khác

5 Hệ thống Thông báo đăng nhập không thành công do nhập sai email hoặc mật khẩu

6 Hệ thống Trả về giao diện đăng nhập

2.2.3 Usecase tìm kiếm sản phẩm

Tên Use Case Tìm kiếm

Tác nhân Người dùng Điều kiện đầu vào Nhập tên sản phẩm muốn tìm kiếm

Kết quả đầu ra Người dùng có thể xem sản phẩm cần tìm

Mô tả Use Case cho phép người dùng xem sản phẩm cần tìm

1 Người dùng Nhập tên sản phẩm

2 Hệ thống Hiển thị sản phẩm cần tìm

Usecase đặt hàng

Tên Use Case Đặt hàng

Tác nhân Người dùng Điều kiện đầu vào Không có

Kết quả đầu ra Hiển thị sản phẩm đã được đặt hàng

Mô tả Use Case cho phép người dùng có thể thêm sản phẩm vào giỏ hàng

1 Người dùng Nhấp vào biểu tượng thêm vào giỏ hàng

2 Hệ thống Cập nhật và thêm sản phẩm vào giỏ

Biểu đồ tuần tự 25 1 Chức năng đăng nhập .2 Chức năng đăng ký 3 Chức năng tìm kiếm sản phẩm .4 Chức năng đặt hàng

Biểu đồ tuần tự chức năng đăng nhập

Người dùng sẽ điền thông tin vào giao diện đăng nhập Giao diện sẽ gửi thông tin tới Controller điều khiển để thực hiện việc kiểm tra Nếu thông tin gửi tới là sai mẫu quy định, Controller sẽ trả về thông báo sai Nếu đúng, Controller sẽ gửi yêu cầu tới Model thực hiện kiểm tra cơ sở dữ liệu sau đó trả kết quả trở lại.

Biểu đồ tuần tự chức năng đăng ký

Người dùng thực hiện điền thông tin đăng ký vào form đăng ký trên giao diện đăng ký Sau đó form này sẽ thực hiện gửi thông tin tới Controller điều khiển để thực hiện kiểm tra việc nhập thông tin có đúng quy định hay không Nếu sai sẽ gửi lại thông báo tới giao diện để người dùng nhập lại Nếu đúng, Controller sẽ gửi thông tin tới Model để thực hiện nhập dữ liệu rồi trả về kết quả.

2.3.3 Chức năng tìm kiếm sản phẩm

Biểu đồ tuần tự chức năng tìm kiếm sản phẩm

Người dùng thực hiện tìm kiếm sản phẩm trên giao diện trang chủ hoặc giao diện tìm kiếm… Sau đó giao diện sẽ thực hiện gửi yêu cầu tìm kiếm tới Controller điều khiển Controller xử lý gửi yêu cầu tới Model để lấy thông tin từ cơ sở sử liệu cần thiết trả về Controller Controller sẽ thực hiện chuyển giao diện sản phẩm cần tìm và hiển thị kết quả tới người sử dụng.

Biểu đồ tuần tự chức năng đặt hàng

Người dùng thực hiện chọn đặt hàng Sau đó giao diện sẽ thực hiện gửi yêu cầu đặt hàng tới Controller điều khiển Controller xử lý gửi yêu cầu tới Model để thêm sản phẩm đặt hàng vào cơ sở sử liệu Controller sẽ thực hiện chuyển giao diện tới đặt hàng thành công và hiển thị kết quả tới người sử dụng.

Kiến trúc REST API

Đặc tả kiến trúc

Rest API là một ứng dụng được dùng để chuyển đổi cấu trúc của dữ liệu có những phương thức giúp kết nối với các thư viện và ứng dụng khác nhau Rest Api thường không được xem là công nghệ, mà nó là giải pháp giúp tạo ra những ứng dụng web services chuyên dụng để thay thế cho nhiều kiểu khác như: SOAP,WSDL,

API là từ viết tắt của cụm từ Application Programming Interface, đây là tập hợp những quy tắc và cơ chế mà theo đó thì: Một ứng dụng hoặc một thành phần nào đó sẽ tương tác với một ứng dụng hoặc một số thành phần khác API có thể sẽ được trả về dữ liệu mà người dùng cần cho chính ứng dụng của bạn với những kiểu dữ liệu được dùng phổ biến như JSON hoặc XML

Rest là từ viết tắt của Representational State Transfer: Nó là một trong những dạng chuyển đổi cấu trúc, với kiểu kiến trúc thường được viết API Rest thường sử dụng phương thức HTTP đơn giản để có thể tạo ra giao tiếp giữa các máy Bởi vì thế, thay vì phải sử dụng một URL cho việc xử lý một số thông tin của người dùng thì Rest sẽ yêu cầu HTTP như: GET, POST, DELETE, đến với bất kỳ một URL để được xử lý dữ liệu.

Rest API hoạt động như thế nào ?

REST hoạt động chủ yếu dựa vào giao thức HTTP Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTP riêng

GET (SELECT): Trả về một Resource hoặc một danh sách Resource

POST (CREATE): Tạo mới một Resource

PUT (UPDATE): Cập nhật thông tin cho Resource

DELETE (DELETE): Xoá một Resource

Những phương thức hay hoạt động này thường được gọi là CRUD tương ứng với Create, Read, Update, Delete – Tạo, Đọc, Sửa, Xóa.

Status code

Khi chúng ta request một API nào đó thường thì sẽ có vài status code để nhận biết sau:

200 OK – Trả về thành công cho những phương thức GET, PUT, PATCH hoặc DELETE

201 Created – Trả về khi một Resouce vừa được tạo thành công

204 No Content – Trả về khi Resource xoá thành công

304 Not Modified – Client có thể sử dụng dữ liệu cache

400 Bad Request – Request không hợp lệ

401 Unauthorized – Request cần có auth

403 Forbidden – bị từ chối không cho phép

404 Not Found – Không tìm thấy resource từ URI

405 Method Not Allowed – Phương thức không cho phép với user hiện tại

410 Gone – Resource không còn tồn tại, Version cũ đã không còn hỗ trợ

415 Unsupported Media Type – Không hỗ trợ kiểu Resource này

422 Unprocessable Entity – Dữ liệu không được xác thực

429 Too Many Requests – Request bị từ chối do bị giới hạn

Kiến trúc 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ế được 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 và mỗi thành phần đều có mô ˜t nhiê ˜m vụ riêng của nó và đô ˜c lâ ˜p với các thành phần khác Tên gọi 3 thành phần:

Model (dữ liệu): Quản lí xử lí các dữ liê ˜u

View (giao diện): Nới hiển thị dữ liê ˜u cho người dùng

Controller (bộ điều khiển): Điều khiển sự tương tác của hai thành phần Model vàView.

Luồng xử lý phần mềm áp dụng mô hình MVC CHƯƠNG 3: CHƯƠNG TRÌNH THỰC NGHIỆM 3.1 Kết quả đạt được

Client gửi yêu cầu đến server thông qua Controller, Controller sẽ tiếp nhận yêu cầu

Controller sẽ xử lý dữ liệu đầu vào, và quyết đinh luồng đi tiếp theo của yêu cầu Trả về kết quả hay tương tác với database để lấy dữ liệu Nếu cần tương tác với Model để lấy dữ liệu, Controller sẽ gọi tới Model để lấy dữ liệu đầu ra Nếu không, Controller sẽ trả về kết quả theo mũi tên số (8)

Model tương tác với Database để truy xuất dữ liệu phù hợp với yêu cầu Database trả về cho Model dữ liệu theo yêu cầu của Model

Model trả về dữ liệu cho Controller xử lý

Controller sẽ gọi đến View phù hợp với yêu cầu và kèm theo dữ liệu cho View View chịu trách nhiệm hiển thị dữ liệu phù hợp với yêu cầu

Sau khi xử lý hiển thị dữ liệu, View trả về cho Controller kết quả (HTML, XML hoặc JSON…)

Sau khi hoàn tất, Controller sẽ trả về kết quả cho Client.

CHƯƠNG 3: CHƯƠNG TRÌNH THỰC NGHIỆM

Call API để hiển thị ra sản phẩm và thực hiện các chức năng rồi lưu vào API:

- Đăng nhập, đăng ký tài khoản để sử dụng ứng dụng

- Thêm sản phẩm vào giỏ hàng

Một số chức năng chính của ứng dụng

- Đăng nhập: Người dùng sẽ phải đăng nhập khi lần đầu vào ứng dụng,xóa cache ứng dụng, hết thời gian sử dụng,xóa đi tải lại.

Các trường nhập thông tin bao gồm :

Email String( bắt buộc phải là đuôi @.com)

- Đăng kí: Dành cho người dùng có nhu cầu sử dụng ứng dụng

Các trường nhập thông tin bao gồm :

Email String( bắt buộc phải là đuôi @.com)

Nhập lại mật khẩu String ( Phải giống với mật khẩu )

- Màn hình chính: Người dùng có thể thao tác như xem, lưu bài viết, tìm kiếm bài viết theo tên hoặc chủ đề.

- Tìm kiếm sản phẩm: Người dùng có thể tìm kiếm sản phẩm theo tiêu chí lựa chọn.

Các trường nhập thông tin bao gồm :

- Đặt hàng: Người dùng thực hiện đặt hàng bằng cách chọn sản phẩm muốn mua rồi ấn chọn số lượng và đặt hàng.

Điều chỉnh và định hướng phát triển

 Loại bỏ 1 số lỗi xảy ra trong phần thử nghiệm

 Liên kết với 1 back-end tốt hơn và tối ưu hơn nhằm xử lý dữ liệu tốt và nhanh hơn nữa.

 Tối ưu hóa ứng dụng và cải thiện trải nghiệm người dùng

 Đưa ứng dụng lên Google Play và AppStore

 Thêm các tính năng như : Bình luận, đánh giá, nhắn tin

 Thêm phần cài đặt giúp tùy chỉnh ứng dụng thân thiện hơn với người dùng

Ngày đăng: 16/08/2024, 17:36

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w