1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng phần mềm đặt món ăn trực tuyến HMLFOOD cho điện thoại di động trên nền tảng hệ điều hành android

80 2,4K 14

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 80
Dung lượng 2,45 MB

Nội dung

Hình 1.1 Mô hình web server Hiện nay có nhiều cách để xây dựng và chạy một web server được phân loại bằng ngôn ngữ sử dụng, xử lý trên web server bao gồm: Web server PHP sử dụng ngôn ng

Trang 1

LỜI CẢM ƠN Lời đầu tiên, em xin chân thành cảm ơn trường Đại Học Công Nghệ Thông Tin và Truyền Thông- Đại học Thái Nguyên đã tạo điều kiện thuận lợi cho phép

em hoàn thành đồ án tốt nghiệp này

Em xin chân thành cảm ơn sự giúp đỡ và đóng góp ý kiến nhiệt tình của các

thầy - cô giáo trong bộ môn Mạng máy tính và truyền thông - Khoa Công Nghệ Thông Tin- Đại học Công Nghệ Thông Tin và Truyền Thông - Đại Học Thái Nguyên

Đặc biệt em xin bày tỏ lòng cảm ơn sâu sắc nhất đến Thầy giáo Đỗ Đình Cường, đã nhiệt tình giúp đỡ em trong suốt quá trình học tập và nghiên cứu

Và sau cùng em xin gửi lời cảm ơn đến gia đình, bạn bè những người luôn bên cạnh động viên và giúp đỡ em trong thời gian làm đồ án

Sinh viên thực hiện

Hoàng Thị Mỹ Lê

Trang 2

LỜI CAM ĐOAN

Em xin hứa toàn bộ việc làm đồ án do em làm và có sự tham khảo ở các tài liệu tham khảo Đồ án của em không trùng lặp với các đồ án mà em và thầy giáo hướng dẫn đã biết

Thái Nguyên, tháng 06 năm 2016

Sinh viên

Hoàng Thị Mỹ Lê

Trang 3

MỤC LỤC

LỜI CẢM ƠN 1

LỜI CAM ĐOAN 2

MỤC LỤC 3

DANH MỤC HÌNH ẢNH 5

LỜI NÓI ĐẦU 7

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 8

1.1 Công nghệ xây dựng server 8

1.2 Công nghệ phát triển ứng dụng android 10

1.2.1 Giới thiệu chung về hệ điều hành android 10

1.2.2 Kiến trúc của android 11

1.2.3 Công nghệ phát triển ứng dụng android 14

1.3.4 Công nghệ giao tiếp giữa ứng dụng android và web server 15

CHƯƠNG 2: KHẢO SÁT PHÂN TÍCH THIẾT KẾ 20

2.1 Nhu cầu sử dụng phần mềm đặt món ăn trực tuyến ở Việt Nam và nước ngoài hiện nay 20

2.2 Phần mềm ngoài thị trường 21

2.2.1 Food panda 21

2.2.2 Vietnammm 22

2.2.3 Eat.vn 23

2.2.4 chonmon.vn 24

2.2.5 Kết Luận 25

2.2.6 Thị trường kinh doanh món ăn trực tuyến 26

2.3 Khảo sát hệ thống 28

2.3.1 Mô hình đặt món ăn trực tuyến của khách hàng 28

2.3.2 Khảo sát quy trình ship hàng của nhà hàng 29

2.4 Yêu cầu đặt ra và giải quyết yêu cầu 33

2.4.1 Yêu cầu đặt ra 33

Trang 4

2.4.2 Giải quyết yêu cầu 33

2.5 Phân tích thiết kế hệ thống 34

2.5.1 Các tác nhân và Usecase 34

2.5.2 Đặc tả UC 35

2.5.3 Biểu đồ hoạt động 39

2.5.4 Biểu đồ trình tự 47

2.5.5 Biểu đồ lớp 51

CHƯƠNG III: XÂY DỰNG DEMO CHƯƠNG TRÌNH 52

3.1 Giao diện chính 52

3.2 Một số chức năng chính 55

3.2.1 Giao diện khách hàng tương tác 55

3.2.2 Giao diện admin 62

KẾT LUẬN 78

TÀI LIỆU THAM KHẢO 79

Trang 5

DANH MỤC HÌNH ẢNH

Hình 1.1 Mô hình web server 8

Hình 1.2 Cấu trúc stack hệ thống Android 11

Hình 2.1 Mô hình đặt món của khách hàng 28

Hình 2.2 Sơ đồ vật lý của nhà hàng 31

Hình 2.3 Biểu đồ UC tổng quát 35

Hình 2.4 Biểu đồ hoạt động đăng nhập 39

Hình 2.5 Biểu đồ hoạt động đăng xuất 40

Hình 2.6 Biểu đồ hoạt động đăng Ký 40

Hình 2.7 Biểu đồ hoạt động xem thông tin shop 41

Hình 2.8 Biểu đồ hoạt động xem thông tin menu 42

Hình 2.9 Biểu đồ hoạt động đặt hàng 43

Hình 2.10 Biểu đồ hoạt động thêm thông tin menu 44

Hình 2.11 Biểu đồ hoạt động sửa menu 45

Hình 2.12 Biểu đồ hoạt động xóa menu 46

Hình 2.13 Biểu đồ trình tự chức năng đăng nhập 47

Hình 2.14 Biểu đồ trình tự chức năng đăng xuất 47

Hình 2.15 Biểu đồ trình tự chức năng đăng ký 48

Hình 2.16 Biểu đồ trình tự chức năng xem danh sách menu 48

Hình 2.17 Biểu đồ trình tự chức năng thêm mới menu 49

Hình 2.18 Biểu đồ trình tự chức năng sửa menu 49

Hình 2.19 Biểu đồ trình tự chức năng xóa menu 50

Hình 2.20 Biểu đồ trình tự chức năng đặt hàng 50

Hình 2.21 Biểu đồ lớp 51

Hình 3.1 Giao diện chính 52

Hình 3.2 Giao diện chọn thành phố 53

Hình 3.3 Giao diện chọn quận, huyện 54

Hình 3.4 Giao diện list shop 55

Hình 3.5 Thông tin chi tiết shop 56

Trang 6

Hình 3.6 List Menu 57

Hình 3.7 Giao diện Comment 58

Hình 3.8 Chọn menu và số lượng 59

Hình 3.9 List menu order 60

Hình 3.10 Thông tin khách hàng order 61

Hình 3.11 Giao diện Admin 62

Hình 3.12 Giao diện Register 63

Hình 3.13 Giao diện Login 64

Hình 3.14 Giao diện List Menu khi chưa được insert 65

Hình 3.15 Giao diện Insert Menu 66

Hình 3.16 Giao diện List Menu khi được Insert và update 67

Hình 3.17 Dialog lựa chọn delete or update 68

Hình 3.18 Giao diện update menu 69

Hình 3.19 Giao diện xem danh sách List Order và update thông tin shop 70

Hình 3.20 Giao dien update thông tin Shop 71

Hình 3.21 Giao diện khách hàng đã đặt hàng 72

Hình 3.22 Giao diện danh sách order đã đặt hàng 73

Hình 3.23 Giao diện khi Login với tài khoản quản trị viên hệ thống 74

Hình 3.24 Giao diện các cửa hàng đã đăng ký với hệ thống 75

Hình 3.25 Giao diện khi muốn xóa 1 cửa hàng khỏi hệ thống 76

