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

Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto

77 316 0

Đ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 77
Dung lượng 6,83 MB

Nội dung

Và vấn đề đặp ra là: khi bạn đang lái xe trên đường và muốn tìm một vị trí đỗ xe phù hợp để khôngmất thời gian, hay nhà bạn vừa mua xe và muốn tìm một bãi đỗ để thuận tiện mỗi khib

Trang 1

LỜI NÓI ĐẦU

Trong thời điểm hiện theo xu hướng phát triển trên toàn cầu nay Việt Nam đangphát triển về mọi mặt kinh tế, khoa học kỹ thuật, trình độ dân trí, Và nhu cầu của conngười cũng cao hơn, với nhu cầu đi lại của con người cũng đã được đáp ứng với rấtnhiều các phương tiện giao thông hiện đại như xe hơi, máy bay, thậm chí là tên lửa,tàu không gian vũ trụ sẽ có vào một tương lai không xa Nếu những năm về trước ởViệt Nam phương tiện chủ yếu được xem là xe máy, thì hiện nay xe hơi cũng đang dầnchiếm lĩnh vị trí đó

Nhưng vấn đề là nơi đặt một chiếc xe hơi không đơn giản như một chiếc xemáy hay xe đạp, đôi khi bạn có thừa tiền mua xe hơi nhưng vấn đề là để nó ở đâu, cáchchỗ bạn ở bao xa, khi lái xe ra có tiện đường không,

Bên cạnh đó, xu hướng sử dụng bản đồ trực tuyến để tìm vị trí, thông tin, đườngđi,…cho một địa điểm cụ thể đang được áp dụng phổ biến và đã có được nhiều hiệuứng tốt từ người sử dụng

Xuất phát từ nhu cầu và xu hướng công nghệ trên, đồng thời được sự hướng dẫntận tình của thầy Phạm Trí Công, em đã chọn đề tài cho đồ án tốt nghiệp của mình là:

“Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto”.

Hà nội, ngày 18 tháng 06 năm 2011

Sinh viên thực hiện:Nguyễn Thị Mai

Trang 2

LỜI CẢM ƠN

Trong suốt quá trình học tập và hoàn thành đồ án tốt nghiệp, em đã nhận được

sự hướng dẫn, giúp đỡ quý báu của các thầy cô và các bạn Với lòng kính trọng và biết

ơn sâu sắc em xin được bày tỏ lới cảm ơn chân thành tới:

Giảng Viên Phạm Trí Công người thầy đã tận tình giúp đỡ, trực tiếp chỉ bảo,

hướng dẫn em trong suốt quá trình thực tập và làm đồ án tốt nghiệp Trong quá trìnhhọc tập với thầy em không ngừng học tâp và tiếp thu thêm được rất nhiều kiến thức bổích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu nghiêm túc, hiệu quả.Đây là những điều rất cần thiết cho em trong quá trình học tập và làm việc sau này

Em cảm ơn thầy

Các thầy cô trong trường Đại học Thủy Lợi nói chung và các thầy cô trongkhoa Công nghệ thông tin nói riêng đã tận tình giảng dạy, truyền đạt cho em nhữngkiến thức và kinh nghiệm quý báu trong suốt thời gian học tập tại trường

Em xin gửi lời cảm ơn tới gia đình, bạn bè đã luôn ở bên động viên, góp ý, giúpđỡ em trong suốt quá trình học tập của mình

Mặc dù em đã cố gắng hoàn thành đồ án tốt nghiệp của mình với khả năng củamình, nhưng do năng lực và kinh nghiệm còn hạn chế nên không tránh khỏi nhữngthiếu sót Em kính mong nhận được sự cảm thông và tận tình góp ý chỉ bảo của cácthầy cô và các bạn

Em xin chân thành cảm ơn!

Trang 3

MỤC LỤC

Chương 1 : TỔNG QUAN

1

1.1 Giới thiệu đề tài 1

1.2 Nội dung đề tài 1

1.3 Chức năng chính của website 2

1.4 Hướng giải quyết 2

1.5 Lựa chọn công nghệ 3

Chương 2 : TÌM HIỂU MÔ HÌNH MVC, PHP, PHP FRAMEWORK 6

2.1 PHP 6

2.1.1 Giới thiệu PHP 6

2.1.1 Vì sao chọn PHP 7

2.2 Mô hình MVC 10

2.2.1 Giới thiệu mô hình MVC 10

2.2.2 Ưu nhược điểm của mô hình MVC 11

2.3 PHP Framework 12

2.3.1 PHP Framewrk là gì? 12

2.3.2 Tại sao chúng ta nên sử dụng PHP Framework? 12

2.3.3 Khi nào nên sử dụng PHP Framework? 13

2.3.4 Những điểm cần lưu ý khi lựa chọn một PHP Framework 14

2.3.5 PHP Framework phổ biến nhất hiện nay 14

2.4 Kohana Framework 20

2.4.1 Giới thiệu Kohana 20

2.4.2 Cấu trúc Kohana 21

2.4.3 So sánh Kohana và các framework khác 23

2.4.4 Cài đặt Kohana 23

2.5 Simple Framework 25

2.5.1 Giới thiệu simple Framework MVC 25

2.5.2 Lợi ích khi sử dụng simple framework MVC 27

Trang 4

Chương 3 : GIỚI THIỆU GOOGLE MAPS API

29

3.1 Map API là gì? 29

3.2 Google map API 32

Chương 4 : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 33

4.1 Phân tích hệ thống 33

4.1.1 Đối với người dùng 33

4.1.2 Đối với người quản trị 34

4.2 Thiết kế hệ thống 37

4.2.1 Biểu đồ phân cấp chức năng 37

4.2.2 Biểu UserCase 39

4.2.3 Mô hình Sequence Diagram 41

4.3 Thiết kế CSDL 55

4.3.1 Các thực thể trong hệ thống 55

4.3.2 Mô hình quan hệ giữa các thực thể của hệ thống 58

4.3.3 Mô hình dữ liệu 59

4.3.4 Các bảng của cơ sở dữ liệu 60

Chương 5 : THIẾT KẾ GIAO DIỆN VÀ XÂY DỰNG WEBSITE 63

5.1 Trang người dùng 63

5.2 Trang người quản trị 68

Chương 6 : KẾT LUẬN 72

Trang 5

Chương 1 : TỔNG QUAN

1.1 Giới thiệu đề tài

Trong thời đại công nghệ thông tin phát triển như vũ bão và được áp dụng vàonhiều lĩnh vực trong đời sống như giáo dục, y tế, quản lý,…Qua đó, người ta cũng thấyđược tầm quan trọng xâu sắc của công nghệ thông tin

Trong thời kỳ hội nhập, kinh tế nước ta càng phát triển nhu cầu và mức sốngcủa con người tăng lên, điển hình là phương tiện đi lại bằng ô-tô ngày càng được ưachuộng nhất là tại các thành phố lớn Tuy nhiên, cùng với sự phát triển đó thì dân sốcũng không ngừng phát triển, diện tích đất càng được chú trọng Trong các thành phốlớn, nơi đỗ xe sẽ được xây dựng nhiều hơn và có quy hoặch cụ thể hơn Và vấn đề đặp

