Đồ án Xây dựng ứng dụng Web cho phép tham quan du lịch và đặt tour du lịch trên mạng du lịch Phú Yên

Để tiếp cận công nghệ thông tin vào đời sống nói chung và các dịch vụ đăng ký từ xa nói riêng là nhu cầu không thể thiếu trong xu thế phát triển hiện nay. Tin học hóa đã mang lai nhiều thuận lợi cho sự phát triển đời sống. Khoảng cách, thời gian, địa điểm và con người không còn là vấn đề nữa. Việc hội nhập ứng dụng Web đã giải quyết được vấn đề đó. Trở lại vấn đề “Xây dựng ứng dụng Web cho phép tham quan du lịch và đặt tour du lịch trên mạng” mặc dù đề tài chưa giải quyết được nhiều, nhưng qua đây cho thấy việc khách phải đến các quầy vé để tìm kiếm và đặt cho minh tấm vé như ý là việc không phải làm nữa. Ngược lại mọi thông tin liên quan đến chuyến du lịch, giá cả, ngày đi ngày về và các hướng dẫn đều được đưa lên Web, cho phép người sử dụng xâm nhập trực tiếp vào hệ thống website để đăng ký vé du lịch. Tồn bộ dữ liệu đăng ký được lưu trữ tập trung tại công ty. Việc đăng ký trở nên đơn giản và thuận tiện tạo cảm giác thỏa mái cho khách hàng, được hướng dẫn cụ thể nên việc đăng ký tốn ít thời gian và độ tin cậy cao. Trước ngày khởi hành, khách hàng chỉ cần gửi tiền thanh tốn cho bộ phận bán vé là khách hàng có thể yên tâm cho chuyến đi của mình và không cần phải đến quầy vé để liên hệ lại. Vé được giao cho khách hàng tùy theo yêu cầu hoặc khách hàng có thể đến tại quầy vé của công ty nhận vé và thanh tốn. Tất cả khách tham gia chuyến đi đều được hẹn tại một địa điểm thuận lợi để xe của công ty đến đón và bắt đầu cho chuyến tham quan.