Hình 3.26 Giao diện khi thêm khu vực 77

Trang 7

LỜI NÓI ĐẦU

Thị trường di động đang phát triển mạnh mẽ chưa từng thấy với vô vàn các nhãn hiệu, kiểu dáng, tính năng… kéo theo đó là cuộc cạnh tranh vô cùng khốc liệt của các nhà sản xuất hệ điều hành mobile Google Android – hệ điều hành mặc dù

ra đời muộn hơn những hệ điều hành khác nhưng lại đang là hệ điều hành số 1 trên thị trường hệ điều hành di động hiện nay với thị phần ( 56,1% vào quí 1/2012) Tất

cả các ứng dụng như: định vị GPS, multimedia, lướt web và kết nối internet, ứng dụng văn phòng, tích hợp mạng xã hội hay chơi game… đều xuất hiện trên điện thoại thông minh chạy hệ điều hành Android Sự đa dạng về mức giá cũng như số mẫu mã kiểu dáng khiến Android trở thành một trong những nền tảng smartphone phổ biến nhất tại Việt Nam năm 2011

Xây dựng ứng dụng trên Smartphone là lĩnh vực có tốc độ phát triển nhanh nhất trong ngành công nghệ thông tin với 1,4 tỉ thuê bao và dự báo sẽ có khoảng

452 triệu Smartphone được bán ra vào năm 2012 và 6,7 triệu ứng dụng sẽ được download trước năm 2014 Với xu thế và tính tất yếu của lĩnh vực lập trình ứng dụng nói chung và lập trình Android nói riêng đã mang đến luồng gió mới trong ngành công nghệ thông tin

Kể từ năm 2011, đặt món ăn trực tuyến đã trở thành một thị trường hấp dẫn

và “ngon miệng” tại Việt Nam Khởi đầu từ là sự tiện lợi khi đặt món ăn với cộng đồng người nước ngoài tại Việt Nam, sau đó trở thành trào lưu và được đón nhận nồng nhiệt từ các bạn trẻ và nhân viên văn phòng Hiện nay, với sự phát triển của các trang thương mại điện tử, việc mua và bán các sản phẩm trên môi trường kinh doanh online ngày càng trở nên phổ biến, việc đặt món ăn trực tuyến đã xác lập vị trí trong thói quen mua sắm của nhiều người dùng Internet Chính vì vậy em đã

chọn đề tài: “Xây dựng phần mềm đặt món ăn trực tuyến HMLFOOD cho điện thoại di động trên nền tảng hệ điều hành Android” làm đề tài cho đồ án tốt

nghiệp Thông qua đề tài này em tìm hiểu được thêm những kiến thức mới về lập trình Android và trau dồi khả năng lập trình của mình

Trang 8

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1 Công nghệ xây dựng server

Web server là một dịch vụ công nghệ thông tin xử lý các yêu cầu thông qua HTTP, các giao thức mạng cơ bản khác để phân phối thông tin trên world wide web.Các chức năng chính của web server là để lưu trữ, xử lý và cung cấp các trang web cho người dùng Những dạng dữ liệu thường xuyên truyền tải giữa một web server với một ứng dụng client là các trang tài liệu HTML có thể bao gồm hình ảnh, kịch bản, file khác Ứng dụng client có thể là một trình duyệt web, một ứng dụng có thể đọc

và truy xuất đến web server Ứng dụng client truy cập đến server bằng cách thực hiện một yêu cầu một tài nguyên nào đó trên server bằng cách sử dụng HTTP, khi server nhận được yêu cầu sẽ thực hiện xử lý yêu cầu và đáp ứng nội dung tài nguyên cần yêu cầu(nếu có) cho client

Hình 1.1 Mô hình web server

Hiện nay có nhiều cách để xây dựng và chạy một web server được phân loại bằng ngôn ngữ sử dụng, xử lý trên web server bao gồm:

Web server PHP sử dụng ngôn ngữ lập trình PHP để xử lý các yêu cầu từ client và MySQL để lưu trữ cơ sở dữ liệu Ưu điểm của web server PHP là: Sử dụng ngôn ngữ lập trình PHP là một ngôn ngữ mã nguồn mở, rất phổ biến và dễ dàng viết

mã Bên cạnh đó là sử dụng hệ quản trị cơ sở dữ liệu MySQL là một quản trị cơ sở

dữ liệu dễ quản lý, tốc độ xử lý cao và dễ dàng sử dụng Tuy nhiên còn một số

Trang 9

chạy được trên ứng dụng web Hệ quản trị cơ sở dữ liệu MySQL bảo mật chưa cao, quán trình phục hồi chậm chạp, không hỗ trợ truy vấn con và các thủ tục lưu trữ, bẫy lỗi, …

Web server Java sử dụng ngôn ngữ java để xử lý các yêu cầu từ client và Oracle Database để lưu trữ cơ sở dữ liệu Ưu điểm của web server Java là: sử dụng ngôn ngữ lập trình Java là một ngôn ngữ mã nguồn mở, rõ ràng và tách biệt, dễ dàng viết mã, ngôn ngữ hướng đối tượng rõ ràng, nhiều thư viên hỗ trợ lập trình Hệ quản trị cơ sở dữ liệu sử dụng là Oracle Database là một hệ quản trị cơ sở dữ liệu lớn, được tích hợp các công cụ quản trị, tính bảo mật cao và thời gian đáp ứng nhanh Ngoài những ưu điểm trên thì Web server Java cũng có những nhược điểm như: ngôn ngữ lập trình java còn chập chạp, cần phải cấu hình nhiều để có thể chạy tốt, hệ quản trị cơ sở dữ liệu Oracle chưa được phổ biến, phí bản quyền tương đối cao, không tương thích với các công nghệ của Microsoft

Web server Net sử dụng ngôn ngữ lập trình C# để xử lý các yêu cầu từ client và SQLServer để lưu trữ cơ sở dữ liệu Ưu điểm của web sercer Net là: sử dụng ngôn ngữ lập trình C# là ngôn ngữ lập trình đơn giản hướng đối tượng, rõ ràng, tách biệt, mạnh mẽ, dễ dàng viết mã, nhiều thư viện hỗ trợ lập trình Hệ quản trị cơ sở dữ liệu hay được sử dụng là SQLServer là một hệ quản trị cơ sở dữ liệu lớn, mạnh mẽ, cấu trúc chặt chẽ, duy nhất, tính bảo mật cao, dễ dàng sử dụng Web server Net còn có một số nhược điểm như: ngôn ngữ C# chỉ hỗ trợ trên môi trường windown, SQLServer bảo mật cao nên phải cấu hình chính sác mới có thể sử dụng

Từ những ưu điểm và nhược điểm kể trên của ba cách xây dựng web server

em chọn cách xây dựng web server trên nền ASP.Net sử dụng ngôn ngữ lập trình C# để viết mã và hệ quản trị cơ sở dữ liệu SQLServer 2005 để lưu trữ dữ liệu

Để thực hiện các truy vấn cơ sở dữ liệu trong SQLServer để xử lý và gửi phản hổi cho client em sử dụng cộng nghệ LINQ LINQ (Language Integrated Query) là một thư viện cung cấp cho ngôn ngữ lập trình C# và Visual Basi Thư viện này cung cấp khả năng truy vấn database ngay trên ngôn ngữ lập trình Khi sử dụng, LinQ sẽ mô phỏng lại cơ sở dữ liệu của bạn và lưu trong trương trình, sau đó