ra là: khi bạn đang lái xe trên đường và muốn tìm một vị trí đỗ xe phù hợp để khôngmất thời gian, hay nhà bạn vừa mua xe và muốn tìm một bãi đỗ để thuận tiện mỗi khibạn đỗ xe,…

Với kiến thức đã học, qua đề tài này em muốn áp dụng công nghệ thông tin vàomột phần nhỏ trong đời sống, cụ thể em sẽ xây dựng một website ứng dụng googlemaps nhằm hỗ trợ cho việc tìm kiếm vị trí, thông tin các bãi đỗ, đồng thời khi đượcghé qua trang web người xem có thể đọc tin tức liên quan, tham khảo các dịch vụ hay

bổ xung các kinh nghiệm để lái xe, sử dụng xe an toàn hơn Và qua đây cũng nhằmquảng bá cho các bãi đỗ xe cũng như giúp họ ngày càng phát triển và hoàn thiện đểphục vụ nhu cầu đời sống của xã hội

1.2 Nội dung đề tài

Trong đề tài này, trang web được xây dựng sẽ xoay quang những nội dung chủ yếu:

Tìm kiếm thông tin vị trí các bãi đỗ xe trên bản đồ

Tìm kiếm thông tin cụ thể về các bãi đỗ xe như: giá cả, diện tích,…

Cung cấp các thông tin về bãi đỗ xe ô-tô, ô tô, giao thông,…

Trang 6

Các thông tin về dịch vụ cung cấp liên quan đến xe ô –tô.

Cung cấp thông tin về kinh nghiệm như: kinh nghiệm lái xe, đỗ xe, bão dưỡng xe,…

Ngoài ra, người xem có thể trực tiếp đánh giá mỗi bãi đỗ qua comment

1.3 Chức năng chính của website

 Chức năng quản trị website:

Quản lý các chuyên mục

Quản lý các bài viết

Quản lý thông tin bãi đỗ

Cập nhập, chỉnh sửa dữ liệu thường xuyên

Quản lý user trong phần admin

 Chức năng người dùng:

Tìm kiếm thông tin bãi đỗ

Xem thông tin các bài viết mới

Đánh giá các bãi đỗ thông qua comment

1.4 Hướng giải quyết

Để xây dựng được Website có tính thực tế cao, dễ sử dụng, thân thiện, thỏa mãn cácyêu cầu với người dùng thì yêu cầu:

Cần phải khảo sát thông tin của hệ thống một cách chi tiết và chính xác

Phân tích dữ liệu đầu vào, đầu ra một cách rõ ràng, chặt chẽ và chính xác.Trên cơ sở những thông tin đã thu thập được tiến hành xây dựng sơ đồ chứcnăng ngiệp vụ, mô hình UseCase, mô hình Sequence Diagram, mô hình ClassDiagram, mô hình quan hệ giữa các thực thể,mô hình quan hệ…

Trang 7

Thiết kế một số modul quan trọng( lưu trữ, tìm kiếm, xử lý thông tin).

Thiết kế giao diện: Là yêu cầu khá quan trọng, giao diện phải đảm bảo vừamang tính nghiệp vụ lại vừa đẹp mắt, dễ sử dụng,thân thiện với người dùng…Lập dự kiến xây dựng cơ sở dữ liệu cho hệ thống, phân tích, đánh giá đượcphạm vi lưu trữ, độ an toàn của dữ liệu khi vận hành

Kết quả cuối cùng của hệ thống phải có tính ưu việt, khả năng xử lý đượclượng thông tin lớn, lưu trữ khoa học, thuận tiện và bảo mật cao

1.5 Lựa chọn công nghệ

Hiện nay có rất nhiều công nghệ được sử dụng để phát triển website (PHP,ASP, ASP.NET, JSP ) để lựa chọn công cụ phát triển một cách thích hợp dựa trên cácthông số cơ bản như: tính kinh tế, khả năng ứng dụng, mức độ bảo mật, môi trường hỗtrợ và tốc độ xử lý Đây là bảng so sánh các công nghệ phát triển website:

PHP:

Tốc độ xử lý nhanh, hiệu quả cao

Chi phí giá thành thấp(ngôn ngữ free không tốn chi phí mua bản quyền)

Thời gian code và triển nhanh, đơn giản

Số lượng nhà cung cấp hosting nhiều, dễ lựa chọn

Số nhà cung cấp website nhiều, khả năng chọn lựa một trang web phù hợp tốthơn

Khả năng mở rộng và phát triển dễ dàng và nhanh chóng

Các công cụ và công nghệ hỗ trợ phong phú, đa dạng Phát triển web trên nềnweb 2.0 Sử dụng công nghệ Ajax làm cho quá trình duyệt web nhanh chóng vàthân thiện hơn đối với người dùng

ASP.NET:

Trang 8

Chi phí giá thành cao (do một phần phải mua bản quyền)

Thời gian code và triển khai hơi phức tạp, chậm hơn PHP

Số lượng nhà cung cấp hosting không nhiều, vì vậy khó cho việc lựa chọn

Số nhà cung cấp website nhiều, khả năng chọn lựa một trang web phù hợp tốthơn

Mở rộng và phát triển website dẽ dàng

Các công cụ và công nghệ hỗ trợ phong phú, đa dạng Phát triển web trên nềnweb 2.0 Sử dụng công nghệ Ajax làm cho quá trình duyệt web nhanh chóng vàthân thiện hơn đối với người dùng

ASP

Tốc độ xử lý rất chậm

Chi phí giá thành trung bình (do một phần phải mua bản quyền)

Thời gian code và triển khai trung bình

Số lượng nhà cung cấp hosting không nhiều, vì vậy khó cho việc lựa chọn

Số nhà cung cấp website ít

Khả năng mở rộng và phát triển website khó khăn

Công cụ và công nghệ hỗ trợ ít, khó tìm

JSP/java

Hơi chậm

Chi phí giá thành cao

Thời gian code và triển khai hơi phức tạp, chậm hơn PHP

Số lượng nhà cung cấp hosting ít, khó tìm

Số nhà cung cấp website ít, khả năng chọn lựa để xây dựng 1trang web phù hợprất khó

Khả năng mở rộng và phát triển website khó khăn

Trang 9

Công cụ và công nghệ hỗ trợ ít, khó tìm.

Đối với đa số website nên chọn ngôn ngữ phát triển website PHP/MySQL vì giáthành tương đối, tốc độ xử lý nhanh, dễ lựa chọn nhà cung cấp… Sau quá trình xemxét và cân nhắc, em đã lựa chọn ngôn ngữ PHP/MySQL để xây dựng website đồngthời kết hợp với các công cụ:

Hệ quản trị cơ sở dữ liệu MYSQL 5.1.33

Framework MVC được viết bằng ngôn ngữ PHP

Thiết kế giao diện bằng ngôn ngữ HTML và CSS

