版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、電子商務(wù)系統(tǒng)分析與計 大作業(yè)20112012學(xué)年第1學(xué)期大作業(yè)題目:寵物商店電子商務(wù)系統(tǒng)分析與設(shè)計 學(xué)生姓名: 學(xué) 號: 專 業(yè): 班 級: 指導(dǎo)老師: 完成日期: 2012年 1月 6日目錄一、系統(tǒng)開發(fā)背景1二、系統(tǒng)規(guī)劃11、總體目標(biāo)12、電子商務(wù)系統(tǒng)的可行性分析2三、系統(tǒng)分析51、業(yè)務(wù)流程分析52、數(shù)據(jù)流程分析6四、系統(tǒng)設(shè)計81、電子商務(wù)系統(tǒng)的總體架構(gòu)設(shè)計8(1)系統(tǒng)功能模塊8(2)電子商務(wù)系統(tǒng)基礎(chǔ)設(shè)施的設(shè)計與選擇9(3)電子商務(wù)系統(tǒng)總體功能及詳細(xì)設(shè)計12(4)代碼設(shè)計282、數(shù)據(jù)庫設(shè)計34(1)系統(tǒng)er圖34(2)數(shù)據(jù)庫表設(shè)計35(3)ipo設(shè)計(輸入、處理、輸出)39五、課程設(shè)計總結(jié)3
2、9參考文獻(xiàn)4141一、系統(tǒng)開發(fā)背景隨著信息技術(shù)的高速發(fā)展,對互聯(lián)網(wǎng)技術(shù)的應(yīng)用越來越廣泛,互聯(lián)網(wǎng)已經(jīng)成為現(xiàn)在社會中不可或缺的一部分。由于社會經(jīng)濟的發(fā)展,人們放在工作上的時間逐漸增多,去商場購物的時間相對減少,如何能夠方便快捷地購買到所需要的商品,已經(jīng)成為人們關(guān)注的重心。為了滿足人們的需求,電子商務(wù)平臺系統(tǒng)應(yīng)運而生了。電子商務(wù)平臺系統(tǒng)是一個j2ee企業(yè)級的大型網(wǎng)絡(luò)應(yīng)用程序,主要劃分為用戶功能、商品功能、訂單功能、管理員功能五個功能模塊。商品功能和訂單功能是本系統(tǒng)的兩大重要功能模塊。人們可以通過商品功能模塊中的商品查詢這一功能,對所需商品的詳細(xì)信息進(jìn)行查看,并且通過訂單功能模塊中的訂單填寫這一功能在
3、網(wǎng)上購買這些商品。真正實現(xiàn)了不用走出家門,就可以買到所需商品的夢想。本課題是以項目寵物商店為基礎(chǔ),詳細(xì)闡述了寵物商店軟件設(shè)計、開發(fā)的全過程,并對技術(shù)難點做出分析,提出解決方法。使“寵物商店系統(tǒng)”最終具有數(shù)據(jù)維護、數(shù)據(jù)檢索和數(shù)據(jù)處理的功能。前臺采用基于b/s的結(jié)構(gòu),從而快捷方便的實現(xiàn)了系統(tǒng)的開發(fā)。此外,本系統(tǒng)將面向切面技術(shù)作為研究重點,重點在于分析系統(tǒng)的各種邏輯設(shè)計,并對面向切面(aop)做出一定的闡述,并實現(xiàn)對aop技術(shù)簡單應(yīng)用本系統(tǒng)主要功能模塊有:l 數(shù)據(jù)維護:實現(xiàn)新建、修改、刪除、存儲功能。l 數(shù)據(jù)檢索:實現(xiàn)按不同要求分類模糊查詢,組合查詢功能。l 數(shù)據(jù)處理:根據(jù)查詢方式不同,選擇輸出檢索
4、信息。二、系統(tǒng)規(guī)劃1、總體目標(biāo)網(wǎng)上寵物商店面向消費者和商家,商家通過網(wǎng)上寵物商店展示并銷售自己的商品,消費者通過網(wǎng)上寵物商店選購稱心如意的商品。通過對網(wǎng)上寵物商店用戶需求的分析把用戶需求概括為如下幾個部分:用戶信息管理、用戶購物管理、管理員商品管理、訂單管理、報表查看、站內(nèi)短信息等。2、電子商務(wù)系統(tǒng)的可行性分析l aop技術(shù)可以說是oop(objectorientedprogramming,面向?qū)ο缶幊蹋┑难a充和完善。oop引入封裝、繼承和多態(tài)性等概念來建立一種對象層次結(jié)構(gòu),用以模擬公共行為的一個集合。當(dāng)我們需要為分散的對象引入公共行為的時候,oop則顯得無能為力。也就是說,oop允許你定義從
5、上到下的關(guān)系,但并不適合定義從左到右的關(guān)系。例如日志功能。日志代碼往往水平地散布在所有對象層次中,而與它所散布到的對象的核心功能毫無關(guān)系。對于其他類型的代碼,如安全性、異常處理和透明的持續(xù)性也是如此。這種散布在各處的無關(guān)的代碼被稱為橫切(cross-cutting)代碼,在oop設(shè)計中,它導(dǎo)致了大量代碼的重復(fù),而不利于各個模塊的重用。而aop技術(shù)則恰恰相反,它利用一種稱為“橫切”的技術(shù),剖解開封裝的對象內(nèi)部,并將那些影響了多個類的公共行為封裝到一個可重用模塊,并將其名為“aspect”,即方面。所謂“方面”,簡單地說,就是將那些與業(yè)務(wù)無關(guān),卻為業(yè)務(wù)模塊所共同調(diào)用的邏輯或責(zé)任封裝起來,便于減少系
6、統(tǒng)的重復(fù)代碼,降低模塊間的耦合度,并有利于未來的可操作性和可維護性。aop代表的是一個橫向的關(guān)系,如果說“對象”是一個空心的圓柱體,其中封裝的是對象的屬性和行為;那么面向方面編程的方法,就仿佛一把利刃,將這些空心圓柱體剖開,以獲得其內(nèi)部的消息。而剖開的切面,也就是所謂的“方面”了。然后它又以巧奪天功的妙手將這些剖開的切面復(fù)原,不留痕跡。使用“橫切”技術(shù),aop把軟件系統(tǒng)分為兩個部分:核心關(guān)注點和橫切關(guān)注點。業(yè)務(wù)處理的主要流程是核心關(guān)注點,與之關(guān)系不大的部分是橫切關(guān)注點。橫切關(guān)注點的一個特點是,他們經(jīng)常發(fā)生在核心關(guān)注點的多處,而各處都基本相似。比如權(quán)限認(rèn)證、日志、事務(wù)處理。aop的作用在于分離系
7、統(tǒng)中的各種關(guān)注點,將核心關(guān)注點和橫切關(guān)注點分離開來。正如avanade公司的高級方案構(gòu)架師adammagee所說,aop的核心思想就是“將應(yīng)用程序中的商業(yè)邏輯同對其提供支持的通用服務(wù)進(jìn)行分離?!睂崿F(xiàn)aop的技術(shù),主要分為兩大類:一是采用動態(tài)代理技術(shù),利用截取消息的方式,對該消息進(jìn)行裝飾,以取代原有對象行為的執(zhí)行;二是采用靜態(tài)織入的方式,引入特定的語法創(chuàng)建“方面”,從而使得編譯器可以在編譯期間織入有關(guān)“方面”的代碼。然而殊途同歸,實現(xiàn)aop的技術(shù)特性卻是相同的,分別為:joinpoint(連接點):是程序執(zhí)行中的一個精確執(zhí)行點,例如類中的一個方法。它是一個抽象的概念,在實現(xiàn)aop時,并不需要去定
8、義一個joinpoint。pointcut(切入點):本質(zhì)上是一個捕獲連接點的結(jié)構(gòu)。在aop中,可以定義一個pointcut,來捕獲相關(guān)方法的調(diào)用。advice(通知):是pointcut的執(zhí)行代碼,是執(zhí)行“方面”的具體邏輯。aspect(方面):pointcut和advice結(jié)合起來就是aspect,它類似于oop中定義的一個類,但它代表的更多是對象間橫向的關(guān)系。introduce(引入):為對象引入附加的方法或?qū)傩?,從而達(dá)到修改對象結(jié)構(gòu)的目的。上述的技術(shù)特性組成了基本的aop技術(shù),大多數(shù)aop工具均實現(xiàn)了這些技術(shù)。它們也可以是研究aop技術(shù)的基本術(shù)語。l struts技術(shù)web應(yīng)用基本上都
9、是代表共同理念的關(guān)鍵組件。通常,開發(fā)團隊需要在有限的時間里創(chuàng)建應(yīng)用,然而它們不得不正確的構(gòu)建,并能持續(xù)構(gòu)建它。軟件開發(fā)者開始一個項目時,首先也應(yīng)該構(gòu)思軟件應(yīng)用的框架,規(guī)劃軟件模塊,并定義這些模塊之間的接口和關(guān)系。javaweb開發(fā)人員已經(jīng)有一些工具可用來建立表現(xiàn)層,比如javaserverpages和veloctity模板。也有一些機制來處理數(shù)據(jù)庫,如jdbc和enterprisejavabeans(ejbs)。但有了這些的同時就要有“東風(fēng)”來將它們集合在一起。這“東風(fēng)”就是struts??蚣芸梢蕴岣哕浖_發(fā)的速度和效率,并且使軟件更便于維護。l mvc技術(shù)mvc(model/view/con
10、troller),mvc原來是建立smalltalk應(yīng)用的框架??蚣苤С执響?yīng)用狀態(tài)、屏幕表現(xiàn)和控制流的3個類,分別叫做model,view,和controller。如圖2-1mvc模型結(jié)構(gòu)圖modelviewcontroller圖2-1mvc模型結(jié)構(gòu)圖smalltalkmvc方案使用觀察者通知模式。在這種模式下,每個視圖注冊為一個模型數(shù)據(jù)的觀察者。然后模型可以通過發(fā)送消息給所有這冊觀察者,通知它們相關(guān)的改變。其為smalltalkmvc框架已經(jīng)通用化了,他也可以應(yīng)用它其他平臺上面。l spring技術(shù)spring是一個開源框架,它由rodjohnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而
11、創(chuàng)建的。spring使用基本的javabean來完成以前只可能由ejb完成的事情。然而,spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何java應(yīng)用都可以從spring中受益。目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性。功能:使用基本的javabean代替ejb,并提供了更多的企業(yè)應(yīng)用功能。范圍:任何java應(yīng)用。簡單來說,spring是一個輕量級的控制反轉(zhuǎn)(ioc)和面向切面(aop)的容器框架。輕量從大小與開銷兩方面而言spring都是輕量的。完整的spring框架可以在一個大小只有1mb多的jar文件里發(fā)布。并且spring所需的處理開銷也是微不足道的。此外,sp
12、ring是非侵入式的:典型地,spring應(yīng)用中的對象不依賴于spring的特定類??刂品崔D(zhuǎn)spring通過一種稱作控制反轉(zhuǎn)(ioc)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了ioc,一個對象依賴的其它對象會通過被動的方式傳遞進(jìn)來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認(rèn)為ioc與jndi相反不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。面向切面spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(auditing)和事務(wù)(transaction)管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對象只實現(xiàn)它們應(yīng)該做的完成業(yè)務(wù)邏輯僅此而已。它們并不
13、負(fù)責(zé)(甚至是意識)其它的系統(tǒng)級關(guān)注點,例如日志或事務(wù)支持。容器spring包含并管理應(yīng)用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例以及它們是如何相互關(guān)聯(lián)的。然而,spring不應(yīng)該被混同于傳統(tǒng)的重量級的ejb容器,它們經(jīng)常是龐大與笨重的,難以使用。框架spring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在spring中,應(yīng)用對象被聲明式地組合,典型地是在一個xml文件里。spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏
14、輯的開發(fā)留給了你。所有spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為spring中的各種模塊提供了基礎(chǔ)支持。三、系統(tǒng)分析1、業(yè)務(wù)流程分析2、數(shù)據(jù)流程分析本系統(tǒng)的主要內(nèi)容有,用戶登錄,注冊,商品瀏覽,購買商品,查看訂單,提交訂單,修改個人信息。用戶進(jìn)入系統(tǒng),可以無需登錄即可瀏覽商品,檢索商品。在選中目標(biāo)商品后,將其放入購物車中,并可提交生成訂單。當(dāng)點擊提交時,如果用戶尚未登錄,將跳轉(zhuǎn)到用戶登錄頁面令其登錄,如果用戶已登錄,則產(chǎn)生相應(yīng)信息令用戶填寫,用戶填寫其信息,單擊生成訂單,在查看訂單無誤后,提交訂單。圖3.1為本系統(tǒng)的高層數(shù)據(jù)流程圖。圖3.1系統(tǒng)數(shù)據(jù)流圖圖
15、圖3.2系統(tǒng)用例圖四、系統(tǒng)設(shè)計1、電子商務(wù)系統(tǒng)的總體架構(gòu)設(shè)計網(wǎng)上寵物商店面向消費者和商家,商家通過網(wǎng)上寵物商店展示并銷售自己的商品,消費者通過網(wǎng)上寵物商店選購稱心如意的商品。通過對網(wǎng)上寵物商店用戶需求的分析把用戶需求概括為如下幾個部分:用戶信息管理、用戶購物管理、管理員商品管理、訂單管理、報表查看、站內(nèi)短信息等。(1)系統(tǒng)功能模塊系統(tǒng)功能主要包括用戶信息管理、在線購物、訂單管理、站內(nèi)信、查詢商品信息、商品信息管理、首頁信息管理和報表查看等。各個功能模塊還有各自的子模塊。系統(tǒng)的功能模塊圖如圖4.1所示。圖4.1軟件系統(tǒng)體系結(jié)構(gòu)(2)電子商務(wù)系統(tǒng)基礎(chǔ)設(shè)施的設(shè)計與選擇電子商務(wù)系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計系統(tǒng)頁面
16、分為兩個部分,用戶操作頁面和管理員操作頁面。用戶操作頁面的遷移如圖4.3所示。用戶操作主要包括個人信息管理頁面、商品購買等頁面、站內(nèi)信管理頁面、訂單管理頁面等。當(dāng)用戶登錄網(wǎng)上寵物商店后,可以通過用戶菜單頁面訪問到各個不同功能中的各頁面。管理員操作頁面的遷移如圖4.2所示。模塊名稱對外接口名用戶信息管理user站內(nèi)信message用戶購物管理product訂單管理order管理員后臺管理報表管理reportuser:用戶信息管理模塊對外的接口,與該接口相關(guān)的模塊有:站內(nèi)信、用戶購物管理、訂單管理、管理員后臺管理。message:站內(nèi)信模塊對外的接口,與該接口相關(guān)的模塊有:用戶信息管理,管理員后臺
17、管理product:用戶購物管理模塊對外的接口,與該接口相關(guān)的模塊有:訂單管理,管理員后臺管理order:訂單管理模塊對外的接口,與該接口相關(guān)的模塊有:管理員后臺管理,報表管理report:報表管理模塊對外的接口,與該接口相關(guān)的模塊有:管理員后臺管理。電子商務(wù)系統(tǒng)平臺的選擇與設(shè)計l 主機類型數(shù)據(jù)庫服務(wù)器:intelpentium4cpu2.8ghz512mram前臺客戶端:安裝瀏覽器的pc機l 網(wǎng)絡(luò)類型:互聯(lián)網(wǎng)l 存貯器容量:數(shù)據(jù)庫服務(wù)器:80g以上;客戶端:無特殊要求l 其他特殊設(shè)備:打印機:惠普laserjetp1007(cc365a)l 支撐軟件1.操作系統(tǒng):windows2000以上2
18、.數(shù)據(jù)庫管理系統(tǒng):mysql5.03.應(yīng)用服務(wù)器:tomcat等支持servlet&jsp的應(yīng)用服務(wù)器(3)電子商務(wù)系統(tǒng)總體功能及詳細(xì)設(shè)計電子商務(wù)系統(tǒng)總體功能設(shè)計系統(tǒng)分析與設(shè)計過程首先根據(jù)業(yè)務(wù)用例和業(yè)務(wù)活動圖進(jìn)行聚類,聚類活動在系統(tǒng)分析時開始。聚類活動是個連續(xù)的過程,需要不斷地進(jìn)行豐富和完善,需要按照面向?qū)ο笤O(shè)計的思想,劃分出子系統(tǒng)類,并為類添加應(yīng)該具有的方法或?qū)傩?,以及這些方法或?qū)傩缘目梢娦?,這些可以通過設(shè)計類圖來描述。系統(tǒng)設(shè)計的任務(wù)就是要依據(jù)系統(tǒng)分析文檔資料,采用正確的方法,確定系統(tǒng)功能模塊在計算機內(nèi)應(yīng)該用那些程序組成,它們之間用什么方式連接在一起,以構(gòu)成一個最好的系統(tǒng)結(jié)構(gòu)。l 功
19、能需求概述網(wǎng)上寵物商店面向消費者和商家,商家通過網(wǎng)上寵物商店展示并銷售自己的商品,消費者通過網(wǎng)上寵物商店選購稱心如意的商品。通過對網(wǎng)上寵物商店用戶需求的分析把用戶需求概括為如下幾個部分:用戶信息管理、用戶購物管理、管理員商品管理、訂單管理、報表查看、站內(nèi)短信息等。網(wǎng)上寵物商店的系統(tǒng)結(jié)構(gòu)圖如圖所示。網(wǎng)上購物商城用戶信息管理用戶購物管理網(wǎng)站后臺頁面定制管理員商品管理訂單管理報表查看站內(nèi)短信息網(wǎng)上寵物商店系統(tǒng)結(jié)構(gòu)圖各部分需求描述如表所示。系統(tǒng)特性描述系統(tǒng)特性名稱系統(tǒng)特性描述優(yōu)先級用戶信息管理管理用戶信息,包括管理員信息和普通用戶信息。具體功能包括:管理員登陸,用戶的注冊、登陸,密碼找回、用戶信息、密
20、碼修改修改,用戶信息包括用戶的email、購物時需要的收貨人信息、聯(lián)系電話等中用戶購物管理網(wǎng)上寵物商店的核心部分,主要功能有商品的瀏覽、搜索、查看,用戶購物車管理、用戶收藏信息管理,商品的評論、評分高管理員商品管理管理員對商品信息的管理,商品信息包括商品名稱、價格、品牌等與用戶購買相關(guān)的信息,也包括是否顯示在首頁、是否是熱銷商品等與網(wǎng)站管理相關(guān)的信息高訂單管理網(wǎng)上寵物商店的核心部分,訂單同時由用戶和管理員進(jìn)行管理。訂單的狀態(tài)包括未處理、已處理、已取消三個狀態(tài)。其中訂單處于未處理狀態(tài)時用戶可以修改訂單的商品信息和收獲人信息,訂單狀態(tài)變化后無法修改高管理員后臺頁面定制對網(wǎng)上寵物商店首頁信息的定制,
21、可以修改首頁中顯示的廣告圖片、公告內(nèi)容等信息,也可以修改顯示在首頁中的商品中報表查看管理員可以查看出售狀況統(tǒng)計,統(tǒng)計以圖表的形式查看,可以導(dǎo)出到本地文件中站內(nèi)短信息用戶之間以及用戶與客戶服務(wù)聯(lián)系的通道,類似與常用的電子郵件,但是只用于網(wǎng)上寵物商店內(nèi)部。低l 系統(tǒng)功能模塊系統(tǒng)功能主要包括用戶信息管理、在線購物、訂單管理、站內(nèi)信、查詢商品信息、商品信息管理、首頁信息管理和報表查看等。各個功能模塊還有各自的子模塊。系統(tǒng)的功能模塊圖如圖所示。l 系統(tǒng)邏輯結(jié)構(gòu)應(yīng)用程序分為四層,視圖層、控制層、邏輯層和持久層,視圖層與控制層之間的信息傳遞通過容器和dwrservlet處理,系統(tǒng)邏輯結(jié)構(gòu)如圖所示。系統(tǒng)邏輯結(jié)
22、構(gòu)電子商務(wù)系統(tǒng)詳細(xì)功能設(shè)計l 用戶信息管理1.功能描述管理用戶信息,包括管理員信息和普通用戶信息。具體功能包括:管理員登陸,用戶的注冊、登陸,密碼找回、用戶信息、密碼修改修改,用戶信息包括用戶的email、購物時需要的收貨人信息、聯(lián)系電話等,本功能的頁面信息流動圖。登陸頁面是否登陸注冊頁面用戶信息頁面信息修改頁面提交或返回注冊成功直接注冊是否用戶信息管理業(yè)面流動圖2.需求規(guī)格分析用戶信息管理部分需求規(guī)格分析如表所示。用戶信息管理需求規(guī)格分析表功能編號功能名稱功能描述1登陸提供用戶登陸功能,用于標(biāo)識當(dāng)前用戶身份,是用戶購物的前提。2注冊提供用戶注冊功能。3信息修改修改用戶的注冊信息4密碼修改修改
23、用戶的登陸密碼5密碼找回提供用戶密碼找回功能,用戶忘記密碼時可以找回密碼3.功能詳述(1)登陸當(dāng)用戶購買商品時,需要對用戶做出判斷,如果用戶尚未登錄,則應(yīng)跳轉(zhuǎn)到登錄頁面進(jìn)行登錄,填寫登錄時所需的信息,提交之后系統(tǒng)會判斷用戶信息,首先判斷數(shù)據(jù)庫中是否存在該用戶,如果存在在判斷密碼是否有效,如果有效,則進(jìn)入主頁面,開始購物或查看個人信息。(2)注冊當(dāng)用戶第一次登錄本系統(tǒng)時,需要填寫用戶的基本信息,當(dāng)點擊注冊按鈕時,系統(tǒng)會檢查注冊必要的信息是否全部填寫,檢驗各項長度是否和否,檢驗注冊用戶名是否已存在,密碼和二次密碼輸入是否相同,當(dāng)滿足全部條件時,用戶信息被注冊到數(shù)據(jù)庫中。(3)密碼找回當(dāng)用戶忘記密碼
24、時,首先需要填寫用戶名,系統(tǒng)會判斷用戶名是否存在,根據(jù)用戶名詢問密碼提示問題,用戶填寫密碼提示問題,系統(tǒng)判斷提示問題答案的正確性。如果正確,將令用戶重新設(shè)置密碼。設(shè)置完成之后,系統(tǒng)會對用戶填寫信息進(jìn)行校驗。校驗通過之后更改數(shù)據(jù)庫中相應(yīng)記錄。(4)修改個人密碼。當(dāng)用戶重新設(shè)置密碼時,進(jìn)入帳戶管理頁面,填寫新密碼和二次密碼,并可以對密碼提示問題和答案進(jìn)行更改。填寫完成后系統(tǒng)會對填寫的數(shù)據(jù)進(jìn)行判斷,并更愛數(shù)據(jù)庫記錄。(5)個人信息修改用戶可以填寫并修改自己的個人信息包括地址,年齡等詳細(xì)信息。填寫必要的信息之后,系統(tǒng)會對填寫的數(shù)據(jù)做出校驗,并修改數(shù)據(jù)庫的相應(yīng)記錄。l 站內(nèi)信1.功能描述用于用戶間,用戶
25、和商戶間的信息交流,同時管理員可通過站內(nèi)信向用戶發(fā)布公告消息,訂單的最新處理結(jié)果也通過站內(nèi)信提醒。本功能的頁面信息流動圖。站內(nèi)信頁面信息流動圖2.需求規(guī)格分析站內(nèi)信部分需求規(guī)格分析如表所示。站內(nèi)信需求規(guī)格表功能編號功能名稱功能描述1寫信息可對相應(yīng)用戶留寫信息2收件箱快速查看所接收到的信息,并顯示主題和時間3回收站存儲用戶刪除的信息,防止用戶誤操作的發(fā)生4信息刪除刪除信息3.功能詳述(1)寫信息登陸后可以通過用戶菜單可以打開寫信息頁面,填寫收件人賬號信息和信息詳細(xì)信息,系統(tǒng)會檢測用戶輸入數(shù)據(jù)的合法性和完整性,如通過驗證則信息創(chuàng)建成功;否則給出相應(yīng)提示。(2)收件箱用戶收到的信息列表,用戶登陸后點
26、擊用戶菜單的收件箱即可查看信息。(3)回收站用戶刪除的短信息暫時存儲在這里,防止用戶誤操作造成的數(shù)據(jù)丟失。l 訂單管理1.功能描述確定訂購商品之后填寫接收者相關(guān)信息,生成訂單,等待訂單處理結(jié)。業(yè)務(wù)流圖如圖所示。訂單管理業(yè)務(wù)流圖2.需求規(guī)格分析訂單管理部分需求規(guī)格分析如表所示。訂單功能需求規(guī)格表功能編號功能名稱功能描述1新建訂單用戶確定購買選定商品的憑證。2用戶訂單列表查看自己已下訂單,可對未處理訂單進(jìn)行修改、刪除3管理員訂單列表管理員可以查看接收到的訂單列表,可以處理訂單,修改訂單狀態(tài)、刪除已完成訂單等操作3.功能詳述(1)新建訂單用戶查看購物車頁面,確認(rèn)購買的商品,點擊下一步之后,令用戶填寫
27、送貨地址信息,如果用戶在個人信息設(shè)置時設(shè)置了送貨地址信息,則送貨地址信息將采用默認(rèn)的設(shè)置,否則由用戶自行設(shè)置,之后,用戶判斷商品信息和送貨地址是否正確,在確定正確無誤之后,提交訂單,系統(tǒng)會向數(shù)據(jù)庫中增加訂單信息,和訂單條目信息,修改對應(yīng)商品的庫存量。(2)用戶訂單列表用戶登陸后點擊查看訂單菜單,系統(tǒng)會先檢驗用戶是否登陸,如未登陸則提示用戶未登陸,不做操作。如果已登陸則由用戶選擇查看的訂單的狀態(tài),提交后查詢訂單,并顯示在訂單列表中。(3)管理員訂單列表管理員登陸后點擊查看訂單菜單,系統(tǒng)會先檢驗用戶是否登陸,如未登陸則提示用戶未登陸,不做操作。如果已登陸則由管理員選擇查看的訂單的狀態(tài),提交后查詢訂
28、單,并顯示在訂單列表中。管理員查看的是全部訂單。l 報表查看1.功能描述查看日報表、月報表,季度報表;報表導(dǎo)出到文件,報表信息包括:總銷售額、分類商品銷售額以及一些數(shù)據(jù)圖信息等。業(yè)務(wù)流圖如圖所示。報表查看業(yè)務(wù)流圖2.需求規(guī)格分析報表查看部分需求規(guī)格分析如表所示。報表查看需求規(guī)格表功能編號功能名稱功能描述1報表查看管理員選擇想要查看的報表類型,然后輸入想要查看的日期或月份,系統(tǒng)計算出統(tǒng)計數(shù)據(jù)顯示在報表中,同時生成數(shù)據(jù)的圖形信息2報表導(dǎo)出報表頁面顯示后,可以導(dǎo)出報表到本地文件3.功能詳述管理員登陸后,可以查看報表。系統(tǒng)首先查看用戶是否登陸且是否具有管理員權(quán)限,如果檢驗失敗則給出無法操作提示,否則繼
29、續(xù)。管理員可以查看不同的時間的報表和并按照不同的方式顯示報表,選擇后服務(wù)器會根據(jù)管理員的選擇生成報表,報表生成后管理員可以選擇導(dǎo)出文件把報表導(dǎo)出到本地。其數(shù)據(jù)流圖如圖所示。報表查看數(shù)據(jù)流圖l 用戶購物管理1.功能描述用戶購物管理面向網(wǎng)站的注冊用戶,主要包括了用戶在購物過程中需要的各種功能,注冊用戶可以進(jìn)行瀏覽商品,添加商品到購物車、商品收藏,購物車、商品收藏信息查看、刪除和修改,確認(rèn)購物信息填寫用戶收貨人信息。其中添加商品到購物車、商品收藏,購物車、商品收藏信息查看、刪除和修改等功能需要用戶登錄為前提。用戶購物管理的業(yè)務(wù)流圖如圖所示。用戶購物管理業(yè)務(wù)流圖2.需求規(guī)格分析訂單管理部分需求規(guī)格分析
30、如表所示。訂單管理需求規(guī)格表功能編號功能名稱功能描述1商品瀏覽用戶瀏覽商城中的商品,可以分類查看,也可以對商品進(jìn)行搜索2商品收藏管理用戶可以把喜愛的商品添加到自己的收藏夾,方便用戶隨時查看,同時用戶可以管理自己收藏夾的收藏內(nèi)容,也可以在收藏夾中快速的添加商品到購物車3用戶購物車管理管理用戶已選擇要購買的商品,用戶可以添加新商品、修改已選商品數(shù)量、刪除已選商品等4商品評論與評分用于記錄某商品的銷售情況和用戶評價,用戶購買商品后可以評價3.功能詳述(1)商品瀏覽按照不同的方式對商品進(jìn)行瀏覽,比如:分類查看,商品搜索等。瀏覽商品時可以實現(xiàn)拖拽商品到購物車,也可以通過點擊購買按鈕購買商品。由于大多數(shù)情
31、況下用戶不會只選擇一個商品,因此這時不跳轉(zhuǎn)到購物車頁面,而是在頁面中給出提示:商品添加成功,并有跳轉(zhuǎn)到購物車的鏈接。(2)用戶收藏首先判斷用戶是否登陸,如果已經(jīng)登陸,則判斷用戶是否已經(jīng)收藏過該商品,如果用戶沒有收藏該商品則收藏成功,否則收藏失敗。用戶收藏的商品可以直接添加到購物車中,用戶可以刪除商品收藏。用戶收藏的數(shù)據(jù)流圖類似于添加到購物車(3)購物車信息管理購物車信息管理主要是對用戶購物車的管理,用戶可以修改購買商品的數(shù)量、刪除已購買的商品、繼續(xù)購買商品定,在確定購物時填寫訂單,進(jìn)入訂單管理模塊。在用戶修改商品數(shù)量時需要注意商品數(shù)量是否充足。(4)商品評論與評分用戶必須購買過該商品才可以進(jìn)行
32、商品評論和評分。商品評論時首先檢驗用戶是否具有評論權(quán)限,如果有評論權(quán)限則顯示評論界面,否則不顯示評論界面;商品評分需要用戶操作后再進(jìn)行權(quán)限的判斷。商品評論與商品評分功能與實現(xiàn)類似。l 管理員后臺管理1.功能描述管理員后臺管理主要面向管理員,包含網(wǎng)站首頁設(shè)置、管理員站內(nèi)信信息管理、網(wǎng)站訂單管理、商品信息管理等功能,是網(wǎng)站的核心部分之一。2.需求規(guī)格分析管理員后臺管理部分需求規(guī)格如表所示。管理員后臺管理需求規(guī)格表功能編號功能名稱功能描述1管理員站內(nèi)信信息管理用來管理用戶的需求,比如用戶的意見、用戶的投訴和用戶站內(nèi)信等等信息2網(wǎng)站首頁設(shè)置用來定制網(wǎng)頁首頁顯示的信息,包括網(wǎng)站廣告、公告等信息3網(wǎng)站訂單
33、管理用戶創(chuàng)建的訂單由管理員進(jìn)行管理4商品信息管理管理出售中的商品3.功能詳述(1)管理員站內(nèi)信信息管理:用戶在網(wǎng)站前臺可以通過聯(lián)系管理員的鏈接給管理員發(fā)送站內(nèi)信,用來給網(wǎng)站提供建議等信息,管理員登陸后可以看到未讀、已讀、已發(fā)送和刪除的信息,以列表形式顯示,根據(jù)時間排序,分頁顯示,同時可以對信息進(jìn)行搜索。管理員站內(nèi)信管理是站內(nèi)信的一部分。(2)網(wǎng)站首頁設(shè)置網(wǎng)站首頁設(shè)置包括網(wǎng)站的公告和廣告圖片的設(shè)置。圖片的設(shè)置通過文件上傳完成。(3)商品信息管理對商品信息的管理,包括添加、修改、刪除、查詢商品等。添加商品:當(dāng)管理員添加商品信息時,首先需要填寫商品的基本信息,包括商品類別圖像等基本信息,點擊添加之后
34、,系統(tǒng)會判斷所填寫的必要信息為否為空,不為空則添加商品,向數(shù)據(jù)庫中添加一條商品的信息。修改商品信息:可以修改商品的基本信息,當(dāng)提交修改之后的商品時,系統(tǒng)會判斷校驗修改之后的商品信息。刪除商品:管理員可以刪除指定編號的商品,當(dāng)確認(rèn)刪除后,直接從數(shù)據(jù)庫中刪除該商品的全部信息。包括庫存信息等。修改商品庫存信息:管理員可以修改商品的庫存信息,首先確定要修改的庫存商品的商品編號,填寫庫存值,點擊修改之后,系統(tǒng)會判斷填寫的信息基本類型是否為規(guī)定的整形,之后修改庫存信息,修改對應(yīng)數(shù)據(jù)庫的記錄。l 總體模型類設(shè)計描述的是系統(tǒng)的模型類,即mvc架構(gòu)中的model層。其中:message、user、order、o
35、rderitem、comment、product、category、usercollection、productsgrade對應(yīng)數(shù)據(jù)庫中的表,其屬性如數(shù)據(jù)庫表中字段相同;cart、cartitem是購物車和購物車項,用于描述當(dāng)前用戶的購物信息。l 系統(tǒng)控制層設(shè)計控制層的類圖,oper為操作的父類,所有操作都繼承自該類。前臺觸發(fā)的遠(yuǎn)程調(diào)用調(diào)用該類子類的方法。該類為遠(yuǎn)程調(diào)用提供了獲得web上下文的必要方法。constutil是常量工具類,為了常量的統(tǒng)一管理和防止神秘字符串的出現(xiàn)而設(shè)計。oper的子類共有四個,loginhandler、shoppingoper、useroper、dwr。用戶在前臺的
36、許多操作是以登陸為前提的,loginhandler就是處理需要登陸才可以實用的功能,具體的操作對應(yīng)于loginhandler不同的子類,如果沒有登陸就進(jìn)行該類的子類提供的操作,會拋出nologinexception,該異常由前臺javascript捕獲,并給出相應(yīng)操作。loginhandler的子類中使用到pageutil接口。pageutil是為分頁設(shè)計的工具類,該類提供了分頁的接口。其子類可以根據(jù)不同的持久層命名并實現(xiàn)。本系統(tǒng)中只實現(xiàn)了ibatispageutil子類,如果有需要,可以實現(xiàn)其他子類。簡單類圖shoppingoper是用戶瀏覽商品是產(chǎn)生的操作,包括查看商品列表、搜索、查看商品
37、信息等。useroper是用戶的一系列的操作,包括登陸、注冊、找回密碼等。該類中有些操作如修改密碼、修改信息是需要登陸后才能進(jìn)行的,這里進(jìn)行單獨控制,因為在訪問頁面時有了訪問權(quán)限的控制。dwr類提供了切換頁面的方法,網(wǎng)站后臺的頁面切換使用該方法。在前臺調(diào)用forward時,傳遞需要跳轉(zhuǎn)的頁面的url,該方法返回申請的url的處理結(jié)果。loginhanler的子類包括:productcommentoper、usercollectionoper、shoppingcaroper、orderoper。productcommentoper處理商品評論和商品評分的各種操作,包括評論者權(quán)限的判斷和對評論的查
38、詢、增加等操作。usercollectionoper處理用戶收藏的各種操作,包括顯示、添加、刪除等操作。shoppingcaroper是用戶對購物車的操作,包括商品添加、購物項刪除、數(shù)目修改等操作,商品添加和修改數(shù)目時可能會拋出noproductexception異常,該異常在商品數(shù)量不足時產(chǎn)生,javascript會捕捉該異常并給出相應(yīng)回滾操作。orderoper是用戶對訂單的各種操作。當(dāng)訂單處于未處理狀態(tài)時,用戶可以修改訂單、刪除訂單,當(dāng)修改訂購商品數(shù)量時也可能拋出noproductexception異常??刂茖宇悎D(4)代碼設(shè)計l aop技術(shù)實現(xiàn)日志功能通過將struts動作委托給spr
39、ing框架而整合struts和spring的一個主要的優(yōu)點是:您可以將spring的aop攔截器應(yīng)用于您的struts動作。通過將spring攔截器應(yīng)用于struts動作,您可以用最小的代價處理橫切關(guān)注點。例如在本系統(tǒng)中,用aop技術(shù)實現(xiàn)日志功能,部分代碼如下1.創(chuàng)建一個日志攔截器importjava.lang.reflect.method;importorg.springframework.aop.methodbeforeadvice;publicclasslogginginterceptorimplementsmethodbeforeadvicepublicvoidbefore(metho
40、dmethod,objectargs,objecttarget)throwsthrowablesystem.out.println("loggingbefore!");system.out.println("method.getname():"+method.getname();system.out.println("method.tostring():"+method.tostring();system.out.println("args.length:"+args.length);system.out.prin
41、tln("args0.getclass().getname():"+args0.getclass().getname();system.out.println("target.getclass().getname():"+target.getclass().getname();2.注冊日志攔截器在spring的配置文件中添加下面的代碼<bean name="logger"class="cn.dip.struts.filter.logginginterceptor"/><!-創(chuàng)建了一個be
42、an名稱自動代理,它描述如何應(yīng)用攔截器。還有其他的方法定義攔截點,但是這種方法常見而簡便。-> <beanname="loggingautoproxy"class="org.springframework.aop.framework.autoproxy.beannameautoproxycreator"><propertyname="beannames"><!-將struts動作注冊為將被攔截的bean。如果您想要攔截其他的struts動作,則只需要在"beannames&quo
43、t;下面創(chuàng)建附加的<value>標(biāo)記。-><list><value>/register</value><value>/admin</value></list></property><propertyname="interceptornames"><!-當(dāng)攔截發(fā)生時,執(zhí)行了在(1)處創(chuàng)建的攔截bean的名稱。這里列出的所有攔截器都應(yīng)用于"beannames"。-><list><value>logger<
44、/value></list></property></bean>到這里,日志記錄攔截器的準(zhǔn)備工作都已經(jīng)做好了,在這個例子中,將struts動作管理委托給spring,通過在struts-config.xml動作映射中注冊一個代理來實現(xiàn)。代理負(fù)責(zé)在spring環(huán)境中查找struts動作。由于動作在spring的控制之下,所以它可以填充動作的javabean屬性,并為應(yīng)用諸如spring的aop攔截器之類的特性帶來了可能。l 表示層技術(shù)實現(xiàn)在本系統(tǒng)中,表示層所采用的技術(shù)框架是當(dāng)前較流行的struts框架,使用struts技術(shù)框架,可以有效的將顯示邏輯和業(yè)務(wù)
45、邏輯相分離,達(dá)到分層的效果。如本系統(tǒng)中已登陸模塊為例。publicclassloginactionextendsactionpublicactionforwardexecute(actionmappingmapping,actionformform,httpservletrequestrequest,httpservletresponseresponse)throwsexceptionregisteractionformrform=(registeractionform)form;applicationcontextapplication=webapplicationcontextutils.
46、getrequiredwebapplicationcontext(request.getsession().getservletcontext();usermanagerusermanager=(usermanager)application.getbean("usermanager");/獲取表單參數(shù)useru=newuser();u.setusername(rform.getusername();u.setuserpassword(rform.getuserpassword();/如果存在該用戶將用戶保存在session中booleanisexist=usermanag
47、er.checkuser(u);if(isexist)/取出用戶登錄必要信息userusersignon=usermanager.getsignonbyusername(rform.getusername();request.getsession().setattribute("usersignon",usersignon);/取出用戶基本信息用于以后該買寵物時使用useruser=usermanager.getuserbyusername(rform.getusername();request.getsession().setattribute("userinf
48、o",user);returnmapping.findforward("success");elsestringerrors="invalidusernameandpassword"request.setattribute("errors",errors);returnmapping.findforward("loginfail");l 數(shù)據(jù)層的實現(xiàn)數(shù)據(jù)層的實現(xiàn)是采用ibatis技術(shù)框架來實現(xiàn)的。ibatis提供了一個簡潔的框架,使用簡單的xml描述文件將javabean,map實現(xiàn)本數(shù)據(jù)類型的包裝類(s
49、tring,integer等)映射成jdbc的preparedstatement。以下流描述了sqlmaps的高層生命周期:將一個對象作為參數(shù)(對象可以是javabean,map實現(xiàn)和基本類型的包裝類),參數(shù)對將為sql修改語句和查詢語句設(shè)定參數(shù)值。1.執(zhí)行mappedstatement。這是sqlmaps最重要的步驟。sqlmap框架將創(chuàng)建一個preparedstatement實例,用參數(shù)對象為preparedstatement實例設(shè)定參數(shù),執(zhí)行preparedstatement并從resultset中創(chuàng)建結(jié)果對象。2.執(zhí)行sql的更新數(shù)據(jù)語句時,返回受影響的數(shù)據(jù)行數(shù)。執(zhí)行查詢語句時,將返回
50、一個結(jié)果對象或?qū)ο蟮募?。和參?shù)對象一樣,結(jié)果對象可以是javabean,map實現(xiàn)和基本數(shù)據(jù)類型的包裝類。例如在本系統(tǒng)中,已添加商品為例,簡要介紹ibatis技術(shù)實現(xiàn)。對應(yīng)product類的product.xml配置文件如下所示:,<?xmlversion="1.0"encoding="utf-8"?><!doctypesqlmappublic"-//dtdsqlmap2.0/en""/dtd/sql-map-2.dtd&qu
51、ot;><sqlmap><typealiasalias="product"type="com.hanjian.model.product"/><typealiasalias="type"type="com.hanjian.model.type"/><typealiasalias="inventory"type="com.hanjian.model.inventory"/><resultmapid="get-
52、product-result"class="product"><resultproperty="productid"column="productid"/><resultproperty="productname"column="productname"/><resultproperty="type"column="typeid"select="gettype"/><result
53、property="marketprice"column="marketprice"/><resultproperty="memberprice"column="memberprice"/><resultproperty="feature"column="feature"/><resultproperty="size"column="size"/><resultproperty="
54、;other"column="other"/><resultproperty="searchkey"column="searchkey"/><resultproperty="image"column="image"/><resultproperty="productdetails"column="productdetails"/><resultproperty="isrecommend&q
55、uot;column="isrecommend"/><resultproperty="isnewarrival"column="isnewarrival"/><resultproperty="catid"column="catid"/></resultmap><insertid="addproduct"parameterclass="product">insertintoproduct(productn
56、ame,marketprice,memberprice,feature,size,other,searchkey,image,productdetails,isrecommend,isnewarrival,catid,typeid)values(#productname#,#marketprice#,#memberprice#,#feature#,#size#,#other#,#searchkey#,#image#,#productdetails#,#isrecommend#,#isnewarrival#,#catid#,#typeid#)<selectkeyresultclass="int"keyproperty="productid">selectlast_insert_id()</selectkey></insert></sqlmap>該配置文件為對應(yīng)類product的配置文件。添加商品的代碼如下。publicclassproductdaoimplimplementsproductdaopublicintaddproduct(productp)inti=0;tryi=(integer)sqlmapclientinstanc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版市政綠化施工合同三方協(xié)議(生態(tài)宜居版)2篇
- 2025版晚會攝像保密協(xié)議(全新版)3篇
- 科技與教育結(jié)合利用科技手段輔助孩子閱讀經(jīng)典
- 家庭教育指導(dǎo)服務(wù)在特殊兒童教育中的實踐
- 科技賦能家庭運動助力孩子健康成長
- 浙江省強基聯(lián)盟2022-2023學(xué)年高三上學(xué)期12月聯(lián)考(一模)政治試題 含解析
- 個人借款合同延期合同范本(2024年版)版B版
- 高效能朗讀練習(xí)對小學(xué)生英語口語能力的促進(jìn)作用
- 2025版小動物領(lǐng)養(yǎng)及養(yǎng)護責(zé)任協(xié)議3篇
- 玉溪云南玉溪市公安局紅塔分局招聘警務(wù)輔助人員41人筆試歷年參考題庫附帶答案詳解
- 農(nóng)產(chǎn)品農(nóng)藥殘留檢測及風(fēng)險評估
- 農(nóng)村高中思想政治課時政教育研究的中期報告
- 20100927-宣化上人《愣嚴(yán)咒句偈疏解》(簡體全)
- 4-熔化焊與熱切割作業(yè)基礎(chǔ)知識(一)
- 單元教學(xué)評一體化設(shè)計的探索與實踐以統(tǒng)編語文教材四年級下冊第一單元為例
- 個人安全與社會責(zé)任的基本知識概述
- 醫(yī)院標(biāo)識牌方案設(shè)計2
- 移動商務(wù)內(nèi)容運營(吳洪貴)任務(wù)二 有效傳播模式的設(shè)計
- 簡易勞務(wù)合同電子版
- 明代文學(xué)緒論
- 體育賽事的策劃、組織與實施 體育賽事利益相關(guān)者
評論
0/150
提交評論