Trang 10

mỗi thực thể sẽ được xây dựng thành mỗi class như mô hình MVC, từ đó ta có thể truy xuất database thông qua những class đó.LINQ có thể viết truy vấn cơ sở dữ liệu cho rất nhiều các đối tượng, thực thể dữ liệu từ database.Công nghệ này giúp giảm gánh nặng thao tác trên nhiều ngôn ngữ lập trình và cải thiện năng suất lập trình LINQ to SQL là một phiên bản hiện thực hóa của O/RM (object relational mapping)

có bên trong NET Framework 3.5, nó cho phép mô hình hóa một cơ sở dữ liệu dùng các lớp NET LINQ to SQL hỗ trợ đầy đủ transaction, view và các stored procedure (SP) Nó cũng cung cấp một cách dễ dàng để thêm khả năng kiểm tra tính hợp lệ của dữ liệu và các quy tắc vào trong mô hình dữ liệu của bạn

1.2 Công nghệ phát triển ứng dụng android

1.2.1 Giới thiệu chung về hệ điều hành android

Android là một nền tảng mã nguồn mở toàn diện được thiết kế cho các thiết

bị di động Nó là sự liên minh giữa ông lớn Google và Open Handset Alliance – các tập đoàn sản xuất thiết bị cầm tay nổi tiếng như Intel, SamSung, Toshiba… Với mục tiêu là tăng tốc việc đổi mới trong di động và cung cấp cho người tiêu dung nhiều tiện ích phong phú, ít tốn kém Android chính là công cụ để làm điều đó

Android là một nền tảng mã nguồn mở, toàn bộ ngăn xếp từ các module cấp thấp của Linux đến tất cả các thư viện gốc và tử các ứng dụng khung cho đến các ứng dụng hoàn chỉnh là hoàn toàn mở

Trong lịch sử phát triển, ban đầu Android thuộc sở hữu của công ty Android Inc Sau đó được Google mua lại vào năm 2005 và bắt đầu xây dựng Android Platform Cuối năm 2007 liên minh Open HandsetAlliance được thành lập và được công bố, Android chính thức trở thành mã nguồn mở Phiên bản đầu tiên được phát hành vào tháng 11 năm 2007

Trang 11

1.2.2 Kiến trúc của android

Hình 1.2 Cấu trúc stack hệ thống Android

a, Tầng ứng dụng

Đây là lớp ứng dụng giao tiếp với người dùng, bao gồm các ứng dụng như: Các ứng dụng cơ bản được cài đặt đi liền với hệ điều hành như: gọi điện thoại (phone), quản lý danh bạ (contacts), duyệt web (browser), nhắn tin (sms), lịch làm việc (calendar), đọc email (email-client), bản đồ (map), quay phim chụp ảnh (camera)…

Các ứng dụng được cài thêm như các phần mềm (stock), các trò chơi (game),

từ điển, …

Các chương trình có các đặc điểm là:

 Viết bằng Java, phần mở rộng là apk

 Khi mỗi ứng dụng được chạy, nó có phiên bản Virtual Machine được dựng lên phục vụ cho nó Nó có thể là một Active Program: chương trình có giao diện với người sử dụng hoặc là một background: chương trình chạy nền hay là dịch vụ

 Android là hệ điều hành đa nhiệm, điều đó có nghĩa là trong cùng một thời điểm, có thể có nhiều chương trình chạy một lúc, tuy nhiên, với mỗi ứng dụng thì

có duy nhất một thực thể (instance) được phép chạy mà thôi Điều đó có tác dụng hạn chế sự lạm dụng tài nguyên, giúp hệ thống hoạt động tốt hơn

Trang 12

 Các ứng dụng được gán số ID của người sử dụng nhằm phân định quyền hạn khi sử dụng tài nguyên, cấu hình phần cứng và hệ thống

Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành di động khác, android cho phép một ứng dụng của bên thứ ba được phép chạy nền

 XMPP Service: Cung cấp công cụ để liên lạc trong thời gian thực

 Location Manager: Cho phép xác định vị trí của điện thoại dựa vào hệ thống định vị toàn cầu GPS và Google Maps

 Window Manager: Quản lý việc xây dựng và hiển thị các giao diện người dùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng

 Notication Manager: Quản lý việc hiển thị các thông báo ( như báo có tin

nhắn,có email mới….)

c, Library

Android bao gồm một tập hợp các thư viện C/C++ được sử dụng bởi nhiều thành phần khác nhau trong hệ thống Android Điều này được thể hiện thông qua

nền tảng ứng dụng Android Một số các thư viện cơ bản gồm:

 Hệ thống thư viện C : triển khai BSD-derived có nguồn gốc từcáchệ thống

thư việnchuẩnC(libc), được sử dụng chỉ bởi hệ điều hành

 Media Libraries– Dựa trên gói Video OpenCORE; cácthư việnhỗ

trợphátvàghi âmcủacác định dạng âm thanh và video phổ biến, cũng như cácfilehình ảnhtĩnh, bao gồm MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG

Trang 13

 Surface Manager– Quản lý việc truy xuất vào hệ thống hiển thị

 LibWebCore- Đây là thành phần để xem nội dung trên web, được sử

dụng để xây dựng phần mềm duyệt web (Android Browse) cũng như để các ứng dụng khác có thể nhúng vào Nó cực kỳ mạnh, hỗ trợ được nhiều công nghệ mạnh mẽ như HTML5, JavaScript, CSS, DOM, AJAX

 SGL– Các cơ sở công cụ đồ họa 2D

 3D libraries- Thực hiện dựa trên OpenGL ES 1.0 APIs; Thư viện sử dụng

hoặc là tăng tốc phần cứng 3D (nếu có) hoặc bao gồm tối ưu hóa phần mềm3D

 SQLite- Hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng

d, Android Runtime

Phần này chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java

có thể hoạt động Phần này có 2 bộ phận tương tự như mô hình chạy Java trên máy tính thường Thứ nhất là các thư viện lõi (Core Library) , chứa các lớp như JAVA

IO, Collections, File Access Thứ hai là một máy ảo java (Dalvik Virtual Machine) Mặc dù cũng được viết từ ngôn ngữ Java nhưng một ứng dụng Java của hệ điều hành android không được chạy bằng JRE của Sun (nay là Oracle) (JVM) mà là chạy bằng máy ảo Dalvik do Google phát triển

e, Linux kernel

Hệ điều hành android được phát trển dựa trên hạt nhân linux, cụ thể là hạt nhân linux phiên bản 2.6, điều đó được thể hiện ở lớp dưới cùng này Tất cả mọi hoạt động của điện thoại muốn thi hành được thì đều được thực hiện ở mức cấp thấp ở lớp này bao gồm quản lý bộ nhớ (memory management), giao tiếp với phần cứng (driver model), thực hiện bảo mật (security), quản lý tiến trình (process)

Trang 14

 USB driver : Quản lý hoạt động của các cổng giao tiếp USB

 Keypad driver : Điều khiển bàn phím

 Wifi Driver : Chịu trách nhiệm về việc thu phát sóng wifi

 Audio Driver : điều khiển các bộ thu phát âm thanh, giải mã các tính hiệu dạng audio thành tín hiệu số và ngược lại

 Binder IPC Driver : Chịu trách nhiệm về việc kết nối và liên lạc với mạng

