ứng dụng điện toán đám mây xây dựng kho ứng dụng bkstore cho các thiết bị sử dụng hệ điều hành android
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
NGÀNH CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI : ỨNG DỤNG ĐIỆN TOÁN ĐÁM MÂY XÂY DỰNG KHO ỨNG DỤNG
BKStore CHO CÁC THIẾT BỊ SỬ DỤNG HỆ
Trang 3PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Thông tin về sinh viên
Họ và tên sinh viên: Lê Đình An
Điện thoại liên lạc 0988416079 Email: ledinhan.fit@gmail.com
Đồ án tốt nghiệp được thực hiện tại:
Thời gian làm ĐATN: Từ ngày 20 /02/2011 đến 20 /05/2011
2 Mục đích nội dung của ĐATN
• Tìm hiểu và xây dựng thành công kho ứng dụng cho các thiết bị di động sử dụng hệ điều hành Android với đầy đủ chức năng của kho ứng dụng như có thể truy cập trên điện thoại, cho phép nhà phát triển tải ứng dụng được dễ dàng và người sử dụng có thể mua, tải ứng dụng về thông qua các hình thức thanh toán quốc tế …
• Ứng dụng điện toán đám mây trong quá trình xây dựng kho ứng dụng nhằm tận dụng những điểm mạnh của công nghệ
• Tìm hiểu và tích hợp thanh toán quốc tế cho kho ứng dụng
3 Các nhiệm vụ cụ thể của ĐATN
• Tìm hiểu về kho ứng dụng, cơ chế, chức năng cách vận hành của kho ứng dụng
• Tìm hiểu về điện toán đám mây, nền tảng Google App Engine cho Python để xây dựng ứng dụng web Sử dụng Web service để trao đổi dữ liệu giữa GAE với Android theo định dạng XML-RPC
• Tìm hiểu và xây dựng ứng dụng trên nền tảng Android
• Tìm hiểu thanh toán quốc tế trong thương mại điện tử, các cổng thanh toán trực tuyến Tích hợp Paypal vào Android
• Cuối cùng là xây dựng thành công kho ứng dụng theo chu trình xây dựng phần mèm của ngành cộng nghệ phần mềm
4 Lời cam đoan của sinh viên:
Tôi – Lê Đình An - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của ThS Hoàng Anh Việt
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác
Hà Nội, ngày 20 tháng 5 năm 2011
Tác giả ĐATN
Lê Đình An
5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ:
Hà Nội, ngày 27 tháng 5 năm 2011
Giáo viên hướng dẫn
ThS Hoàng Anh Việt
Trang 4TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Trong báo cáo này, NV sẽ trình bày toàn bộ các bước ứng dụng điện toán đám mây để xây dựng kho ứng dụng BKStore cho các thiết bị sử dụng hệ điều hành Android Báo cáo được chia làm 4 chương với nội dung như sau :
• Chương 1 : Đưa ra tổng quan đề tài gồm mô tả bài toán và đặt vấn đề cho bài toán Trong chương 1, NV sẽ giới thiệu về bài toán, đưa ra vấn đề, các thông tin kèm theo làm lý do để ra đời bài toán
• Chương 2 : NV sẽ trình bày về cơ sở lý thuyết, các phương pháp tiếp cận bài toán Trong mục phương pháp tiếp cận, sẽ trình bày cả hướng giải quyết vấn đề, vận dụng các công nghệ để xây dựng bài toán Phần tiếp theo của chương, NV sẽ trình bày cơ sở lý thuyết của các công nghệ đã đưa ra ở phần trước
• Chương 3 : NV sẽ trình bày về mô hình kho ứng dụng đề xuất Trong chương này,
sẽ trình bày chi tiết từ kiến trúc hệ thống đến các phân tích, thiết kế để tiến đến cài đặt hệ thống Đây là phần chính của báo cáo này
• Chương 4 : Chương này sẽ đề cập đến cài đặt và một số kết quả đạt được của hệ thống kho ứng dụng BKStore Phần cài đặt sẽ đưa ra những module chính cần cài đặt, và những vấn đề quan trọng cần giải quyết Phần các kết quả đạt được có đưa
ra một số kiểm thử và một số kết quả thu được sau khi cài đặt thành công hệ thống
Ngoài các chương được trình bày ở trên, thì báo cáo còn có các phần mở đầu giởi thiệu về báo cáo cũng như đề tài, phần kết luận để tổng kết vấn đề
Trang 5ABSTRACT OF THESIS
In this report, the thesis author will be presented through the entire apply cloud computing
to build BK Store for devices using the Android operating system The report is divided into four chapter with the following contents :
• Chapter 1: Getting topics include an overview describing the problem and put the issue to the problem In Chapter 1, the thesis author will discuss the problem, raised the issue, together with information as a reason for these problems
• Chapter 2: The thesis author will be presented the theoretical basic, the approach to the problem In the approach, will present the user solve the problem, apply the technology to build the problem The next section of the chapter, the thesis author presents the theoretical basic of the technology offered in the previous section
• Chapter 3: The thesis author will be presented the model proposed application store
In this chapter, will present detail from architecture to system analysis and design to proceed to install the system This is the main part of this report
• Chapter 4: This chapter will cover installation and some of the results archieved BKStore Installation section will make the module to be installed, and the important issues to be addressed Part of the results achieved have made some test and some results obtained after successful installation system
In addition to the program presented above, there are reports of the opening introduction to the report as well as the subject, the conclusion to summarize problem
Trang 6M ục lục
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 4
Danh mục các bảng 7
Danh mục các hình 8
Danh mục các từ viết tắt và thuật ngữ 9
Mở đầu 10
4.2 Kết quả đạt được và thử nghiệm: 62
4.2.1 Các kết quả đạt được : 62
65
66
4.2.2 Một số kết quả kiểm thử : 67
TÀI LIỆU THAM KHẢO 72
Trang 7Danh mục các bảng
Bảng 1-1 : So sánh giữa các kho ứng dụng 18
Bảng 3-2 : Danh sách Use case 36
Bảng 3-3 : Mô tả use case Register 37
Bảng 3- 4: Mô tả use case Login 37
Bảng 3-5: Mô tả usecase View List App 38
Bảng 3-6: Mô tả use case View Detail App 38
Bảng 3-7 : Mô tả use case Search 39
Bảng 3-8 : Mô tả use case Buy/Pay 39
Bảng 3-9 : Mô tả use case Download 40
Bảng 3-10: Mô tả use case Add Application 40
Bảng 3-11 : Mô tả use case View Own App 41
Bảng 3-12 : Bảng App 43
Bảng 3-13 : Bảng Device 43
Bảng 3-14: Bảng Version 43
Bảng 3-15 : Bảng Language 44
Bảng 3-16 : Bảng Country 44
Bảng 3-17: Bảng Role 44
Bảng 3-18 : Bảng User 44
Bảng 3-19 : Bảng Customer 45
Bảng 3-20 : Bảng Developer 45
Bảng 3-21 : Bảng Customer_App 46
Bảng 3-22 : Bảng AppComment 46
Trang 8Danh mục các hình
Hình 1-1 : Số lượng ứng dụng của các kho ứng dụng tháng 3/2011 13
Hình 1- 2: Lợi nhuận thu được của các kho ứng dụng trong 2 năm 2009/2010 14
Hình 1- 3:Lợi nhuận dự kiến thu được của các kho ứng dụng đến 2014 15
Hình 4-4:Cấu trúc cài đặt hệ thống 56
Hình 4-5: Cấu trúc dữ liệu của DataStore 57
Hình 4-6: Cấu trúc của XML-RPC 58
Hình 4-7:Định dạng của XML- RPC 59
Hình 4-8: Cài đặt phân tích chuỗi XML nhận được 60
Hình 4-9:Sơ đồ Parallel Payment 61
Hình 4 - 10:Màn hình hiển thị quá trình thanh toán bằng Paypal 62
Hình 4-11: Trang chủ của Web Portal 63
Hình 4 - 12:Giao diện kho ứng dụng trên SamSung Galaxy Mini 64
Hình 4 -113: Danh sách ứng dụng theo loại Game trên SamSung Galaxy Mini 65
Hình 4 - 14:Chi tiết ứng dụng trên SamSung Galaxy Mini 66
Trang 9Danh mục các từ viết tắt và thuật ngữ
GAE Google App Engine
PaaS Platform as a Service
SaaS Software as a Service
IaaS Infrastructure as a Service
DB Database
App Application
GUI Graphical user interface
MPL Mobile payments library
MECL Mobile Express Checkout Library
NV Người viết luận văn
Trang 10M ở đầu
1.Lời nói đầu
Di động và điện thoại thông minh đang trong thời kì phát triển nở rộ, trong đó mảng ứng dụng cho điện thoại thông minh đang trong thời kì phát triển mạnh
mẽ nhất từ trước tới nay, là tâm điểm của sự chú ý thế giới công nghệ trên toàn thế giới.Hiện tại các tập đoàn lớn, các công ty và thậm chí là các tổ chức,cá nhân đang đầu tư rất mạnh mẽ cho ngành công nghệ phần mềm, nội dung số cho điện thoại di động Các kho ứng dụng trở thành một phần quan trọng trong sự phát triển nở rộ của ngành công nghệ phần mềm phát triển các ứng dụng cho điện thoại di động, mang lại nhiều lợi nhuận cho công ty sở hữu nó, các hãng điện thoại, giới lập trình viên và người tiêu dùng.Kho ứng dụng cho di động cũng có thể gọi là chợ ứng dụng, nơi mà các lập trình viên, các nhà phát triển phần mềm
có thể đưa ứng dụng của mình lên để bán cũng như người sử dụng có thể lên đó
để tìm kiếm, mua và tải về một cách dễ dàng Lợi nhuận của kho ứng dụng là rất lớn khi mà số lượng người dùng,số lượng ứng dụng là rất lớn và vì thế số lượng người tải về cũng lớn và tỉ lệ chia sẻ tương đối cao dành cho người sở hữu kho ứng dụng
Điện toán đám mây được thế giới dự đoán sẽ là “cơn sóng thần công nghệ” song nó lại khá mới mẻ tại Việt Nam Việc sử dụng hay có thể nói là tận dụng các điểm mạnh,các ưu thế của điện toán đám mây để tối ưu các tính năng cho sản phẩm cũng như giảm chi phí tối đa cho nó nhằm nâng cao sức cạnh tranh cho sản phẩm là một lựa chọn hiện nay Xây dựng ứng dụng theo mô hình điện toán đám mây sẽ là một điểm nhấn, là chìa khóa để mang lại thành công cho sản phẩm
Vì thế trong đồ án tốt nghiệp này, em sẽ sử dụng điện toán đám mây để xây dựng kho ứng dụng cho các thiết bị di động sử dụng hệ điều hành Android
Em xin chân thành cảm ơn các thầy cô trong Bộ môn Công nghệ phần mềm, Viện Công nghệ thông tin và Truyền thông trường ĐHBK HN đã tận tình giúp
đỡ, hướng dẫn, truyền đạt kiến thức cũng như kinh nghiệm, tạo điều kiện học tập
và nghiên cứu để em có thể hoàn thành tốt kỳ đồ án tốt nghiệp này
Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc tới ThS Hoàng Anh Việt – người đã tận tình giúp đỡ, trực tiếp hướng dẫn em trong suốt quá trình thực hiện
đồ án tốt nghiệp
2 Nhiệm vụ được giao trong đồ án tốt nghiệp :
- Tìm hiểu về hệ điều hành Android, xây dựng các ứng dụng dựa trên nền tảng Android
- Tìm hiểu về các kho ứng dụng cho di động (Application Store)
- Tìm hiểu về cloud computing, Google App Engine Xây dựng ứng dụng dựa trên GAE
- Tìm hiểu môi trường thanh toán quốc tế qua Paypal, thẻ tín dụng và Paypal API dành cho Andorid
- Tìm hiểu Web service trao đổi dữ liệu giữa GAE và Android
Trang 11- Phân tích, thiết kế và xây dựng thành công kho ứng dụng cho di động cho các thiết bị di động sử dụng hệ điều hành Android sử dụng dịch vụ điện toán đám mây của Google (GAE).
3 Bố cục của đồ án tốt nghiệp :
Đồ án tốt nghiệp gồm có 4 chương với các nội dung như sau :
• Chương 1: Tổng quan đề tài
Trong chương này đề cập đến mô tả bài toán, đặt vấn đề để đưa ra lý do xây dựng bài toán cũng như những lý thuyết kèm theo
• Chương 2: Cơ sở lý thuyết và phương pháp tiếp cận
Trong chương này đề cập đến phương pháp tiếp cận bài toán, các công nghệ
và lý thuyết sẽ sử dụng để tiếp cận xây dựng cho bài toán
• Chương 3: Mô hình kho ứng dụng đề xuất
Trong chương này đề cập đến kiến trúc bài toán, các phân tích thiết kế cũng
sẽ được đưa ra ở phần này
• Chương 4: Cài đặt và kết quả thử nghiệm
Trong chương này sẽ đề cập đến việc cài đặt dựa trên những phân tích thiết
kế từ chương trước, sử dụng các thư viện kèm theo Chương này cũng đưa
ra các kết quả đạt được và các kết quả thử nghiệp, kiểm thử
Trang 12C hương 1 :Tổng quan đề tài
1.1 Mô tả bài toán
Tên đề tài : Ứng dụng điện toán đám mây xây dựng kho ứng dụng cho các thiết bị sử dụng hệ điều hành Android
Xây dựng hệ thống đáp ứng đầy đủ chức năng của một kho ứng dụng cho di động gồm :
- Hệ thống cho phép nhà phát triển có thể đăng ký, đưa ứng dụng của mình lên để bán và xem thông tin tất cả các ứng dụng của mình thông qua một web portal thân thiện
- Người dùng điện thoại Android có thể đăng ký tài khoản trên portal của hệ thống, tải về ứng dụng để cài đặt trong điện thoại của mình Sau đó người sử dụng có thể truy cập kho ứng dụng thông qua ứng dụng AndroidStore đã được cài đặt trên máy
- Người dùng tìm kiếm theo loại ứng dụng, hoặc theo top, hoặc theo tên ứng dụng Người dùng có thể mua và tải về để cài đặt cho ứng dụng, ngoài ra còn
có thể tham gia đánh giá cho ứng dụng, viết comment cũng như đọc các comment
- Người mua và người bán được thanh toán qua Paypal – là phương tiện thanh toán phổ biến nhất thế giới hiện nay, đáp ứng nhu cầu thanh toán của hầu hết các quốc gia trong đó có Việt Nam
1.2 Đặt vấn đề
Kho ứng dụng – mỏ vàng tiềm năng :
Hiện nay thế giới đã bước vào thời kì phát triển mạnh mẽ của các thiết bị điện thoại thông minh, máy tính bảng Các nền tảng mới ra đời và ngày càng khẳng định là yếu tố quyết định cho sự thành công của các thiết bị thông minh mà ta phải kể đến như Android, I OS và cả Windows Phone 7 Trong sự cạnh tranh giữa các nền tảng, thì ứng dụng nổi lên như là một yếu tố quyết định đến sự thành công của một nền tảng và xuất hiện một khái niệm mang tên kho ứng dụng hay là chợ ứng dụng Kho ứng dung là nhân tố thúc đẩy
Trong thời gian qua, sự thành công của AppStore cũng như Android Market đã tạo nên một xu hướng mới, xu hướng xây dựng các kho ứng dụng cho di động Không chỉ các hãng sở hữu nền tảng,các nhà sản xuất điện thoại di động, các hãng viễn thông mà kể cả các tổ chức, cá nhân bên thứ ba cũng xây dựng các
Trong chương này, NV sẽ mô tả bài toán, đặt vấn đề để tiến đến lý do ra đời bài toán cũng như các lý thuyết kèm theo Chương gồm có 2 đề mục lớn :
1.1 Mô tả bài toán
1.2 Đặt vấn đề
Trang 13kho ứng dụng cho riêng mình nhằm chia sẻ miếng bánh lợi nhuận khổng lồ từ thị trường ứng dụng có giá trị lên tới 29 tỷ USD vào năm 2013.
Hiện tại với việc bùng nổ các ứng dụng cho di động thì cũng bùng nổ cả chợ cho di động, nói đến chợ cho di động phải nói đến App Store, tuy nhiên ta có thể phân ra thành các loại hình chợ như sau :
- Operator Portals : (như Vodafone Live) : Đây là loại hình chợ được sở hữu bởi các nhà khai thác di động, với lợi thế là có thể thanh toán trực tiếp với khách hàng thông qua tài khoản trên điện thoại của họ Các nhà lập trình phải thuê các nhà khai thác trong việc marketting phân phối cũng như thanh toán Tuy nhiên trong hầu hết các trường hợp thì lợi nhuận thu được lại phần lớn nghiêng về các nhà khai thác
- 3rd Party Store Fronts : Người sử dụng sử dụng internet để truy cập application stores với sự hỗ trợ số lượng lớn các nền tảng và thiết bị Nhà phát triển thu được lợi nhuận chia sẻ cao nhưng quảng bá và hiển thị rõ ràng là điều lo ngại với loại hình này Và không giống như loại hình operator portal, chợ ứng dụng không được hiển thị trực tiếp tới người sử dụng mà người sử dụng phải search chúng
- Platform Application Stores : Ex Ovi Store, Android Market :Đây là loại hình mới mẻ cho các chợ ứng dụng mà nó được xây dựng bởi các nhà sản xuất thiết bị như Nokia, LG,… hoặc các nhà phát triển nền tảng như Google, MS hoặc là cả 2 như Apple, RIM,… Lợi thế lớn nhất của nó chính là việc nhúng kho ứng dụng ngay trên thiết bị di động khi sản xuất
ra, và việc khám phá chúng là khá đơn giản Như thế nó có thể chiếm lấy
Trang 14một lượng lớn các thiết bị di động cũng như lượng rất lớn người sử dụng
Và vì thế nó có tiềm năng rất lớn là thu hút các nhà phát triển phần mềm Việc chia sẻ lợi nhuận cũng rất hấp dẫn cho các lập trình viên ,như App Store hay Android Market đều chia sẻ với tỷ lệ là 70%-30%
Trang 15Hình 1- 3: Lợi nhuận dự kiến thu được của các kho ứng dụng đến 2014
Đến năm 2013, doanh thu ước tính của thị trường ứng dụng di động thế giới đạt con số 29 tỷ USD Có thể nói đây chính là mỏ vàng dành cho không chỉ các nhà phát triển phần mềm mà là những nhà sở hữu các kho ứng dụng – nơi buôn bán và tải về hầu như tất cả các ứng dụng Hiện tại, ở VN, FPT, Viettel và cả Mobifone đều tung ra các chợ ứng dụng, tuy nhiên vẫn chưa đem lại nhiều thành công
a) AppStore:
Kho ứng dụng thành công nhất hiện nay Hiện tại App Store của Apple là kho ứng dụng có nhiều ứng dụng nhất hiện nay với khoảng gần 400.000 ứng dụng App Store là kho ứng dụng đem lại nhiều lợi nhuận nhất, chiếm tới gần 80% lợi nhuận của tất cả các kho ứng dụng trên thế giới
App Store là kho ứng dụng của Apple, nó cung cấp các ứng dụng sử dụng được phát triển từ iOS SDK cho các thiết bị sử dụng hệ điều hành iOS như Iphone,Ipad Ứng dụng có thể tải trực tiếp về thiết bị hoặc có thể tải về máy tính qua iTunes 30% lợi nhuận từ kho ứng dụng sẽ rơi vào Apple, 70% sẽ được trả lại người sở hữu ứng dụng App Store mở vào ngày 10/7/2008 qua nâng cấp từ iTunes
Thanh toán trên iPhone App Store được xử lý qua tài khoản iTunes của bạn mà
là liên kết trực tiếp vào thẻ tín dụng của bạn Các hệ thống thanh toán rất dễ dàng
và cho phép bạn mua các ứng dụng dễ dàng thông qua ứng dụng App Store hoặc giao diện iTunes
b) Android Market:
Android Market là một kho phần mềm online được phát triển bởi Google cho các thiết bị Android Một chương trình ứng dụng gọi là chợ được cài trước cho hầu hết các thiết bị chạy Android và cho phép người sử dụng lựa chọn, tìm kiếm và tải về các ứng dụng được đưa ra bởi bên thứ 3
Hiện tại Android Market cùng với App Store là hai kho ứng dụng thành công nhất hiện nay Android Market là kho ứng dụng có số lượng ứng dụng và số lượng download đứng thứ 2 thế giới sau App Store, hiện tại kho ứng dụng của
Trang 16Google đang phát triển nhanh nhất và có thể vượt mặt App Store trong tương lai Android Market là kho ứng dụng có tỷ lệ ứng dụng miễn phí nhiều nhất và số lượng ứng dụng miễn phí đã vượt qua App Store.
Các nhà phát triển phần mềm nhận 70% số tiền ứng dụng bán được , với khoảng 30% được phân phối qua các nhà mạng và còn lại thì qua payment Lợi nhuận thu được từ Android Market được trả cho người lập trình qua tài khoản Google checkout merchant
Những người sử dụng ở một số quốc gia có thể truy cập được các ứng dụng có phí trên Android Market, số còn lại thì duy nhất truy cập các ứng dụng miễn phí Tương tự với những người lập trình có thể bán các ứng dụng của mình chỉ ở một
số nước
c) Kho ứng dụng trong nước :
Hiện các doanh nghiệp trong nước đang xây dựng kho ứng dụng cho riêng mình Tiên phong là FPT, với F-Store kho ứng dụng cho điện thoại di động được xây dựng khá sớm Nguồn ứng dụng trong kho một phần do FPT phát triển, một phần từ các cuộc thi viết ứng dụng do FPT tổ chức FPT cũng kêu gọi Nokia tham gia, tuy nhiên chương trình này không mang lại kết quả đáng kể nào
Viettel là nhà mạng đầu tiên nhảy vào lĩnh vực xây dựng ứng dụng, phát triển ứng dụng cho di động bằng cuộc thi viết ứng dụng, game cho điện thoại di động Viettel còn chia tỉ lệ người đoạt giải là 60%-40% cho doanh thu được từ sản phẩm
Mobifone cũng cung cấp kho ứng dụng mSpace, cung cấp một loạt các tiện ích cho khách hàng sử dụng điện thoại di động có thể tìm kiểm, lựa chọn, mua những ứng dụng tiện ích, phù hợp với máy điện thoại của mình qua website,wapsite và SMS
Nhìn chung các kho ứng dụng trong nước hiện nay chưa tiếp cận với mô hình của các kho ứng dụng lớn trên thế giới Các kho ứng dụng của Viettel chỉ có trên nền web và tải ứng dụng về bằng cách gửi tin nhắn hoặc truy cập trên trang web của kho ứng dụng, trong khi đó mobifone thì truy cập thông qua wap Cả hai kho ứng dụng của viettel và mobifone không có ứng dụng được cài đặt trên điện thoại và vì thế không thể truy cập và tìm kiếm ứng dụng trên điện thoại như các kho ứng dụng trên thế giới Riêng F-Store của FPT thì kho ứng dụng đa phần là miễn phí, và có hỗ trợ trên điện thoại chỉ đối với một vài dòng điện thoại do FPT sản xuất, vốn không chiếm được nhiều thị phần trong nước Nhìn chung Mobifone và Viettel có phương thức thanh toán khá dễ dàng nhưng chỉ hỗ trợ trong nước và chỉ đối với người dùng mạng của họ Chính vì những hạn chế trên nên các kho ứng dụng trong nước vẫn chưa đạt được doanh thu đáng kể và cũng phải nói đến chất lượng ứng dụng vẫn rất thấp, chưa thu hút được đông đảo các lập trình viên do chưa chưa có lợi nhuận và việc viết cho các kho ứng dụng nước ngoài thu được lợi nhuận cao hơn Một phần nữa là người dân VN vẫn chưa có nhu cầu cao cũng như tỷ lệ sử dụng smartphone vẫn còn khiêm tốn, điện thoại chủ yếu dùng để nghe, gọi…
d) Bảng so sánh một số kho ứng dụng :
Trang 17App Store Android
F-Development iPhone
SDK ,API, testing tool, debugging tool, emulator
…
Android SDK, API, testing tool,
debugging tool, emulator
Rất khó khăn
vì có quá nhiều ứng dụng, các tên trùng lặp rất nhiều
Dễ dàng do quá ít ứng dụng
Dễ dàng
do quá ít ứng dụng
Thanh toán Mua và bán
ứng dụng thông qua tài khoản iTunes được liên kết trực tiếp với thẻ tín dụng của của người bán và người mua
Thanh toán được xử lý qua Google
Checkout,Hỗ trợ rất ít quốc gia, trong đó gần đây mơi
hỗ trợ mua tại Việt Nam, nhưng nhà lập trình vẫn không thể bán được tại Việt Nam
Thanh toán thông qua tài khoản điện thoại của nhà mạng, cụ
Viettel Vì vậy chỉ hỗ trợ điện thoại sử dụng mạng Viettel
Chưa thương mại hóa, các ứng dụng hiện tại là miễn phí
Hệ thống
đóng/ mở Là hệ thống đóng hoàn
toàn bởi Apple, bị kiểm soát chặc chẽ bởi các điều kiện khá độc đoán
Có chính sách rất mở, hầu hết các ứng dụng tải lên kho ứng dụng đều được chấp nhận, vì vậy chất lượng ứng dụng thấp
Ứng dụng
đa phần do Viettel phát triển
Ứng dụng
đa phần là
do công ty FPT phát triển
Trang 18của Apple hơn hẳn của
App Store
Phân mảng Android có
nhiều phiên bản, nhiều nhà sản xuất với các kích thước màn hình, phần cứng khác nhau Bị phân mảnh nhiều
Iphone chỉ có
5 phiên bản và phần cứng , kích thước màn hình không thay đổi nhiều Không
bị phân mảnh
Hỗ trợ nhiều nền tảng, nhiều thiết bị khác nhau chứ không tập trung vào một nền tảng
Hỗ trợ chủ yếu cho dòng điện thoại của FPT
Bảng 1-1 : So sánh giữa các kho ứng dụng
Sau khi tìm hiểu, phân tích các kho ứng dụng trên thế giới và của Việt Nam thì
có thể nhận thấy dù kho ứng dụng của có quy mô rất lớn và đang rất thành công như App Store hay Android Market thì cũng vẫn còn hạn chế Đó là số lượng ứng dụng quá lớn, dẫn đến số lượng rất lớn ứng dụng bị bỏ qua và gây khó khăn cho việc tìm kiếm và tiếp cận một ứng dụng Riêng với Android Market cũng như các kho ứng dụng lớn trên thế giới khác vấn đề thanh toán cũng là một vấn
đề lớn, đặc biệt là các quốc gia thị trường nhỏ trong đó có Việt Nam Trong khi
đó các kho ứng dụng của Việt Nam thì việc tiếp cận người sử dụng là tương đối khó khăn khi chỉ hỗ trợ duy nhất mạng của nhà sở hữu ứng dụng (Viettel, mobifone), hoặc chỉ hỗ trợ một dòng điện thoại có thị phần rất nhỏ như F-mobile của FPT Ngoài ra do hỗ trợ nhiều dạng điện thoại khác nhau, nên các kho ứng dụng vẫn chưa chạy được trên điện thoại, và gây khó khăn cho người dùng … Nhận thấy việc xây dựng kho ứng dụng cho điện thoại di động vẫn có những cơ hội thành công và thị trường tiềm năng cho bên thứ ba phát triển Vì vậy NV sẽ xây dựng kho ứng dụng BKStore với những mục tiêu sau :
• Có chính sách thanh toán minh bạch, ưu tiên quyền lợi của các nhà phát triển phần mềm
Kết chương 1 :
Trong chương này, NV đã trình bày toàn bộ từ mô tả bài toán đến đặt vấn đề
để đưa ra bài toán, trong đó có đưa ra các thông tin về các kho ứng dụng trên
Trang 19thế giới và trong nước, làm cơ sở để đưa ra nhận xét và so sánh chúng, từ đó đưa ra các mục tiêu đạt được cho kho ứng dụng BKStore Trong các chương tiếp theo, NV sẽ trình bày lần lượt cách tiếp cận vấn đề, cơ sở lý thuyết để giải quyết, các phân tích thiết kế và cuối cùng là cài đặt,các kết quả đạt được nhằm xây dựng thành công kho ứng dụng BKStore.
Trang 20C hương 2: Cơ sở lý thuyết và phương pháp tiếp cận
2.1 Phương pháp tiếp cận và hướng giải quyết vấn đề
2.1.1 Xây dựng kho ứng dụng cho nền tảng Android.
Hiện nay có rất nhiều nền tảng cho di động như IOS của Apple, Android của Google, Windows Phone7 của Microsoft, Bada của SamSung, Symbian của Nokia… và vì thế ứng dụng cũng rất phong phú Việc lựa chọn để xây dựng kho ứng dụng cho thiết bị nào, cho nền tảng nào cũng rất khó khăn và phải có hướng đi đúng đắn Hiện tại Android đang phát triển với tốc độ rất nhanh, nó đã vượt qua lần lượt IOS và Symbian để trở thành nền tảng chiếm thị phần lớn nhất thế giới Android cũng có tốc độ cập nhật nhanh nhất trong số các nền tảng, và cũng là nền tảng bị phân mảnh nhiều nhất, có nhiều nhà sản xuất tham gia nhất và cũng là nền tảng có nhiều cải tiến về công nghệ nhất Android là nền tảng mở, và rất thuận tiện
để phát triển ứng dụng cho nền tảng này Vì vậy việc xây dựng kho ứng dụng cho Android có thể tận dụng từ sự phong phú về thiết bị, sự phân mảnh của hệ điều hành này để có cơ hội để thành công
2.1.2 Ứng dụng điện toán đám mây xây dưng kho ứng dụng
Kho ứng dụng là nơi mà lập trình viên, nhà phát triển đưa ứng dụng của mình lên bán, đồng thời người sử dụng điện thoại, hay còn gọi là khách hàng truy cập được kho ứng dụng thông qua một ứng dụng được cài đặt trên điện thoại Như vậy cần xây dựng một web portal, nơi nhà lập trình, người dùng điện thoại có thể lập tài khoản, upload ứng dụng và theo dõi các ứng dụng của mình Ngoài ra phải xây dựng ứng dụng chạy trên điện thoại, cho phép khi truy cập ứng dụng, tức là truy cập store ngay trên điện thoại của khách hàng để khách hàng dễ dàng tìm kiếm, mua và tải về ứng dụng
Vấn đề lưu trữ ứng dụng đảm bảo tính an toàn, nhưng cũng cần phải giảm tối đa chi phí.Việc khó đánh giá qui mô ứng dụng để thuê host cho phù hợp, tránh lãng phí cũng như công tác bảo trì server … cũng hết sức khó khăn với qui mô lớn Vì vậy chúng ta đưa ra giải pháp sử dụng điện toán đám mây để xây dựng kho ứng dụng, tận dụng tối đa tính ưu việt của điện toán đám mây, đồng thời giảm chi phí, đem lại sức cạnh tranh cho ứng dụng Hiện tại trong các nhà cung cấp dịch vụ điện toán đám mây thì Google cung cấp dịch vụ điện toán đám mây khá thoải mái với dung lượng lớn, chi phí thanh toán khá thuận lợi thông qua Google Checkout, ngoài ra
Trong chương này,NV sẽ trình bày về phương pháp tiếp cận để giải quyết vấn đề đã nêu, đưa ra các công nghệ, các hướng giải quyết bài toán NV cũng trình bày về cơ
sở lý thuyết về các hướng tiếp cận đã nêu ra trong phần đầu Chương 2 sẽ gồm các
đề mục lớn :
2.1 Phương pháp tiếp cận và hướng giải quyết vấn đề
2.2 Cơ sở lý thuyết
Trang 21API của Google được cung cấp thông qua Google App Engine hỗ trợ hai ngôn ngữ rất phổ biến là Java và rất dễ sử dụng là Python.
Vì vậy ứng dụng Google App Engine để xây dựng portal, sử dụng hosting của Google để lưu trữ dữ liệu lớn là hướng giải quyết đúng đắn cho những yêu cầu phức tạp của việc xây dựng kho ứng dụng
2.1.3 Sử dụng phương thức thanh toán quốc tế thuận tiện, phục vụ rộng khắp
Vấn đề thanh toán quốc tế, tức là thanh toán cho người bán (các nhà lập trình) và người mua (người sử dụng điện thoại) ở khắp nơi trên thế giới đòi hỏi kho ứng dụng cần đưa ra phương thức thanh toán dễ dàng, đáp ứng cho đa số quốc gia và chính sách chia sẻ lợi nhuận một cách hợp lý Đây là điều thu hút được các nhà phát triển cũng như người mua, đem lại thành công cho kho ứng dụng
Để giải quyết vấn đề trên, ta lựa chọn một hệ thống thanh toán quốc tế thân thiện
và phổ biến toàn thế giới Google Checkout được Google cung cấp API rất dễ sử dụng tuy nhiên điểm hạn chế là chỉ hỗ trợ cho một số nước trong đó không có Việt Nam Paypal là hệ thống thanh toán quốc tế trực tuyến hàng đầu thế giới và rất phổ biến cho thương mại điện tử Paypal hiện nay đã hỗ trợ 24 loại tiền chủ chốt và đã trở thành phổ biến ở đa số các quốc gia hiện nay tại Việt Nam Paypal cũng đã cung cấp API cho Android là một trong những điểm rất thuận lợi khi sử dụng cho kho ứng dụng đang xây dựng
Vì vậy lựa chọn Paypal cụ thể là API của Paypal cho Android làm phương thức thanh toán cho kho ứng dụng sẽ giải quyết được tất cả các yêu cầu của việc thanh toán và vận hành ứng dụng
2.2 Cơ sở lý thuyết
Trong phần này NV sẽ trình bày toàn bộ lý thuyết về hệ điều hành Android từ đặc điểm đến kiến trúc, và phát triển ứng dụng NV cũng sẽ trình bày về điện toán đám mây, Google App Engine và cuối cùng là thanh toán quốc tế trên Paypal
2.2.1 Tổng quan về hệ điều hành Android
Nhiều ứng dụng miễn phí : So với App Store thì trên Android Market số lượng các ứng dụng miễn phí nhiều hơn Goolge cũng cho phép người dùng
tự do giới thiệu các ứng dụng của mình
Được bảo trợ bởi một liên minh OHA tới nay đã có 80 thành viên bao gồm những công ty phần cứng, phần mềm viễn thông lớn nhất thế giới đứng đầu
là Google
Trang 22 Tốc độ phát triển của Android là rất nhanh chóng :
- Application Framework:
Bởi cung cấp một nền tảng mở, Android cung cấp cho các nhà phát triển khả năng để xây dựng những ứng dụng cực kì phong phú và sáng tạo Những nhà phát triển không cần mất chi phí để tận dụng phần cứng, truy nhập thông tin, chạy trên nền dịch vụ, cài đặt chông báo động …
Trang 23 Media libraries : Dựa trên PacketVideo’s OpenCORE; thư viện hỗ trợ playback và record những dạng video và audio phổ biến, như file ảnh tĩnh, bao gồm MPEG4,H.264,MP3,AAC
Surface Manager : Quản lý truy cập để hiển thị hệ thống con hiển thị và phù hợp với đồ họa 2D,3D từ đa ứng dụng
- Linux Kernel:
Android dựa trên Linux phiên bản 2.6 cho lõi hệ thống dịch vụ, giống như security, memory management,process management, network và driver model Nhân linux cũng hành động giống như một tầng trừu tượng giữa phần cứng và phần còn lại của phần mềm
2.2.1.4 Ứng dụng trên Android
Phần mềm được viết bằng ngôn ngữ Java Mã Java sau khi được biên dịch sẽ được đóng gói thành một file đơn apk duy nhất Đây chính là dạng file dùng cho việc phân phối và cài đặt các ứng dụng Android trên thiết bị Toàn bộ code trong một gói apk được coi là một ứng dụng Tuy nhiên điểm cần chú ý rằng thực chất Android chỉ sử dụng lại cú pháp của ngôn ngữ Java là chủ yếu chứ không hỗ trợ đầy đủ ngôn ngữ này Các thư viện Java cũng như các hàm API của Android chỉ là một phần của bộ chuẩn Java Platform Standard Edition (Java SE) hay bộ thu nhỏ dành cho di động Java Platform Micro Edition (Java ME hay còn gọi là J2ME) Máy ảo Java của Android cũng là một dạng khác dựa trên cấu trúc của máy ảo Java
Các thành phần cơ bản của ứng dụng Android :
• Activity : Một activity thực hiện một giao diện trực quan để người dùng có thể thao tác.Một ứng dụng của Android có thể chứa một hoặc nhiều activity
• Service : Service không có giao diện trực quan mà nó chạy ở nền trong một thời gian không xác định
• Broadcast Receiver : là một thành phần không làm gì ngoài việc nhận và hưởng ứng lại những thông báo (broadcast) được ban ra như là thông báo pin yếu, có cuộc gọi đến …
Trang 24• ContentProvider : là thành phần làm cho tập dữ liệu của ứng dụng có thể sử dụng bởi một ứng dụng khác.
•
2.2.2 Điện toán đám mây và Google App Engine
2.2.2.1 Khái niệm điện toán đám mây
Điện toán đám mây (cloud computing) không phải là một công nghệ mà là một mô hình cung cấp và tiếp thị dịch vụ CNTT đáp ứng các đặc trưng nào đó
Mây là toàn bộ dịch vụ máy tính, không phải sản phẩm, trong đó :
Cơ sở hạ tầng được chia sẻ : Nhiều khách hàng chia sẻ một nền tảng công nghệ chung và thậm chí là một ứng dụng đơn lẻ
Các dịch vụ này được truy xuất theo yêu cầu tại các đơn vị khác nhau tùy theo dịch vụ Các đơn vị có thể là người sử dụng, dung lượng, giao dịch hoặc bất kỳ sự kết hợp nào từ chúng
Các dịch vụ được mở rộng Từ quan điểm người dùng, các dịch vụ thì linh hoạt, không có giới hạn cho sự phát triển
Mô hình giá cả là do tiêu thụ Thay vì thanh toán các chi phí cố định của một dịch vụ có quy mô để sử dụng tối đa, bạn trả một cái giá tham chiếu trên một đơn vị tiêu dùng (người sử dụng, các giao dịch, dung lượng …) được đo trong những khoảng thời gian có thể khác nhau, theo giờ hoặc tháng…
Dịch vụ có thể được truy xuất từ bất cứ nơi nào trên thế giới bởi nhiều thiết
bị Mô hình đám mây dẫn đến 2 loại cơ bản khác nhau của các đám mây: riêng (private) và công cộng (public)
2.2.2.2 Đặc trưng và tính chất của điện toán đám mây
Mô hình giá cả là do tiêu thụ: Thay vì thanh toán các chi phí cố định của một dịch vụ có quy mô để sử dụng tối đa, bạn trả một cái giá tham chiếu trên một đơn vị tiêu dùng (người sử dụng, các giao dịch, dung lượng …) được đo trong những khoảng thời gian có thể khác nhau, theo giờ hoặc tháng chẳng hạn
Trừu tượng hóa cao: những khái niệm về server, phần cứng hay mạng máy tính được trừu tượng hóa ở mức cao cho người sử dụng
Tính tỷ lệ trực tiếp: giá trị sử dụng, khả năng và do đó giá cả có thể tăng hay giảm mà không cần những hợp đồng thêm
Khả năng đáp ứng của hạ tầng là có thể co giãn được
Trang 252.2.2.3 Các mô hình điện toán đám mây:
Hình 2- 2: Một số dịch vụ và nền tảng điện toán đám mây hiện nay
Software as a Service (SaaS): Đây là cách tiếp cận Cloud Computing được
sử dụng rộng rãi nhất hiện nay Một ứng dụng có thể chạy trên máy chủ trung tâm hơn là chạy trên các server riêng lẻ
Software as a Service cung cấp ứng dụng riêng lẻ thông qua trình duyệt tới hàng ngàn khách hàng sử dụng một kiến trúc multitenant Về phía dịch vụ đám mây nó chỉ yêu cầu để bảo trì và quản lý một ứng dụng trên đám mây, còn về phía máy khách, nó không cần trả trước máy chủ, phần mềm và cả giấy phép sử dụng
Platform as a Service(PaaS)
PaaS cung cấp môi trường phát triển như một dịch vụ Bạn có thể xây dựng ứng dụng của bạn mà chạy trên cơ sở hạ tầng được cung cấp và được nhận thông qua Intenet từ cung cấp Server
Một số nền tảng như : Google App Engine,Windows Azure,EC2 …
Infrastructure as a Service (IaaS)
IaaS là việc phân phối hạ tầng máy tính như một dịch vụ Người dùng mua server, phần mềm, trung tâm dữ liệu, mạng… thay vì mua tất cả những tài nguyên đó như những dịch vụ linh kiện
Một số dịch vụ nổi tiếng : Google Gears, Amazon S3
Trang 262.2.2.4 Lợi ích của điện toán đám mây
Giảm chi phí: giảm chi phí một cách đáng kể do không phải đầu tư cơ sở hạ tầng, được sử dụng sẵn các tài nguyên một cách nhanh chóng và ít tốn kém
Đa phương tiện: Người dùng có thể truy hệ thống bằng cách sử dụng trình duyệt web mà không quan tâm đến vị trí của họ hay thiết bị nào đang dùng, như PC,mobile …
Độ tin cậy : giảm được các rủi ro có thể xảy ra nhờ khả năng khôi phục thất bại
Bảo mật: Việc bảo mật cải thiện nhờ vào tập trung hóa dữ liệu, các tài nguyên chú trọng bảo mật …
2.2.2.5 Google App Engine
Hình 2-3:Hệ thống dịch vụ điện toán đám mây của Google
GAE là một nền tảng cho phát triển và lưu trữ ứng dụng web trên trung tâm quản lý
dữ liệu của Google GAE là công nghệ điện toán đám mây, nó ảo hóa ứng dụng trên nhiều server Nó tương tự các nền tảng khác như Amazon Web services hay Azure Services Platform
Hiện tại GAE hỗ trợ hai ngôn ngữ là Python và Java Google App Engine mang tính linh hoạt rất cao, nó cũng khá thoải mái cho các nhà phát triển có thể thử nghiệm và tiếp cận với nền tảng Khi bắt đầu, GAE cung cấp 500 MB lưu trữ dữ liệu cho mỗi ứng dụng và bandwidth có thể quản lý xấp xỉ 5 triệu lượt truy cập/tháng
Trang 27GAE cung cấp rất nhiều cơ sở hạ tầng cho việc dễ dàng mở rộng ứng dụng, nhưng
nó chỉ duy nhất chạy trong giới hạn thiết kế trong cơ sở hạ tầng của nó
GAE có các đặc điểm sau :
• Lưu trữ trên GAE khá uyển chuyển, nếu lưu trữ dung lượng lớn có thể sử dụng blobstore, tuy nhiên sẽ kích hoạt thanh toán để có thể sử dụng dạng lưu trữ này
2.2.3 Thanh toán quốc tế - Paypal
Paypal là một công ty trong lĩnh vực thương mại điện tử (hay còn được gọi là cổng thanh toán trực tuyến) Lĩnh vực hoạt động chính của Paypal là chuyên cung cấp cac dịch vụ thanh toán và chuyển tiền trực tuyến qua mạng Internet
Một số ưu điểm của Paypal :
- Chế độ bảo mật cao
- An toàn giao dịch cho cả người bán và người mua
- Khi sử dụng Paypal để thanh toán, bạn sẽ không phải nhập số thẻ thanh toán (Master, Visa card) của mình mỗi khi cần
- Một điểm khác biệt khá lớn của Paypal với các cổng thanh toán trực tuyến khác
là sự uyển chuyển trong việc quản lý tiền cho khách hàng
Paypal đã cung cấp API cho mobile trên cả hai nền tảng mạnh nhất hiện nay là Android và Iphone dưới hai dạng là Mobile Payments Library (MPL) và Mobile Express Checkout Library (MECL) MPL là thư viện được sử dụng khi tích hợp trực tiếp thư viện Paypal vào ứng dụng mobile, còn MECL được dùng khi sử dụng browser hoặc webview để checkout qua Paypal
MPL và MECL cung cấp các dạng thanh toán là Simple,Parallel và Chained Payments Simple payments chỉ có duy nhất một người nhận trong khi đó Parallel
và Chained payments có nhiều người nhận và sự khác nhau về cách chia cho những người nhận
Trang 28Kết chương 2 :
Tóm lại, trong chương 2 NV đã trình bày đầy đủ phương pháp tiếp cận và hướng giải quyết vấn đề Đó là tập trung vào nền tảng Android, sử dụng điện toán đám mây và ứng dụng thanh toán quốc tế thông dụng trong thương mại điện tử, trong đó
có Paypal NV đã trình bày lý thuyết , khái niệm về những hướng tiếp cận trên và đồng thời kết thúc phần đặt vấn đề, lý thuyết kèm theo để tiến đến xây dựng kho ứng dụng trong các chương tiếp theo
Trang 29C hương 3 : Mô hình kho ứng dụng đề xuất
kế bài toán Chương 3 gồm các đề mục lớn :
3.2 Phân tích và thiết kế
Trang 30• Datastore : cung cấp kho dữ liệu lưu trữ, khả năng mở rộng mạnh mẽ cho web application, với trọng tâm là đọc và truy vấn Một ứng dụng tạo ra các thực thể, với giá trị dữ liệu được lưu trữ như thuộc tính của một thực thể Các ứng dụng có thể thực hiện truy vấn trên các thực thể Tất cả các truy vấn được lập chỉ mục trước cho kết quả nhanh hơn trên dữ liệu lớn.
Với python, thực thể datastore được tạo từ đối tượng Python Thuộc tính của đối tượng trở thành thuộc tính của thực thể
Datastore không sử dụng SQL để truy vấn dữ liệu mà sử dụng Gql, ngôn ngữ tương tự với SQL
• Google App Engine : nền tảng cloud PaaS của Google sử dụng ngôn ngữ Python
và các API cũng như sử dụng platform cung cấp sẵn để phát triển các ứng dụng Web, Web service …
• Web Portal: Trang web được xây dựng hoàn toàn dựa trên nền tảng GAE, và lưu trữ trên web hosting của dịch vụ cloud của Google Web portal là cổng thông tin của kho ứng dụng trên nền tảng Web, nơi lập trình viên và người sử dụng lập tài khoản, tải ứng dụng của mình lên kho ứng dụng Web portal cũng là nơi người sử dụng tải về file nguồn của kho ứng dụng để cài đặt trên máy tính
• Web Service : Là nơi cung cấp các service cho client, được xây dựng và đặt trên cloud Sử dụng phương thức truyền là XML-RPC Web service sẽ chứa các phương thức để thao tác với cơ sở dữ liệu trên datastore, đáp lời gọi từ phía client cũng như trả về kết quả
• XML Parse : Là một module nằm trên Android, dùng để giao tiếp với web service Nó sẽ xử lý XML trả về từ web service mà sử dụng XML RPC và phân tích ra các dữ liệu để trả về các đối tượng đồ họa để hiển thị
• AndroidStore : Là các module chính của kho ứng dụng được xây dựng trên nền tảng Android của Google Nó bao gồm các Activity hiển thị cho người dùng và các lớp để xử lý khác
• Paypal Service : Ứng dụng trên Android được tích hợp với dịch vụ thanh toán của Paypal Paypal service sẽ phục vụ xử lý thanh toán trực tiếp khi khách hàng mua ứng dụng Service sẽ được gọi thông qua thư viện bao gồm các API của Paypal được cài đặt trên ứng dụng của Android
3.1.2 Tổng quan hệ thống :
3.1.2.1 Mục tiêu của hệ thống :
- Cho phép người dùng có thể tải và cài đặt được file nguồn apk của AndoridStore
dễ dàng trên portal của hệ thống
- Cho phép người dùng truy xuất Market thông qua ứng dụng được cài đặt trên điện thoại của mình Người dùng có thể xem, tìm kiếm, mua và tải về dễ dàng những ứng dụng có trên Store với các hình thức thanh toán phổ biến, thuận tiện,
dễ dàng và an toàn cao Người dùng có thể comment, vote cho ứng dụng đồng thời chia sẻ cho bạn bè
Trang 31- Người phát triển phần mềm có thể đăng ký tài khoản trên portal dành cho Developer và upload ứng dụng lên để bán Ngay sau khi ứng dụng được bán, tiền bán sẽ được chuyển đến ngay tài khoản của Developer.
- Hệ thống đảm bảo tính ổn định, chính xác, bảo mật và an toàn cao
- Hệ thống có giao diện, đặc biệt là trên điện thoại mang tính thẩm mỹ và thân thiện, dễ sử dụng cho tất cả các đối tượng sử dụng điện thoại thông minh
- Hệ thống mang tính linh hoạt cao, dễ mở rộng và đảm bảo giảm tối đa chi phí vận hành
3.1.2.2 Yêu cầu chung của hệ thống :
Yêu cầu về môi trường :
STT Mô tả yêu cầu
01 Đảm bảo chạy tốt trên điện thoại di động sử dụng hệ điều hành
Android mọi version
02 Điện thoại phải được kết nối GPRS hoặc 3G của bất kì nhà cung
cấp dịch vụ nào
03 Ngôn ngữ lập trình được sử dụng là Android, Google App Engine
(Python), JavaScript …
Bảng 3-1 : Yêu cầu về môi trường
Yêu cầu về giao diện :
Mã nghiệp
vụ
Mô tả yêu cầu
01 Thân thiện dễ dùng, các chức năng phải được trình bày hợp lý phù
hợp với người sử dụng
02 Đẹp, yêu cầu giao diện phải được trình bày có thẩm mĩ, hợp lý và
thống nhất
03 Phù hơp với các kích thước màn hình phổ biến hiện nay
Bảng 3-2 : Yêu cầu về giao diện
Trang 323.1.2.3 Sơ đồ tổng quan hệ thống :
Hình 3- 2: Sơ đồ tổng quan hệ thống
Trang 34• Kho ứng dụng trên mobile Android Kho ứng dụng cho phép người sử dụng
có thể truy cập vào để tìm kiếm, xem thông tin và mua cũng như tải về ứng dụng cho chiếc điện thoại Kho ứng dụng gọi các service được cung cấp bởi
hệ thống web đã được xây dựng ở trên
3.2.2 Các tác nhân tham gia hệ thống :
Hình 3- 3:Các tác nhân tham gia hệ thống
Các tác nhân tham gia hệ thống bao gồm Developer, Customer, Paypal Service :
Developer : Các nhà phát triển phần mềm, đưa ứng dụng của mình lên kho ứng
dụng để bán
Customer : Người sử dụng điện thoại Android, truy cập tìm kiếm, mua và tải về
ứng dụng từ kho ứng dụng được cài đặt trên máy
Paypal Service : Tham gia vào thanh toán khi người sử dụng mua ứng dung, sẽ
truy cập đến dịch vụ thanh toán của paypal và tiến hành các giao dịch
Trang 353.2.3 Sơ đồ chức năng của hệ thống :
Hình 3-4:Sơ đồ Use case hệ thống
Danh sách Use case :
Trang 36STT Tên Use case Ý nghĩa
1 Registry Đăng ký tài khoản cho người dùng
2 Login Đăng nhập trước khi thực hiện các chức năng
3 View List App Xem ứng dụng dưới dạng list, dạng danh sách theo
các tiêu chí : top, hot, category …
4 View Detail App Xem chi tiết ứng dụng gồm mô tả, các icon,
screenshot, và các đánh giá của người dùng
5 Search Tìm kiếm theo tên ứng dụng
6 Buy/Pay Người dùng mua và thanh toán đối với ứng dụng có
phí
7 Download Người dùng tải về ứng dụng
8 Vote and Comment Đánh giá và bình luận các ứng dụng
9 Add Application Nhà phát triển tải ứng dụng lên kho ứng dụng
10 View Own App Nhà phát triển xem thông tin các ứng dụng của mình,
đặc biệt là số lượng download
Bảng 3-2 : Danh sách Use case Đặc tả use case
Register
Actor Customer,Developer
Descripiton Chức năng cho phép người sử dụng đăng ký tài khoản theo hai
quyền là Developer và Customer Người sử dụng điền đầy đủ các thông tin vào form đăng ký và submit
Normal-Flows • Use case này bắt đầu khi một actor muốn sử dụng hệ thống và
phải tạo tài khoản
• Hệ thống yêu cầu actor nhập các thông tin liên quan đến actor như FullName, email, mobile,… Người sử dụng cũng phải chọn quyền đăng ký là customer hoặc developer Với từng quyền thì có thêm các thông tin cá nhân để đăng ký
• Người dùng bấm nút register để hoàn tất đăng ký
• Nếu thành công hoặc thất bại thì đều được thông báo cho