doc60 trang | Chia sẻ: maiphuongtl | Lượt xem: 2153 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Xây dựng ứng dụng Web cho phép tham quan du lịch và đặt tour du lịch trên mạng du lịch Phú Yên, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ASP cho phép ta quản lý việc truyền nối giữa trình duyệt và Web server, và tạo được hình thức động của trang Web và phản hồi lại cho người dùng. ASP có thể cho phép ta truy cập đến cơ sở dữ liệu và quay trở về với kết quả ngắn nhất trên Website, cập nhật nội dung trên Website khi thay đổi. ASP là một môi trường để thực thi các component nên tùy theo yêu cầu mà người sử dụng có thể thiết kế ra các component khác nhau, phục vụ cho những mục đích khác nhau và đưa các component đó vào thực thi trên môi trường ASP. Đây là một lợi điểm của ASP, khi ta muốn nâng cấp hay phát triển, thay đổi chương trình thì chỉ cần thay thế các component mà không cần phải thay đổi tồn bộ chương trình đó. Chính vì vậy, ASP hơn hẳn CGI và JSP do tính độc lập và dễ phát triển , nên hệ thống sử dụng ASP làm môi trường thuận lợi cho thiết kế Web Internet Information Service (IIS) hỗ trợ ổn định, giúp cho nhà quản trị mạng dễ dàng trong việc quản trị mạng. Ngồi ra còn hỗ trợ cho ASP thực thi nhanh hơn. Sự khác biệt giữa ASP và các kỹ thuật mơí khác là ASP thực thi trên web server trong khi các trang lại được phát sinh từ những kỹ thuật khác được biên dịch bởi browser (hay client). Những lợi điểm mà ASP dùng thích hợp hơn là dùng CGI và Perl. 4. Các chức năng của ASP Đọc những yêu cầu từ trình duyệt . Tìm trang cần thiết trong server. Thực hiện bất cứ những giới thiệu đã cung cấp trong ASP để cập nhật vào trang Web. Gets page Client Web Server Hello Hello Interprest ASP code Server Response HTTP Resquest Browser creates the web page Sau đó gửi trả về cho trình duyệt. II. Các vấn đề cơ bản xây dựng các ứng dụng trên ASP 1. Tập tin Global.asa Tập tin Global.asa là tập tin tùy chọn, có thể khai báo các script đáp ứng biến cố, các object trong ứng dụng hay các session (các phiên làm việc). Đây là tập tin mà người dùng không cần thực thi vẫn tự động thực thi, khi chương trình trên server thực thi. Thông tin chưá là những thông tin được dùng cho tồn cục. Tập tin này đặt tên là Global.asa và được đặt trong thư mục gốc của ứng dụng. Mỗi ứng dụng chỉ có một tập tin Global.asa duy nhất: Application, Events, Session Events. Những script trong tập tin Global.asa có thể được viết bởi bất cứ ngôn ngữ nào có thể hổ trợ cho scripts. Nếu script được viết cùng một ngôn ngữ thì có thể kết hợp chung trong một thẻ tag duy nhất. Khi thay đổi tập tin Global.asa và lưu lại thì server dừng việc xử lý và yêu cầu ứng dụng hiện thời trước khi biên dịch lại tập tin Global.asa. Trong thời gian này server từ chối các yêu cầu khác và gửi thông báo: “Yêu cầu không thể xử lý khi ứng dụng đang khởi động lại”(“The request can not processed while application is being restarted.”). Sau khi yêu cầu (request) đã xử lý xong thì server sẽ xố bỏ tất cả các session đang thực thi. Gọi biến tương ứng Session_OnEnd tương ứng mà server xố, tiếp theo là biến cố Application_OnStop. Sau khi tập tin Global.asa được biên dịch lại yêu cầu của người dùng và sẽ khởi động lại ứng dụng. 2. Có thể dùng ASP để xem trên Netscape hoặc Internet Explorer ASP được thực thi trên server, có nghĩa là ta có thể dùng bất cứ trình duyệt nào để xem kết quả. ASP có thể được xem dễ dàng trong trình Netscape Navigator hay Internet Explorer. Tuy nhiên, ta cần chú ý đến web server phải có khả năng chạy ASP. 3. Active Web Sites Active websites vớí nhiều kỹ thuật mới, chúng được kết hợp xây dựng vơí nhiều ngôn ngữ và các kỹ thuật, ta có thể dùng bất kỳ một trong những kỹ thuật ngôn ngữ này: - ActiveX Controls: được tạo bởi các ngôn ngữ như Visual C++ hay Visual Basic. Java…. - Ngôn ngữ kịch bản (Scripting Language) như: VBScript và JavaScript/JScript/ECMAScript. - Active Server Page và Dynamic HTML. III. Các thành phần cơ bản trong ASP 1. Active Server Objects Gồm có 6 objects : - Request. - Response. - Server. - Application. - Session. - ObjectContext. Mô hình đối tượng của ASP CLIENT SERVER Response Object Request Object Server Object Application Object Session Object ObjectContext Object Request được tạo trong hình thức nhập từ một trang HTML. Response dùng để trả lời kết quả từ server cho browser . Server dùng để cung cấp nhiều chức năng như tạo một object mới. Application và Session dùng để quản lý thông tin về các ứng dụng đang chạy trong chương trình. ObjectContext dùng với Microsoft Transaction Server. 2. Request Object. Cho phép ta lấy thông tin dọc theo yêu cầu HTTP. Việc trao đổi bên ngồi từ server bị quay trở về như một phần của kết quả (Response). Request tập trung nhiều đến phần lưu trữ thông tin. Đối tượng Request có thể được tóm tắt như sau: Request Object Collections QueryString Forms ServerVariables Cookies Clientcertificate Properties TotalByte Methods * BinaryRead Các Request object QueryString: lưu trữ một tập những thông tin để vào địa chỉ cuối(URL). vd: Form: lưu trữ một tập tất cả các biến gửi đến HTTP request. vd: ClientCertificate: Khi client tạo một tập với một server yêu cầu sự bảo mật cao. ServerVarialbles: Khi client gửi một yêu cầu và thông tin được đưa tới server, nó không chỉ gửi qua mà còn thông tin việc ai tạo trang, tên server và cổng mà yêu cầu gửi đến. vd: 3. Response Object Cung cấp những công cụ cần thiết để gửi bất cứ những gì cần thiết trở về client. Đối tượng Response có thể được tóm tắt như sau: Response Object Collections Cookies Properties Buffer CacheControl Charset ContentType Expires ExpiresAbsolute IsClientConnected PICS Methods AddHeader AppendToLog BinaryWrite Clear End Flush Redirect Write Những phương thức của Response Object Write: ghi biến, chuỗi, cho phép ta gửi thông tin trở về browser. Vd: text = “Hello World!” Response.Write text My message is Clear: cho phép ta xố bỏ bất cứ vùng nhớ bên ngồi HTML. End: cho phép ngừng việc xử lý tập tin ASP và dữ liệu đệm hiện thời quay trở về browser. Flush: cho phép dữ liệu đệm hiện thời quay trở về browser và giải phóng bộ đệm. Redirect: cho phép ta bỏ qua sự điều khiển của trang hiện thời nối kết vào trang web khác. vd: <% If (Not Session(“LoggedOn”)) Then Response.Redirect “login.asp” End If %> Những đặc tính của Response Object Buffer : định rõ trang. CacheControl: Xác định proxy server được cho phép phát sinh ra do ASP. Charset: Nối thêm tên ký tự vào đầu content-type. ContentType: HTTP content type cho phần trả lời. Expires: Số lần phát sinh giưã lần lưu trữ và phần kết thúc cho một trang lưu trữ trên browser. ExpiresAbsolute: Ngày giờ được phát sinh trên browser. IsClientConnected: Client ngưng việc kết nối từ server. Status: Giá trị của HTTP status quay trở về server. 4. Application Object Mỗi ứng dụng được trình bày bởi một Application object. Đây là đối tượng được chưá các biến và các đối tượng cho phạm vi ứng dụng. Đối tượng Application có thể được tóm tắt như sau: Application Object Collections Contents StaticObject Events onStart onEnd Methods Lock UnLock Những tập các Application object Content: chứa tất cả các mẫu tin thêm vào ứng dụng thông qua các lệnh script. StaticObjects: Chưá tất cả các đối tượng thêm vào ứng dụng bằng thẻ Những phương thức của Application object Lock: ngăn chặn các client khác từ việc cập nhật đặc tính ứng dụng. Unlock: cho phép các client cập nhật đặc tính ứng dụng. Những sự kiện của Application object OnStart: xảy ra khi trang web trong ứng dụng được tham chiếu lần đầu. OnEnd: xảy ra khi ứng dụng kết thúc, khi web server ngưng hoạt động 5. Session Object Được dùng để kiểm tra trình duyệt khi trình duyệt hướng qua trang web. Đối tượng Session có thể được tóm tắt như sau: Session object Collections Contents StaticObjects Properties CodePage LCID SessionID Timeout Methods Abandon Events onStart oEnd Tập các Session Object Content: chưá tất cả các mẩu tin thêm vào session thông qua các lệnh script. StaticObject: chưá tất cả các đối tượng thêm vào session bằng thẻ . Những phương thức của Session Object Abandon: Huỷ một session và giải phóng session ra khỏi nguồn. Những đặc tính của Session Object CodePage: lấy đoạn mã sẽ dùng cho symbol mapping. LCID: lấy nơi định danh. SessionID : quay trở về định danh phiên làm việc cho người dùng. Timeout : lấy khoảng thời gian cho trạng thái phiên làm việc cho ứng dụng trong vài phút. Những sự kiện của Session Object OnStart: xảy ra khi server tạo một session mới. OnEnd: xảy ra khi một session đã giải phóng hay hết giờ làm việc. 6. Server Object Ta có thể tóm tắt đối tượng server như sau: Server Object Collections Không có Properties ScripTimeout Methods CreateObject HTMLEncode MapPath URLEncode Events Không có Những đặc tính của Server object ScriptTimeOut: khoảng thời gian dài khi script chạy trước khi xảy ra lỗi. Những phương thức của Server object CreateObject: Tạo một đối tượng hay server component. HTMLEncode: Ứng dụng HTML vào chuỗi chỉ định. MapPath: Chuyển đường dẫn ảo vào đường dẫn vật lý. URLEncode: áp dụng địa chỉ URL. IV. Quản lý ASP và Session Một trong những lợi ích của ASP là có phiên làm việc (Session) quản lý tốt, được xây dựng trong chương trình. Đối tượng Session là duy trì thông tin lưu trữ cho những phiên làm việc của người dùng trong vùng nhớ trên Server. Người dùng được cung cấp một Session ID duy nhất mà ASP sử dụng để nối kết các yêu cầu của người dùng với các thông tin đặc biệt đến Session của người dùng đó. Điều này cho phép Session nốí kết các yêu cầu của những trang Web. Các thẻ định dạng của ASP Các đoạn mã chương trình đều chưá trong thẻ . Qui ước này thường là quen thuộc đối với chúng ta nếu ta làm việc vơí bất cứ loại lệnh server-side nào trong HTML. Các thẻ này thể hiện phần xử lý đoạn mã của ASP thực thi và chuyển kết quả từ server. Thẻ định dạng của ASP cần dựa vào một ngôn ngữ kịch bản nào đó để thể hiện như: VBScript, JavaScript ... V. Vài nét về Scripting Language Cung cấp nhiều cổng truy cập vào chương trình.Việc dùng trang web client-side script phát triển để cung cấp từ trang HTML động đến trang HTML tĩnh. JavaScript là ngôn ngữ kịch bản đầu tiên. VBScript do Microsoft phát triển và dựa vào ngôn ngữ Visual Basic. Scripting chạy trên trình duyệt Internet Explorer 3.0 và trong trình Netscape Navigator/ Communication 2.0. Internet Explorer 4.0 hổ trợ cả hai ngôn ngữ: JScript và VBScript . Hình thức ngôn ngữ kịch bản dựa trên nền tảng ASP. ASP thực thi do web server hơn là trình duyệt. Ngôn ngữ kịch bản có thể được dùng để truy cập những bit khác nhau và những mảng mà ASP cung cấp là object. Nhận xét Không giống như CGI, ASP là một ngôn ngữ lập trình máy chủ, chương trình kết nối với web server thông qua vài biến môi trường và tham số. ASP tương thích với việc nâng cấp với web server và cải tạo chương trình. ASP thích hợp với nhiều cách thức khác nhau, có khả năng quan trọng nhất trong việc xử lý các đối tượng được xây dựng sẵn. Các ưu điểm của ASP là: Có khả năng đọc đúng các trường (field) khi có yêu cầu vào của HTML (Request) Có khả năng xuất ra các trường (field) Response. Nhiều kỹ thuật lưu trữ trạng thái thông tin thông qua các biến ứng dụng Session. Khả năng truy cập vùng tài nguyên và các đặc điểm giao tác của MTS (Microsoft Transaction Server). Truy cập vài hàm linh tinh khác có ích. Có khả năng làm rõ ràng, đơn giản các HTML và mã Script trong một tập tin đơn. VI. Truy xuất cơ sở dữ liệu trong Active Server Page Ở phần trên chúng ta đã biết về các khái niệm tổng quát về Active Server Page và các thành phần cần có khi xây dựng một ứng dụng, trong phần này sẽ trình bày kỹ hơn về Active Data Object, đây chính là ưu điểm mạnh nhất cho việc phát triển ứng dụng cơ sở dữ liệu trên Web (Web Database). Active Data Object bao gồm các đối tượng sau: Các Object chính trong đó là: Connection, RecordSet và Command, ngồi ba Object chính này còn có các Object, tham số, thuộc tính, phương thức con. Sử dụng Connection ta thể thiết lập sự liên kết với cơ sở dữ liệu, thông qua đó ta có thể thực hiện các Query để lấy ra các record hoặc cập nhật một record bằng cách sử dụng Command object. Kết quả thực hiện các query trên database sẽ được lưu vào đối tượng RecordSet, trên đối tượng này ta có duyệt và lấy ra một hay nhiều Record. 1. Đối Tượng Connection Để sử dụng đối tượng Connection, trước tiên ta phải tạo ra một instance cho nó, đây thực sự là một thể hiện của Object này trong trang ASP. Cú pháp: <% Connection_name=Server.CreatObject(“ADODB.Connection”) %> Các ứng dụng cơ sở dữ liệu truyền thống đều tạo một mối liên kết tới database mà nó sử dụng, còn các ứng dụng Database trên web lại mở và đóng các liên kết này ở mỗi trang web. Một phương pháp cho các ứng dụng Database trên web là tạo một sự liên kết liên tục với cơ sở dữ liệu của từng user và lưu trữ trong đối tượng Session. Tuy nhiên phương pháp này có thể làm gia tăng số lượng các user kết nối tới cơ sở dữ liệu mà không làm việc và nó chỉ đạt được độ tin cậy đối với các web site có sự lưu thông dữ liệu thấp. Các Phương Thức Của Đối Tượng Connection Open method: Sử dụng để mở một kết nối với Database. Sau khi tạo một instance cho Connection Object, ta có thể mở một kết nối với data source để có thể truy xuất dữ liệu, cú pháp cho phương thức trong JavaScript như sau: Connection.Open (“ConnectionString User Password”). Trong đó: ConnectionString là chuỗi định nghĩa tên của data Source (DNS), tên này được khai báo trong ODBC (32bit). User và Password sẽ thực hiện việc mở Data Source. Execute method: Phương thức này cho phép thực thi một câu lệnh, tác động lên data Source. Theo trình tự, sau khi đã có một kết nối tới Datasource, ta có thể sử dụng nó với phương thức Execute với cú pháp như sau: Connection.Execute( Commantext, RecordAffected, options) Trong đó thông số option có các giá trị khác nhau tương ứng với mỗi loại CommanText. Các giá trị của Option theo bảng sau: Giá trị Danh hiệu hằng tương ứng Mô tả CommanText 0 AdCmdUnknown Giá trị này mặc định khi định nghĩa 1 AdCmdText CommandText là một câu lệnh (ví dụ như SQL) 2 AdCmdTable Tên của Table mà ta sẽ tạo một RecordSet từ đó 3 AdCmdStoredPro Một stored procedure trong data source Thông thường các giá trị trên sẽ được gán cho tên (danh hiệu), hằng và được đặt trong các file include. Close method: Trong các trang ASP, sau khi đã xử lý xong dữ liệu trên data source, trước khi kết thúc trang sử dụng phải đóng lại các kết nối đã mở. Việc đóng kết nối thực hiện nhờ phương thức Close. Cú pháp: Connection.Close() Nếu chương trình không thực hiện việc này thì ASP sẽ tự động đóng Connection đã mở trong trang, mỗi khi người sử dụng tham khảo qua trang khác (đi khỏi tầm vực của biến instance). Nếu ta tạo instance và mở kết nối trong các thủ tục Application hoặc session OnStart thì việc đóng các Connection này sẽ được thể hiện trong thủ tục OnEnd. 2. Đối tượng Command Thay vì phải sử dụng phương thức Execute của đối tượng Connection để query hay update data source, ta có thể sử dụng đối tượng Command để thi hành các thao tác với cơ sở dữ liệu. Các thuộc tính (Properties). ActiveConnection: Chỉ định đối tượng Connection nào được sử dụng trong đối tượng Command. CommandText: Chỉ định câu lệnh cần thực thi trên cơ sở dữ liệu. CommandTimeOut: Xác định thời gian thực thi lệnh, giá trị thời gian thực thi được tính theo giây. CommandType : Cho biết kiểu của query đặc tả trong CommandText. 3. Đối tượng Recordset. Bằng cách sử dụng đối tượng Connection ta có thể thực thi các query để thêm (add), cập nhật (update), hay xóa (delete) một record trong data source. Tuy nhiên trong các ứng dụng thì ta cũng phải thực hiện việc lấy ra các Record từ ADO, để hiển thị giá trị chúng trong trang web. Để lấy lại kết quả trả về từ các Query, chúng ta phải sử dụng đối tượng RecordSet, thực chất nó được hiểu như một bảng trong bộ nhớ, và nó cung cấp cho ta các phương thức (method), thuộc tính (properties) để dễ dàng truy xuất các Record trong nó. Các method AddNew: Là phương thức dùng để tạo ra một record trong Update Recordset. Close: đóng lại đối tượng Recordset và các đối tượng con của nó. Delete: Xóa đi record hiện hành trong Recordset. Move: Dịch chuyển vị trí Record hiện tại. - MoveFirst - MoveNext Các phương thức dịch chuyển con trỏ - MovePrevious - MoveLast Open : Mở một record mới, sau khi mở xong thì con trỏ nằm ở Record đầu tiên trong recordset. Các Properties AbsolutePosition : Số thứ tự của Record hiện tại. BOF (Begin Of File): Có giá trị True nếu vị trí con trỏ nằm ở record đầu tiên. CursorType : Kiểu con trỏ được sử dụng trong RecordSet. EOF (End Of File): Có giá trị True nếu vị trí con trỏ nằm ở record cuối cùng trong Recordset. RecordCount: Trả về số record trong Recordset. a. Tạo Recordset Để có được một biến Recordset ta sử dụng phát biểu tạo instance cho nó như sau: Recordset_name = Server.CreateObject (“ADODB.Recordset”). Sau khi đã có biến recordset rồi ta có thể khởi tạo giá trị cho nó bằng cách lưu kết quả trả về, mỗi khi thi hành các phương thức Execute của đối tượng Connection ví dụ như : Recordset_name=ConnetionObject.Execute(CommandText, Recordaffected, option) Ta cũng có thể tạo một recordset bằng cách sử dụng phương thức Open theo cú pháp sau: Recordset_name.Open (Source, ActiveConnection, CursorType, LockType, Option). Trong đó: Source là Command Object, hay một lệnh SQL, hoặc là một Stored procedure. ActiveConnection là tên của Connection đã được mở kết nối với cơ sở dữ liệu cần làm việc. CursorType là kiểu của con trỏ sử dụng khi mở Recordset, thông số này có kiểu số, và được đặt bằng các tên hằng tương ứng như : AdOpenForwardOnly = 0 là giá trị mặc định, khi chọn thông số này thì Record được mở ra chỉ để cho phép ta duyệt các record trong nó theo một chiều từ đầu đến cuối, tùy chọn này cũng không cho phép ta cập nhật hay xóa bỏ các record trong đó. AdOpenKeyset = 1 Khi mở recordset ở chế độ này, recordset được mở có khả năng cho phép ta cập nhật các record, tuy nhiên nó ngăn cản sự truy xuất tới một record mà User khác thêm vào Recordset. AdOpenKeyset = 2 Chế độ này cho phép tất cả các thao tác như thêm vào, loại bỏ, sửa đổi record trong recordset. Cho phép thấy được sự thay đổi đó trên record do user khác thực hiện. Ở chế độ này cho phép người sử dụng duyệt theo tất cả các chiều (lên xuống) trong recordset. AdOpenStatic= 3 Gần giống như chế độ OpenForwardOnly. LockType là kiểu Locking sử dụng khi mở Recordset. Bao gồm các giá trị sau: AdLockReadOnly = 1 ta không thể thay đổi dữ liệu khi mở bằng chế độ khóa này. AdLockpessimistic = 2 cho phép thay đổi dữ liệu trên record, sự thay đổi này sẽ có tác dụng tức thời ngay trên data source. AdLockOpetimistic = 3 sẽ khóa record mỗi khi ta update. AdLockBatchOptimistic = 4 Thực hiện việc cập nhật theo bó (Batch update). b. Đóng Recordset Sau khi sử dụng xong một Recordset, hay trước khi mở lại ta phải thực hiện việc đóng recordset lại bằng phương thức Close với cú pháp: Recordset_name.Close() c. Duyệt Qua Các Record Trên Recordset Khi ta đã có một Recordset, để hiển thị hay truy xuất tới mỗi record trong đó ta có thể sử dụng các phương thức duyệt như: Movenext, Movefirst, Movelast, MovePrevious. Vị trí hiện tại của con trỏ cũng là record mà ta sẽ lấy được nội dung khi ta muốn lấy được nội dung của Record kế tiếp hay phía trước, cũng như các record ở vị trí đầu, cuối của recordset. Ta sử dụng các phương thức di chuyển con trỏ: Movenext, Movefirst, Movelast, MovePrevious. Với cú pháp: Recordset_name.Movenext(); Recordset_name.MoveLast(); Recordset_name.MovePrevious(); Recordset_name.MoveFirst(); Khi di chuyển như vậy để tránh việc đưa con trỏ tới các vị trí không xác định. Thông thường ta sử dụng các thuộc tính của Recordset như BOF, EOF. Các thuộc tính này có ý nghĩa như sau: Nếu BOF có giá trị True nghĩa là con trỏ ở vị trí đầu Recordset, khi Recordset mới được mở thì BOF luôn có giá trị này. Khi con trỏ đã đi qua record cuối cùng trong Recordset, thì EOF sẽ có giá trị True. Phần II XÂY DỰNG HỆ THỐNG WEBSITE DU LỊCH Chương 4 MỤC ĐÍCH YÊU CẦU I. Mục đích yều cầu đặt ra khi xây dựng hệ thống website dịch vụ du lịch 1. Mục đích Nhằm đáp ứng nhu cầu mở rộng, giới thiệu, quảng cáo và cung cấp các dịch vụ cho các công ty dịch vụ du lịch. Thông tin luôn được cập nhật mới và luôn đáp ứng được nhu cầu tìm kiếm thông tin, đăng ký dịch vụ, bên cạnh đó còn tiết kiệm được thời gian và chi phí cho khách hàng. Thuận tiện cho nhà quản trị trong việc quản lý khách hàng. Những yêu cầu đặt ra khi thiết kế hệ thống Web du lịch Hệ thống cho phép nhiều người truy cập cùng một lúc trên mạng Internet. Hệ thống cho phép tra cứu tất cả các thông tin về dịch vụ du lịch, tra cứu nhanh về khách hàng, tìm hiểu về hệ thống, tra cứu những thông tin liên quan đến công ty trên mạng nhằm giảm thiểu thời gian tìm kiếm. Hệ thống cho phép người dùng truy cập thường xuyên, đòi hỏi chương trình tổ chức cơ sở dữ liệu lưu trữ các thông tin sao cho tối ưu hiệu quả, tránh thiếu sót mất mát và sai kết quả. Hệ thống cho phép người quản trị thay đổi, cung cấp thông tin đến người dùng. Chương trình có khả năng dễ nâng cấp, dễ thay đổi trong tương lai. Hổ trợ cho nhà quản trị + An tồn khi đăng ký dịch vụ, quản lý một user: Để đảm bảo thông tin của khách hàng khi đăng ký dịch vụ không bị người khác xâm nhập. Mỗi khách hàng khi đăng ký sẽ được cấp một Account. Nếu quên Account thì có thể đăng ký cái khác. Nhằm tạo sự thân thiện cho khách hàng khi đăng ký. + Truy xuất Database thông qua Internet: Mỗi khách hàng khi đăng ký dịch vụ chỉ được phép truy cập vào Database ở một số bảng và một số Field nhất định nhằm đảm bảo được vấn đề an tồn dữ liệu cho hệ thống. + An tồn trên đường truyền: Đây là một vấn đề lớn hiện nay, việc thanh tốn tiền bằng thẻ tín dụng thông qua mạng đang được xây dựng. Tuy nhiên, việc khách hàng gửi thông tin đi bình thường là một bước cố gắn của đề tài. Hổ trợ cho nhà quản trị: Có thể thao tác trên cơ sở dữ liệu thông qua giao diện Web như đọc, ghi, chỉnh sửa, thống kê dữ liệu… công thức tính hố đơn đăng ký dịch vụ. Ngồi ra nhằm để an tồn cho hệ thống nhà quản trị sẽ có mật khẩu truy cập hệ thống. II. Tổ chức cơ sở dữ liệu của website du lịch 1. Phân tích hệ thống Yêu cầu đề tài: xây dựng hệ thống cung cấp các dịch vụ du lịch trên Internet. Đề tài trong đó chủ yếu là xử lý quá trình cung cấp các dịch vụ giữa các công ty và khách hàng là những người sử dụng Internet. Ở đây khách hàng có thể đăng ký như là đăng ký tại khách sạn hay các điểm du lịch… nhưng chỉ khác là đăng ký gián tiếp qua mạng. Vậy thì nhiệm vụ của chúng ta là làm thế nào để đáp ứng được đầy đủ các nhu cầu đầy đủ của khách hàng. Hoạt động của khách hàng: bao gồm các hoạt động chính sau Hoạt động của khách hàng. Hoạt động của nhà quản lý. Hoạt động của các đối tác cung cấp dịch vụ. Tuy nhiên trong giới hạn của bài tốn chúng ta chỉ quan tâm hai loại hoạt động chính là hoạt động của khách hàng và hoạt động của nhà quản lý. Hoạt động của khách hàng: Một khách hàng khi tham quan hệ thống họ sẽ quan tâm các vấn đề như: Có những điểm du lịch nào, hệ thống khách sạn, thắng cảnh nào, dịch vụ lữ hành, cùng như các dịch vụ kèm theo, giá cả, địa điểm, phương thức thanh tốn… Do đó có thể đáp ứng những nhu cầu tối thiểu trên, hệ thống phải đảm bảo cung cấp những thông tin cần thiết, mặt khác phải dễ sử dụng. Mọi thứ phải có hình ảnh, âm thanh (hoặc video) giá cả cũng như các thông tin kèm theo. Đương nhiên khách hàng nếu đăng ký dịch vụ thì cũng cần cung cấp những thông tin cần thiết về họ. Hoạt động của nhà quản lý: Người quản lý giao tiếp và theo dõi khách hàng của mình thông qua các đơn đặt hàng. Khách hàng có thể cung cấp thông tin về mình. Người quản lý có thể dựa vào đó để cung cấp cho khách hàng những thứ họ cần, gửi hố đơn kèm theo hoặc gửi qua Email mà khách hàng cung cấp nếu thoả mãn mọi điều kiện cần và đủ. Ngồi ra nhà quản lý cũng quản lý các dịch vụ của mình để cung cấp cho khách hàng những thông tin về du lịch. Ngồi việc nhận thông tin từ khách hàng còn phải đưa thông tin về các dịch vụ như khách sạn, các tour du lịch, tham quan thắng cảnh, các dịch vụ kèm theo… những thứ mà khách hàng cần có liên quan đến du lịch lên Internet. Nhà quản lý phải xây dựng một cơ sở dữ liệu phù hợp, không dư thừa dữ liệu và nhất quán, một giao diện thân thiện để khách hàng không phải bở ngỡ khi vào hệ thống dịch vụ. Hoạt động của nhà quản lý có thể phân ra những nhiệm vụ sau: - Hướng dẫn, giới thiệu về du lịch: khách hàng thường đặt câu hỏi: Công ty của bạn cung cấp những dịch vụ là gì, và có những thứ tôi cần hay không? Khi họ vào hệ thống dịch vụ phải nhanh chóng đưa họ đến những thứ họ cần, đó là trách nhiệm của nhà quản lý. Việc lưu trữ các thông tin về dịch vụ trong một cơ sở dữ liệu trực tuyến, cơ sở dữ liệu này như: tên dịch vụ, giá cả, loại, thông tin miêu tả, tên tập tin chưa hình ảnh dịch vụ đó, hình thức trình bày trên web. Ngồi việc trình bày dịch vụ trên web, cơ sở dữ liệu thiét kế từ khố để dễ dàng quản lý các dịch vụ. - Giỏ đặt các dịch vụ: Khách hàng sẽ cảm thấy thoả mái khi duyệt qua dịch vụ trực tuyến mà không bị gián đoạn ở bất kỳ chỗ nào vì phải dự định xem có nên đặt một dịch vụ nào đó hay không, cho tới khi kết thúc việc xem xét và đặt những thứ mình cần, có thể thêm hoặc bớt dịch vụ ra khỏi giỏ đặt dịch vụ cũng như định số lượng cho mỗi thứ mình đặt. Khách hàng có thể trực tiếp vào các trang Web để đăng ký mà không cần phải có một ràng buộc nào, ngồi ra khách hàng có thể đăng tin cá nhân mình cho dịch vụ du lịch, để lần sau khách hàng vào đăng ký dịch mà không cần phải khai báo gì thêm chỉ cần sử dụng Username và Password của mình, được ưu tiên hưởng lợi ích từ phía cung cấp dịch vụ khi đủ điều kiện nào đó. Cơ chế này tạo ra tâm lý quan tâm của nhà cung cấp dịch vụ du lịch đối với khách hàng. - Giao dịch: Trong quá trình đặt dịch vụ và hồn tất, chương trình sẽ gửi tới khách hàng một lời chúc mừng và cảm ơn vì đã đóng góp vào sự phát triển của công ty, của xã hội bằng một Form HTML. Đây là yếu tố biến khách hàng không thường xuyên thành khách hàng thường xuyên. Vấn đề về bảo mật đường truyền sẽ rất hữu ích nếu thực hiện thanh tốn bằng thẻ tín dụng qua mạng có một Server an tồn. Trong Windows cũng có chế độ đó, để các giao dịch từ trình duyệt web tới trung tâm dịch vụ trực tuyến như vậy được bảo đảm. - Theo dõi khách hàng: Ai đặt dịch vụ? Là câu hỏi đặt ra khi cùng một lúc nhiều khách hàng đặt các dịch vụ. Để tránh nhầm lẫn có nhiều cách xử lý tuy nhiên có 3 cách nổi bật mà phổ biến nhất hiện nay là: + Dùng Phương pháp cookies (một dạng tập tin nhỏ): Một tập tin sẽ chứa mã khách hàng và truyền tới trình duyệt Web của khách hàng và nằm trong đĩa cứng trong suốt quá trình mua hàng. + Số hiệu IP tạm thời (Temporary IP Number): Một giá trị IP do nhà cung cấp dịch vụ Internet (ISP) tự động gán cho bạn mỗi khi đăng nhập Internet có thể giúp nhận diện. Phương pháp này trong trường hợp trình duyệt của khách hàng không chấp nhận cookies. + Số xe hàng tạo ra ngẫu nhiên mang theo (Randomly generated cart number): Một con số như vậy có thể được gắn thêm vào URL xuất hiện trong trường “Location” hay “address” trên trình duyệt của bạn. Bất kỳ khi nào chuyển sang trang khác của một sản phẩm khác con số đó cũng đi theo bạn. - Nhận đơn đặt dịch vụ: Sau khi khách hàng kết thúc giao dịch, đơn hàng được tổng hợp lại và gửi qua cho các bộ phận khác như thống kê kế tốn, kinh doanh…ngồi ra sau một thời gian nhất định, nhà quản lý có thể xử lý đơn hàng và các khách hàng cũ nếu cần. - Bổ sung soạn sửa: Do mục tiêu là xây dựng các dịch vụ du lịch trên Internet nên việc đưa ra các dịch vụ cũng có thể được thực hiện thông qua web. Thông qua cơ chế Action của Form, một script được viết bằng VBS, JS đều có thể thực hiện tất cả các thao tác để truy cập tới cơ sở dữ liệu. Việc truy cập này được bảo vệ trực tiếp của trình duyệt. Nhà quản lý có thể bổ sung các dịch vụ mới, thay đổi giá cả. Đây là chức năng không thể thiếu đối với công tác làm dịch vụ cung cấp. - Quản lý dịch vụ: Đây là chức năng quan trọng để theo dõi xem xét những dịch vụ (Như phòng khách sạn, dịch vụ lữ hành….) còn có thể cung cấp được hay không. Đây là một vấn đề cần có những cách giải quyết hợp lý. - Cập nhật dịch vụ: Chúng ta sẽ sử dụng các form chung cho từng loại trang web. Biện pháp này sẽ tránh quá nhiều trang web cho từng chức năng, tạo tính thống nhất. Chúng ta sẽ sử dụng web động để đưa mọi thứ lên Internet thông qua các Query của cơ sở dữ liệu, do đó trang web sẽ sinh động hơn. 2. Sơ đồ phân cấp chức năng. Lựa chọn các thông tin về Tour Hệ thống quảng cáo và giới thiệu các dịch vụ du lịch Kiểm tra tính hợp lệ Tính toán và xuất kết quả Xác nhận khách hàng Đặt Tour Xử Lý Đơn đặt Tour Quản Lý Kiểm tra đơn đặt Tour Giao vé Tour Cập Nhật xóa sửa tour, giá tour Thống kê 3. Đặc tả chi tiết hệ thống. Hệ thống Website du lịch được thiết kế nhằm giới thiệu tất cả các địa danh du lịch ở Phú Yên. Khách hàng có thể tham quan sau đó có thể đặt tour đi đến các địa điểm đó. Công việc chính của hệ thống là đưa lên Web những hình ảnh và thông tin du lịch về những địa điểm du lịch và thông tin các Tour mà công ty tổ chức cho khách đi Tour, các Tour đã được công ty sắp xếp theo trình tự để thuận tiện cho việc đặt Tour của khách hàng. Sau khi khách tham quan và chọn cho chuyến đi một Tour như ý thì khách phải điền đầy đủ thông tin khách vào form đăng ký khách hàng để tiện cho việc quản lý khách hàng của công ty. Khách hàng phải nhập vào đầy đủ các thông tin: HỌ VÀ TÊN, CMND, ĐỊA CHỈ, ĐIỆN THOẠI, EMAIL, QUỐC TỊCH… Sau đó khách hàng chọn ngày khởi hành, với ngày khởi hành ràng buộc phải là không trước ngày hiện tại và không sau ngày hiện tại là quá một năm, nếu quá một năm thì quầy đặt Tour sẽ báo cho khách vào hệ thống đặt lại. ĐỐI VỚI VIỆC TRẢ LỜI CỦA CÔNG TY Công Ty sẽ kiểm tra việc đặt tour mỗi ngày, nếu khách hàng đặt Tour hợp lý thì công ty sẽ gửi đến khách hàng vé đặt Tour gồm thông tin cá nhân và danh sách Tour mà khách đã đăng ký với công ty. Trường hợp mà khách có địa chỉ rõ ràng (địa chỉ nơi cư trú) công ty có nhân viên mang vé đến tận nhà và nhận chi phí thanh tốn. Trường hợp khách không có chỗ thường trú thì đến liên lạc với quầy vé và nhận vé trước khi đi. Trong quá trình đặt vé có trường hợp khách hàng sẽ không đi, để khắc phục trường hợp này nên công ty yêu cầu những khách đã đặt vé phải chuyển tiền thanh tốn đến quầy vé trước khi đi một ngày để nhận vé. Muốn đi du lịch thì khách hàng nhất thiết phải có địa chỉ Email hoặc chỗ ở thường trú để tiện cho việc liên lạc của công ty. Vé chỉ được chấp nhận nếu khách đã được thanh tốn với công ty, nếu không thì sẽ hủy việc đăng ký của khách hàng. Hàng ngày nhân viên bán vé sẽ kiểm tra các khách hàng đã đặt vé và xét xem các thông tin có hợp lệ hay không, nếu hợp lệ thì nhân viên lập vé Tour và gửi đến cho khách hàng. 4. Sơ đồ dữ liệu mức khung cảnh HỆ THỐNG QUẢNG CÁO VÀ GIỚI THIỆU DỊCH VỤ DU LỊCH KHÁCH HÀNG QUẢN TRỊ QUẦYĐẶT TOUR Yêu cầu lựa chọn Đặt tour Giao Tour Hoá đơn thanh toán Tour du lịch Tiền thanh toán Yêu cầu báo cáo Báo cáo Cập nhật địa điểm mới 5. Biểu đồ luồng dữ liệu (DFD) mức đỉnh. Lập hóa đơn Quản Lý QUẢN TRỊ Giới Thiệu KHÁCH HÀNG y/c xem Tour Thông tin Tour Giao vé Tour T/T về Tour đã chọn T/T trả về y/c cập nhật Chọn ngày TQ Thông tin KH Ngày đã chọn TOUR MỚI 6. Sơ đồ thực thể mối kết hợp. CHI NHÁNH - Mã chi nhánh - Tên chi nhánh KHÁCH HÀNG - Mã khách hàng - Tên khách hàng - CMND - Địa chỉ - Điện thoại - Email - Số tài khoản - Quốc tịch - Tên đăng nhập - Password CHITIETDDT - Nhóm TQ - Hạng vé - Giá vé - Số tiền - Thành Tiền TOUR - Mã tour - Tên tour - Số ngày - Phương tiện - Lịch Trình NHÓM - Mã nhóm - Tên nhóm HẠNG - Mã hạng - Tên hạng LOẠI_TOUR - Mã_loại - Giá_Tour THẮNG CẢNH - Mã_TC - TênTC - Tên HìnhTC - HinhTC - Mô Tả - Địa chỉ (1,n) (1,n) Thuộc (1,1) (1,n) T- TC (1,1) (1,n) LT-N LT-H T-L (1,1) (1,n) (1,n) (1,1) (1,1) (1,n) (1,n) ĐƠN ĐẶT TOUR - Mã_DD - Số lượng tour - Ngày đăng ký - Ngày tham quan Đặt (1,1) 7. Mô hình tổ chức dữ liệu. KHÁCH HÀNG(Mã khách hàng, Tên khách hàng, CMND, Địa chỉ, Điện thoại, Email, Số tài khoản, Quốc tịch, Tên Đăng Nhập) DONDATTOUR (ID_HD, Mã khách hàng, Số tour, Ngày đăng ký, Ngày tham quan) CHITIETDDT (ID_CHITIET, ID_HD, Mã Tour, Nhóm TQ, Hạng vé, Số vé, Thành tiền ) TOUR(Mã Tour, Mã chi nhánh, Tên Tour, Số ngày, Phương tiện, Hành trình) THẮNG CẢNH(Mã_TC, Mã Tour, TênTC, Tên hình TC, Hình TC, Mô tả, Địa chỉ ) CHI NHÁNH(Mã chi nhánh, Tên chi nhánh, Địa chỉ) LOẠI TOUR(Mã loại, Mã Tour, Mã hạng, Mã nhóm, Giá Tour) NHÓM(Mã Nhóm, Tên nhóm) HẠNG(Mã hạng, Tên hạng) Chương5 THIẾT KẾ VÀ CÀI ĐẶT I. Thiết kế và cài đặt thực thể dữ liệu. Các thuộc tính có ký hiệu (K) là khóa. 1. KHACHHANG(Khách hàng) Tên Trường Kiểu Dữ Liệu Mô Tả Ràng buộc Makhachhang(K) Autonumber Mã Khách Hàng Primary key Tenkhachhang Text(40) Tên Khách Hàng Not NULL CMND Number Số Chứng minh Not NULL Diachi Text(255) Địa Chỉ Not NULL Dienthoai Text(11) Điện Thoại Not NULL EMAIL Text(255) Email Not NULL Sotaikhoan Text(12) Số Tài Khoản NULL Quoctich Text(20) Quốc Tịch Not NULL Tendangnhap Text(30) Tên Đăng Nhập Not NULL Passwork Text(20) Passwork Đăng Ký Not NULL 2. DDTOUR(Đơn đặt tour) Tên Trường Kiểu Dữ Liệu Mô Tả Ràng buộc ID_HD(K) Autonumber Mã Hóa Đơn Primary key Makhachhang Number Mã Khách Hàng Foreign key Sotour Number Số Tour Not NULL Ngaydangky Date/Time Ngày Đăng Ký Not NULL Ngaythamquan Date/Time Ngày Tham Quan Not NULL 3. CHITIETDDT(Chi tiết hóa đơn) Tên Trường Kiểu Dữ Liệu Mô Tả Ràng buộc ID_CHITIET(K) Autonumber Mã Chi Tiết Hóa Đơn Primary key ID_HD Number Mã Hóa Đơn Foreign key Ma_tour Text(6) Mã Tour Foreign key NhomTQ Text(20) Nhóm Tham Quan Not NULL Hangve Text(20) Hạng Vé Not NULL Giave Currency Giá Vé Not NULL Sove Number Số Vé Not NULL 4. TOUR(Tour) Tên Trường Kiểu Dữ Liệu Mô Tả Ràng buộc Ma_Tour(K) Text(6) Mã Tour Foreign key Ten_tour Text(255) Tên Tour Not NULL So_ngay Number Số Ngày Not NULL Phuong_tien Text(20) Phương Tiện Not NULL Ma_chi_nhanh Text(5) Mã Chi Nhánh Foreign key Hanh_trinh Memo Hành Trình Not NULL 5. THANGCANH(Thắng cảnh) Tên Trường Kiểu Dữ Liệu Mô Tả Ràng buộc MA_TC(K) Text(6) Mã Địa Điểm Primary key Ma_tour Text(6) Mã Tour Foreign key Ten Text(255) Tên Địa Điểm Not NULL Mota Memo Mô Tả NULL HinhtenTC Text(255) Hình Tên NULL HinhTC Text(255) Hình Thắng Cảnh NULL 6. LOAI_TOUR(Loại tour) Tên Trường Kiểu Dữ Liệu Mô Tả Ràng buộc Ma_loai(K) Text(6) Mã Loại Tour Primary key Ma_Tour Text(6) Mã Tour Foreign key Ma_Hang Text(5) Tên Hạng Foreign key Ma_Nhom Text(6) Mã Nhóm Foreign key Gia_Tour Currency Giá Tour Not NULL 7. CHI_NHANH.(Chi nhánh) Tên Trường Kiểu Dữ Liệu Mô Tả Ràng buộc Ma_chi_nhanh(K) Text(5) Mã Chi Nhánh Primary key Ten_chi_nhanh Text(255) Tên Chi Nhánh Not NULL Dia_Chi Text(255) Địa Chỉ Not NULL 8. NHOM(Nhóm) Tên Trường Kiểu Dữ Liệu Mô Tả Ràng buộc Ma_nhom(K) Text(6) Mã Nhóm Primary key Ten_nhom Text(50) Tên Nhóm Not NULL 9. HANG(Hạng) Tên Trường Kiểu Dữ Liệu Mô Tả Ràng buộc Ma_hang(K) Text(5) Mã Hạng Primary key Ten_hang Text(30) Tên Hạng Not NULL II.Sơ đồ thực thể kết hợp (Mô hình ERD). II. Lưu đồ mô tả thuật giải. Lưu đồ thuật giải chung của chu trình đặt vé Tour Du Lịch Trên mạng: Huỷ thông tin vừa lập và đưa khách hàng trở về trang chủ HINH 1: Mô hình tổng quát chu trình đặt Tour du lịch trên mạng Kết thúc Begin Giỏ hàng: = Null Ma_Chi_Nhanh: = ? Chọn chi nhánh Đặt Tour Tour đã chọn vào giỏ hàng Chọn Tiếp Xem thông tin về tour Chấp nhận Đăng ký thông tin khách hàng Nhập ngày tham quan Tính tiền Yes Yes Yes No No Chấp nhận TQ Yes No No Sau đây là trang chi tiết các lưu đồ thuật giải của từng trang: Begin Nhận yêu cầu khách hàng Hiển thị tên tất cả các Tour Du Lịch hiện có của công ty lên màn hình End HINH 2: Lưu đồ thuật toán trang DSTour. asp * Trang DSTour.asp có nhiệm vụ nhận yêu cầu của khách từ trang chủ.asp sau đó tìm tất cả các loại Tour có trong Database và liệt kê danh sánh các Tour lên màn hình. Lưu đồ thuật tốn như sau: * Trang ChiTietTour.asp có nhiệm vụ nhận Ma_Tour của khách hàng yêu cầu từ trang DSTour.asp. Sau đó tìm trong Database tất cả các chi tiết thuộc loại Tour đó lên màn hình cùng với những thông tin chi tiết như (Hạng, Nhóm người, giá cả ….) để cho khách lựa chọn và quyết định chọn cho mình chuyến đi thích hợp. HINH 3: Lưu đồ thuật toán trang ChiTietTour. asp Begin Nhận Ma_Tour từ trang DSTour.asp Mà khách yêu cầu Hiển thị tất cả các Tour thuộc Ma_Tour khách yêu cầu ra màn hình Kiểm tra có hay không End Thông báo Tour này chưa cập nhật giá No Yes Chọn Tour Định hướng KH đến trang GioHang.asp và gửi Ma_Tour khách hàng chọn Tour Định hướng KH quay trở lại trang trước đó (tức trang DSTour.asp) cho KH chọn Tour khác No Yes * Trang Giohang.asp thực hiện nhiệm vụ nhận Ma_Tour mà khách hàng đã chọn từ trang ChiTietTour.asp gửi đến. Sau đó tìm thông tin về Tour có Ma_Tour trong Database rồi lưu vào trong giỏ hàng và thực hiện giao tiếp với khách hàng theo sơ đồ thuật tốn sau: HINH 4: Lưu đồ thuật toán trang GioHang.asp Yes Begin Nhận Ma_tour từ trang DSTour.asp mà khách hàng chọn Tìm thông tin về Tour có Ma_Tour vừa chọn trong DataBase Lưu Tour vừa chọn vào Giỏ hàng Tính tiền Cập nhật lại Giỏ hàng Chọn Tiếp Chấp nhận ? Giohang: = Null; Định hướng KH trở về trang chủ Trangchu.asp Định hướng KH đến trang ĐangkyKH.asp Định hướng KH trở lại trang ChinhanhCTy.asp để chọn Tour End Loại bớt Tour chọn, Hoặc thay đổi số lượng Tour Yes No No No Yes * Trang đăng ký khách hàng NhapKH.asp có nhiệm vụ thu nhập thông tin khách hàng nhập vào, sau đó thực hiện lưu các thông tin của khách hàng vào trong Databese. Trang NhapKH.asp có lưu đồ thuật giải như sau: Begin Nhận thông tin từ khách hàng nhập vào. Lưu thông tin khách hàng vào trong Database Định hướng khách hàng tới trang NhapKH.asp để khách hàng thực hiện việc đăng nhập End HINH 5: Lưu đồ thuật toán trang NhapKH.asp Kiểm tra thông tin nhập Thông báo tới khách hàng thông tin không phù hợp, phải nhập lại No Yes * Trang Đăng nhập khách hàng Dangnhaptruoc.asp có nhiệm vụ nhận thông tin mật khẩu và tên đăng nhập của khách hàng nhập vào, sau đó đối chiếu mật khẩu và tên đăng nhập trong Database mà khách hàng đã đăng ký. Nếu tất cả đều đúng thì việc đăng nhập của khách thành công, ngược lại thì việc đăng nhập không thành công. Trang dangnhaptruoc.asp có lưu đồ thuật tốn như sau: Begin Nhận tên đăng nhập , mật khẩu khách hàng nhập vào. Báo hiệu đăng nhập thành công So sánh khớp không? Định hướng khách hàng tới Form HoaDon.asp để thực hiện vệc lập hoá đơn bán cho khách hàng End Báo hiệu đăng nhập không thành công No Yes HINH 6: Lưu đồ thuật giải trang Dangnhaptruoc.asp * Trang hoadon.asp trang này có nhiệm vụ thu nhập thông tin của khách hàng đã đăng ký trong Database cùng các Tour trong giỏ hàng mà khách đã chọn để thực hiện việc lập cho khách hàng một hóa đơn gửi đến khách hàng. Trang hoadon.asp có lưu đồ thuật tốn như sau: Begin Thu nhập các thông tin khách hàng cùng các Tour trong giỏ hàng của khách hàng đã chọn Lập hoá đơn và hiển thị cho khách hàng biết Huỷ bỏ hoá đơn ? Giohang: = Null Định hướng khách hàng trở về trang chủ (Trangchu.asp) End Yes No HINH 7: Lưu đồ thuật toán trang HoaDon.asp * Trang kết thúc trangketthuc.asp trang này có nhiệm vụ hiển thị lên màn hình cảm ơn, lời chúc mừng và hen ngày gặp lại. Trangketthuc có lưu đồ thuật tốn như sau: Begin Hiển thị lên màn hình lời cảm ơn, chúc mừng và hẹn ngày gặp lại Hướng khách hàng trở về trang chủ (default.asp) End HINH 8: Lưu đồ thuật toán trang Ket_thuc.asp * Trang hỗ trợ nhà quản trị: trước khi thực hiện chức năng quản trị thì nhà quản trị phải thực hiện việc đăng nhập để xác định quyền quản trị của mình, nếu việc đăng nhập thành công (tức quyền quản trị đúng) thì chương trình sẽ định hướng nhà quản trị đến trang quantri.asp tại trang này sẽ hiện lên tất cả các chức năng quản trị để nhà quản trị lựa chọn thực hiện. Lưu đồ tổng quát cho chức năng nhà quản trị như sau: Begin Yêu cầu nhà quản trị đăng nhập Thành công ? Định hướng nhà quản trị đến trang quantri.asp để nhà quản trị thực hiện các chức năng quản trị End No Yes III. Giới thiệu các form ứng dụng 1. Các form phục vụ cho việc đặt Tour. * form hiển thị trang chủ. Khi bất kỳ một khách hàng nào vào địa chỉ trang web của công ty thì chương trình sẽ đưa bạn đến trang chủ của Website, tại trang này khách hàng có thể thực hiện một trong các thao tác sau; Xem những thông tin giới thiệu về công ty. Xem thông tin hướng dẫn về việc đặt Tour. Thực hiện việc đặt Tour. Xem thông tin về khách sạn . Xem một số thắng cảnh để giúp cho khách hàng đặt Tour như ý. Xem một số thông tin mới về công ty. Tại trang này khi khách hàng click vào nút Tour thì chương trình sẽ đưa bạn đến trang hiển thị các chi nhánh của công ty hiện có. * Form hiển thị các chi nhánh của công ty. Tại trang này khách hàng có thể click vào chi nhánh nào đó mà khách hàng cần. Sau đó chương trình sẽ đưa khách đến trang danh sách các Tour du lịch mà công ty du lịch sẽ tổ chức đi Tour. * Form hiển thị danh sách các Tour. Tại trang này khách hàng có thể xem qua các Tour mà công ty sẽ tổ chức đi Tour. Sau lần duyệt qua danh sách các tour khách hàng có thể xem cụ thể chi tiết hơn về giá cả, hạng, nhóm, lịch trình…. thì Click vào chi tiết. * Form chi tiết Tour. Sau khi xem chi tiết cụ thể về Tour nếu khách hàng cảm thấy đi được thì Click vào Đặt Tour thì chương trình sẽ dẫn đến giỏ hàng. * Form hiển thị giỏ hàng. Tại trang này khách hàng có thể loại bỏ Tour nếu khách không thích bằng cách bỏ dấu (Tick) và có thể thay đổi lai số vé tour, sau đó khách hàng có thể click vào các mục sau: Tính tiền: để thực hiện việc tính tiền trong giỏ hàng mà khách đã chọn. Đặt thêm: để thực hiện việc chọn thêm Tour. Hủy bỏ: để thực hiện việc hủy bỏ mà khách đã chọn có trong giỏ. Chấp nhận: để thực hiện việc lập vé Tour cho khách hàng khi khách hàng quyết định chọn. Khi khách hàng click vào mục chấp nhận thì chương trình dẫn khách đến trang Đăng Ký thông tin khách hàng để thực hiện việc lập ve Tour cho khách hàng. * Form đăng ký thông tin khách hàng. Tại trang này chương trình sẽ yêu cầu khách hàng phải nhập các thông tin của khách hàng để thực hiện việc lập vé Tour cho khách hàng. Sau khi nhập xong thì khách hàng click vào nút gửi đi thì chương trình sẽ hướng khách hàng tới trang đăng nhập để thực hiện quyền xác thực truy nhập của khách hàng. Cũng tại trang này để tạo sự thân thiện cho khách hàng khi đăng ký Tour thường xuyên, chương trình cho phép khách hàng click vào nút đăng nhập ở cùng trang (nếu khách đăng ký Tour lần thứ 2 trở lên), thay vì khách hàng đăng ký đầy đủ thông tin một lần nữa để thực hiện việc lập vé Tour. * Form hiển thị đăng nhập khách hàng. Tại trang này yêu cầu khách hàng phải nhập tên đăng nhập và mật khẩu để xác định quyền truy cập của khách hàng. Nếu đăng nhập không thành công thì chương trình sẽ báo tới khách hàng và yêu cầu khách hàng đăng nhập lại và nếu đăng nhập lại mãi mà không thành công thì khách hàng có thể thực hiện việc đăng ký lại bằng cách click nút đăng nhập tai trang này. Nếu thành công thì chương trình sẽ đưa khách hàng tới trang nhập vào ngày tham quan. * Form nhập ngày tham quan. Sau khi nhập vào ngày tham quan xong thì chương trình sẽ hướng khách hàng tới trang về thông tin khách hàng và Tour mà khách đã đăng ký trước đó. * Form hiển thị thông tin về Tour và khách hàng. Tại trang này nếu khách hàng không chấp nhận thì hủy thông tin mà khách vừa đăng ký, và chương trình se hướng khách quay về trang chi nhánh và bắt đầu cho việc đặt Tour. Còn nếu khách hàng chấp nhận thì khách hàng click nút chấp nhận và sau đó sẽ hiện ra trang cảm ơn và chúc quý khách. * Form hiển thị trang kết thúc. Tại trang này khách hàng thực hiện click vào Home để trở về trang chủ và kết thúc một quy trình đặt Tour. 2. Các Form hỗ trợ nhà quản trị. Trước khi nhà quản trị thực hiện các công việc cập nhật, thêm, xóa, sửa thì từ trang chủ nhà quản trị sẽ click vào Quản trị thì chương trình sẽ đưa nhà quản trị đến trang đăng nhập để xác định đúng quyền đăng nhập của nhà quản trị. * Form hiển thị trang đăng nhập của nhà quản trị. Tại trang này chương trình yêu cầu nhà quản trị nhập vào các thông tin để thực hiện chứng thực quyền truy nhập nhà quản trị. Nếu không thành công thì chương trình sẽ thông báo tới nhà quản trị và yêu cầu đăng nhập lại. Nếu đăng nhập thànhcông thì chương trình sẽ hướng nhà quản trị đến trang hiển thị các thao tác hỗ trợ nhà quản trị. * Form hiển thị trang cho phép nhà quản trị thực hiện các thao tác cập nhật. Tại trang này nhà quản trị có thể yêu cầu thực hiện một công việc nào đó mà nhà quản trị muốn thì chương trình sẽ đưa nhà quản trị tới trang thực hiện đó, nhà quản trị cũng có thể click vào Hướng dẫn quản trị để xem thông tin hướng dẫn các thao tác thực hiện việc cập nhật đối với nhà quản trị. * Form hiển thị Danh sách các chi nhánh. Tại trang này nhà quản trị có thể thêm, xóa, sửa tên và địa chỉ các chi nhánh. * Form hiển thị Danh sách hạng. Tại trang này nhà quản trị cũng có thể thêm, xóa, sửa. * Form hiển thị về Danh sách nhóm. Tại trang này nhà quản trị phải cũng thực hiện được thêm, xóa, sửa. * Form hiển thị danh sách Tour. Tại trang này nhà quản trị có thể làm các thao tác sau: Thêm Tour: thì click vào Add Tour. Xem: click vào Chi tiết để xem thông tin về Tour. Sửa: click vào Edit rồi nhà quản trị có thể sửa về Tour mà mình muốn. Xóa: click vào Delete nếu như tour đó không thực hiện Tour được. * Form hiển thị Bảng giá Tour. Tại trang này nhà quản trị có thể thêm, xóa, sửa ứng với mỗi Tour. * Form hiển thị danh sách các hóa đơn. Tại trang này nhà quản trị chọn hình thức hiển thị hóa đơn có thể chọn các hình thức hiển thị sau: Hiển thị theo ngày. Hiển thị theo tháng. Hiển thị theo khoảng (Từ ngày đến ngày). Hiển thị tất cả các hóa đơn. Và tại mỗi form hiển thị hóa đơn nhà quản trị xem và xóa những hóa đơn không cần thiết. * Form hiển thị hóa đơn theo tháng. * Form hiển thị theo ngày. * Form hiển thị hóa đơn theo khoảng. * Form cập nhật thắng cảnh. Tại trang này nhà quản trị có thể thêm, xóa, sửa các địa danh du lịch. Phần III KẾT LUẬN I. Kết luận Để tiếp cận công nghệ thông tin vào đời sống nói chung và các dịch vụ đăng ký từ xa nói riêng là nhu cầu không thể thiếu trong xu thế phát triển hiện nay. Tin học hóa đã mang lai nhiều thuận lợi cho sự phát triển đời sống. Khoảng cách, thời gian, địa điểm và con người không còn là vấn đề nữa. Việc hội nhập ứng dụng Web đã giải quyết được vấn đề đó. Trở lại vấn đề “Xây dựng ứng dụng Web cho phép tham quan du lịch và đặt tour du lịch trên mạng” mặc dù đề tài chưa giải quyết được nhiều, nhưng qua đây cho thấy việc khách phải đến các quầy vé để tìm kiếm và đặt cho minh tấm vé như ý là việc không phải làm nữa. Ngược lại mọi thông tin liên quan đến chuyến du lịch, giá cả, ngày đi ngày về và các hướng dẫn đều được đưa lên Web, cho phép người sử dụng xâm nhập trực tiếp vào hệ thống website để đăng ký vé du lịch. Tồn bộ dữ liệu đăng ký được lưu trữ tập trung tại công ty. Việc đăng ký trở nên đơn giản và thuận tiện tạo cảm giác thỏa mái cho khách hàng, được hướng dẫn cụ thể nên việc đăng ký tốn ít thời gian và độ tin cậy cao. Trước ngày khởi hành, khách hàng chỉ cần gửi tiền thanh tốn cho bộ phận bán vé là khách hàng có thể yên tâm cho chuyến đi của mình và không cần phải đến quầy vé để liên hệ lại. Vé được giao cho khách hàng tùy theo yêu cầu hoặc khách hàng có thể đến tại quầy vé của công ty nhận vé và thanh tốn. Tất cả khách tham gia chuyến đi đều được hẹn tại một địa điểm thuận lợi để xe của công ty đến đón và bắt đầu cho chuyến tham quan. II. Những kết quả đạt được Thiết kế dữ liệu và đưa ra các lược đồ quan hệ Thiết kế hệ thống bán vé trên mạng dựa trên hệ thống bán vé thủ công. Tìm hiểu cơ sở lý thuyết và công cụ cài đặt. Về chương trình Do hạn chế về thời gian, đề tài liên quan đến các vấn đề như thanh tốn điện tử, nên chương trình chỉ tập trung vào cài đặt hệ thống đặt vé trên mạng gồm những chức nang sau: * Đối với khách hàng: - Cho phép khách tham quan, tìm hiểu các thắng cảnh du lịch. - Lựa chọn các Tour du lịch mà mình thích. - Đặt vé trực tiếp trên Website mà không cần phải đến quầy vé. * Đối với nhà quản trị Web: - Cho phép cập nhật xóa, sửa, thêm các thắng cảnh du lịch. - Cho phép cập nhật xóa, sửa, thêm về Tour, giá Tour. - Cho phép cập nhật hóa đơn. III. Những điểm hạn chế Việc xây dựng hồn chỉnh hệ thống du lịch qua mạng là một vấn đề phức tạp và liên quan đến nhiều vấn đề. Thực tế nước ta khó có thể thực hiện được việc này, vì những trở ngại chưa thể giải quyết được một cách hồn hảo như: các phương thức thanh tốn, phức tạp về thuế quan, cơ sở hạ tầng. Đề tài còn nhiều thiếu sót vì chưa thực tế trong việc thanh tốn tiền và giao nhận vé trước khi đi du lịch. Một điểm nữa là đề tài chỉ TÀI LIỆU THAM KHẢO 1. Nguyễn Thúc Hải, NXB Giáo Dục, 1998. “Mạng máy tính và các hệ thống mở” 2. Nguyễn Phương Lan, NXB Giáo Dục, 2001. “ASP 3.0 và ASP.NET” 3. Nhóm tác giả SAIGONBOOK, Nhà xuất bản Giáo Dục, 1998. “ASP Database” 4. Eligroup, Nhà xuất bản Hà Nội, 2000. “Quảng cáo trên Internet” 5. Trịnh Lê nam, Nguyễn phúc Trường Sinh, NXB Khoa học kỹ thuật, 2001. “Thương mại điện tử cho doanh ngiệp” 6. Nguyễn Văn Sơn, Nguyễn Đức Trí, ngô Thị Ngọc Huyền, NXB thống kê, 2001. “Hỏi đáp về thương mại điện tử” 7. Nhóm tác giả ELICOM, NXB Thống kê. “Xây dựng trang Web động với ASP” 8. NXB Giao Thông Vận tải. “Phân tích và thiết kế tin học hệ thống quản lý - kinh doanh – nghiệp vụ” 9. Một số luận văn tốt nghiệp các khố trước.

Các file đính kèm theo tài liệu này:

  • dochtt-htqcccdvdl.doc