vô tuyến như CDMA, GSM, 3G, 4G, E để đảm bảo những chức năng truyền thông được thực hiện

 M-System Driver : Quản lý việc đọc ghi lên các thiết bị nhớ như thẻ SD, flash

 Power Madagement : Giám sát việc tiêu thụ điện năng

1.2.3 Công nghệ phát triển ứng dụng android

Hiện nay, trên thực tế tồn tại ba công nghệ phát triển ứng dụng cho hệ điều hành android gồm: sử dụng java thuần túy để phát triển ứng dụng, sử dụng C++ để phát triển ứng dụng game, sử dụng công nghệ Cross platform hoặc Hybrid để viết ứng dựng từ một ngôn ngữ có thể chạy trên nhiều nền tảng hệ điều hành khách nhau

Sử dụng java thuần để phát triển ứng dụng android là công nghệ viết ứng dụng cơ bản và được google khuyên sử dụng Vì đây là nền tảng cơ bản của android, việc biên dịch để thực thi ứng dụng trên hệ điều hành android đã được tích hợp và tương thích trong các phần mềm lập trình Đa số các ứng dụng trên android hiện nay đều được viết từ nền tảng này Ngoài ra nền tảng này còn được google và các nhà phát triển ứng dụng liên tục cập nhật những bộ thư viện mới hỗ trợ người lập trình rất tốt Những phần mềm sử dụng nền tảng công nghệ này như: Android Studio, Elclipse,…

Sử dụng C++ để phát triển ứng dụng game là công nghệ tận dụng tốc độ xử

lý nhanh và tối ưu bộ nhớ của ngôn ngữ C++ để phát triển các ứng dụng game Với công nghệ này người lập trình sẽ viết mã trên C++ sau đó sử dụng công cụ NDK để chuyển đổi mã sang java để chạy trên hệ điều hành android

Sử dụng công nghệ Cross platform hoặc Hybrid là một cách tiếp cận mới cho các ứng dụng trên di động Với công nghệ này, ứng dụng chỉ cần viết một lần có thể

Trang 15

chạy được trên nhiều hệ điều hành khác nhau Công nghệ này sử dụng một số ngôn ngữ như js (HTML5), C#(unity,xamarin) …

 Cùng với sự tìm hiểu và những hiểu biết của mình về các công nghệ phát triển ứng dụng cho android thì em lựa chọn công nghệ sử dụng java thuần để phát triển ứng dụng trên android của đề tài Vì đây là nền tảng được hỗ trợ rất nhiều từ google nhất là từ khi phần mềm lập trình Android Studio của hãng được phát hành Bên cạnh đó thư viện hỗ trợ được viết bởi các hãng cũng khá phong phú và tiện dụng Tài liệu hướng dẫn sử dụng và học tập trên nền tảng này cũng rất nhiều

1.3.4 Công nghệ giao tiếp giữa ứng dụng android và web server

Đề tài thực hiện của em gồm hai thành phần chính là server và client trên android vì vậy mà vấn đề làm sao để ứng dụng android có thể hiểu và giao tiếp qua lại với web server là một trong những vẫn đề then chốt của đề tài Công nghệ thông dụng, phổ biến và dễ dàng để kết nối truyền thông giữa client và server là HTTP (Hypertext Transfer Protocol) Đây là giao thức chạy trên nền web dùng để truyền tải nội dung giữa web server và client Cơ chế hoạt động chính của HTTP là Requet

và Response Client gửi Request đến cho server, server xử lý và trả về Response cho client Giao thức này sẽ đảm bảo vấn đề kết nối của ứng dụng client android với web server Vấn đề làm sao để client và server hiểu nhau thì hiện nay có một số công nghệ hỗ trợ vấn đề này như: JSON, SOAP, WSDL, …

- JSON: JSON (JavaScript Object Noattion) là một định dạng hoán vị dữ liệu nhanh Chúng dễ dàng cho chúng ta đọc và viết Dễ dàng cho thiết bị phân tích và phát sinh Chúng là cơ sở dựa trên tập hợp của Ngôn Ngữ Lập Trình JavaScript, tiêu chuẩn ECMA-262 phiên bản 3 - tháng 12 năm 1999 JSON là một định dạng kiểu text mà hoàn toàn độc lập với các ngôn ngữ hoàn chỉnh, thuộc họ hàng với các ngôn ngữ họ hàng C, gồm có C, C++, C#, Java, JavaScript, Perl, Python, và nhiều ngôn ngữ khác Những đặc tính đó đã tạo nên JSON một ngôn ngữ hoán vị dữ liệu lý tưởng JSON có định dạng đơn giản, dễ dàng sử dụng và truy vấn hơn XML rất nhiều nên tính ứng dụng của nó hiện nay rất là phổ biến, theo tôi thì trong tương lai tới trong các ứng dụng sẽ sử dụng nó là đa số JSON được xây dựng trên 2 cấu trúc:

Trang 16

 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à một đối tượng (object), bản ghi (record), cấu trúc (struct), từ điển (dictionary), bảng băm (hash table), danh sách khoá (keyed list), hay mảng liên hợp

 Là một tập hợp các giá trị đã được sắp xếp Trong hầu hết các ngôn ngữ, thì được nhận thấy như là một mảng, véc tơ, tập hợp hay là một dãy sequence

Đây là một 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 một hình thức nào đó

- SOAP – Một tiêu chuẩn của W3C, là giao thức sử dụng XML để định nghĩa

dữ liệu dạng thuần văn bản (plain text) thông qua HTTP SOAP là cách mà Web Service sử dụng để truyền tải dữ liệu Vì dựa trên XML nên SOAP là một giao thức không phụ thuộc platform cũng như bất kì ngôn ngữ lập trình nào

- Một thông điệp SOAP được chia thành hai phần là header và body Phần header chỉ ra địa chỉ Web Service, host, Content-Type, Content-Length tương tự như một thông điệp HTTP

Trang 17

a) Cách gọi Web Service trong Android

- Để gọi được WebService trong Android ta phải có bộ thư viện KSOAP

- Các tham số cần có khi gọi WebService:

+INTERNET:

+ URL:

+ METHOD_NAME:

Trang 18

b) Cách lấy dữ liệu từ Web Service dưới dạng json và xml trong Andoid

Bước 1: tạo bảng cơ sở dữ liệu

Bước 2 : Tạo một thư mục tên là webservice, đặt trong thư mục gốc của

website Tiếp đến trong thư mục webservice, tạo 1 file đặt tên là connection.php File này có trách nhiệm tạo kết nối đến cơ sở dữ liệu

Trang 19

Bước 3: Viết code php xuất dạng json như sau

Bước 4: Viết code android load dữ liệu hiện thị

Trang 20

CHƯƠNG 2: KHẢO SÁT PHÂN TÍCH THIẾT KẾ 2.1 Nhu cầu sử dụng phần mềm đặt món ăn trực tuyến ở Việt Nam và nước ngoài hiện nay

Trên thị trường ẩm thực, mô hình kinh doanh gọi món trực tuyến đang nở rộ trong những năm gần đây chính là cánh cửa cơ hội tiếp cận thị trường thương mại điện tử đầy tiềm năng

Theo số liệu từ Báo cáo thương mại điện tử 2013 của Bộ Công Thương, dự báo doanh số thương mại điện tử B2C của Việt Nam sẽ tăng trưởng 80% từ 2.2 tỷ USD (2013) đến 4 tỷ USD trong năm 2015 Với tốc độ tăng trưởng vượt bậc này, cho đến nay, thương mại điện tử không chỉ nổi lên như một trào lưu mà còn là xu hướng tất yếu xuất hiện ở nhiều lĩnh vực khác nhau tại Việt Nam

