BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA KINH TẾ
Nguyễn Trần Mai Thu
NGHIÊN CỨU CÔNG NGHỆ IONIC 2 VÀ XÂY DỰNG ỨNG DỤNG
SÀN MUA BÁN CHỢ NTU
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
(Ngành: 55HTTTQL)
Nha Trang – Năm 2017
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC NHA TRANG
KHOA KINH TẾ
Nguyễn Trần Mai Thu
TÌM HIỂU CÔNG NGHỆ IONIC 2 VÀ XÂY DỰNG ỨNG DỤNG SÀN
MUA BÁN CHỢ NTU
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
(Ngành: 55HTTTQL)
CÁN BỘ HƯỚNG DẪN:
1. Nguyễn Thủy Đoan Trang
2. Đặng Hoàng Xuân Huy
Nha Trang – Năm 2017
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
NHẬN XÉT GIÁO VIÊN HƯỚNG DẪN
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
1
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
LỜI CẢM ƠN
Trong lời đầu tiên của khóa luận: “Tìm hiểu công nghệ ionic 2 và xây dựng ứng
dụng sàn mua bán Chợ NTU” này, tôi muốn gửi những lời cảm ơn và biết ơn chân
thành nhất của mình tới tất cả những người đã hỗ trợ, giúp đỡ tôi về kiến thức và tinh
thần trong quá trình thực tập tốt nghiệp.
Trước hết tôi xin chân thành cảm ơn cô Nguyển Thủy Đoan Trang, giảng viên
khoa Công nghệ Thông tin, và thầy Đặng Hoàng Xuân Huy, giảng viên khoa Kinh tế,
Trường Đại học Nha Trang, những người đã trực tiếp hướng dẫn, nhận xét, giúp đỡ
tôi trong suốt quá trình thực hiện khóa luận tốt nghiệp.
Xin chân thành cảm ơn ban giám hiệu nhà trường, các thầy cô trong khoa Công
nghệ Thông tin, khoa Kinh tế, và các phòng ban nhà trường đã tạo điều kiện tốt nhất
cho tôi cũng như các bạn khác trong suốt thời gian thực tập tốt nghiệp.
Cuối cùng tôi xin gửi lời cảm ơn đến gia đình, bạn bè, người thân đã giúp đỡ động
viên tôi rất nhiều trong quá trình làm đề tài tốt nghiệp. Do thời gian thực hiện có hạn,
kiến thức còn nhiều hạn chế nên đề tài thực hiện chắc chắn không thoát khỏi những
sai sót.
Tôi rất mong được ý kiến đóng góp của thầy cô giáo và các bạn để tôi có thêm
kinh nghiệm và tiếp tục hoàn thiện.
Tôi xin chân thành cảm ơn..!
2
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
MỤC LỤC
NHẬN XÉT GIÁO VIÊN HƯỚNG DẪN ...............................................................1
LỜI CẢM ƠN ............................................................................................................2
MỤC LỤC ..................................................................................................................3
DANH MỤC HÌNH ...................................................................................................6
DANH MỤC BẢNG ..................................................................................................7
CHƯƠNG 1: PHẦN MỞ ĐẦU ................................................................................8
1.1
Lý do chọn đề tài ........................................................................................8
1.2
Mục tiêu đề tài ..........................................................................................10
1.2.1
Mục tiêu chung: ....................................................................................10
1.2.2
Mục tiêu cụ thể: ....................................................................................10
Ý nghĩa .....................................................................................................10
1.3
1.3.1
Ý nghĩa lý luận:.....................................................................................10
1.3.2
Ý nghĩa thực tiễn ...................................................................................10
Bố cục của khóa luận ...............................................................................10
1.4
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ......................................................................12
2.1
Mô hình MVC: .........................................................................................12
2.1.1
Giới thiệu mô hình ................................................................................12
2.1.2
Các tính năng cơ bản của mô hình MVC..............................................12
2.1.3
Ưu điểm và nhược điểm của mô hình MVC ........................................12
2.1.4
Mô hình hoạt động của mô hình MVC: ................................................13
2.2
Angular 2 ..................................................................................................13
2.2.1
Giới thiệu ..............................................................................................13
2.2.2
Cấu trúc Angular 2 ................................................................................13
2.2.2.1
Module ...........................................................................................13
2.2.2.2
Component .....................................................................................14
2.2.2.3
Service ............................................................................................14
2.2.2.4
Object .............................................................................................14
2.2.2.5
Pipe.................................................................................................14
2.2.3
Ưu điểm Angular 2 ...............................................................................14
3
Khóa luận tốt nghiệp
Nhược điểm của Angular 2 ...................................................................14
2.2.4
2.3
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
Ionic Framework ......................................................................................14
2.3.1
Giới thiệu ..............................................................................................14
2.3.2
Tính năng ..............................................................................................15
2.3.2.1 Mã nguồn mở ....................................................................................15
2.3.2.2
Cordova ..........................................................................................16
2.4
MySQL .....................................................................................................17
2.5
Kiểm thử ...................................................................................................17
2.5.1
Khái niệm ..............................................................................................17
2.5.2
Các phương pháp kiểm thử ...................................................................18
2.5.3.
Các chiến lược kiểm thử ....................................................................18
2.5.4.
Các giai đoạn kiểm thử ......................................................................19
2.5.5.
Một số loại hình kiểm thử phổ biến ..................................................19
Chiến lược marketing ...............................................................................20
2.6
2.6.1. Môi trường vĩ mô ( môi trường nền kinh tế) ...........................................20
2.6.2. Môi trường vi mô ....................................................................................21
CHƯƠNG 3: XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG SÀN MUA BÁN
CHỢ NTU ................................................................................................................23
Phân tích môi trường bên ngoài ...............................................................23
3.1
3.1.1
Sự phát triển của ứng dụng mua bán trên di dộng ................................23
3.1.1.1 Thực trạng .........................................................................................23
3.1.1.2 Xu hướng...........................................................................................24
3.1.2
Đánh giá tác động của môi trường ........................................................24
3.1.2.1. Yếu tố kinh tế ...................................................................................25
3.1.2.2. Yếu tố văn hóa xã hội ......................................................................25
3.1.2.3 Yếu tố công nghệ ..............................................................................25
3.1.2.4 Đánh giá cường độ cạnh tranh ..........................................................26
3.2
Phân tích môi trường bên trong ................................................................27
3.2.1 Tổng quan về Đại học Nha Trang ............................................................27
3.2.2 Tiềm năng phát triển ................................................................................27
3.3
Chiến lược marketing cho ứng dụng ........................................................27
4
Khóa luận tốt nghiệp
3.3.1
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
Phân tích đối thủ cạnh tranh .................................................................28
3.3.1.1
Fastsell: ..........................................................................................28
3.3.1.2
Ứng dụng Marketspace của Facebook: ..........................................29
3.3.2
So sánh ứng dụng sàn mua bán chợ NTU với đối thủ cạnh tranh ........31
Xây dựng ứng dụng sàn mua bán chợ NTU .............................................33
3.4
3.4.1
Đặc tả bài toán ......................................................................................33
3.4.1.1
Quản lý người sử dụng (Users) ......................................................33
3.4.1.2
Quản lý sản phẩm (Products) .........................................................34
3.4.1.3
Quản lý mua bán ........................................................................34
3.4.2
Phân tích hệ thống.................................................................................35
3.4.2.1
3.4.3
Mô hình BFD .................................................................................35
Mô tả chức năng ...................................................................................35
3.4.3.1
Mô hình DFD .................................................................................49
3.4.3.2
Mô hình ERD .................................................................................52
3.4.4
Thiết kế .................................................................................................53
3.4.4.1
Mô hình quan hệ dữ liệu ................................................................53
3.4.4.2
Thiết kế dữ liệu ..............................................................................54
3.4.4.3
Ràng buộc toàn vẹn ........................................................................54
3.4.4.4
Thiết kế màn hình ..........................................................................57
3.4.5
Cài đặt chương trình .............................................................................65
3.4.6
Kiểm thử tự động chợ NTU trên nền web ............................................65
3.5
Những điểm đạt được ...............................................................................68
3.5.1 Lý thuyết và kỹ năng ...............................................................................68
3.5.2
Thực hành và ứng dụng ........................................................................69
CHƯƠNG 4: KẾT LUẬN ........................................................................................70
4.1 Kết luận ...........................................................................................................70
4.2 Hạn chế ............................................................................................................70
4.3
Hướng phát triển ......................................................................................70
TÀI LIỆU THAM KHẢO .........................................................................................72
5
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
DANH MỤC HÌNH
Hình 2.1: Mô hình MVC ...........................................................................................13
Hình 2.2 Apache Cordova .........................................................................................16
Hình 3.1 Giao diện Fastsell .......................................................................................29
Hình 3.2 Ứng dụng marketspace ...............................................................................31
Hình 3.5 Mô hình BFD .............................................................................................35
Hình 3.6 Mô hình DFD mức 1 ..................................................................................49
Hình 3.7 Mô hình DFD mức 2 của quản trị hệ thống ...............................................50
Hình 3.8 Mô hình DFD mức 2 của quản lý sản phẩm ..............................................50
Hình 3.9 Mô hình DFD mức 2 của quản lý người dùng ...........................................51
Hình 3.10 Mô hình DFD mức 2 của Quản lý mua bán .............................................51
Hình 3.11 Mô hình DFD mức 2 của Báo cáo thống kê ............................................52
Hình 3.12 Mô hình ERD ...........................................................................................53
Hình 3.13 Mô hình quan hệ dữ liệu ..........................................................................54
6
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
DANH MỤC BẢNG
Bảng 3.1 So sánh Fastsell với chợ NTU ...................................................................31
Bảng 3.2 So sánh Marketplace với chợ NTU ...........................................................32
Bảng 3.3 Mô tả chức năng đăng ký...........................................................................36
Bảng 3.4 Mô tả chức năng đăng nhập .......................................................................37
Bảng 3.5 Mô tả chức năng xem danh mục sản phẩm. ..............................................38
Bảng 3.6 Mô tả chức năng đánh giá sản phẩm người bán ........................................39
Bảng 3.7 Mô tả chức năng quên mật khẩu ................................................................39
Bảng 3.8 Mô tả chức năng đổi mật khẩu. .................................................................40
Bảng 3.9 Mô tả chức năng tìm kiếm sản phẩm. ........................................................42
Bảng 3.10 Mô tả chức năng tính số lượt xem sản phẩm. ..........................................42
Bảng 3.11 Mô tả chức năng sửa thông tin cá nhân ...................................................43
Bảng 3.12 Mô tả chức năng mua sản phẩm. .............................................................44
Bảng 3.13 Mô tả chức năng bán sản phẩm ...............................................................45
Bảng 3.14 Mô tả chức năng xem danh sách sản phẩm đăng bán. .............................46
Bảng 3.15 Mô tả chức năng xem danh sách sản phẩm đã mua và tổng tiền. ............47
Bảng 3.16 Mô tả chức năng chỉnh sửa sản phẩm đăng bán. .....................................47
Bảng 3.17 Mô tả chức năng xóa sản phẩm đã đăng bán. ..........................................48
7
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
CHƯƠNG 1: PHẦN MỞ ĐẦU
1.1
Lý do chọn đề tài
Theo dự báo của Hiệp hội Thương mại điện tử Việt Nam (VECOM), đến năm
2020, thị trường bán lẻ trực tuyến của Việt Nam có thể đạt con số 10 tỷ USD, chiếm
5% tổng giá trị thị trường bán lẻ. Dự báo này cho thấy, tiềm năng kinh doanh trực
tuyến tại Việt Nam là rất lớn.
Tại Việt Nam, thị trường thương mại điện tử còn non trẻ nhưng có tốc độ phát
triển nhanh chóng. Theo khảo sát mới được CPA Australia công bố hôm 28/2/2017,
các doanh nghiệp (DN) nhỏ Việt Nam có tốc độ tăng trưởng nhanh nhất khu vực và
đặc biệt, thể hiện tốt trên phương diện nắm bắt các cơ hội trong nền kinh tế kỹ thuật
số với 86% người được hỏi cho biết họ kiếm doanh thu từ bán hàng trực tuyến và
92% sử dụng truyền thông xã hội vì mục đích kinh doanh.
Kết quả khảo sát mới đây của Bizweb với trên 5.000 chủ website vừa công bố cho
thấy, so với năm 2015, năm 2016 kết quả kinh doanh online đã thực sự có bước tiến
rõ rệt. Theo khảo sát của Bizweb, năm 2016, 82,1% cửa hàng kinh doanh online có
sự tăng trưởng, trong đó 36% có mức tăng trưởng trên 10%, cao hơn hẳn so với tỷ lệ
24% trong năm 2015.
Trong khi đó, theo kết quả khảo sát năm 2016 của Cục Thương mại điện tử và
Công nghệ thông tin tại các DN xuất nhập khẩu, có tới 32% DN đã thiết lập quan hệ
kinh doanh với đối tác nước ngoài qua kênh trực tuyến, 11% tham gia các sàn thương
mại điện tử và 49% có website.
Trong khi đó, theo Công ty cổ phần Đầu tư và Công nghệ OSB (Đại lý uỷ quyền
chính thức của Tập đoàn Alibaba tại Việt Nam), trong năm 2016, nhóm DN đang có
nhu cầu tham gia xuất khẩu trực tuyến đạt gần 2.400 lượt, tăng 34% so với năm 2015.
Không chỉ các DN nhỏ và vừa (DNVVN) chú trọng tới ứng dụng thương mại điện tử
trong hoạt động xuất nhập khẩu mà các DN lớn cũng đang chuyển dịch sang xu hướng
này, coi đây là một công cụ quan trọng trong chiến lược phát triển mở rộng thị trường.
8
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
Ở Khánh Hòa, việc kinh doanh online cũng đang ngày một phát triển nhanh hơn,
đặc biệt là bán hàng qua Facebook. Các cửa hàng, nhà hàng, thậm chí là khách sạn,
quán bar hay chỉ đơn giản là cá nhân buôn bán lẻ đều thông qua các kênh quảng cáo
của Facebook để phát triển kinh doanh và tăng doanh thu. Các bạn sinh viên cũng sử
dụng Facebook như một công cụ bán hàng mạnh mẽ, là cơ hội để các bạn nhanh
chóng kiếm thêm thu nhập cũng là môi trường để các bạn học hỏi kinh nghiệm bán
hàng trực tuyến. Tuy nhiên, việc xây dựng các trang web hay ứng dụng dành riêng
cho việc mua bán ở Khánh Hòa lại chưa thật sự phát triển. Đa số các mặt hàng mua
bán thông qua ứng dụng thường tập trung ở các thành phố lớn như TP.HCM, Hà Nội,
Đà Nẵng… Ở Khánh Hòa cũng có một số trang web có hỗ trợ chuyên mục kinh doanh
online, trong đó phát triển mạnh nhất là nhatrangclub.vn nhưng không nhiều người
quan tâm, để ý đến những mặt hàng được mua bán trên đó vì thị trường quá nhỏ nên
hàng hóa cũng không được đa dạng.
Ở Đại học Nha Trang, việc kinh doanh online chủ yếu cũng thông qua facebook
vì việc mua bán thông qua các ứng dụng lớn lại không thể tiếp cận trực tiếp được với
khách hàng trong địa bàn thành phố Nha Trang hay gần hơn là sinh viên trong trường
Đại học Nha Trang. Đầu năm học, các bạn sinh viên có nhu cầu mua đồ dùng cá nhân
rất nhiều. Còn vào cuối năm, nhu cầu bán các sản phẩm cũ rất cao đặc biết đối với
các bạn sinh viên ra trường, rất nhiều đồ dùng cũ bị sinh viên bỏ đi, nhiều trong số
những đồ dùng này vẫn còn tốt, còn giá trị sử dụng, nhiều bạn có nhu cầu bán tuy
nhiên lại không tìm được người mua.
Việc xây dựng một ứng dụng sàn mua bán online trong trường sẽ giúp giải quyết
các vấn đề trên và việc kết hợp thương mại điện tử trong ứng dụng sẽ giúp người xây
dựng có nguồn thu từ sản phẩm. Các bạn sinh viên sẽ không phải online facebook
24/24 để bán gấp mặt hàng của mình hay lo lắng sẽ phải vận chuyển hàng xa vì ứng
dụng này sẽ giúp bạn nhanh chóng tìm được người mua ngay trong trường. Nó vừa
là cơ hội để các bạn được giao lưu nhiều hơn với sinh viên trong trường, vừa là môi
trường tiếp xúc ban đầu với việc kinh doanh online nhỏ lẻ. Do đó, việc xây dựng ứng
dụng mua bán trực tuyến chợ NTU là vô cùng cần thiết.
9
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
1.2 Mục tiêu đề tài
1.2.1 Mục tiêu chung:
Vận dụng những kiến thức đã học về Lập trình mobile, Cơ sở dữ liệu, Phân tích
thiết kế hệ thống thông tin, Thương mại điện tử,… đồng thời tìm hiểu và áp dụng các
công nghệ mới nhất để xây dựng một ứng dụng thực tế trên thiết bị di động.
1.2.2 Mục tiêu cụ thể:
Xây dựng 1 ứng dụng thực hiện các chức năng chính sau:
- Người sử dụng (sinh viên Đại học Nha Trang) đăng ký/đăng nhập thành viên
của hệ thống. Sau khi trở thành thành viên, sinh viên có thể đăng bán sản phẩm hoặc
mua sản phẩm.
- Người dùng nếu không đăng nhập hệ thống thì có thể xem sản phẩm, tìm kiếm
sản phẩm nhưng không được mua hoặc đăng bán sản phẩm.
1.3
Ý nghĩa
1.3.1 Ý nghĩa lý luận:
Hệ thống hóa các kiến thức về marketing, thương mại điện tử và công nghệ
Ionic trong xây dựng và phát triển ứng dụng mua bán trực tuyến
1.3.2 Ý nghĩa thực tiễn
Mục đích ra đời của sản phẩm là đáp ứng nhu cầu mua bán của các bạn sinh
viên, sản phẩm sẽ góp phần tạo thêm nguồn thu nhập cho các bạn sinh viên cũng như
tiết kiệm được chi phí cho các bạn sinh viên mới vào trường.
Nếu sản phẩm thành công thì tương lai sẽ phát triển cho các trường đại học,
cao đẳng, trung cấp khác trên cả nước. Đó sẽ là nơi các bạn trao đổi thông tin cho
nhau, kết bạn giao lưu với nhau.
1.4
Bố cục của khóa luận
Chương 1: Phần mở đầu: Giới thiệu chung về vấn đề nghiên cứu như nêu lên
sự cần thiết của nghiên cứu, mục tiêu, phạm vi, ý nghĩa kết quả nghiên cứu .
10
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
Chương 2: Cơ sở lý thuyết. Chương này đưa ra một số khái niệm về mô hình
MVC, ngôn ngữ lập trình được sử dụng trong việc xây dựng và phát triển ứng dụng,
nêu rõ điểm mạnh, yếu của việc vận dụng nó, cho cái nhìn tổng quan hơn về tính ưu
việt cũng như khả năng phát triển của ứng dụng. Các lý thuyết về chiến lược
marketing sản phẩm, áp dụng cho việc quảng bá ứng dụng nhanh chóng, hiệu quả.
Chương 3: Xây dựng và phát triển ứng dụng chợ NTU ở Đại học Nha Trang.
Chương 3 mô tả chi tiết và phân tích sâu hơn tiềm năng lớn của việc xây dựng và phát
triển ứng dụng. Vận dụng những kiến thức marketing để quảng bá ứng dụng rộng rãi
cho toàn bộ sinh viên Đại học Nha Trang. Đồng thời kết hợp với kiến thức phân tích
thiết kế để làm rõ nét về cấu trúc bên trong của ứng dụng, cơ sở dữ liệu tạo nên ứng
dụng, các tính năng được tích hợp trong ứng dụng, giao diện và quy trình kiểm thử.
Chương 4: Kết luận. Chương này tổng hợp lại kết quả đã đạt được, nêu lên
những hạn chế và hướng phát triển tương lai cho ứng dụng.
11
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Mô hình MVC:
2.1.1 Giới thiệu mô hình
MVC là chữ viết tắt của Model - View - Controller, đây là một mô hình kiến
phần mềm được tạo ra với mục đích quản lý và xây dựng dự án phần mềm có hệ
thống hơn. Mô hình này được dùng khá rộng rãi và đặc biệt là trong các ngôn ngữ lập
trình web. Trong PHP hiện tại có khá nhiều Framework và tất cả đều xây dựng từ mô
hình MVC, từ đó ta có thể thấy sự quan trọng của nó như thế nào rồi đấy. (Freetuts.net,
2015)
2.1.2 Các tính năng cơ bản của mô hình MVC
Model: có nhiệm vụ thao tác với cơ sở dữ liệu, nghĩa là nó sẽ chứa tất cả các
hàm, các phương thức truy vấn trực tiếp với dữ liệu và controller sẽ thông qua các
hàm, phương thức đó để lấy dữ liệu rồi gửi qua View.
View: có nhiệm vụ tiếp nhận dữ liệu từ controller và hiển thị nội dung sang
các đoạn mã HTML, bạn có thể hiểu nôm na đây người ta còn gọi là thành phần giao
diện.
Controller: đóng vài trò trung gian giữa Model và View. Nó có nhiệm vụ tiếp
nhận yêu cầu từ client sau đó xử lý request, load model tương ứng và gửi data
qua view tương ứng rồi trả kết quả về cho client. (Freetuts.net, 2015)
Ưu điểm và nhược điểm của mô hình MVC
2.1.3
Ưu điểm:
-
Hệ thống phân ra từng phần nên dễ dáng phát triển.
-
Chia thành nhiều modun nhỏ nên nhiều người có thể làm chung dự án.
-
Vấn đề bảo trì cũng tương đối ok, dễ nâng cấp.
-
Dễ dàng debug trong quá trình xây dựng.
Nhược điểm:
-
Hệ thống sẽ chạy chậm hơn PHP thuần, tuy nhiên nó ko phải là vấn đề.
-
Xây dựng cầu kì và mất thời gian để xây dựng thư viện, cấu trúc. (Freetuts.net,
2015)
12
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
2.1.4 Mô hình hoạt động của mô hình MVC:
Hình 2.1: Mô hình MVC – Freetuts (2015)
2.2 Angular 2
2.2.1 Giới thiệu
Angular là một framework phát triển trên nền JavaScript của Google, kế thừa
các đặc điểm của AngularJS và phát triền một phương thức tiếp cận việc xây dựng
ứng dụng hoàn toàn mới, phương pháp hướng đối tượng
Có thể build trên bất kì nền tảng nào.
Angular 2 khắc phục những thiếu sót, hạn chế của version trước đó, như cải
thiện về performance, tối ưu hóa cho SEO, có tính Productivity cao.
Angular 2 đã lược bỏ controller $scope thay bằng các Component.
Các Service có thể build được bằng cách tạo các class dựa trên nền tảng ES6 so
với kiểu function của Angular 1.
Angular 2 còn được xây dựng trên nền tảng Typescript - hỗ trợ hướng đối tượng
rất tốt cho Javascript. (Rob Eisenberg, 2014)
2.2.2 Cấu trúc Angular 2
2.2.2.1 Module
- Chạy các package cần thiết từ core-libraries
- Chạy các Component
13
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
- Chạy các Service
- Chạy các Provider
- Khởi tạo ứng dụng
2.2.2.2
Component
- Định nghĩa các selector sẽ sử dụng trong view
- Định nghĩa template muốn sử dụng
- Định nghĩa các phương pháp tương tác trên view
- Gọi các service cần thiết để cung cấp các phương pháp, các thuộc tính cho
component đang sử dụng
2.2.2.3 Service
Tương tác với back-end(server) để CRUD data từ phía back-end thông qua
Observable
2.2.2.4 Object
Định nghĩa các thuộc tính cho đối tượng để sử dụng khi CRUD với server
2.2.2.5
Pipe
Lọc dữ liệu trong dữ liệu
2.2.3
-
Ưu điểm Angular 2
Nếu một ứng dụng được tải nặng, sau đó Angular 2 giữ nó hoàn toàn giao diện
người dùng.
-
Sử dụng máy chủ rendering cho view nhanh trên điện thoại di động.
-
Hoạt động tốt với ECMAScript và các ngôn ngữ khác để biên dịch JavaScript.
-
Sử dụng Dependency Injection chạy các ứng dụng mà không cần viết mã quá dài.
-
Tất cả mọi thứ tiếp cận dựa trên Component
2.2.4
Nhược điểm của Angular 2
Là một mã nguồn mới phát triển nên chưa được nhiều tài liệu và cũng như được
phổ biến rộng rãi. Đặt biệt là Việt Nam
Tốn nhiều thời gian tìm hiểu Angularjs 2 nếu bạn chưa biết gì về Angularjs.
2.3 Ionic Framework
2.3.1 Giới thiệu
14
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
Theo định nghĩa trên trang chủ của Ionic Framework, Ionic là một Hybrid
Framework được sử dụng để phát triển các ứng dụng di động dựa trên nền tảng công
nghệ web HTML ( sự kết hợp giữa Angular và Cordova), được tạo bởi Max Lynch,
Ben Sperry, và Adam Bradley vào 2013. Đây là một framework rất mạnh để viết các
ứng dụng hybrid. Nó khắc phục các nhược điểm của Native app và Mobile webapp
và kết hợp được sức mạnh của 2 nền tảng đó. (ionicframework.com)
Ưu điểm:
- Dễ học, thời gian phát triển nhanh, có thể sử dụng các kỹ năng từ lập trình web.
-
Đa nền tảng.
- Khả năng truy cập đến các tính năng của thiết bị và hệ điều hành như bluetooth,
camera,…
- Dễ dàng thiết kế giao diện cho các thiết bị có kích cỡ khác nhau.
- Việc sử dụng Angular 2 làm core giúp phần xử lý UI linh động hơn so với javasript
hay thư viện Jquery.
- Việc sử dụng Angular 2 làm core cũng mang lại lợi thế lớn so với các framework
cho ứng dụng hybrid khác.
- Ionic cung cấp đầy đủ các thành phần trong giao diện người dùng như Pull-toRefresh, Infinite-loader, tabs, ...
Nhược điểm:
- Vẫn còn trong giai đoạn phát triển.
- Hiệu năng vẫn chưa cao và ổn định.
2.3.2 Tính năng
2.3.2.1 Mã nguồn mở
Mục đích của Ionic framework không chỉ là xây dựng một bộ khung phát triển
ứng dụng di động đa nền tảng mà còn muốn xây dựng một nền tảng để chia sẻ các
kiến thức cho các nhà phát triển, tạo ra một cách để đưa ra những design pattern tốt
nhất để xây dựng các ứng dụng di động. Vì vậy, Ionic là một framework mở hoàn
15
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
toàn cho phép tất cả mọi người có thể chia sẻ những kiến thức, kinh nghiệm để xây
dựng những ứng dụng di động tuyệt vời trên nền tảng HTML5.
Ionic sẽ đặt nền tảng cho ứng dụng của bạn dựa trên HTML5, CSS và
Javascript. Thay vì mỗi lập trình viên phải tự tìm tòi những khuyết điểm của việc phát
triển ứng dụng di động trên HTML5 thì Ionic sẽ cho bạn CSS cơ bản và tạo cho bạn
1 kiến trúc tốt để phát triển phía trên nó.
2.3.2.2 Cordova
Hình 2.2 Apache Cordova – Cordova.apache.org (2012)
Theo website chính về Cordova (Cordova.apache.org) đã giải thích rõ, Apache
Cordova là một bộ khung để xây dựng ứng dụng di động sử dụng HTML, CSS và
Javascript. Apache Cordova bao gồm một tập hợp các API thiết bị cho phép người
lập trình di động truy cập, sử dụng các chức năng native của thiết bị như là camera
hay cảm biến gia tốc bằng Javascript. Kết hợp với một bộ khung phát triển giao diện
như jQuery Mobile or Dojo Mobile hoặc Ionic, cho phép ứng dụng di động có thể
được phát triển chỉ dựa trên HTML, CSS và Javascript.
Khi sử dụng Cordova API, một ứng dụng có thể được xây dựng mà không phải
sử dụng bất kỳ một đoạn mã native code nào. Thay vào đó, công nghệ web sẽ được
sử dụng, và chúng sẽ được tổ chức trên chính ứng dụng đấy chứ không cần thông qua
một server nào.
Cordova cung cấp một tập hợp các thư viện Javascript đã được chuẩn hóa để
có thể sử dụng. Cordova hiện có thể sử dụng cho các nền tảng như iOS, Android,
Blackberry, Windows Phone, Palm WebOS, Bada và Symbian.
16
Khóa luận tốt nghiệp
2.4
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
MySQL
-
SQL là viết tắt của Structured Query Language - Ngôn ngữ truy vấn cấu trúc.
-
SQL cho phép bạn truy cập vào CSDL.
-
SQL là một chuẩn ngôn ngữ của ANSI.
-
SQL có thể thực thi các câu truy vấn trên CSDL.
-
SQL có thể lấy dữ liệu từ CSDL.
-
SQL có thể chèn dữ liệu mới vào CSDL.
-
SQL có thể xoá dữ liệu trong CSDL.
-
SQL có thể sửa đổi dữ liệu hiện có trong CSDL.
2.5
Kiểm thử
2.5.1 Khái niệm
Là một cuộc kiểm tra nhằm cung cấp cho các bên liên quan (khách hàng hay
nhóm phát triển phần mềm,...) thông tin về chất lượng của sản phẩm hoặc dịch vụ
đang kiểm thử. Kiểm thử có thể cung cấp cho doanh nghiệp một quan điểm, một cách
nhìn độc lập về phần mềm để từ đó cho phép đánh giá và thấu hiểu được những rủi
ro trong quá trình triển khai phần mềm.
Trong kỹ thuật kiểm thử không chỉ giới hạn ở việc thực hiện một chương trình
hoặc ứng dụng với mục đích đi tìm các lỗi phần mềm (bao gồm các lỗi và các thiếu
sót) mà còn là một quá trình phê chuẩn và xác minh một chương trình máy tính / ứng
dụng / sản phẩm nhằm:
-
Đáp ứng được mọi yêu cầu hướng dẫn khi thiết kế và phát triển phần mềm.
-
Thực hiện công việc đúng như kỳ vọng.
-
Có thể triển khai được với những đặc tính tương tự.
-
Và đáp ứng được mọi nhu cầu của các bên liên quan.
Một phần mềm chất lượng thì phải có kiểm thử, nếu không có kiểm thử thì
phần mềm đó chưa thể gọi là phần mềm có chất lượng được. Cho nên việc kiểm thử
17
Khóa luận tốt nghiệp
Nghiên cứu Ionic 2 và xây dựng ứng dụng sàn mua bán chợ NTU
phần mềm là rất quan trọng trong việc phát triển phần mềm. (seleniumcucumber.info,
2015)
2.5.2 Các phương pháp kiểm thử
Có 2 phương pháp kiểm thử chính là: Kiểm thử tĩnh và Kiểm thử động.
-
Kiểm thử tĩnh – Static testing
Là phương pháp thử phần mềm đòi hỏi phải duyệt lại các yêu cầu và các đặc tả
bằng tay, thông qua việc sử dụng giấy, bút để kiểm tra logic, lần từng chi tiết mà
không cần chạy chương trình. Kiểu kiểm thử này thường được sử dụng bởi chuyên
viên thiết kế người mà viết mã lệnh một mình.
- Kiểm thử động – Dynamic testing
Là phương pháp thử phần mềm thông qua việc dùng máy chạy chương trình để
điều tra trạng thái tác động của chương trình. Đó là kiểm thử dựa trên các ca kiểm
thử xác định bằng sự thực hiện của đối tượng kiểm thử hay chạy các chương trình.
Kiểm thử động kiểm tra cách thức hoạt động động của mã lệnh, tức là kiểm tra sự
phản ứng vật lý từ hệ thống tới các biến luôn thay đổi theo thời gian. Trong kiểm thử
động, phần mềm phải thực sự được biên dịch và chạy.
Kiểm thử động thực sự bao gồm làm việc với phần mềm, nhập các giá trị đầu vào
và kiểm tra xem liệu đầu ra có như mong muốn hay không. Các phương pháp kiểm
thử động gồm có kiểm thử Unit – Unit Tests, Kiểm thử tích hợp – Intergration Tests,
Kiểm thử hệ thống – System Tests, và Kiểm thử chấp nhận sản phẩm – Acceptance
Tests. (vntester.com, 2016)
2.5.3. Các chiến lược kiểm thử
Ba trong số những chiến lược kiểm thử thông dụng nhất bao gồm: Kiểm thử
hộp đen, Kiểm thử hộp trắng, và Kiểm thử hộp xám.
18
- Xem thêm -