Tải bản đầy đủ (.pdf) (112 trang)

Xây dựng ứng dụng hệ thống quản lý tích điểm điện tử mua sắm buyplus trên các thiết bị di động nền tảng IOS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.98 MB, 112 trang )

GIẢI
GI THÍCH KÝ HIỆU UML
Toolbox

Giảii thích
Mô tả hành động,
ng, hành vi cho một
m
đối tượng
ng
Biếu tượng
ng cho bắt
b đầu

Biểu tượng
ng cho kết
k thúc

Khối lệnh đúng
úng và sai

Hướng điềuu khi
khiển
Dùng để mô ttả
Nút đối tượng
ng

Đối tượng lớ
ớp
Đối tương
ng giao di


diện

Phụ thuộcc


MỤC LỤC
LỜI CẢM ƠN
GIẢI THÍCH KÝ HIỆU UML
MỤC LỤC
CHƯƠNG 1 MỞ ĐẦU
1.1. Giới thiệu đề tài ................................................................................. 1
1.2. Mục đích đề tài .................................................................................. 1
1.3. Phạm vi đề tài .................................................................................... 2
1.4. Chức năng hệ thống ........................................................................... 2
CHƯƠNG 2 CÔNG NGHỆ SỬ DỤNG
2.1. Giới thiệu tổng quan về nền tảng IOS ................................................ 4
2.1.1.

Sơ lược về lịch sử phát triển của hệ điều hành IOS ................... 4

2.1.2.

Các phiên bản hệ điều hành IOS ............................................... 4

2.1.3.

Chợ ứng dụng App Store .......................................................... 8

2.1.4.


Công cụ lập trình và môi trường phát triển.............................. 10

2.2. Giới thiệu tổng quan về CentOS....................................................... 12
2.3. Giới thiệu tổng quan về UML .......................................................... 13
2.3.1.

Tổng quan về UML................................................................. 13

2.3.2.

Mục đích của UML ................................................................. 13

2.3.3.

Mục tiêu của UML.................................................................. 14

2.4. Giới thiệu về Mysql và SQLite......................................................... 14
2.4.1.

Mysql ...................................................................................... 14

2.4.2.

SQLite .................................................................................... 17

2.5. Giới thiệu về ngôn ngữ PHP ............................................................ 19
2.6. JSON ............................................................................................... 20
2.7. Adobe Photoshop ............................................................................. 24
Chương 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG



3.1. Biểu đồ Use Case ............................................................................. 27
3.1.1.

Usecase về phía server ............................................................ 27

3.1.2.

Usecase quản lý tài khoản ....................................................... 35

3.1.3.

Usecase quản lý thẻ tích điểm ................................................. 41

3.1.4.

Usecase quản lý nhận thông báo từ server ............................... 45

3.1.5.

Usecase yêu cầu tham gia cửa hàng mới ................................. 49

3.1.6.

Usecase yêu cầu thêm bạn mới ............................................... 50

3.1.7.

Usecase quản lý danh sách hiển thị thông tin và tin tức các các


cửa hàng................................................................................................ 51
3.1.8.

Usecase đổi quà bằng điểm ..................................................... 53

3.2. Biểu đồ hoạt động ............................................................................ 54
3.2.1.

Quản lý danh sách cửa hàng – Server...................................... 54

3.2.2.

Quản lý và kiểm duyệt đăng tin khuyến mãi tất cả các cửa hàng

– Server ................................................................................................ 55
3.2.3.

Quản lý đăng tin khuyến mãi của cửa hàng – Server ............... 56

Server cho người cửa hàng tự quản lý thông tin khuyến mãi của cửa hàng

đó. ......................................................................................................... 56
3.2.4.

Quản lý giao dịch mua hàng của cửa hàng – Server ................ 57

Server cho phép cửa hàng quản lý giao dịch với người dùng. ................ 57
3.2.5.

Thực hiện giao dịch đổi quà của cửa hàng – Server ................ 58


3.2.6.

Xem lịch sử giao dịch của người dùng – Server ...................... 59

3.2.7.

Đăng ký tài khoản ................................................................... 60

3.2.8.

Đăng nhập............................................................................... 61

3.2.9.

Hiển thị thông tin người dùng sau khi đã đăng nhập thành công
62

3.2.10. Cập nhật thông tin của tài khoản đã đăng nhập ....................... 63
3.2.11. Đăng xuất ............................................................................... 64


3.2.12. Xem danh sách điểm của người dùng ở các cửa hàng đã tham
gia

65

3.2.13. Xem danh sách quà tặng của các cửa hàng mà người dùng đã
tham gia ................................................................................................ 66
3.2.14. Xem danh sách bạn bè ............................................................ 67

3.2.15. Nhận thông báo từ server (Notification) .................................. 68
3.2.16. Yêu cầu tham gia cửa hàng mới .............................................. 69
3.2.17. Yêu cầu thêm bạn ................................................................... 70
3.2.18. Xem danh sách tin tức của tất cả các cửa hàng trên hệ thống .. 71
3.2.19. Đổi quà bằng điểm tích ........................................................... 72
3.3. Biểu đồ Class ................................................................................... 73
3.3.1.

Class diagram đăng nhập ........................................................ 73

3.3.2.

Class diagram đăng ký ............................................................ 75

3.3.3.

Class diagram quản lý thẻ tích điểm....................................... 77

3.3.4.

Class diagram nhận thông báo tử server .................................. 80

3.3.5.

Class diagram hiển thị tin tức .................................................. 82

3.4. Thiết kế hệ thống ............................................................................. 85
CHƯƠNG 4 HƯỚNG DẪN SỬ DỤNG VÀ THIẾT KẾ GIAO DIỆN
4.1. Hướng dẫn sử dụng ứng dụng .......................................................... 89
4.2. Thiết kế giao diện............................................................................. 91

4.2.1.