Sự nở rộ của hai mô hình kinh doanh như trang web gọi món (gọi món ăn đến bất cứ nơi nào vào bất kỳ thời gian nào) và đặt chỗ nhà hàng trực tuyến (đặt chỗ trước khi đến nhà hàng thưởng thức) cũng góp phần thay đổi quy trình phân phối hàng hoá và phương thức kinh doanh trên thị trường ẩm thực Hai loại hình kinh doanh này đều hoạt động trên cơ sở hệ thống trang web có liên kết hợp tác với nhiều nhà hàng trong khu vực và khách hàng có thể sử dụng dịch vụ trực tuyến tùy theo mục đích của mình

Ưu điểm chung của hai dịch vụ này là khách hàng có thể tham khảo nhiều lựa chọn từ một trang web duy nhất nhằm tiết kiệm thời gian tìm kiếm, theo dõi ưu đãi của nhà hàng thường xuyên và tiếp cận thêm nhiều lựa chọn ẩm thực mới

Nghiên cứu tiến hành trên 474 đối tượng người tiêu dùng Mỹ (2011) của Tiến sĩ Sheryl E Kimes ghi nhận hơn một nửa đối tượng tham gia khảo sát đã từng đặt nhà hàng trực tuyến, 60% trong số này đặt chỗ nhà hàng qua một hệ thống của trang web đặt chỗ trực tuyến thay vì đặt trực tiếp tại trang web của nhà hàng

Những đối tượng tham gia phỏng vấn này cũng xem các trang web trực tuyến là công cụ hữu ích để tìm kiếm, tham khảo thông tin và chọn lựa nhà hàng Tại Việt Nam, trong khi các trang đặt chỗ nhà hàng trực tuyến vẫn còn nhen nhóm

Trang 21

tiếp cận thị trường, mô hình trang web gọi món trực tuyến đã bắt đầu nở rộ mạnh

mẽ với những cái tên như foodpanda.vn, eat.vn và chonmon.vn

2.2 Phần mềm ngoài thị trường

2.2.1 Food panda

Cũng giống như các mô hình kinh doanh thương mại điện tử khác, giá trị cốt lõi của mô hình kinh doanh này là xây dựng hệ thống kết nối khách hàng và nhà hàng trên một nền tảng trực tuyến nhằm mang đến sự tiện lợi và đa dạng cho hai bên đối tác

Ông Salvador Martinez, Giám đốc điều hành foodpanda Việt Nam, Đồng sáng lập và giám đốc điều hành của công ty đặt hàng thức ăn trực tuyến foodpanda

chia sẻ “Ý tưởng của mô hình kinh doanh dịch vụ đặt hàng thức ăn trực tuyến được hình thành từ nhu cầu của thị trường Về phía nhà hàng, trang dịch vụ đặt hàng thức ăn trực tuyến là kênh phân phối và tiếp thị hiệu quả giúp họ tiếp cận khách hàng mới ở một địa bàn rộng lớn hơn đồng thời nâng cao chất lượng dịch vụ khách hàng bằng việc bỏ ra một chi phí hợp lý cho đối tác Các trang đặt hàng thức ăn trực tuyến sẽ cung cấp cho nhà hàng một hệ thống cơ sở hạ tầng có sẵn, mạng lưới phân phối và công cụ để triển khai dịch vụ giao hàng tận nơi một cách hiệu quả và kinh tế hơn Về phía khách hàng, gọi món trực tuyến mang đến cho khách hàng phương thức trải nghiệm ẩm thực tiện lợi, dễ dàng mà vẫn thoả mãn được nhu cầu tìm kiếm sự mới lạ của thực khách”