Cài đặt localhost trên window với XAMPP server version 1.7.1 để chạy chương trình

Trang 10

Chương 2 : TÌM HIỂU MÔ HÌNH MVC, PHP, PHP FRAMEWORK

2.1 PHP

2.1.1 Giới thiệu PHP

PHP được phát triển từ ngôn ngữ kịch bản (script) với mục địch xây dựng trangWeb cá nhân (Personal Home Page) Sau đó đã được phát triển thành một ngôn ngữhoàn chỉnh và được ưa chuộng trên toàn thế giói trong việc phát triển các ứng dụngWeb based

PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trìnhkịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết chomáy chủ, mã nguồn mở, dùng cho mục đích tổng quát Nó rất thích hợp với web và cóthể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc

độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩmtương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành mộtngôn ngữ lập trình web phổ biến nhất thế giới

Chương trình PHP hoạt động như thế nào? Trước tiên chúng ta hãy tìm hiểucách thức hoạt động của hệ trình duyệt (Web Client) và máy chủ cung cấp dịch vụ Web(Web server ):

Bước 1: Trình duyệt gửi một yêu cầu HTTP đến máy chủ, yêu cầu một file nào đó.Bước 2: Máy chủ sẽ chuyển yêu cầu này đến chương trình xử lý tương ứng,chính là chương trình Web server

Bước 3: Web server phân tích chuỗi yêu cầu nhận được, kiểm tra xem trìnhduyệt ở máy khách yêu cầu gì Nếu đó là các file bình thường (không phải là các filechứa các đoạn mã script thực thi phía máy chủ), nó sẽ tìm kiếm file đó và trả về chotrình duyệt ở máy khách Còn nếu đó là các file chứa các đoạn mã script thực thi phíamáy chủ (các chương trình CGI, hay các file thư viện liên kết động ISAPI, hoặc cácfile *.asp hay *.php), nó sẽ triệu gọi chương trình thực thi các đoạn mã này Chươngtrình này sẽ chịu trách nhiệm chạy các đoạn mã, trả chúng về cho Web server dướikhuôn dạng của HTML Sau đó, Web server mới trả kết quả lấy được cho trình duyệt

Trang 11

Như vậy, chương trình của bạn phải được thực thi trên máy chủ, sau đó mớiđược trả về cho trình duyêt Và đây chính là cái gọi là "Trang Web động" Không nhưcác trang web tĩnh, trang web động cho phép bạn có sự tương tác với máy chủ thôngqua các đoạn script thực thi phía server Nhờ có sự tương tác này, bạn có thể truy xuất

cơ sở dữ liệu, lấy thông tin người sử dụng, điều khiển các hoạt động khác

2.1.1 Vì sao chọn PHP

PHP Rất đơn giản đối với nhưng người còn xa lạ với chương trình này đây là sựlôi cuốn mạnh mẽ nhất Thậm chí là rất ít hoặc không có một chương trình nào có thểtạo ra một tốc độ đáng kinh ngặc trong việc phát triển bành trướng như PHP Bởi vì nó

đc thiết kế đặc biệt trong các ứng dụng Web, PHP xây dựng được rất nhiều tính năng

để đáp ứng những nhu nhu cầu chung nhất

PHP là một mã nguồn thông tin mở: Bởi vì mã nguồn của PHP sẵn có nên cộngđồng các nhà phát triển Web luôn có ý thức cải tiến nó, nâng cao để khắc phục các lỗitrong chương trình này PHP rất ổn định và tương hợp, PHP Ngoài ra PHP chạy đượctrên nhiều hệ điều hành khác nhau

Cộng đồng hỗ trợ, chia sẽ kinh nghiệm của PHP cũng rất dồi dào Với rất nhiềudiễn đàn, blog trong và ngoài nước nói về PHP đã khiến cho quá trình tiếp cận

Trang 12

 Thư viện phong phú

Ngoài sự hỗ trợ của cộng đồng, thư viện script PHP cũng rất phong phú và đadạng Từ những cái rất nhỏ như chỉ là 1 đoạn code, 1 hàm (PHP.net…) cho tớinhững cái lớn hơn như Framework (Zend, CakePHP, CogeIgniter, Symfony,kohana…) ,ứng dụng hoàn chỉnh (Joomla, Wordpress, PhpBB…)

Với thư viện code phong phú, việc học tập và ứng dụng PHP trở nên rất dễdàng và nhanh chóng Đây cũng chính là đặc điểm khiến PHP trở nên khá nổibật và cũng là nguyên nhân vì sao ngày càng có nhiều người sử dụng PHP đểphát triển web

 Hỗ trợ kết nối nhiều hệ cơ sở dữ liệu

Nhu cầu xây dựng web có sử dụng cơ sở dữ liệu là một nhu cầu tất yếu và PHPcũng đáp ứng rất tốt nhu cầu này Với việc tích hợp sẵn nhiều Database Clienttrong PHP đã làm cho ứng dụng PHP dễ dàng kết nối tới các hệ cơ sở dữ liệuthông dụng

Việc cập nhật và nâng cấp các Database Client đơn giản chỉ là việc thay thếcác Extension của PHP để phù hợp với hệ cơ sở dữ liệu mà PHP sẽ làm việc.Một số hệ cơ sở dữ liệu thông dụng mà PHP có thể làm việc là: MySQL, MSSQL, Oracle, Cassandra…

 Lập trình hướng đối tượng

Ngày nay, khái niệm lập trình hướng đối tượng (OOP) đã không còn xa lạ vớilập trình viên Với khả năng và lợi ích của mô hình lập trình này nên nhiềungôn ngữ đã triển khai để hỗ trợ OOP

Từ phiên bản PHP 5, PHP đã có khả năng hỗ trợ hầu hết các đặc điểm nổi bậtcủa lập trình hướng đối tượng như là Inheritance, Abstraction, Encapsulation,Polymorphism, Interface, Autoload…

Với việc ngày càng có nhiều Framework và ứng dụng PHP viết bằng mô hìnhOOP nên lập trình viên tiếp cận và mở rộng các ứng dụng này trở nên dễ dàng

và nhanh chóng

 Tốc độ :

Nhờ vào sức mạnh của Zend Engine, khi so sánh PHP với ASP, có thể thấyPHP vượt hơn ở một số test, vượt trội ở tốc độ biên dịch

Trang 13

Kết hợp với các kỹ thuật bảo mật ở các tầng khác thì ứng dụng PHP sẽ trở nênchắc chắn hơn và đảm bảo hoạt động cho website.

Bạn hoàn toàn có thể tự xây dựng cho mình các Extension để tối ưu, bổ sungcác chức năng cho PHP cũng như tối ưu luôn Core của PHP để phục vụ chocác mục đích mở rộng website của mình

 Rút ngắn thời gian phát triển :

PHP cho phép bạn tách phần HTML code và phần script, do đó có thể độc lậpgiữa công việc phát triển mã và thiết kế Điều này vừa giúp lập trình viên dễdàng hơn vừa có thể làm cho chương trình mềm dẻo hơn trong việc thay đổigiao diện