Giao diện màn hình splash ...................................................... 91

4.2.2.

Giao diện màn hình đăng nhập ................................................ 92

4.2.3.

Giao diện mình hình đăng ký .................................................. 93

4.2.4.

Giao diện màn hình tin tức ...................................................... 94

4.2.5.

Giao diện màn hình danh sách cửa hàng ................................. 95

4.2.6.

Giao diện màn hình thông tin cửa hàng ................................... 96

4.2.7.

Giao diện màn hình thông tin tài khoản................................... 97


4.2.8.


Giao diện màn hình thông báo ................................................ 98

4.2.9.

Giao diện màn hình tích điểm ................................................. 99

4.2.10. Giao diện màn hình cài đặt.................................................... 100
4.2.11. Giao diện màn hình chi tiết tin tức ........................................ 101
KẾT LUẬN


DANH MỤC BẢNG
Bảng 3.1. Đặc tả quản lý danh sách người dùng – Admin ............................ 29
Bảng 3.2. Đặc tả quản lý và kiểm duyệt đăng tin khuyển mãi tất cả các cửa
hàng – Admin ............................................................................................... 30
Bảng 3.3. Đặc tả quản lý đăng tin khuyến mãi của các cửa hàng trong hệ
thống cửa hàng – Cửa hàng .......................................................................... 31
Bảng 3.4. Đặc tả quản lý giao dịch mua hàng của cửa hàng trong hệ thống cửa
hàng – Cửa hàng........................................................................................... 32
Bảng 3.5. Đặc tả thực hiện giao dịch đổi quà của cửa hàng trong hệ thống–
Cửa hàng ...................................................................................................... 33
Bảng 3.6. Đặc tả xem lịch sử giao dịch của người dùng – Người dùng ......... 34
Bảng 3.7. Đặc tả đăng ký tài khoản .............................................................. 36
Bảng 3.8. Đặc tả đăng nhập .......................................................................... 37
Bảng 3.9. Đặc tả xem thông tin tài khoản ..................................................... 38
Bảng 3.10. Đặc tả sửa thông tin tài khoản .................................................... 39
Bảng 3.11. Đặc tả đăng xuất tài khoản ......................................................... 40
Bảng 3.12. Đặc tả xem danh sách điểm của người dùng ở các cửa hàng đã
tham gia ....................................................................................................... 42

Bảng 3.13. Đặc tả xem danh sách quà tặng của các cửa hàng mà người dùng
đã tham gia ................................................................................................... 43
Bảng 3.14. Đặc tả xem danh sách bạn bè..................................................... 44
Bảng 3.15. Đặc tả xem danh sách nhận thông báo từ cửa hàng mà người dùng
đã tham gia ................................................................................................... 46
Bảng 3.16. Đặc tả xem danh sách nhận thông báo từ bạn bè......................... 47
Bảng 3.17. Đặc tả xem danh sách nhận thông báo về thông tin của hệ thống 48
Bảng 3.18. Đặc tả yêu cầu tham gia cửa hàng mới ....................................... 49
Bảng 3.19. Đặc tả yêu cầu thêm bạn mới...................................................... 50
Bảng 3.20. Đặc tả xem danh sách tin tức của các cửa hàng trên hệ thống ..... 52
Bảng 3.21. Đặc tả đổi quà bằng điểm tích .................................................... 53
Bảng 3.22.Mô tả chi tiết các hàm trong class đăng nhập............................... 74
Bảng 3.23.Mô tả chi tiết các hàm trong class đăng ký và điều khoản sử dụng
..................................................................................................................... 76
Bảng 3.24.Mô tả chi tiết các hàm trong class quản lý thẻ tích điểm .............. 78
Bảng 3.25.Mô tả chi tiết các hàm trong class nhận thông báo từ server ........ 81
Bảng 3.26.Mô tả chi tiết các hàm trong class hiển thị tin tức ................................. 83


DANH MỤC HÌNH
Hình 2.1. MySQL Workbench trên OS X ..................................................... 16
Hình 2.2. Cách thức PHP hoạt động ............................................................. 20
Hình 2.3. JSON object.................................................................................. 21
Hình 2.4. JSON Array .................................................................................. 22
Hình 2.5. JSON Value .................................................................................. 22
Hình 2.6. JSON String.................................................................................. 23
Hình 2.8. JSON Number .............................................................................. 23
Hình 3.1. Mô hình Use Case về phía Server ................................................. 28
Hình 3.2. Mô hình Use Case quản lý tài khoản ............................................. 35
Hình 3.3. Mô hình Use Case quản lý thẻ tích điểm ....................................... 41

Hình 3.4. Mô hình Use Case quản lý nhận thông báo từ server .................... 45
Hình 3.5. Mô hình Use Case yêu cầu tham gia cửa hàng mới ....................... 49
Hình 3.6. Mô hình Use Case yêu cầu thêm bạn mới ..................................... 50
Hình 3.7. Mô hình Use Case Xem danh sách tin tức của các cửa hàng trên hệ
thống ............................................................................................................ 51
Hình 3.8. Mô hình Use Case đổi quà bằng điểm tích .................................... 53
Hình 3.9. Biểu đồ hoạt động quản lý danh sách người dùng – Server ........... 54
Hình 3.10. Biểu đồ hoạt động quản lý và kiểm duyệt thông tin khuyến mãi tất
cả các cửa hàng trong hệ thống– Server........................................................ 55
Hình 3.11. Biểu đồ hoạt động quản lý đăng tin khuyến mãi của cửa hàng–
Server ........................................................................................................... 56
Hình 3.12. Biểu đồ hoạt động quản lý giao dich mua hàng của cửa hàng –
Server ........................................................................................................... 57
Hình 3.13. Biểu đồ hoạt động quản lý giao dich đổi quà ở cửa hàng – Server
..................................................................................................................... 58
Hình 3.14. Biểu đồ hoạt động xem lịch sử giao dịch của người dùng – Server
..................................................................................................................... 59
Hình 3.15. Biểu đồ hoạt động đăng ký tài khoản .......................................... 60
Hình 3.16. Biểu đồ hoạt động đăng nhập ...................................................... 61
Hình 3.17. Biểu đồ hoạt động hiển thị thông tin người dùng sau khi đăng nhập
thành công .................................................................................................... 62
Hình 3.18. Biểu đồ hoạt động cập nhật thông tin người dùng khi đăng nhập
thành công .................................................................................................... 64
Hình 3.19. Biểu đồ hoạt động đăng xuất tài khoản ....................................... 65


