Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
HỖ TRỢ TÌM KIẾM NHÀ TRỌ TRÊN
SMARTPHONE
Sinh viên thực hiện
Cán bộ hướng dẫn
Lâm Quang Kha Ly
MSSV: 1111242
Lớp: Hệ Thống Thông Tin – K37
tin
Ths. Nguyễn Thanh Hải
MSCB: 2267
Bộ môn: Hệ thống thông
Cần Thơ, 05/2015
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
1
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
HỖ TRỢ TÌM KIẾM NHÀ TRỌ TRÊN
SMARTPHONE
Sinh viên thực hiện
Lâm Quang Kha Ly
Hải
MSSV: 1111242
Lớp: Hệ Thống Thông Tin – K37
thông tin
Cán bộ hướng dẫn
Ths. Nguyễn Thanh
MSCB: 2267
Bộ môn: Hệ thống
CÁN BỘ PHẢN BIỆN
Chủ tịch: TS. Phạm Thị Ngọc Diễm
Ủy viên: TS. Phạm Thị Xuân Lộc
Thư ký: Ths. Nguyễn Thanh Hải
Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Hệ
thống thông tin Khoa Công nghệ thông tin – Đại học Cần Thơ vào ngày
20/05/2015
Mã số đề tài:
Cần Thơ, 05/2015
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
2
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
NHẬN XÉT CỦA GIẢNG VIÊN
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
....................................................................
Cần Thơ, Ngày … Tháng 05 năm 2015
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
3
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
LỜI CẢM ƠN
Đầu tiên em xin gửi lời cảm ơn sâu sắc đến thầy Nguyễn Thanh Hải, người
thầy đã hướng dẫn, giúp đỡ và tạo điều kiện cho em trong suốt quá trình thực hiện
luận văn.
Kế đến, em cũng xin gửi cám ơn chân thành đến các thầy cô bộ môn hệ
thống thông tin đã luôn hết mình truyền đạt kiến thức quý báu, là tấm gương cho
bao thế hệ sinh viên noi theo. Đặc biệt là thầy Phan Tấn Tài cố vấn học tập lớp Hệ
thống thông tin khóa 37 đã dìu dắt em và các bạn trong lớp từ khi còn là sinh viên
chập chững bước vào trường đến khi bắt đầu tương lai với sự nghiệp của một kỹ
sư góp phần xây dựng đất nước.
Cuối cùng, em xin gửi lời cảm ơn đến thầy Nguyễn Viết Đức, giáo viên
trường Trung học cơ sở Ngô Quốc Trị, đã cho em niềm đam mê và những kiến
thức vô giá đầu tiên về tin học.
Khi thực hiện đề tài này, điều đầu tiên và điều cuối cùng em nghĩ đến đều
là những gì mình sẽ học, kiến thức đạt được sau khi hoàn thành. Vì vậy luôn mong
nhận được nhiều ý kiến góp của quý thầy cô và các bạn để em có thể có thêm
nhiều kiến thức và phát triển đề tài được hoàn thiện hơn.
Xin chân thành cảm ơn!
Cần Thơ, tháng 5 năm 2015
Sinh viên thực hiện
Lâm Quang Kha Ly
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
4
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
MỤC LỤC
LỜI CẢM ƠN ..................................................................................................................... 4
MỤC LỤC .......................................................................................................................... 5
MỤC LỤC HÌNH ............................................................................................................... 8
TÓM TẮT ........................................................................................................................... 9
ABSTRACT ..................................................................................................................... 10
TỪ KHÓA ........................................................................................................................ 11
CHƯƠNG 1: TỔNG QUAN .......................................................................................... 12
I. ĐẶT VẤN ĐỀ ........................................................................................................... 12
I.1 Hiện trạng........................................................................................................... 12
I.2 Mục tiêu: ............................................................................................................. 13
II. LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ .......................................................................... 13
III. PHẠM VI - Ý NGHĨA, YÊU CẦU CỦA ĐỀ TÀI ................................................. 13
III.1 Phạm vi ............................................................................................................ 13
III.2 Ý nghĩa của đề tài .......................................................................................... 13
III.3 Yêu cầu ............................................................................................................ 14
IV. PHƯƠNG PHÁP NGHIÊN CỨU VÀ HƯỚNG GIẢI QUYẾT VẤN ĐỀ ....... 15
IV.1 Thu thập dữ liệu ............................................................................................. 15
IV.2 Chọn công nghệ - công cụ phát triển.......................................................... 15
IV.3 Kế hoạch thực hiện........................................................................................ 15
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .............................................................................. 17
I. CÁC LOẠI ỨNG DỤNG SMARTPHONE:........................................................... 17
II. HYBRID APPS ........................................................................................................ 18
II.1 Tại sao nên phát triển hybrid apps ............................................................... 18
II.2 Các framework hàng đầu để phát triển Hybrid Applications. ................... 19
II.2.1 IONIC ............................................................................................................. 20
II.2.2 Intel XDK........................................................................................................ 20
II.2.3 Appcelerator Titanium ................................................................................. 20
II.2.4 Sencha Touch. .............................................................................................. 21
II.2.5 PhoneGap ..................................................................................................... 21
III. CÁC NGÔN NGỮ SỬ DỤNG TRONG ĐỀ TÀI. .............................................. 22
III.1 Apache cordova: ............................................................................................. 22
III.1.1 Cordova là gì? ......................................................................................... 22
III.1.2 Lịch sử hình thành Apache Cordova ................................................... 23
III.1.3 Tại sao lại sử dụng Apache Cordova? ................................................ 23
III.1.4 Những ưu điểm khi sử dụng Apache cordova? ................................. 23
III.1.5 Những hạn chế của Apache cordova? ................................................ 24
III.1.6 Cách thức Apache cordova hoạt động ................................................ 24
III.1.7 Định nghĩa về web view ......................................................................... 25
III.1.9 Tổng quan về các APIs Apache Cordova ........................................... 27
III.2 HTML5 và CSS3............................................................................................ 28
III.2.1. HTML và CSS ......................................................................................... 28
III.2.2 Một số đặc điểm nổi bật của HTML5 ................................................... 29
III.2.3 HTML5 hỗ trợ khả năng truy cập tới hệ thống file system ............... 29
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
5
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
III.3 JavaScript ........................................................................................................ 30
III.4. SQLite: ............................................................................................................ 31
III.5. Jquery.............................................................................................................. 32
III.6. Google map API ............................................................................................ 32
III.6.1. Google Map API là gì? .......................................................................... 32
III.6.2. Đăng ký sử dụng Google map API ..................................................... 33
III.6.3. Load bản đồ về trang cá nhân ............................................................. 33
III.7 AJAX ................................................................................................................. 34
III.8 PHP ................................................................................................................. 34
III.9 MYSQL ............................................................................................................. 34
IV. CÁCH THIẾT LẬP CÀI ĐẶT MÔI TRƯỜNG LẬP TÌNH CHO APACHE
CORDOVA .................................................................................................................. 35
IV.1 Cài đặt thủ công. ............................................................................................ 35
IV. 2 Cài đặt và sử dụng với Visual Studio Community 2015. ........................ 36
IV.2.1 Giới thiệu đôi nét về Visual Studio Community. ................................ 36
IV.2.2 Cài đặt Apache Cordova với Visual studio Community 2015.......... 37
IV.2.3 Tạo ứng dụng Apache Cordova đầu tiên............................................ 39
IV.2.4 Đóng gói và xuất bản ứng dụng Apache Cordova ............................ 43
CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU .......................................... 56
I. MÔ TẢ HỆ THỐNG ................................................................................................ 56
I.1 Đối tượng tìm nhà trọ chưa có tài khoản: ..................................................... 56
I.2 Đối tượng tìm nhà trọ có tài khoản: ............................................................... 57
I.3 Đối tượng chủ nhà trọ: ..................................................................................... 57
I.4 Đối tượng admin ............................................................................................... 57
II. PHÂN TÍCH VÀ THIẾT KẾ CÁC MÔ HÌNH ....................................................... 58
II.1 Mô hình quan niệm (CDM) ............................................................................. 58
a. Xây dựng các thực thể, thuộc tính và khóa:.............................................. 58
b. Xác định các mối kết hợp và biển số.......................................................... 61
c. Mô hình CDM hoàn chỉnh: ............................................................................ 64
II.3 Lưu đồ dòng dữ liệu (DFD) ............................................................................ 67
a. DFD cấp 0 ....................................................................................................... 67
b. DFD cấp 1 ....................................................................................................... 68
III. PHÂN TÍCH VÀ THIẾT KẾ CHƯƠNG TRÌNH ................................................. 70
III.1 Lưu đồ giải thuật ............................................................................................. 70
III.1.1 lưu đồ giải thuật đăng nhà trọ ............................................................... 70
III.1.2 Lưu đồ giải thuật tìm nhà trọ ................................................................. 71
III.2 Sơ đồ chức năng ............................................................................................ 72
III.2.1 Sơ đồ chức năng của đối tượng tìm kiếm nhà trọ chưa có tài khoản
............................................................................................................................... 72
III.2.2 Sơ đồ chức năng của đối tượng tìm kiếm nhà trọ có tài khoản ...... 72
III.2.3 Sơ đồ chức năng của đối tượng chủ nhà trọ ..................................... 73
III.2.4 Sơ đồ chức năng của đối tượng admin............................................... 73
IV. GIỚI THIỆU DEMO.............................................................................................. 74
IV.1 Một số giao diện chính của ứng dụng tìm kiếm nhà trọ trên smartphone
................................................................................................................................... 75
IV.1.1 Giao diện tìm nhà trọ.............................................................................. 75
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
6
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
IV.1.2 giao diện đăng thông tin nhà trọ ........................................................... 77
IV.1.3 Giao diện đăng nhập .............................................................................. 79
IV.1.4 Giao diện thêm loại phòng .................................................................... 79
IV.1.5 Giao diện hiển thị kết quả tìm kiếm lên bản đồ.................................. 83
V.KẾT QUẢ ĐẠT ĐƯỢC .......................................................................................... 83
VI. NHỮNG VẤN ĐỀ CHƯA ĐƯỢC GIẢI QUYẾT............................................... 84
KẾT LUẬN VÀ ĐỀ NGHỊ ............................................................................................... 84
1. KẾT LUẬN ............................................................................................................... 84
1.1 ƯU ĐIỂM VÀ HẠN CHẾ ................................................................................. 84
1.1.1 ƯU ĐIỂM ................................................................................................... 84
1.1.2 HẠN CHẾ................................................................................................... 85
1.2 THUẬN LỢI VÀ KHÓ KHĂN .......................................................................... 85
1.2.1 THUẬN LỢI ............................................................................................... 85
1.2.2 KHÓ KHĂN................................................................................................ 85
2. ĐỀ NGHỊ .............................................................................................................. 86
TÀI LIỆU THAM KHẢO ................................................................................................. 87
PHỤ LỤC.......................................................................................................................... 88
TỪ ĐIỂN DỮ LIỆU..................................................................................................... 88
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
7
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
MỤC LỤC HÌNH
Hình 2. 1 Bảng so sánh các dạng ứng dụng mobile ......................................................... 18
Hình 2. 2 Biểu đồ chi phí tiết kiệm khi phát triển ứng dụng hybrid so với native ............ 19
Hình 2. 3 Biểu đồ so sánh các loại ứng dụng di động 2016 ............................................. 19
Hình 2. 4 kiến trúc bên trong của ứng dụng Cordova ...................................................... 24
Hình 2. 5 cách ứng dụng Cordova làm việc trên thiết bị di động..................................... 26
Hình 2. 6 Bảng các hàm APIs được hỗ trợ cho từng nền tảng trong Cordova ................ 27
Hình 2. 7 Cài đặt visual studio community 2015 .............................................................. 38
Hình 2. 8 Cài đặt Tool for Apache Cordova for Visual Studio 2015 RC ......................... 39
Hình 2. 9 Tạo dự án Cordova ........................................................................................... 40
Hình 2. 10 Kết quả chương trình mặc định chạy trên Ripple ........................................... 43
Hình 3. 1 Sơ đồ CMD ....................................................................................................... 65
Hình 3. 2 Sơ đồ DFD cấp 0 .............................................................................................. 68
Hình 3. 3 Sơ đồ DFD cấp 1 ............................................................................................ 69
Hình 3. 4 Lưu đồ giải thuật đăng thông tin nhà trọ.......................................................... 70
Hình 3. 5 Lưu đồ giải thuật tìm kiếm nhà trọ ................................................................... 71
Hình 3. 6 Sơ đồ chức năng của đối tượng tìm kiếm nhà trọ chưa có tài khoản ............... 72
Hình 3. 7 Sơ đồ chức năng của đối tượng tìm kiếm nhà trọ có tài khoản ........................ 72
Hình 3. 8 Sơ đồ chức năng của đối tượng chủ nhà trọ ..................................................... 73
Hình 3. 9 Sơ đồ chức năng của đối tượng Admin ............................................................. 73
Hình 3. 10 Giao diện chính của ứng dụng hỗ trợ tìm kiếm nhà trọ trên smartphone ...... 74
Hình 3. 11 Giao diện tìm nhà trọ (phần 1) ....................................................................... 75
Hình 3. 12 Giao diện tìm kiếm nhà trọ (phần 2)............................................................... 76
Hình 3. 13 Giao diện đăng thông tin nhà trọ (phần 1) ..................................................... 78
Hình 3. 14 Giao diện đăng thông tin nhà trọ (phần 2) ..................................................... 78
Hình 3. 15 Giao diện đăng nhập ....................................................................................... 79
Hình 3. 16 Giao diện thêm loại phòng (phần 1) ............................................................... 80
Hình 3. 17 Giao diện thêm loại phòng (phần 2) ............................................................... 81
Hình 3. 18 Kết quả tìm kiếm hiển thị trên bản đồ ............................................................. 82
Hình 3. 19 Hướng dẫn chỉ đường đến nhà trọ .................................................................. 83
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
8
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
TÓM TẮT
Theo tình hình phát triển của Việt Nam, nhu cầu tìm thuê và cho thuê nhà
trọ sẽ ngày càng tăng do sự di dân giữa các vùng miền, số lượng người dân ra
thành phố lớn sinh sống ngày càng lớn. Tuy nhiên, trong thực tế mọi người đều
thấy rằng tìm được một nhà trọ vừa ý, giá cả hợp lý là vô cùng khó khăn, gây mất
rất nhiều thời gian cho cả người cho thuê lẫn người muốn thuê, vì hầu hết người
thuê đều là người ở xa mới đến, chưa rõ vị trí địa lý nên việc đưa thông tin nhà trọ
đến người tìm, và người tìm được thông tin không dễ dàng chút nào.
Thêm vào đó, sự phát triển của điện thoại thông minh đã dần đi đến mức
đỉnh điểm khi mà bất kì sự thống kê liên quan đến nó đều có thể bị lỗi thời sau
một vài ngày. Hầu hết các sinh viên, người lao động đều sở hữu một chiếc điện
thoại thông mình dùng để liên lạc, giải trí và phục vụ các mục đích khác.
Tận dụng ưu điểm của điện thoại thông minh và sức mạnh của cộng đồng
sử dụng, đề tài hỗ trợ tìm nhà trọ trên smartphone đã ra đời nhằm xây dựng ứng
dụng giải quyết bài toán nhà trọ. Với ứng dụng này người cho thuê sẽ dễ dàng đưa
thông tin nhà trọ đến mọi người, ngược lại người muốn thuê sẽ tìm được nhà trọ
một cách nhanh chóng.
Hệ thống được xây dựng theo loại ứng dụng lai, có thể sử dụng được trên 3
nền tảng lớn nhất hiện nay là Android, iOS, Windows Phone.
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
9
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
ABSTRACT
According to the development situation of Vietnam, the demand for leasing
and rental accommodation will skyrocket because of immigrants . However, in
fact, everyone agrees that finding a pleasant accommodation which has a
reasonable price is extremely difficult. Causing a lot of wasted time for both the
lease and who want to rent, because most tenants are not familiar with the
geography at the city where they plan to stay.
In addition, the development of the smart phone has gradually gone up to a
peak when any statistics related to it may be outdated after a few days. Typically,
most of the students, the workers have owned a smart phone for communication,
entertainment.
Taking advantages of smartphones and the power of the user community
and supporting system to find accommodation on the smartphone was launched to
design applications solve the problems for accommodation. With this application
the lessor will bring information to users boarding house easier, whereas they want
to rent will find an accommodation quickly.
The system was built as a hybrid application. This can be used on three
largest current platforms which are Android, iOS, and Windows Phone.
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
10
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
TỪ KHÓA
HTML5
API
OS
CPU
GPS
CLI
SDK
IDE
CDM
LDM
SQL
PHP
CSS
CSDL
Hyper Text Markup Language version 5
Application Programming Interface
Operating system
Central Processing Unit
Global Positioning System
Command Line Interface
Software Development Kit
Integrated Development Environment
Conceptual Data Model
Logical Data Model
Structured Query Language
Hypertext Preprocessor
Cascading Style Sheets
Cơ sở dữ liệu
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
11
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
CHƯƠNG 1: TỔNG QUAN
I. ĐẶT VẤN ĐỀ
I.1 Hiện trạng
Trong những năm gần đây, điện thoại thông minh hay còn được gọi là
smartphone luôn nhận được sự quan tâm hàng đầu trong lĩnh vực công nghệ thông
tin. Nó được xem là một trong những tiêu chí lớn nhất đề đánh giá thương hiệu
của các công ty công nghệ. Với tình hình đó các công ty công nghệ lớn trên thế
giới dù trước đây chỉ sản xuất phầm mềm, hay một lĩnh vực linh kiện đơn thuần
nào đó đều đầu tư chạy đua trong lĩnh vực sản xuất sản phẩm này. Kết quả của
cuộc chạy đua đó là những chiếc điện thoại ngày càng “thông minh” hơn, mạnh
mẽ hơn, chất lượng màn hình tốt hơn và giá ngày càng rẻ hơn. Nếu như trước đây
sở hữu một chiếc smartphone là điều xa xỉ thì hiện nay smartphone là thiết bị thân
thuộc đối với mọi người, mọi độ tuổi, đều dễ dàng sử dụng.
Tận dụng xu hướng phát triển và sức mạnh đó, rất nhiều ứng dụng đã được
xây dựng chuyển thể từ máy vi tính sang smartphone, hầu hết các ứng dụng đều
đáp ứng được nhu cầu người dùng, một số còn tỏ ra hiệu quả hơn. Trong đó, trước
hết phải kể đến các ứng dụng định vị, chỉ đường dựa trên hệ thống GPS của
smartphone. Những ứng dụng này phát huy tối đa được thế mạnh của smartphone
là nhỏ gọn và lúc nào cũng có thể truy cập vào mạng internet (mạng không dây
hay mạng dịch vụ di động). Với tư cách bản thân là một sinh viên trong ngành
công nghệ thông tin chưa có nhiều kiến thức về lập trình di động, tôi luôn khao
khát được học hỏi, phát triển những ứng dụng về lĩnh vực này. Và lựa chọn đề tài
“Hỗ trợ tìm kiếm nhà trọ trên Smartphone” như là một điều tất yếu.
Với cơ cấu dân số nông thôn chiếm khoảng 70% tổng dân số nhưng các
trường đại học, xí nghiệp, công ty lớn lại tập trung ở thành thị dẫn đến dòng người
lao động, sinh viên từ nông thôn, tỉnh lẻ kéo về đô thị là rất nhiều, dẫn đến nhiều
dịch vụ được hình thành để đáp ứng nhu cầu này, trong đó nhu cầu cơ bản nhưng
cũng quan trọng nhất đó là cho thuê nhà trọ. Chỉ tính riêng thành phố Hồ Chí
Minh đã có hơn 1 triệu lao động, nếu tính trung bình 3 người cần thuê 1 phòng thì
cần đến hơn 300 ngàn phòng trọ, con số này sẽ rất khủng khiếp khi xem xét tất cả
các tỉnh lớn trong nước. Với nhu cầu to lớn như vậy nhưng trước đây mọi người
tìm nhà trọ chủ yếu qua cách hỏi trực tiếp, còn việc đưa thông tin nhà trọ của mình
chỉ bằng cách treo bảng trước cửa nhà, những cách như vậy làm cho người ngoại
tỉnh gặp nhiều khó khăn vì không biết rõ đường dễ bị chủ nhà trọ nâng giá, còn
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
12
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
với chủ nhà trọ cho thuê phòng với giá tốt nhưng vị trí không thuận lợi thì khó
cạnh tranh.
Để giải quyết các vấn đề đó gần đây có nhiều website ra đời và một số
trang như http://batdongsan.com.vn/, http://rongbay.com/, http://nhatroso.net/ đã
thành công vang dội, là nơi tham khảo đáng tin cậy của người tìm nhà trọ thông
qua mạng Internet. Các trang web này giải quyết được hầu hết các nhu cầu chia sẻ
và tìm thông tin nhà trọ. Nhưng điểm yếu của các hệ thống thực hiện bằng website
là xác định vị trí người dùng, vì vậy chưa đưa ra được hướng dẫn đường đi chi tiết
cho người tìm. Tiếp tục khẳng định vị trí số 1 của mình trong lĩnh vực này
http://batdongsan.com.vn/ tung ra ứng dụng “bất động sản” trên 2 nền tảng là
Android và iOS đã khắc phục được nhược điểm trên, hỗ trợ rất tốt cho người tìm
nhà trọ nhưng lại chưa có chức năng dành cho chủ nhà trọ. Một ứng dụng khác
đáng chú ý là “nhà trọ tốt” đã có hỗ trợ chức năng đăng thông tin dành cho chủ
nhà trọ nhưng lại phải tải thêm một ứng dụng khác, gây bất tiện. Và một số khác
cũng hỗ trợ giải quyết các vấn đề nhà trọ, nhưng điểm chung và quan trọng nhất là
những ứng dụng đó hầu hết đều chạy đơn nền tảng vì thế chưa tận dụng được tối
đa thông tin mà chủ nhà trọ muốn quảng bá, hạn chế về nền tảng cũng là hạn chế
về số lượng người dùng là hạn chế về thông tin.
I.2 Mục tiêu:
Mục tiêu chính của đề tài là xây dựng ứng dụng hỗ trợ tìm kiếm nhà trọ
trên smartphone, phát huy điểm mạnh của smartphone để giải quyết vấn đề đăng
thông tin và tìm nhà trọ.
II. LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ
Đã có một vài ứng dụng di động hỗ trợ tìm kiếm nhà trọ như “Tìm trọ”,
“Chung cư”, “OngNhaDat”, “batdongsan”… được phổ biến trong cộng động mạng.
Tuy nhiên, các ứng dụng này còn nhiều điểm hạn chế như chưa chạy được đa nền
tảng, chưa cho phép đăng thông tin nhà trọ hoặc chỉ cho đăng thông tin rất sơ sài,
ít tùy chọn hỗ trợ tìm kiếm.
Trong khuôn khổ các đề tài niên luận, luận văn tại khoa Công nghệ thông
tin và Truyền thông thì “Hỗ trợ tìm kiếm nhà trọ trên smartphone” là mảng đề tài
tương đối mới, nhất là lập trình bản đồ trên di động.
III. PHẠM VI - Ý NGHĨA, YÊU CẦU CỦA ĐỀ TÀI
III.1 Phạm vi
Ứng dụng phục vụ cho bất kỳ người dùng có nhu cầu tìm hoặc cho thuê nhà
trọ, chia sẻ thông tin phòng trọ trên toàn quốc.
III.2 Ý nghĩa của đề tài
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
13
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
Với người sử dụng:
Các chủ nhà trọ có thêm một công cụ mạnh mẽ tận dụng ưu thế của
smartphone để quảng bá thông tin nhà trọ của mình đến mọi người một cách
nhanh chóng không mất nhiều thời gian.
Giúp các chủ nhà trọ biết giá nhà trọ lẫn nhau để đưa ra mức giá cạnh
tranh mang đến lợi ích mình lẫn người tìm thuê.
Người tìm kiếm nhà trọ dễ dàng tìm được nhà trọ mình cần với mức
giá tốt nhất.
Giúp người tìm nhà trọ biết được vị trí chính xác và các dịch vụ xung
quanh nhà trọ, từ đó có thể lựa chọn nhà trọ theo sở thích của mình.
Hướng dẫn đường đến nhà trọ từ vị trí của người dùng đến nhà trọ, rất
tiện lợi khi không rành địa điểm.
Với bản thân:
Bước đầu sử dụng những kiến thức đã học để giải quyết vấn đề thực tế.
Học hỏi thêm những kiến thức về ứng dụng di động và nâng cao khả
năng lập trình.
Tăng cường khả năng tự học và có cơ hội tự đánh giá bản thân.
III.3 Yêu cầu
a. Về cơ sở lý thuyết:
Nghiên cứu về các hệ thống website cũng như các ứng dụng smartphone
đã có, từ đó rút ra các điểm mạnh yếu, còn thiếu.
Vận dụng lý thuyết phân tích hệ thống đã học để xây dựng các sơ đồ chức
năng, mô hình hệ thống thực thể kết hợp, lưu đồ giải thuật phục vụ cho đề tài.
Tìm hiểu về các nền tảng trên smartphone, từ đó lựa chọn ngôn ngữ thích
hợp để phát triển.
Nghiên cứu về ngôn ngữ phát triển cũng như các hệ quản trị cơ sở dữ liệu
cục bộ cũng như máy chủ sao cho phù hợp với ứng dụng.
b. Về chức năng:
Hệ thống hỗ trợ tìm kiếm nhà trọ trên smartphone gồm ứng dụng trên
smartphone và website quản lý.
Ứng dụng hỗ trợ tìm kiếm nhà trọ trên smartphone phải đảm bảo xây dựng
đầy đủ các chức năng. Cụ thể theo từng nhóm người dùng sau:
Đối tượng tìm nhà trọ chưa có tài khoản:
o Đăng ký tài khoản.
o Tìm nhà trọ.
o Xem thông tin chi tiết nhà trọ.
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
14
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
o Lưu thông tin nhà trọ.
o Xem hướng dẫn đường đi đến nhà trọ.
o Xem các thông tin dịch vụ xung quanh nhà trọ.
Đối tượng người tìm nhà trọ có tài khoản:
Có các tính năng như đối tượng khách chưa có tài khoản. Ngoài ra,
có thêm các tính năng sau:
o Bình luận về nhà trọ.
o Đánh giá cho nhà trọ.
Đối tượng chủ nhà trọ
Có các tính năng như đối tượng người tìm nhà trọ có tài khoản.
Ngoài ra, có thêm các tính năng sau:
o Đăng thông tin nhà trọ.
o Xem, sửa, xóa thông tin nhà trọ đã đăng.
Với website, có các chức năng để quản lý:
Đối tượng người quản lý (Admin):
o Xem, xóa nhà trọ đã đăng của người dùng.
o Xem, xóa bình luận của người dùng.
o Gửi email yêu cầu người dùng sửa thông tin đã đăng.
o Thống kê.
IV. PHƯƠNG PHÁP NGHIÊN CỨU VÀ HƯỚNG GIẢI QUYẾT VẤN ĐỀ
IV.1 Thu thập dữ liệu
Liên hệ trực tiếp nhu cầu bản thân các bạn sinh viên và chủ nhà trọ ở địa
phương. Tham khảo các website, ứng dụng về tìm nhà trọ, rút kinh nghiệm từ
những hạn chế và hiệu quả thực tiễn của nó. Từ đó xem xét và lựa chọn các dữ
liệu nào cần thiết và phù hợp cho ứng dụng di động.
IV.2 Chọn công nghệ - công cụ phát triển
Công nghệ phát triển:
o Framework Apache Cordova dùng để xây dựng ứng dụng.
o Ajax dùng để lấy dữ liệu từ máy chủ và đưa dữ liệu lên máy chủ.
o Google Maps API v3 đảm nhận toàn bộ về bản đồ.
Công cụ phát triển: Visual Studio Community 2013.
IV.3 Kế hoạch thực hiện
Phân chia thời gian cho từng công việc một cách hợp lý. Lên kế hoạch báo
cáo tiến độ và điều chỉnh thời gian cho phù hợp. Trong quá trình thực hiện, lắng
nghe và tiếp thu sự quan tâm, góp ý của giáo viên hướng dẫn.
Kế hoạch thực hiện cụ thể như sau:
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
15
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
STT
1
2
3
4
5
6
7
8
9
10
11
Công việc
Nghiên cứu công
nghệ, thu thập yêu
cầu
Phân tích yêu cầu
Vẽ mô hình CMD,
LDM, DFD
Xây dựng cơ sở dữ
liệu
Thiết kế giao diện
Lập trình thiết kế các
chức năng
Kiểm thử chương
trình
Viết quyển báo cáo
Viết slides báo cáo
Báo cáo thử cho giáo
viên hướng dẫn, các
giáo viên phản biện
và chỉnh sửa trước
khi in
Nộp bản báo cáo
GVHD: Nguyễn Thanh Hải
Từ tuần
Tuần 1
Đến tuần
Đầu tuần 8
Đầu tuần 8
Đầu tuần 11
Đầu tuần 11
Đầu tuần 13
Đầu tuần 13
Cuối tuần 13
Cuối tuần 13
Cuối tuần 14
Cuối tuần 14
Cuối tuần 17
Cuối tuần 17
Cuối tuần 18
Cuối tuần 18
Cuối tuần 19
Đầu tuần 20
Cuối tuần 19
Đầu tuần 20
Cuối tuần 20
Cuối tuần 20
Cuối tuần 20
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
Ghi chú
16
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
I. CÁC LOẠI ỨNG DỤNG SMARTPHONE:
Navtive Application: Là những ứng dụng được xây dựng theo cách chính
thống với các ngôn ngữ lập trình/nền tảng do các nhà sản xuất di động quy định
(ví dụ: Objective-C cho iOS và Java cho Android, .Net cho Windows Phone,…).
Ưu điểm của dạng ứng dụng này là nhà phát triển có thể thoải mái truy cập vào hệ
thống, phần cứng của thiết bị (như hệ thống file, camera, microphone,
accelerometer,…). Nhược điểm là bị bó buộc với công nghệ và nền tảng mà nhà
sản xuất đưa ra.
Web Application: Là các ứng dụng được xây dựng trên nền tảng web (mà
điển hình là HTML5), chỉ hoạt động trên trình duyệt của điện thoại. Tiền thân của
ý tưởng này là những trang web có giao diện tùy biến cao, chạy được trên nhiều độ
phân giải màn hình, về sau phát triển mạnh và hình thành nên một hướng đi mới
cho việc phát triển ứng dụng di động. Ưu điểm là có thể thoải mái phát triển ứng
dụng mà không cần quan tâm tới nền tảng vì nó cross-platform. Nhược điểm là
không có được sức mạnh truy cập sâu vào hệ thống và thiết bị như native app.
Hybrid Application: Là con lai của 2 dạng ứng dụng trên. Có thể hiểu nôm
na ứng dụng này là: một native application chỉ có một đối tượng webview trên
màn hình, dùng để hiển thị nội dung trang web app, và web app giao tiếp với
native app thông qua một cầu nối (bridge) để mang lại sức mạnh của native app
cho web app. Vì vậy nhược điểm của nó là khó có thể xây dựng một ứng dụng đòi
hỏi tốc độ xử lý quá nhanh và cần tận dụng tối đa phần cứng như các game đồ họa
cao.
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
17
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
.
Hình 2. 1 Bảng so sánh các dạng ứng dụng mobile
II. HYBRID APPS
II.1 Tại sao nên phát triển hybrid apps
Theo như những phân tích như trên, để phát triển một ứng dụng có khả
năng truy cập đến hệ thống, phần cứng của thiết bị thì chỉ có thể là Navtive
Application hoặc Hybrid Application. Ngoại trừ ứng dụng trò chơi đồ họa cao, với
đa số ứng dụng hiện nay Hybrid Application đã cho thấy sức mạnh vượt trội của
nó so với Navtive Application với cùng khả năng nhưng có khả năng đa nền tảng
mà Navtive Application đạt được, ngoài ra chi phí còn tiết kiệm hơn từ 30% - 90%.
Biểu đồ sau đây sẽ cho ta thấy rõ điều đó:
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
18
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
Hình 2. 2 Biểu đồ chi phí tiết kiệm khi phát triển ứng dụng hybrid so với native
Theo dự đoán của các chuyên gia năm 2016 sẽ có hơn 50% ứng dụng sẽ
là Hybrid:
Hình 2. 3 Biểu đồ so sánh các loại ứng dụng di động 2016
II.2 Các framework hàng đầu để phát triển Hybrid Applications.
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
19
Đề tài: hỗ trợ tìm kiếm nhà trọ trên smartphone
GVHD: Nguyễn Thanh Hải
II.2.1 IONIC
IONIC là một trong những framework đầy hứa hẹn để phát triển ứng dụng
lai. Được xây dựng bằng cách sử dụng SASS (một dạng mở rộng của CSS), nó
cung cấp nhiều thành phần giao diện người dùng để giúp phát triển các ứng dụng
phong phú và tương tác. IONIC sử dụng các framework JavaScript MVVM,
AngularJS để xử lí trong ứng dụng, có kết nối dữ liệu 2 chiều, tương tác với dịch
vụ máy chủ, là sự lựa chọn phổ biến của các lập trình viên di động sử dụng
AngularJS. Với việc phát hành sắp tới của phiên bản AngularJS 2.0, nó chắc chắn
sẽ càng phổ biển hơn nữa.
Nhóm nghiên cứu tại IONIC sẽ sớm được giới thiệu một cách dễ dàng hơn
để tạo ra các ứng dụng IONIC với IONIC Creator. Chương trình này sẽ được phát
hành sớm và sẽ có chức năng kéo và thả dễ dàng hơn đối với người mới bắt đầu
II.2.2 Intel XDK
Intel XDK là một công cụ phát triển ứng dụng đa nền tảng được phát triển
bởi Intel. Bắt dầu lập trình với Intel XDK rất dễ dàng với công cụ được miễn phí
và có thể cài đặt trên các hệ điều hành Linux, Windows và Mac. Nó cung cấp một
số mẫu để hướng dẫn và một số framework giao diện người dùng như Twitter
bootstrap, jQuery Mobile và Topcoat.
Điểm mạnh của Intel XDK là phát triển ứng dụng trò chơi 2D rất tốt, hỗ trợ
được nhiều công nghệ làm trò chơi như: Cocos2d-JS Lite 3, EaselJS*, Pixi*…
Trên quan điểm cá nhân của nhiều lập trình viên, đa số đều nghĩ rằng phát
triển ứng dụng với Intel XDK là dễ nhất. Bời vì nó sử dụng phương thức kéo thả
là phương pháp tiếp cận chính, tuy nhiên nó cũng tạo ra rất nhiều mã không cần
thiết.
II.2.3 Appcelerator Titanium
Sinh viên thực hiện: Lâm Quang Kha Ly – MSSV: 1111242
20
- Xem thêm -