Trang 14

Hình2.1 Mô hình MVC

2.2.1 Giới thiệu mô hình MVC

MVC = Model - View - Controller

Kiến trúc MVC là việc chia tất cả mục của một ứng dụng ra làm ba thành phần(component) khác nhau Model, View và Controller Các thành phần của kiến trúcMVC một trách nhiệm duy nhất và không phụ thuộc vào các thành phần khác Những

sự thay đổi trong một thành phần sẽ không có hoặc là có rất ít ảnh hưởng đến cácthành phần khác Các trách nhiệm của mỗi thành phần là:

Model ( tầng dữ liệu ): Là khối giao tiếp với database Model được giao nhiệm

vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu vào các kho chứa dữ liệu.Tất cả các nghiệp vụ logic được thực thi ở Model Dữ liệu vào từ người dùngsẽ thông qua View được kiểm tra ở Model trước khi lưu vào cơ sở dữ liệu.Việc truy xuất, xác nhận, và lưu dữ liệu là một phần của Model

View (Tầng hiển thị): Là phần giao diện với người dùng View hiển thị các

thông tin cho người dùng của ứng dụng và được giao nhiệm vụ cho việc nhậncác dữ liệu vào từ người dùng, gửi đi các yêu cầu đến bộ điều khiển, sau đó lànhận lại các phản hồi từ bộ điều khiển và hiển thị kết quả cho người dùng Cáctrang HTML, JSP, các thư viện thể và các file nguồn là một phần của thànhphần View

Trang 15

Controller (Tầng điều khiển): Controller là tầng trung gian giữa Model và

View Sẽ là nơi bạn trực tiếp viết các xử lý lấy các request từ url và form đểthao tác trực tiếp với Model, sau đó dùng View để hiển thị ra

Với cơ sở là kiến trúc MVC, ta có thể xây dựng các ứng dụng của mình, tránhđược rất nhiều những vất vả khi bảo trì, thay đổi Những thay đổi ở mỗi thành phầnthường rất ít khi ảnh hưởng đến các thành phần khác

2.2.2 Ưu nhược điểm của mô hình MVC

Ưu điểm

Phát triển phần mềm: Có tính chuyên nghiệp hóa, có thể chia cho nhiều nhómđược đào tạo nhiều kỹ năng khác nhau, từ thiết kế mỹ thuật cho đến lập trìnhđến tổ chức database Giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp Bảo trì: Với các lớp được phân chia theo như đã nói, thì các thành phần củamột hệ thống dễ được thay đổi, nhưng sự thay đổi có thể được cô lập trongtừng lớp, hoặc chỉ ảnh hưởng đến lớp ngay gần kề của nó, chứ không phát tánnáo loạn trong cả chương trình

Mở rộng: Với các lớp được chia theo ba lớp như đã nói, việc thêm chức năngvào cho từng lớp sẽ dễ dàng hơn là phân chia theo cách khác

Ngoài vấn đề về sự phụ thuộc, giao diện của phần mềm cũng rất phức tạp khimuốn test Người ta thường sử dụng người thật để test giao diện, hoặc sẽ phảiviết những script test để giả lập những thao tác của con người Để viết nhữngscript này thường rất mất thời gian và phức tạp MVC không giải quyết đượcvấn đề về test giao diện, nhưng nó tách rời phần dữ liệu Model ra khỏi nhữngxử lý hiển thị và cho phép MODEL có thể được test độc lập với phần hiển thị

và điều đó sẽ giảm thiểu những test case liên quan đến giao diện

Trang 16

2.3 PHP Framework

2.3.1 PHP Framewrk là gì?

PHP là 1 ngôn ngữ script rất phổ biến hiện nay bởi những lý do: linh hoạt, dễ sử

dụng, dễ học… nhưng đôi khi việc viết mã PHP, hay bất cứ ngôn ngữ (lập trình) nào

khác, có thể trở nên đơn điệu và lủng củng Đó là lúc PHP framework có thể giúp ban

PHP frameworks làm cho sự phát triển của những ứng dụng web viết bằng

ngôn ngữ PHP trở nên trôi chảy hơn, bằng cách cung cấp 1 cấu trúc cơ bản để xây

dựng những ứng dụng đó Hay nói cách khác, PHP framework giúp đỡ các bạn thúcđẩy nhanh chóng quá trình phát triển ứng dụng, giúp bạn tiết kiệm được thời gian, tăng

sự ổn định cho ứng dụng, và giảm thiểu số lần phải viết lại mã cho lập trình viên.Ngoài ra Framework còn giúp những người mới bắt đầu có thể xây dựng các ứng dụng

ổn định hơn nhờ việc tương tác chính xác giữa các Database, mã (PHP) và giao diện (HTML) 1 cách riêng biệt Điều này cho phép bạn dành nhiều thời gian để tạo ra các

ứng dụng web, hơn là phí thời gian để viết các đoạn mã lặp lại trong 1 project

Ý tưởng chung đằng sau cách thức làm việc của 1 PHP framework được kể đến

là Model View Controller (MVC) MVC là 1 mô hình (kiến trúc) trong lập trình, chophép tách biệt các mã nghiệp vụ (business logic) và giao diện thành các phần riêngbiệt, điều này đồng nghĩa với việc ta có thể chỉnh sửa chúng 1 cách riêng lẻ Trongcụm từ MVC thì: Model (M) có thể hiểu là phần xử lý các thao tác về nghiệp vụ

(business logic), View được hiểu là phần xử lý lớp giao diện (presentation layer), và

Controller làm nhiệm vụ lọc các request đc gọi từ user, có chức năng như 1 route: điềuchỉnh, phân luồng các yêu cầu để gọi đúng Model & View thích hợp Về cơ bản, MVCchia nhỏ quá trình xử lý của 1 ứng dụng, vì thế nên bạn có thể làm việc trên từng thànhphần riêng lẻ, trong khi những thành phần khác sẽ không bị ảnh hưởng tới Thực chất,điều này giúp đỡ bạn lập trình PHP nhanh hơn và ít phức tạp hơn

2.3.2 Tại sao chúng ta nên sử dụng PHP Framework?

Có rất nhiều lý do khác nhau để các lập trình viên sử dụng PHP framework,nhưng 1 trong những lý do chính vẫn là khả năng giúp các lập trình viền tăng tốc quátrình phát triển ứng dụng Việc sử dụng lại các mã lệnh giống nhau trong nhiều projectsẽ giúp các bạn tiết kiệm được thời gian và công sức 1 cách đáng kể Một frameworksẽ cung cấp sẵn các module nền tảng cần thiết để xây dựng 1 project, vì thế, các lập

Trang 17

trình viên có thể tận dụng được thời gian để phát triển các ứng dụng thực tế, hơn làmất thời gian để xây dựng lại nền tảng trên mỗi project