Hình 3.20. Biểu đồ hoạt động xem danh sách điểm của người dùng ở các cửa
hàng đã tham gia .......................................................................................... 65
Hình 3.21. Biểu đồ hoạt động xem danh sách quà tặng của các cửa hàng mà
người dùng đã tham gia ................................................................................ 66

Hình 3.22. Biểu đồ hoạt động xem danh sách bạn bè.................................... 67
Hình 3.23. Biểu đồ hoạt động nhận thông báo từ server ............................... 68
Hình 3.24. Biểu đồ hoạt động yêu cầu tham gia cửa hàng mới ..................... 69
Hình 3.25. Biểu đồ hoạt động yêu cầu thêm bạn mới ................................... 70
Hình 3.26. Biểu đồ hoạt động xem danh sách tin tức của tất cả các cửa hàng
trên hệ thống ................................................................................................ 71
Hình 3.27. Biểu đồ hoạt động đổi quà bằng điểm tích .................................. 72
Hình 3.28. Biểu đồ class đăng nhập.............................................................. 73
Hình 3.29. Biểu đồ class đăng ký ................................................................. 75
Hình 3.30. Biểu đồ class quản lý thẻ tích điểm ............................................. 77
Hình 3.31. Biểu đồ class nhận thông báo từ server ....................................... 80
Hình 3.32. Biểu đồ class hiển thị tin tức ....................................................... 82
Hình 3.32. Sơ đồ thực thể liên kết – Server .................................................. 85
Hình 3.33. Sơ đồ thực thể liên kết – Client ................................................... 86
Hình 4.1. Màn hình splash ............................................................................ 91
Hình 4.2. Màn hình đăng nhập ..................................................................... 92
Hình 4.3. Màn hình đăng ký ......................................................................... 93
Hình 4.4. Màn hình tin tức ........................................................................... 94
Hình 4.5. Màn hình danh sách cửa hàng ....................................................... 95
Hình 4.6. Màn hình thông tin cửa hàng ........................................................ 96
Hình 4.7. Màn hình thông tin tài khoản ........................................................ 97
Hình 4.8. Màn hình thông báo ...................................................................... 98
Hình 4.9. Màn hình tích điểm ....................................................................... 99
Hình 4.10.Giao diện màn hình cài đặt ........................................................ 100
Hình 4.11.Giao diện màn hình chi tiết tin tức ............................................. 102


1

CHƯƠNG 1

MỞ ĐẦU
1.1. Giới thiệu đề tài
Hiện nay thương mại điện tử đã phát triển tại rất nhiều nước trên
thế giới, do đó có thể thấy được tầm quan trọng của thương mại điện tử
trong mọi lĩnh vực đặc biệt là lĩnh vực kinh tế hàng hóa.Cùng theo đó là
sự phát triển không ngừng của thế giới công nghệ, smartphone cũng là

đang phát triển rất mạnh mẽ để thay thế cho những chiếc máy tính cồng
kềnh.Với thiết kế nhỏ gọn , tính năng vượt trội, bộ nhớ được mở rộng
theo từng phiên bản, màn hình cảm ứng đa điểm...cộng với hệ điều hành
IOS và những ứng dụng thông minh nó hoàn toàn có tiềm năng có thể
thay thế cho máy tính.
Với mong muốn tạo ra một hệ thống thương mai điện tử nhằm
tăng tính hấp dẫn người dùng khi mua sắm,giúp người dùng tiếp cận
thường xuyên với thông tin mới nhất của hàng hóa,tăng doanh số và
quản lý của các cửa hàng.Vì vậy em đã lựa chọn đề tài: “Xây dựng ứng
dụng hệ thống quản lý tích điểm điện tử mua sắm BuyPlus trên các thiết
bị di động nền tảng IOS” làm đề tài tốt nghiệp cho mình.
1.2. Mục đích đề tài

Ứng dụng Hệ Thống quản lý tích điểm BuyPlus được xây dựng
nhằm đáp ứng một cách toàn diện những nhu cầu đến từ người dùng
cũng như cửa hàng. Với mong muốn là một hệ thống giúp cho hoạt động
mua sắm của người tiêu dùng trở nên tiết kiệm và hiệu quả hơn, đồng
thời hỗ trợ cửa hàng trong việc quản lý khách hàng và kích thích doanh
số.Qua đó ,mục tiêu của đề tài hướng đến là:
- Xây dựng hệ thống quản lý tối ưu cửa hàng trong đó:


2


• Hệ thống giúp cửa hàng quản lý tốt thông tin của các mặt hàng
cửa cửa hàng.

• Hệ thống giúp cửa hàng kích thích doanh số, khuyến khích
người dùng mua sắm tại cửa hàng.
- Xây dựng hệ thống giúp người dùng tiết kiệm và tiện lợi hơn trong đó:

• Hệ thống giúp người dùng tiếp cận và nắm bắt thông của các
cửa hàng một cách nhanh nhất.

• Hệ thống giúp và khuyến khích người dùng mua sắm.
1.3. Phạm vi đề tài
Hệ thống sẽ tập trung và những phần sau:

