【正文】
,史泰博與中國最大的網上辦公用品銷售企業(yè) — 上海上信電子商務 有限公司組建上海史泰博企業(yè)發(fā)展有限公司,開始正式進入中國辦公用品市場。該網站 以 Windows XP 操作系統(tǒng)為服務平臺 , 采用目前流行的 PHP 技術,后臺數據庫采用 MySQL,服務器采用 Apache HTTP server。 包括開發(fā)該網站用到的工具和方法。其獨特的語法混合了 C 語言、 Java語言和 Perl 語言的特點,是一種被廣泛使用的、開源式的多用途 腳本語言,尤其適合Web 開發(fā)。 MySQL 是最流行的開放源碼 SQL 數據庫管理系統(tǒng),由 MySQL AB 開發(fā)。由于 MySQL數據庫 具有 體積小、速度快、 易于使用、工作模式多、 總體擁有成本低 且 開放源碼 等特點 ,一般中小型網站的開發(fā)都選擇 MySQL 作為網站數據庫。 它可以運行在幾乎所有廣泛使用的計算機平臺上。 HTML 是標準通用標記語言 下的一個應用,也是一種規(guī)范,一種標準,它通過標記符號來標記要顯示的網頁中的各個部分。一方面可以使頁面維護工作更容易,另一方面也可增加頁面在不同媒介的呈現(xiàn)效果。同時也是一種廣泛用于客戶端 Web 開發(fā)的腳本語言, 其源代碼在發(fā)往客戶端運行之前不需經過編譯,而是將文本格式的字符代碼發(fā)送給瀏覽器由瀏覽器解釋運行。 Studio 介紹 Zend Studio 是專業(yè)開發(fā)人員在使用 PHP 整個開發(fā)周期中唯一的集成開發(fā)環(huán)境,它包括了 PHP 所有必須的開發(fā)部件。 Zend Studio 具有專業(yè)和企業(yè)開發(fā)者開發(fā)、配置、調試和管理關鍵商務 PHP 應用的易使用性、可伸縮性、可靠性和擴展性 , 是當今世上最強大的 PHP 集成開發(fā)環(huán)境。 第三章 系統(tǒng) 分析 可行性分析 開發(fā)任何網站, 都會受到時間和資源上的限制。本網站開發(fā)只需要計算機、相關開發(fā)軟件和資料的支持。 技術可行性 技術可行性主要考慮現(xiàn)有的硬軟件平臺能否滿足開發(fā)者的需要,現(xiàn)有的技術條件能否順利完成開發(fā)工作。 PHP、 MySQL 和 Apache 搭配可組成良好的開發(fā)環(huán)境。 ThinkPHP 框架性能優(yōu)異,適合小型網站的開發(fā) 現(xiàn)如今硬件的更新速度越來越快,可靠性有了大幅度提高而價格越來越 低。該網站功能強大、操作方便,用戶只需熟悉基本的上網操作即可使用該系統(tǒng)。需求分析是軟件工程中的一個關鍵過程,它在系統(tǒng)級需求工程和軟件設計間起到橋梁作用。會員在注冊并 成功 登錄后,可以瀏覽查詢商品、 訂購商品和管理 個人信息等 操作 。在注冊頁面 填寫基本信息即可成功注冊為該網站的會員。 若輸入信息正確 彈出提示信息 , 并跳轉回主頁。 ( 3) 查詢 商品。會員搜索到滿意的商品后,單擊 加入購物車按鈕,即可將商品加入購物車。 會員 登錄后點擊主頁上的用戶中心標簽 ,進入個人信息界面 ,在該頁面內 修改個人信息。 ( 2)訂單管理。管理員也可以在后臺添加或刪除商品、修改商品信息。 非功能 需求分析 本系統(tǒng)的非功能需求如下: ( 1)用戶界面需求:簡潔、易用、易懂,友好和諧的用戶界面。用例圖是由參與者、用例以及他們之間的關系構成的用于描述系統(tǒng)功能的動態(tài)視圖。在用例圖中使用人形圖標表示參與者,參與者的名字寫在人下面。 本次設計系統(tǒng)的參與者分為兩類,會員和管理員。辦公用品網上商城的用例圖如圖 31 所示。而具有相同屬性的一類實體抽象為一個實體型。該方法用 表示實體型、屬性和聯(lián)系的方法來描述現(xiàn)實世界的概念模型。 若實體之間聯(lián)系有屬性,則把屬性和聯(lián)系之間用無向邊連上。會員和商品之間存在多對多的訂購與評論聯(lián)系。后臺面向管理員,主要分為會員管理 模塊、商品 管理 模塊和訂單 管理 模塊 三個模塊。其中會員、管理員、商品、分類和公告五個實體各轉換為一張表。會員與商品之間的多對多的評論關系轉換為訂單表。 視圖( V):由 View 類和模板文件組成,模板做到了 100%分離,可以獨立預覽和制作。 GonggaoAction 類負責與公告相關的某些操作, ProductAction 類負責與商品相關的一些操作, DingdanAction類負責處理與訂單相關的一些操作, UserAction 類負責與會員相關的一些操作。由于前臺模塊不需要與管理員員進行交互,所以前臺模塊共設計六個模型類: DingdanModel 類、GonggaoModel 類、 PingjiaModel、 ShangpinModel 類、 TypeModel 類和 UserModel 類。 單擊主頁上會員注冊標簽,系統(tǒng)解析 URL 參數,調用UserAction 類的 reg()方法。點擊提交按鈕后,系統(tǒng)調用 UserAction 類的 savereg()方法。會員注冊頁面如圖所示 圖 53 會員注冊頁面 登錄模塊設計與實現(xiàn) 已注冊會員在首頁 的登錄框內輸入會員名、密碼和驗證碼,即完成登錄操作。若會員輸入信息正確且未被凍結,則開啟 session,將會員的相關信息存入 session 中,并顯示會員成功登錄。該方法通過 ShangpinModel 模型類對輸入的關鍵字進行模糊查詢。會員在該頁面內選擇詳細的商品信息,進行精確查找。 圖 55 查詢結果頁面 在網頁 上點擊某一商品的圖像、名稱后,系統(tǒng)會調用 ProductAction 類的 lookinfo()方法。 圖 56 商品具體信息頁面 系統(tǒng)自動判斷是否有會員登錄。系統(tǒng)調用 ProductAction 類的 savepj()方法。顯示評論頁面如圖 57 所示。若有會員登錄。若商品為售完,則通過 session 判斷購物車內是否已有該商品 的記錄。已登錄會員在首頁單擊 “ 查看購物車 ” 按鈕,系統(tǒng)也會調用該方法來顯示購物車。本次設計中,若訂單總金額不超過三十元,則加收十元運費。在該頁面內填寫完信息后,提交訂單。顯示訂單信息如圖 59 所示。會員點擊 “ 更改 ” 按鈕后,系統(tǒng)調用 changeinfo()方法,該方法接收會員更改的信息,并通過UserModel 類將數據插入到 user 表中。系統(tǒng)調用 UserAction 類的chkpassword()方法 ,該方法對會員輸入的信息進行校驗,并將滿足條件的數據通過UserModel 類插入到 user 表中。系統(tǒng)將數據注入到模板文件 中,并調用該模板顯示。查詢訂單頁面如圖512 所示。后臺模塊控制器類圖如圖 513 所示。 + _ _ c o n s t r u c t ( )+ _ i n i t i a l i z e ( )+ a d d ( )+ s a v e ( )+ d e l e t e ( )+ s e l e c t ( )+ f i n d ( )+ s e t F i e l d ( )+ g e t F i e l d ( )+ c r e a t e ( )+ j o i n ( )+ g e t P k ( ) d b p k t a b l e P r e f i x n a m e d b N a m e t a b l e N a m e t r u e T a b l e N a m eM o d e l C l a s sA d m i n M o d e l C l a s s D i n g d a n M o d e l C l a s s G o n g g a o M o d e l P i n g j i a M o d e l C l a s s S h a n g p i n M o d e l C l a s s T y p e M o d e l C l a s s U s e r M o d e l 圖 514 后臺模塊模型類圖 管理商品模塊設計與實現(xiàn) 管理員登錄后,在后臺管理頁面,點擊 “ 添加 商品類別 ” ,可以進行添加商品 類別操作。系統(tǒng)調用TypeAction 類的 addleibie()方法,通過 TypeModel 模型類從數據庫中取出 所有一級分類的名稱和編號,注入到模板文件 中,并調用該模板文件顯示添加類別頁面。若無該類別,則將新類別的信息插入到 type表中。 圖 516 顯示類別界面 管理員在顯示類別頁面點擊某一類別的 “ 更改 ” 標簽后,系統(tǒng)會調用 TypeAction類的 xiugaileibie()方法,通過 TypeModel 模型類從數據庫中該分類的相關信息,注入到模板文件 中,并調用該模板文件顯示修改類別信息頁面。系統(tǒng)調用 TypeAction 類的 deletelb()方法,根據接收的商品類別編號通過 TypeModel 類從 type 表中刪除商品類別信息,通過 ShangpinModel 類從 shangpin 表中刪除所有從屬于該類的商品信息。系統(tǒng)調用savenewgoods()方法,通過 ShangpinModel 類將新的商品記錄插入到 shangpin 表中。 圖 518 顯示商品記錄界面 管理員在 顯示商品記錄頁面單擊某一商品的 “ 修改 ” 標簽后,系統(tǒng)會調用ProductAction 類的 changegoods()方法,該方法通過 ShangpinModel 類從 shangpin 表中取出該商品的具體信息。 管理員在顯示類別頁面可以點擊每一個商品對應的刪除復選框,刪除該商品。顯示會員信息頁面如圖 519 所示。管理員在該頁面點擊某一會員對應的 “ 查看 ” 標簽,可以查看該會員的具體信息并管理該會員的狀態(tài)。 圖 520 顯示具體會員信息頁面 管理員在會員信息頁面中點擊 “ 凍結會員 ” 或 “ 解除凍結 ” 標簽,系統(tǒng)調 用 UserAction類的 dongjieuser()方法,該方法根據接收到的會員編號通過 UserModel 類在 user 表中修改該會員的的狀態(tài),然后返回顯示會員信息頁面。提交修改后,系統(tǒng)調用 saceadmin()方法,通過 AdminModel 類更改 admin表中管理員的記錄,并返回顯示管理員信息頁面。系統(tǒng)將訂單信息注入到模板文件 中,并調用該模板分頁顯示訂單信息。管理員可以在該頁面點擊 某一訂單記錄對應的 “ 查看 ” 按鈕 , 查看并修改 訂單 詳細 信息。顯示訂單詳細信息頁面如圖 522 所示。系統(tǒng)調用 savenewgonggao ()方法,通過 GonggaoModel 類將新的公告記錄插入到 gonggao 表中。系統(tǒng)將信 息注入到模板文件 中,并調用該模板文件顯示修改公告信息頁面。系統(tǒng)會調用 GonggaoAction 類的 deletegonggao()方法,通過根據接收到的公告編號GonggaoModel 類從 gonggao 表中刪除公告。 管理員在顯示公告頁面可以點擊每一個公告對應的刪除復選框,刪除該評論。在任何軟件系統(tǒng)的開發(fā)過程中,尤其是在進行大型軟件系統(tǒng)的開發(fā)中,任何一個編程人員都不可避免地會產生錯誤。所使用的工具為筆、紙、計算器等,包括程序審查會、人工運行以及靜態(tài)檢驗。以需求規(guī)約和需求描述為基礎的測試。測試用例來源于對需求和實現(xiàn)的綜合考慮, 這種方法被成為 “ 灰盒法 ” 。只依據程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。 aa 111 111111,確認密碼輸入 222222 qqqq% 1111 222 預期輸出 ,長度為 330 位 ,長度為 330 位 6! 確 實際輸出 ,長度為 330 位 ,長度為 330 位 6! 結果對比 實際輸出符合預期輸出 表 62 會員登錄模塊測試用例 用例說明 會員登錄測試 測試需 求 檢測會員登錄時輸入的信息是否合法 測試用例 ,直接點擊登錄按鈕 預期輸出 提示登錄成功 實際輸出 提示登錄成功 結果對比 實際輸出符合預期輸出 用例說明 會員訂購商品測試 測試需求 測試會員訂購商品模塊的功能 測試用例 “ 購物車 ” 預期輸出 實際輸出 完 結果對比 實際輸出符合預期輸出 測試結果分析 在使用黑盒測試的過程中,預期輸出與實際輸出基本一致,由此可以得出結論,本系統(tǒng)運行基本正常。 本設計的題目是 辦公用品網上商城 設計與實現(xiàn)。 辦公用品網上商城由前臺和后臺組成。 由于開發(fā)經驗的不足與水平有限,在系統(tǒng)設計中還存在許多不足之處,比如 :界面的美化,由于時間的倉促 ,在開發(fā)設計中沒有對系統(tǒng)的界面的美化做太多的工作,以至于鑒于過于簡潔 。因此該 網站 離實際使用還有一定的距離,需要進行不斷地補充和完善。在李老師的熱情關心和仔細的指導下,我完成了本次