Với tiêu chí ngon rẻ giao hàng nhanh chóng các ứng dụng đã giúp khách hàng tiết kiệm được thời gian chi phí cũng như giúp chủ cửa hàng có nhiều đơn hàng hơn cũng như hiểu rõ được nhu cầu
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYỀN THÔNG VIỆT-HÀN
Khoa khoa học máy tính
ĐỒ ÁN CHUYÊN NGÀNH 2
ĐỀ TÀI: XÂY DỰNG PHÁT TRIỂN ỨNG DỤNG GIỚI THIỆU VÀ BÁN HÀNG ĐIỆN TỬ
Sinh viên: NGUYỄN VĂN HUY HOÀNG : 18IT365
Giảng viên: TS LÊ VĂN MINH
Đà Nẵng, tháng 6 năm 2022
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN &
TRUYỀN THÔNG VIỆT HÀN
Khoa Khoa học máy tính
ĐỒ ÁN CHUYÊN NGÀNH 2
ĐỀ TÀI: XÂY DỰNG PHÁT TRIỂN ỨNG DỤNG GIỚI THIỆU VÀ BÁN HÀNG ĐIỆN TỬ
Sinh viên: NGUYỄN VĂN HUY HOÀNG : 18IT365
Giảng viên: TS LÊ VĂN MINH
Đà Nẵng, tháng 6 năm 2022
Trang 3ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD: TS LÊ VĂN MINH
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Giảng viên
TS Lê Văn Minh
Trang 4ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD: TS LÊ VĂN MINH
Mặc dù đã cố gắng với tất cả nỗ lực của bản thân để hoàn thiện đồ án, nhưng nănglực và kinh nghiệm còn hạn chế nên đồ án không thể tránh khỏi những thiếu sót Kínhmong nhận được sự đóng góp ý kiến từ phía thầy cô, bạn bè để chúng em có thể nâng caokiến thức của bản thân, hoàn thiện đồ án được tốt hơn
Em xin chân thành cảm ơn!
ỨNG DỤNG GIỚI THIỆU VÀ BÁN HÀNG ĐIỆN TỬ
Trang 5ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD: TS LÊ VĂN MINH
MỤC LỤC
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC HÌNH ẢNH v
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 3
1.1 Công nghệ phát triển ứng dụng di động và ứng dụng web 3
1.1.1 Giới thiệu chung về hệ điều hành android 3
1.1.2 Giới thiệu về lập trình ứng dụng iOS 3
1.1.3 Các loại ứng dụng Web 3
1.2 Tìm hiểu về Web service 4
1.2.1 Web service là gì? 4
1.2.2 Các thành phần của web service 5
1.2.3 Web Servive Architecture 9
1.2.4 Cách thức hoạt động của web service 10
1.3 Flutter 11
1.4 Hệ thống gợi ý (Recommender Systems - RS) 13
1.4.1 Giới thiệu 13
1.4.2 Các khái niệm chính 13
1.4.3 Kỹ thuật k láng giềng dựa trên người dùng/mục tin (User/Item kNNs) 14
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 17
2.1 Mô hình tổng quan của hệ thống nghiên cứu 17
2.1.1 Phân tích hiê {n trạng 17
Trang 6ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD: TS LÊ VĂN MINH
2.1.2 Các yêu cầu chức năng 17
2.1.3 Các yêu cầu phi chức năng 17
2.2 Phân tích các chức năng chính của ứng dụng 18
2.2.1 Hiển thị danh sách thông tin của đồ điện tử 18
2.2.2 Chức năng tìm kiếm đồ điện tử 18
2.2.3 Chức năng đăng ký tài khoản 18
2.2.4 Chức năng đặt hàng 18
2.2.5 Các chức năng của admin 18
2.3 Phân tích đặt tả các yêu cầu 18
2.3.1 Chọn đồ điện tử 18
2.3.2 Đăng ký 19
2.3.3 Cập nhập thông tin đồ điện tử 19
CHƯƠNG 3 XÂY DỰNG VÀ KẾT QUẢ ĐẠT ĐƯỢC 21
3.1 Xây dựng ứng dụng trên nền tảng web 21
3.2 Xây dựng ứng dụng trên nền tảng di động 25
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 29
TÀI LIỆU THAM KHẢO 31
ỨNG DỤNG GIỚI THIỆU VÀ BÁN HÀNG ĐIỆN TỬ
Trang 7ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD: TS LÊ VĂN MINH
DANH MỤC HÌNH ẢNH
Hình 1-1 Ma trận biểu diễn dữ liệu trong RS (user-item-rating matrix) 14
Hình 1-2 Kết quả dự đoán 16
Hình 3-1 Trang login 21
Hình 3-2 Trang sign up 21
Hình 3-3 Sản phẩm yêu thích 22
Hình 3-4 Trang home 22
Hình 3-5 Trang chi tiết sản phẩm 23
Hình 3-6 Trang giỏ hàng 23
Hình 3-7 Trang thanh toán 24
Hình 3-8 Trang tìm kiếm sản phẩm 24
Hình 3-9 Màn hình chờ 25
Hình 3-10 Đăng ký 25
Hình 3-11 Home 26
Hình 3-12 Giỏ hàng 26
Hình 3-13 Tin tức 27
Hình 3-14 Chi tiết sản phẩm 27
Hình 3-15 Thanh toán 28
Hình 3-16 Hóa đơn 28
Trang 8ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD:TS LÊ VĂN MINH
Và từ lâu, các loại hình dịch vụ như nhà hàng khách sạn đều kinh doanh trực tiếp mọingười thường sẽ đến tận nhà hàng cửa hàng để ăn Cuộc sống hiện đại, nhu cầu của conngười ngày càng nâng cao Với sự bận rộn của cuộc sống đặc biệt là lối sống của giới trẻthì việc nấu ăn tại nhà và đến tận cửa hàng để ăn sẽ ít được lựa chọn Với sự phát triểncủa cách mạng công nghiệp 4.0 đã giải quyết được điều đó Thương mại điện tử phát triểnnhững cửa hàng nhà hàng đa số sẽ có cho mình những ứng dụng thương mại điện tử nhưwebsite app oder khách hàng không cần phải đến tận cửa hàng Với tiêu chí ngon rẻ giaohàng nhanh chóng các ứng dụng đã giúp khách hàng tiết kiệm được thời gian chi phí cũngnhư giúp chủ cửa hàng có nhiều đơn hàng hơn cũng như hiểu rõ được nhu cầu thị hiếu củakhách hàng
Nhận thấy nhu cầu thiết yếu trên, chúng em quyết định chọn đề tài “XÂY DỰNGPHÁT TRIỂN ỨNG DỤNG GIỚI THIỆU VÀ BÁN HÀNG ĐIỆN TỬ” Với việc xâydựng hệ thống bao gồm website, mobile app và desktop app như vậy không chỉ giải quyếtđược vấn đề tìm kiếm đặt mua các thiết bị điện tử cho người có nhu cầu mà còn rất hữuích đối với các doanh nghiệp, chủ cửa hàng nhà hàng trong việc quản lý nhà hàng cửahàng của mình bên cạnh đó lợi nhuận cũng tăng cao Hệ thống có thể giúp người dùng tìmkiếm đặt hàng những đồ điện tử mà người dùng muốn
1 Mục tiêu đề tài
Hệ thống giúp mọi người xem, tìm kiếm, đặt mua đồ điện tử nhanh chóng bên cạnh đóngười dùng còn biết thêm chi tiết về cửa hàng Người dùng còn có thể biết địa chỉ đến cửahàng liên hệ với cửa hàng cũng như đánh giá về sản phẩm của cửa hàng người dùng cònỨNG DỤNG GIỚI THIỆU VÀ BÁN HÀNG ĐIỆN TỬ 1
Trang 9ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD:TS LÊ VĂN MINH
có thể dựa vào đánh giá của khách hàng trước để có thể biết thêm về sản phẩm mà mìnhmuốn mua
Lưu dữ liệu trên mạng giúp mọi người có thể sử dụng mọi lúc mọi nơi và chia sẻ thôngtin cửa hàng qua hệ thống
Thiết kế giao diện hệ thống đơn giản dễ nhìn giúp người dùng thao tác, sử dụng dễdàng và thuận lợi
Đồ án được tổ chức làm 5 phần như sau:
Mở đầu: Trình bày rõ lý do chọn đề tài, mục tiêu nghiên cứu đồ án và bố cục của đồán
Chương 1: Tổng quan đề tài
Chương 2: Phân tích và thiết kế hệ thống
Chương 3: Xây dựng và kết quả đạt được
Chương 4: Thực nghiệm và đánh giá kết quả
Kết luận: Phần này đưa ra những kết quả đồ án đạt được, những thiếu sót chưa thựchiện được và hướng phát triển đề tài trong tương lai
Trang 10ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD:TS LÊ VĂN MINH
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 1.1 Công nghệ phát triển ứng dụng di động và ứng dụng web
1.1.1 Giới thiệu chung về hệ điều hành android
Android là một nền tảng mãn nguồn mở toàn diện được thiết kế có các thiết bị di động
Nó là liên minh giữa ông lớn Google và Open Handset Alliance – các tập toàn sản xuấtthiết bị cầm tay nổi tiến như Intel, SamSung, Toshiba… Với mục tiêp là tang tốc việc đổimới trong di động và cung cấp cho người tiêu dùng nhiều tiệ ích phong phú, ít tốn kiếm.Android chính là công cụ để là điều đó
Android là một nền tảng mã nguồn mở, toàn bộ ngăn xếp từ các module cấp thấp củaLinux đến tất cả các thư viện gốc và từ ứng dụng khung cho đến các ứng dụng hoàn chỉnh
Ra đời cách đây 6 năm (từ năm 2014), Swift vẫn là một ngôn ngữ khá trẻ vè mới mẻ.Rất nhiều lập trình viên còn thắc mắc ngôn ngữ lập trình Swift là gì? Tuy nhiên, sự thắcmắc đó dần được thay thế theo thời gian, số lượng lập trình viên chọn lựa Swift ngày càngtăng lên, cộng đồng phát triển cho ngôn ngữ này ngày càng lớn mạnh
Swift là một ngôn ngữ lập trình hướng đối tượng dành cho việc phát triển iOS và OS
X, được giới thiệu bởi Apple tại hội nghị WWDC 2014 Swift được mong đợi sẽ tồn tạisong song cùng với Objective-C, ngôn ngữ lập trình hiện tại dành cho các hệ điều hànhcủa Apple Swift được thết kế là một ngôn ngữ có khả năng phòng chống lỗi cao Nóđược biên dịch với lập trình viên LLVM Một tài liệu 500 trang về Swwift cũng được pháthành tại WWDC, miễn phí trên iBook Store
1.1.3 Các loại ứng dụng Web
Ứng dụng Web tĩnh: Là loại ứng dụng Web hiển thị ít nội dung và không có tính linh
hoạt Ứng dụng Web tĩnh thường chỉ được xây dựng từ HTML, CSS và Javascript DoỨNG DỤNG GIỚI THIỆU VÀ BÁN HÀNG ĐIỆN TỬ 3
Trang 11ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD:TS LÊ VĂN MINHkhông có cơ sở dữ liệu và công cụ điều khiển nội dung gián tiếp nên người quản trị khôngthể tuỳ ý thay đổi nội dung mà cần có kiến thức về HTML, CSS cơ bản để chỉnh sửa.Điểm cộng của loại website này là nội dung đơn giản, không mất nhiều thời gian, côngsức để xây dựng do không phải xử lý những câu lệnh phức tạp Tuy nhiên, do không có
hệ thống hỗ trợ thay đổi nội dung nên việc cập nhật thông tin cho website gặp rất nhiềukhó khăn, thậm chí phải bỏ ra chi phí lớn khi thay đổi nhiều lần Một số ví dụ cho Webtĩnh là những trang giới thiệu công ty, tổ chức, sản phẩm, khoá học ít có nhu cầu cập nhậtthông tin, v.v
Ứng dụng Web động: So với Web tĩnh thì Web động phức tạp hơn về mặt kỹ thuật
khi xây dựng Web động sử dụng cơ sở dữ liệu để hiển thị nội dung cũng như cho phépngười dùng tương tác được với nội dung đó Web động được chia làm 2 phần là back-end(dành cho người quản trị Web thay đổi, cập nhật nội dung) và front-end (dành cho ngườidùng truy cập) Hiện nay có rất nhiều ngôn ngữ lập trình được sử dụng để xây dựng Webđộng như Java, PHP, ASP.NET, VB.NET, Ruby, v.v Đối với Web động, việc cập nhậtnội dung là rất đơn giản và dễ dàng Không những thế, một số hệ thống lớn hiện nay còncho phép người quản trị có thể thay đổi giao diện Web trên trang quản trị mà không cầnphải can thiệp trực tiếp vào mã nguồn Đó là những lý do khiến cho Web động được sửdụng phổ biến hơn Web tĩnh
1.2 Tìm hiểu về Web service
1.2.1 Web service là gì?
Webservice là tập hợp các giao thức và tiêu chuẩn mở được sử dụng để trao đổi dữ liệugiữa các ứng dụng hoặc giữa các hệ thống Tóm gọm:
Là phương thức giao tiếp giữa hai thiết bị qua mạng
Là ứng dụng hoặc thành phần ứng dụng để giao tiếp
Là tập hợp các tiêu chuẩn hoặc giao thức để trao đổi thông tin giữa hai thiết bị hoặcứng dụng
Các ứng dụng phần mềm được viết bằng các ngôn ngữ lập trình khác nhau và chạy trêncác nền tảng khác nhau, có thể sử dụng các dịch vụ web để trao đổi dữ liệu qua mạng máytính
Trang 12ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD:TS LÊ VĂN MINHWeb service hoạt động một cách độc lập không phụ thuộc bất kỳ ngôn ngữ nào Cácứng dụng java, net hoặc PHP… có thể giao tiếp với các ứng dụng khác thông qua webservice.
1.2.2 Các thành phần của web service
Nền tảng web service cơ bản là XML HTTP Tất cả các web service chuẩn đều hoạtđộng bằng các thành phần sau:
SOAP (là viết tắt của Simple Object Access Protocol) – giao thức truy cập đối tượngđơn giản: SOAP là một giao thức dựa trên XML đơn giản cho phép các ứng dụng traođổi thông tin qua HTTP
UDDI (Universal Description, Discovery and Integration): UDDI là một tiêu chuẩndựa trên XML để mô tả, xuất bản và tìm kiếm các dịch vụ web
WSDL (Web Services Description Language) – ngôn ngữ định nghĩa web service:WSDL là một ngôn ngữ dựa trên XML để mô tả các dịch vụ web và cách truy cậpchúng
ỨNG DỤNG GIỚI THIỆU VÀ BÁN HÀNG ĐIỆN TỬ 5
Trang 13ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD:TS LÊ VĂN MINH
Point to Description
Finds Points to Service Describes Service Service
SOAP Communicates with XML Messages
XML – eXtensible Markup Language
Là một chuẩn mở do W3C đưa ra cho cách thức mô tả dữ liệu, nó được sử dụng đểđịnh nghĩa các thành phần dữ liệu trên trang web và cho những tài liệu B2B Về hìnhthức, XML hoàn toàn có cấu trúc thẻ giống như ngôn ngữ HTML nhưng HTML địnhnghĩa thành phần được hiển thị như thế nào thì XML lại định nghĩa những thành phần đóchứa cái gì Với XML, các thẻ có thể được lập trình viên tự tạo ra trên mỗi trang web vàđược chọn là định dạng thông điệp chuẩn bởi tính phổ biến và hiệu quả mã nguồn mở
Do dịch vụ Web là sự kết hợp của nhiều thành phần khác nhau nên nó sử dụng các tínhnăng và đặc trưng của các thành phần đó để giao tiếp XML là công cụ chính để giảiquyết vấn đề này và là kiến trúc nền tảng cho việc xây dựng một dịch vụ Web, tất cả dữliệu sẽ được chuyển sang định dạng thẻ XML Khi đó, các thông tin mã hóa sẽ hoàn toànphù hợp với các thông tin theo chuẩn của SOAP hoặc XML-RPC và có thể tương tác vớinhau trong một thể thống nhất
WSDL – Web Service Description Language
WSDL định nghĩa cách mô tả dịch vụ Web theo cú pháp tổng quát của XML, bao gồmcác thông tin:
WebService
Trang 14ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD:TS LÊ VĂN MINHLoại thông tin: thao tác, tham số, những kiểu dữ liệu (có thể là giao diện của dịch vụWeb cộng với tên cho giao diện này).
Một WSDL hợp lệ gồm hai phần: phần giao diện mô tả giao diện và phương thức kếtnối và phần thi hành mô tả thông tin truy xuất CSDL Cả hai phần này sẽ được lưu trong 2tập tin XML tương ứng là tập tin giao diện dịch vụ và tập tin thi hành dịch vụ Giao diệncủa một dịch vụ Web được miêu tả trong phần này đưa ra cách thức làm thế nào để giaotiếp qua dịch vụ Web Tên, giao thức liên kết và định dạng thông điệp yêu cầu để tươngtác với dịch vụ Web được đưa vào thư mục của WSDL
WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấp dịch vụWeb qua Internet Một client khi kết nối tới dịch vụ Web có thể đọc WSDL để xác địnhnhững chức năng sẵn có trên server Sau đó, client có thể sử dụng SOAP để lấy ra chứcnăng chính xác có trong WSDL
UDDI – Universal Description, Discovery and Inegration
Để có thể sử dụng các dịch vụ, trước tiên client phải tìm dịch vụ, ghi nhận thông tin vềcách sử dụng và biết được đối tượng nào cung cấp dịch vụ UDDI định nghĩa một sốthành phần cho biết các thông tin này, cho phép các client truy tìm và nhận những thôngtin được yêu cầu khi sử dụng dịch vụ Web
Cấu trúc UDDI:
Trang trắng – White pages: chứa thông tin liên hệ và các định dạng chính yếu của dịch
vụ Web, chẳng hạn tên giao dịch, địa chỉ, thông tin nhận dạng… Những thông tin nàycho phép các đối tượng khác xác định được dịch vụ
Trang vàng – Yellow pages: chứa thông tin mô tả dịch vụ Web theo những loại khácnhau Những thông tin này cho phép các đối tượng thấy được dịch vụ Web theo từngloại với nó
Trang xanh – Green pages: chứa thông tin kỹ thuật mô tả các hành vi và các chức năngcủa dịch vụ Web
Loại dịch vụ – tModel: chứa các thông tin về loại dịch vụ được sử dụng
ỨNG DỤNG GIỚI THIỆU VÀ BÁN HÀNG ĐIỆN TỬ 7
Trang 15ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD:TS LÊ VĂN MINHNhững thông tin về dịch vụ Web được sử dụng và công bố lên mạng sử dụng giao thứcnày Nó sẽ kích hoạt các ứng dụng để tìm kiếm thông tin của dịch vụ Web khác nhằm xácđịnh xem dịch vụ nào sẽ cần đến nó.
SOAP – Simple Object Access Protocol
Chúng ta đã hiểu cơ bản dịch vụ Web như thế nào nhưng vẫn còn một vấn đề khá quantrọng Đó là làm thế nào để truy xuất dịch vụ khi đã tìm thấy? Câu trả lời là các dịch vụWeb có thể truy xuất bằng một giao thức là Simple Object Access Protocol – SOAP Nóicách khác chúng ta có thể truy xuất đến UDDI registry bằng các lệnh gọi hoàn toàn theođịnh dạng của SOAP
SOAP là một giao thức giao tiếp có cấu trúc như XML Nó được xem là cấu trúcxương sống của các ứng dụng phân tán được xây dựng từ nhiều ngôn ngữ và các hệ điềuhành khác nhau SOAP là giao thức thay đổi các thông điệp dựa trên XML qua mạng máytính, thông thường sử dụng giao thức HTTP
Một client sẽ gửi thông điệp yêu cầu tới server và ngay lập tức server sẽ gửi nhữngthông điệp trả lời tới client Cả SMTP và HTTP đều là những giao thức ở lớp ứng dụngcủa SOAP nhưng HTTP được sử dụng và chấp nhận rộng rãi hơn bởi ngày nay nó có thểlàm việc rất tốt với cơ sở hạ tầng Internet
Thông điệp theo định dạng SOAP là một văn bản XML bình thường bao gồm các phần
Phần tử khai báo nội dung chính trong thông điệp – body, chứa các thông tin yêu cầu
và thông tin được phản hồi
Phần tử đưa ra các thông tin về lỗi – fault, cung cấp thông tin lỗi xảy ra trong qúa trình
xử lý thông điệp
Trang 16ĐỒ ÁN CHUYÊN NGÀNH 2 GVHD:TS LÊ VĂN MINHMột SOAP đơn giản trong body sẽ lưu các thông tin về tên thông điệp, tham chiếu tớimột thể hiện của dịch vụ, một hoặc nhiều tham số Có 3 kiểu thông báo sẽ được đưa ra khitruyền thông tin: request message (tham số gọi thực thi một thông điệp), respond message(các tham số trả về, được sử dụng khi yêu cầu được đáp ứng) và cuối cùng là faultmessage (thông báo tình trạng lỗi).
1.2.3 Web Servive Architecture
Service Discovery: Phần kiến trúc này chịu trách nhiệm tập trung các dịch vụ vào mộtnơi đăng ký chung và cung cấp chức năng publish/ search dễ dàng Điều này được xử lýbởi UDDI
Service Description: Một trong những tính năng thú vị nhất của Dịch vụ web là chúng
tự mô tả Điều này có nghĩa là, một khi Dịch vụ web được định vị, nó sẽ cho chúng ta biếtnhững hoạt động mà nó hỗ trợ và cách gọi nó Điều này được xử lý bởi WSDL.Service Invocation: Gọi một dịch vụ web liên quan đến việc truyền tin nhắn giữa Client
và Server SOAP chỉ định cách chúng ta nên định dạng các thông báo yêu cầu (request)đến Server và cách Server định dạng các thông điệp phản hồi (response) của nó.Service Transport: Cuối cùng, tất cả các thông báo này phải được truyền đi bằng cáchnào đó giữa Client và Server Giao thức được lựa chọn cho phần kiến trúc này là HTTP –giao thức được sử dụng để truy cập các trang web thông thường trên Internet Chúng ta
ỨNG DỤNG GIỚI THIỆU VÀ BÁN HÀNG ĐIỆN TỬ 9
Service Discovery(UDDI)Service Discription(WSDL)Service Invocation(SOAP)Service Transport(HTTP)