Hệ thống được cài đặt trên các thiết bị đi động nền tảng IOS
Xây dựng hệ thống kết nối client – server, các Modul quản lý
làm nền tảng cho việc phát triển ứng dụng sau này
Hệ thống hỗ trợ tính năng nhiều người truy cập cùng một lúc
Hệ thống hỗ trợ tính năng đồng bộ dữ liệu theo tài khoản
Hệ thống cho phép hiển thị và cập nhật dữ liệu client – server
Hệ thống hỗ trợ người dùng theo tác offline khi không có kết
nối mạng
1.4. Chức năng hệ thống
Qua phần khảo sát sơ bộ ở trên, có thể thấy ứng dụng hệ thống
quản lý tích điểm BuyPlus cần những chức năng quan trọng sau:
- Giúp cửa hàng quản lý thông tin và danh sách người dùng mua hàng.
- Giúp cửa hàng cập nhật mới nhất các thông tin chung và thông tin của
cửa hàng cho khách hàng.
- Đối với người dùng sẽ xem được thông tin lịch sử của mình.

- Đồng bộ dữ liệu thông tin tích điểm của khách hàng từ server.
- Đồng bộ dữ liệu offline.


3

- Cung cấp giao diện ứng dụng cho người dùng.
• Giao diện hiển thị thông tin của tất cả các cửa hàng mà người
dùng tham gia hoặc theo dõi.
• Giao diện quản lý người dùng và thông báo.
- Đồng bộ dữ liệu và thông tin người dùng khi có trạng thái cập nhật.
- Khi có thông tin mới nhất, nhận thông báo từ server trả về cho hệ
thống.
- Quản lý thông tin người dùng theo tài khoản.
- Giới thiệu thông tin các cửa hàng và các mặt hàng của cửa hàng.


4

CHƯƠNG 2
CÔNG NGHỆ SỬ DỤNG
2.1. Giới thiệu tổng quan về nền tảng IOS
2.1.1. Sơ lược về lịch sử phát triển của hệ điều hành IOS
IOS là hệ điều hành di động của Apple ban đầu được gọi là hệ
điều hành dành cho Iphone và đến tháng 6 năm 2010 thì chính thức đổi
tên thành “IOS”. Ban đầu, hệ điều hành này chỉ được phát triển riêng cho
iPhone nhưng sau đó được mở rộng để hỗ trợ các thiết bị khác của Apple
như iPod touch, iPad và Apple TV.
Đến tháng 6 năm 2010, Apple chính thức đổi tên “iPhone IOS”
thành một cái tên đơn gian hơn, dễ nhớ hơn được mua từ hãng sản xuất

thiết bị mạng Cisco, đó là “IOS” và được sử dụng cho đến ngày hôm
nay.
2.1.2. Các phiên bản hệ điều hành IOS
- Dành cho các thiết bị di động (iPhone, iPad, iPod)
Dưới đây chỉ đề cập những phiên bản mang đến những sự thay
đổi lớn cho những thiết bị di động của Apple.
• Phiên bản 1.x: Đây là phiên bản đầu tiên và xuất hiện cùng chiếc
iPhone đầu tiên (hay còn gọi là iPhone 2G) vào ngày 29/6/2007.
Hệ điều hành mới mang đến một giao diện và cách thức sử dụng
hoàn toàn mới cho các chiếc điện thoại của Apple như: các biểu
tượng (icon) sắp xếp đồng nhất trên màn hình chính, cảm ứng đa
điểm...
• Phiên bản 2.x: Phiên bản lớn thứ 2 được Apple giới thiệu sau
phiên bản đầu tiên 1 năm và phát hành chính thức cùng với chiếc
iPhone thế hệ thứ 2 (iPhone 3G) cùng sự xuất hiện của App Store
mang đến những ứng dụng từ các nhà phát triển thứ 3 cho thiết bị


5

di động của Apple. Ứng dụng gốc mail, danh bạ, lịch, trình duyệt
Safari hay hiệu năng hoạt động của thiết bị... cũng lần lượt được
cải tiến thông qua các bản cập nhật nhỏ sau đó. iPhone 2G và iPod
Gen 1 vẫn có thể cập nhật phiên bản 2.x này.
• Phiên bản 3.x: 1 năm sau khi phát hành phiên bản hệ điều hành
thứ 2, phiên bản hệ điều hành thứ 3 được giới thiệu và xuất hiện
chính thức ngày 17/6/2009 cùng iPhone 3GS. Ở phiên bản này,
nhiều tính năng thiếu sót mà người dùng than phiền đã được Apple
bổ sung gần như đầy đủ như: sao chép văn bản, nhắn tin đa
phương tiện (MMS)... Các thiết bị đang chạy phiên bản 2.x vẫn có

thể nâng cấp lên phiên bản 3.x này nhưng đối với iPhone 2G thì
một số tính năng sẽ không được cập nhật. Đây cũng là phiên bản
cuối cùng mà iPhone 2G và iPod Gen 1 có thể sử dụng.
Ngoài ra, thời điểm 3.x đang được sử dụng thì còn có sự xuất
hiện của chiếc máy tính bảng iPad nên Apple đã làm hẳn một
phiên bản sử dụng riêng cho chiếc máy này mang mã là 3.2.
Nhìn chung, phiên bản dành riêng cho iPad này không có nhiều
khác biệt vì vốn dĩ Apple chỉ tuỳ chỉnh kích thước cũng như bổ
sung thêm một vài tính năng để phù hợp với màn hình cỡ lớn của
iPad.
• Phiên bản 4.x: Thời điểm ra mắt chính thức phiên bản 4.x cũng là
lúc Apple chính thức đổi tên hệ điều hành của mình thành “iOS”
và đây cũng là phiên bản đầu tiên của hệ điều hành này hỗ trợ cho
đồng thời nhiều thiết bị. iPhone 2G, 3G sẽ lược bỏ bớt chức năng
trên iOS 4 này vì một số hạn chế về phần cứng. Ngoài ra, đến khi
phiên bản 4.2.1 phát hành thì iOS mới tương thích cho iPad. Đây
là phiên bản cuối cùng mà iPhone 3G và iPod Gen 2 có thể nâng cấp.


