Đồ án tốt nghiêp Xây dựng ứng dụng bán hàng online trên hệ điều hành Android
Trang 1TRƯỜNG ĐẠI HỌC KHOA
ĐỒ ÁN TỐT NGHIỆP Đề tài: Xây dựng ứng dụng bán hàng online trên hệ điều hành Android
Giảng viên hướng dẫn : Sinh viên thực hiện:
MSSV:DTCLớp: K1A
Thái nguyên - 20
Trang 2LỜI CẢM ƠN
Để hoàn thành bài báo cáo đồ án tốt nghiệp này, em xin chân thành cảm ơn cácthầy cô trong trường Đại Học , đặc biệt các thầy cô trong Khoa chuyên ngành trongsuốt thời gian qua đã trang bị kiến thức chuyên ngành cho em thực hiện được đề tàinày
Em xin chân thành cám ơn thầy giáo - Thạc sỹ A đã hướng dẫn và tận tình giúp
đỡ, chỉ bảo em trong suốt thời gian thực hiện đề tài giúp em học hỏi thêm nhiều kinhnghiệm khi làm việc tự lập để em có thể hoàn thành tốt đề tài này
Em cũng xin gửi lời cảm ơn đến gia đình, bạn bè luôn động viên giúp đỡ emtrong suốt thời gian học tập và nghiên cứu, đóng góp những kinh nghiệm quý báutrong thời gian thực hiện đề tài này
Cuối cùng em xin chân thành cảm ơn các thầy cô và các bạn!
Thái Nguyên, tháng 0 năm 20
Sinh viên thực hiện
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 1
DANH MỤC HÌNH ẢNH 3
DANH MỤC BẢNG BIỂU 5
LỜI NÓI ĐẦU 6
CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 8
1.1 TÌM HIỂU VỀ THƯƠNG MẠI ĐIỆN TỬ 8
1.2 ƯU ĐIỂM CỦA THƯƠNG MẠI ĐIỆN TỬ 9
1.3 THƯƠNG MẠI ĐIỆN TỬ GIÚP NGƯỜI BÁN 9
1.4 THƯƠNG MẠI ĐIỆN TỬ GIÚP NGƯỜI MUA 10
1.5 THANH TOÁN TRỰC TUYẾN 10
1.6 THƯƠNG MẠI ĐIỆN TỬ 11
1.7 TÌM HIỂU VỀ HỆ ĐIỀU HÀNH ANDROID 18
1.7.1 Giới thiệu về Hệ điều hành Android 18
1.7.2 Lịch sử hệ điều hành Android 18
1.7.3 Giao diện Android 19
1.7.8 Các thành phần của Android 19
1.8 TÌM HIỂU VỀ NGÔN NGỮ JAVA 23
1.8.1 Java là gì 23
1.8.2 Lịch sử Java 23
1.8.3 Sự phổ biến 24
1.9.4 Đặc điểm của Java 24
1.8.5 Ứng dụng của Java 26
CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 28
2.1 GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI 28
2.1.1 Mục tiêu đề tài 28
2.1.2 Yêu cầu của đề tài 28
2.1.3 Xây dựng ứng dụng thương mại điện tử 28
2.1.4 Các chức năng chính 28
2.1.5 Đối tượng và phạm vi nguyên cứu 29
2.2 KHẢO SÁT MỘT SỐ ỨNG DỤNG BÁN HÀNG TRÊN THIẾT BỊ DI ĐỘNG 29
2.2.1 Lazada 29
2.2.2 Shopee 30
2.2.3 Tiki 31
2.2.4 Sendo 32
Trang 42.3 GIẢI PHÁP THỰC HIỆN 33
2.3.1 Tìm hiểu thông tin 33
2.3.2 Giải pháp thực hiện cho ứng dụng 34
2.3.3 Môi trường phát triển và triển khai 34
2.4 PHÂN TÍCH HỆ THỐNG 35
2.4.1 Mô tả nghiệp vụ 35
2.4.2 Yêu cầu hệ thống 35
2.4.2.3 Bảo mật và quyền hạn 36
2.4.3 Mô hình UseCase 36
2.4.3.1 Mô hình UseCase tổng quát 36
2.4.4 Danh sách các Use Case 40
2.4.5 Đặt tả Use Case 41
2.4.5.1 Use Case “Đăng ký” 41
2.4.6 Sơ đồ tuần tự 45
2.4.6.1 Sơ đồ tuần tự cho UseCase “ Thêm sản phẩm vào giỏ hàng “ 46
2.4.6.2.Sơ đồ tuần tự cho UseCase “Đặt hàng” 47
2.4.7 Sơ đồ hoạt động 48
2.4.8 Sơ đồ lớp 53
2.4.8.2 Danh sách các lớp 54
2.4.8.3 Mô tả chi tiết từng lớp 54
2.4.9 Sơ đồ thực thể liên kết 56
CHƯƠNG 3 CÀI ĐẶT CHƯƠNG TRÌNH 57
3.1 THIẾT KẾ KIẾN TRÚC 57
3.1.1 Kiến trúc hệ thống 57
3.2 MỘT SỐ GIAO DIỆN CHÍNH 58
3.2.1 Giao diện người dùng 58
3.2.2 Giao diện quản trị 64
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 68
TÀI LIỆU THAM KHẢO 70
Trang 5DANH MỤC HÌNH ẢNH
HÌNH 2.1 HÌNH ẢNH ỨNG DỤNG LAZADA 39
HÌNH 2.2 HÌNH ẢNH ỨNG DỤNG SHOPEE 40
HÌNH 2.3 HÌNH ẢNH ỨNG DỤNG TIKI 41
HÌNH 2.4 HÌNH ẢNH ỨNG DỤNG SENDO 42
HÌNH 2.5 HÌNH ẢNH ỨNG DỤNG AMAZON 44
HÌNH 2.6 HÌNH ẢNH ỨNG DỤNG ZALORA 45
HÌNH 2.7.HÌNH ẢNH ỨNG DỤNG ALIEXPRESS 46
HÌNH 2.8 HÌNH ẢNH ỨNG DỤNG EBAY 47
HÌNH 2.9 HÌNH ẢNH ỨNG DỤNG FLIPKART 48
HÌNH 2.10: BIỂU ĐỒ USECASE 54
HÌNH 2.11: BIỂU ĐỒ LỚP CỦA HỆ THỐNG 69
HÌNH 2.12: SƠ ĐỒ TUẦN TỰ QUY TRÌNH ĐƯA SẢN PHẨM VÀO GIỎ HÀNG 62
HÌNH 2.13: SƠ ĐỒ TUẦN TỰ QUY TRÌNH ĐẶT HÀNG 63
HÌNH 3.1 MÔ HÌNH CLIENT – SERVER 73
HÌNH 3.2.GIAO DIỆN ĐĂNG KÝ 74
HÌNH 3.3 GIAO DIỆN ĐĂNG NHẬP 75
HÌNH 3.4 GIAO DIỆN TRANG CHỦ 76
HÌNH 3.5 GIAO DIỆN CHI TIẾT SẢN PHẨM 77
HÌNH 3.6 GIAO DIỆN GIỎ HÀNG 78
HÌNH 3.7.GIAO DIỆN ĐẶT HÀNG 79
HÌNH 3.8 GIAO DIỆN QUẢN TRỊ 80
HÌNH 3.9 GIAO DIỆN QUẢN TRỊ KHÁCH HÀNG 81
HÌNH 3.10 GIAO DIỆN QUẢN LÝ SẢN PHẨM 82
HÌNH 3.11 GIAO DIỆN QUẢN LÝ ĐƠN HÀNG 83
Trang 7DANH MỤC BẢNG BIỂU
BẢNG 2.1 DANH SÁCH CÁC ACTOR 53 BẢNG 2.2: DANH SÁCH CÁC USECASE 56 BẢNG 2.3: DANH SÁCH CÁC LỚP 70 BẢNG 3.1 DANH SÁCH CÁC THÀNH PHẦN TRONG MÔ HÌNH CLIENT – SERVER 73
Trang 8LỜI NÓI ĐẦU
Khoa học công nghệ trên thế giới ngày càng phát triển mạnh mẽ và có những
bước tiến đáng nể Dễ thấy nhất là sự xuất hiện và thay đổi của những chiếc điện thoại thông minh trong nhiều năm gần đây Quả không sai khi gọi nó là “smartphone” bởi
ngoài những tính năng cơ bản của một chiếc điện thoại di động như nghe, gọi, nhắn tin
thì chiếc điện thoại thông minh còn sở hữu những ứng dụng vô cùng hiện đại ngangtầm với một chiếc máy tính xách tay Và những ứng dụng ấy mang lại cho người rấtnhiều công dụng quan trọng trong cuộc sống hiện đại này
Ngày nay điện thoại thông minh được sử dụng rất phổ biến trong cuộc sống.Người ta không còn sử dụng nó với mục đích chính là nghe gọi nữa mà điện thoạithông minh được sử dụng nhiều các ứng dụng hiện đại khác mà nó mang lại Chiếcsmartphone sở hữu tất cả những ứng dụng như đồng hồ báo thức hay lịch nhắc việcchuyên nghiệp Vì thế mà nó trở thanh một thiết bị điện tử đa năng thay thế cho đồng
hồ báo thức hay lịch để bản, do vậy người chủ của nó sẽ luôn yên tâm rằng mìnhkhông bao giờ để quên một cuộc hẹn hay sự kiện nào Những chiếc điện thoại thôngminh còn được tích hợp hệ thống định vị toàn cầu GPS, với một vài thao tác đơn giản,bạn có thể dễ dàng xác định chính xác vị trí của mình, sau đó dùng chức năng dẫnđường đến thẳng địa điểm mong muốn Thậm chí, nhiều ứng dụng miễn phí còn chophép bạn tìm kiếm trạm rút tiền ATM, nhà hàng hay khách sạn ở khu vực xung quanhđó
Nắm bắt được những lợi ích đó em đã chọn đề tài “Xây dựng ứng dụng bánhàng trên android “ để làm báo cáo đồ án tốt nghiệp lần này.Vì hệ điều hành Androidhiện vẫn phổ biến hơn nhiều so với iOS Hệ điều hành này đã chiếm tới 85.9% thịphần di động trong năm qua Sự phổ biến của Android bởi sức len lỏi của hệ điều hànhnày ở mọi thiết bị di động, từ điện thoại cao cấp đến những sản phẩm có giá phổthông Trong khi đó với iPhone, máy vẫn chỉ hướng đến người dùng ở phân khúc cao
cấp Đó là lý do em lựa chọn đề tài “Xây dựng ứng dụng bán hàng trên Android”.
Em xin chân thành cảm ơn các thầy, cô giáo Khoa Công Nghệ Thông Tin đã giảng dạy
em bộ môn Lập trình ứng dụng trên thiết bị di động trong thời gian vừa qua Đặc biệt
là cô giáo - Thạc sỹ A là giáo viên hướng dẫn trực tiếp đã tận tình chỉ bảo em hoàn
thành đề tài Do thời gian không nhiều và kinh nghiệm bản thân cũng như kỹ thuật
Trang 9chuyên môn còn nhiều hạn chế nên báo cáo không tránh khỏi những thiếu sót Rấtmong được sự góp ý của thầy cô và các bạn để ứng dụng được hoàn thiện và có thểtriển khai thực tế.
Chương 1: Cơ sở lý thuyết
Chương này tìm hiểu kiến thức cơ bản tạo lên một ứng dụng android.
Chương 2 : Phân tích & thiết kế hệ thống ứng dụng bán hàng trên android.
Chương này khảo sát thực tế, phân tích bài toán, đưa ra các chức năng của ứng dụng bán hàng trên android.
Chương 3: Xây dựng demo ứng dụng
Chương này giới thiệu một số chức năng chính của ứng dụng bán hàng trên android
Thái Nguyên, tháng 0 năm 20
Sinh viên thực hiện
Trang 10CHƯƠNG 1 CƠ SỞ LÝ THUYẾT 1.1 Tìm hiểu về thương mại điện tử
- Công nghệ tiên tiến hiện nay giúp doanh nghiệp biến Ứng dụng của mìnhthành những siêu thị hàng hóa trên Internet, biến người mua thực sự trở thành nhữngngười chủ với toàn quyền trong việc chọn lựa sản phẩm, tìm kiếm thông tin, so sánhgiá cả, đặt mua hàng, ký kết hợp đồng với hệ thống tính toán tiền tự động, rõ ràng,trung thực
- Thương mại điện tử (E-Commerce) là hình thái hoạt động kinh doanh bằngcác phương pháp điện tử; là việc trao đổi "thông tin" kinh doanh thông qua các phươngtiện công nghệ điện tử
- Hiện nay có rất nhiều cách hiểu khác nhau về Thương mại điện tử Nhiềungười hiểu Thương mại điện tử là bán hàng trên mạng, trên Internet Một số ý kiếnkhác lại cho rằng Thương mại điện tử là làm thương mại bằng điện tử Những cáchhiểu này đều đúng theo một góc độ nào đó nhưng chưa nói lên được phạm vi rộng lớncủa Thương mại điện tử
- Theo khái niệm này, Thương mại điện tử không chỉ là bán hàng trên mạng haybán hàng trên Internet mà là hình thái hoạt động kinh doanh bằng các phương phápđiện tử Hoạt động kinh doanh bao gồm tất cả các hoạt động trong kinh doanh nhưgiao dịch, mua bán, thanh toán, đặt hàng, quảng cáo và kể cả giao hàng Các phươngpháp điện tử ở đây không chỉ có Internet mà bao gồm việc sử dụng các phương tiệncông nghệ điện tử như điện thoại, máy FAX, truyền hình và mạng máy tính (trong đó
có Internet) Thương mại điện tử cũng bao hàm cả việc trao đổi thông tin kinh doanhthông qua các phương tiện công nghệ điện tử Thông tin ở đây không chỉ là những sốliệu hay văn bản, tin tức mà nó gồm cả hình ảnh, âm thanh và phim video
- Các phương tiện điện tử trong Thương mại điện tử
Trang 11- Các hình thức hoạt động Thương mại điện tử
+ Thư tín điện tử (E-mail)
+ Thanh toán điện tử
+ Trao đổi dữ liệu điện tử (EDI)
+ Trao đổi số hoá các dung liệu
+ Mua bán hàng hoá hữu hình
Thương mại điện tử hiện nay đã trở nên khá quen thuộc và trở thành một môitrường thương mại không thể thiếu được trong đời sống kinh tế xã hội phát triển ỞViệt Nam, Thương mại điện tử đang được các doanh nghiệp từng bước áp dụng vàohoạt động sản xuất kinh doanh của mình Thương mại điện tử có những thế mạnh vượttrội mà không một loại hình kinh doành nào khác có được
1.2 Ưu điểm của thương mại điện tử
- Ưu điểm tuyệt đối của Thương mại Điện tử là cho phép người sử dụng thựchiện các hoạt động kinh doanh ngay lập tức trên quy mô toàn cầu, từ việc quảng cáocông ty, tiếp thị sản phẩm, đàm phán và đặt hàng cho đến các khâu thanh toán, giữ liênhệ với khách hàng và hỗ trợ sau bán hàng Bởi vì:
1.3 Thương mại điện tử giúp người bán
- Tiếp thị hiệu quả sản phẩm và dịch vụ của mình ra khắp thế giới
- Tạo kênh bán hàng trực tiếp tới khách hàng với quy mô rộng, tốc độ nhanh
và chi phí giảm rất nhiều so với các kênh bán hàng truyền thống khác
- Mở ra khả năng xuất khẩu hàng ra nước ngoài
- Đơn giản hóa được các thủ tục hành chính, các công việc giấy tờ, tăng hiệuquả giao dịch thương mại
- Với Ứng dụng Thương mại điện tử, doanh nghiệp tạo cho mình khả năngkinh doanh liên tục 24/24 giờ, liên tục 07 ngày trong tuần với chi phí rất thấp Khôngcần nhân viên giám sát khách hàng như tại các siêu thị bình thường, không cần bỏ tiềnthuê địa điểm bán hàng, không cần hệ thống kiểm tra, giới thiệu sản phẩm, không cầnhệ thống tính tiền, Tất cả đều được Ứng dụng làm tự động, rất nhanh chóng và với
độ chính xác tuyệt đối
Trang 12- Tại cùng 1 thời điểm, Ứng dụng Thương mại điện tử có thể phục vụ hàngtriệu lượt người mua hàng ở khắp nơi trên thế giới với các yêu cầu rất khác nhau vềthông tin sản phẩm, chủng loại sản phẩm, giá cả, hình ảnh, chất lượng, mẫu mã,
- Thông tin, giá cả sản phẩm được cập nhật, thay đổi một cách tức thời theo sựbiến động của thị trường
- Ứng dụng Thương mại Điện tử đem lại khả năng kinh doanh mới cho doanhnghiệp: "Kinh doanh ngay cả khi bạn đang ngủ"
1.4 Thương mại điện tử giúp người mua
- Có thêm một hình thức mua hàng thuận tiện, dễ dàng, nhanh chóng
- Có thêm một hình thức thanh toán mới tiện lợi, an toàn
- Mở rộng sự chọn lựa khi mua hàng theo thị hiếu và nhu cầu
- Có cơ hội mua sản phẩm và dịch vụ trực tiếp từ nhà sản xuất hoặc nhà cungcấp chính không qua trung gian
Người mua thực sự trở thành người chủ với toàn quyền lựa chọn sản phẩm, tìmkiếm bất kỳ thông tin nào về sản phẩm theo nhu cầu, so sánh giá cả, đặt mua hàng vớihệ thống tính toán tiền tự động, đầy đủ, rõ ràng, trung thực và chính xác nhất
1.5 Thanh toán trực tuyến
Thanh toán trực tuyến là hành động thực hiện thanh toán cho các giao dịchthương mại điện tử, như giao dịch trên internet, điện thoại Mô hình thanh toán trựctuyến hoạt động theo hình thức:
- Người mua sẽ trả cho người bán 1 khoản tiền theo như thỏa thuận, thông qua
Trang 13 Phương thức ví điện tử: Người bán, người mua có một tài khoản do một bênthứ 3 cung cấp, một việc liên quan đến giao dịch được bên thứ 3 bảo đảm.
Ví dụ: Ở Việt Nam, phổ biến nhất có Ngân Lượng, Bảo Kim, Payoo…
Phương thức nạp thẻ cào: Người mua khi thanh toán cần thực hiện nạp thẻcào cho người bán (giải pháp này không được xem là chính thống, khả năng bảo đảmgiữa người bán và người mua không thể thấy được)
Ví dụ: Người mua sẽ nộp thẻ cào điện thoại cho người bán
Ưu điểm:
Đối với sử dụng ví điện tử: mua sắm an toàn, bán hàng tiện lợi Mô hình nàythanh toán trực tuyến này được áp dụng phổ biến nhất đối với những ứng dụng có hỗtrợ thanh toán trực tuyến
Đối với sử dụng thẻ trực tuyến, nộp thẻ cào: Tiện lợi, nhanh, không tốn nhiềuchi phí phụ khác
1.6 Thương mại điện tử
Các cấp độ phát triển của Thương mại điện tử
- Cấp độ 1: thương mại thông tin (i-commerce, i=information: thông tin):
doanh nghiệp có ứng dụng trên mạng để cung cấp thông tin về sản phẩm, dịch vụ Các hoạt động mua bán vẫn thực hiện theo cách truyền thống
- Cấp độ 2: thương mại giao dịch (t-commerce, t=transaction: giao dịch):
doanh nghiệp cho phép thực hiện giao dịch đặt hàng, mua hàng qua ứng dụng trênmạng, có thể bao gồm cả thanh toán trực tuyến
- Cấp độ 3: thương mại tích hợp (c-business, c=colaborating, connecting: tíchhợp, kết nối): ứng dụng của doanh nghiệp liên kết trực tiếp với dữ liệu trong mạng nội
bộ của doanh nghiệp, mọi hoạt động truyền dữ liệu được tự động hóa, hạn chế sự canthiệp của con người và vì thế làm giảm đáng kể chi phí hoạt động và tăng hiệu quả
Trang 14Một số gói phương thức thương mại điện tử:
+ Bán hàng trọn gói: Những người tham gia phải đặt mua hoặc bán và ngườimôi giới thu lệ phí của người bán hoặc người mua cho mỗi giao dịch
+ Thị trường trao đổi: Đây là một mô hình ngày càng phổ biến trong mối quanhệ doanh nghiệp – doanh nghiệp (B2B) Trong mô hình này, người môi giới thườngthu tiền của người bán một khoản lệ phí tính theo giá trị doanh thu Cơ chế tính giá cóthể chỉ đơn giản là chào hàng/mua, chào hàng/mua sau khi thương lượng hoặc mộtcuộc đấu giá chào hàng/đặt giá
+ Cộng đồng thương mại của các doanh nghiệp: Đây là một dạng ứng
dụng đóng vai trò của một nguồn thông tin quan trọng và đầy đủ cho các thị trườngcao cấp Các cộng đồng của web site này có các thông tin về sản phẩm trong phầnhướng dẫn mua hàng, sổ địa chỉ sản phẩm và các nhà cung cấp, các tin và bài viết hàngngày, rao mua rao bán và tuyển lao động Thêm nữa, ứng dụng cho phép các doanh
nghiệp trao đổi thông tin theo kiểu B2B, hỗ trợ các chương trình thương mại và các hoạt động thương mại theo kiểu hiệp hội.
+ Nhiều người mua kết hợp: Hình thức này là một quá trình kết hợp cho nhữngngười mua riêng lẻ thành từng nhóm để mua các lô hàng từ Internet Cho phép các cánhân có lợi như là các doanh nghiệp khi mua sản phẩm theo lô lớn Người bán chỉ phảitrả một khoản phí nhỏ cho mỗi lần bán theo hình thức trả phí theo số lần giao dịch
+ Nhà phân phối: Loại điều hành theo kiểu catalog, nơi mà ứng dụng liên kếtmột số lượng lớn các nhà sản xuất với những người mua buôn với số lượng lớn Nhàphân phối giảm được chi phí bán hàng do giảm nhân công trong các quá trình kiểm trađơn hàng, báo giá và xử lý đơn hàng Người môi giới thu phí từ các giao dịch mua bángiữa các nhà phân phối và các đối tác thương mại của họ Người mua sẽ thâm nhập thịtrường nhanh hơn và giảm chi phí Người mua có các phương tiện để nhận được cácbáo giá từ các nhà phân phối mà họ quan tâm như chỉ ra các giá cả cụ thể, thời gian vàcác khả năng thay thế nên các giao dịch trở nên có hiệu quả Các nhà phân phối giảmđược các chi phí bán hàng nhờ việc chào giá, xử lý đơn hàng, theo dõi tình trạng đơnhàng và thay đổi nhanh chóng hơn với nhân công ít hơn
+ Chợ ảo đơn giản: Là một ứng dụng trở thành nơi hội tụ của nhiều người bán
hàng Doanh thu từ các phí hàng tháng cho các giao dịch, tên cửa hàng và cài đặt
Trang 15Thành công của một chợ ảo sẽ nhiều hơn nữa khi kết hợp chặt chẽ với một site thôngtin hoặc các dịch vụ xử lý các giao dịch tự động hoặc các cơ hội tiếp thị.
+ Chợ ảo có xử lý giao dịch: Giống như chợ ảo, nhưng người tổ chức còn cóthêm việc xử lý các giao dịch và cung cấp thêm các dịch vụ bảo vệ khách hàng Trong
mô hình này, người ta thu phí thiết lập hệ thống và phí trên mỗi giao dịch
+ Môi giới đấu giá: Một ứng dụng tổ chức bán đấu giá cho các cá nhân hoặcnhà cung cấp muốn bán hàng Người môi giới thu tiền lệ phí theo tỷ lệ của giá trị giaodịch Người bán sẽ chấp nhận đặt giá cao nhất của những người mua trên mức tốithiểu Các cuộc đấu giá có thể thay đổi tùy theo luật chào hàng và đặt giá Ví dụ:eBay.com, AuctionNet.com
+ Đấu thầu: Một người mua đề xuất ra giá cho sản phẩm/dịch vụ và người môigiới tìm kiếm nguồn hàng bằng cách liên hệ với các nhà cung cấp
+ Rao vặt mua bán: Một nơi để yết các hàng hóa, dịch vụ cần bán hoặc cầnmua, giống như nhà cung cấp nội dung tin địa phương Giá cả của hàng hóa và dịch vụ
có thể được đăng hoặc không Lệ phí phải trả khi niêm yết cho dù có mua/bán đượchay không
+ Dịch vụ tìm kiếm: Một chương trình thông minh dùng để tìm kiếm các đơngiá thấp nhất cho một sản phẩm/dịch vụ do người mua chỉ định hoặc tìm kiếm cácthông tin khó tìm
+ Các mô hình quảng cáo: Mô hình quảng cáo trên web là một hình thức nângcao của mô hình truyền thống Các nhà truyền thông, trong trường hợp này, là các ứngdụng, cung cấp các nội dung (thường là miễn phí) và các dịch vụ (như thư điện tử,diễn đàn ) phối hợp với các thông điệp quảng cáo ở dạng các băng rôn quảng cáo.Các băng rôn quảng cáo này có thể là nguồn thu chính hoặc duy nhất của ứng dụng
+ Site thông tin tổng hợp: Các site có số người truy cập nhiều thường có hướngcung cấp các dịch vụ và thông tin chung hoặc đa dạng Nhiều người để mắt đến chính
là điểm thu hút quảng cáo và cho phép các site tổng hợp tính tiền quảng cáo đắt hơn.Cạnh tranh để có số lượng người truy cập nhiều hơn dẫn đến các phương thức cungcấp miễn phí nội dung thông tin và các dịch vụ như email, thông tin thị trường chứngkhoán, bảng tin, tin tức hay các thông tin địa phương Ví dụ: Yahoo.com
Trang 16+ Site thông tin tổng hợp cá nhân: Một site tổng hợp cho phép tùy biến giaodiện và các nội dung nhằm để thu hút các thành viên trung thành Thành công chính làlượng truy cập nhiều và các giá trị thông tin thu được từ các lựa chọn của thành viên.
Ví dụ: MyYahoo.com
+Site thông tin tổng hợp đặc biệt: Loại site này còn gọi là vortal (verticalportal) Số lượng truy cập không quan trọng bằng thành phần của thành viên Các dịch
vụ và thông tin rất đặc trưng chính là điểm khác biệt của một site loại này
+ Marketing có thưởng: Mô hình mà khách hàng được trả tiền cho việc xemthông tin, điền các mẫu Phương thức này thu hút các công ty có các thông điệp vềsản phẩm phức tạp làm cho khó có thể giữ được mối quan tâm của khách hàng
+ Mô hình miễn phí: Trong mô hình này, thành viên sử dụng miễn phí một sốdịch vụ, ví dụ như host hoặc dịch vụ web, truy cập Internet, phần cứng miễn phí, hoặcecard, ebook…
+ Mô hình bán giảm giá: Bán các sản phẩm bằng hoặc dưới giá vốn nhằm đểthu hút các khách hàng và sau đó mong muốn thu được lợi nhuận từ doanh thu quảngcáo
+ Các mô hình khai thác thông tin: Những thông tin về người tiêu dùng và thóiquen mua hàng của họ có giá trị đặc biệt khi sử dụng trong một chiến dịch tiếp thị.Một số hãng hoạt động theo hình thức thức thu thập các thông tin này có thể bán chocác hãng khác Một công ty khai thác thông tin có thể cung cấp miễn phí truy cậpInternet [NetZero.com] để đổi lại các thông tin chi tiết về thói quen sử dụng Internet vàmua hàng Mô hình này cũng có thể hoạt động theo các hướng khác: cung cấp chongười tiêu dùng các thông tin hữu ích về các ứng dụng trong một khu vực thị trường
để thu lệ phí Tin có thể cung cấp miễn phí truy cập Internet [NetZero.com] để đổi lạicác thông tin chi tiết về thói quen sử dụng Internet và mua hàng Mô hình này cũng cóthể hoạt động theo các hướng khác: cung cấp cho người tiêu dùng các thông tin hữuích về các ứng dụng trong một khu vực thị trường để thu lệ phí
+ Hệ thống giới thiệu: Các site loại này cho phép người sử dụng chia sẻ thôngtin với người khác về chất lượng sản phẩm và dịch vụ hoặc kinh nghiệm mua hàng.Một số đại lý cũng có khả năng theo dõi thói quen của người sử dụng và sau đó đưa rathêm những lời giới thiệu thích hợp
Trang 17+ Mô hình đăng ký: Đây là những site cung cấp thông tin cho phép người sửdụng khai thác miễn phí nếu điền vào mẫu đăng ký Sau đó, site có thể theo dõi việc sửdụng và tổng hợp dữ liệu có ích cho các chiến dịch quảng cáo định hướng Đây là mộthình thái cơ bản nhất của mô hình khai thác thông tin.
+ Các mô hình bán hàng: Đây là những người bán hàng và bán buôn kinh doanhcác hàng hóa và dịch vụ trên Internet Đôi khi các sản phẩm chỉ có trên web
+ Bán hàng ảo: Đây là mô hình chỉ điều hành qua Internet và cung cấp hoặc làcác sản phẩm truyền thống hoặc các sản phẩm trên web Cách thức bán có thể là niêmyết giá bán hoặc đấu giá
+ Bán hàng theo catalogue: Chính là mô hình của một doanh nghiệp chuyển từđặt hàng qua thư thành việc kinh doanh trên web
+ Nhà cung cấp sản phẩm số hoá: Là mô hình mà một công ty có thể hoạt độngchỉ với các sản phẩm và dịch vụ số hóa qua bán hàng và phân phối trên Internet
+ Nội dung và Nhãn hiệu tích hợp: Theo truyền thống, các nhà sản xuất vẫntrộng đợi vào việc quảng cáo để xây dựng uy tín đối với khách hàng Thương mạithông qua các phương tiện truyền thông thu đài vô tuyến và các tạp chí, báo đã trởnên chỗ dựa chính cho các doanh nghiệp hiện nay Ứng dụng cho phép các nhà sảnxuất tích hợp thương hiệu của họ sâu sắc hơn với các sản phẩm Người tạo ra cuộccách mạng theo xu hướng này là nhà sản xuất ô tô cao cấp BMW Ứng dụngwww.bmwfilms.com của công ty là một sự sáng tạo trong việc pha trộn quảng cáo vớigiải trí mang lại một xu hướng mới gọi là quảng cáo-giải trí với ý tưởng đưa quảng cáosản phẩm lên vị trí cao nhất
+ Các mô hình liên kết: Khác với mô hình site thông tin tổng hợp chung vớimục đích tăng số lượng người truy cập cho một site, mô hình liên kết cung cấp các cơhội mua hàng ở bất cứ site nào họ có thể truy cập
+ Các mô hình cộng đồng: Sự thành công của mô hình này phụ thuộc vào sựtrung thành của người dùng Người dùng cần phải đầu tư cả thời gian và tâm trí vàosite này Trong một số trường hợp, người dùng còn đóng góp nội dung hoặc tiền chosite Để có nhiều người truy cập thường xuyên, site này thường cung cấp các cơ hộicho quảng cáo, khai thác thông tin hoặc thông tin tổng hợp đặc biệt Mô hình cộngđồng cũng có thể hoạt động trên cơ sở thu lệ phí cho các dịch vụ cao cấp
Trang 18+ Mô hình đóng góp tự nguyện: Cũng tương tự như mô hình truyền thông đạichúng cổ điển Mô hình này tồn tại trên cơ sở tạo được một cộng đồng người sử dụng
hỗ trợ site bằng các đóng góp tự nguyện Các tổ chức phi lợi nhuận cũng có thể tìmđến các quỹ từ thiện hoặc tài trợ của các hãng
+ Mạng tri thức: Một mạng chuyên gia cung cấp các thông tin về chuyên môncủa một lĩnh vực nào đó Site này sẽ như là một diễn đàn mà ở đó, người ta có thể đưa
ra các câu hỏi và nhận được trả lời của chuyên gia của site Các chuyên gia có thể lànhân viên hoặc của một người tự nguyện, hoặc đôi khi chỉ đơn giản là của một ngườinào đó vào site và muốn trả lời câu hỏi đó
+ Các mô hình đăng ký và trả lệ phí: Người dùng trả tiền để có quyền truy cậpvào một ứng dụng để xem các thông tin có giá trị Các thông tin chung có thể tìm thấy
ở các hiệu sách không phù hợp với mô hình này Một cuộc thăm dò vào năm 1999 củaJupiter Communications cho thấy 46% người dùng Internet không muốn trả tiền đểxem các ứng dụng Một số hãng đã kết hợp nội dung miễn phí với các nội dung đặcsắc hoặc dịch vụ chỉ cho các thành viên đã đăng ký được sử dụng.Ví dụ: Wall StreetJournal (wsj.com)
+ Các mô hình dịch vụ công cộng: Mô hình dịch vụ công cộng là một mô hìnhvới phương thức thanh toán tiền theo lượng sử dụng Những ứng dụng này gửi hoá đơnthanh toán đến người dùng theo chỉ số đồng hồ đo hoặc theo hướng dùng bao nhiêu trảtiền bấy nhiêu
Ưu điểm:
- Thương mại điện tử tăng cơ hội bán cho người bán đồng thời cũng tăng cơ
hội mua cho người kinh doanh cũng như người mua Các doanh nghiệp có thể dùngthương mại điện tử trong quá trình mua bán để xác định các đối tác cung và cầu mới.Trong thương mại điện tử thì thoả thuận về giá cả và chuyển giao các mặt hàng dễdàng hơn bởi vì Web có thể cung cấp thông tin cạnh tranh về giá cả rất hiệu quả.Thương mại điện tử đẩy mạnh tốc độ và tính chính xác để các doang nghiệp có thể traođổi thông tin và giảm chi phí cho cả hai bên trong các giao dịch
- Thương mại điện tử cho người kinh doanh nhiều sự lựa chọn hơn là thương
mại truyền thống bởi họ có thể đồng thời biết nhiều loại sản phẩm và các loại dịch vụ
từ nhiều người bán khác nhau luôn sẵn sàng hàng ngày, hàng giờ Có khách hàng thì
Trang 19muốn sử dụng một lượng thông tin lớn khi quyết định mua bán trong khi những ngườikhác không cần nhiều như vậy.
- Thương mại điện tử cung cấp cho người kinh doanh cách dễ dàng nhất để tuỳ
chỉnh các cấp độ thông tin trong mua bán Thay vì phải đợi nhiều ngày để gửi thư từ,mang theo một quyển mẫu hoặc các trang mô phỏng sản phẩm hoặc thậm chí nhanhhơn là nhờ vào những giao dịch qua fax, thì người kinh doanh có thể truy cập ngay vàonhững thông tin chi tiết trên Web Với một số sản phẩm như phần mềm, các audio clip,các hình ảnh thậm chí là có thể được chuyển qua Internet, giảm được thời gian màngười kinh doanh phải chờ để bắt đầu việc mua hàng
- Lợi nhuận của thương mại điện tử cũng đã tăng thêm phúc lợi xã hội Thanh
toán điện tử của việc trả thuế, lương hưu, và phúc lợi xã hội chi phí thấp, an toàn vànhanh chóng khi giao dịch qua Internet Hơn nữa các thanh toán điện tử có thể kiểmtoán và điều hành dễ dàng hơn các thanh toán bằng séc có thể chống thất thoát và gianlận
Nhược điểm:
- Tuy nhiên thì cũng có một số hoạt động kinh doanh không thích hợp TMĐT.
Ví dụ, nhiều thực phẩm nhanh hỏng và các mặt hàng đắt tiền như đồ trang sức hoặc đồ
cổ không thể kiểm tra được một cách xác đáng từ điểm xa theo các công nghệ mới sẽđược phát minh ra trong tương lai Tuy nhiên, hầu hết những bất lợi của TMĐT ngàynay bắt nguồn từ tính chất mới lạ và tốc độ phát triển nhanh của các công nghệ cơbản
- Các doanh nghiệp thường tính toán lợi nhuận thu được trên số lượng các vụ
đầu tư trước khi sử dụng bất kỳ công nghệ mới nào Điều đó rất khó thực hiện trongTMĐT bởi chi phí và lợi nhuận rất khó xác định Chi phí, là một chức năng của côngnghệ, có thể thay đổi nhanh chóng thậm chí chỉ trong thời gian ngắn thực hiện các dự
án TMĐT do những công nghệ cơ bản đang thay đổi một cách nhanh chóng
- Nhiều công ty đã gặp rất nhiều khó khăn trong việc tuyển dụng và giữ được
các công nhân có các kỹ năng về công nghệ, thiết kế và quá trình kinh doanh cần thiết
để làm TMĐT có hiệu quả Một vấn đề khác mà các công ty muốn kinh doanh trênInternet phải đối mặt đó là khó khăn trong việc thống nhất cơ sở dữ liệu đang hiện
Trang 20hành và phần mềm xử lý giao dịch được thiết kế cho thương mại truyền thống thànhphần mềm có thể dành riêng cho TMĐT.
- Cùng với các vấn đề về công nghệ và phần mềm, nhiều doanh nghiệp phải
đối mặt với những trở ngại về văn hoá và luật pháp trong TMĐT Nhiều người tiêudùng ở một mức độ nào đó vẫn e ngại việc gửi số thẻ tín dụng trên Internet, có một sốngười tiêu dùng khác đơn giản thường hơn có thể thích hợp được với sự thay đổi vàcảm thấy không thoải mái trong việc xem các hàng hoá trên màn hình máy tính hơn làxem trực tiếp
1.7 Tìm hiểu về hệ điều hành Android
1.7.1 Giới thiệu về Hệ điều hành Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế 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 minh và máy tính bảng.
Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính
từ Googlevà sau này được chính Google mua lại vào năm 2005 Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động Chiếc điện thoại đầu tiên chạy Android được bán
vào năm 2008
1.7.2 Lịch sử hệ điều hành Android
Tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto, California vào tháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng lập Tổng công ty Viễn thông Wildfire), Nick Sears (từng là Phó giám đốc T-Mobile), và Chris White (trưởng thiết kế và giao diện tại WebTV) để
phát triển, theo lời của Rubin, "các thiết bị di động thông minh hơn có thể biết được vịtrí và sở thích của người dùng" Dù những người thành lập và nhân viên đều là nhữngngười có tiếng tăm, Tổng công ty Android hoạt động một cách âm thầm, chỉ tiết lộrằng họ đang làm phần mềm dành cho điện thoại di động Trong năm đó, Rubin hết
kinh phí Steve Perlman, một người bạn thân của Rubin, mang cho ông 10.000 USD
tiền mặt nhưng từ chối tham gia vào công ty
Google mua lại Tổng công ty Android vào ngày 17 tháng 8 năm 2005, biến nó
thành một bộ phận trực thuộc Google Những nhân viên của chủ chốt của Tổng công
Trang 21ty Android, gồm Rubin, Miner và White, vẫn tiếp tục ở lại công ty làm việc sauthương vụ này Vào thời điểm đó không có nhiều thông tin về Tổng công ty, nhưng
nhiều người đồn đoán rằng Google dự tính tham gia thị trường điện thoại di động sau
bước đi này Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị
di động phát triển trên nền nhân Linux Google quảng bá nền tảng này cho các nhà sản xuất điện thoại và các nhà mạng với lời hứa sẽ cung cấp một hệ thống uyển chuyển và
có khả năng nâng cấp Google đã liên hệ với hàng loạt hãng phần cứng cũng như đốitác phần mềm, bắn tin cho các nhà mạng rằng họ sẵn sàng hợp tác với các cấp độ khácnhau
Từ năm 2008, Android đã trải qua nhiều lần cập nhật để dần dần cải tiến hệ
điều hành, bổ sung các tính năng mới và sửa các lỗi trong những lần phát hành trước.Mỗi bản nâng cấp được đặt tên lần lượt theo thứ tự bảng chữ cái, theo tên của một món
ăn tráng miệng; ví dụ như phiên bản 1.5 Cupcake (bánh bông lan nhỏ có kem) tiếp nối bằng phiên bản 1.6 Donut (bánh vòng) Phiên bản mới nhất hiện nay là 8.1 Oreo ra mắt vào ngày 5 tháng 12 năm 2017 Vào năm 2010, Google ra mắt loạt thiết bị Nexus
—một dòng sản phẩm bao gồm điện thoại thông minh và máy tính bảng chạy hệ điềuhành Android, do các đối tác phần cứng sản xuất HTC đã hợp tác với Google trongchiếc điện thoại thông minh Nexus đầu tiên, Nexus One Kể từ đó nhiều thiết bị mới hơn đã gia nhập vào dòng sản phẩm này, như điện thoại Nexus 4 và máy tính bảng Nexus 10, lần lượt do LG và Samsung sản xuất Google xem điện thoại và máy
tính bảng Nexus là những thiết bị Android chủ lực của mình, với những tính năngphần cứng và phần mềm mới nhất của Android
1.7.3 Giao diện Android
Giao diện người dùng của Android dựa trên nguyên tắc tác động trực tiếp, sửdụng cảm ứng chạm tương tự như những động tác ngoài đời thực như vuốt, chạm, kéogiãn và thu lại để xử lý các đối tượng trên màn hình Sự phản ứng với tác động củangười dùng diễn ra gần như ngay lập tức, nhằm tạo ra giao diện cảm ứng mượt mà,
thường dùng tính năng rung của thiết bị để tạo phản hồi rung cho người dùng Những thiết bị phần cứng bên trong như gia tốc kế, con quay hồi chuyển và cảm biến khoảng cách được một số ứng dụng sử dụng để phản hồi một số hành động khác của người
dùng, ví dụ như điều chỉnh màn hình từ chế độ hiển thị dọc sang chế độ hiển thị ngang
Trang 22tùy theo vị trí của thiết bị, hoặc cho phép người dùng lái xe đua bằng xoay thiết bị,
giống như đang điều khiển vô-lăng
Activities
Một Activity được xem như một điểm tiếp xúc với người dùng Nó là một mànhình đơn với giao diện trên đó Ví dụ các bạn cài và chạy lên ứng dụng này thì màn
Trang 23hình chạy lên các bạn sẽ thấy giao diện hiện thị cho chúng ta xem, đó là một Activity.Activty giúp người dùng tương tác với hệ thống, thực hiện các chức năng cần thiết trên
đó, chuyển đổi qua lại giữa các màn hình giao diện/ chức năng
Thường thường khi sử dụng Activity chúng ta sẽ kết thừa từ lớp cha của nó làActivity (tất nhiên hiện tại Android SDK ở các phiên bản mới đã có nhiều subActivity
hỗ trợ chúng ta trong từng trường hợp thuận tiện)
Services
Service có chức năng giúp ứng dụng vẫn chạy được, nhưng không cần hiện thịtrên giao diện (gọi là chạy ngầm bên dưới) Ví dụ các bạn dùng các ứng nghe nhạc,mặc dù các bạn tắt ứng dụng rồi nhưng vẫn nghe được nhạc (đó là vì nó đang chạydưới nền /background) Chúng ta có thể liên kết/ kết nối giữa một Activity với mộtservice, ví dụ: khi download một file từ trên mạng, việc download thực hiện ở service,sau đó sẽ trả kết quả phần trăm download lên activity để hiện thị cho người dùng biết
Chú ý: mặc dù service chạy ở chế độ background nhưng cần phân biệt giữaservice và thread Service không phải thread, do đó tùy trường hợp mà chúng ta sửdụng và xử lý cho phù hợp để tránh trường hợp sử dụng service làm ứng dụng bị đơ/chậm khi sử lý các luồng dữ liệu/ giao diện khác
Khi sử dụng service chúng ta sẽ kế thừa từ lớp cha là: Service
Trang 24 Broadcast receivers
Broadcast receiver được sử dụng trong nhiều trường hợp, ví dụ: chúng ta có thểchuyển dữ liệu từ service lên activity (ngoài sử dụng binding) chúng ta có thể sử dụngbroadcast để gửi dữ liệu Hoặc trong các ứng dụng như hẹn giờ, khi đến giờ hẹn, ứngdụng sẽ sử dụng broadcast báo thức, tạo ra notification trên màn hình để báo cho ngườidùng biết
Khi sử dụng broadcast receiver chúng ta kế thừa từ BroadcastReceiver
Content providers
Content provider quản lý các cách để ứng dụng có thể lưu trữ dữ liệu trên hệthống Chúng ta sẽ biết cụ thể về thành phần này khi xây dựng các ứng dụng cần lưutrữ vào SQLite Ví dụ các ứng dụng từ điển, các bạn sẽ thấy dữ liệu, từ vựng chúng tatra hiện thị, thì dữ liệu hiện thị đó được lưu trữ trong Slite và Content provider gọi đểlấy ra cho người dùng xem Ngoài ra thành phần này còn thực hiện các chức năng,thêm, sửa, xóa dữ liệu…
Khai báo 4 thành phần trong manifest của ứng dụng
Để sử dụng được các thành phần trên, chúng ta cần khai báo trong file Manifestcủa ứng dụng, và chúng được định nghĩa bằng các thẻ như sau:
<activity> elements for activities.
<service> elements for services.
<receiver> elements for broadcast receivers.
<provider> elements for content providers
Ngoài ra còn có thêm Intent và Notification cùng nhiều loại khác
Trang 251.8 Tìm hiểu về ngôn ngữ Java
1.8.1 Java là gì
Java (phiên âm Tiếng Việt: "Gia-va") là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp (class) Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ
được môi trường thực thi (runtime environment) chạy
Trước đây, Java chạy chậm hơn những ngôn ngữ dịch thẳng ra mã máy như C
và C++, nhưng sau này nhờ công nghệ "biên dịch tại chỗ" - Just in time compilation,
khoảng cách này đã được thu hẹp, và trong một số trường hợp đặc biệt Java có thểchạy nhanh hơn Java chạy nhanh hơn những ngôn ngữ thông dịch
như Python, Perl, PHP gấp nhiều lần Java chạy tương đương so với C#, một ngôn
ngữ khá tương đồng về mặt cú pháp và quá trình dịch/chạy
Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối
tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn Do đó việc viết một chươngtrình bằng Java dễ hơn, đơn giản hơn, đỡ tốn công sửa lỗi hơn
Trong Java, hiện tượng rò rỉ bộ nhớ hầu như không xảy ra do bộ nhớ được quản
lý bởi Java Virtual Machine (JVM) bằng cách tự động "dọn dẹp rác" Người lập trìnhkhông phải quan tâm đến việc cấp phát và xóa bộ nhớ như C, C++ Tuy nhiên khi sửdụng những tài nguyên mạng, file IO, database (nằm ngoài kiểm soát của JVM) màngười lập trình không đóng (close) các streams thì rò rỉ dữ liệu vẫn có thể xảy ra
1.8.2 Lịch sử Java
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun
Microsystems năm 1991 Ban đầu ngôn ngữ này được gọi là Oak (có nghĩa là cây sồi;
do bên ngoài cơ quan của ông Gosling có trồng nhiều loại cây này), họ dự định ngôn
ngữ đó thay cho C++, nhưng các tính năng giống Objective C Không nên lẫn lộn Java với JavaScript, hai ngôn ngữ đó chỉ giống tên và loại cú phápnhư C Công ty Sun
Microsystems đang giữ bản quyền và phát triển Java thường xuyên Tháng 04/2011,công ty Sun Microsystems tiếp tục cho ra bản JDK 1.6.24
Java được tạo ra với tiêu chí "Viết (code) một lần, thực thi khắp nơi" ("WriteOnce, Run Anywhere" (WORA)) Chương trình phần mềm viết bằng Java có thể chạytrên mọi nền tảng (platform) khác nhau thông qua một môi trường thực thi với điều
Trang 26kiện có môi trường thực thi thích hợp hỗ trợ nền tảng đó Môi trường thực thi của Sun
Microsystems hiện hỗ trợ Sun Solaris, Linux, Mac OS, FreeBSD & Windows Ngoài
ra, một số công ty, tổ chức cũng như cá nhân khác cũng phát triển môi trường thực thiJava cho những hệ điều hành khác như BEA, IBM, HP Trong đó đáng nói đến nhất
là IBM Java Platform hỗ trợ Windows, Linux, AIX & z/OS.
Những chi tiết về ngôn ngữ, máy ảo và API của Java được giữ bởi Cộng đồng Java (do Sun quản lý) Java được tạo ra vào năm 1991 do một số kỹ sư ở Sun, bao gồm ông James Gosling, một phần của Dự án Xanh (Green Project) Java được phát hành vào năm 1994, rồi nó trở nên nổi tiếng khi Netscape tuyên bố tại hội thảo SunWorld năm 1995 là trình duyệt Navigator của họ sẽ hỗ trợ Java Về sau Java được hỗ trợ trên
Explorer (Microsoft), Firefox (Mozilla), Safari (Apple)
1.8.3 Sự phổ biến
Tính đến ngày 9 tháng 12 năm 2017, Java là ngôn ngữ lập trình phổ biến nhấtthế giới với tỉ lệ 13,268%, nhưng đã giảm 4,59% so với cùng kì năm trước Java và Cvẫn luôn chiếm hai vị trí đầu tiên trong bảng các ngôn ngữ lập trình phổ biến nhất suốt
20 năm qua, nhưng Java là ngôn ngữ duy nhất giữ được tỉ lệ trên 10%, trong khi C đãtụt xuống 6,478% vào ngày 2/8/2017
1.9.4 Đặc điểm của Java
Hướng đối tượng: Trong Java, mọi thứ đều là Object Java có thể mở rộng
vì nó dựa trên mô hình Object
Trang 27 Nền tảng độc lập: Không giống như nhiều ngôn ngữ lập trình khác (C, C+
+), khi Java được biên dịch, nó không biên dịch sang một máy tính cụ thể trên nềntảng nào, thay vào đó là những byte code độc lập với nền tảng Byte code này đượcphân phối trên web và được thông dịch bằng Virtual Machine (JVM) trên bất cứ nềntảng nào mà nó đang chạy
Đơn giản: Java được thiết kế để dễ học Nếu bạn hiểu cơ bản về khái niệm
lập trình hướng đối tượng Java, thì có thể nắm bắt ngôn ngữ này rất nhanh
Bảo mật: Với tính năng an toàn của Java, nó cho phép phát triển những hệ
thống không có virus, giả mạo Các kỹ thuật xác thực dựa trên mã hóa công khai
Kiến trúc trung lập: Trình biên dịch của Java tạo ra một định dạng file
object có kiến trúc trung lập, làm cho code sau khi biên dịch có thể chạy trên nhiều bộ
vi xử lý, với sự hiện diện của Java runtime system
Portable: Là kiến trúc trung lập và không phụ thuộc vào việc thực hiện là
những đặc điểm chính nhất khi nói về khía cạnh Portable của Java Trình biên dịchtrong Java được viết bằng ANSI C với một ranh giới portable gọn gàng, đó là mộtsubset POSIX (giao diện hệ điều hành linh động) Bạn có thể mang byte code của Javalên bất cứ nền tảng nào
Mạnh mẽ: Java nỗ lực loại trừ những tình huống dễ bị lỗi bằng cách nhấn
mạnh chủ yếu là kiểm tra lỗi thời gian biên dịch và kiểm tra runtime
Đa luồng: Với tính năng đa luồng của Java, bạn có thể viết các chương trình
có thể thực hiện nhiều tác vụ đồng thời Tính năng này cho phép các nhà phát triển xâydựng các ứng dụng tương tác có thể chạy trơn tru
Thông dịch: Byte code của Java được dịch trực tiếp tới các nền tảng gốc và
nó không được lưu trữ ở bất cứ đâu
Hiệu suất cao: Với việc sử dụng trình biên dịch Just-In-Time, Java cho phép
thực thi với hiệu suất cao, nhanh chóng phát hiện, gỡ lỗi
Phân tán: Java được thiết kế cho môi trường phân tán của Internet.
Linh động: Java được coi là năng động hơn C hay C++ vì nó được thiết kế
để thích nghi với môi trường đang phát triển Các chương trình Java có thể mang theomột lượng lớn thông tin run-time, được sử dụng để xác minh và giải quyết các truy cậpđến đối tượng trong thời gian chạy
Trang 281.8.5 Ứng dụng của Java
Java ở rất nhiều nơi, từ những trang web thương mại điện tử đến ứng dụngAndroid, từ ứng dụng khoa học đến ứng dụng tài chính như hệ thống giao dịch điện tử,trò chơi như Minecrafr đến các ứng dụng trên máy tính như Eclipse, Netbeans, IntelliJ,
- Ứng dụng Android
Nếu muốn nhìn thấy một sản phẩm được tạo ra từ Java thì thật đơn giản, hãy
mở điện thoại Android lên và bất kỳ ứng dụng nào bạn nhìn thấy cũng chính là một
sản phẩm như vậy, được viết bằng ngôn ngữ lập trình Java, với Android API của
Google, tương tự như JDK Với sự phát triển của Android ngày nay, hầu hết lập trìnhviên Java đều là những người viết app cho Android Android sử dụng JVM và cáchđóng gói khác nhau, nhưng code thì vẫn được viết bằng Java
- Các ứng dụng máy chủ dùng trong dịch vụ tài chính
Trong ngành dịch vụ tài chính Java chiếm một vị trí khá lớn Nhiều ngân hàngđầu tư toàn cầu như Goldman Sachs, Citigroup, Barclays, Standard Charted và cácngân hàng khác sử dụng Java để viết hệ thống giao dịch điện tử front office và backoffice, viết hệ thống giải quyết và xác nhận, dự án xử lý dữ liệu, Java chủ yếu được
sử dụng để viết ứng dụng cho máy chủ, không có front end, nhận dữ liệu từ một máychủ khác, xử lý nó và gửi đến một tiến trình tiếp theo
- Ứng dụng Web
Java cũng chiếm được một thị phần khá lớn trong lĩnh vực thương mại điện tử
và ứng dụng web Có rất nhiều dịch vụ RESTfull được tạo bằng cách sử dụng SpringMVC, Struts 2.0 và những framework tương tự Thậm chí những ứng dụng web đơngiản như Servlet, JSP và Struts cũng rất phổ biến trong các dự án khác nhau của chínhphủ Nhiều cơ quan chính phủ, y tế, bảo hiểm, giáo dục, quốc phòng và những bộ phậnkhác có ứng dụng web được xây dựng bằng Java
Công cụ phần mềm
Nhiều phần mềm hữu ích và công cụ phát triển được viết và triển khai trongJava, ví dụ như Eclipse, InetelliJ Idea và Netbans IDE Rất nhiều phần mềm trên máytính để bàn cũng được viết bằng Java
- Công nghệ Big Data
Trang 29Hadoop và các công nghệ dữ liệu lớn khác cũng đang sử dụng Java theo cáchnày hay cách khác Apache của Java dựa trên HBase và Accumulo (mã nguồn mở),ElasticSearch cũng vậy Tuy Java không phải kẻ thống trị trong lĩnh vực này, vì cónhững công nghệ như MongoDB được viết bằng C ++, nhưng Java có tiềm năng đểđạt được thị phần ngày càng tăng nếu Hadoop hoặc ElasticSearch lớn mạnh.
Ứng dụng khoa học
Java thường được lựa chọn mặc định cho các ứng dụng khoa học, bao gồm xử
lý ngôn ngữ tự nhiên Lý do chính là vì Java an toàn hơn, portable, duy trì và đi kèmvới những công cụ cấp cao tương đương C++ hay những ngôn ngữ lập trình khác
Vào những năm 1990, Java đã chiếm một phần lớn trên Internet nhờ Applet,nhưng dần dần, Applet mất đi sự nổi tiếng, chủ yếu do các vấn đề bảo mật trên môhình sand-box Hiện tại, Applets gần như đã "chết" Java thì trở thành ngôn ngữ lậptrình ứng dụng được nhiều lập trình viên yêu thích, được ứng dụng rộng rãi trong pháttriển ứng dụng, dịch vụ tài chính, ngân hàng đầu tư, thương mại điện tử Bất kỳ ai họcJava đều có thể có một tương lai không tệ Java 8 đã tiếp tục tăng cường niềm tin rằngJava sẽ chi phối lĩnh vực phát triển phần mềm trong những năm tới
Trang 30CHƯƠNG 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 Giới thiệu tổng quan về đề tài
2.1.1 Mục tiêu đề tài
- Hiểu biết hình thức kinh doanh thương mại điện tử
- Hiểu biết về các giải pháp xây dựng một ứng dụng thương mại điện tử
- Xây dựng một ứng dụng mang lại thuận tiện cho người dùng, tiết kiệm thời gian khi có nhu cầu mua một sản phẩm
- Xây dựng ứng dụng giúp cho admin quản lý thông tin một cách trực quan, thuận tiện
- Nắm được cách thức xây dựng ứng dụng giữa vào những kiến thức đã được học
2.1.2 Yêu cầu của đề tài
- Tìm hiểu về hoạt động kinh doanh thương mại điện tử
- Tìm hiểu các giải pháp xây dựng một ứng dụng thương mại điện tử như thếnào
- Xây dựng một ứng dụng mang tính thương mại hóa
- Xây dựng một ứng dụng với cơ bản đầy đủ các tính năng phục vụ cho việcbán hàng trực tuyến
- Xây dựng các chức năng giúp người quản trị dễ dàng quản lý nội dung ứngdụng
2.1.3 Xây dựng ứng dụng thương mại điện tử.
- Ứng dụng thương mại điện tử có một số chức năng như sau:
+ Đối với khách hàng: Xem danh sách các sản phẩm, Xem thông tin chi tiết mộtsản phẩm, Tìm kiếm sản phẩm, Đưa sản phẩm vào giỏ hàng, Đặt mua, Thanh toán,Góp ý, Liên hệ, Xem các tin tức…
+ Đối với quản trị: Quản trị sản phẩm, Quản trị đơn hàng, Quản trị khách hàng,Quản trị bài viết, góp ý…
2.1.4 Các chức năng chính
- Ứng dụng bán hàng trên hệ điều hành Android được xây dựng với tiêu chíphục vụ cho tất cả mọi người, trong lĩnh vực làm đẹp và mua sắm với mong muốn đáp
Trang 31ứng đầy đủ các mặt hàng, các chức năng của một ứng dụng bán hàng trực tuyến phục
vụ nhu cầu làm đẹp và mua sắm
- Ứng dụng bao gồm các loại người dùng chính: Khách hàng viếng thăm,Khách hàng thành viên, Người quản trị
+ Đối với Khách hàng viếng thăm: Xem danh sách sản phẩm, Xem chi tiết sảnphẩm, Đưa sản phẩm vào giỏ hàng, cập nhật giỏ hàng, Tìm kiếm, Đăng Ký…
+ Đối với Khách hàng thành viên: Ngoài những chức năng như khách hàngviếng thăm còn có thêm một số chức năng như Đặt mua, Xem danh sách đơn hàng,Quản lý đơn hàng, Thanh Toán, Đăng nhập…
+ Đối với Người quản trị: Toàn quyền trong hệ thống và người có quyền quyếtđịnh đối với nhân viên của mình
2.1.5 Đối tượng và phạm vi nguyên cứu
- Ứng dụng bán hàng trên hệ điều hành Android với tiêu chí phục vụ cho tất cảmọi người trong lĩnh vực làm đẹp và mua sắm với mong muốn đáp ứng đầy đủ cácmặt hàng, các chức năng của một ứng dụng bán hàng trực tuyến
- Với khoảng thời gian có hạn nên em đã giới hạn phạm vi nguyên cứu ở mộtmức độ hợp lý cho mình
+ Xây dựng các chức năng cho khách hàng
+ Xây dựng các chức năng cho nhân viên quản trị
+ Tìm hiểu một vài công nghệ mới ứng dụng trên hệ điều hành Android
2.2 Khảo sát một số ứng dụng bán hàng trên thiết bị di động
2.2.1 Lazada
Hình 2.1 Hình ảnh ứng dụng Lazada
Trang 32Lazada đem lại cho bạn những trải nghiệm mua sắm hiệu quả (Nguồn:Internet).
Tại Việt Nam, Lazada đang phát triển trở thành một “ông lớn” đầu ngành hiệnnay Đến với Lazada, bạn không chỉ mua hàng thông qua website chính
thức Lazada.vn, mà còn mua hàng trên ứng dụng Lazada Đến với ứng dụng mua hàng
của Lazada, bạn sẽ có thể nhận được những ưu đãi hấp dẫn sau:
Tiếp cận được hàng trăm nghìn sản phẩm phong phú mỗi ngày Đặc biệt cácmặt hàng chính hãng từ những thương hiệu nổi tiếng như Apple, Casio, Samsung,L’Oreal và nhiều thương hiệu khác
Những ưu đãi độc quyền, mã giảm giá mua hàng mỗi ngày chỉ có trên ứngdụng của Lazada
Giúp bạn có thể đưa ra quyết định mua hàng thông minh, bằng cách đọc nhậnxét về sản phẩm và nhà bán hàng từ những người mua khác Đặc biệt nếu như bạn vẫn
có những thắc mắc về sản phẩm thì có thể chat trực tiếp với nhà bán hàng để được biếtthêm chi tiết
Thao tác đăng nhập đơn giản, có thể liên kết được với mạng xã hội khác như
là Facebook, Twitter
Tối ưu hóa được trải nghiệm của người dùng ngay trên ứng dụng
2.2.2 Shopee
Hình 2.2 Hình ảnh ứng dụng Shopee
Trang 33Ứng dụng Shopee giúp bạn dễ dàng tìm được sản phẩm ưng ý
Shopee là trang thương mại điện tử nổi bật có thể khai thác được ứng dụng cực
kỳ tốt Ứng dụng shopee có thể giúp bạn mua sắm được mọi lúc mọi nơi với cácchương trình khuyến mãi hấp dẫn và siêu tiết kiệm Ứng dụng mua sắm
online Shopee sẽ đem đến cho bạn những trải nghiệm nổi bật sau:
Dễ dàng tìm kiếm được ngành hàng mà bạn yêu thích Chỉ với vài thao tác,bạn đã hoàn toàn có thể tìm được những ngành hàng mà bạn muốn mua sắm từ thờitrang nam, thời trang nữ, làm đẹp hoặc là công nghệ
Tiếp cận được với các sản phẩm chính hãng từ những thương hiệu nổi tiếngtrên thế giới như Samsung, Apple, L’Oreal,…
Ưu đãi cực kỳ hấp dẫn mỗi ngày với mã giảm giá Shopee, cho bạn có cơ hội
ở hữu những mặt hàng ưng ý với mức giá rẻ bất ngờ
2.2.3 Tiki
Hình 2.3 Hình ảnh ứng dụng Tiki
Dù bạn mua bất kỳ sản phẩm nào, ứng dụng Tiki sẽ đáp ứng ngay cho bạn
Từ một trang web bán sách đơn thuần, Tiki đang trở thành một đối thủ lớn chocác website thương mại điện tử khác Ứng dụng Tiki hiện cũng đang là ứng dụng đượcngười dùng tìm kiếm nhiều nhất, điều đó cho thấy sức hút của Tiki là mạnh mẽ đếnnhư thế nào Nếu bạn đang có nhu cầu mua hàng nói chung và mua sách nói riêng thì
Trang 34Tiki chính là sự lựa chọn không thể thiếu dành cho bạn Dưới đây là những ưu đãi nổibật mà Tiki mang lại cho bạn:
Hỗ trợ tìm & mua hàng với vài bước chạm Đặc biệt Tiki có chức năng chụp
bìa tìm sách với giá bất ngờ chỉ có tại Tiki App
Khả năng quản lý đơn hàng nổi bật ngay trong tầm tay của bạn Đơn hàngcủa bạn sẽ được cập nhật trạng thái liên tục
Thường xuyên cập nhật các thông tin về ưu đãi, khuyến mãi hấp dẫn mỗingày chỉ có tại Tiki
Với những app mua sắm trực tuyến như vậy sẽ mang lại con số doanh thukhổng lồ nếu chúng ta khai thác triệt để được ứng dụng này Nếu bạn có nhu cầu muốnthử sử với những ứng dụng và muốn cạnh tranh trong ngành mua sắm trực tuyến thìchúng tôi xin giới thiệu cho bạn một số công ty chuyên thiết kế phần mềm theo yêucầu tốt nhất hiện nay:
Trang 35Sendo nổi lên như một chợ thương mại điện tử nổi bật với nhiều ưu đãi nổi bật.
Từ khi ứng dụng ra mắt, Sendo nổi lên như là một trong những ứng dụng top đầunhững ứng dụng hay và giúp khách an tâm khi mua sắm Sendo đem lại cho bạn nhữngtrải nghiệm vô cùng thu hút, giúp bạn có cơ hội tiếp cận được rất nhiều mặt hàng trảidài từ công nghệ, thời trang, mỹ phẩm Những ưu đãi nổi bật mà Sendo mang lại chobạn:
Tận hưởng những ưu đãi khuyến mãi bất tận từ chiếc điện thoại di động củabạn Giúp bạn giảm thêm 10% khi mua hàng trên ứng dụng Sendo
Cập nhật liên tục các chương trình khuyến mãi hấp dẫn, miễn phí vậnchuyển
Nhanh chóng và hiệu quả với hàng loạt những mặt hàng nổi bật Bạn có thểtruy cập vào phần “Xu hướng tìm kiếm” để thấy được những sản phẩm hiện đang đượckhách hàng quan tâm
2.3 Giải pháp thực hiện
2.3.1 Tìm hiểu thông tin
Có thể nói với sự bùng nổ chóng mặt của công nghệ thông tin hiện này thìthương mại điện tử là một miếng bánh trị giá hàng ngàn tỷ đô mà các công ty lớn vềcông nghệ không ngừng tranh giành nhau Điển hình trên thế giới như Amazon,alibaba…và ở Việt Nam như Lazada, Shoppee, Tiki…Với thị trường nhu cầu cực kỳcao đến từ người dùng thì việc xây dựng được một ứng dụng có thể đáp ứng được mộtlượng người rất lớn cùng truy cập và mua sắm là một điều cực kỳ khó khăn Vì vậymột ứng dụng xây dựng để phục vụ nhiều người phải cơ bản đạt được những yêu cầusau:
– Tối ưu hóa công cụ tìm kiếm Google: đảm bảo ứng xuất hiện trong top đầucác bài viết Google khi khách hàng tìm kiếm từ khóa liên quan đến sản phẩm Từ đó,ứng dụng sẽ có một lượng khách hàng lớn truy câp, gia tăng doanh số bán hàng
- Tăng tốc độ tải dữ liệu từ ứng dụng: đứng từ phía người dùng, một trải nghiệmhoàn hảo là rất quan trọng Hãy giữ ứng dụng ổn định với tốc độ tải dữ liệu nhỏ hơn10s để có cơ hội níu chân người dùng ở lại lâu hơn, cơ hội chi tiền cũng cao hơn
Trang 36– Hình ảnh, video rõ nét, nổi bật: cũng như giao diện ứng dụng, hình ảnh, videonổi bật sẽ thu hút được sự chú ý rất lớn của người tìm kiếm Lượng người truy cậptăng lên đồng nghĩa với tỉ lệ bán được hàng sẽ nhiều hơn.
-Thiết kế một ứng dụng tương thích với mọi thiết bị Android: theo đó, ứngdụng sẽ tự nhận biết nó đang được hiển thị trên loại thiết bị nào, sau đó tự động tối ưuđiều chỉnh kích thước trong thời gian nhanh nhất Từ đó, người dùng sẽ có được trảinghiệm tốt hơn, tận hưởng giao diện đẹp nhất, tương tác cao nhất, khả năng mua hàng
sẽ cao hơn
2.3.2 Giải pháp thực hiện cho ứng dụng
Các giải pháp sẽ được thực hiện trong ứng dụng: Quảng bá ứng dụng và thanhtoán trực tuyến
Quảng bá ứng dụng: kết hợp giữa hai phương pháp SEO Onpage và SEO
Offpage
- SEO Onpage: Thực hiện một số tối ưu cụ thể như: Tiêu đề, mô tả ứng dụng,
danh sách từ khóa, từ khóa chính, tối ưu các đường link liên kết, văn bản thay thế,chèn các mô tả sản phẩm dịch vụ, nội dung độc đáo…
- SEO Offpage: Thực hiện đăng ký ứng dụng trên google, chia sẽ bài viết trên
các trang thông tin, sử dụng mạng xã hội để quảng bá…
Thanh toán trực tuyến: sử dụng phương thức ví điện tử giúp người dùng mua
sắm an toàn, bán hàng tiện lợi hơn
Hai giải pháp sẽ giúp cho ứng dụng được nhiều người biết đến thông qua thứhạng trên các bộ công cụ tìm kiếm như google, yahoo, bing…Không nhưng thế có nhờvào quảng bá trên các mạng xã hội, liên kết đến các ứng dụng khác mà ứng dụng củadoanh nghiệp được mở rộng cho nhiều người quan tâm hơn
Ngoài ra, việc cung cấp dịch vụ thanh toán trực tuyến giúp người dùng thuậntiện và có thể tin tưởng tuyệt đối vào giao dịch của mình, tiết kiệm thời gian cho kháchhàng
2.3.3 Môi trường phát triển và triển khai
- Môi trường phát triển ứng dụng :
+ Công cụ xây dựng cơ sở dữ liệu SQL
+ Công cụ dùng để phân tích, thiết kế : Draw.io
Trang 37+ Công cụ đã dùng để xây dựng ứng dụng : Android studio
- Môi trường triển khai ứng dụng :
+ Hệ điều hành Android 9
+ Để chạy được Ứng dụng yêu cầu điện thoại phải tải ứng dụng
+ Yêu cầu Android 5.0 trở lên
2.4 Phân tích hệ thống
2.4.1 Mô tả nghiệp vụ
2.4.1.1 Dành cho khách hàng
- Ứng dụng được xây dựng với mục tiêu là nơi trưng bày, giới thiệu sản phẩm
và các dịch vụ hỗ trợ khách hàng như: liên hệ, phản hồi, tư vấn, tìm kiếm…
- Khách hàng bắt đầu duyệt những sản phẩm trên ứng dụng, các sản phẩmđược bố trí theo từng loại đa dạng như sản phẩm mới, sản phẩm bán chạy…Khi đãưng ý một sản phẩm khách hàng có thể kích vào hình sản phẩm hoặc tên để xem
thông tin chi tiết về sản phẩm Sau đó khách hàng có thể chọn biểu tượng “Thêm vào giỏ hàng” để đưa sản phẩm vào giỏ hàng của mình, giỏ hàng chỉ đơn giản là danh
sách các sản phẩm bao gồm những thông tin như mã sản phẩm, tên sản phẩm, đơn giá,
số lượng, thành tiền
- Các giỏ hàng thường cung cấp các tùy chọn để xóa sạch giỏ hàng,xóa một sản phẩm, tiếp tục mua sản phẩm và cập nhật số lượng
- Sau khi khách hàng đã điền đầy đủ thông tin thì chọn nút “Đặt Hàng” để
hoàn tất quá trình mua hàng
2.4.1.2 Dành cho quản trị
- Ứng dụng cung cấp cho admin hệ thống giao diện dùng để quản trị các thôngtin như sản phẩm, đơn hàng, tài khoản khách hàng…
2.4.2 Yêu cầu hệ thống
2.4.2.1 Yêu cầu chức năng
Gồm có 2 đối tượng chính sử dụng ứng dụng là: Khách hàng, Người quản trị.Chức năng của mỗi đối tượng:
- Khách hàng: Một số chức năng sau:
Đặt mua: Sau khi xem thông tin sản phẩm đúng với nhu cầu thì người dùng
có thể chọn đặt mua để đưa sản phẩm vào giỏ hàng