Đồ án tốt nghiệp khoa công nghệ thông tin. Có đầy đủ file báo cáo và đường dẫn tới source code full. Tốt cho việc nghiên cứu làm đồ án tốt nghiệp. Có đầy đủ mục lục và hình ảnh demo minh họa. Đây là những source code , mình lấy từ: http:doanit.com
Trang 1MỤC LỤC
LỜI CẢM ƠN ERROR! BOOKMARK NOT DEFINED LỜI CAM ĐOAN ERROR! BOOKMARK NOT DEFINED NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪNERROR! BOOKMARK NOT DEFINED PHIẾU DUYỆT ĐỒ ÁN TỐT NGHIỆP ERROR! BOOKMARK NOT DEFINED
MỤC LỤC 1
DANH MỤC HÌNH ẢNH 3
DANH MỤC BẢNG 4
MỞ ĐẦU 5
CHƯƠNG 1 TỔNG QUAN ĐỀ TÀI 6
1.1 Giới thiệu đề tài 6
1.2 Mục đích và ý nghĩa 7
1.2.1 Mục đích 7
1.2.2 Ý nghĩa 7
1.3 Triển khai đề tài 7
1.3.1 Các bước thực hiện 7
1.3.2 Mục tiêu cần đạt được 8
1.4 Phạm vi 8
1.5 Bố cục luận văn 8
CHƯƠNG2.CƠSỞLÝTHUYẾT 10
2.1 Hệ điều hành iOs 10
2.1.1 Khái niệm 10
2.1.2 Các đặc tính 10
2.1.3 Kiến trúc hệ điều hành iOS 11
2.2 Ngôn ngữ lập trình Objective – C 13
2.2.1 Giới thiệu 13
2.2.2 Các thành phần 14
2.2.3 Các thế mạnh 14
2.2.4 Môi trường lập trình Xcode 15
2.3 WebService 16
2.3.1 Giới thiệu 16
2.3.2 Kiến trúc 17
2.3.3 Hoạt động 18
CHƯƠNG3.PHÂNTÍCHTHIẾTKẾHỆTHỐNG 20
3.1 Phân tích yêu cầu 20
3.1.1 Mô tả bài toán 20
3.1.2 Phân tích yêu cầu bài toán 20
3.1.3 Yêu cầu phi chức năng 23
Trang 23.1.4 Các chức năng chính của hệ thống 24
3.2 Phân tích thiết kế hệ thống 26
3.2.1 Biểu đồ ca sử dụng: 26
3.2.2 Biểu đồ tuần tự 31
3.2.3 Biểu đồ hoạt động: 35
3.2.4 Biểu đồ lớp 38
3.2.5 Thiết kế cơ sở dữ liệu 39
CHƯƠNG4.TRIỂNKHAIVÀTHỰCNGHIỆMCHƯƠNGTRÌNH 41
4.1 Triển khai chương trình 41
4.1.1 Hệ thống Server 41
4.1.2 Ứng dụng trên di động 44
4.2 Các thuật toán được sử dụng 48
4.2.1 Thuật toán lấy dữ liệu và hiển thị người dùng trên bản đồ 48
4.2.2 Thuật toán lấy lọc lấy thông tin và vị trí người trợ giúp hoặc người cần trợ giúp 48
4.3 THỰC NGHIỆM CHƯƠNG TRÌNH 50
4.3.1 Kết quả triển khai trên Webservice 50
4.3.2 Kết quả triển khai ứng dụng trên điện thoại di động 51
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 57
I Kết luận 57
1 Kết quả đạt được 57
2 Hạn chế 57
II Hướng phát triển 58
PHỤ LỤC 59
TÓM TẮT LUẬN VĂN TỐT NGHIỆP 60
TÀI LIỆU THAM KHẢO 61
Trang 3DANH MỤC HÌNH ẢNH
Hình 1 Kiến trúc iOS 11
Hình 2 : Chồng giao thức của dịch vụ Web 17
Hình 3 : Mô hình hoạt động của Web service 18
Hình 4 Biểu đồ ca sử dụng tổng thể 26
Hình 5 Biểu đồ tuần tự - Đăng ký 31
Hình 6 Biểu đồ tuần tự - Đăng nhập 31
Hình 7 Biểu đồ tuần tự - chỉnh sửa thông tin cá nhân 32
Hình 8 Biểu đồ tuần tự - Xem thông tin địa điểm 32
Hình 9 Biểu đồ tuần tự - Tra cứu địa điểm 33
Hình 10 Biểu đồ tuần tự - Gửi yêu cầu trợ giúp 33
Hình 11 Biểu đồ tuần tự - Nhận yêu cầu trợ giúp 34
Hình 12 Biểu đồ tuần tự - Phản hồi 34
Hình 13 Biểu đồ hoạt động – Đăng ký 35
Hình 14 Biểu đồ hoạt động – Đăng nhập 35
Hình 15 Biểu đồ hoạt động – Quản lý thông tin cá nhân 35
Hình 16 Biểu đồ hoạt động – Chỉnh sửa thông tin cá nhân 35
Hình 17 Biểu đồ hoạt động – Xem địa điểm 36
Hình 18 Biểu đồ hoạt động – Tra cứu địa điểm 36
Hình 19 Biểu đồ hoạt động – Gửi yêu cầu trợ giúp 37
Hình 20 Biểu đồ hoạt động – Phản hồi trợ giúp 37
Hình 21 Biểu đồ lớp 38
Hình 22 Mô hình cơ sở dữ liệu quan hệ 39
Hình 23 Màn hình Home Apps trên Webservice 42
Hình 24 Tạo một Class (Bảng) cho cơ sở dữ liệu 42
Hình 25 Tạo một cột cho bảng 43
Hình 26 Push Notification từ Webservice 43
Hình 27 Sơ đồ kết nối giữa ứng dụng với Webservice 45
Hình 28 Sơ đồ nhận dữ liệu từ Webservice của ứng dụng 46
Trang 4DANH MỤC BẢNG
Bảng 1 : Bảng các chức năng đăng ký, đăng nhập 24
Bảng 2 : Bảng các chức năng quản lý thông tin cá nhân 24
Bảng 3 : Bảng các chức năng gọi trợ giúp 24
Bảng 4 : Bảng các chức năng trợ giúp 25
Bảng 5 : Bảng các chức năng phản hồi 25
Bảng 6 Ca sử dụng đăng ký 27
Bảng 7 Ca sử dụng đăng nhập 27
Bảng 8 Ca sử dụng quản lý thông tin cá nhân 28
Bảng 9 Ca sử dụng chỉnh sửa thông tin cá nhân 28
Bảng 10 Ca sử dụng gửi yêu cầu trợ giúp 29
Bảng 11 Ca sử dụng nhân yêu cầu trợ giúp 29
Bảng 12 Ca sử dụng phản hồi 30
Bảng 13 Bảng cơ sở dữ liệu - User 40
Bảng 14 Bảng cơ sở dữ liệu - Nhóm trợ giúp 40
Trang 5CHƯƠNG 1 TRIỂN KHAI VÀ THỰC NGHIỆM CHƯƠNG TRÌNH 1.1 TRIỂN KHAI CHƯƠNG TRÌNH
1.1.1 Hệ thống Server
1.1.1.1 Môi trường triển khai
Hệ quản trị cơ sở dữ liệu : sử dụng dịch vụ đám mây Parse Giao tiếp với
ứng dụng quan ParseSDK
1.1.1.2 Cài đặt cơ sở dữ liệu
Cài đặt cơ sở dữ liệu thông qua 2 bước:
Bước 1 : Tạo cơ sỡ dữ liệu trên của server
Bước 2 : Import file cơ sở dữ liệu vào đám mây, tùy chỉnh các thông tin cho phù hợp
1.1.1.3 Cài đặt WebService
Cài đặt webservice thông qua các bước sau :
Bước 1 : Đăng ký tài khoản sử dụng Parse Vào http://www.parse.com
để đăng ký 1 tài khoản • Sau đó đăng nhập vào Parse rồi vào mục Dashboard (https://www.parse.com/apps) để thiết lập một số thông tin:
Bước 2 : Tạo mới 1 ứng dụng (App) và đặt tên cho nó, ví dụ: DoAnTN
Bước 3 : Thiết lập thông tin cho ứng dụng, lấy Application ID và JavaScript Key
Bước 4 : Tạo cơ sở dữ liệu và bắt đầu kết nối dữ liệu với ứng dụng
1.1.1.4 Khai thác WebService
Link để thao tác với Web service: https://www.parse.com/apps
Lưu trữ dữ liệu trên Parse được xây dựng xung quanh các ParseObject Mỗi ParseObject chứa cặp khóa-giá trị của dữ liệu JSON-tương thích Với dữ liệu này chúng ta không cần phải xác định trước những gì tồn tại trên mỗi phím ParseObject Bạn chỉ cần đặt bất cứ điều gì giá trị khóa cặp mình muốn, và phụ trợ của Parse sẽ lưu giữ nó
Ví dụ, giả sử đang theo dõi điểm số cao cho một trò chơi Một PFObject duy nhất có thể chứa:
Điểm số: 1337, playername: "Sean Plott", cheatMode: false
Phím phải được chuỗi chữ và số Các giá trị có thể là chuỗi, số, các phép toán luận, hoặc thậm chí các mảng và từ điển - bất cứ điều gì mà có thể là JSON mã hóa
Trang 6Mỗi ParseObject có một tên lớp học mà chúng ta có thể sử dụng để phân biệt các loại dữ liệu khác nhau
Để lưu một dữ liệu: giao diện tương tự như lưu một NSMutableDictionary, cộng với phương pháp saveInBackground
Hình 23 Màn hình Home Apps trên service
Hình 24 Tạo một Class (Bảng) cho cơ sở dữ liệu
Trang 7Hình 25 Tạo một cột cho bảng
Hình 26 Bảng Push Notification từ service
Trang 81.1.2 Ứng dụng trên di động
Ứng dụng trên điện thoại di động iPhone là chương trình khai thác kho dữ liệu
và chương trình này được hệ thống cung cấp nên có thêm các chức năng đăng tải thông để xây dựng kho dữ liệu
Tên ứng dụng trên điện thoại di động iPhone : Người Việt thân thiện
1.1.2.1 Môi trường triển khai
Ngôn ngữ lập trình : Objective-C
Thiết bị : điện thoại di động iPhone, iPop Touch, iPad
Nền tảng hệ điều hành di động : iOS 7.0
Hệ điều hành phát triển : MacOS 10.10.3
Công cụ phát triển : Xcode 6.2
1.1.2.2 Cài đặt ứng dụng
Cài đặt ứng dụng thông qua 2 nguồn chính:
Download thông qua FTP và tiến hành đồng bộ ứng dụng vào thiết bị
Download thông qua App Store
1.1.2.3 Giao diện ứng dụng
Giao diện ứng dụng làm theo chuẩn iPhone:
Trang 9Trong đó:
Vùng 1 là Navigation bar : chịu trách nhiệm hiển thị tiêu đề, chuyển hướng và các action thao tác chính trên một màn hình
Vùng 2 là View : hiển thị nội dung, các thao tác, nhập xuất v v
Vùng 3 là Toolbar : Luồng màn hình theo các nhóm chức năng
1.1.2.4 Thao tác dữ liệu với Webservice
Ứng dụng được xây dựng trên điện thoại di động nên việc lưu trữ dữ liệu rất khó khăn khi lượng dữ liệu lớn và phức tạp Và để tăng tốc độ xử lý dữ liệu nên phần dữ liệu chính là Web Service của kho dữ liệu đặt trên Server
Kết nối với Server thông qua sơ đồ sau:
Hình 27 : Sơ đồ kết nối giữa ứng dụng với Server
Trang 10Sau khi kết nối thành công với Web Service thì Web Service sẽ trả về một response về lại ứng dụng, việc xử lý sự kiện thông qua sơ đồ sau:
Hình 28: Sơ đồ nhận dữ liệu từ Web Service của ứng dụng
Dữ liệu trả về theo định dạng XML, việc phân tích dữ liệu XML sử dụng đối
tượng NSXMLParser
1.1.2.5 Ứng dụng google MAP API vào triển khai ứng dụng
Ngoài dữ liệu chính là của kho dữ liệu, thì ứng dụng còn tích hợp các phương thức của Google MAP nhằm giúp người dùm tìm kiếm các địa điểm công cộng, mang tính chất chỉ đường và tham khảo
Google MAP chính là một hệ thống Web Service về toàn bộ bản đồ trên thế giới, với kho dữ liệu phong phú và hệ thống người dùng đông đảo, thường xuyên cập nhập
Google MAP API là các phương thức truy cập tới kho dữ liệu này và hoàn toàn được cung cấp miễn phí cho các nhà phát triển và các lập trình viên
Kết thúc
Lưu trữ dữ liệu vào đối tượng
Bắt đầu
Đúng Sai
Khởi tạo đối tượng nhận Response
Kết nối nhận
dữ liệu
Nhận dữ liệu trả về Hũy kết nối
Trang 11Ứng dụng khai thác 2 phần chính của Google MAP
Google MAP API Web Service: chứa các request để lấy thông tin các về một địa điểm, bao gồm : kinh tuyến, vĩ tuyến, tên, quốc gia
Google Place API : chứa các request để lấy thông tin nhiều địa điểm xung quanh 1 vị trí xác đinh Các địa điểm là các địa điểm công cộng hoặc có thể phân ra làm nhiều loại khác nhau, như : nhà hàng, bệnh viện, khách sạn
Truy cập Google MAP tương tự như việc kết nối Web Service của kho
dữ liệu Kiểu dữ liệu trả về chính của Google MAP là XML và JSON, nên việc phân tích dữ liệu của Google MAP cũng tương tự như việc phân tích dữ liệu XML trả về của kho dữ liệu
Tìm kiếm các địa điểm
Tra cứu các địa điểm
Xem thông tin địa điểm
Hệ thống
Gởi phản hồi về địa điểm
Gởi phản hồi về hệ thống
Sử dụng Google MAP
Tìm kiếm các địa điểm công cộng
Lấy vị trí địa điểm trên bản đồ
Trang 121.2 CÁC THUẬT TOÁN ĐƯỢC SỬ DỤNG
1.2.1 Thuật toán lấy dữ liệu và hiển thị người dùng trên bản đồ
Mỗi người dùng có một ID riêng và vị trí hiện tai của mình
Vị trí sẽ được gửi lên server 10s một lần
Khi một người dùng đăng nhập thành công vào ứng dụng Sẽ lấy vị trí của những người xung quanh
Tạo một animation hiển thị vị trí người khác xung quanh mình với chu kỳ 10 giây
Tức là cứ 10 giây người dùng sẽ gửi vị trí của mình lên server một lần đồng thời lấy vị trí của những người khác về
x=1;
if (giay=10x)
then sendViTri( ) and getViTriNguoiDung( );
x++;
1.2.2 Thuật toán lấy lọc lấy thông tin và vị trí người trợ giúp hoặc người cần
trợ giúp và gửi Push Notification
Khi gặp sự cố Người cần trợ giúp tạo ra một phiên trợ giúp bằng cách
nhập thông tin trợ giúp
Lấy 5 người xung quanh gần nhất để gửi push notification bằng cách lọc và tính khoảng cách giữa các địa điểm so với mình Địa điểm được
phân biệt bằng thuộc tính vĩ độ latitude và kinh độ longitude
x=location(Nguoidung);
SELECT FROM User
Kết quả: sẽ là một mảng chứa toàn bộ User;
For i=0 in mangUser{
y=location(User);
distance= khoảng cách từ x->y;
}
Trang 13 Truy cập vào bảng User lấy được thông tin, mỗi người dùng sẽ có một device Token Device token giống như một số điện thoại, do đó mỗi
người sẽ có một device token riêng
Gửi push notification thông qua device token của mỗi người dùng
Sau 30 giây nếu không có phản hồi nào từ người dùng Hệ thống sẽ tiếp
tục chu trình lấy thêm 5 người gần nhất
Phiên trợ giúp sẽ kết thúc nếu sau 2 phút không có phản hồi nào
Người cần trợ giúp sẽ phải tạo thêm một phiên trợ giúp mới
Trang 141.3 THỰC NGHIỆM CHƯƠNG TRÌNH
1.3.1 Kết quả triển khai trên Webservice
Đường dẫn tới Webservice:
https://www.parse.com/apps/doantotnghiep 3/collections
Gồm các bảng trong database
Đường dẫn tới trang Push Notification:
https://www.parse.com/apps/doantotnghiep 3/push_notifications
Trang 151.3.2 Kết quả triển khai ứng dụng trên điện thoại di động
1.3.2.1 Đăng ký, đăng nhập
Trang 16
1.3.2.2 Thông tin tài khoản
Trang 171.3.2.3 Tìm kiếm địa điểm
Trang 18
1.3.2.4 Gọi trợ giúp
Trang 191.3.2.5 Nhận trợ giúp
Đây chỉ là mục lục và demo hình ảnh của đồ án, nếu
bạn cần file báo cáo full và source code hãy liên hệ qua
mail doanit.com@gmail.com
Trang 201.3.2.6 Phản hồi