6

Bên cạnh những nâng cấp về ứng dụng bên trong hệ điều hành,
nhưng tính năng đáng chú ý ở phiên bản này như: thư mục ứng
dụng (App Folder), khả năng chạy đa nhiệm (multitasking), thoại
video qua wifi (Facetime), AirPlay, Wifi Hotspot (duy nhất trên
iPhone từ iOS 4.3). Ngoài ra, một điểm đáng chú ý nữa đó là 2
phiên bản 4.0.1 và 4.0.2 được phát hành cách nhau không lâu và
chỉ cập nhật dường như một điểm đó là lỗ hổng jailbreak qua trình
duyệt Safari.
Ngày 7/2/2011, sự ra đời của iPhone CDMA cũng đi cùng với

những phiên bản iOS mới, đó là 4.2.5 đến 4.2.8. Apple đơn giản
chỉ phát hành nhằm giúp iPhone tương thích với mạng điện thoại
CDMA mà không bao gồm thêm bất kỳ nâng cấp nào.
• Phiên bản 5.x: Đây là phiên bản Apple chỉ mới giới thiệu mà chưa
phát hành chính thức đến tay người dùng. Những cải tiến đáng chú ý:
o Cách thông báo trạng thái mới (Notification Center)
o Trình tin nhắn đa phương tiện (iMessage)
o Sạp báo (Newstand)
o Mạng xã hội tích hợp sâu trong hệ điều hành (Twitter, Facebook,
MySpace, Flickr...)
o Dịch vụ lưu trữ trực tuyến iCloud
o Camera, trình duyệt Safari
o Đồng bộ không dây với máy tính (PC free)
• Phiên bản 8.x: Những điểm mạnh của phiên bản 8.x
o Message: Tin nhắn
Với iOS 8, bạn có thể truy cập đến phần thông tin liên lạc một
cách nhanh chóng trong phần Tin nhắn (Messages). Bấm vào phần
“Details” ở phía trên của bất kỳ SMS hay MMS sẽ hiển thị không


7

những thông tin của “đối tác” bạn đang nhắn tin trò chuyện mà
còn tất cả hình ảnh hay video mà bạn đã chia sẻ với người đó từ
trước tới nay, thậm chí cách đó cả vài tháng. Nếu người bạn đó
chia sẻ vị trí của họ, bạn sẽ biết được địa điểm họ đang ngồi nhắn
tin cho bạn thông qua chức năng GPS định vị Location
o Safari
Bằng cách giúp người có tính cách thích khám phá thế giới
xung quanh qua ống kính camera để ghi lại mọi khoảnh khắc của

cuộc sống, bạn sẽ cảm thấy hài lòng khi sở hữu iOS 8 với tính
năng Timelapse, khi mở Camera -> chọn Timelapse và tất nhiên
thời lượng quay video của bạn phải đủ lớn để khi bạn “Timelapse”
sẽ cho phép chụp nhiều tấm hình liên tục và tự động ghép lại thành
một đoạn video hay còn gọi là stop-motion. Ví dụ bạn muốn ngắm
hoa nở hay ngắm con đường từ trường đến nhà chỉ với thời gian
đôi ba phút, chức năng Timelapse sẽ trình diễn điều đó ấn tượng.
• Phiên bản 9.x: Những điểm mạnh của phiên bản 9.x
o Trung tâm thông báo
Tab Thông báo trên iOS 9 được sắp xếp lại theo từng ngày.
Nhờ đó mà bạn có thể tránh được tình trạng các thông báo cũ (từ
ngày hôm qua, hôm kia...) của một ứng dụng nào đó che khuất mất
các thông báo mới của ngày hôm nay. Người dùng vẫn có thể vào
ứng dụng Cài đặt để tùy chỉnh cho các thông báo hiển thị theo
trình tự ứng dụng, song cách sắp xếp mới rõ ràng là hợp lý hơn rất
nhiều so với cách cũ. Nhìn chung, trải nghiệm Trung tâm Thông
báo trên iOS 9 là một trải nghiệm khoa học và "gọn gàng" hơn
nhiều so với iOS 8.
o Ứng dụng tin tức (Apple News)


8

Bằng cách cho phép người dùng lựa chọn nguồn tin và chủ đề
tin tức mà Apple News tạo ra một trải nghiệm tương đối vượt trội
so với Flipboard và Paper. Các tin tức âm nhạc là minh chứng rõ
ràng nhất cho điều này: trong khi Paper (vốn do Facebook phát
triển) chỉ thu thập các tin tức nhạc Pop, Hip-hop từ các nguồn tin
chính thống phổ biến thì Apple News có thể tìm ra cả các tin tức
chuyên về nhạc Metal từ các trang tin chuyên về dòng nhạc quá

khích này.
2.1.3. Chợ ứng dụng App Store
App Store là một dịch vụ (có mặt trên các thiết bị chạy iOS và tích
hợp vào bên trong iTunes) với mục đích cung cấp các ứng dụng từ chính
hãng sản xuất và các nhà phát triển phần mềm được duy trì, quản lý bởi
Apple. Dịch vụ này cho phép người dùng duyệt, tải về các ứng dụng từ
iTunes Store được phát triển với iOS SDK và được duyệt qua Apple.
Từng ứng dụng sẽ tuỳ thuộc vào chức năng và nhà phát triển để
chuyển đến tay người sử dụng dưới hình thức miễn phí hay có phí. Các
ứng dụng được cung cấp thông qua App Store có thể được tải về trực
tiếp trên thiết bị di động (dĩ nhiên là các thiết bị chạy iOS) hoặc thông
qua một máy tính bằng ứng dụng iTunes. Với việc tồn tại những ứng
dụng thu phí và miễn phí song song thì Apple buộc người dụng phải thiết
lập và sử dụng tài khoản của hãng nhằm mục đích quản lý các ứng dụng
mà người dùng đã mua. Các ứng dụng được dễ dàng tải, cài đặt, cập nhật
phiên bản mới hay tháo bỏ khỏi thiết bị đồng thời người dùng có thể tải
lại bất kỳ lúc nào ứng dụng đã mua mà không phải trả thêm chi phí phát
sinh khác.
Có thể nói Apple là nhà sản xuất đầu tiên thực hiện dịch vụ bán
ứng dụng trực tuyến như trên và khi ra mắt thì đây được xem như là lợi


