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à
Trang 1GI Toolbox
GIẢI THÍCH KÝ HIỆU UML
Mô tả hành động, hành vi cho m
đối tượng
Biếu tượng cho b
Biểu tượng cho k
Khối lệnh đúng và sai
Hướng điều khiDùng để mô tNút đối tượng
Trang 2MỤ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
Trang 33.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
Trang 43.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
Trang 54.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
Trang 6DANH 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
Trang 7DANH 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
Trang 8Hì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
Trang 9CHƯƠ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 đó:
Trang 10• 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
Trang 11- 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
Trang 12CHƯƠ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ị
Trang 13di độ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
Trang 14Bê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
Trang 15nhữ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)
Trang 16Bằ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
Trang 17thế 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
- 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ợ
Trang 18ứ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
Trang 19o 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
Trang 20trong 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ó
Trang 212.3 Giới thiệu tổng quan về UML
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 đồ
Trang 22hoạ, 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
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
Trang 23mã 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
Trang 24khẩu tươ
- Khi ta truy v
cập và mNếu không, chúng ta squyền ch
Hình 2.1 MySQL Workbench trên OS X
là một trong những ví dụ rất cơ bản về Hệ Qu
ử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
c điểm của MySQL:
MySQL là một phần mềm quản trị CSDL dạng server
n tương đương với SQL Server của Microsoft)
MySQL quản lý dữ liệu thông qua các CSDL, m
có nhiều bảng quan hệ chứa dữ liệu
MySQL có cơ chế phân quyền người sử dụ
i dùng có thể được quản lý một hoặc nhiềnhau, mỗi người dùng có một tên truy cập (user name) và m
u tương ứng để truy xuất đến CSDL
Khi ta truy vấn tới CSDL MySQL, ta phải cung c
p và mật khẩu của tài khoản có quyền sử dụ
u không, chúng ta sẽ không làm được gì c
n chứng thực người dùng trong SQL Server
Trang 25Ứ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,
Trang 26FULL OUTER JOIN, FOR EACH STATEMENT TRIGGER, chưa được hỗ trợ
- Toàn bộ Database được lưu trữ trong 1 tập tin trên đĩa duy nhất
- Hỗ trợ CSDL lên tới hằng TetraByte, trong đó các kiểu dữ liệu chuỗi
và blobs lên tới hằng GigaByte
- Bộ thư viện quản lý rất nhỏ, gọn: dưới 500 KB cho bản đầy đủ tính năng, và có thể ít hơn nếu loại bớt một số đặc tính Cụ thể, kích thước phiên bản SQLite 3.7.17 (Phiên bản hiện tại, mới nhất của SQLite) ít hơn 350 KB trên hệ điều hành 32 bit và ít hơn 409 KB trên các hệ thống 64 bit
- Hầu hết các thao tác trên dữ liệu thông thường đều chạy nhanh hơn các Database Engine theo kiểu Client/Server phổ biến khác
- Đơn giản và dễ sử dụng bộ API tương ứng
- Mã nguồn mở được viết bằng ANSI-C, được comment rất tốt và có thể tái sử dụng với bất cứ mục đích gì
- SQLite có thể được tải về và nhúng vào các dự án khác nhau dưới hình thức một Single ANSI-C source-code file
- Tự tổ chức lưu trữ (self-contained) mà không phải phụ thuộc vào các thư viện bên ngoài Đây là một đặc điểm khá quan trọng khiến SQLite trở thành CSDL phù hợp để nhúng vào các thiết bị di động hoặc tích hợp vào các ứng dụng muốn chạy mà không cần phải điều chỉnh cấu hình hệ thống
- Trong bộ thư viện SQLite có sẵn 1 client đơn giản giao tiếp theo chế
độ dòng lệnh (Command-Line Interface – CLI) tên là sqlite3 (trên môi trường Windows là tiện ích sqlite3.exe) để có thể được dùng để quản trị CSDL SQLite
Trang 27Các trình duyệt Google Chrome, Opera, Safari và trình duyệt Android đều cho phép lưu trữ thông tin và lấy từ một cơ sở dữ liệu SQLite trong trình duyệt, sử dụng công nghệ của cơ sở dữ liệu SQL Web, mặc dù điều này đang nhanh chóng trở nên lỗi thời (cụ thể là thay thế bởi IndexedDB) Mozilla Firefox và Mozilla Thunderbird lưu trữ nhiều dữ liệu cấu hình (bookmarks, cookies, danh bạ, …) trong cơ
sở dữ liệu SQLite để cho nội bộ quản lý Một bên tiện ích thứ ba cung cấp các add-on có sử dụng mã hỗ trợ chức năng này để cung cấp một giao diện người dùng cho việc quản lý cơ sở dữ liệu SQLite tùy
ý
2.5 Giới thiệu về ngôn ngữ PHP
PHP - viết tắt hồi quy của "Hypertext Preprocessor", là một ngôn ngữ lập trình kịch bản được chạy ở phía server nhằm sinh ra mã html trên client PHP đã trải qua rất nhiều phiên bản và được tối ưu hóa cho các ứng dụng web, với cách viết mã rõ rãng, tốc độ nhanh, dễ học nên PHP đã trở thành một ngôn ngữ lập trình web rất phổ biến và được ưa chuộng
PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua
hệ quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL
và hệ điều hành Linux (LAMP)
- Apache là một phần mềm web server có nhiệm vụ tiếp nhận request từ trình duyệt người dùng sau đó chuyển giao cho PHP xử lý và gửi trả lại cho trình duyệt
- MySQL cũng tương tự như các hệ quản trị cơ sở dữ liệu khác (Postgress, Oracle, SQL server ) đóng vai trò là nơi lưu trữ và truy vấn dữ liệu
Trang 28- Linux: Hệ điều hành mã ngu
phân tích và phát sinh Json là c
Trình JavaScript, tiêu chu
RedHat Enterprise Linux, Ubuntu
Hình 2.2 Cách th ức PHP hoạt động
(JavaScript Object Noattion) là 1 định dạng hoán v
ễ dàng cho chúng ta đọc và viết Dễ dàng cho thiphân tích và phát sinh Json là cơ sở dựa trên tập hợp của Ngôn Ng
, tiêu chuẩn ECMA-262 phiên bản 3 - tháng 12 n JSON là 1 định dạng kiểu text mà hoàn toàn độc lập v
nh, thuộc họ hàng với các ngôn ngữ họ hàng C, gC++, C#, Java, JavaScript, Perl, Python, và nhiều ngôn ngữ
ạo nên JSON 1 ngôn ngữ hoán vị dữ liệu lý t
ộng rãi cho các
ng nhiều nhất là
ạng hoán vị dữ liệu àng cho thiết bị
ủa Ngôn Ngữ Lập tháng 12 năm
c lập với các ngôn àng C, gồm có C,
u ngôn ngữ khác Những
ệu lý tưởng Khi sử
Trang 29dụng JSON với Javascript hay ActionScript, không cần phải có các bước phân tích dữ liệu phức tạp như đối với XML Mà có thể truy vấn trực tiếp giá trị theo tên (key) định nghĩa trong JSON
JSON được xây dựng trên 2 cấu trúc:
• Là tập hợp của các cặp tên và giá trị name-value Trong những ngôn
ngữ khác nhau, đây được nhận thấy như là 1 đối tượng (object), sự ghi
(record), cấu trúc (struct), từ điển (dictionary), bảng băm (hashtable), danh sách khoá (keyed list), hay mảng liên hợp
• Là 1 tập hợp các giá trị đã được sắp xếp Trong hầu hết các ngôn ngữ, this được nhận thấy như là 1 mảng, véc tơ, tập hợp hay là 1 dãy sequence
Đây là 1 cấu trúc dữ liệu phổ dụng Hầu như tất cả các ngôn ngữ lập trình hiện đại đều hổ trợ chúng trong 1 hình thức nào đó Chúng tạo nên ý nghĩa của 1 định dạng hoán vị dữ liệu với các ngôn ngữ lập trình cũng đã được cơ sở hoá trên cấu trúc này
Trong JSON, chúng có các định dạng:
• Đối tượng (Object): là mộthỗn độn của các cặp tên và giá trị
Một đối tượng bắt đầu bởi dấu ngoặc đơn trái { và kết thúc với dấu ngoặc đơn phải } Từng tên được theo sau bởi dấu 2 chấm : và các cặp tên/giá trị được tách ra bởi dấu phẩy (,)
Hình 2.3 JSON object
Trang 30• Mảng (Array):là một tập hợp các giá trị đã được sắp xếp Một
mảng bắt đầu bởi dấu mở ngoặc vuông [ và kết thúc với dấu ngoặc vuông phải ] Các giá trị được cách nhau bởi dấu phẩy(,)
Hình 2.4 JSON Array
• Giá trị (Value): có thể là 1 chuỗi string trong những trích dẫn
kép hay là 1 số, hay true hay false hay null, hay là 1 đối tượng
hay là 1 mảng Những cấu trúc này có thể đã được lồng vào nhau
Hình 2.5 JSON Value
• Chuỗi (String): chuỗi string là 1 tập hợp của zero hay ngay cả
mẫu tự Unicode, được bao bọc trong các dấu trích dẫn kép ("),
dùng để thoát ra dấu chéo ngược 1 ký tự đã được hiển thị như
là 1 chuỗi ký tự đơn độc 1 chuỗi string rất giống như là chuỗi string C hay là Java
Trang 32• Lưu trữ dữ liệu đơn thuần Đó là khi bạn muốn lưu trữ dữ liệu dưới dạng metadata ở phía server Chuỗi JSON sẽ được lưu vào database và sau đó khi cần dữ liệu thì sẽ được giải mã Ví dụ với PHP, cung cấp các hàm liên quan đến JSON để mã và giải
mã là json_encode và json_decode
Chú ý: phương pháp này cũng tương tự như sử dụng tính năng serialize và unserialize của PHP Nhưng trong khi serialize và unserialize sử dụng với cả dữ liệu và biến, tức là phụ thuộc vào ngôn ngữ lập trình là PHP và dĩ nhiên không thể transfer sang ngôn ngữ lập trình khác để unserialize được Vì vậy, nếu dữ liệu của bạn chỉ đơn thuần là dữ liệu cơ bản (chuỗi kí tự, số…) thì bạn hoàn toàn không nên sử dụng serialize mà nên sử dụng JSON
• Sử dụng JavaScript, ActionScript để xử lý thông tin trả về từ phía server Rất nhanh và rất dễ dàng
2.7 Adobe Photoshop
Adobe Photoshop(thường được gọi làPhotoshop) là mộtphần mềm chỉnh sửa đồ họa được phát triển và phát hành bởi hãng Adobe Systemsra đời vào năm 1988 trên hệ máyMacintosh Photoshop được đánh giá là phần mềm dẫn đầu thị trường về sửa ảnh bitmap và được coi
là chuẩn cho các ngành liên quan tới chỉnh sửa ảnh Từ phiên bản Photoshop 7.0 ra đời năm 2002, Photoshop đã làm lên một cuộc cách mạng về ảnhbitmap Phiên bản mới nhất hiện nay là Adobe Photoshop
CC
Ngoài khả năng chính là chỉnh sửa ảnh cho các ấn phẩm, Photoshop còn được sử dụng trong các hoạt động như thiết kế trang web, vẽ các loại
Trang 33tranh (matte painting và nhiều thể loại khác), vẽ texture cho các chương trình 3D gần như là mọi hoạt động liên quan đến ảnh bitmap
Adobe Photoshop có khả năng tương thích với hầu hết các chương trình đồ họa khác của Adobe nhưAdobe Illustrator,Adobe Premiere,After After EffectsvàAdobe Encore
Photoshop có sẵn hơn 20 ngôn ngữ khác nhau, bao gồm: tiếng Anh, tiếng Ba Lan, tiếng Bồ Đào Nha, tiếng Đức, tiếng Hàn Quốc, tiếng Hungary, tiếng Na Uy, tiếng Nga, tiếng Nhật, tiếng Pháp, tiếng Phần Lan, tiếng Rumani, tiếng Séc, tiếng Tây Ban Nha, tiếng Thổ Nhĩ Kỳ, tiếng Thụy Điển, tiếng Trung giản thể, tiếng Trung phồn thể, tiếng Ukraina và tiếng Ý Ngoài ra phiên bản CS6 còn có thêm tiếng Ả Rập và tiếng Do Thái
Photoshop file có phần mở rộng tập tin mặc định là PSD, viết tắt của
"Photoshop Document" Một tập tin PSD chứa một hình ảnh với hỗ trợ cho hầu hết các tùy chọn hình ảnh có sẵn trong Photoshop Chúng bao gồm các lớp với masks, transparency, text, alpha channels and spot colors, clipping paths, và duotone được cài đặt sẵn Điều này trái ngược với nhiều định dạng tập tin khác (ví dụ, JPG hoặc GIF) hạn chế nội dung để cung cấp, chức năng dự đoán được một cách hợp lý Một tập tin PSD có chiều cao tối đa và chiều rộng của 30.000 pixel, và một giới hạn
độ dài của 2 Gigabyte
Photoshop đôi khi có phần mở rộng tập tin PSB, viết tắt của
"Photoshop Big" (còn được gọi là "định dạng tài liệu lớn") Một tập tin PSB mở rộng các định dạng tập tin PSD, tăng chiều cao tối đa và chiều rộng với 300.000 điểm ảnh và giới hạn độ dài khoảng 4 Exabytes Giới hạn chiều dường như đã được lựa chọn tùy tiện bởi Adobe, không dựa trên các ràng buộc máy tính số học (nó không được đóng một sức mạnh
Trang 34của hai, như là 30.000) nhưng để dễ kiểm thử phần mềm, định dạng PSD
và PSB được đưa ra
Do tính phổ biến của Photoshop, PSD được sử dụng rộng rãi và hỗ trợ một mức độ nào đó bởi hầu hết các phần mềm cạnh tranh Các định dạng tập tin PSD có thể được tạo ra và từ các ứng dụng khác của Adobe như Adobe Illustrator, Adobe Premiere Pro và After Effects, để làm cho các đĩa DVD chuyên nghiệp và cung cấp các trình biên tập phi tuyến tính và các hiệu ứng đặc biệt, chẳng hạn như hình nền, kết cấu… như trên đối với truyền hình, phim ảnh, và Internet Sức mạnh chính của Photoshop là như là một điểm ảnh dựa trên trình biên tập hình ảnh, không giống như các vector dựa trên các biên tập hình ảnh Photoshop cũng cho phép chỉnh sửa đồ họa vector thông qua đường dẫn của nó, công cụ Pen, công cụ Shape, Shape Layer, Type công cụ, Import, và chức năng Smart Object Những công cụ và command thuận tiện để kết hợp các hình ảnh dựa trên điểm ảnh và vector dựa trên một tập tin Photoshop, bởi vì nó có thể không cần phải sử dụng nhiều hơn một chương trình Để tạo đồ họa vector rất phức tạp với nhiều hình dạng và màu sắc, nó có thể được dễ dàng hơn để sử dụng phần mềm được tạo ra
Illustrator hoặc CorelDRAW Photoshop Smart Objects cũng có thể nhập hình dạng vector phức tạp
Trang 35Chương 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.1 Biểu đồ Use Case 3.1.1 Usecase về phía server
Bao gồm các chức năng như:
- Đối với Admin: Quản lý danh sách cửa hàng , quản lý và kiểm duyệt đăng tin khuyến mãi tất cả cửa hàng
- Đối với Shop: Quản lý danh sách các cửa hàng trong hệ thống shop,quản lý và đăng tin khuyến mãi của các cửa hàng trong hệ thống shop,quản lý giao dịch mua hàng của các cửa hàng trong hệ thống shop,thực hiện giao dịch đổi quà của các cửa hàng trong hệ thống shop
- Đối với User:Xem lịch sử giao dịch của người dùng
Trang 36
Hình 3.
Hình 3.1 Mô hình Use Case v ề phía Server
Trang 37Đặc tả quản lý danh sách cửa hàng – Admin
B ảng 3.1 Đặc tả quản lý danh sách cửa hàng – Admin
Mã Use Case UC01
Tên Use Case Use Case Quản lý danh sách cửa hàng – Admin
Tác nhân Người quản trị - Admin
Mô tả Người quản trị đăng nhập tài khoản với quyền Admin Điều kiện tiên
quyết
Người quản tri phải đã có tài khoản
Luồng sự kiện Tác nhân Hệ thống phản hồi
1 Quản lý danh sách tất
cả các người dùng có quyền thấp hơn như cửa hàng và người dùng
2 Đưa ra giao diện danh sách
người dùng
3 Người quản trị có thể xoá , sửa hoặc kiểm duyệt thông tin liên quan đến tài khoản
Hệ thống xác nhận thông tin
tin.Nếu hợp lệ, hệ thống tiếp nhận thông tin.Đưa ra thông báo thành công
Luồng thay thế và
các ngoại lệ
Nếu dữ liệu không hợp lệ, hệ thống đưa ra thông báo và yêu cầu nhập lại
Điều kiện sau - Hệ thống lưu thông tin vào cơ sở dữ liệu
Điều kiện thoát - Khi chức năng thực hiện thành công
- Khi người sử dụng chọn thoát
Trang 38Đặ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
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
Mã Use Case UC02
Tên Use Case Use Case Quản lý và kiểm duyệt đăng tin khuyến mãi tất cả
các cửa hàng – Admin Tác nhân Người quản trị - Admin
Mô tả Người quản trị đăng nhập tài khoản với quyền Admin Điều kiện tiên
quyết
Người quản tri phải đã có tài khoản
Luồng sự kiện Tác nhân Hệ thống phản hồi
1 Quản lý danh sách tất
cả thông tin khuyến mãi mà cửa hàng có trong hệ thống đăng lên
2 Đưa ra giao diện danh sách
danh sách tin khuyến mãi vừa đăng
3 Người quản trị có thể xoá , sửa hoặc kiểm duyệt thông tin khuyến mãi đó
Hệ thống xác nhận thông tin
tin.Nếu hợp lệ, hệ thống tiếp nhận thông tin.Đưa ra thông báo thành công
Luồng thay thế và
các ngoại lệ
Nếu dữ liệu không hợp lệ, hệ thống đưa ra thông báo và yêu cầu nhập lại
Điều kiện sau - Hệ thống lưu thông tin vào cơ sở dữ liệu
Điều kiện thoát - Khi chức năng thực hiện thành công
- Khi người sử dụng chọn thoát
Trang 39Đặ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
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
Mã Use Case UC03
Tên Use Case Use Case 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 Tác nhân Người dùng – Cửa hàng
Mô tả Người dùng đăng nhập tài khoản với quyền Cửa hàng Điều kiện tiên
quyết
Người dùng phải đã có tài khoản
Luồng sự kiện Tác nhân Hệ thống phản hồi
1 Quản lý danh sách tất
cả thông tin khuyến mãi của riêng cửa hàng
2 Đưa ra giao diện danh sách
danh sách tin khuyến mãi của cửa hàng
3 Người dùng có thể xoá , sửa hoặc kiểm duyệt thông tin khuyến mãi đó
Hệ thống xác nhận thông tin
tin.Nếu hợp lệ, hệ thống tiếp nhận thông tin.Đưa ra thông báo thành công
Luồng thay thế và
các ngoại lệ
Nếu dữ liệu không hợp lệ, hệ thống đưa ra thông báo và yêu cầu nhập lại
Điều kiện sau - Hệ thống lưu thông tin vào cơ sở dữ liệu
Điều kiện thoát - Khi chức năng thực hiện thành công
- Khi người sử dụng chọn thoát
Trang 40Đặ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
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
Mã Use Case UC04
Tên Use Case Use Case Quản lý giao dịch mua hàng của cửa hàngtrong
hệ thống cửa hàng – Cửa hàng Tác nhân Người dùng – Cửa hàng
Mô tả Người dùng đăng nhập tài khoản với quyền Cửa hàng Điều kiện tiên
quyết
Người dùng phải đã có tài khoản
Luồng sự kiện Tác nhân Hệ thống phản hồi
1 Người dùng quản lý được giao dịch của tài khoản người dùng (User) khi giao dịch tại cửa hàng đó
dịch mua hàng của cửa hàng trong hệ thống
3 Người dùng có thể thêmgiao dịch khi có giao dịch mới
Hệ thống xác nhận thông tin
tin.Nếu hợp lệ, hệ thống tiếp nhận thông tin.Đưa ra thông báo thành công
Luồng thay thế và
các ngoại lệ
Nếu dữ liệu không hợp lệ, hệ thống đưa ra thông báo và yêu cầu nhập lại
Điều kiện sau - Hệ thống lưu thông tin vào cơ sở dữ liệu
Điều kiện thoát - Khi chức năng thực hiện thành công
- Khi người sử dụng chọn thoát