Bài tập lớn project 1 đề tài ứng dụng google maps để quản lý và tìm kiếm thông tin cửa hàng
Trang 1VIỆN ĐIỆN TỬ - VIỄN THÔNG
BÀI TẬP LỚN PROJECT 1
QUẢN LÝ VÀ TÌM KIẾM THÔNG TIN CỬA HÀNG
Giáo viên hướng dẫn: PGS.TS.Vũ Văn Yêm
Sinh viên thực hiện:
Hoàng Thanh Tùng SHSV:20082996 Lớp ĐT7-K53
Phạm Văn Lam SHSV:2008 Lớp ĐT 8-K53
Dương Thị Thanh Phượng SHSV:2008 Lớp ĐT 9-K53 Nguyễn Hán Vũ SHSV Lớp ĐT 7-K53
Trang 2Hà Nội tháng 12/2011
Trang 3MỤC LỤC
CHƯƠNG 1: MỞ ĐẦU 3
1.1 Khái niệm bản đồ 3
1.2 Google Maps 3
1.3 Bản đồ số 4
1.4 Ứng dụng bản đồ số 5
1.5 Nội dung đồ án 6
CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG 7
2.1 Môi trường lập trình 7
2.2 Ngôn ngữ lập trình 7
2.3 Hệ quản trị cơ sở dữ liệu 8
2.4 Google Map API 9
CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG 10
3.1 Yêu cầu của hệ thống 10
3.2 Phân tích các yêu cầu về dữ liệu 11
3.3 Phân tích các yêu cầu về chức năng 11
3.3.1 Function diagram 11
3.3.2 Data flow diagram 13
CHƯƠNG 4: THIẾT KẾ HỆ THỐNG 17
4.1 Thiết kế cơ sở dữ liệu 17
4.2 Thiết kế giao diện 18
KẾT LUẬN 27
Trang 4CHƯƠNG 1: MỞ ĐẦU
1.1 Khái niệm bản đồ
Bản đồ là bản vẽ đơn giản miêu tả một không gian, địa điểm và hiển thị
những thông số liên quan trực tiếp đến vị trí ấy có liên quan đến khu vực xung quanh.
Theo các nhà bản đồ: Bản đồ là sự miêu tả khái quát, thu nhỏ bề mặt trái đất
hoặc bề mặt thiên thể khác trên mặt phẳng trong một phép chiếu xác định, nội dung của bản đồ được biểu thị bằng hệ thống ký hiệu quy ước.
Bản đồ hay được dùng nhất trong lĩnh vực địa lí Bản đồ địa lí thường có hai chiều nhưng vẫn biểu diễn một không gian có ba chiều đúng đắn Môn bản đồ học là môn khoa học về nghệ thuật vẽ bản đồ.
Bản đồ còn là một khái niệm được sử dụng trong sinh học để biểu thị một hệ thống nào đó, ví dụ như bản đồ gen.
Tỉ lệ của một bản đồ địa lí là tỉ số giữa một khoảng cách đo trên bản đồ và
khoảng cách ngoài thực địa Chẳng hạn, nếu 1 cm trên bản đồ ứng với 1 km ngoài thực địa thì bản đồ đó có tỉ lệ 1:100000, vì 1 km = 100000 cm Kí hiệu của tỉ lệ có dạng 1: M, trong đó số M chỉ khoảng cách thực tế lớn gấp bao nhiêu lần khoảng cách tương ứng đo trên bản đồ Bản đồ có tỉ lệ lớn thì càng chi tiết hơn và tương ứng với số M nhỏ hơn Bản đồ có tỉ lệ nhỏ kém chi tiết hơn và có số M lớn.
1.2 Google Maps
Google Maps (thời gian trước còn gọi là Google Local) là một dịch vụ ứng
dụng và công nghệ bản đồ trực tuyến trên web miễn phí được cung cấp bởi Googlevà hỗ trợ nhiều dịch vụ dựa vào bản đồ như Google Ride Finder và một số có thể dùng để nhúng vào các trang web của bên thứ ba thông qua Google Maps API Nócho phép thấy bản đồ đường xá, đường đi cho xe đạp, cho người đi bộ (những
Trang 5đường đi ngắn hơn 6.2 dặm (6.2x1.609~10km)) và xe hơi, và những địa điểm kinh
doanh trong khu vực cũng như khắp nơi trên thế giới
1.3 Bản đồ số
Khái niệm bản đồ số
Bản đồ số là một dạng của bản đồ được thể hiện bằng máy tính (bản đồ máy tính) Các dữ liệu được quản lý dưới dạng số hoá Bản đồ được biên tập và thành lập trên sự hỗ trợ của máy tính và các thiết bị ngoại vi khác.
Đặc điểm bản đồ số và những ưu điểm hơn hẳn của nó
Mỗi bản đồ số có một hệ quy chiếu nhất định thường là hệ quy chiếu phẳng. Mức độ đầy đủ các thông tin về nội dung và độ chính xác các yếu tố trong bảnđồ số hoàn toàn đáp ứng yêu cầu các tiêu chuẩn bản đồ theo thiết kế ban đầu. Bản đồ số thực chất là một tập hợp có tổ chức các dữ liệu trong một hệ quychiếu nhất định Tỷ lệ của bản đồ số không giống như tỷ lệ của bản đồ thông thư-ờng.
Hệ thống ký hiệu trong bản đồ số thực chất là các ký hiệu của bản đồ thôngthường đã được số hoá.
Bản đồ số có tính linh hoạt hơn hẳn bản đồ truyền thống có thể dễ dàng thựchiện các công việc như:
- Cập nhật và hiện chỉnh thông tin
- Chồng xếp hoặc tách lớp thông tin theo ý muốn- Dễ dàng biên tập và tạo ra phiên bản mới của bản đồ- Dễ dàng in ra với số lượng và tỷ lệ tuỳ ý
- Có khả năng liên kết và sử dụng trong mạng máy tính.
Việc sử dụng bản đồ số thuận lợi và có hiệu quả kinh tế cao, vì thế hiện nàytrong thực tế chủ yếu sử dụng nhiều trong các ứng dụng công nghệ mới như địnhvị, tra cứu địa điểm, dự báo khí tượng thủy văn,
Trang 61.4 Ứng dụng bản đồ số
Hiện nay, có nhiều phần mềm, website ứng dụng bản đồ số với giao diện trựcquan sinh động giúp người sử dụng linh hoạt không chỉ trong việc tìm đường màcòn tìm địa điểm vui chơi, giải trí, ăn uống và du lịch Những website tiêu biểunhư: www.vietbando.com, www.diadiem.com, www.1650km.com
Hình 1.1 Giao diện website www.1650km.com
Một số chức năng của website cần học tập: Tìm kiếm thông tin theo danh mục
Khi kích vào icon của cửa hàng thì hiện thông tin của cửa hàng đó
Trang 71.5 Nội dung đồ án
Qua việc tìm hiểu về bản đồ số và ý tưởng là muốn cung cấp cho người dùng thông tin cửa hàng một cách chính xác và trực quan, chúng em đã hình thành đượcnhững nội dung đồ án, đó là:
Tên đề tài:
Ứng dụng Google Maps để quản lý và tìm kiếm thông tin cửa hàng
Yêu cầu đặt ra:
Chức năng quản lý: Phần mềm giúp quản lý thông tin của cửa hàng thông qua việc thêm, sửa, xoá.
Chức năng tìm kiếm: Kết quả tìm kiếm trả về thông tin và vị trí của địa điểm mà khách hàng mong muốn.
Trang 8CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG
2.1 Môi trường lập trình
Microsoft.NET Framework SDK v3.0Microsoft Visual Studio 2010
Tính chất của lập trình hướng đối tượng là, những lớp thì định nghĩa những kiểu dữ liệu mới, cho phép người phát triển mở rộng ngôn ngữ để tạo mô hình tốt hơn để giải quyết vấn đề Ngôn ngữ C# chứa những từ khoá cho việc khai báo những kiểu lớp đối tượng mới và những phương thức hay thuộc tính của lớp, và cho việc thực thi đóng gói, kế thừa, và đa hình, ba thuộc tính cơ bản của bất cứ ngôn ngữ lập trình hướng đối tượng Ngôn ngữ C# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động các document cho lớp
Ngôn ngữ C# cũng hỗ trợ giao diện interface, nó được xem như một cam kết với một lớp cho những dịch vụ mà giao diện quy định.
Tại sao phải sử dụng ngôn ngữ C#
Trang 9Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nó được tạo từ nền tảng phát triển hơn Microsoft bắt đầu với công việc trong C và C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java.
Một số tiện lợi khi sử dụng ngôn ngữ này là:C# là một ngôn ngữ đơn giản.
C# là ngôn ngữ lập trình hướng đối tượng.C# lập trình theo hướng module và hiện đại.C# là ngôn ngữ mạnh mẽ và mền dẻo dễ sử dụng.C# ngôn ngữ mang tính chất phổ biến, thông dụng.
2.3 Hệ quản trị cơ sở dữ liệu
Microsoft SQL Server 2005 Express là một hệ thống quản lý cơ sở dữ liệu Sử dụng SQL để trao đổi dữ liệu thực hiện các câu kết nối và truy vấn vào bên trong dữ liệu nhằm lưu trữ dữ liệu một cách an toàn hơn Một hệ thống quản trị cơ sở dữ liệu bao gồm Databases, database engine và các ứng dụng dùng để quản lý dữ liệu.
SQL Server 2005 được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rấtlớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùnglúc cho hàng ngàn user SQL Server 2005 có thể kết hợp "ăn ý" với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server
SQL Server 2005 có rất nhiều phiên bản để cho từng đối tượng sử dụng Hiệnnay SQL Server đã phát triển lên đến phiên bản Microsoft SQL Server 2008, nhưng chúng tôi sử dụng phiên bản 2005 là vì cơ sở dữ liệu của phần mềm chúng tôi không lớn và do giới hạn về cấu hình máy, giá trị kinh tế….
2.4 Google Map API
Trang 10Google đã đưa ra Google Maps API cho phép các nhà phát triển để tích hợpGoogle Maps vào trang web của họ với các điểm dữ liệu riêng của họ Đây là một dịch vụ miễn phí, và hiện nay không chứa quảng cáo hay Geocoding, nhưng các trạng thái Google trong các điều khoản của họ sử dụng cho thấy rằng rằng họ có quyền để hiển thị các quảng cáo trong tương lai.
Bằng việc sử dụng Google Maps API chúng ta có thể nhúng toàn bộ Google Maps trang web vào một trang web bên ngoài Các nhà phát triển được yêu cầu để yêu cầu một mã khóa API, mà là bị ràng buộc vào trang web và thư mục đã nhập khi tạo khóa Khóa Google Maps API là không còn cần thiết cho API phiên bản 3 Khi tạo ra một bản đồ tùy chỉnh giao diện của Google yêu cầu thêm mã JavaScript vào một trang, và sau đó bằng cách sử dụng chức năng Javascript để thêm điểm vào bản đồ.
Khi API đầu tiên đưa ra, nó thiếu khả năng mã địa lý địa chỉ, đòi hỏi người dùng có thể tự thêm điểm trong (vĩ độ, kinh độ) định dạng Tính năng này đã được thêmvào cho từ đầu.
Đồng thời là việc phát hành của Google Maps API, Yahoo! phát hành bản đồ của riêng mình API Các bản phát hành trùng với trang Web O'Reilly 2.0 Hội nghị Yahoo! Bản đồ, mà thiếu sự hỗ trợ quốc tế, bao gồm một Geocoder trong bản phát hành đầu tiên.
Tính đến tháng 10 2006, việc thực hiện của Google Gadgets 'Google Maps là đơn giản, chỉ cần một dòng lệnh, nhưng nó không phải là tùy biến như API đầy đủ.
Trong năm 2006, Yahoo! bắt đầu một chiến dịch để nâng cấp các bản đồ của mìnhđể cạnh tranh tốt hơn với Google và các công ty bản đồ trực tuyến khác Một số các bản đồ được sử dụng trong một cuộc điều tra được tương tự như bản đồ của Google.
Google Maps tích cực khuyến khích việc sử dụng thương mại của các API của nó Một số đầu tiên của nó lớn quy mô đã được chấp nhận bất động sản mash-up các
Trang 11trang web Google thực hiện một nghiên cứu trường hợp về Nestoria, một công cụ tìm kiếm bất động sản ở Anh và Tây Ban Nha.
Trang 12CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG
3.1 Yêu cầu của hệ thống
Một phần mềm ứng dụng bản đồ thực hiện các yêu cầu sau: Quản lý thông tin cửa hàng
Tìm kiếm
Tìm kiếm nâng cao
Trong khuôn khổ bài tập lớn và thời gian có hạn, chúng em cố gắng hoàn thành2 chức năng là: quản lý thông tin và tìm kiếm.
3.2 Phân tích các yêu cầu về dữ liệu
Tên phần tửdữ liệu
Ý nghĩa Giá trị ví dụ Miền giá trịhợp lệ
Tên hàm kiểmtra dữ liệu1 Mã cửa hàng Mã số cửa
hàng trên bản đồ
01DG01 Chuỗi kí tự và số nguyêndương
Chuỗi kí tự Check_string
5 Kinh độ Kinh độ của cửa hàng trên Google Maps
29.075375 Số thực Check_num
6 Vĩ độ Vĩ độ của cửa hàng trên Google Maps
-106.171875 Số thực Check_num
Trang 137 SĐT liên hệ Số điện thoại liên hệ của cửahàng
01689936258 Số nguyên dương
8 Mã kiểu ngànhhang
Kí hiệu kiểu nghành hàng
AU Chuỗi kí tự Check_string
9 Tên kiểu ngành hàng
Tên kiểu ngành hàng
An uống Chuỗi kí tự Check_string
10 Mã ngành hang
Kí hiệu ngành hàng
01AU Chuỗi kí tựvà số
11 Tên ngành hang
Tên ngành hàng
Món ăn Á Chuỗi kí tự Check_string
3.3 Phân tích các yêu cầu về chức năng3.3.1 Function diagram
Trang 14Hình 3.1: “Sơ đồ chức năng”
Phần mềm có 3 chức năng chính: Quản lý cửa hàng, Tìm kiếm và Hỗ trợ người sử dụng.
Quản lý cửa hàng: là khả năng cho phép người phụ trách nhập dữ liệu có thểthêm mới thông tin cửa hàng, chỉnh sửa và có thể xoá chúng.
Tìm kiếm: là khả năng cho phép người sử dụng tìm kiếm địa điểm và thôngtin về 1 cửa hàng nào đó, có thể tìm thấy số cửa hàng trong 1 quận, và có thểtìm kiếm theo ngành hàng và theo toạ độ
Hỗ trợ: với chức năng này, người sử dụng có thể tìm hiểu thông tin về phầnmềm ứng dụng bản đồ…
Trang 153.3.2 Data flow diagram3.3.2.1 Context diagram
Hình 3.2: “Sơ đồ mức ngữ cảnh”
Trang 163.3.2.2 Other lever data flow diagram
Hình 3.3: “ Data flow Diagram High Level”
Trang 17Hình 3.4: “Data flow Diagram” - Function 1
Trang 18Hình 3.6 “Data flow Diagram” - Function 3
Trang 19CHƯƠNG 4: THIẾT KẾ HỆ THỐNG
4.1 Thiết kế cơ sở dữ liệu
4.1.1 Dữ liệu nhân viên:
STTTên thuộc tínhKhoá chính
Trang 20Khóa đề cử:Mã kiểu ngành hàng
Ta có các thuộc tính được chia làm 3 bảng gồm
-Bảng table_cuahang:Tên cửa hàng,Địa chỉ,Quận,Số điện thoại liên hệ,Kinh độ,vĩ độ phụ thuộc hàm đầy đủ vào Mã cửa hàng.
-Bảng table_nganhhang:Tên ngành hàng,Mã kiểu ngành hàng phụ thuộc hàm vào Mã ngành hàng.
-Bảng table_kieunganhhang:Tên kiểu ngành hàng phụ thuộc hàm vào Mã kiểungành hàng.
Như vậy ta có được sơ đồ thực thể liên kết như ở hình dưới(Tất cả đều đã ở dạng chuẩn 3NF)
4.1.2 Sơ đồ thực thể liên kết:
Trang 21Hình 4.1 Sơ đồ ERD
Trang 224.2 Thiết kế giao diện
Hình 4.2 Giao diện chính của phần mềm
Trang 23Hình 4.2 Giao diện chính của phần mềm
Menu chính của phần mềm gồm: Chức năng
Tìm kiếm
Trang 24Hình 4.3 Giao diện chức năng “Thêm cửa hàng”
Trang 25Hình 4.4 Giao diện chức năng “Sửa cửa hàng”
Trang 26Hình 4.5 Giao diện chức năng “Xoá cửa hàng”
Chức năng thêm và xoá cửa hàng thông qua các trường thông tin: Mã cửa hàng
Tên cửa hàng Địa chỉ
Số điện thoại liên hệ Mã ngành hàng Quận
Toạ độ: kinh độ và vĩ độ
Chức năng xoá thông qua xoá mã cửa hàng có trong cơ sở dữ liệu
Trang 27Hình 4.6 Giao diện chức năng “Tìm kiếm theo ngành hàng”
Trang 28Hình 4.7 Giao diện chức năng “ Tìm kiếm theo tên cửa hàng”
Trang 29Hình 4.8 Giao diện chức năng “Tìm kiếm theo quận”
Trang 30Hình 4.9 Giao diện chức năng “Tìm kiếm theo toạ độ”
Chức năng tìm kiếm theo 4 tiêu chí: Theo ngành hàng
Theo tên cửa hàng Theo quận
Theo toạ độ
Trang 31Kết quả tìm kiếm sẽ hiện thông tin cửa hàng và vị trí trên bản đồ nếu cửa hàng có trong cơ sở dữ liệu của phần mềm
KẾT LUẬN
Sau một thời gian thực hiện, với sự nỗ lực của cả nhóm có thể nói sản phẩmđã đáp ứng được cơ bản các tiêu chí đặt ra ban đầu Sản phẩm đơn giản nhưng hiệu quả, giao diện thân thiện với người dùng, các chức năng cơ bản được xây dựng khá tốt Bên cạnh đó, chúng em đã học hỏi được rất nhiều và đã chắp nối khá tốt các kiến thức được học trên lớp về lập trình Quá trinh làm đồ án đã giúp chúng em tích lũy và học hỏi được các kinh nghiệm trong cuộc sống, trong môi trường làm việc và bạn bè.
Tuy nhiên do điều kiện thời gian và kiến thức còn hạn hẹp sản phẩm không thểtránh khỏi còn nhiều thiếu sót Nhóm rất mong muốn có thể tiếp tục phát triểnphần mềm này trong thời gian tới, nâng cao hiệu quả, cải thiện các chức năng,thêm vào một số chức năng mở rộng đáp ứng các yêu cầu mới của chương trình.Nếu được đầu tư và phát triển nhóm tin rằng sản phẩm hoàn toàn có khả năng ứngdụng trong thực tế.
Nhóm chúng em xin chân thành cảm ơn PGS-TS Vũ Văn Yêm và anh Quangtrên phòng RD Lab đã nhiệt tình hướng dẫn nhóm,cung cấp tài liệu,sát sao nhắcnhở tình hình nhóm để nhóm có thể hoàn thành sản phẩm này.
Trang 32Tài liệu tham khảo:
1 PGS,TS Nguyễn Kim Anh, Nguyên lý của các hệ cơ sở dữ liệu, Nhà xuất bản Đại học Quốc gia, 2004.
2 Giáo trình cơ sở dữ liệu –Học viện Công nghệ bưu chính viễn thông3 Các tài liệu hướng dẫn về C# và ASP.Net trên các diễn đàn và forum.4 “Lập trình WEB dùng ASP.net và C#-Tập 5”Dương Quang Thiện