9

thế lớn nhất của nền tảng iOS. Cho đến hiện tại, chợ ứng dụng này vẫn
duy trì được vị thế dẫn đầu của mình với hàng ngàn ứng dụng phục vụ
cho rất nhiều loại thiết bị bị di động của Apple. Dễ dàng nhận thấy sự
thành công của App Store thông qua sự xuất hiện hàng loạt đối thủ cạnh
tranh trên nền tảng iOS cũng như trên các nền tảng khác như Android
Market, Amazon App Store...

iOS App Store chính thức xuất hiện hỗ trợ người dùng vào ngày
10/7/2008 và nhanh chóng thu hút các nhà phát triển. Số lượng ứng dụng
của App Store tăng khá nhanh và cho đến nay đã có trên 500 ngàn ứng
dụng (bao gồm cả game). Một số thống kê trên App Store cho thấy tốc
độ phát triển người đi tiên phong trong lĩnh vực cung cấp ứng dụng trực
tuyến này:
- 11/7/2008: khi chính thức ra mắt thì App Store chỉ có vỏn vẹn
500 ứng dụng từ các nhà phát triển thứ 3. 

- 16/1/2009: tức nửa năm sau khi ra mắt chính thức, con số ứng
dụng đã đạt mốc 15.000. 

- 05/1/2010: một năm rưỡi tồn tại cùng các thiết bị sử dụng nền
tảng iOS, chợ ứng dụng đã có 120.000 với hơn 3 tỉ lượt tải của
người dùng.

- 22/1/2011: một năm tiếp sau đó, con số ứng dụng mà App
Store cung cấp đã tăng hơn 2 lần đạt mốc 350.000 với 10 tỉ lượt tải về.

- Thống kê mới nhất vào tháng 7 năm 2015 này thì con số trên
đã hơn 500.000 với hơn 15 tỉ lượt tải. 

Bên cạnh đó, khi máy tính bảng iPad ra đời vào tháng 4 năm 2015
thì App Store cũng đồng thời bổ sung thêm một phần, có thể hiểu là “chợ


10

ứng dụng con” dành cho iPad. Mặc dù ra sau nhưng số lượng ứng dụng
cho iPad lúc ra mắt đã là 3000 và sau đó tăng với tốc độ cũng không thua
kém gì "đàn anh" đi trước mình. Tính đến tháng 7 năm 2015 này, tức 16
tháng sau khi iPad xuất hiện thì App Store đã và đang cung cấp trên
100.000 ứng dụng dành riêng cho thiết bị này (không bao gồm các ứng
dụng dùng chung cho iPad và iPhone).

2.1.4. Công cụ lập trình và môi trường phát triển
- Môi trường phát triển
Objective-C là ngôn ngữ lập trình trên hệ thống Apple iOS và Os X.
Ngôn ngữ này đã được biên soạn để có thể xây dựng tất cả mọi thứ
từ common line utilities đến animated GUI (giao diện người dùng đồ
họa) và các thư viện hoàn chỉnh. Nó cũng có thể tạo ra các công cụ
để duy trì các frameworks lớn.
Giống C++, Objective C được thiết kế để có thể thêm các tính năng
vào C, nhưng hai ngôn ngữ này làm điều này bằng 2 cách khác nhau.
Objective C năng động hơn và diều này được thể hiện trên các mẫu
thiết kế cơ bản cho nền tảng phát triển iOS và OS X.
• Các frameworks:
Như các ngôn ngữ lập trình khác, Objective-C là một ngôn ngữ
khá đơn giản và được hỗ trợ bởi một thư viện có tiêu chuẩn. Có rất
nhiều các thư viện khác nhau, nhưng Apple Cocoa và Cocoa Touchlà
hai thư viện hay được dùng nhất. Dưới đây là miêu tả của một số
framework trong Cocoa và Cocoa Touch.
o Foudation:Xác định các loại dữ liêu:NSString, NSArray...
o UiKit:Tạo ra vô số các cách để tạo và quản lý giao diện trên IOS.
o AppKit:Giống như UIKit nhưng dành cho OS X


11

o CoreData:Cung cấp API quản lý các mối quan hệ đối tượng, trợ
giúp undo/redo và dùng lưu trữ liên tục.
o MediaPlayer: Trợ giúp API chơi và tích hợp nhạc, xem video…
o AVFoundation:Trợ giúp phát và tích hợp nhạc và video chất lượng
kém hơn.
o CoreGraphics:Trợ giúp vẽ đồ hoạ 2D.

