ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNGĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG BÁN HÀNG TRÊN NỀN TẢNG ANDROID Sinh viên thực hiện : Nguyễn Thị Phương Nhi Giảng viên hướ
Trang 1ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỒ ÁN CƠ SỞ 3
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG BÁN HÀNG
TRÊN NỀN TẢNG ANDROID
Sinh viên thực hiện : Nguyễn Thị Phương Nhi
Giảng viên hướng dẫn : ThS Nguyễn Văn Bình
Đà nẵng, tháng 12 năm 2019
Trang 2ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
ĐỒ ÁN CƠ SỞ 3
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG BÁN HÀNG TRÊN
NỀN TẢNG ANDROID
Trang 3Đà Nẵng, tháng 12 năm 2019
Trang 4MỞ ĐẦU
Khoa học kỹ thuật phát triển mang lại nhiều lợi ích từ những ứng dụng của
nó đến với phần lớn mọi người Sự phát triển của lĩnh vực công nghệ thông tin đãtác động vô cùng lớn đến với cuộc sống hàng ngày của mọi người Là một phầncủa Công nghệ Thông tin, Công nghệ web đang có được sự phát triển mạnh mẽ
và phổ biến rất nhanh bởi những lợi ích mà nó mang lại cho cộng đồng là rất lớn
Em lựa chọn và thực hiện đề tài “Xây dựng ứng dụng bán hàng trên nền
tảng android”, em muốn tìm hiểu và đưa ra một giải pháp tốt nhằm xây dựng
website đọc truyện trên mạng Website mang lại cho người đọc nhiều sự tiệndụng: tiết kiệm thời gian, tiền bạc để tìm mua truyện ở các nhà sách, truy cập dễdàng, thuận tiện khi có thể đọc truyện ở bất kì đâu chỉ với chiếc điện thoại nốimạng, ….v v
Nội dung đề tài gồm các chương:
Chương 1 : Giới thiệu
Chương 2 : Phân tích và thiết kế hệ thống
Chương 3 : Thiết kế và xây dựng ứng dụng
Chương 4 : Kết luận và hướng phát triển
3
Trang 5
LỜI CẢM ƠN
Trước tiên em xin gửi lời cảm ơn chân thành sâu sắc tới các thầy cô giáotrong Khoa Công nghệ thông tin và Truyền thông Đại học Đà đã tận tình giảngdạy, truyền đạt cho em những kiến thức, kinh nghiệm quý báu trong suốt trongthời gian qua
Đặc biệt em xin gửi lời cảm ơn đến thầy giáo Ths Nguyễn Văn Bình đã tận
tình giúp đỡ, trực tiếp chỉ bảo, hướng dẫn em trong suốt quá trình thực hiện họcphần Đồ án Trong thời gian làm việc, em không ngừng tiếp thu thêm nhiều kiếnthức bổ ích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu khoa họcnghiêm túc, hiệu quả, đây là những điều rất cần thiết cho em trong quá trình họctập và công tác sau này
Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên,đóng góp ý kiến và giúp đỡ em trong quá trình học tập, nghiên cứu và hoàn thành
bài Đồ án cơ sở 3 này.
Một lần nữa, em xin chân thành cảm ơn.!
Trang 6NHẬN XÉT
(Của giảng viên hướng dẫn)
5
Trang 7M C L C ỤC LỤC ỤC LỤC
Chương 1 GIỚI THIỆU 8
1.1 TÌM HIỂU ĐỀ TÀI 8
1.1.1 Tính cấp thiết 8
1.1.2 Nội dung tổng quan 8
1.1.3 Mục đích 8
1.1.4 Phạm vi 9
1.2 LÝ THUYẾT LIÊN QUAN 9
1.2.1 Nền tảng Android 9
1.2.2 Lập trình Android 9
1.2.3 Java 10
1.2.4 Android Studio 10
1.2.5 Cơ sở dữ liệu dạng JSON 11
1.2.6 Framework Laravel 11
1.2.7 REST và RESTful API 12
4 lệnh CRUD cơ bản 12
1.3 KHẢO SÁT THỰC TRẠNG 13
1.3.1 Shopee 13
1.3.2 Thegioididong 14
1.4 CHỨC NĂNG VÀ KẾT QUẢ DỰ KIẾN 14
1.4.1 Chức năng 14
1.4.2 Kết quả dự kiến 15
Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 16
2.1 KHẢO SÁT VÀ ĐẶC TẢ YÊU CẦU 16
2.1.1 Xác định Actor 16
2.1.2 Xác định yêu cầu người sử dụng 16
2.2 BIỂU ĐỒ USECASE 16
2.2.1 Xây dựng biểu đồ Usecase 16
2.2.2 Mô tả các Usecase 17
2.3 XÂY DỰNG BIỂU ĐỒ LỚP 19
2.4 XÂY DỰNG BIỂU ĐỒ HOẠT ĐỘNG 19
2.5 XÂY DỰNG BIỂU ĐỒ TUẦN TỰ 20
2.6 Thiết kế cơ sở dữ liệu 22
2.6.1 Danh sách các bảng 22
2.6.2 Bảng products 23
2.6.3 Bảng categories 23
2.6.4 Bảng bills 24
2.6.5 Bảng bill_details 24
2.6.6 Bảng Users 24
Chương 3 THIẾT KẾ VÀ XÂY DỰNG ỨNG DỤNG 26
3.1 GIAO DIỆN NGƯỜI DÙNG 26
3.1.1 Trang chủ hiển thị 26
3.1.2 Đăng nhập/ Đăng ký 27
3.1.3 Trang thông tin sản phẩm 27
Trang 83.1.4 Đặt hàng 28
3.1.5 Thông tin đơn hàng 28
3.2 Giao diện Admin 28
3.2.1 Trang đăng nhập 28
3.2.2 Trang quản lý đơn hàng 29
Chương 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 30
4.1 KẾT LUẬN 30
4.2 ƯU, NHƯỢC ĐIỂM 30
4.2.1 Ưu điểm 30
4.2.2 Nhược điểm 30
4.3 HƯỚNG PHÁT TRIỂN 30 TÀI LIỆU THAM KHẢO 31
7
Trang 9DANH MỤC CÁC HÌNH
Trang
1.2- 1 Trang chủ Waka 11
1.2- 2 Trang đọc truyện của Waka 12
1.2- 3 Trang chủ Webtruyen 12
2.2- 1 Mô tả Usecase 16
2.2- 2 Mô tả Usecase 17
2.3- 1 Biểu đồ lớp 18
2.4- 1 Đăng nhập 18
2.4- 2 Đăng bình luận 19
2.4- 3 Quản lý chương 19
2.5- 1 Đăng nhập 20
2.5- 2 Quản lý sách 20
2.5- 3 Đăng bình luận 21
2.5- 4 Thống kê bình chọn 21
3.1- 1 Giao diện trang chủ 26
3.1- 2 Giao diện trang truyện 26
3.1- 3 Giao diện đọc truyện 27
3.1- 4 Giao diện mục yêu thích 27
3.1- 5 Giao diện trang cá nhân 28
3.2- 1 Giao diện trang chủ admin 28
3.2- 2 Giao diện quản lý chương 29
3.2- 3 Giao diện quản lý chương truyện 29
3.2-4 Giao diện trang cá nhân admin 30
Trang 11DANH MỤC CÁC BẢNG
Trang
2.2- 1 Mô tả Usecase 12
2.2- 2 Mô tả các Usecase 13
2.6- 1 Danh sách các bảng 18
2.6- 2 Bảng Sach 18
2.6- 3 Bảng Danhmuc 18
2.6- 4 Bảng Tacgia 19
2.6- 5 Bảng Binhchon 19
2.6- 6 Bảng binhluan 19
2.6- 7 Bảng Chuong 20
2.6-8 Bảng Users 20
Trang 12Chương 1 GIỚI THIỆU
1.1 TÌM HIỂU ĐỀ TÀI
Đề tài: Xây dựng website đọc truyện trực tuyến
1.1.1 Tính cấp thiết
Thay vì tìm kiếm và mua sản phẩm trên website, rất nhiều khách hàng đã sử
dụng app bán hàng trên điện thoại di động để mua hàng Một số khách hàng bây
giờ thậm chí chỉ vào app mua hàng không cần đăng nhập vào website vì thiết kếcủa app đáp ứng nhiều trải nghiệm phong phú cho người dùng Vì lẽ đó, chỉ tínhriêng ở Việt Nam, App hiện là công cụ mua sắm hữu hiệu nhất khi có khoảng 35triệu chiếc Smartphone đang hoạt động, chưa kể các thiết bị tương tự khác nhưTablet, máy tính bảng,…
Sự bùng nổ của các app di động thật sự đang khiến mọi doanh nghiệp đều
cần viết app bán hàng riêng cho mình, bạn có thể thấy những thương hiệu kinh
doanh sản phẩm điện tử lớn tại Việt Nam như app thegioididong hay FPTShop,…
đều sở hữu cho mình những app mua sắm riêng, khách hàng chỉ cần tải app và
có thể thao tác dễ dàng khi mua sắm, khách hàng sẽ quay lại với họ bởi tính tiệndụng mà app mobile mang lại hay chính xác hơn là trải nghiệm mua hàng trênapp hoàn toàn vượt trội hơn so với website trên di động
1.1.2 Nội dung tổng quan
Xây dựng các chức năng cơ bản của một ứng dụng bán hàng App có khả năngtương thích, hiển thị tốt trên tất cả các thiết bị hiện tại và có thể nâng cấp trongtương lai
Ứng dụng giao diện đẹp, thu hút người dùng
1.1.3 Mục đích
Truy cập nhanh chóng, thuận tiện trên các thiết bị di động
App trên di động giúp bạn tương tác cao hơn với người dùng, theo dõi và nắmbắt nhu cầu thị trường
11
Trang 131.1.4 Phạm vi
Sử dụng ngôn ngữ lập trình Java để lập trình di động trên nền tảng Android
Sử dụng cơ sở dữ liệu Postgressql
Rest api kết nối với cơ sở dữ liệu
1.2 LÝ THUYẾT LIÊN QUAN
1.2.1 Nền tảng Android
Android là một hệ điều hành dựa trên nền tảng Linux Nó được thiết kế ra đểdành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minhhay máy tính bảng
Android có mã nguồn mở và Google phát hành mã nguồn theo Giấy phépApache Chính mã nguồn mở và những giấy phép không có quá nhiều ràng buộc
Đã tạo điều kiện thuận lợi để Android phát triển Thêm vào đó Android còn cómột cộng đồng đông đảo các lập trình viên và các chuyên gia có thể chuyên viếtcác ứng dụng để mở rộng chức năng của thiết bị
1.2.2 Lập trình Android
Lập trình android là một lập tnrình ứng dụng di động phổ biến Trước đây,Android được phát triển bởi công ty liên hợp Android ( sau đó được Google mualại vào năm 2005)
Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ngữ Java Sự ramắt của Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liênminh thiết bị cầm tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm
và viễn thông nhằm mục đính tạo nên một chuẩn mở cho điện thoại di động trongtương lai
bộ nhớ với các đối tượng không được dùng đến
Trang 141.2.3 Java
Java là ngôn ngữ chính thức để phát triển Android Đây là ngôn ngữ có sự hỗ trợnhiều nhất từ Google Nó cũng là ngôn ngữ mà hầu hết các ứng dụng trên PlayStore được xây dựng Nó cũng là ngôn ngữ chính thức của Android Hệ điều hànhAndroid của Google sử dụng Java như là cơ sở cho tất cả các ứng dụng Android.Java được thiết kế để tương thích với nhiều môi trường phát triển nên nó đượcxem là linh hoạt hơn ngôn ngữ lập trình hướng đối tượng C++ và ngôn ngữ lậptrình C Ngoài ra Java còn có hiệu suất cao nhờ vào trình thu gom rác Nó giảiphóng bộ nhớ với các đối tượng không được dùng đến
Dựa trên phần mềm IntelliJ IDEA của JetBrains, Android Studio được thiết kếđặc biệt để phát triển ứng dụng Android Nó hỗ trợ các hệ điều hành Windows,Mac OS X và Linux, và là IDE chính thức của Google để phát triển ứng dụngAndroid gốc để thay thế cho Android Development Tools (ADT) dựa trênEclipse
13
Trang 151.2.5 Cơ sở dữ liệu dạng JSON
JSON là chữ viết tắt của Javascript Object Notation, đây là một dạng dữ liệutuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều
có thể đọc được, bạn có thể sử dụng lưu nó vào một file, một record trongCSDL rất dễ dàng JSON có định dạng đơn giản, dễ dàng sử dụng và truy vấnhơn XML rất nhiều nên tính ứng dụng của nó hiện nay rất là phổ biến
JSON là viết tắt của JavaScript Object Notation
JSON là định dạng trao đổi dữ liệu văn bản dung lượng nhẹ
JSON là ngôn ngữ độc lập
JSON được "tự mô tả" và dễ hiểu
Cú pháp của JSON rất đơn giản là mỗi thông tin dữ liệu sẽ có 2 phần đó làkey và value, điều này tương ứng trong CSDL là tên field và giá trị của nó ởmột record nào đó Đặc biệt :
Chuỗi JSON được bao lại bởi dấu ngoặc nhọn {}
Các key, value của JSON bắt buộc phải đặt trong dấu nháy kép {"}
Nếu có nhiều dữ liệu (nhiều cặp key => value) thì ta dùng dấu phẩy (,) đểngăn cách
1.2.6 Framework Laravel
Laravel là một PHP Framework mã nguồn mở và miễn phí, được phát triểnbởi Taylor Otwell và nhắm mục tiêu hỗ trợ phát triển các ứng dụng web theocấu trúc model- view- controller (MVC) Những tính năng nổi bật của Laravelbao gồm cú pháp dễ hiểu- rõ ràng, một hệ thống đóng gói Modular và quản lýgói phụ thuộc, nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ,nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng
Vào khoảng Tháng 3 năm 2015, các lập trình viên đã có một cuộc bình chọnPHP framework phổ biến nhất, Laravel đã giành vị trí quán quân cho PHPframework phổ biến nhất năm 2015, theo sau lần lượt là Symfony2, Nette,CodeIgniter, Yii2 vào một số khác Trước đó, Tháng 8 năm 2014, Laravel đã trởthành project PHP phổ biến nhất và được theo dõi nhiều nhất trên Github
Laravel được phát hành theo giấy phép MIT, với source code được lưu trữtại Gitthub
Trang 161.2.7 REST và RESTful API
REST được viết tắt bởi Representational State Transfer, là cấu trúc mẫuquy định các ứng dụng giao tiếp và tương tác với nhau Nó bao gồm 3 bộ phận
cơ bản như: bộ máy chủ ngoài chứa dữ liệu (external server), máy chủ API vàmáy chủ khách (client) Trong đó, máy khách có thể là bất cứ thứ gì, ứng dụngtrên nền web, thư viện hoặc thậm chí là các phần mềm khác nhau của một phầnmềm máy tính
REST cho phép các máy khách truy cập máy chủ API và thực hiện cáclệnh lấy về, chỉnh sửa hay xóa dữ liệu từ external server Các lập trình viên cóthể thoải mái truy xuất, chỉnh sửa dữ liệu từ máy chủ mà không cần biết hệthống hoạt động như thế nào
Giao thức chính của REST sử dụng là HTTP, một giao thức phổ biến vớihầu hết các ứng dụng hay dịch vụ web hiện nay Nó đem tới hiệu quả nhanhchóng trong bối cảnh đường truyền mạnh mẽ và khiến cho REST kiến trúc tốc
độ nhanh hơn
Ngoài ra, REST cũng có ưu điểm khi sử dụng giao thức stateless (khôngtrạng thái) Hệ thống này không sử dụng session, cookie, không cần biết nhữngthông tin đó trong mỗi lần request đến máy chủ ngoài Điều này giúp RESTgiảm tải cho máy chủ ngoài, nâng cao hiệu suất làm việc
REST ban đầu được thiết kế để sử dụng cho các dịch vụ web Tuy nhiên,bất cứ phần mềm nào cũng có thể ứng dụng REST làm cầu nối giao tiếp với cácứng dụng khác tốt và hiệu quả hơn Đó cũng là lý do giúp cho REST trở thànhtiêu chuẩn mặc định cho hầu hết các giao thức Và những API được thiết kế theocấu trúc REST được gọi là RESTful API
4 lệnh CRUD cơ bản
CRUB bao gồm: Create, Read, Update, Delete Đây là 4 chức năng cơ bản củabất kỳ cơ sở dữ liệu nào REST và RESTful cũng không ngoại lệ Cá kiến trúcnày đều hỗ trợ đầy đủ 4 lệnh, giúp bạn có thể thao tác với dữ liệu lấy từ máy chủ
dễ dàng hơn
Trong REST, 4 lệnh có tên gọi hơi khác một chút:
Post: Có chức năng tạo dữ liệu, thông tin mới
Get: Lệnh đọc/lấy một dữ liệu, thông tin mới
Put: Cập nhật thông tin và dữ liệu đã có
Delete: Xóa thông tin và dữ liệu đã có
Trong 4 lệnh, Get được đánh giá là lệnh an toàn và phổ biến nhất, được chophép bởi hầu hết các Restful API hiện nay 3 lệnh còn lại ít nhiều làm theo đổicác dữ liệu gốc máy chủ, có nguy cơ dẫn tới tai nạn ngoài ý muốn Cho nên, chỉ
15
Trang 17những API được thiết kế riêng hay được cấp thẩm quyền như API đối tác,Admin mới được thực hiện các lệnh đó.
App dễ dàng và thân thiện với người
Deal, voucher giảm giá nhiều và được cập nhật hàng ngày
Số lượng hàng hóa đa dạng chủng loại, mặt hàng và lượng shop cung ứng
- Ưu điểm: Giao diện đẹp, dễ sử dụng Nhiều chức năng Danh mục phong phú
- Nhược điểm: Ứng dụng yêu cầu nhiều dung lượng
Trang 181.3.2 Thegioididong
1.2-2 Trang chủ Webtruyen
- Mô tả:
Tìm kiếm so sánh sản phẩm nhanh và độ tin cậy cao
Giao diện mới đơn giản và tinh tế
Cung cấp nhiều tiện ích khác như 1 kho nhạc MP3 đồ sộ với các tác phẩm,tác giả được cập nhật liên tục
Thanh toán hóa đơn, đóng tiền trả góp nhanh chóng
Cập nhật tin tức công nghệ thường xuyên
- Ưu điểm: Sản phẩm được mô tả kĩ, có video và ảnh 3600 về sản phẩm
- Nhược điểm: Giao diện chưa được đẹp mắt, thu hút
1.4 CHỨC NĂNG VÀ KẾT QUẢ DỰ KIẾN
Giao diện đẹp mắt, dễ sử dụng, tương thích với tất cả các thiết bị
Có mục lưu trữ sách dành cho thành viên của trang web
17
Trang 191.4.2 Kết quả dự kiến
- Xây dựng thành công ứng dụng bán hàng trên nền tảng Android
- Tìm hiểu nắm bắt được các kiến thức về JAVA, PHP, Laravel, …
- Ứng dụng , phát triển được công nghệ thiết kế web bằng Laravel
Trang 20Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1 KHẢO SÁT VÀ ĐẶC TẢ YÊU CẦU
Trang 21• Admin
Hình 1 2 Biểu đồ Use case của Admin
• Biểu đồ Usecase tổng quát
Hình 1 4 Biểu đồ Use case tổng quát
2.2.2 Mô tả các Usecase
Tên Use case Đăng nhập Xem danh sách
sản phẩm theo danh mục
Mua hàng
Actor sử
dụng
Mô tả Để đảm bảo an toàn Xem danh sách sản Mua hàng sau khi
Trang 22cho hệ thống, Adminphải đăng nhập.
Người dùng đăngnhập để có thể đặthàng
phẩm theo danhmục
chọn sản phẩm và sốlượng
Nhập thông tin địachỉ và số điện thoạiliên hệ khi giao hàngHoàn tất mua hàng
Dữ liệu vào Email, Password Danh mục Sản phẩm và số
- Đăng nhập, và nhậpcác thông tin giaohàng
- Chọn mua hàng đểhoàn tất đặt hàng
Kết quả Đăng nhập thành công
nếu đúng Email vàPassword
Đăng nhập thất bạinếu sai Email hoặcPassword
Danh sách sảnphẩm
Đơn hàng được đặtthành công
2.2-1 Mô tả Usecase
21
Trang 232.3 XÂY DỰNG BIỂU ĐỒ LỚP
2.3-2 Biểu đồ lớp
2.4 XÂY DỰNG BIỂU ĐỒ HOẠT ĐỘNG
*Biểu đồ hoạt động của một số chức năng
2.4-3 Đăng nhập
Trang 242.4-4 Quản lý đơn hàng
2.4-5 Quản lý đặt hàng
2.5 XÂY DỰNG BIỂU ĐỒ TUẦN TỰ
* Biểu đồ tuần tự một số chức năng cơ bản
23