Mô hình kinh doanh trang web đặt hàng thức ăn trực tuyến của foodpanda (Nguồn: http://kinhdoanh.vnexpress.net/)

Trang 22

Có thể thấy, gọi món trực tuyến chính là cánh cửa dẫn lối các đối tác ẩm thực gia nhập thị trường thương mại điên tử vốn đang làm mưa làm gió trên nhiều lĩnh vực khác như thời trang, điện tử, công nghệ và bán lẻ

Trên sân chơi trực tuyến, khách hàng sở hữu một công cụ tương tác trực tiếp với nhà hàng Họ có thể đưa ra nhận xét, đánh giá về chất lượng dịch vụ và món ăn trên cùng một nền tảng trực tuyến mà nhà hàng đang kinh doanh Bên cạnh đó, các thông tin về món ăn, giá cả và chất lượng dịch vụ của nhà hàng cũng được phổ biến rộng rãi với cộng đồng Điều này tạo cơ hội cho các nhà hàng nâng cao chất lượng dịch vụ và món ăn của mình để “ghi điểm” trong mắt người tiêu dùng

Mặt khác, sở hữu một lượng lớn cơ sở dữ liệu, các trang gọi món trực tuyến

có thể hoàn thành tốt vai trò định hướng thị trường ẩm thực thông qua nguồn cơ sở

dữ liệu hữu ích về thói quen và thị hiếu tiêu dùng của khách hàng Điều này sẽ giúp thúc đẩy và hoàn thiện quan hệ cung- cầu trên thị trường ẩm thực

2.2.2 Vietnammm

Vietnammm- một trong những đơn vị tiên phong trong thị trường đặt món ăn trực tuyến

Trang 23

“Nắm bắt xu hướng phát triển và nhu cầu sử dụng dịch vụ đặt món ăn trực tuyến, vào tháng 2.2011, thị trường thương mại điện tử Việt Nam đón chào thương hiệu Vietnammm, 1 trong những thương hiệu Việt Nam đầu tiên mạnh dạn đầu tư vào lĩnh vực nhiều thách thức này Trang web hiện có hơn 400 nhà hàng và vẫn đang trong quá trình phát triển, với hơn 20,000 đơn hàng mỗi tháng Theo chia sẻ của ông Jochem Lisser, CEO của Vietnammm, trong thời điểm mới ra mắt thị trường, phần lớn khách hàng là người ngoại quốc tại Việt Nam “

Nhưng phân khúc khách hàng hiện đã chuyển dịch sang thị phần khách hàng Việt Nam, những người đang có thói quen tiêu dùng online nói chung và đặt món

ăn qua mạng nói riêng Vietnammm cũng như nhiều doanh nghiệp thương mại điện

tử khác, bắt đầu kinh doanh tại thành phố Hồ Chi Minh với lợi thế cạnh tranh của 1 thành phố trẻ, năng động Vietnammm đang mở rộng tại Hà Nội và Đà Nẵng, tạo thành

3 thị trường năng động, tập trung đông khách hàng và giàu tiềm năng phát triển

2.2.3 Eat.vn

eat.vn – được bắt đầu từ phần khúc khách hàng nước ngoài tại Việt Nam có nhu cầu đặt món ăn

Trang 24

“Chỉ vài tháng sau khi Vietnammm ra mắt, thị trường đặt món ăn trực tuyến trở nên sôi động hơn với sự tham gia của eat.vn Eat.vn đang hợp tác với hơn 500 nhà hàng và tiếp tục mở rộng hợp tác Theo chia sẻ của ông Anders Palm, nhà sáng lập của Eat.vn, tổng doanh thu tại Hà Nội và Tp Hồ Chí Minh đạt khoảng “ vài chục tỷ đồng” mỗi tháng và đang duy trì đà phát triển theo hướng tăng tốc Năm bắt nhu cầu thị trường đặt món ăn trực tuyến còn nhiều tiềm năng, VC Corp

đã nhanh nhạy và mua lại Eat.vn trong thương vụ trị giá 2,6 tỷ đồng vào năm 2012 Thị trường phát triển của Eat.vn tập trung vào Hà Nội và Tp Hồ Chí Minh, với đối tượng chính là người nước ngoài tại Việt Nam.”

Trang 25

chonmon.vn cho người Việt đã tận dụng tối đã tiềm lực tài chính và khả năng am hiểu tâm lý và xu hướng tiêu dùng trong nước để phát triển thương hiệu tại thị trường giàu tiềm năng và không kém phần thách thức này Hiện goimon.vn đang duy trì sức ảnh hưởng tại Hà Nội và Tp Hồ Chí Minh với hơn 200 cửa hàng

2.2.5 Kết Luận

Với những website đang có trên thị trường chúng ta có thể thấy thị trường đặt món trực tuyến giàu tiềm năng nhưng cũng không ít thách thức, để tăng sức cạnh tranh và thiết lập vị thế riêng, mỗi thương hiệu sẽ cần nỗ lực không ít Đặc biệt các website trên thị trường chưa chú ý đến hiện này là công nghệ, công nghệ phát triển không ngừng đã làm thay đổi thói quen của người sử dụng máy tính và mạng Internet để tìm kiếm thông tin, dịch vụ, sản phẩm Bây giờ, người dùng có thể không ngồi trước màn hình máy tính để tìm kiếm sản phẩm hay dịch vụ mà đã chuyển sang các thiết bị cầm tay như smartphone hay tablet để lướt web nhiều hơn Điều đó cho thấy việc website của bạn rất cần hỗ trợ giao diện di động, như thế khách hàng mới có thể truy cập vào thường xuyên và dễ dàng mọi lúc mọi nơi Tuy vậy, nhiều người không nhận ra rằng họ phải điều chỉnh trang web của mình cho phù hợp với sự thay đổi này Đây là một số bất lợi cho bạn nếu không có một website dành cho các thiết bị di động

“Theo tiết lộ từ một nghiên cứu của Google, khi người dùng điện thoại được hỏi về những gì họ mong đợi khi lướt web trên các thiết bị di động của họ thì:

- 81% người trả lời muốn tăng tốc độ duyệt web cao hơn

- 74% trong số họ muốn trang web của mình phải dễ dàng được truy cập và hoạt động hiệu quả,

- 64% mong muốn tìm kiếm thông tin liên lạc hoặc thông tin sản phẩm một cách dễ dành

- 50% muốn có khả năng đặt hàng liên tục

Nếu bạn không có một trang web hỗ trợ phiên bản mobile đáp ứng được những nhu cầu kể trên thì chẳng khác nào bạn nói với các khách hàng đang sử

Trang 26

dụng trang web của cửa hàng mình rằng: “Dịch vụ khách hàng không phải là ưu tiên của tôi”

Trong thời đại bùng nổ CNTT như hiện nay, khách hàng luôn luôn đúng, còn bạn đang sai khi nghĩ rằng việc sở hữu 1 website không hỗ trợ giao diện di động không phải là một vấn đề lớn Thực tế thì việc sở hữu 1 website không tối ưu cho thiết bị di dộng có rất nhiều nhược điểm.”

Khi khách hàng đang ở trên địa bàn của mình, họ sẽ biết được những địa điểm mà họ có thể thưởng thức các món ăn mà không cần phải tham khảo trên Internet Thế nhưng nếu họ đang ở một nơi xa lạ, họ sẽ có xu hướng tìm kiếm các quán ăn thông qua công cụ tìm kiếm trên di động trước để tìm kiếm những món ăn hợp khẩu vị Với 4 ứng dụng ở trên, mới chỉ đáp ứng được website trên Internet, chưa có công cụ tìm kiếm trên di động

Nhiều nhà chuyên gia đã nhận định, nhìn thấy sự thay đổi trong thái độ của khách hàng Việt Họ đánh giá cao sự tiện lợi của thực phẩm đặt hàng trực tuyến và phát hiện rằng, họ sẽ phải trả cùng một mức giá để ăn món ăn yêu thích của họ ở nhà Nhiệm vụ của chúng ta là nghĩ ra cách đặt hàng trực tuyến phù hợp với lối sống năng động của giới trẻ Việt hiện nay Hiện nay, các phần mềm ứng dụng đặt món ăn trực tuyến chủ yếu là ứng dụng của nước ngoài thâm nhập vào Việt Nam và chưa có ứng dụng đặt món ăn trực tuyến trên di động cho người Việt bằng ứng dụng

của người Việt Nên em đã đề xuất đề tài “Xây dựng phần mềm đặt món ăn trực tuyến HMLFOOD cho điện thoại di động trên nền tảng hệ điều hành Android”

2.2.6 Thị trường kinh doanh món ăn trực tuyến

“Theo Foodpanda tại Việt Nam, năm 2014, số đơn đặt hàng của Foodpanda

đã tăng 800% Hiện tốc độ tăng trưởng mỗi tháng đạt từ 20-25% Trong đó, đơn

đặt hàng thông qua ứng dụng điện thoại Foodpanda tăng trưởng mỗi ngày, bởi sự thuận tiện, giúp mọi người có thể gọi món ở bất cứ nơi đâu Foodpanda nhanh chóng trở thành thương hiệu duy nhất tại Việt Nam triển khai dịch vụ tại 5 thành

Trang 27

phố lớn: TP.HCM, Hà Nội, Cần Thơ, Nha Trang, Đà Nẵng, với hơn 1.000 nhà hàng

Nổi tiếng và rầm rộ trên toàn cầu và nhanh chóng lấy được vị thế tại Việt Nam, song Foodpanda lại gia nhập thị trường gọi món online của Việt Nam muộn hơn

cả Một trong những thương hiệu Việt đầu tiên đầu tư vào lĩnh vực nhiều thách thức này là Vietnammm.vn Với trang web hiện có hơn 1.000 nhà hàng, hơn 35.000 đơn hàng mỗi tháng, Việt Nam đang mở rộng tại Hà Nội, Đà Nẵng, TP.HCM, tạo thành 3 thị trường năng động, tập trung đông khách hàng và giàu tiềm năng phát triển

Với vị thế đáng gờm đó, năm 2013, Vietnammm lọt vào mắt xanh của một trong những website cung cấp thực phẩm lớn nhất trên thế giới Takeaway.com (Hà Lan) Họ mua Vietnammm để bước chân vào thị trường phân phối thực phẩm của Việt Nam Ngược lại, Vietnammm tận dụng lợi thế nền tảng của Takeaway.com, bao gồm các ứng dụng điện thoại iOS, Android và Windows, để đa dạng hóa dịch vụ với khách hàng

Đây là bước đột phá đầu tiên của Takeaway.com bên ngoài châu Âu Trong khi đó, Foodpanda, với sự hậu thuẫn tài chính mạnh từ Rocket Internet, đang không ngừng quảng cáo hình ảnh để chinh phục Việt Nam - một trong những thị trường được xác định là quan trọng nhất ở Đông Nam Á

Dĩ nhiên, điều đó với cả Takeaway.com và Foodpanda không hề dễ dàng, khi

họ gặp phải đối thủ trong nước là VC Crop Năm 2012, VC Corp bành trướng trên thị trường đặt món trực tuyến khi chi 2,6 tỷ đồng mua lại Eat.vn (được thành lập năm 2011 bởi Anders Palm, người Thụy Điển sống tại TP.HCM từ năm 2007), để phát triển dịch vụ cho người nước ngoài và đặt món trực tuyến.”

(Nguồn: http://kinhdoanh.vnexpress.net/)

Trang 28

2.3 Khảo sát hệ thống

2.3.1 Mô hình đặt món ăn trực tuyến của khách hàng

Hình 2.1 Mô hình đặt món của khách hàng

 Khách hàng lựa chọn nhà hàng – món ăn trên website và đặt món trực tiếp

 Website gửi thông tin đến nhà hàng (fax, email, điện thoại…)

 Nhà hàng nhận thông tin, chế biến món ăn, giao hàng và thu tiền từ khách hàng (Hoặc có thể Website sẽ có đội ngũ thu tiền và giao hàng)

 Nhà hàng trả hoa hồng trên mỗi order cho website

Có ba chủ thể chính tham gia trong mô hình này, bao gồm khách hàng, nhà hàng và website trong đó Multi-restaurant website đóng vai trò trung gian Trong kinh doanh hay trong bất kỳ sự hợp tác nào, muốn thành công đều phải dựa trên nguyên tắc win-win, tức là ai cũng phải có phần Ở đây cũng thế, cả 3 bên đều thu được lợi ích từ mô hình này:

 Với khách hàng là sự tiện lợi khi chỉ cần với một vài click chuột là đã có người mang đồ ăn đến tận cửa nhà

Trang 29

 Với nhà hàng là cơ hội tăng doanh thu, tăng database khách hàng

 Với Multi-restaurant website: nhận được hoa hồng trên mỗi order thành công

Lưu ý:

Với nhà hàng, vấn đề đầu tiên bạn sẽ phải chuẩn bị kế hoạch thật cụ thể để ứng phó với trường hợp quá tải, số lượng order có thể tăng đột biến khi bắt đầu tham gia trên các trang Multi-restaurant website (cũng tương tự vấn đề mà các đơn

vị cung cấp dịch vụ tham gia trên các trang mua chung đang gặp phải) Hãy thử đặt câu hỏi xem liệu nhà hàng của bạn có thể đáp ứng một số lượng lớn các order mà vẫn đảm bảo chất lượng món ăn khi giao đến tay khách hàng hay không? Dịch vụ

ăn uống vốn rất nhạy cảm, khách hàng đã không hài lòng một lần thì họ khó có thể đến với bạn lần thứ 2

2.3.2 Khảo sát quy trình ship hàng của nhà hàng

Tên đơn vị: Pizza online thái nguyên

- Địa chỉ: Ngã Ba điểm hẹn

- Điện thoại: 01646626067

Mô tả hoạt động hoạt động ship hàng:

- Một ca làm việc sẽ có 2 người phục vụ, 2 nhân viên ship hàng, 1 thu ngân, một người là đồ ăn

- Khi khách hàng gọi điện có 2 trường hợp:

+ Trường hợp 1: Gọi điện đặt hàng yêu cầu ship đồ ngay

 Khi nhân viên nhận được điện thoại ship hàng xong -> Ghi thông tin địa chỉ khách hàng và đồ khách hàng đặt-> Gửi thông tin cho người làm đồ ăn -> Tính tiền với thu ngân -> Ship đồ đến địa điểm

 Khi ship đồ xong về đến cửa hàng -> Thanh toán tiền với thu ngân -> Xóa thông tin khách hàng đã đặt

 Kết thúc quá trình ship đồ với khách hàng đó

+ Trường hợp 2: Gọi điện đặt hàng nhưng hẹn thời gian giao hàng

Trang 30

 Khi nhân viên nhận được điện thoại ship hàng xong -> Ghi thông tin địa chỉ khách hàng và đồ khách hàng đặt-> Gửi thông tin cho người làm đồ ăn -> Gần đến giờ giao hàng vào lấy đồ giao hàng -> tính tiền với thu ngân -> Ship đồ đến địa điểm

 Khi ship đồ xong về đến cửa hàng -> Thanh toán tiền với thu ngân -> Xóa thông tin khách hàng đã đặt

 Kết thúc quá trình ship đồ với khách hàng đó

- Khi khách hàng đặt đồ ăn qua trang web hoặc FaceBook của cửa hàng:

 Lấy thông tin khách hàng đặt hàng

 Gọi điện xác nhận xem có đúng khách hàng đặt đồ không?

 Thực hiện quy trình như với khách hàng đặt qua điện thoại

- Sau mỗi ngày nhân viên thu ngân sẽ tổng hợp tình hình kinh doanh và báo cáo lại doanh số trong ngày cho chủ cửa hàng

- Nhân viên Ship hàng sẽ tổng hợp lại bao nhiêu lần đi ship đồ và doanh số, báo cáo lại với chủ cửa hàng

Cơ sở hạ tầng :

+ Gồm có 16 bàn trong đó có 1 bàn lớn dành cho nhóm khách hàng khoảng 7-10 người , 9 bàn cỡ vừa dành cho nhóm khách hàng 4 người , 6 bàn cỡ nhỏ dành cho 2 người

+ Nhà hàng có hỗ trợ ghép nhiều bàn với nhau với nhóm khách hàng nhiều người + Có 2 xe để Ship đồ

- Ưu nhược điểm của hệ thống hiện tại: Hệ thống hiện tại của cửa hàng là ghi chép sổ sách nên vẫn còn 1 số bất cập:

+ Sổ sách cồng kềnh, khó khăn trong việc quản lí và theo dõi

+ Chính vì vậy việc xây dựng ứng dụng đặt món ăn trên mobile là giải pháp hiệu quả trong việc phục vụ thực khách cũng như trong quản lí nhà hàng

+ Khi đông khách gây chậm trễ trong phục vụ khiến khách hàng không hài lòng

Sơ đồ vật lí của nhà hàng

Trang 31

Hình 2.2 Sơ đồ vật lý của nhà hàng

Trang 32

* Phiếu yêu cầu :

- Pizza Online Thái Nguyên

Trang 33

2.4 Yêu cầu đặt ra và giải quyết yêu cầu

2.4.1 Yêu cầu đặt ra

Dựa trên ý tưởng, giao diện của những phần mềm em đã khảo sát như phần mềm Foodpanda và khảo sát thực tế, mà em có rút ra một số yêu cầu để xây dựng ứng dụng đặt món ăn trực tuyến HTML_FOOD có những chức năng sau:

- Khi có khách hằng đặt món sẽ báo về ngay tức thì ( tiện lợi cho khách hàng đặt món và cho cửa hàng quản lý khách hàng)

- Hiện thị danh sách khách hàng đặt món ăn

 Tiện lợi cho khách hàng ở công sở, đang bận làm việc không thể ra ngoài ăn

2.4.2 Giải quyết yêu cầu

- Khảo sát cơ sở hạ tầng và mục đích của khách hàng từ đó đề xuất mô hình ứng dụng cho phù hợp

- Phân tích thiết kế ứng dụng

- Thu thập, đọc tài liệu nghiên cứu cách làm việc và lập trình trên nền tảng di động

- Tìm hiểu về Web Service và cách tạo một Web Service bằng PHP MYSQL

- Tạo cơ sở dữ liệu, tiến hành dùng Web Service truy suất đến cơ sở dữ liệu

- Nghiên cứu các thư viện trong Android để lập trình ứng dụng

Trang 34

- Xem danh sách cửa hàng đã đăng ký

- Thêm khu vực cửa hàng được đăng ký

Trang 35

Biểu đồ UC tổng quát:

Hình 2.3 Biểu đồ UC tổng quát

2.5.2 Đặc tả UC

a UC đăng nhập

- Mục đích: Use case dùng để cho phép adminshop đăng nhập vào hệ thống

để có được những quyền hạn mà adminshop có đối với hệ thống

- Tác nhân: admin cửa hàng

- Mô tả chung: Để đăng nhập người quản trị shop đi đến menu và mở giao diện

đăng nhập, sau đó nhập thông tin gồm username và password và nhấn nút đăng nhập Luồng sự kiện chính:

Bảng 2.2: Luồng sự kiện chính UC đăng nhập

Hành động của tác nhân Phản ứng của client Phản ứng của server

1 Chọn giao diện đăng nhập

3 Nhận phản hồi của server

và thông báo kết quả

1 Nhận dữ liệu đăng nhập từ client

2 Kiểm tra dữ liệu đăng nhập

3 Phản hồi kết quả cho client

Trang 36

b, UC đăng ký

- Mục đích: Use case này dùng để cho phép một cửa hàng mới đăng ký một tài khoản với hệ thống để có được những quyền hạn mà chỉ người quản lý cửa hàng

mới có

- Tác nhân: quản trị cửa hàng

- Mô tả chung: Để thực hiện đăng ký người dùng đến menu và mở giao diện đăng nhập sau đó chọn nút đăng ký ( hoặc mở giao diện đăng ký ở menu) Nhập

thông tin hệ thống yêu cầu và nhấn đăng ký

- Luồng sự kiện chính:

Bảng 2.3: Luồng sự kiện chính UC đăng ký

Hành động của tác nhân Phản ứng của client Phản ứng của server

1 Chọn giao diện đăng

nhập

2 Chọn use case đăng ký

3 Nhập thông tin người

c) UC xem danh sách menu

Mục đích: Use case này dùng để tải về danh sách các menu của cửa hàng

hiện có trên server theo một điều kiện cụ thể nào đó hoặc tất cả và hiển thị lên giao

diện màn hình

- Tác nhân: người quản trị cửa hàng

- Mô tả chung: Khi người dùng đăng nhập thì client sẽ gửi dữ liệu tới server

để lấy danh sách dữ liệu yêu cầu và hiển thị lên giao diện cho người dùng

- Luồng sự kiện chính:

Trang 37

Bảng 2.4: Luồng sự kiện chính UC xem danh sách menu

Hành động của tác nhân Phản ứng của client Phản ứng của server

1 Đăng nhập 1 Gửi dữ liệu mà người

dùng yêu cầu cho server

2 Nhận danh sách menu của cửa hàng trả về từ server và hiển thị lên giao diện

1 Nhận dữ liệu được gửi

Mục đích: Use case này dùng để thêm một menu của cửa hàng

- Tác nhân: người quản trị cửa hàng

- Mô tả chung: Khi người dùng click vào nút thêm, hiện ra giao diện thêm menu mới, nhập menu cần thêm vào và click vào nút thêm thì client sẽ gửi dữ liệu lên

server, inset vào cơ sở dữ liệu và hiển thị lên giao diện cho người dùng đã thành công

- Luồng sự kiện chính:

Bảng 2.5: Luồng sự kiện chính UC thêm Menu

Hành động của tác nhân Phản ứng của client Phản ứng của server 1.Click vào nút thêm 1.Gửi dữ liệu mà

người dùng yêu cầu cho server

2.Hiển thị thông báo lên giao diện

1.Nhận dữ liệu được gửi từ client

2.Truy vấn dữ liệu theo yêu cầu

3.Gửi phản hổi lại cho client

e) UC sửa menu