- Công cụ lập trình
• Xcode
Phần mềm Xcode là bộ công cụ do Apple cung cấp cho các lập trình
viên để lập trình ứng dụng cho các thiết bị chạy hệ điều hành của
Apple. Bạn có thể tải phần mềm này từ AppStore (miễn phí).
Giao diện làm việc của Xcode gồm có 5
phầnchính: Toolbar, Editorarea, Navigator area, Debugarea,Utility area.
o Debug area: Đây là vùng hỗ trợ bạn trong quá trình debug lỗi của
chương trình.
o Toolbar area: Vùng chứa các công cụ tiện ích giúp bạn có thể đơn giản
trong việc chạy, debug ứng dụng, lựa chọn iOS Simulator, đóng mở các
vùng khác…
o Editor area: Vùng để bạn thiết kế giao diện, viết và chỉnh sửa code
của chương trình.
o Utility area: vùng này cho phép bạn tùy chỉnh các tham số, giá trị của
các đối tượng trên giao diện, cũng như cho phép bạn kéo thả và sử dụng
các đối tượng có sẵn của Xcode như Button, Label, Slider… hay các
đoạn code mẫu ( If, Switch…).
o Navigator area: cung cấp cho bạn một cách nhìn trực quan, tiện lợi cho
việc quản lý ứng dụng, xem thông báo lỗi, tìm kiếm một đoạn code


12

trong chương trình hay kiểm tra mức độ hoạt động của RAM, CPU khi
chạy ứng dụng…


Simulator
Để xây dựng và chạy ứng dụng, chúng ta có thể sự dụng Simulator.

Simulator được kết hợp với Xcode, Simulator là một giải pháp để chạy
ứng dụng để thử khi bạn chưa có thiết bị thật để chạy.
Chúng ta có thể sử dụng Simulater cho toàn bộ các ứng dụng mà bạn
phát triển.

2.2. Giới thiệu tổng quan về CentOS
CentOS là một bản phân phối hệ điều hành tự do dựa trên Linux
kernel. Nó có nguồn gốc hoàn toàn từ bản phân phối Red Hat Enterprise
Linux (RHEL). CentOS tồn tại để cung cấp một nền tảng điện toán doanh
nghiệp tự do và phấn đấu để duy trì khả năng tương thích nhị phân 100% với
nguồn thượng nguồn của nó, Red Hat.
CentOS là viết tắt của Community ENTerprise Operating System.
Số phiên bản của CentOS có hai phần, một phiên bản chính và một
phiên bản nhỏ, tương ứng với phiên bản chính và cập nhật của Red Hat
Enterprise Linux được sử dụng để xây dựng là phiên bản của CentOS. Ví
dụ, CentOS 4.4 được xây dựng từ các gói nguồn từ Red Hat Enterprise
Linux 4 cập nhật 4.
Từ giữa 2006, bắt đầu với phiên bản 4.4 (chính thức được gọi là Red
Hat Enterprise Linux 4.0 cập nhật 4), Red Hat đã thông qua một quy ước
phiên bản giống hệt của CentOS, ví dụ như, Red Hat Enterprise Linux 4.5.
CentOS được người lập trình chạy server trên nó.


13

2.3. Giới thiệu tổng quan về UML
2.3.1. Tổng quan về UML
UML là ngôn ngữ mô hình hoá, trước hết nó mô tả ký pháp
thống nhất, ngữ nghĩa các định nghĩa trực quan tất cả các thành phần của
mô hình ([1], [2]). UML được sử dụng để hiển thị, đặc tả, tổ chức, xây

dựng và làm tài liệu các vật phẩm của quá trình phát triển phần mềm
hướng đối tượng, đặc biệt là phân tích, thiết kế dưới dạng các báo cáo,
biểu đồ, bản mẫu hay các trang web… UML là ngôn ngữ mô hình hoá
độc lập với các công nghệ phát triển phần mềm.
2.3.2. Mục đích của UML
Mô hình được các hệ thống (không chỉ hệ thống phần mềm) và sử
dụng được tất cả các khái niệm hướng đối tượng một cách thống nhất.
Cho phép đặc tả, hỗ trợ để đặc tả tường minh (trực quan) mối quan
hệ giữa các khái niệm cơ bản trong hệ thống, đồng thời mô tả được mọi
trạng thái hoạt động của hệ thống đối tượng. Nghĩa là cho phép mô tả
được cả mô hình tĩnh lẫn mô hình động một cách đầy đủ và trực quan.
Tận dụng được những khả năng sử dụng lại và kế thừa ở phạm vi
diện rộng để xây dựng được những hệ thống phức tạp và nhạy cảm như:
các hệ thống động, hệ thống thời gian thực, hệ thống nhúng thời gian thực…
Tạo ra những ngôn ngữ mô hình hoá sử dụng được cho cả người
lẫn máy tính.
UML là ngôn ngữ mô hình hoá, ngôn ngữ đặc tả và ngôn ngữ xây
dựng mô hình trong quá trình phát triển phần mềm, đặc biệt là trong
phân tích và thiết kế hệ thống hướng đối tượng. UML là ngôn ngữ hình
thức, thống nhất và chuẩn hoá mô hình hệ thống một cách trực quan.
Nghĩa là các thành phần trong mô hình được thể hiện bởi các ký hiệu đồ


14

hoạ, biểu đồ và thể hiện đầy đủ mối quan hệ giữa các chúng một cách
thống nhất và có logic chặt chẽ.
2.3.3. Mục tiêu của UML
- UML cung cấp cho người dùng một ngôn ngữ mô hình hoá trực
quan sẵn sàng để dùng và có ý nghĩa.Cho phép phát triền và trao

dổi những mô hình mang nhiều ý nghĩa.
- Cung cấp khả năng mở rộng và chuyên môn hoá để mở rộng khái
niệm cốt lỗi.
- Độc lập với ngôn ngữ lập trình chuyên biết với các nhà phát triển.
- Cung cấp nền tảng về sử hiểu biết ngôn ngữ mô hình hoá.
- Khuyến khích và hỗ trợ sự phát triển của các công cụ hướng đổi
tượng.
- Hỗ trợ những khái niệm phát triển cấp độ cao như collaboration,
framework,pattern and component.
- Tích hợp một cách tốt nhất với thực tiễn.
2.4. Giới thiệu về Mysql và SQLite
2.4.1. Mysql
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở miễn phí nằm
trong nhóm LAMP (Linux – Apache -MySQL – PHP) >< Microsoft
(Windows, IIS, SQL Server, ASP/ASP.NET), vì MySQL được tích hợp
sử dụng chung với Apache, PHP nên nó phổ biến nhất thế giới. Nó được
viết bằng C và C++, phân tích các câu lệnh của nó được viết dựa vào
Yacc. MySQL ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên
nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất
mạnh(vì được nhiều người hỗ trợ mã nguồn mở) và Mysql cũng có cùng
một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL chính vì thế
nên MySQL được sử dụng và hỗ trợ của những lập trình viên yêu thích


