Phần cuối của chương là giới hạn phạm vi thực hiện đề tài trong thời gian của luận văn tốt nghiệp − Chương 2: Cơ sở lý thuyết Nội dung nghiên cứu lý thuyết liên quan đến quá trình thực h
Trang 1MỤC LỤC
Trang 2DANH MỤC HÌNH ẢNH
Hình 10 Biểu đồ tuần tự - Gửi yêu cầu trợ giúp 33
Hình 11 Biểu đồ tuần tự - Nhận yêu cầu trợ giúp 34
Hình 12 Biểu đồ tuần tự - Phản hồi 34
Hình 13 Biểu đồ hoạt động – Đăng ký 35
Hình 14 Biểu đồ hoạt động – Đăng nhập 35
Hình 15 Biểu đồ hoạt động – Quản lý thông tin cá nhân 35
Hình 16 Biểu đồ hoạt động – Chỉnh sửa thông tin cá nhân 35
Hình 17 Biểu đồ hoạt động – Xem địa điểm 36
Hình 18 Biểu đồ hoạt động – Tra cứu địa điểm 36
Hình 19 Biểu đồ hoạt động – Gửi yêu cầu trợ giúp 37
Hình 20 Biểu đồ hoạt động – Phản hồi trợ giúp 37
Hình 21 Biểu đồ lớp 38
Hình 22 Mô hình cơ sở dữ liệu quan hệ 39
Hình 23 Màn hình Home Apps trên Webservice 42
Hình 24 Tạo một Class (Bảng) cho cơ sở dữ liệu 42
Hình 25 Tạo một cột cho bảng 43
Hình 26 Push Notification từ Webservice 43
Hình 27 Sơ đồ kết nối giữa ứng dụng với Webservice 45
Hình 28 Sơ đồ nhận dữ liệu từ Webservice của ứng dụng 46
Trang 3DANH MỤC BẢNG
Trang 4MỞ ĐẦU
Cuộc sống ngày càng phát triển, các nhu cầu dịch vụ về đời sống cũng ngày càng tăng lên Dịch vụ ngày càng nhiều, các hoạt động trong cuộc sống của con người cũng theo đó tăng lên Cơ sở vật chất, giao thông ngày càng phát triển để đáp ứng nhu cầu của con người Trong đó dịch vụ du lịch là ngành thu hút và mang lại nhiều tiềm năng
Nhu cầu du lịch của mọi người ngày càng phổ biến Đặc biệt ngoài các tour
du lịch thì hình thái du lịch cá nhân Với hình thức này chúng ta sẽ được trải nghiệm hoàn toàn theo cách của mình, không bị gò bó bởi các nhà quản lý Đó cũng là nguyên nhân loại hình này đang phát triển một cách nhanh chóng trong đó có Việt Nam
Tuy nhiên hình thức du lịch cá nhân cũng tiềm ẩn một số ít rủi ro Những địa điểm du lịch trên khắp đất nước với vị trí Trong các chuyến đi, xe ô tô và đặc biệt
xe máy là phương tiện được con người lựa chọn để có thể đi tự do khám phá những nơi thâm sơn cùng cốc Song, nó cũng là yếu tố đầu tiên tạo nên rủi ro Tình trạng hỏng xe, tại nạn khi tham gia xảy ra thường xuyên Đặc biệt lại ở những nơi vắng bóng ít người,
Bên cạnh đó, trong thời đại công nghệ bùng nổ, điện thoại di động thông minh không còn xa lạ với mọi người mà đã phổ cập tới mọi người, mọi nhà Hơn thế nữa ứng dụng trên điện thoại di động đã và đang đóng góp không hề nhỏ trong đời sống tiêu dùng của mọi người Điện thoại không đơn thuần là phương tiện liên lạc, mà trở thành một công cụ giải trí hữu ích với nhiều ứng dụng kèm theo Điện thoại giúp chúng ta tìm đường, xác định vị trí nơi ta đang đứng…và còn nhiều lợi ích khác
Từ đó, nhiều lúc, khi đi trên đường, bất chợt xe có sự cố, hay gặp vấn đề gì
đó nhưng mình không biết nơi nào, có ai gần đó hay không và uy tín để gọi sự trợ giúp, đặc biệt là lúc đang có vấn đề cực kỳ quan trọng thì gọi trợ giúp rất quan trọng
và bức thiết
Chính vì vậy, phần mềm trợ giúp khi gặp sự cố trên điện thoại di động với
tên gọi “Người Việt thân thiện” giải quyết vấn đề nêu trên giúp người dùng tìm
kiếm được những người xung quanh và nhận được trợ giúp một cách nhanh chóng
và thuận tiện nhất
Trang 51. TỔNG QUAN ĐỀ TÀI
1 GIỚI THIỆU ĐỀ TÀI
Đề tài “Xây dựng ứng dụng trên di động trợ giúp khách du lịch khi gặp sự cố”
Cuộc sống ngày càng phát triển, các nhu cầu dịch vụ về đời sống cũng ngày càng tăng lên Dịch vụ ngày càng nhiều, các hoạt động trong cuộc sống của con người cũng theo đó tăng lên Cơ sở vật chất, giao thông ngày càng phát triển để đáp ứng nhu cầu của con người Trong đó dịch vụ du lịch là ngành thu hút và mang lại nhiều tiềm năng
Nhu cầu du lịch của mọi người ngày càng phổ biến Đặc biệt ngoài các tour
du lịch thì hình thái du lịch cá nhân Với hình thức này chúng ta sẽ được trải nghiệm hoàn toàn theo cách của mình, không bị gò bó bởi các nhà quản lý Đó cũng là nguyên nhân loại hình này đang phát triển một cách nhanh chóng trong đó có Việt Nam
Tuy nhiên hình thức du lịch cá nhân cũng tiềm ẩn một số ít rủi ro Những địa điểm du lịch trên khắp đất nước với vị trí Trong các chuyến đi, xe ô tô và đặc biệt
xe máy là phương tiện được con người lựa chọn để có thể đi tự do khám phá những nơi thâm sơn cùng cốc Song, nó cũng là yếu tố đầu tiên tạo nên rủi ro Tình trạng hỏng xe, tại nạn khi tham gia xảy ra thường xuyên Đặc biệt lại ở những nơi vắng bóng ít người,
Bên cạnh đó, trong thời đại công nghệ bùng nổ, điện thoại di động thông minh không còn xa lạ với mọi người mà đã phổ cập tới mọi người, mọi nhà Hơn thế nữa ứng dụng trên điện thoại di động đã và đang đóng góp không hề nhỏ trong đời sống tiêu dùng của mọi người Điện thoại không đơn thuần là phương tiện liên lạc, mà trở thành một công cụ giải trí hữu ích với nhiều ứng dụng kèm theo Điện thoại giúp chúng ta tìm đường, xác định vị trí nơi ta đang đứng…và còn nhiều lợi ích khác
Từ đó, nhiều lúc, khi đi trên đường, bất chợt xe có sự cố, hay gặp vấn đề gì
đó nhưng mình không biết nơi nào, có ai gần đó hay không và uy tín để gọi sự trợ giúp, đặc biệt là lúc đang có vấn đề cực kỳ quan trọng thì gọi trợ giúp rất quan trọng
và bức thiết
Chính vì vậy, ứng dụng trợ giúp khách du lịch khi gặp sự cố với tên gọi
“Người Việt thân thiện” giải quyết vấn đề nêu trên giúp người dùng tìm kiếm
được những người xung quanh và nhận được trợ giúp một cách nhanh chóng và thuận tiện nhất
Trang 62 MỤC ĐÍCH VÀ Ý NGHĨA
1 Mục đích
Với đề tài luận văn: “Xây dựng ứng dụng trên di động trợ giúp khách du lịch khi gặp sự cố”, em xác định cho mình các mục đích cần đạt được cho quá trình thực hiện luận văn như sau:
− Hiểu biết về hệ điều hành iOS, cách thức xây dựng một phần mềm trên hệ điều hành iOS, cùng các lý thuyết liên quan khác
− Nắm bắt cách thức cũng như chu trình để xây dựng và phát triển một sản phẩm phần mềm
− Xây dựng được một sản phẩm hoàn thiện, có khả năng ứng dụng vào thực tế
2 Ý nghĩa
`Ứng dụng di động trợ giúp khách du lịch khi gặp sự cố là một phương tiện để kết nối với mọi người xung quanh một cách nhanh chóng, ngoài việc gọi điện trực tiếp hình thức gửi yêu cầu với mọi người xung quanh để nhận sự trợ giúp sẽ là một giải pháp hữu ích
Quan trọng hơn ứng dụng sẽ là một phương tiện kết nối con người với nhau thông qua mỗi sự trợ giúp, chúng ta sẽ giảm bớt sự lo lắng mỗi khi đi trên đường vì sẽ luôn có người sẵn sàng giúp đỡ khi chúng ta yêu cầu Đó cũng là ý nghĩa quan trọng của ứng dụng đem lại
3 TRIỂN KHAI ĐỀ TÀI
− Xây dựng ứng dụng trên điện thoại đi động iPhone
− Triển khai hoạt động ứng dụng, đồng thời tiến hành kiểm thử đảm bảo chất lượng
− Viết báo cáo tổng kết đề tài và đề ra hướng phát triển
Trang 72 Mục tiêu cần đạt được
− Xây dựng thành công hệ thống dữ liệu ở Server với Web Service cung cấp việc giao tiếp giữa điện thoại với server
− Xây dựng thành công ứng dụng trên điện thoại di động iPhone
− Triển khai thành công hệ thống chạy trên môi trường thực tiễn, cụ thể là: internet cho server và trên điện thoại di đông iPhone cho ứng dụng
5 BỐ CỤC LUẬN VĂN
Bố cục của luận văn bao gồm:
− Chương 1: Tổng quan đề tài
Nội dung chủ yếu của chương này là giới thiệu khái quát về đề tài cần thực hiện Các mục tiêu, ý nghĩa mà đề tài hướng tới Đề ra các phương pháp giải quyết
đi từ khảo sát thực tế, tìm hiểu lý thuyết đến cách thức thực nghiệm Phần cuối của chương là giới hạn phạm vi thực hiện đề tài trong thời gian của luận văn tốt nghiệp
− Chương 2: Cơ sở lý thuyết
Nội dung nghiên cứu lý thuyết liên quan đến quá trình thực hiện đề tài bao gồm: lý thuyết về hệ điều hành iOS, các thiết bị di động, kiến thức về bộ công cụ lập trình với ngôn ngữ lập trình Objective-C, hệ quản trị cơ sở dữ liệu với dịch vụ đám mây Parse giao tiếp với ứng dụng thông qua Parse SDK
Chương 3: Phân tích và thiết kế hệ thống
Nội dung chương Phân tích, thiết kế hệ thống tập trung vào việc hình thành ý tưởng ứng dụng, phân tích yêu cầu sau đó tiến hành các bước phân tích thiết kế hệ
Trang 8thống bao gồm: xác định tác nhân, đặc tả các ca sử dụng, xây dựng biểu đồ tuần tự, biểu đồ hoạt động, biểu đồ lớp, thiết kế cơ sở dữ liệu.
− Chương 4: Triển khai và thực nghiệm
Chương này trình bày quá trình thực hiện đề tài, các công cụ và phần mềm
sử dụng, các thuật toán cần có Kết thúc phần là hình ảnh sản phẩm mẫu khi đưa vào thực nghiệm
Trang 9Hệ điều hành này được tiết lộ tại Hội nghị và Triển lãm Macworld diễn ra vào tháng 1 năm 2007 và được phát hành vào tháng 9 năm đó Khi đó, hệ điều hành này chưa có tên riêng, nên chỉ đơn giản được gọi là “iPhone chạy OS X” Vào ngày 17 tháng 10 năm 2007, Apple thông báo một bộ phát triển phần mềm đang được xây dựng và họ dự định sẽ đưa nó đến "tay của các nhà phát triển vào tháng 2" Ngày 6 tháng 3 năm 2008, Apple đã phát hành bản dùng thử đầu tiên, cùng với một cái tên mới cho hệ điều hành, đó là “iPhone OS”.
Tháng 6 năm 2010, Apple đổi cái tên iPhone OS thành iOS Nhãn hiệu "IOS" đã được Cisco dùng để đặt tên cho hệ điều hành của mình Để trách các vụ kiện cáo, Apple đã xin giấy phép sử dụng nhãn hiệu iOS từ Cisco
sử dụng Tất cả chỉ là chạm và vuốt để thực thi Cùng với chính sách hợp lý để thu hút các lập trình viên viết ứng dụng, kho ứng dụng Appstore ngày càng lớn khiến cho người dùng càng thêm thích thú, mọi nhu cầu của từng người đều có thể được đáp ứng Cũng như việc Apple cũng tung ra cập nhật, vá các lỗi liên tục khi phát hiện, khiến cho iOS ngày càng trở nên "thông minh" hơn, an toàn hơn
Nhưng nếu gọi iOS là thống trị năm 2012 thì điều đó cũng là chưa thể Vì iOS chỉ được cài giới hạn trên thiết bị của Apple gồm những thiết bị như iPhone, iPad, iPod Thị phần của thiết bị Apple trên thế giới nói chung là không lớn, số liệu các bạn thấy trên các báo đa số chỉ thống kê tại Mỹ, nhưng đã gọi là thống trị thì phải là thống trị trên thị trường di động toàn thế giới
Trang 103 Kiến trúc hệ điều hành iOS
Biểu đồ dưới đây thể hiện các thành phần chính của hệ điều hành iOS:
Hình 1 Kiến trúc iOS
1 Tầng Cocoa Touch
Cocoa là tập hợp các framework hướng đối tượng, cung cấp môi trường thực thi cho các ứng dụng chạy trên các hệ điều hành Mac OS và iOS Cocoa là môi trường phát triển ứng dụng phổ biến và hiệu quả trong Mac OS, và là môi trường phát triển ứng dụng duy nhất trên iOS Cocoa trong iOS được gọi là Cocoa Touch Nó bao gồm các bộ framework chính là:
• Quản lý vòng đời ứng dụng
• Đa nhiệm
• Local notification
• Nhận diện các thao tác trên màn hình cảm ứng
• Map Kit: Cung cấp các giao diện lập trình và thư viện để xây dựng các ứng dụng dựa trên bản đồ, định tuyến, xác định địa điểm hiện tại của người dùng
Trang 11• Message UI Framework: Cung cấp thư viện để soạn và gởi email.
• iAd Framework: Cho phép lập trình viên nhúng các banner quảng cáo vào ứng dụng
• Push notification: Là dịch vụ chạy thường trực trên thiết bị, cho phép nhận thông báo được gởi bằng Push notification service ngay cả khi ứng dụng không được chạy
Đây là tầng chứa các dịch vụ cơ bản của hệ thống mà hầu hết các ứng dụng đều
sử dụng Các thành phần của lớp này bao gồm:
Trang 12• Core Services Framework:
Đây là lớp chứa các đặc trưng ở mức thấp (low-level features) Lập trình viên sẽ
ít sử dụng trực tiếp lớp này (trừ khi thao tác với các thiết bị phần cứng khác hoặc các vấn đề bảo mật) mà sẽ sử dụng gián tiếp thông qua các lớp phía trên Lớp này bao gồm các thành phần sau:
C được thiết kế với mục đích đưa vào C các tính năng hướng đối tượng một các đơn giản và dễ hiểu nhất
Objective-C được thiết kế bởi Brad Cox khi ông làm việc cho công ty Stepstone vào đầu những năm 1980 Objective-C được thiết kế để phục vụ mục đích lập trình hướng đối tượng Nó hoạt động giống như là một tập hợp các thành phần mở rộng rất mạnh mẽ của ngôn ngữ C Objective-C kết hợp các đặc điểm ưu tú nhất của C và ngôn ngữ SmallTalk Objective-C khá đơn giản để học và có đầy đủ các khả năng của một ngôn ngữ lập trình hướng đối tượng.Hiện tại, Objective-C trở nên phổ biến
vì nó được Apple chọn làm ngôn ngữ lập trình cho hệ thống Mac và iPhone
Trang 132 Các thành phần
Hầu hết các ngôn ngữ lập trình hướng đối tượng đều cung cấp:
• Một thư viện các Objects
• Các công cụ phát triển cần thiết
• Hỗ trợ hướng đối tượng và các thư viện liên quan
Là ngôn ngữ hướng đối tượng nên Objective-C giải quyết các vấn đề lập trình dựa trên khái niệm các Object Nó bao gồm 3 phần:
Interface: Interface của một lớp(class) thông thường được định nghĩa trong file
header với đuôi h Nó chính là phần khai báo của một lớp
Implementation: Mã nguồn của chương trình được viết trong phần
implementation của một lớp và được định nghĩa trong một file có đuôi m Đây là
nó phần định nghĩa của lớp
Instantiation: Sau khi khai báo và định nghĩa một lớp, chúng ta có thể thực thể
hóa lớp này bằng việc cấp phát bộ nhớ cho new object của lớp đó
Tóm lại Objective-C là:
• Thành phần mở rộng của ngôn ngữ lập trình C
• Là ngôn ngữ lập trình hướng đối tượng đơn giản nhưng mạnh mẽ
• Là ngôn ngữ được Apple sử dụng để phát triển các ứng dụng cho hệ thống máy Mac và iPhone
• Nó là thành phần mở rộng của chuẩn ANSI C vì vậy các chương trình viết bằng C của framework này sẽ không bị mất đi tính năng nào và
người dùng được hưởng các lợi thế của ngôn ngữ C.Với ngôn ngữ này, người dùng có thể lựa chọn cả lập trình hướng đối tượng và lập trình thủ tục khi cần thiết
Trang 14• Nó đơn giản và dễ học bởi cú pháp của nó khá ngắn gọn nên nó giúp cho lập trình viên đạt được hiệu quả mong muốn mà không gặp nhiều khó khăn.
• Nó là một ngôn ngữ mạnh bởi vì các quyết định có thể được đưa ra lúc biên dịch sẽ được trì hoãn cho tới khi chương trình chạy
• Nó hỗ trợ ràng buộc động và mở tạo ra một cấu trúc đơn giản đối với giao diện tương tác người dùng
• Nó cho phép phát triển các công cụ phát triển phức tạp Một giao diện cho hệ thống run time tạo điều kiện cho việc tiếp cận các thông tin lúc run time giúp cho việc monitor ứng dụng viết bằng Objective-C
4 Môi trường lập trình Xcode
Xcode là môi trường phát triển tích hợp (IDE) chứa đầy đủ các công cụng cho các nhà phát triển, các lập trình viên khi phát triển ứng dụng trên hệ điều hành MAC OS và nền tảng di động iOS Được phát hành từ năm 2003 và tới nay đã trải qua bốn phiên bản với phiên bản cuối cùng là 4.3.2 được cung cấp miễn phí cho các nhà lập trình thông qua AppStore
Các thành phần chính của Xcode:
• Apple LLVM Compiler : trình biên dịch của Xcode, được Apple phát triển lên từ trình biên dịch GNU trong phiên bản Xcode 3.2 Được hoàn thiện trong các phiên bản sau này, tốc độ cũng nhưng tính hiệu quả được tăng cường
• Instruments for Performance và Behavior Analysis : công cụ phân tích hiệu suất và hành vi Đây là bộ công cụ hỗ trợ cho các lập trình viên có thể quản lý tài nguyên hệ điều hành hay bộ nhớ của ứng dụng khi vận hành
• iOS Simulator : là thiết bị đi động ảo được tích hợp để giúp cho các nhà lập trình di động cài đặt và chạy thử trước khi đưa vào thiết bị thật Công
cụ ảo này có đầy đủ tính năng như thiết bị thật và ngày càng được Apple phát triển nhằm đem lại những gì tốt nhất cho các lập trình viên
Trang 153 WEBSERVICE
1 Giới thiệu
Web Services là một cách chuẩn để tích hợp các ứng dụng trên nền web
(Web-based applications) Các ứng dụng có thể sử dụng các thành phần khác nhau để tạo thành một dịch vụ, ví dụ như máy chủ chạy một trang web thương mại điện tử kết nối với cổng thanh toán điện tử qua một API - Application Programming Interface ( tạo bởi công nghệ NET thì web services chính là nền máy chủ (IIS - Internet Information Services), và các thành phần thanh toán, các thành phần NET được coi
là component (các thành phầm bên ngoài) Các thành phần này được gọi bởi phương thức SOAP (Khác phương thức POST, GET) nên không bị gặp phải firewall khi truy xuất các thành phần bên ngoài máy chủ Và toàn bộ các thành phần đó gọi
là một Web Services
Các Web Services cho phép các tổ chức thực hiện truyền thông dữ liệu mà không cần phải có kiến thức về hệ thống IT phía sau tường lửa Một số Web Services hiện nay có sẵn miễn phí và càng ngày càng hướng dần vào các doanh nghiệp
Một ví dụ về Web Service sẵn có là dịch vụ được cung cấp bởi PayPal cho phép những người có tài khoản có thể thanh toán hoặc trả một phần hoặc thực hiện các giao dịch tìm kiếm, và lấy lại các thông tin của từng giao dịch cụ thể
Ngày này, web service được phát triển trên hầu hết các nên tảng web server hiện tại, như là :
• Apache với PHP
• Tomcat với JSP, Java
• IIS với Net, ASP
• Nâng cao khả năng tái sử dụng
• Thúc đẩy đầu tư các hệ thống phần mềm đã tồn tại bằng cách cho phép các tiến trình/chức năng nghiệp vụ đóng gói trong giao diện Web service
• Tạo mối quan hệ tương tác lẫn nhau và mềm dẻo giữa các thành phần trong
hệ thống, dễ dàng cho việc phát triển các ứng dụng phân tán
• Thúc đẩy hệ thống tích hợp, giảm sự phức tạp của hệ thống, hạ giá thành hoạt động, phát triển hệ thống nhanh và tương tác hiệu quả với hệ thống của các doanh nghiệp khác
Nhược điểm:
Trang 16• Những thiệt hại lớn sẽ xảy ra vào khoảng thời gian chết của Web service, giao diện không thay đổi, có thể lỗi nếu một máy khách không được nâng cấp, thiếu các giao thức cho việc vận hành.
• Có quá nhiều chuẩn cho Web service khiến người dùng khó nắm bắt
• Phải quan tâm nhiều hơn đến vấn đề an toàn và bảo mật
2 Kiến trúc
Web service gồm có 3 chuẩn chính: SOAP (Simple Object Access Protocol), WSDL (Web Service Description Language) và UDDI (Universal Description, Discovery, and Integration) Hình 3 mô tả chồng giao thức của Web service, trong
đó UDDI được sử dụng để đăng ký và khám phá Web service đã được miêu tả cụ thể trong WSDL Giao tác UDDI sử dụng SOAP để nói chuyện với UDDI server, sau đó các ứng dụng SOAP yêu cầu một Web service Các thông điệp SOAP được gửi đi chính xác bởi HTTP và TCP/IP
Hình : Chồng giao thức của dịch vụ Web
Chồng giao thức Web service là tập hợp các giao thức mạng máy tính được sử dụng để định nghĩa, xác định vị trí, thi hành và tạo nên Web service tương tác với những ứng dụng hay dịch vụ khác Chồng giao thức này có 4 thành phần chính:
• Dịch vụ vận chuyển (Service Transport): có nhiệm vụ truyền thông điệp giữa các ứng dụng mạng, bao gồm những giao thức như HTTP, SMTP, FTP, JSM và gần đây nhất là giao thức thay đổi khổi mở rộng (Blocks Extensible Exchange Protocol- BEEP)
• Thông điệp XML: có nhiệm vụ giải mã các thông điệp theo định dạng XML để có thể hiểu được ở mức ứng dụng tương tác với người dùng Hiện tại, những giao thức thực hiện nhiệm vụ này là XML-RPC, SOAP
và REST
• Mô tả dịch vụ: được sử dụng để miêu tả các giao diện chung cho một Web service cụ thể WSDL thường được sử dụng cho mục đích này, nó là
Trang 17một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML Web service sẽ
sử dụng ngôn ngữ này để truyền tham số và các loại dữ liệu cho các thao tác và chức năng mà Web service cung cấp
• Khám phá dịch vụ: tập trung dịch vụ vào trong một nơi được đăng ký, từ
đó giúp một Web service có thể dễ dàng khám phá ra những dịch vụ nào
đã có trên mạng, tốt hơn trong việc tìm kiếm những dịch vụ khác để tương tác Một Web service cũng phải tiến hành đăng ký để các dịch vụ khác có thể truy cập và giao tiếp Hiện tại, UDDI API thường được sử dụng để thực hiện công việc này
3 Hoạt động
Hình : Mô hình hoạt động của Web service
Trong mô hình hoạt động của mỗi Web service, thông thường sẽ có 3 thành phần tham gia
• Đầu tiên là các nhà cung cấp dịch vụ, tạm gọi là Provider Công việc là xây dựng và cài đặt đối tượng dịch vụ lên 1 web server và cung cấp bản mô tả dịch vụ để hướng dẫn mọi người cách khai thác Ngôn ngữ sử dụng cho các bản mô tả dịch vụ là SDL - Service Description Language, với cấu trúc cú pháp của XML
Trang 18• Thành phần thứ 2: các nhà khai thác dịch vụ, tạm gọi là Consumer Công việc là xem xét bản mô tả dịch vụ của nhà cung cấp, dựa vào đó để xây dựng lớp trung gian truy xuất đối tượng dịch vụ, và cuối cùng, thiết kế giao diện cho ứng dụng.
• Thành phần thứ 3 trong chuỗi là những người dùng cuối, End - user Họ truy cập trang web của các nhà khai thác dịch vụ, và sử dụng, một cách gián tiếp, Web Service của Provider
Trang 193. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1 PHÂN TÍCH YÊU CẦU
Chương 1 của luận văn đã đề cập đến ý tưởng cũng như các nội dung trọng yếu của đề tài “Xây dựng ứng dụng di động trợ giúp khách du lịch khi gặp sự cố” Phần này sẽ mô tả chi tiết về các yêu cầu cùng các nội dung cần thực hiện của bài toán
1 Mô tả bài toán
• Đối tượng
Cho các khách sử dụng iphone
Các nhà phát triển và lập trình viên
• Mục đích
Tìm kiếm những người xung quanh mình
Gọi trợ giúp khi có vấn đề cần thiết phải gọi người khác giúp đỡ
• Cơ sỡ dữ liệu ( gồm 2 nguồn )
Google Map : cung cấp các địa điểm công cộng ( như bệnh viện, nhà hàng, khách sạn ) để người du lịch tìm đường và tham khảo Mang tính chất dữ liệu cứng
• Triển khai
Điện thoại di động ( cụ thể là iPhone ) : cài đặt ứng dụng Nhằm giúp người du lịch có thể tìm kiếm và hiển thị các địa điểm du lịch
Server : sử dụng webservice là parse.com
2 Phân tích yêu cầu bài toán
1 Người sử dụng
Người sự dụng là đối tượng quan trọng của hệ thống Mục đích của hệ thống xây dựng kho dữ liệu nhằm phục vụ nhu cầu của đại đa số người dùng
− Đối tượng người sử dụng
Người sử dụng iPhone (vì ứng dụng đang được xây dựng trên nền tảng iPhone)
− Mục đích sử dụng
Trang 20Mục đích lớn của hệ thống là hướng tới đại đa số người dùng Hệ thống đi kèm với việc xây dựng kho dữ liệu là phát triển một ứng dụng trên điện thoại di động, cụ thể là iPhone Và người sử dụng sẽ được:
• Cung cấp các địa điểm theo các tiêu chí khác nhau
• Tìm kiếm và tra cứu các địa điểm cần đến
• Gửi yêu cầu trợ giúp cho những người gần nhất
• Đánh giá và bình luận về người giúp đỡNgoài ra, người cần trợ giúp cũng như người trợ giúp vì không ai luôn đóng vai trò là người trợ giúp hay cần trợ giúp Chính vì vậy khi người dung cần phải cung cấp thông tin
• Cung cấp chính xác thông tin cần trợ giúp
• Đánh giá, bình luận để thông qua đó hệ thống gửi về thông tin người dùng khi sử dụng ứng dụng, từ đó người sử dụng có thể biết được thông tin, độ tin cậy khi có yêu cầu trợ giúp từ người khác
2 Kho dữ liệu
− Xây dựng:
Kho dữ liệu được xây dựng dựa theo hai nguồn dữ liệu được cung cấp:
• Nguồn dữ liệu của hệ thống, là dữ liệu cung cấp ban đầu của hệ thống, trong quá trình hoạt động
• Nguồn dữ liệu của người dùng khi đăng ký tài khoản, tạo một sự trợ giúp mới
Quá trình xây dựng dữ liệu bao gồm các bước sau:
1 Người dùng đăng ký một tài khoản để sử dụng ứng dụng Vì đặc thù trợ giúp nên sẽ có nhiều vấn đề nãy sinh nêu như đăng ký tràn lan Nên khi đăng ký người dùng cần phải điền đúng thông tin cá nhân, chấp nhận khi nhập sai thông tin
2 Hệ thống sẽ lưu trữ thông tin
3 Khi người dùng cần trợ giúp, sẽ tạo ra một trợ giúp mới với địa điểm của mình, mô tả về sự trợ giúp cũng như thêm hình ảnh nếu cần
4 Hệ thống sẽ tiến hành lưu trữ vào cơ sở dữ liệu của kho dữ liệu, và gửi yêu cầu tới những người xung quanh gần nhất
Do môi trường xây dựng dữ liệu chính là điện thoại di động nên dữ liệu phải được chuẩn hóa theo các tiêu chí sau:
Trang 21• Mã hóa unicode utf-8 (để hiển thị tiếng Việt).
• Thông tin dữ liệu phải ngắn (phù hợp với trạng thái bộ nhớ của điện thoại)
Các tham số về vị trí bản đồ, đánh giá phải chính xác
− Khai thác:
Việc lấy dữ liệu và gọi trợ giúp sẽ thông qua môi trường Internet, như vậy việc khai thác sẽ là bất cứ ở đâu và bất cứ lúc nào
Khai tác dữ liệu được diễn ra qua 2 bước:
• Bước 1 : thông tin được lấy trực tiếp từ server khi có một yêu cầu trợ
giúp mới thông qua webservice và kiểu dữ liệu được truyền tải để kết nối điện thoại di động với kho là json Đây là kiểu dữ liệu chuẩn được sử dụng nhiều trong các nền tản công nghệ lớn
• Bước 2 : thông tin nhận được (json) qua bộ phân tích dữ liệu ở ứng dụng
và hiểu thị trực quan cho người trợ giúp
và hao tốn ít tài nguyên
Trang 22Công nghệ sử dụng ở điện thoại di động được lựa chọn là nền tảng di động iPhone, với bộ SDK iOS Đây là một trong những nền tảng công nghệ mạnh nhất trong lĩnh vực điện thoại thông minh (smartphone ), bên cạnh đó các thiết bị iOS đã được chuẩn hóa nên việc ảnh hướng lớn từ thay đổi công nghệ là rất nhỏ.
Vậy, khi công nghệ thay đổi thì với hệ thống ở server thì sẽ cung cấp các phương thức cần thiết đảm bảo việc viết ứng dụng trên các nên tảng công nghệ được diễn ra nhanh chóng Và sự thay đổi về mặt công nghệ sẽ không ảnh hưởng nhiều tới kho dữ liệu
4 Phân tích khả thi
− Tính khả dụng:
• Hệ thống hoàn toàn có thể triển khai trên thực tế
• Cộng đồng sử dụng điện thoại thông minh (cụ thể iPhone) rất đông đảo
• Ngoài ứng dụng trên điện thoại di động để khai thác kho dữ liệu thì các phương thức Web Service của kho dữ liệu còn có thể cung cấp cho việc phát triển ứng dụng trên các nền tảng khác
• Ứng dụng được cung cấp miễn phí cho mọi người dùng và hướng tới phát triển trên mọi nền tảng di động phổ biến hiện nay
− Chi phí phát triển:
• Điện thoại thông mình ngày nay đang phát triển các dòng điện thoại bình dân, nghĩa là chi phí cho một chiếc điện thoại hỗ trợ đầy đủ các tính năng mà chương trình yêu cầu thì hoàn toàn không đắt
• Chi phí cho Server và Web Service với lượng người dùng ban đầu là thấp
Ngoài ra, với việc thu phí cho một số tính năng nâng cao của hệ thống sau này sẽ là nguồn thu nhằm duy trì và tiếp tục phát triển hệ thống
3 Yêu cầu phi chức năng
Trang 23• Ứng dụng trên điện thoại di động
Giao diện đơn giản, phù hợp với màn hình điện thoại (nhỏ)
Tối ưu hóa các thao tác trên điện thoại
Đảm bảo tính ổn định (không chết chương trình quá 5 lần/ 1 tuần)
Bảng : Bảng các chức năng đăng ký, đăng nhập
2 Quản lý thông tin cá nhân
Mã chức năng Tên chức năng
M.2.1 Xem thông tin tài khoản
M.2.1 Chỉnh sửa thông tin tài khoản
Bảng : Bảng các chức năng quản lý thông tin cá nhân
3 Gọi trợ giúp
Mã chức năng Tên chức năng
M.4.1 Cung cấp thông tin về trợ giúp
M.4.2 Gửi yêu cầu trợ giúp
Bảng : Bảng các chức năng gọi trợ giúp
4 Nhận trợ giúp
Trang 24Mã chức năng Tên chức năng
M.6.1 Phản hồi yêu cầu trợ giúp
Bảng : Bảng các chức năng trợ giúp
5 Phản hồi
Mã chức năng Tên chức năng
M.5.1 Phản hồi về người cần trợ giúp cũng người trợ giúp
Bảng : Bảng các chức năng phản hồi
Trang 252 PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1 Biểu đồ ca sử dụng:
1 Biểu đồ tổng thể
Hình 4 Biểu đồ ca sử dụng tổng thể
Trang 26Chưa ở trạng thái đăng nhập ứng dụng
Điều kiện sau Tiến hành cập nhập trong hệ thống và cơ sỡ dữ liệu
Mô tả Người dùng sử dụng đăng ký để tạo tài khoản vào ứng dụng và sử
dụng các dịch vụ của hệ thống
Kịch bản Hành động của tác nhân Hành động của hệ thống
Nhập thông tin đăng ký tài khoản
Lấy thông tin, tiến hành kiểm tra và gởi yêu cầu về server
Nếu thành công thì đăng nhập vào ứng dụng Nếu thất bại thì trả về lỗi
Bảng Ca sử dụng đăng ký
Thuộc tính Mô tả
Mã chức năng M.1.2
Tác nhân Người dùng
Điều kiện trước Chưa ở trạng thái đăng nhập ứng dụng
Điều kiện sau
Mô tả Người dùng đăng nhập vào ứng dụng, để sử dụng ứng dụng
Trang 27Điều kiện sau
Mô tả Xem thông tin cá nhân của người dùng
Kịch bản Hành động của tác nhân Hành động của hệ thống
Chọn tab "Cá nhân" trong ứng dụng
Gởi yêu cầu tới server
Hiển thị thông tin cá nhân nhận được
Điều kiện sau Cập nhập vào cơ sở dữ liệu người dùng
Mô tả Chỉnh sửa một số thông tin cá nhân của người dùng
Kịch bản Hành động của tác nhân Hành động của hệ thống
Nhập thông tin chỉnh sửa Kiểm tra hợp lệ thông tin và gởi yêu
cầu tới serverThông báo kết quả cập nhập
Bảng 9 Bảng chỉnh sửa thông tin tài khoản
Thuộc tính Mô tả
Trang 28Điều kiện sau
Mô tả Gửi thông tin và yêu cầu trợ giúp
Kịch bản Hành động của tác nhân Hành động của hệ thống
Nhập thông tin Lưu vào hệ thống dữ liệuGửi yêu cầu Gửi yêu cầu trợ giúp tới những người
Điều kiện sau
Mô tả Nhận thông tin trợ giúp từ server
Kịch bản Hành động của tác nhân Hành động của hệ thống
-Chấp nhận-Từ chối
-Người dùng chấp nhận: gửi phản hồi
về người cần trợ giúp và chỉ đường tới địa điểm trợ giúp
Bảng 11 Bảng nhận yêu cầu trợ giúp
Trang 29Phiên trợ giúp thành công
Điều kiện sau
Mô tả Gởi các phản hồi về người trợ giúp cũng người cần trợ giúp sau
khi kết thúc phiên trợ giúp
Kịch bản Hành động của tác nhân Hành động của hệ thống
Nhập thông tin phản hồi Kiểm tra hợp lệ
Cập nhập thông tin phản hồi cho người dung
Bảng 12 Bảng ca sử dụng phản hồi
Trang 302 Biểu đồ tuần tự
Hình 5 Biểu đồ tuần tự - Đăng ký
Trang 31Hình 6 Biểu đồ tuần tự - Đăng nhập
Hình 7 Biểu đồ tuần tự - chỉnh sửa thông tin cá nhân