【正文】
了系統數據庫的數據需求分析的過程,說明了數據庫由概念結構設計轉換成邏輯結構設計的過程,并把各個物理數據模型結合起來形成了一個整體的關系數據庫模型,為系統詳細設計作好了充足的準備工作。 運行環(huán)境1.硬件環(huán)境系統的硬件環(huán)境配置為處理器Pentium III800,內存512M,硬盤1G。 開發(fā)工具及技術簡介以下內容是對本系統所采用的開發(fā)工具和技術進行的簡單介紹。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。對于以上每一種功能上的類別,在Eclipse中都有相應的功能部件,并通過一系列的插件來實現它們。簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯。SQL Server 2005存儲和管理數據有以下優(yōu)點(1)每個數據項都存儲在中央位置,所有用戶都可在這個位置使用它們;(2)各個客戶端上不單獨存儲數據項復本,從而消除了因用戶不得不確保使用的信息相同所帶來的麻煩。還可在服務器應用程序中執(zhí)行規(guī)則,因為這些應用程序也是許多客戶端訪問的中央資源;(5)關系數據庫服務器只返回應用程序所需要的數據,優(yōu)化了網絡流量;(6)最大程度地降低硬件的成本,由于數據不是存儲在每個客戶端上,客戶端不必耗費磁盤空間來存儲數據。 技術簡介本系統采用MVC框架,MVC(ModelViewController)是一種設計 模式,它強制性地把應用程序的輸入、處理和輸出分開。其中視圖層向用戶顯示相關的數據,并能接受用戶的輸入數據,但是它并不進行任何實際的業(yè)務處理??刂茖咏邮沼脩糨斎氩⒄{用模型和視圖去完成用戶的需求。其中,關鍵的技術難點在于Struts技術的運用。在Struts框架中,模型層由實現業(yè)務邏輯的JavaBean組件構成,控制層由ActionServlet和Action來實現,視圖層由一組JSP文件構成。界面設計如圖51所示。 用戶維護模塊設計與實現由于網上購物必須保證用戶的正確性、購物的安全性,需要對用戶資料進行有效的管理,因此用戶管理是電子商務網站的重要內容。1.注冊(1)實現目標用戶單擊注冊后需要輸入密碼和確認密碼、用戶真實姓名、住址、性別、E_mail、。這里需要用戶通過E_mail注冊是考慮到兩點:第一,用戶的E_mail是惟一的;第二,通過用戶的E_mail可以很方便快捷的與用戶取得聯系。對于不符合要求的填寫會給出必要的提示,并返回修改;對于符合要求的注冊表單,用戶提交信息后也要返回相應的歡迎信息,用戶提交的正確注冊信息將被存入系統的數據庫中。圖52 用戶注冊模塊(2)實現過程所屬頁面名:表單屬性:name=form1 action=%=path%/ method=post頁面設計如表52所示。用戶登錄的程序流程圖如圖53所示。用戶登錄用于驗證用戶的用戶名和密碼,然后決定顧客進入系統進行操作,如進行用戶修改的操作,購物車和結帳的操作等。圖54 用戶登錄模塊 (3)實現過程所屬頁面名:頁面設計如表53所示。通過點擊提交按鈕完成修改操作。圖55 用戶修改模塊為了保證用戶購物的安全性,系統提供了不關閉瀏覽器而退出音像產品在線銷售系統的功能,注銷功能是清除用戶在使用或登錄系統期間的所有Session信息。表54 用戶修改主要控件信息列表名稱類型含義userNameText輸入用戶名稱passwordPassword輸入密碼passwordOnePassword輸入確認密碼userRealnameText輸入真實姓名userAddressText輸入住址userSexradio選擇性別userTelText輸入聯系方式EmailText輸入Email地址確定Button提交用戶信息取消Button取消注冊 音像產品展示模塊設計與實現1.實現目標為了方便顧客選購音像產品,本系統采用了兩種展示產品的方式。以銷售排行查看音像產品為例,顧客在首頁的的銷售排行即可查看銷售排行,方便顧客查看暢銷的音像產品相關信息及詳細信息。 購物車模塊的設計與實現1.購物車程序流程描述用戶選購音像產品后添加到購物車中,在購物車中進行查看,同時對不滿意的產品可以進行移除,對要購買的產品可以調整數量,移除產品和清空產品。購物車流程圖如圖56所示。購物車模塊的設計包括:顧客添加音像產品到購物車和顧客對購物車的管理,如更新購買的音像產品數量、清空購物車和將購物車中音像產品從購物車中移除等。界面的設計如圖58所示。圖57 購物車模塊 收銀臺模塊的設計與實現1.實現目標用戶選擇完音像產品后,需要確認購物車中內容,即結帳,點擊下一步,此時頁面跳轉到結賬頁面。當完成一次交易所需要的用戶方面的信息都已齊全,只須生成訂單即可進入配送過程。界面的設計如圖58所示。具體代碼參照附錄3。界面的設計如圖59所示。2.實現過程所屬頁面名:首先使用gonggaoDAO中的save方法,將公告信息添加到數據庫中,在用戶點擊頁面中的公告后,通過gonggaoDAO下的findAll方法,將其調出,顯示到頁面中。界面的設計如圖510所示。如果不為空,則留言人中顯示userName,使用獲取系統時將來給留言時間賦值。 系統后臺管理功能設計與實現本節(jié)對系統后臺功能設計進行詳細的說明。對這些信息操作的主要功能詳細設計包括對它們的添加、刪除、更新和查詢等操作,需要分別在基本信息中的每一個頁面中設計這些功能。需要用SQL語句將這些信息添加到數據庫中。對于在某一頁面中的查詢功能,此頁面要能夠刷新顯示出此查詢結果信息。界面的設計如圖511所示。進入客戶管理界面時通過findAll方法來顯示所有用戶的信息,點擊刪除時,通過findById方法獲取指定的用戶ID,使用sql語句進行操作。管理員應該可以查看系統中已處理的訂單和未經處理的訂單信息,用戶訂單信息和訂單明細信息在不同的頁面顯示。 圖512 訂單管理模塊2.實現過程所屬頁面名:訂單管理模塊使用了buyAction中的方法,當用戶提交訂單時,訂單狀態(tài)默認為未受理。管理員查看訂單明細時通過 orderDetail()方法通過訂單ID將指定的訂單明細顯示到頁面中。 音像產品信息管理設計與實現1.實現目標在音像產品管理模塊中除了基本的信息管理功能外,為了方便顧客瀏覽到音像產品的真實外貌,在添加音像產品模塊中增加上傳音像產品圖片的功能。在音像產品信息管理中,我將音像產品分為特價和非特價音像產品來管理。在管理員查看音像產品信息時,將鼠標放到查看圖片上就可以查看圖片界面的設計如圖513所示。 公告信息管理設計與實現1.實現目標在各大熱門網站上都有公共的出現,該模塊的建立也是為了通過實現發(fā)布公告,給顧客提供方便的操作,讓客戶能夠及時的了解商城的活動情況。 圖514 公告管理模塊2.實現過程所屬頁面名:在gonggaoAction中,調用gonggaoAdd方法進行添加操作,使管理員能添加一個新公告,管理員查看時則調用了gonggaoMana()方法,來顯示所有的公告信息,要進行刪除操作就會調用gonggaoDel()方法進行刪除。界面的設計如圖515所示。刪除留言時則調用liuyanDel方法來實現。前臺模塊詳細介紹了用戶維護、銷售排行、購物車、結賬、查看訂單、留言模塊和公告瀏覽模塊的設計和實現的過程,同時后臺模塊介紹了客戶信息管理、訂單管理、音像產品信息管理、公告管理和留言管理的設計和實現的過程。第6章 系統測試與性能分析 軟件測試經過需求分析、設計和編碼等階段的開發(fā)后,得到了源程序,開始進入到軟件測試階段。目前,程序的正確性證明尚未得到根本的解決,因此軟件測試仍是發(fā)現軟件中錯誤和缺陷的主要手段。在源程序代碼經過編譯、評審、確認沒有語法錯誤之后,便可開始進行單元測試。3.確認測試經過集成測試之后,接口錯誤已經發(fā)現被發(fā)現并改正了,接下便要進行確認測試。所以,確認測試又被稱為有效性測試。 本系統測試為了測試系統的正確性和完整性,本節(jié)將對系統中重點模塊的測試進行介紹。通過對系統的反復大量的測試,該模塊測試成功。通過對該功能的重復大量測試,該模塊能夠準確地實現此項功能。通過隨機測試了幾組數據,其修改的數量和累計的金額均正確。然后針對購物車應該不限制顧客購買音像產品的數量這一原則進行測試,通過大量向購物車中添加音像產品來進行測試,測試結果為購物車中可以顯示所添加的所有音像產品信息,測試結果取得了預期的效果。測試這個模塊準備的數據有:1.sang、1212—、哈爾濱道里區(qū)、女、bing、374722.sa、121張三、哈爾濱道外區(qū)、男、bzhi、64346343.be、1212李四、哈爾濱香坊區(qū)、男、bli、53658403首先進入注冊頁面,輸入第一組數據,單擊注冊按鈕系統會提示表單信息不能為空,因為表單信息要全部填寫,而真實姓名沒有寫值。然后測試第四組數據,其中九項均是系統正確的數據,因此測試通過。 音像產品管理模塊的測試1. 添加功能的測試對音像產品添加模塊準備的音像產品名、音像產品描述、音像產品圖片、音像產品顏色、市場價、特價、音像產品種類,其中類別的選擇是通過下拉列表框來選擇,顏色也是通過下拉列表來選擇,圖片單擊上傳圖片后,找到圖片的地址點擊確定就可以上傳,單擊添加按鈕,執(zhí)行添加操作,數據提交后,就完成了音像產品的添加。2. 刪除功能的測試以編號為4的這條記錄為例,通過單擊該條記錄上的“刪除”鏈接按鈕,對音像產品信息進行刪除的操作,數據提交后,系統提示“刪除音像產品信息成功”,通過對該模塊的瀏覽,該信息的確已被刪除,查無此條記錄,說明此模塊運行無誤,信息刪除成功。3. 查詢功能的測試本系統中的查詢功能都是通過點擊鏈接實現的。點擊查看產品圖片后查詢出了音像產品是否上傳了圖片,系統沒有出現錯誤,查詢成功。本章著重對前臺首頁、購物車模塊、用戶注冊模塊和音像產品管理模塊進行了詳細的測試說明。結 論音像產品在線銷售系統采用了比較流行的B/S模式,使用當前較流行的SSH框架和擁有較高安全性與穩(wěn)定性的數據庫SQL Server 2005來完成系統的設計與開發(fā)。操作者可以隨時對所有的信息進行查詢,并且每個模塊都提供信息瀏覽的功能。然后由音像產品在線銷售系統后臺來處理相關的訂單信息、網站維護等信息。本系統在音像產品信息管理等方面還有不足之處,由于對其具體功能分析的不夠透徹,以至于在實現功能上不夠細化,不夠詳盡,所以有待以后將其更加完善。它最初是 Jakarta項目中的一個子項目,并在2004年3月成為ASF的頂級項目。 MVC結構 在 Struts 中,已經由一個名為 ActionServlet 的 Servlet 充當控制器(Controller)的角色,根據描述模型、視圖、控制器對應關系的 的配置文件,轉發(fā)視圖(View)的請求,組裝響應數據模型(Model)。在這里,Struts 可以與各種標準的數據訪問技術結合在一起,包括Enterprise Java Beans(EJB), JDBC 與 JNDI。通過應用 Struts 的框架,最終用戶可以把大部分的關注點放在自己的業(yè)務邏輯(Action)與 映射關系的配置文件()中。因為這兩種方式不可避免的要把表現與業(yè)務邏輯代碼混合在一起,都給前期開發(fā)與后期維護帶來巨大的復雜度。后來該框架產品一度被認為是最廣泛、最流行 JAVA 的 WEB 應用框架。 至此,Struts項目并行提供與維護兩個主要版本的框架產品——Struts 1 與 Struts 2。新的XForms標準和框架,也可能是另一種選擇,以建立復雜的Web窗體驗證與Struts的未來。然而,它在2005年12月宣布,該框架將重新合并WebWork 。 Sun公司最近提出了一項新的除了Java平臺,所謂的JavaServer界面(SF) 。 其他的MVC框架,并不是基于J2EE的包括Ruby on Rails的, WebObjects , Django ,Catalyst, TurboGears , CakePHP , Symfony (對于PHP ),Zend公司,大展ATK公司,并CodeIgnite(對于PHP )。 #的Struts框架的一部分。 if the controller receives such a request it calls the corresponding Action class which interacts with the application specific model code. The model code returns an “ActionForward”, a string telling the controller which output page to send to the client. Information is passed between model and view in the form of special JavaBeans. A powerful custom tag library allows it to read and write the content of these beans from the presentation layer without the need for any embedded Java code. Struts also supports i18n (internationalization), pro