Mục đích: Use case này dùng để sửa một menu của cửa hàng

- Tác nhân: người quản trị cửa hàng

- Mô tả chung: Khi người dùng click vào nút sửa, hiện ra giao diện sửa menu, nhập thông tin cần sửa và click vào nút sửa thì client sẽ gửi dữ liệu lên server,

update vào cơ sở dữ liệu và hiển thị lên giao diện cho người dùng đã thành công

Trang 38

- Luồng sự kiện chính:

Bảng 2.6: Luồng sự kiện chính UC sửa Menu

Hành động của tác nhân Phản ứng của client Phản ứng của server

2 Click vào nút sửa 3 Gửi dữ liệu mà người

dùng yêu cầu cho server

4 Hiển thị thông báo lên giao diện

4 Nhận dữ liệu được gửi

Mục đích: Use case này dùng để xóa một menu của cửa hàng

- Tác nhân: người quản trị cửa hàng

- Mô tả chung: Khi người dùng click vào menu cần xóa, hiện ra thông báo có muốn xóa không, click vào nút xóa thì client sẽ gửi dữ liệu lên server, xóa trên cơ

sở dữ liệu và hiển thị lên giao diện cho người dùng đã thành công

- Luồng sự kiện chính:

Bảng 2.7: Luồng sự kiện chính UC xóa Menu

