Web開發技術應用系統設計報告
題 目: 圖書推薦系統
一、系統設計意義及目的
本系統的設計主要用於為讀者推薦各個領域中比較優質書籍,而且讀者可在本系統中根據自己所要的書籍的關鍵字或對應的篩選條件自動搜尋出適當的書籍,搜尋到的書籍會有對應的介紹,方便讀者對內容的理解;另外,網站還有新書推薦及讀者熱評書籍的欄目,更好的幫助讀者在根據風評選擇適合自己的書籍。
二、系統功能介紹
1. 圖書查詢
圖書查詢,是每一個圖書系統必備的功能,是運用書籍關鍵字來查詢,在本系統中,儲存的書籍主要是用資料庫,查詢書籍是利用資料庫的查的功能,使用資料庫儲存方便之後對網站中的書籍資料進行更新,以及對網站的維護,最重要是可以進行批量化對圖書的管理。
2. 分類查詢
分類查詢是相對於圖書查詢更為強大的功能,可通過查詢出版社,大眾的評分,以及語言的分類,更好的為讀者推薦適合自己的書籍,以及適合現在大眾喜歡的模糊查詢功能, 查詢自己想看的書籍,該功能是需要對資料庫查詢功能的進一步提升。
3. 書籍推薦
書籍推薦功能是為廣大“書荒”的讀者,提供圖書選擇,而且在書籍推薦中,我們分為新書推薦和讀者熱評,在新書推薦功能中,我們會新增對書籍的介紹,方便讀者對新書有個大概的瞭解,在讀者熱評中,我們將選取比較多人查詢的書籍,並加入書籍的介紹來 作為讀者熱評。
4. 使用者留言
使用者留言功能,我們在使用者留言功能設定了網站簡介,聯絡我們,讀者留言的三個模組,在讀者留言模組裡,可以對我們網站提供建議,評價,反饋等,有利於我們對本系統的日常維護。
三、技術模組
1. 登入註冊驗證模組
a.登入:使用.net自帶的Login控制元件進行使用者登入,並將使用者登入時提交的賬號密碼跟資料庫中的內容作對比,對比正確後成功登入,跳轉網站首頁。
b.註冊:使用.net自帶控制元件,CreateUserWizara控制元件,與成員資格管理結合,在成員資料表建立新使用者。其中,密碼通過郵箱獲得,具有良好的保密性。
c.修改以及重置密碼:修改密碼,需要驗證舊密碼,在註冊時填寫的安全提示問題和答案作為修改密碼的憑證;重置密碼,新密碼將通過郵箱傳送。
2. 多條件搜尋模組
a.關鍵字搜尋:根據前端返回的查詢字串,使用WHERE...like %value%的方式構造出模糊查詢的
b.分類選擇搜尋:根據前段表單上checkbox上選擇的多組陣列值對應的分類,使用WHERE ... OR ... 語句構造出多條件並列查詢的SQL語句,並返回到前端設計的SQL查詢控制元件,將查詢出的結果交給前端頁面進行渲染。
3. 頁面導航模組
導航模組使用了Menu控制元件,Menu控制元件的資料來源(DataSourceID)由SiteMapDataSource控制元件給出,即頁面導航邏輯都在Web.sitemap上定義。
四、資料庫概念結構圖(E-R圖)及庫表設計
1.E-R圖
2.庫表設計
a) 圖書資訊表
欄位 |
說明 |
型別 |
備註 |
pd_id pd_seid pd_boid pd_name pd_gradeid pd_verid introduce |
圖書編號 圖書系列 圖書出版社 圖書名字 圖書評分 圖書版本 圖書簡介 |
Int Int Int Char Int Int text |
主鍵 外來鍵 外來鍵 外來鍵 外來鍵 外來鍵 允許為空 |
b) 文章資訊表
欄位 |
說明 |
型別 |
備註 |
news_id news_ncid news_ttl news_date news_content |
文章編號 文章分類編號 文章標題 文章日期 文章內容 |
Int Int Char Datetime Char |
主鍵 外來鍵 允許為空 允許為空 允許為空 |
c) 圖片資訊表
欄位 |
說明 |
型別 |
備註 |
img_id img_imgcid img_url img_title |
圖片編號 圖片分類編號 圖片相對路徑 圖片標題 |
Int Int Char Char |
主鍵 外來鍵 允許為空 允許為空 |
d) 選單欄資訊表
欄位 |
說明 |
型別 |
備註 |
menu_id menu_classid menu_ttl menu_url |
選單編號 選單分類編號 選單名字 選單相對路徑 |
Int Int Char Char |
主鍵 外來鍵 允許為空 允許為空 |
e) 反饋資訊表
欄位 |
說明 |
型別 |
備註 |
msg_id msg_date msg_name msg_phone msg_message |
反饋資訊編號 反饋資訊日期 名字 聯絡號碼 反饋資訊 |
Int Datetime Char Char Char |
主鍵 允許為空 允許為空 允許為空 允許為空 |
五、主要程式碼說明
母版頁構建
通過使用母版頁,可以集中處理頁面的通用功能,可以方便的建立一組控制元件和程式碼。當用戶請求內容頁時,這些內容頁將與母版頁合併,使得母版頁的佈局與內容頁的內容可以組合在一起輸出。
六、主要執行介面截圖及說明
a) 網站首頁
b) 圖書中心頁面(通過勾選篩選條件或填寫關鍵字可以檢索出所需書籍)
c) 推薦熱議頁面(點選文章題目可以進入檢視文章詳情)
d) 文章詳情頁面
f) 聯絡我們頁面(顯示主要聯絡方式資訊)
七、小組分工
組長:
徐富基(42%):主要負責分工和技術指導,主要工作內容是負責框架美化和後臺邏輯編寫與修改,並負責資料庫的業務設計。
組員:
劉思巨集(43%):前端基礎框架的構建,包括母版頁的搭建和登入註冊頁面的編寫。
黃嘉鋒(15%):資料蒐集以及資料庫資料錄入。
八、總結(軟體特點、遇到技術難點及解決方法、小組個人認識)
本系統的開發滿足了一個圖書推薦網站的基本需求,例如根據圖書名字的關鍵字進行檢索、根據篩選條件檢索圖書、閱讀瀏覽新書推薦資訊、閱讀讀者熱評資訊以及反饋資訊給網站。該系統的大量資料顯示均為繫結資料庫所顯示,在實現原理上均為簡單的資料繫結與資料操作。在設計頁面的美觀上,則採用了簡單的CSS運用,其他的佈局則是對基礎控制元件的綜合應用。
在系統的開發過程中,遇到的最大的技術難題則是對於各種控制元件的使用的不熟練,很多控制元件都是第一次使用,不明白其使用方法。解決辦法就是在檔案系統建立一個用於測試的資料夾,其中放置各種用於嘗試的新控制元件,將除錯成功的控制元件程式碼在放進正式的系統中,如此一來,便可以不過多的修改原系統的程式碼,以避免舊的錯誤沒有解決,新的錯誤再加上去的煩擾,等到整個系統的開發完成後,再將測試資料夾刪除。還有的就是關於資料庫的呼叫,由於系統需求,資料庫的設計也是較為麻煩,但熟練運用之後,便容易多了。
整個系統的開發持續了兩個星期,期間遇到的程式碼異常程式碼報錯一個接著一個,還好組長較為有經驗,帶著我們查詢資料,不斷的百度遇到的相關問題,又不斷的除錯,其中的錯漏是必要的關鍵,待把問題都解決以後,便有了一個系統的雛形,之後不斷地優化。作為第一次弄的系統,感覺真是相當的不容易,希望以後能再加努力,力求做出更好的作品。現在這個系統比較基礎的,以後有時間會繼續去鑽研以及完善。