延安市旅游網站的設計與實現
學院:數學與計算機科學學院 專業: : 信息與計算科學 學號:1 10 0 姓名:史婷婷 指導教師: : 張震
目錄 1 網站可行性研究
................................ ........................
錯誤!未定義書簽。
?。?1
技術的可行性 誤錯? 錯誤! 未定義書簽。
?。?2
經濟可行性 誤錯? 錯誤! 未定義書簽。
?。?3
操作的可行性 誤錯? 錯誤! 未定義書簽。
2 需求分析
................................ ..............................
錯誤!未定義書簽。
?。?1
網站系統運行環境 .................................................. 錯誤! 未定義書簽。
2.2
網站系統現狀與實現目標 ............................................. 錯誤! 未定義書簽。
2.3
網站系統數據流圖 .................................................. 錯誤! 未定義書簽。
?。?4
網站數據字典 ...................................................... 錯誤! 未定義書簽。
?。?5
網站功能需求 誤錯? 錯誤! 未定義書簽。
2.6
性能需求 ........................................................... 錯誤! 未定義書簽。
3 概要設計和數據庫設計
................................ ..................
錯誤!未定義書簽。
?。?1
網站功能結構設計 誤錯? 錯誤! 未定義書簽。
3.2
網站模塊設計 ...................................................... 錯誤! 未定義書簽。
3.3
網站數據庫設計 .................................................. 錯誤! 未定義書簽。
?。常?.1 數據庫需求分析 ? 錯誤 ! 未定義書簽。
3.3.2 數據庫主要表設計 ? 錯誤 ! 未定義書簽。
3.3.3 數據庫實現 ................................................... 錯誤 ! 未定義書簽。
?。?/p>
現 網站詳細設計及功能的實現 。簽書義定未!誤錯?
?。?1
數據庫的連接 ...................................................... 錯誤! 未定義書簽。
?。?2
網站主頁設計 ...................................................... 錯誤! 未定義書簽。
?。?2
旅游新聞版塊 誤錯? 錯誤! 未定義書簽。
4.2.1 旅游新聞模塊分析 ............................................. 錯誤 ! 未定義書簽。
4.2.2 旅游新聞模塊設計 ? 錯誤 ! 未定義書簽。
4.2.3 旅游新聞模塊實現 ? 錯誤 ! 未定義書簽。
4.3
旅游線路版塊 誤錯? 錯誤! 未定義書簽。
?。矗?.1 旅游線路版塊分析 ............................................ 錯誤 ! 未定義書簽。
4.3.2 旅游線路模塊設計 ............................................. 錯誤 ! 未定義書簽。
4.3.3 旅游線路模塊的實現 ....................................... 錯誤 ! 未定義書簽。
4.4
旅游圖片版塊 ...................................................... 錯誤! 未定義書簽。
4.4.1 旅游圖片版塊分析 ? 錯誤 ! 未定義書簽。
?。?4.2 旅游圖片版塊的實現 .......................................... 錯誤 ! 未定義書簽。
4.5
酒店版塊91 ?
4.5.1 酒店版塊分析 ? 錯誤 ! 未定義書簽。
4.5.2 酒店版塊實現 誤錯? 錯誤! 未定義書簽。
4.6
留言本版塊 誤錯? 錯誤! 未定義書簽。
4.6.1
留言本版塊的分析 ? 錯誤 ! 未定義書簽。
4.6.2
留言本版塊的實現 ............................................ 錯誤 ! 未定義書簽。
?。矗?/p>
旅游景點版塊 誤錯? 錯誤! 未定義書簽。
4.7.1 旅游景點版塊分析 ........................................... 錯誤 ! 未定義書簽。
4.7.2 旅游景點版塊設計 ? 錯誤 ! 未定義書簽。
4.7.3 旅游景點版塊實現 ? 錯誤 ! 未定義書簽。
5 試 網站系統測試 。簽書義定未!誤錯?
?。?1 系統測試的原則 誤錯? 錯誤! 未定義書簽。
5.2
系統測試的方法 ..................................................... 錯誤! 未定義書簽。
5.3
網站系統測試結果 ................................................... 錯誤! 未定義書簽。
6 6
結 論文小結 。簽書義定未!誤錯?
6.1
網站的功能 ....................................................... 錯誤! 未定義書簽。
6.2
網站特點 ......................................................... 錯誤! 未定義書簽。
6.3
網站評估與改進方向 誤錯? 錯誤! 未定義書簽。
6.4
開發體會與收獲 .................................................... 錯誤! 未定義書簽。
旅游網站的設計與實現
摘
要:旅游網站為基于 ASP.NET 與 C#技術的 WEB應用程序,并以互聯網為傳播媒介來實現旅游信息發布、共享的平臺。本論文主要論述了其設計開發的基本過程,設計開發中主要運用了 ASP.NET 技術與 C#語言、 SQL 等相關技術,根據面向對象開發原理,采用了基于 B/S 結構的開發模式系統。以 IIS 為服務器,SQL server 2000 為數據庫平臺。本系統包括旅游線路、酒的信息管理、留言板管理、用戶信息管理、后臺數據庫信息的管理維護這些基本模塊。通過這些模塊實現旅游信息共享,為游客提供詳細、及時、準確、高效的信息服務。同時對旅游網站的開發原理、網站的功能特點計方案進行了介紹.
關鍵詞:旅游網站;SQL 數據庫;ASP.NET;信息管理 1 網站可行性研究 軟件開發中可行性研究的目的是用最小的代價在盡可能短的時間內確定問題是否能夠解決。若問題無法解決,則花費在系統開發上的時間、人力、軟硬件資源就會成為浪費。因此,在對旅游網站進行開發之前,首先需要從以下幾個方面對其可行性進行研究。
1.1 技術的可行性 本旅游網站系統的開發主要包括后臺數據庫的建立和維護以及前臺頁面的瀏覽開發兩個方面。對于前者要求建立數據一致性和完整性強,數據安全性好的數據庫;而對于后者則要求應用程序功能完備、易使用等特點?;谶@兩點,系統可采用 B/S結構的開發模式,服務器端使用功能強大的數據庫軟件 Microsoft SQL Server 2000實現數據的存儲和維護;客戶端使用跨平臺網絡開發語言 ASP.NET 實現應用程序的設計。Microsoft Visual studio2005 也給編程人員提供了得心應手的集成開發環境。ASP.NET擁有 C#開發語言的強大功能,足以實現應用程序所需要實現的功能,還可以結合HTML 語言的使用來實現系統操作的便利性。于是,該系統在技術上是可行的。
1.2 經濟可行性 本系統使用的基本開發工具為 Microsoft Visual studio2005(開發平臺), Microsoft SQL Server 2000(數據庫軟件),IIS (Internet 信息服務器),
?。模騟amwerver8和 Photoshop7.0都是網絡提供的免費軟件。系統投入使用后,只需網站管理員通過瀏覽器瀏覽系統頁面進行相應操作:對網站信息和數據做更新、修改、刪除就可完成對網站的系統維護和管理。對網站進行相應的推廣和宣傳,提高網站的知名度,使更多的人在互聯網上更容易的通過搜索引擎搜索到旅游網站,游客就可以通過網上直接找到網站所屬的旅行社,這樣將會為旅行社帶來立竿見影的效果,能大大的提升旅行社的業務量,使旅行社獲得豐厚的利潤。收益將遠遠大于投資。
?。保?3 操作的可行性
網站管理員對系統進行的操作都是通過瀏覽器進入網站后臺系統,在可視化的界面下對網站內容進行使用和操作。由于網站系統對信息的流向和出錯都進行了人性化的處理。只要具有普通上網能力的人都可以對網站后臺系統進行使用和操作。就操作性方面系統是可行的。
2 需求分析 需求分析是軟件定義時期的最后一個階段,它的基本任務是準確地回答“系統必須做什么”這個問題,即僅僅是確定系統必須完成哪些工作,也就是對目標系統提出完整、準確、清晰、具體的要求。下面分七個小節來對該前臺點菜系統在各方面的需求進行分析。
2.1 網站系統運行環境 本旅游網站系統按照標準的800×600 分辨率建設運行;本旅游網站的運行必須在安裝了IIS (Internet 信息服務器)、Micosoft.NET Framework2.0、Microsoft SQL Server 2000 數據庫等軟件的計算機上。系統的開發使用了 Microsoft Visual studio2005(開發平臺), Microsoft SQL Server 2000(數據庫軟件),IIS (Internet 信息服務器),Dreamwerver8 和 Photoshop7.0等軟件。
?。?2 網站系統現狀與實現目標 本旅游網站系統是在延安旅游人數日益增多的情況下應運而生,它是一個關于現代人對旅游要求的提高和信息方便快捷日益加速而提出的一套應于網絡的旅游網站系統。
本旅游網站以旅游新聞發布、旅游線路發布、景區圖片和游客留言等功能為核心,其宗旨是及時、準確、完整發布游客所需要的相關信息,同時給游客帶來方便和給公司創造利益。它的主要功能如下:
一、旅游線路信息發布以及預定功能:顧客可通網站查看相應的旅游線路信息和預定旅游線路功能,管理員可以在后臺對旅游線路進行發布、更新,對于線路預定可以進行相應
的處理。
二、酒店查詢、預訂功能:顧客可以通過網站查詢張家界酒店情況,同時還可以對合適的酒店進行預訂。
三、旅游景點介紹功能:顧客在網站可以查看張家界主要旅游景區和景點介紹信息,管理員可以在后臺對旅游景點信息進行更新、修改和刪除。
四、旅游新聞發布功能:顧客可以通過旅游網站查看張家界最新的旅游資訊和旅游動態,網站管理員可以在后臺發布、更新和刪除旅游新聞。
五、旅游風景圖片發布功能:游客可以通過網站查看張家界最新的風光圖片,可以點擊小圖看大圖,圖片按照相應的旅游景點分類,管理員可以上傳和修改、刪除圖片信息。
六、旅游服務指南和旅游問答發布功能:游客可以通過網站查看一些張家界旅游的注意事項和在張家界旅游經常遇到的一些問題,管理員在后臺可以對信息進行更新和修改、刪除功能。
七、機票和自駕車旅游路徑查詢功能:游客可以通過網站,查詢相應出發地到目的地的機票航班和自駕車路徑。
八、游客留言板功能:游客可以通過留言板給管理員留言,管理員可以通過登錄對留言進行管理和回復。
?。玻? 網站系統數據流圖 數據流圖(DFD)是一種圖形化技術,它描繪信息流和數據從輸入移動到輸出的過程中所經受的變換。在數據流圖中沒有任何具體的物理部件,它只是描繪數據在軟件中流動和被處理的邏輯過程。數據流圖是系統邏輯功能的圖形表示,即使不是專業的計算機技術人員也容易理解它,因此是分析員與用戶之間極好的通信工具。根據以上對系統的基本功能實現目標的分析,現在將本系統的頂層數據流圖描述如圖 2-1 所示:
圖 2-1 數據流圖 2.4 網站數據字典 數據字典的作用是對數據流圖中的各種成分進行詳細說明,作為數據流圖的細節補充,和數據流圖一起構成完整的系統需求模型。數據字典一般應包括對數據項,數據結構、數據存儲和數據處理的說明。以下列出本系統的主要數據字典條目。
?。醖min(管理員用戶表)= Id(PK)+User_name+User_psd; 留言信息 景點信息 景點信息 線路信息 線路信息 圖片信息 圖片信息 酒店信息 酒店信息 新聞信息 新聞信息 回復信息 回復信息 留言信息 定單信息 定單信息 定單信息 1
定 單信 息處 理 2
留 言信 息處 理 3
旅 游新 聞處 理 4
旅 游酒 店處 理 5
旅 游圖 片處 理 6
旅 游線 路處 理 D1
定單
瀏覽客 戶 管
理
員 7
旅 游景 點處 理
article(新聞表)=article_id(PK)+ Article_title + Article_content + Article_author +Articletype_i+ Add_date;
line(線路表)= line_id (PK)+ line_type (FK)+ line_picname + line_name + line_xingcheng+ line_baojia+ line_anpai+ line_shuoming+ line_price; hotel(酒店表)= hotel_id (PK)+ hotel_name+ hotel_position+ hotel_grade+ hotel_content+ hotel_zwjg+ hotel_citycenter+ hotel_tdprice; line_ding(線路定單表)=Waiterid(PK)+Waitername+Waiterpsd; hotel_ding(酒店定單表)= hoteldd_id (PK)+ hotel_name + hotel_fjtype+ hotel_fjsum+ hotel_joinpeople+ hotel_begintime+ hotel_endtime+ h_name+ h_content; guest(留言本表)= userID (PK)+ userName + userFrom + sex + Content; jingdianpic(圖片表)= pic_id (PK)+ pic_url + pic_name+ jingdian_id; jingdian(景點表)=jingdianid(PK)+ Jingdian_name+ Jingdian_content; 2.5 網站功能需求 本旅游網站網站是為以旅游信息發布、旅游資料共享、瀏覽客戶與管理員交流活動為核心的網站,宗旨是能及時、準確、完整發布游客需要的旅游信息。
1. 瀏覽客戶
瀏覽客戶是只在瀏覽器端瀏覽網站信息的用戶,也是整個網站信息需要面向的用戶,其主要實現功能為: (1)
客戶可以在任意一臺與因特網連接的計算機上,通過瀏覽器瀏覽本網站 (2) 客戶可瀏覽旅游新聞信息 (3) 客戶可瀏覽旅游線路信息 (4) 客戶可瀏覽旅游酒店信息 (5) 客戶可瀏覽旅游圖片信息 (6) 客戶可瀏覽旅游景點信息
(7) 客戶可對適合自己的旅游線路或旅游酒店下定單(按照頁面的提示對定單進行填寫。)
(8) 客戶可在留言本版塊進行留言和提問 2.網站管理員
網站管理員是被賦予網站全部權限的用戶,能對網站的所有信息進行修改、更新和刪除,其主要功能如下: (1)管理員可登錄系統. (2)管理員可添加、刪除管理員的信息 (3)網站管理員可對旅游新聞信息進行刪除、修改、添加 (4)網站管理員可對旅游線路信息進行刪除、修改、添加 (5)網站管理員可對旅游圖片信息進行刪除、修改、添加 (6)網站管理員可對旅游景點信息進行刪除、修改、添加 (7)網站管理員可對旅游酒店信息進行刪除、修改、添加 (8)網站管理員可對客戶定單信息進行刪除、修改、添加 (9)網站管理員可對留言板游客留言信息進行刪除、修改、回復 2.6 性能需求 1. 網站系統在因特網正常狀況下全天候提供服務,客戶可以隨時隨地的對網站進行瀏覽訪問。
2. 點擊頁面時,顯示速度要盡可能的快。
3 概要設計和數據庫設計 3.1 網站功能結構設計 通過對張家界旅行社網站的考察和需求分析時對網站功能的分析,我們可以得出以下前臺功能結構圖:
3.2 網站模塊設計 模塊化:按照后臺功能將一個軟件切分為許多部分單獨開發,然后再組裝起來,每一個部分即為模塊。根據圖功能結構圖,將網站模塊化如下:
一、旅游新聞模塊 二、旅游線路模塊 三、旅游圖片模塊 四、酒店信息模塊 五、留言本模塊 六、旅游景點模塊 七、定單處理模塊 3.3 網站數據庫設計 3.3.1 數據庫需求分析 系統各種功能的實現離不開數據庫的支持,因此數據庫的設計是本系統不可缺少的一部分。首先對本系統的數據流進行分析,得出數據流圖,然后進行數據庫的E-R 圖分析后,最后才能進行數據庫邏輯結構設計和數據庫實現。根據需求分析,確定系統中的實體,并且分析其屬性,實體與實體間的關系是要研究的重點對象,實體之間存在一對一、一對多、多對多的關系。
旅游網站管理系統 旅游酒店 店 定單提交 交 留言板 板 旅游圖片 片 旅游線路 路 圖片管理 理 景點管理 理 線路管理 理 酒店管理 理 定單處理 理 用戶管理 理 新聞管理 理 旅游景點 點 旅游新聞 聞 前臺主界面 后臺管理系統
根據各個實體之間的聯系做出 E-R 圖,如圖所示
n
n
m
n
n
n
m
n
r
?。?/p>
m
m
m
n
n
n
?。?/p>
n
瀏覽 定單內容 定單提交 定單 客戶 瀏覽 瀏覽 留言板 旅游酒店 旅游線路 管理 管理 管理
管理員 管理 旅游圖片 瀏覽 管理 旅游圖片 瀏覽
1
1
1
1
1
系統 E-R 圖 3.3.2 數據庫主要表設計 通過以上對 E-R 圖的分析,可初步得出本系統應該有以下表。
1.用來存儲后臺管理員用戶的表:后臺管理員表 admin(如表3-1 顯示)用來保存后臺管理員的信息,例如管理員編號、用戶名、密碼。該表主鍵為 Id,其中管理員編號設為自動增長。
2.用來存儲新聞類型的表:新聞類型表articletype(如表3-2 顯示)用來保存新聞類型的信息,例如類型編號、類型名。該表主鍵為 articletype_id,其中類型編號設為自動增長。
3.提供新聞信息的新聞表:旅游新聞表 article(如表 3-3 顯示)用來保存新聞的信息,例如新聞編號、類型名等。該表主鍵為 article_id,其中新聞編號設為自動增長。
4.提供景點信息的景點表:
景點表 jingdian(如表 3-4 顯示)用來各景點信息,例如景點編號、景點名。該表主鍵為 jingdian_id,其中景點編號設為自動增長。
5.保存留言信息表:留言本表 guest(如表 3-5 顯示)用來保存留言板的信息,例如留言編號、留言。該表主鍵為 guest_id,其中留言編號設為自動增長。
6.提供酒店信息的酒店表: 酒店信息表:hotel(如表3-6 顯示)用來保旅游酒店的信息,例如酒店編號、酒店名。該表主鍵為 hotel_id,其中酒店編號設為自動增長。
7.保存酒店定單信息的定單表: 酒店定單表 hotel_ding(如表3-7 顯示)用來保存酒店定單的信息,例如定單編號、酒店名。該表主鍵為hoteldd_id,其中酒店定單編號設為自動增長。
8.保存圖片信息的圖片表: 景點圖片表 jingdianpic(如表 3-8 顯示)用來保存景點圖片的信息,例如圖片編號、圖片地址。該表主鍵為pic_id,其中圖片編號設為自
動增長。
9.提供線路信息的表: 線路表 line(如表 3-9 顯示)用來保存旅游線路的信息,例如線路編號、線路名。該表主鍵為 line_id,其中線路編號設為自動增長。
10.保存線路定單信息的定單表:
線路定單表line_ding(如表 3-10 顯示)用來保存線路定單的信息,例如線路定單編號、線路名名。該表主鍵為 linedd_id,其中線路定單編號設為自動增長。
3.3.3 數據庫實現 打開以 Microsoft SQLSERVER2000 企業管理器,創建 tourzjjdb 數據庫,按照數據庫表格設計,創建相應的數據庫表。數據庫語言主要是采用SQL。
?。観L(Structured Query Language),全稱是“結構化查詢語言(Structured Query Language)”,是操作數據庫的標準語言,它的前身是 SQUARE語言。SQL 語言結構簡潔,功能強大,簡單易學,得到了廣泛的應用。在ASP中,無論何時要訪問一個數據庫,都要使用 SQL語言。
4 網站詳細設計及功能的實現 4.1 數據庫的連接 本系統涉及到SQL數據庫的使用。所以系統要正常運行,必須進行好數據庫連接。因為實現系統功能的類都要與數據庫進行連接,為了避免在每個類中重復編寫代碼,于是在系統程序中編寫了一個數據庫連接的抽象類--DB類來完成數據庫連接的操作。在其它類中只需要調用該方法便可完成數據庫連接。創建連接數據庫類DB連接數據庫 public static SqlConnection conCreate()
{
// 連接網站數據庫 SqlConnectioncon=newSqlConnection("server=.;database=tourzjjdb;uid=sa;pwd=love76898998;");
return con;
}
public DataTable dt()
{
//讀取數據庫
SqlConnection con = DB.conCreate();
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand(sqlText,con);
DataTable table = new DataTable();
sda.Fill(table);
return table;
}
對應相應信息時,利用分頁類對網站顯示內容進行分頁處理
public PagedDataSource pageSorce()
{
//對排序信息分頁類
PagedDataSource ps = new PagedDataSource();
ps.DataSource = dt().DefaultView;
ps.AllowPaging = true;
return ps;
}
按照新聞類別和新聞標題讀取對應的新聞內容
public static SqlConnection createcon()
{
//新聞管理系統讀取數據庫內容 SqlConnectioncon=newSqlConnection("server=.;database=tourzjjdb;uid=sa;pwd=love76898998");
return con;
}
?。饀blic static DataTable Bindarticletype()
{
SqlConnection con1 = DB.createcon();
con1.Open();
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand("select * from articletype", con1);//查詢對應的新聞信息
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
} 在后臺對數據庫進行添加時,通過文本編輯器對其進行寫入數據庫 SqlCommandcmd=newSqlCommand("insertjingquvalues(@jingqu_name,@jingq u _c o nt e n t ,@ a ddt i me)" ,
con )
??;
//將景區信息寫入數據庫
SqlParameterpara= new SqlParameter("@jingqu_name", SqlDbType.VarChar);
cmd.Parameters.Add(para);
para.Value = jingqu_name;
para = new SqlParameter("@jingqu_content", SqlDbType.Text);
cmd.Parameters.Add(para);
para.Value = jingqu_content;
para = new SqlParameter("@addtime", SqlDbType.DateTime);
cmd.Parameters.Add(para);
para.Value = dt;
cmd.ExecuteNonQuery();
con.Close();
return true; } 4.2 網站主頁設計
網站主要采用靜、動相結合的方式,即靜態的主畫面和動態的圖片相結合。靜態主頁內容包括學首頁、交通路徑、旅游會議和旅游天氣查詢版塊,留言板和旅游線路顯示、
旅游新聞、旅游酒店就是利用 ASP.NET 與數據庫結合的技術建立數據庫查詢管理系統,采用交互式的動態的web 畫面來實現。
本網站默認的頁面 index.htm, index.htm提供了各個分版塊的鏈接,其本身具備動態顯示公告和新聞功能,開辟了在聯系方式,友情鏈接校內和支付方式等功能,實現了瀏覽統計功能。
4.2 旅游新聞版塊
旅游新聞系統提供了一個發布新聞信息的平臺, 新聞信息的發布與維護由管理員完成,本網站的新聞按類型分為旅游資訊和服務指南新聞。為方便管理,在后臺管理員可以對其進行添加、刪除、修改等功能。
?。?2.1 旅游新聞模塊分析 本網站的的旅游新聞系統包括以下幾個部分:新聞列表、新聞瀏覽、新聞發布、新聞管理。
?。?2.2 旅游新聞模塊設計 新聞顯示需要包含某類新聞列表、新聞綜合列表、新聞內容顯示 3 部分,新聞管理包含新聞發布、新聞修改、新聞刪除、新聞類型管理 4 部分。
?。?2.3 旅游新聞模塊實現 建好數據庫后,就可以實現旅游新聞系統的代碼,根據前面給出的旅游新聞系統結構圖,系統實現主要包括旅游新聞瀏覽、旅游新聞管理和旅游新聞的排列。
?。矗?.3.1 旅游新聞瀏覽 旅游新聞瀏覽將數據庫中的新聞信息查詢出來,并在頁面中將新聞標題等幾個字段進行列表顯示,這樣就可以在頁面中顯示較多的信息內容,并且在列表頁面提供鏈接,可以打開頁面閱讀新聞詳細內容。
限于篇幅,公告和新聞及其詳細列表頁面的源代碼在此就不再列出了,article.aspx和 showarticle.aspx均具有分頁顯示功能,當前頁顯示采用了 cint(request("page"))函數,Set rs=server.CreateObject ("adodb.recordset"),sql="select * from article order by news_id desc",使用Server對象之方法CreateObject來創建一腳本對象,擴展了ASP.net的功能。
在 notice.asp和news.asp 中均調用了 format.asp 的strLength(str)和 cutstr(str,strlen,more,url)函數,以獲取和截取字符串。
?。?2.3.2 旅游新聞管理
新聞管理包括發布新聞、修改新聞、刪除新聞頁面,以及進行數據庫操作的頁面。
通過網站管理員登錄后臺管理系統,對新聞信息進行添加,寫入數據庫
protected void btn_add_Click(object sender, EventArgs e)
{
//添加新聞信息
string newskindtext = this.TextBox1.Text;
SqlConnection con = DB.createcon();
con.Open();
SqlCommand cmd = new SqlCommand("select count(*)
?。鎟om articletype where articletype_name="" + newskindtext + """, con);
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count > 0)
{//判斷新聞類別是否已經存在
this.lbl_hint.Text = "已存在的新聞類別,請重新添加其它的!"; } 限于篇幅,新聞系統中其他功能不再列出. 4.3 旅游線路版塊 旅游線路發布主要是向瀏覽用戶及時、快速的發布適合游客的旅游線路安排,針對不同的時間段和不同的游客制定不同的旅游線路,旅游線路包括行程安排、旅游景點、住宿標準以及旅游接待價格,同時針對每條線路,瀏覽用戶可以在網上直接對其進行預訂。網站管理員在后可以對相應的旅游線路進行修改、添加、刪除操作,對于游客在網上預訂的旅游線路定單進行相應操作。
4.3.1 旅游線路版塊分析 本網站的旅游線路發布系統包括以下幾個部分:旅游線路的添加、旅游線路的修改、旅游線路的刪除、旅游線路的預訂、旅游線路類型。
4.3.2 旅游線路模塊設計 旅游線路顯示需要包含某類旅游線路列表、旅游線路內容顯示 2 部分,旅游線路管理包含旅游線路發布、旅游線路修改、旅游線路刪除、旅游線路類型管理 4 部分。功能模塊如圖所示。
?。?3.3 旅游線路模塊的實現 建好數據庫后,就可以實現旅游線路系統的代碼,根據前面給出的旅游線路系統結構圖,系統實現主要包括旅游線路的瀏覽和旅游線路的管理。
4.3.3.1 旅游線路的瀏覽 旅游線路瀏覽將數據庫中的旅游線路信息查詢出來,并在頁面中將旅游線路的標題等幾個字段進行列表顯示,這樣就可以讓瀏覽用戶有選擇性的瀏覽信息內容,line.as
?。饃 和car.aspx均具有旅游線路顯示功能的頁面。
4.3.3.2 旅游線路的管理
旅游線路的管理包括發布旅游線路、修改旅游線路、刪除旅游線路頁面,以及進行數據庫操作的頁面。發布旅游路線信息,按線路添加的時間排序,主要是運用了 DataSource控件來實現,后臺管理員添加旅游線路信息,是通過文本編輯器寫入數據庫來實現的 SqlConnection con=DB.conCreate();//調用數據庫連接類
;)(nepO.noc? ? ?
息信路線的新入插//;)(dnammoClqS wen=dmc dnammoClqS?cmd.CommandText = "insert Line (line_name,line_xingcheng,line_anpai,line_shuoming,line_baojia,add_date,line_price,line_pic,line_picname,line_type)values(@line_name,@line_xingcheng,@line_anpai,@line_shuoming,@line_baojia,@add_date,@line_price,@line_pic,@line_picname,@line_type)";
;noc=noitcennoC.dmc? ? ? qS,"eman_enil@"(retemaraPlqS wen=arap retemaraPlqS?lDbType.VarChar);
cmd.Parameters.Add(para);//寫入數據庫
;eman_enil=eulaV.arap?
eTN.epyTbDlqS,"gnehcgnix_enil@"(retemaraPlqS wen=arap?xt);
? ? cmd.Parameters.Add(para);
? ?
;noitcerid_enil=eulaV.arap? ?
;)txeTN.epyTbDlqS,"iapna_enil@"(retemaraPlqS wen=arap?
??;)arap(ddA.sretemaraP.dmc? ? ? para.Value=line_anpai;
pyTbDlqS,"gnimouhs_enil@"(retemaraPlqS wen=arap?e.NText);
;)arap(ddA.sretemaraP.dmc?
para.Value=line_memory;
miTetaD.epyTbDlqS,"etad_dda@"(retemaraPlqS wen=arap?e,8);
;)arap(ddA.sretemaraP.dmc?
;etad_enil=eulaV.arap?
,rahCraV.epyTbDlqS,"ecirp_enil@"(retemaraPlqS wen=arap?50);
??;)arap(ddA.sretemaraP.dmc?
?
;ecirp_enil=eulaV.arap?4.4 旅游圖片版塊 旅游圖片發布系統主要是向瀏覽用戶提供張家界精美風景圖片,根據各個不同的旅游景點上傳相應的風光圖片,頁面按上傳順序縮成小圖排列,瀏覽用戶可以在點擊小圖瀏
覽大圖。也可以對不同景點的風光圖片按其靜電名稱搜索。網站管理員在后可以對相應景點的風光圖片進行修改、添加、刪除操作。
4.4.1 旅游圖片版塊分析 本網站的旅游圖片發布系統包括以下幾個部分:旅游圖片的添加、旅游圖片的修改、旅游圖片的刪除、各旅游景點旅游圖片搜索。
4.4.2 旅游圖片版塊的實現 根據前面給出的旅游圖片發布系統結構圖,系統實現主要包括旅游圖片的瀏覽和旅游圖片的搜索以及旅游圖片的管理。
?。?4.2.1 旅游圖片的瀏覽 旅游圖片的瀏覽將數據庫中的旅游圖片信息查詢出來,并在頁面中將旅游圖片縮成小圖進行列表顯示,這樣就可以讓瀏覽用戶有選擇性的瀏覽信息內容,并且在列表頁面提供鏈接,可以點擊小圖瀏覽清晰的大圖。
4.4.2.2 旅游圖片的管理 旅游線路的管理包括發布旅游圖片、修改旅游圖片、刪除旅游圖片頁面。
旅游圖片的添加是通過管理員在后臺添加實現的,主要運用了 VS2005 自帶的圖片上傳控件。主要是在對上傳圖片的名稱讀取和路徑存儲設置 protected void Button1_Click(object sender, EventArgs e)
{
// 讀取圖片的名稱和路徑
string full = this.;
string
= full(full("\\") + 1);
string
?。?full(full(".") + 1);
if ( == "jpg" ||
== "JPG" ||
== "gif" ||
== "Gif" ||
== "bmp" ||
?。? "BMP")
{
// 設定圖片的保存路徑
this.(this.Server.MapPath("pic")
+ "\\" + );
this.Session["line_pic1"] = "pic" + "/" + ;
SqlConnection con = DB.conCreate();
con.Open();
SqlCommand cmd = new SqlCommand("insert jingdianpic values(@pic_url,@pic_name,@jingdian_id,@addtime)", con);
//圖片信息寫入數據庫
SqlParameter para = new SqlParameter("@pic_url", SqlDbType.VarChar);
cmd.Parameters.Add(para);
para.Value = this.Session["line_pic1"].ToString();
para = new SqlParameter("@pic_name", SqlDbType.VarChar);
cmd.Parameters.Add(para);
para.Value = this.TextBox1.Text;
para = new SqlParameter("@jingdian_id", SqlDbType.Int);
cmd.Parameters.Add(para);
para.Value = this.Session["pic"].ToString();
para = new SqlParameter("@addtime", SqlDbType.DateTime);
cmd.Parameters.Add(para);
para.Value = DateTime.Now;
cmd.ExecuteNonQuery();
con.Close();
this.db_pic(); } 限于篇幅,旅游圖片的管理頁面的源代碼在此就不再列出了,picture.aspx為旅游圖片顯示頁面。
4.4.2.3 旅游圖片的搜索
旅游圖片的搜索,主要是根據相應的景點名,在數據庫中查找相應的旅游風光圖片。其代碼如下:
protected void Page_Load(object sender, EventArgs e)
{if (?。鬶is.IsPostBack)
// 判斷初始值
{
temp = Convert.ToInt32(this.Request.QueryString["jingdian_id"]);
this.Session["jingdian_id"] = temp;
this.db_pic();
this.db_jd(); 旅游圖片的搜索,是根據瀏覽客戶在文本框的內容,查找相應的景點圖片:
private void db_jd()
// 查找對應的景點
{this.DataList2.DataSource = new DB("select * from jingdi
?。幔?amp;quot;).dt();
this.DataBind();
}
protected void Button1_Click(object sender, EventArgs e) //查找對應景點的圖片
{this.DataList1.DataSource = new DB("select * from jingdianpic where pic_name like '%"+this.TextBox1.Text+"%"").dt();
this.DataList1.DataBind();
} 4.5 酒店版塊 旅游酒店發布主要是向瀏覽用戶及時、快速的發布張家界的酒店信息,按照不同的景區和酒店的星級來發布酒店信息,酒店信息包括酒店名稱、酒店星級、酒店價格以及酒店所在的景區,同時針對每個具體的酒店,瀏覽用戶可以在網上直接對其進行預訂。網站管理員在后可以對相應的酒店信息進行修改、添加、刪除操作,對于游客在網上預訂的酒店預訂定單進行相應操作。
?。?5.1 酒店版塊分析 本網站的酒店信息發布系統包括以下幾個部分:酒店信息的添加、酒店信息的修改、酒店信息的刪除、各旅游景點各星級旅游酒店的搜索。
?。矗?.2 酒店版塊實現 根據前面給出的酒店信息發布系統結構圖,系統實現主要包括酒店信息的瀏覽、酒店信息的列表排列以及酒店信息的搜索以及酒店信息的管理。
4.5.3.1 酒店信息的瀏覽 酒店信息的瀏覽將數據庫中的酒店信息查詢出來,并在頁面中按照添加的酒店 id 按順序排列出來,根據添加酒店信息時選擇的是否在主頁顯示列出按酒店名排列的酒店信息。
4.5.3.2 酒店信息的管理 酒店信息的管理包括發布酒店信息、修改酒店信息、刪除酒店信息頁面。
4.5.3.3 酒店信息的搜索
酒店信息的搜索,主要是根據所在的景區、價格以及星級進行搜索和查找。其代碼如下:
public void tj_hotel()
//顯示推薦酒店
{this.DataList1.DataSource = new DB("Select hotel_id,hotel_name from hotel where hotel_tuijian=1").dt();
this.DataList1.DataKeyField = "hotel_id";
this.DataList1.DataBind();}
public void shiqu_hotel() //顯示市區酒店
{this.DataList2.DataSource = new DB("Select top 10 * from hotel where hotel_position=1").dt();
this.DataList2.DataKeyField = "hotel_id";
this.DataList2.DataBind();} public void jingqu_hotel() //顯示景區酒店
{this.DataList3.DataSource = new DB("Select top 10 * from hotel where hotel_position=0").dt();
this.DataList3.DataKeyField = "hotel_id";
this.DataList3.DataBind();
}
protected void DataList3_ItemCommand(object source, DataListCommandEventArgs e) //景區酒店預定
{if (e.CommandName == "yd")
{int hotel_id = Convert.ToInt32(this.DataList3.DataKeys[e.Item.ItemIndex]);
this.Response.Redirect("dinghotel.aspx?hotel_id=" + hotel_id); }
}
protected void btn_hotelsearch_Click(object sender, EventArgs e)
{
?。?酒店查詢
string str = this.txt_hotelname.Text;
string str2;
string sqltext;
int fjb = Convert.ToInt32(this.txt_fjb.Text);
int fje = Convert.ToInt32(this.txt_fje.Text);
if (this.rbtn_shiqu.Checked)
str2 = "1";
else
?。髏r2 = "0"; if (str != "")
{ // 按酒店名稱查詢
DataTable dt = new DB("Select * from hotel where hotel_name like '%" + str + "%"").dt();
this.Session["hotel_find"] = dt;
this.Response.Redirect("searchresult.aspx");
}
else
{ // 按酒店位置和輸入的價格范圍查詢酒店 sqltext = "select * from hotel where hotel_position='" + str2 + "" and hotel_gpprice between " + fjb + " and " + fje + " and hotel_grade=" + Convert.ToInt32(this.RadioButtonList1.SelectedValue);
this.Session["hotel_find"] = new DB(sqltext).dt();
this.Response.Redirect("searchresult.aspx");
}
}
protected void DataList2_ItemCommand1(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "yd")
{ inthotel_id = Convert.ToInt32(this.DataList2.DataKeys[e.Item.ItemIndex].ToString());
this.Response.Redirect("dinghotel.aspx?hotel_id=" + hotel_id); 4.6 留言本版塊
留言本可以說是網上最常見的,一般用來記載反饋信息。
4.6.1
留言本版塊的分析 本留言系統主要包括以下幾個部分:顯示客戶留言內容、添加留言信息、管理員對留言管理和回復、顯示管理員回復信息。
4.6.2
留言本版塊的實現 4.6.2.1 發表留言 用戶在發表留言時,要求用戶填寫用戶名、QQ 號碼、E_MAIL、來自哪里、選擇性別、留言內容等幾個部分供選擇,其中用戶名和留言內容不能為空。
?。?6.2.2 留言管理 留言管理包括回復留言、刪除留言,以及進行數據庫的操作。留言回復通過reply.aspx 頁面來實現,使用了<%=request.querystring("id")%>語句以 GET
方式完成<FORM>中數據的提交。
源代碼略。
4.7 旅游景點版塊 旅游景點版塊主要是向瀏覽用戶詳細介紹張家界各旅游景區的旅游景點。
4.7.1 旅游景點版塊分析 景區介紹版塊主要包括以下幾個部分:景區的添加、景點的添加、景區的修改、景點的修改、景區的刪除、景點的刪除。
4.7.2 旅游景點版塊設計 景區景點顯示需要包含某景區景點列表、景點信息內容顯示 2 部分,景區景點路管理包含景區的添加、景點的添加、景區的修改、景點的修改、景區的刪除、景點的刪除功能。
4.7.3 旅游景點版塊實現 建好數據庫后,就可以實現景區景點版塊的代碼,根據前面給出的景區經典版塊結構圖,版塊實現主要包括景區景點的瀏覽和景區景點的管理。
4.7.3.1 景區景點信息的瀏覽 景區景點的信息瀏覽將數據庫中的景點查詢出來,并在頁面中將景點的名稱等幾個字段進行列表顯示,這樣就可以讓瀏覽用戶有選擇性的瀏覽信息內容,并且在列表頁面提供鏈接,可以打開頁面閱讀景點詳細內容。
限于篇幅,景區經典及其詳細列表頁面的源代碼在此就不再列出了,jingqu.aspx 具有景區景點顯示功能的頁面。
4.7.3.2 景區景點的管理 景區景點的管理包括景區的添加、景點的添加、景區的修改、景點的修改、景區的刪除、景點的刪除,以及進行數據庫操作的頁面。
5 網站系統測試 系統測試是系統開發周期中一個十分重要而漫長的階段。其重要性體現在它是保證
系統質量與可靠性的最后關口,是對整個系統開發過程包括系統分析,系統設計和系統實現的最終審查。系統測試的對象不僅僅是源程序,而應是整個軟件,它把需求分析,概要設計,詳細設計以及程序設計各階段的開發文檔,包括需求規格說明,概要設計說明,詳細設計說明以及源程序,都作為測試的對象。測試的目的就是發現軟件的錯誤。
?。担? 系統測試的原則 (1)測試工作應避免由原開發軟件的個人或小組來承擔 (2)設計測試方案時,不僅要包括確定的輸入數據,而且包括從系統功能出發達到預期的測試結果。
?。?)測試用例不僅要包括合理,有效的輸入數據,還要包括無效的或不合理的輸入數據。
(4)不僅要檢驗程序是否做了該做的事,還要檢查程序是否同時做了不該做的事。
?。?)保留測試用例,作為軟件文檔的組成部分。
5.2 系統測試的方法 在本系統的測試過程中,采用了目前常用的測試方法,人工測試和機器測試。人工測試包括個人復審,走查和會審。機器測試包括黑盒和白盒測試。在人工測試中先采用個人復審,在網站程序編寫完成以后,自己對源程序各個部分進行詳細的檢查,然后請經驗豐富的老師檢驗一遍,以便發現問題。經過人工測試后,再進行機器測試。通過在計算機直接運行被測程序來發現程序中錯誤。
系統測試一般有單元測試,組裝測試,確認測試和系統測試四個步驟,每一步都是在前一步的基礎上進行的。
?。?)單元測試 單元測試是測試程序模塊及其接口與設計說明的要求是否一致,目的是發現程序編寫階段的錯誤。它以單個程序模塊為測試單位。單元測試是采用白盒測試的方法,根據詳細設計的描述,從模塊的內部結構出發設計測試用例,進行測試。
?。?)組裝測試 對每個模塊完成了單元測試以后,需要按照設計時做出的層次模塊圖把它們連接起來,進行組裝測試。
?。?)確認測試 經過組裝,軟件己裝配完畢,接下來進行的確認測試是以整個軟件作為測試對象,
且采用黑盒測試方法。確認測試內容主要包括以下幾部分。
功能測試:檢測軟件需求規格說明書的內容是否全部實現。
性能測試:檢查軟件的可移植性,兼容性,錯誤恢復能力以及可維護性等性能指標,以檢測軟件功能實現的程序。本系統只要安裝了Internet Information Server(IIS5.0)就可以使用,對于出錯發生,系統可以自動警告。
配置審查:檢查被測軟件的全部構成是否齊全,質量是否合乎要求,應有維護所需的全部細節,并且是否編好目錄。
?。?)系統測試 系統測試是將信息系統的所有組成部分包括軟件,硬件,用戶以及環境等綜合在一起進行測試,要在系統的實際運行環境現場,在用戶的直接參與下進行。包括集成功能測試,可靠性與適應性測試,系統自我保護及恢復能力的測試,安全性測試,強度測試。
?。?)安全測試 安全是網站管理中的一個重要環節,現在各種網站都存在著一些漏洞和不足,當然本網站中也可能存在,但已在盡力彌補這些安全漏洞。如在登錄監測用戶時,能自動過濾一些特殊字符的登錄。假若沒有在網頁中設置這個過濾監測,以此為用戶名和密碼登錄的用戶有超級管理員所擁有的權限,更嚴重的甚至能控制整臺服務器;對有上傳圖片的操作,上傳的文件都進行了自動重命名,并將擴展名統一改為 gif、jpg,為此避免上傳 ASP,ASA,等擴展名的木馬網頁;還有網站中也采用了別人在安全方面做得好的方面。
5.3 網站系統測試結果 在測試的過程中,最重要的還是測試系統的數據檢錯功能和前后臺操作顯示與數據庫內數據的一致性。
所謂的系統的數據檢錯,主要對合法字符的檢測,最大長度的檢測,整數的檢測,郵箱的檢測,權限的檢測等等。
所謂數據庫一致性的檢測,主要是用戶下了訂單,或者管理員添加、刪除、編輯了某項內容,數據庫中會不會馬上更新,在數據庫中的內容是否與操作后的一樣等等。
經過我對網站的集中測試和演示,各部分的測試結果如下:
1)、網站頁面:網站大部分頁面中使用 ASP.NET技術設計,而且直接影響到下一級頁面的運行,所以對主頁的測試比較詳細?;旧蠈η芭_能操作的一些功能模塊進行了測試。測試后發現主頁中要實現的功能都可以正常運行,并且各項頁面間的連接都符合
設計要求。數據檢錯基本上都達到要求,預訂中心中所預訂的線路,酒店的定單能在后臺中出現,且與數據庫中的完全一致。
2)、網站后臺管理:后臺的進入能可成功檢測用戶是否合法,合法用戶可正常進入后臺管理各種信息,不合法用戶無法進入后臺。如對線路分類的添加,刪除,修改;對景點圖片的上傳,刪除等;修改等眾多功能都進行了一系列的測試,基本都符合設計要求。
3)、留言本:此模塊是前臺直接操作的,用戶可以在留言版中留言的。
對于其余模塊的測試,就不再一一舉例了。以上提到的只是我測試中的一小部分內容,以防論文整體的煩索性,這里就沒有全部寫到。
?。?論文小結 本論文主要從網站可行性分析、需求分析、概要設計和數據庫設計、網站詳細設計和系統測試五個方面詳細介紹了本網站的開發過程。
6.1 網站的功能 本網站采用成熟的信息技術和手段,可應用于信息管理。網站主要由旅游新聞、旅游線路、旅游酒店、留言系統、旅游景點、旅游圖片等幾大版塊組成。
6.2 網站特點 本網站界面友好,功能齊全。使用 ASP.net 的程序設計語言,利用用Macromedia Dreamweaver MX、Fireworks 為本網站設計出了美觀精致的人機界面和簡便快捷的操作方式,網站大量采用直接網頁,用戶只需通過一系列簡單的選擇與系統進行數據交互操作,力求使用自行輸入到最少,以減少人為差錯,極大方便了用戶使用。
數據易于修改和維護,查詢十分方便,能提供多種組合條件方式進行查詢,快速而準確,并設計了多種表格,來滿足用戶的需求。
6.3 網站評估與改進方向 由于是第一次獨立開發網站,加之時間倉促,網站中存在著許多不足之處,功能還很不完善、界面不夠完美等。對系統的安全性、完整性控制也有待進一步加強,確保系統中數據的完整、正確。
?。?4 開發體會與收獲 通過本網站的開發使我熟悉掌握了 Macromedia Dreamweaver MX2004、ASP.net動態網站開發方法,加深了對數據庫知識的理解和運用,以前很多抽象、枯燥的理論知識通過這次網站開發也得到進一步的理解和掌握。在網站開發過程中,也認識到自
己存在很多不足,由于是第一次獨立開發網站,在開發過程中我遇到了許多料想不到的困難。對一些比較深奧專業的技術問題自己有...