Hành động của tác nhân Phản ứng của client Phản ứng của server

3 Click vào menu cần

g) UC xem danh sách order

Mục đích: Use case này dùng để tải về danh sách các order của cửa hàng hiện

có trên server theo một điều kiện cụ thể nào đó hoặc tất cả và hiển thị lên giao

diện màn hình

- Tác nhân: người quản trị cửa hàng

Trang 39

- Mô tả chung: Khi người dùng click vào xem danh sách order thì client sẽ gửi dữ liệu tới server để lấy danh sách dữ liệu yêu cầu và hiển thị lên giao diện cho

người dùng

- Luồng sự kiện chính:

Bảng 2.8: Luồng sự kiện chính UC xem danh sách order

Hành động của tác nhân Phản ứng của client Phản ứng của server

4 Click vào nút xem

danh sách order

7 Gửi dữ liệu mà người dùng yêu cầu cho server

8 Nhận danh sách order của cửa hàng trả về từ server và hiển thị lên giao diện

10 Nhận dữ liệu được gửi từ client

11 Truy vấn dữ liệu theo yêu cầu

12 Gửi phản hổi lại cho client

2.5.3 Biểu đồ hoạt động

 Đăng nhập

Hình 2.4 Biểu đồ hoạt động đăng nhập

Ngày đăng: 08/12/2016, 16:54

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Trang web phát triển Android: http://developer.android.com/ Link
[2] Trang web hỏi đáp về android : http://stackoverflow.com/ Link
[3] Trang web chia sẻ kiến thức lập trình: https://duythanhcse.wordpress.com Cùng một số tài liệu khác Link
[1]. Bài giảng lập trình hướng đối tượng – Bộ môn công nghệ phần mềm trường đại học công nghệ thông tin và truyền thông Khác
[2]. Bài giảng hệ quản trị cơ sở dữ liệu SQLserver2012 – Khoa công nghệ thông tin Khác
[3] Trần Vũ Tất Bình Căn bản Android Khác
[1] Mark L. Murphy. Beginning Android Apress Khác
[2] Wei-Meng Lee. Beginning Android Application Development Website Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w