15

mã nguồn mở.Các dự án phát triển MySQL đã làm cho các mã nguồn
mở của nó có sẵn theo các điều khoản chung của GNU, cũng như theo
một loạt các thỏa thuận độc quyền. MySQL được sở hữu và được tài trợ
bởi một đơn vị phi lợi nhuận vững chắc của Thụy Điển là công

ty MySQL AB, bây giờ thuộc sở hữu của Tập đoàn Oracle. Để sử dụng
độc quyền cho mục đích nâng cao và phát triển, một số phiên bản trả phí
luôn có sẵn, và cung cấp các chức năng bổ sung song hành cùng các
phiên bản miễn phí đáp ứng đủ các yêu cầu cho các lập trình viên.
Nhưng Mysql không bao quát toàn bộ những câu truy vấn cao cấp
như SQL Server. Vì vậy Mysql chỉ đáp ứng việc truy xuất đơn giản
trong quá trình vận hành của website, thích hợp cho các ứng dụng có
truy cập CSDL trên internet và có thể giải quyết hầu hết các bài toán
trong PHP, Perl.
Mysql có nhiều phiên bản cho các hệ điều hành khác nhau: phiên
bản Win32 cho các hệ điều hành dòng Windows,Linux, Mac OSX, Unix,
FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS…Trên tất
cả các nền tảng ngoại trừ Windows, MySQL không cung cấp GUI
(Graphical User Interface) để quản lý cơ sở dữ liệu MySQL hoặc quản lý
dữ liệu trong cơ sở dữ liệu. Người dùng có thể sử dụng bao gồm dòng
lệnh công cụ, hoặc cài đặt MySQL Workbench qua một bản cài riêng
biệt. Nhiều công cụ hỗ trợ GUI của bên thứ ba cũng có sẵn để download
và tích hợp.


16

Hình 2.1.
2.1 MySQL Workbench trên OS X
MySQL là m
một trong những ví dụ rất cơ bản về Hệ Qu
Quản trị Cơ sở
dữ liệu quan hệ sử
ử dụng Ngôn ngữ truy vấn có cấuu trúc (SQL).
Một số đặcc điểm

đ
của MySQL:
- MySQL là một
m phần mềm quản trị CSDL dạng
ng server
server-based
(gần
n tương
tươ đương với SQL Server củaa Microsoft).
- MySQL quản
qu lý dữ liệuu thông qua các CSDL, m
mỗi CSDL có
thể có nhiều
nhi bảng quan hệ chứa dữ liệu.
- MySQL có cơ
c chế phân quyền người sử dụụng riêng, mỗi
ngườii dùng có th
thể được quản lý một hoặc nhiềều CSDL khác
nhau, mỗi
m người dùng có một tên truy cậpp (user name) và mật
m
khẩu
u tương
tươ ứng để truy xuất đến CSDL.
- Khi ta truy vấn
v tới CSDL MySQL, ta phảii cung ccấp tên truy
cập
p và mật
m khẩu của tài khoản có quyền sử dụụng CSDL đó.
Nếu

u không, chúng ta ssẽ không làm đượcc gì cả
c giống như
quyềnn chứng
ch
thực người dùng trong SQL Server.


17

Ứng dụng sử dụng cơ sở dữ liệu MySQL bao gồm: Typo3,
MODx, Joom,WordPress, phpBB, MyBB,Drupal và các phần mềm
khác. MySQL cũng được sử dụng trong nhiều ứng dụng phát triển
nhất, quy mô lớn, các trang web, bao gồm cả Google (mặc dù không
phải cho các tìm kiếm),Facebook, Twitter,Flickr và YouTube.

2.4.2. SQLite
SQLite là một bộ thư viện dùng trong lập trình để hiện thực một
SQL Database Engine có khả năng tự tổ chức quản lý dữ liệu, không cần
server, không cần cấu hình mà vẫn hỗ trợ đầy đủ các tính năng quản lý
giao tác. SQLite hiện đang là SQL Database Engine mã nguồn
mở theo mô hình dữ liệu quan hệ đang được sử dụng nhiều nhất trên thế
giới do tính cơ động cao, dễ sử dụng, gọn nhẹ, hiệu quả và tin cậy. Nó là
một hệ thống quản lý cơ sở dữ liệu quan hệ chứa trong thư viện lập trình
C. Trái ngược với nhiều hệ thống quản lý cơ sở dữ liệu khác, SQLite
không phải là một client-server cơ sở dữ liệu. Thay vào đó, nó được
nhúng vào chương trình đầu ra.
Một số đặc điểm chính của SQLite:
- Đảm bảo đầy đủ 4 đặc tính ACID của các giao tác: tuy cực kỳ nhỏ gọn
nhưng các giao tác làm việc với SQLite được đảm bảo đầy đủ 4 tính
chất cơ bản của giao tác là tính nguyên tổ (Atomic), tính nhất quán

(Consistent), tính cô lập (Isolated), và tính bền vững (Durable) thậm
chí sau khi hệ thống bị crash hoặc gặp các sự cố về nguồn điện.
- Không cần cấu hình: với SQLite chúng ta sẽ không cần phải cài đặt
hay quản trị nó
- SQLite có gần như toàn bộ các đặc tính phổ biến của SQL theo chuẩn
SQL92. Tuy nhiên còn một số tính năng như RIGHT OUTER JOIN,


×