Sự ổn định là 1 lý do lớn đối với các lập trình viên đang sử dụng Framework.Tính đơn giản là 1 điểm mạnh của PHP, đó là lý do tại sao lại có nhiều người thích sửdụng nó, nhưng đồng thời đó cũng là điểm yếu của nó PHP thì khá dễ học và sử dụng,đặc biệt là đối với những người mới làm quen với lập trình, tuy nhiên, họ có thểthường xuyên viết mã 1 cách không khoa học và thậm chí không hề nhận thức đượcđiều này, với PHP, trong nhiều trường hợp các ứng dụng vẫn sẽ làm việc được, nhưng

vô tình họ có thể tạo ra các lỗ hổng bảo mật lớn trong mã lệnh của mình, và bị hackerkhai thác

Hầu hết các PHP framework đều có sẵn rất nhiều thành phần mở rộng(extensive), và cũng có rất nhiều framework khác nhau để các bạn lựa chọn Bạn thậmchí còn có thể tự viết riêng cho mình 1 framework Tuy nhiên, bạn nên cân nhắc kỹ

trước khi quyết định sử dụng 1 framework nào cho mình hay không, nên tự đặt câu hỏi

cho chính mình là: Nó có tiết kiệm được cho bạn thời gian và công sức hay không? Cógiúp ứng dụng bạn hoạt động tốt hơn không? Có cải thiện được sự ổn định cho ứngdụng không? Hãy tìm ra câu trả lời cho chính mình để quyết định xem bạn có cần xàiframework hay chưa, và nên xài framework nào

2.3.3 Khi nào nên sử dụng PHP Framework?

Đây thường là 1 câu hỏi chung của cả những người đã có kinh nghiệm và mới

bắt đầu trong lập trình PHP, và cũng không có câu trả lời trực tiếp nào cho câu hỏi

này Với những bạn mới bắt đầu, 1 framework cũng có cung cấp những tính năng đơngiản và ổn định, vì thế bạn cũng nên tập sử dụng framework bất cứ khi có thể Nó sẽgiúp bạn giảm bớt, hoặc loại bỏ các đoạn mã thiếu tính khoa học, và tăng tốc cho quátrình xây dựng ứng dụng của bạn

Mặt khác, đối với các lập trình viên PHP đã có kinh nghiệm, framework đượcxem như 1 công cụ giúp đỡ các lập trình viên còn yếu, chưa biết làm thế nào để viếtmã 1 cách gọn gàng, tốt hơn và có khoa học Cho dù điều này là đúng hay sai trongcác cuộc thảo luận, nhưng sự thật không thể phủ nhận là PHP framework là 1 công cụđược sử dụng để tiết kiệm thời gian và giúp cho việc viết code chặt chẽ hơn

Trang 18

Khi làm việc trên 1 project với thời gian giới hạn chặt chẽ, sử dụng PHPframework là 1 lợi thế rất lớn, nó có thể giúp tăng tốc quá trình viết mã Vì thế, nếubạn đang làm việc trong 1 tình trạng thời gian gấp rút, PHP framework sẽ rất có íchcho bạn Một trường hợp khác, bạn nên quan tâm đến PHP framework là khi bạn làm 1project với số lượng mã phải viết quá lớn, nó sẽ giúp công việc của bạn trở nên bớt dàidòng hơn.

2.3.4 Những điểm cần lưu ý khi lựa chọn một PHP Framework

Có rất nhiều loại PHP framework sẵn có hiện nay cho bạn lựa chọn, thậm chíbạn có thể tự tạo ra 1 PHP framework cho riêng mình, tuy nhiên, điều này chỉ được

khuyến khích dành cho các chuyên gia PHP (PHP expert), những người đã có kiến

thức và hiểu biết vững vàng về framework Khi bạn cần tìm một loại PHP framework

phù hợp nhất với nhu cầu của mình, đừng quên lưu ý về độ phổ biến của nó, ngoài raứng dụng web của bạn được phát triển bởi bao nhiêu người cũng là 1 điều nên lưu ý.Một PHP framework càng được phổ biến, tức là nó càng được nhiều người sử dụng vàphát triển Mặt khác, nếu bạn muốn xây dựng ứng dụng cho website của riêng mình,tốt nhất bạn nên chọn 1 PHP framework phù hợp và dễ sử dụng nhất đối với nhu cầucủa bạn - không quan trọng nó có được nhiều người sử dụng hay không

Các yếu tố bạn nên lưu ý trước khi muốn tìm kiếm 1 PHP framework để sửdụng bao gồm như sau: dễ sử dụng, phát triển nhanh và hiệu quả, phổ biến giữa cácdeveloper, có các tính năng mạnh mẽ, có diễn đàn hỗ trợ Hầu hết các framework đềucó các điểm yếu và thế mạnh khác nhau, ví dụ Zend Framework đã được phổ biến từversion 1.3 và có đầy đủ các tính năng mạnh mẽ, cộng thêm 1 cộng đồng phát triển hỗ

trợ extension rộng lớn Ngược lại, CakePHP lại là 1 loại PHP framework khác, mới ra

đời sau này, nhưng lại ít có cộng đồng phát triển hỗ trợ hơn Zend, nhưng nó cũng đượcnhiều người lựa chọn vì tính thân thiện với người dùng và dễ sử dụng

Như bạn có thể thấy, mỗi loại PHP framework đều có lợi thế riêng của nó

2.3.5 PHP Framework phổ biến nhất hiện nay

Trong vài năm qua, PHP đã tiến triển thành 1 ngôn ngữ script được lựa chọn

bời hầu hết các nhà phát triển website, đã có 1 sự bùng nổ về các PHP framework, dẫn

Trang 19

đến các cuộc tranh luận lớn về đề tài: PHP framework nào là tốt nhất, bởi vì thực tếkhông phải tất cả các framework đều được xây dựng trên khuôn khổ dành cho nhiềungười sử dụng Dưới đây là 6 framework được đánh giá là tốt và phổ biến nhất hiệnnay:

Zend Framework

Hình 2.2: The Zend Framework

Zend Framework có 1 cộng đồng phát triển rộng lớn, và nó tập trung vào các

ứng dụng web theo phong cách 2.0 Vì được phổ biến rộng rãi, và có 1 cộng đồngngười dùng tích cưc, Zend được gọi là “Công ty PHP” Zend là 1 trong nhữngframework phổ biến nhất hiện nay Nó có các tính năng mạnh mẽ, thường được sửdụng cho các công ty lớn, và bạn cần phải có lượng kiến thức khá sâu rộng về PHP đểcó thể sử dụng được nó

Trang 20

Hình 2.3: CakePHP

CasePHP là 1 lựa chọn tuyệt với cho những lập trình viên có kiến thức nâng

cao về PHP Nó dựa trên cùng 1 nguyên tắc thiết kế với Ruby on Rails, là 1 frameworkmạnh về khía cạnh rapid development , giúp lập trình viên đẩy nhanh quá trình pháttriển ứng dụng của họ Với các hệ thống hỗ trợ, tính đơn giản và mỗi trường mở cao đãgiúp cho CakePHP trở thành 1 trong những framework phổ biến nhất hiện nay

Symfony

Hình 2.4: Symfony

Trang 21

Symfony được ra đời nhằm mục đích giúp đỡ nâng cao hơn cho những lập trình

viên muốn tạo ra các ứng dụng website doanh nghiệp Đây là 1 PHP framework mãnguồn mở với đầy đủ các tính năng cần thiết nhưng nó có vẻ chạy chậm hơn cácframework khác

Codelgniter

Hình 2.5: Codelgniter

Codelgniter được biết đến như 1 framework dễ hiểu và dễ sử dụng, cho hiệu

suất cao Không giống như Symfony, PHP framework này phục vụ mục đích lý tưởngcho việc xây dưng các ứng dụng chia sẻ , lưu trữ Nó cung cấp các giải pháp đơn giản,

và có một thư viện video hướng dẫn phong phú, diễn đàn hỗ trợ, và cung cấp sẵn 1hướng dẫn sử dụng cho người mới bắt đầu PHP framework này rất phù hợp cho 1người mới làm quen với framework

Trang 22

Hình 2.6: Seagull

Seagull cũng là 1 PHP framework tốt phục vụ cho việc xây dưng website và

các GUI Nó là 1 framework cực kỳ dễ sử dụng cho cả những người mới mới làm quenvới lập trình PHP đến những chuyên gia trong lập trình PHP Với những người mớilàm quen với lập trình PHP, Seagull cung cấp 1 thư viện các mẫu ứng dụng có thểđược tùy chỉnh để phù hợp với nhu cầu của bạn Đối với các chuyên gia PHP, Seagullcung cấp các tùy chọn máy chủ, bao gồm các phương pháp hay nhất, tiêu chuẩn, vàmodular codebase – giúp các lập trình viên xây dựng các ứng dụng web một cáchnhanh chóng và dễ dàng Seagull có một cộng đồng phát triển rộng lớn và nhiều tàiliệu hướng dẫn hỗ trợ

Trang 23

Nhìn chung PHP framework là 1 giải pháp tuyệt vời cho các lập trình viên

phát triển các kỹ năng như: giảm thiểu việc viết lại mã, tăng tốc quá trình phát triểnứng dụng, và chuẩn hóa mã lệnh khi xây dựng các ứng dụng web Không chỉ giúp cácbạn cải thiện tốc độ phát triển ứng dụng, nó còn giúp bạn giảm thiểu các lỗ hổng bảo

mật 1 cách triệt để PHP framework phù hợp cho cả những người mới làm quen hay

những bạn đã có kiến thức vững về PHP.

Ngoài các framework trên, còn một số PHP Framework phổ biến như: Prado,Solar Framework, Fuse, Yii PHP Framework, Akelos PHP Framework

Trang 24

2.4 Kohana Framework

2.4.1 Giới thiệu Kohana.

Với phiên bản hiện tại 3.1.3.1 (stable) thì gần như kohana đã đáp ứng đầy đủnhững features cần thiết để giúp người lập trình web(php) có thể dễ dàng xây dựngmột website theo mô hình MVC một cách nhanh chóng

Cấu trúc của Kohana Framework đuợc thiết kế một cách khá linh động, giúpngười sử dụng vừa sử dụng các features có sẵn mà kohana cung cấp, đồng thời chophép mở rộng (extends) các features mà không làm ảnh hưởng đến hệ thống

Một số tính năng nổi bật của Kohana:

Đây là PHP5 nên nó sử dụng toàn bộ sức mạnh của PHP hướng đối tượng

Hệ thống tập tin: Nó dễ dàng cho phép bạn mở rộng và thêm vào các mô-đun,thư viện, các mô hình và các file cấu hình

Dễ dàng cập nhật các phiên bản kohana framework mới

Dễ dàng tích hợp các vendors bên ngoài như các php template engines (smary,twig , rain tpl ), mail sender (swiff mail), tinymce

Tích hợp sẳn một số component: encryption, validation, data access (ORM),code profiling

Mục tiêu của Kohana:

Tất cả các post, get, cooker được kiểm tra để ngăn chặn các hành vi nguy hiểm

Nhẹ: Giảm thiểu tải các file và tiết kiệm tài nguyên.

Dễ sử dụng.

Trang 25

System path: là SYSPATH trong index.php Mặc định là system Tất cả cáccác chính hoặc file”core” và các lớp được định nghĩa ở đây.

Trang 26

Hình 2.9 Cascading Filesystem

Trang 27

Tài liệu là không tốt.

Hoàn toàn hướng đối tượng

Có thể tích hợp được các tính năng của Zend vào Kohana

2.4.4 Cài đặt Kohana.

 Download Kohana tại http://kohanaframework.org/download

Tiếp theo giải nén file zip source code và đặt tên thư mục là nameproject

Chúng ta sẽ đuợc cấu trúc thư mục cơ bản của một kohana project như sau:

Hình 2.10 thư mục Kohana

Trang 28

Đưa Project lên sever và kiểm tra môi trường trên sever có hoạt động không

Mặc định sẽ có 1 file install.php trong kohana source code, để kiểm tra xem server có

đáp ứng hầu hết các required để có thể run kohana php framework hay không

Hình bên dưới là kết quả khi test enviroment trên localhost:

Hình 2.11 Test enviroment

Xóa hoặc đổi tên file install.php trong file hệ thống

 Quy ước Base cho project:

Mở file “example.htaccess” thay đổi:

RewiteBase/

Thành:

RewiteBase/nameproject/

Trang 29

Sau đó lưu thành file “.htaccess”.

Mở file “application/Bootstrap.php” và thay đổi :

Kohana::init(array(

'base_url' => '/', ));

Thành:

Kohana::init(array(

'base_url' => '/nameproject/', 'index_file' => ' '

));

Cuối cùng chúng ta mở Browser http://localhost/nameproject và xem kết quả.

2.5 Simple Framework

2.5.1 Giới thiệu simple Framework MVC

Mô hình MVC cho Simple framework MVC

Trang 30

Hình 2.12 : Mô hình MVC cho Simple framework MVC

Simple framework MVC là một PHP framework theo cấu trúc MVC được viếttrên PHP4 và hỗ trợ cả PHP4 và PHP5 Nó là một tập hợp các thư viện viết sẵn trênPHP giúp chúng ta phát triển web bằng PHP nhanh hơn là cách viết lắp ghép thôngthường, các thư viện này giúp chúng ta thực hiện các tác vụ thông thường của một ứngdụng web như kết nối và thực hiện các công việc liên quan đến cơ sở dữ liệu, uploadfile, xử lý hình ảnh, phân trang, cookie, session, bảo mật … Đồng thời các thư việnnày cũng giúp chúng ta tổ chức code tốt hơn với mô hình MVC

Cơ bản về simple framework MVC, trong folder cse_wru application trong thư mụcsystem ta chú ý đến :

File htaccess để thực hiện rewrite URL, thay đổi request về file index.php sẽcó tham số route trong query string sẽ chuyển hướng tất cả các yêu đến thưmục css, images, js, upload…

File Index.php đóng vai trò là bootstrapper cho ứng dụng, nó sẽ nhận yêu cầu

và phân tích nội dung request để chuyển tới file php khác thực hiện xử lý thíchhợp Nó là nơi để cấu hình hoàn toàn trang web

File Defile.php dùng để kết nối với cơ sở dữ liệu, kết nối các thư mục …

Trang 31

Thư mục core là thư mục chứa các file cơ bản và tổng quát nhất :

Ta chú ý đến file ConfigDb.php dùng để cấu hình thông tin liên quan đến cơ

sở dữ liệu.Tại đây sẽ khai báo tất cả các bảng và các field ,khóa chính…trong cơ sở dữ liệu

File Config.php để điều phối hay chỉ đường, nó dùng để cấu hình thông tintên site.url

Ngoài ra trong thư mục này còn chứa các file như BaseLogic.php,BaseBlock.php, BaseDb.php… các file này gồm những hàm được viết tổngquát nhất.File BaseDb.php dùng để viết các hàm insert, update, delete vàselect tác động trực tiếp vào Database

Trong thư mục Action Nơi đặt các file thực hiện chức năng controller trongMVC ( điều hướng và xử lý yêu cầu )

Trong thư mục logic chứa các file thực hiện chức năng model trong MVC, cụthể ở đây có thể là các file giúp bạn thao tác với cơ sở dữ liệu theo yêu cầu từcontroller

Trong thư mục db sẽ truy xuất dữ liệu vào trong databse

Trong thư mục views chứa các file thực hiện tác vụ view trong mô hình MVC,cứ tạm xem nó là nơi chứa file giao diện cho ứng dụng Tại file này nó sẽ hiểnthị dữ liệu ra giao diện người dùng

Ngoài ra còn có các thư mục khác như image, upload ,css, js…

Tóm lại, trong MVC controler là phần kết nối điều khiển truy suất giữu view vàmodel View để hiển thị định dạng ra browser còn Model đóng vai trò là người quản lý

dữ liệu(truy suất hay cập nhật dữ liệu phải qua model)

2.5.2 Lợi ích khi sử dụng simple framework MVC

Việc phát triển sử dụng simple frameworks MVC cho nhiều lý do khác nhau,nhưng một số lý do cơ bản nhất và dễ hiểu nhất là tiết kiệm thời gian phát triển ứngdụng web PHP Dùng lại mã qua các dự án tương tự sẽ tiết kiệm được rất nhiều cácnhà phát triển một số lượng đáng kể về thời gian và nỗ lực trong dự án.simple

Trang 32

nhạt mã hóa, do đó, các nhà phát triển có thể dành nhiều thời gian của họ vào việc pháttriển các ứng dụng thực tế hơn là tái xây dựng nền tảng với nhau và mỗi dự án.

Khi làm việc trên một dự án có giới hạn về thời gian, sử dụng simpleframeworks MVC có vẻ như là một giải pháp tối ưu nhất nhằm đẩy nhanh quá trìnhviết mã Vì vậy, nếu bạn đang trong thời gian khủng hoảng và cấp bách nhất của dự ánđòi hỏi gấp rút về thời gian, PHP frameworks lợi thế sẵn có bạn có thể sử dụng bất kỳlúc nào bạn muốn Một ví dụ khác, nên xem xét là khi bạn làm việc trên một dự ánkiếm khá nhiều tiền… và giúp công việc trôi chảy kinh doanh phát đạt hơn

Nói tóm lại, sự sẵn có của simple frameworks MVC một điều tuyệt vời Bạnthậm chí có thể tạo riêng cho bạn, mặc dù các nhà phát triển nhiều bầu chọn từ bấtframeworks nổi tiếng nhất do sự phổ biến của chúng, hỗ trợ rộng lớn, và các diễn đàn/cộng đồng cho phép bạn tương tác với các nhà phát triển khác, những người sử dụngcùng một frameworks Lưu ý, bạn nên luôn luôn kiểm tra dự án đầu tiên của bạn đểquyết định xem bạn có nên sử dụng một frameworks hay không Một số câu hỏi bạnnên hỏi bản thân bạn là: nó sẽ giúp bạn tiết kiệm, và bất kỳ ai khác có thể sử dụng nó,thời gian và công sức? Ứng dụng sẽ hoạt động tốt hơn? Nó sẽ cải thiện sự ổn định?Nếu bạn có thể có câu trả lời bất kỳ câu hỏi nào, một simple frameworks MVC có thể

là câu trả lời đúng cho rằng dự án cụ thể

Trang 33

Chương 3 : GIỚI THIỆU GOOGLE MAPS API

3.1 Map API là gì?

Đó là một phương thức cho phép 1 website B sử dụng dịch vụ bản đồ của site A(gọi là Map API) và nhúng vào website của mình (site B) Một Map API tối thiểu phảicho phép tìm kiếm một địa điểm và đánh dấu trên bản đồ Đồng thời, người dùng cóthể sử dụng chuột để rê trên bản đồ (trực tiếp trên site B) để tìm kiếm vị trí mìnhmuốn

Dạo một vòng thị trường cung cấp Map API ở Việt Nam thì tìm thấy 4 nhà

cung cấp đáng để xem xét tiếp, đó là: 1650km, diadiem, vietbando và google map.

Mỗi công ty có mỗi cách thức cung cấp API khác nhau và style hiển thị bản đồ cũngkhác nhau

1650km.com: API của họ là miễn phí nên không cần lo ngại, chỉ theo các bước

họ chỉ dẫn trong trang http://www.1650km.com/Api/MapApiRegister.aspx là có thểnhúng được bản đồ vào website API của 1650km là hoàn toàn miễn phí Tuy nhiên thìchức năng của nó bị hạn chế Xem style ở hình dưới:

Hình 3.2 Map 1650km.com

Trang 34

vietbando(vietbando.vn), API của họ cũng miễn phí(http://www.vietbando.com/maps/), nhưng cái chức năng quan trọng nhất là tìm vị trícủa 1 địa chỉ lại…thu phí, và giá hàng tháng khoảng từ 1triệu-20triệu và tính dựa trên

số request Tuy nhiên, API của vietbando cũng khá hoành tráng, có khá nhiều chứcnăng (class, phương thức) giúp việc thao tác trên bản đồ được phong phú hơn, cú pháp

và cách hoạt động khá giống với Map API của google Xem style hình dưới:

Hình 3.2 Map Vietbando.vn

Diadiem(diadiem.com.vn trông bản đồ khá bắt mắt nhưng cũng khá rối Và

muốn sử dụng API của diadiem thi phải mất phí

Trang 35

Hình 3.3 Map diadiem

Với google map thì API là hoàn toàn miễn phí và được sử dụng rộng rãi trên

khắp thế giới Tuy miễn phí, nhưng chức năng của google maps thì rất phong phú

Hình 3.4 Google maps

Trang 36

3.2 Google map API

Như đã giới thiệu Google Maps là một dịch vụ bản đồ trực tuyến miễn phí đượccung cấp bởi công ty Google thông qua các trang web như Google Maps, Google RideFinder và được nhúng vào các trang web thứ 3 thông qua các hàm dịch vụ API Nócung cấp các dịch vụ khác nhau cho người xem như : Bản đồ đường phố, ảnh chụp vệtinh, tìm kiếm lộ trình đường đi, tìm kiếm địa chỉ…

Hình 3.5 Google maps

Google Maps API cho phép chúng ta có thể nhúng Google Maps vào trang web của mình Và để sử dụng các hàm API này, trước hết chúng ta phải đăng kí một tài khoản trên Google Maps để nhận API key, việc phát triển các ứng dụng web của chúng ta sẽ phụ thuộc vào key này Để sử dụng các hàm API, chúng ta phải chú ý đến

5 bước cơ bản sau:

Khai báo sử dụng Javascript của MAP API từ thẻ

Khai báo thành phần div với tên "map_canvas" để hiển thị bản đồ

Viết các hàm chức năng (function) để tạo ra đối tượng bản đồ

Xác định toạ độ địa lí của đối tượng trên bản

đồ.-Gán đối tượng trên bản đồ từ thẻ body bằng thuộc tính onLoad để đọc bản đồ

Trang 37

Chương 4 : PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

4.1 Phân tích hệ thống

4.1.1 Đối với người dùng

Website đảm bảo các yêu cầu sau:

Website cung cấp giao diện đồ họa trực quan cho người duyệt, có thể dễdàng tra cứu, tìm kiếm thông tin một cách nhanh chóng

Cung cấp chức năng tìm kiếm

Thông tin tìm kiếm được thể hiện rõ ràng

Website hiển thị các tin theo từng chuyên mục

Tương tác của người dùng với nội dung website qua phần comment

Mô tả yêu cầu chức năng:

Tìm kiếm thông tin bãi đỗ

- Mục đích: Tìm kiếm thông tin, vị trí các bãi đỗ.

- Dữ liệu vào: khu vực, từ khóa muốn tìm kiếm.

- Xử lý dữ liệu: Truy vấn cơ sở dữ liệu và trả về kết quả.

- Dữ liệu đầu ra: Danh sách kết quả tìm được.

Xem thông tin chi tiết

- Mục đích : Xem chi tiết thông tin, bài viết.

- Dữ liệu vào: Bãi đỗ, bài viết muốn xem.

- Xử lý dữ liệu: Truy suất dữ liệu từ database.

- Dữ liệu ra: Hiện thị thông tin chi tiết.

Trang 38

comment

- Mục đích: Đánh giá bãi đỗ.

- Dữ liệu đầu vào: Thông tin người đánh giá, chi tiết ý kiến đánh giá.

- Xử lý dữ liệu: Insert dữ liệu đầu vào.

- Đầu ra: Dữ liệu vừa cập nhập được hiển thị.

4.1.2 Đối với người quản trị

Website đảm bảo các yêu cầu sau:

Quản lý User: có thể cập nhật, thêm, xóa, phân quyền cho người sử dụng

Chức năng tìm kiếm cho người quản trị

Đăng xuất khỏi hệ thống

Mô tả yêu cầu chức năng:

Đăng nhập

- Mục đích: Quản ký và kiểm soát hệ thống.

- Dữ liệu vào: Tài khoản quản trị.

- Xử lý dữ liệu: Kiểm tra tài khoản

- Dữ liệu ra: Đưa người dùng đến trang quản trị hoặc báo lỗi và đăng nhập

lại(trong trường hợp tài khoản không hợp lệ)

Đăng xuất

- Mục đích: Người quản lý thoát khỏi hệ thống.

Ngày đăng: 14/10/2014, 00:46

HÌNH ẢNH LIÊN QUAN

Hình 2.2: The Zend Framework - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 2.2 The Zend Framework (Trang 21)
Hình 2.7: Kohana - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 2.7 Kohana (Trang 25)
Hình 3.2 Map 1650km.com - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 3.2 Map 1650km.com (Trang 35)
Hình 3.2 Map Vietbando.vn - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 3.2 Map Vietbando.vn (Trang 36)
Hình 3.3 Map diadiem - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 3.3 Map diadiem (Trang 37)
Hình 3.4 Google maps - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 3.4 Google maps (Trang 37)
Hình 4.3 Biểu đồ UserCase của hệ thống - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 4.3 Biểu đồ UserCase của hệ thống (Trang 45)
Hình 4.12 Mô hình Sequence Diagram chức năng thêm mới bài viết - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 4.12 Mô hình Sequence Diagram chức năng thêm mới bài viết (Trang 50)
Hình 4.15 Mô hình Sequence Diagram chức năng tìm kiếm và hiển thị danh sách bãi đỗ - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 4.15 Mô hình Sequence Diagram chức năng tìm kiếm và hiển thị danh sách bãi đỗ (Trang 52)
Hình 4.17 Mô hình Sequence Diagram chức năng  sửa thông tin bãi đỗ - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 4.17 Mô hình Sequence Diagram chức năng sửa thông tin bãi đỗ (Trang 53)
Hình 4.18 Mô hình Sequence Diagram chức năng  xóa thông tin bãi đỗ - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 4.18 Mô hình Sequence Diagram chức năng xóa thông tin bãi đỗ (Trang 53)
Hình 4.20 Mô hình Sequence Diagram chức năng  thêm mới chuyên mục - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 4.20 Mô hình Sequence Diagram chức năng thêm mới chuyên mục (Trang 54)
Hình 4.21 Mô hình Sequence Diagram chức năng  sửa chuyên mục - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 4.21 Mô hình Sequence Diagram chức năng sửa chuyên mục (Trang 55)
Hình 4.23 Mô hình Sequence Diagram chức năng  tìm kiếm và hiển thị danh sách Location - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 4.23 Mô hình Sequence Diagram chức năng tìm kiếm và hiển thị danh sách Location (Trang 56)
Hình 4.26 Mô hình Sequence Diagram chức năng  xóa Location - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 4.26 Mô hình Sequence Diagram chức năng xóa Location (Trang 57)
Hình 4.28 Mô hình Sequence Diagram chức năng  sửa comment - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 4.28 Mô hình Sequence Diagram chức năng sửa comment (Trang 58)
Hình 4.34 Thực thể par_baido trong hệ thống - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 4.34 Thực thể par_baido trong hệ thống (Trang 61)
Hình 4.41 Mô hình dữ liệu - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 4.41 Mô hình dữ liệu (Trang 65)
Hình 5.1 Giao diện trang chủ - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 5.1 Giao diện trang chủ (Trang 69)
Hình 5.2 Giao diện kết quả hình ảnh - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 5.2 Giao diện kết quả hình ảnh (Trang 70)
Hình 5.3 Giao diện chi tiết bãi đỗ - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 5.3 Giao diện chi tiết bãi đỗ (Trang 71)
Hình 5.4 Giao diện trang list bài viết - Ứng dụng google maps xây dựng website tìm bãi đỗ xe oto
Hình 5.4 Giao diện trang list bài viết (Trang 72)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w