小型購物系統(tǒng)需求分析_第1頁
小型購物系統(tǒng)需求分析_第2頁
小型購物系統(tǒng)需求分析_第3頁
小型購物系統(tǒng)需求分析_第4頁
小型購物系統(tǒng)需求分析_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1.引言21.1編寫目的22.綜合描述22.1產(chǎn)品的技術(shù)22.2產(chǎn)品的功能52.3開發(fā)及運(yùn)行環(huán)境53.系統(tǒng)功能需求63.1系統(tǒng)需求分析63.2系統(tǒng)流程圖84.其他功能需求144.1性能需求144.2 開放性要求154.3 安全性要求155.數(shù)據(jù)詞典155.1訂單(orders)155.2買家(guest)155.3商品(sp)166.特定問題列表161.引言1.1編寫目的隨著信息化產(chǎn)業(yè)越來越發(fā)達(dá),人們的生活節(jié)奏越來越快,需求越來越多,越來越多的人喜歡上了足不出戶的消費(fèi)方式。因此,網(wǎng)上商城應(yīng)運(yùn)而生。本次課程設(shè)計(jì)目的主要是開發(fā)一套符合生活實(shí)際的B2C網(wǎng)上商城,其次是為了通過此次課程設(shè)計(jì)增加小組成員間的團(tuán)隊(duì)合作能力,提高實(shí)戰(zhàn)水平,強(qiáng)化所學(xué)的知識(shí),掌握更新的技術(shù)。2.綜合描述2.1產(chǎn)品的技術(shù)2.1.1技術(shù)的名稱該項(xiàng)目使用SSH2框架+jQuery+ExtJs+MySql數(shù)據(jù)庫+MyEclipse開發(fā)環(huán)境2.1.2技術(shù)的介紹1、SSHSSH 為 struts+spring+hibernate的一個(gè)集成框架,是目前較流行的一種Web應(yīng)用程序開源框架。 集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,利用Hibernate框架對(duì)持久層提供支持,業(yè)務(wù)層用Spring支持。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn)為基本的Java對(duì)象,然后編寫基本的DAO接口,并給出Hibernate的DAO實(shí)現(xiàn),采用Hibernate架構(gòu)實(shí)現(xiàn)的DAO類來實(shí)現(xiàn)Java類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后由Spring完成業(yè)務(wù)邏輯。 系統(tǒng)的基本業(yè)務(wù)流程是: 在表示層中,首先通過JSP頁面實(shí)現(xiàn)交互界面,負(fù)責(zé)傳送請(qǐng)求(Request)和接收響應(yīng)(Response),然后Struts根據(jù)配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應(yīng)的Action處理。在業(yè)務(wù)層中,管理服務(wù)組件的Spring IoC容器負(fù)責(zé)向Action提供業(yè)務(wù)模型(Model)組件和該組件的協(xié)作對(duì)象數(shù)據(jù)處理(DAO)組件完成業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件以提升系統(tǒng)性能和保證數(shù)據(jù)的完整性。而在持久層中,則依賴于Hibernate的對(duì)象化映射和數(shù)據(jù)庫交互,處理DAO組件請(qǐng)求的數(shù)據(jù),并返回處理結(jié)果。 采用上述開發(fā)模型,不僅實(shí)現(xiàn)了視圖、控制器與模型的徹底分離,而且還實(shí)現(xiàn)了業(yè)務(wù)邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動(dòng),并且數(shù)據(jù)庫的變化也不會(huì)對(duì)前端有所影響,大大提高了系統(tǒng)的可復(fù)用性。而且由于不同層之間耦合度小,有利于團(tuán)隊(duì)成員并行工作,大大提高了開發(fā)效率。2、Struts Struts對(duì)Model,View和Controller都提供了對(duì)應(yīng)的組件。 ActionServlet,這個(gè)類是Struts的核心控制器,負(fù)責(zé)攔截來自用戶的請(qǐng)求。 Action,這個(gè)類通常由用戶提供,該控制器負(fù)責(zé)接收來自ActionServlet的請(qǐng)求,并根據(jù)該請(qǐng)求調(diào)用模型的業(yè)務(wù)邏輯方法處理請(qǐng)求,并將處理結(jié)果返回給JSP頁面顯示。 Model部分: 由ActionForm和JavaBean組成,其中ActionForm用于封裝用戶的請(qǐng)求參數(shù),封裝成ActionForm對(duì)象,該對(duì)象被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionFrom里面的請(qǐng)求參數(shù)處理用戶的請(qǐng)求。 JavaBean則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫訪問等。 View部分: 該部分采用JSP(或HTML、PHP)實(shí)現(xiàn)。 Struts提供了豐富的標(biāo)簽庫,通過標(biāo)簽庫可以減少腳本的使用,自定義的標(biāo)簽庫可以實(shí)現(xiàn)與Model的有效交互,并增加了現(xiàn)實(shí)功能。對(duì)應(yīng)上圖的JSP部分。 Controller組件: Controller組件有兩個(gè)部分組成系統(tǒng)核心控制器,業(yè)務(wù)邏輯控制器。 系統(tǒng)核心控制器,對(duì)應(yīng)上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標(biāo)注的Servlet。該控制器負(fù)責(zé)攔截所有的HTTP請(qǐng)求,然后根據(jù)用戶請(qǐng)求決定是否要轉(zhuǎn)給業(yè)務(wù)邏輯控制器。 業(yè)務(wù)邏輯控制器,負(fù)責(zé)處理用戶請(qǐng)求,本身不具備處理能力,而是調(diào)用Model來完成處理。對(duì)應(yīng)Action部分。3、SpringSpring是一個(gè)開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。 目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性 功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能 范圍:任何Java應(yīng)用 簡(jiǎn)單來說,Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。輕量從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對(duì)象不依賴于Spring的特定類。 控制反轉(zhuǎn)Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個(gè)對(duì)象依賴的其它對(duì)象會(huì)通過被動(dòng)的方式傳遞進(jìn)來,而不是這個(gè)對(duì)象自己創(chuàng)建或者查找依賴對(duì)象。你可以認(rèn)為IoC與JNDI相反不是對(duì)象從容器中查找依賴,而是容器在對(duì)象初始化時(shí)不等對(duì)象請(qǐng)求就主動(dòng)將依賴傳遞給它。 面向切面Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級(jí)服務(wù)(例如審計(jì)(auditing)和事務(wù)(transaction)管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對(duì)象只實(shí)現(xiàn)它們應(yīng)該做的完成業(yè)務(wù)邏輯僅此而已。它們并不負(fù)責(zé)(甚至是意識(shí))其它的系統(tǒng)級(jí)關(guān)注點(diǎn),例如日志或事務(wù)支持。 容器Spring包含并管理應(yīng)用對(duì)象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建基于一個(gè)可配置原型(prototype),你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生成一個(gè) 新的實(shí)例以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級(jí)的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。 框架Spring可以將簡(jiǎn)單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對(duì)象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。 所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測(cè)試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。4、HibernateHibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。 Hibernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開發(fā)中都會(huì)用到。通過這些接口,不僅可以對(duì)持久化對(duì)象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對(duì)這五個(gè)核心接口分別加以介紹。 Session接口:Session接口負(fù)責(zé)執(zhí)行被持久化對(duì)象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對(duì)象是非線程安全的。同時(shí),Hibernate的session不同于JSP應(yīng)用中的 HttpSession。這里當(dāng)使用session這個(gè)術(shù)語時(shí),其實(shí)指的是Hibernate中的session,而以后會(huì)將HttpSession對(duì)象稱為用戶session。 SessionFactory接口:SessionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對(duì)象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級(jí)的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫時(shí),可以為每個(gè)數(shù)據(jù)庫指定一個(gè)SessionFactory。 Configuration接口:Configuration接口負(fù)責(zé)配置并啟動(dòng)Hibernate,創(chuàng)建SessionFactory對(duì)象。在Hibernate的啟動(dòng)的過程中,Configuration類的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對(duì)象。 Transaction接口:Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計(jì)編寫自己的底層事務(wù)處理代碼。 Query和Criteria接口:Query和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達(dá)方式。2.2產(chǎn)品的功能1、顧客下訂單2、刪除訂單3、修改訂單4、查看訂單5、確認(rèn)收貨6、管理員查看所有訂單7、分類查詢訂單。2.3開發(fā)及運(yùn)行環(huán)境2.3.1硬件平臺(tái)CPU1GHz以上內(nèi)存512MB以上2.3.2軟件平臺(tái)操作系統(tǒng)Windows 7數(shù)據(jù)庫MySql-5.5開發(fā)環(huán)境JDK-7開發(fā)工具M(jìn)yEclipse 10開發(fā)語言JAVA語言服務(wù)器Tomcat 7.0瀏覽器IE6.0以上分辨率最佳效果1024*7683.系統(tǒng)功能需求3.1系統(tǒng)需求分析將訂單模塊分成管理員和顧客兩個(gè)管理部分:1、管理員:可以查看所有的訂單,對(duì)已付款的訂單進(jìn)行發(fā)貨,查看訂單詳情,按不同方式查詢訂單。2、顧 客:可以對(duì)購物車中的商品進(jìn)行下單,對(duì)未付款的訂單進(jìn)行刪除、修改,對(duì)已收到貨的訂單進(jìn)行確認(rèn)收貨,可以對(duì)確認(rèn)收貨的訂單進(jìn)行評(píng)論。3.1.1顧客模塊(1)注冊(cè)功能。顧客首先要注冊(cè)為網(wǎng)上商城的用戶。注冊(cè)時(shí)只要填寫登錄用戶名、密碼、聯(lián)系電子信箱3項(xiàng)信息即可。注冊(cè)后,用戶可繼續(xù)如實(shí)填寫詳細(xì)個(gè)人信息及收貨人信息,同時(shí)可修改密碼、查詢及修改訂單。(2)選擇產(chǎn)品功能。顧客瀏覽網(wǎng)上商城,將自己需求的產(chǎn)品放入到購物車中(),可連續(xù)添加商品。(3)管理購物車。顧客選擇完商品后可進(jìn)入購物車頁面,查看自己要購買的商品,可修改某一商品數(shù)量、取消購買某商品和清空整個(gè)購物車。(4)訂單功能。顧客確定購物車中的商品后提交訂單,如顧客已填寫收貨人信息,則頁面顯示該信息并由顧客確認(rèn)。如尚未填寫則顯示相應(yīng)表單請(qǐng)其填寫,系統(tǒng)記錄顧客提交的收貨人信息以便其下次購物時(shí)使用。顧客提交訂單后可在網(wǎng)上商城查詢?cè)撚唵?,并可?duì)尚未處理的訂單進(jìn)行取消、修改等操作。(5)付款功能。顧客在訂單被銷售方確認(rèn)后,要選擇付款方式,并付款給銷售方,然后才可以收到貨。3.1.2管理員模塊1)管理人員部分。該部分的用戶有一個(gè)超級(jí)管理員以及若干個(gè)普通管理員,超級(jí)管理員擁有最高權(quán)限,可訪問所有訂單,可瀏覽、查詢訂單,可瀏覽、修改普通管理員和會(huì)員的資料。(2)管理訂單功能。顧客可通過Web方式取消、修改自己提交的訂單(在管理員確認(rèn)前),查詢自己提交的訂單(隨時(shí))。如訂單的狀態(tài)在一定時(shí)限(如12個(gè)小時(shí))后仍沒有發(fā)生變化(“訂單關(guān)閉”狀態(tài)除外),系統(tǒng)自動(dòng)提醒管理員(如該訂單變色,彈出提醒窗口等方式。訂單狀態(tài)發(fā)生變化,系統(tǒng)自動(dòng)發(fā)E-mail給顧客,“無效訂單”、“訂單關(guān)閉”狀態(tài)除外)。(3)管理商品功能。管理員可以添加、修改、刪除商品。3.2系統(tǒng)流程圖3.2.1系統(tǒng)模塊圖購物網(wǎng)站會(huì)員模塊賬戶管理管理員模塊購物車模塊商品管理模塊公告管理模塊管理員登陸增加管理員刪除商品確認(rèn)訂單結(jié)算添加商品訂單查詢?nèi)∠唵未_認(rèn)收貨會(huì)員登錄會(huì)員注冊(cè)修改信息商品搜索商品分類商品下架商品上架公告添加公告刪除公告查詢公告修改3.2.2系統(tǒng)用例圖3.2.3系統(tǒng)流程圖3.2.4系統(tǒng)狀態(tài)圖用戶狀態(tài)圖管理員狀態(tài)圖3.2.5系統(tǒng)活動(dòng)圖用戶購買活動(dòng)活動(dòng)圖管理員管理活動(dòng)圖4.其他功能需求4.1性能需求4.1.1數(shù)據(jù)精確度l 價(jià)格單位保留到分。4.1.2適應(yīng)性、可移植性l 購物流程要簡(jiǎn)單明了,產(chǎn)品圖片要清楚,產(chǎn)品信息描述準(zhǔn)確。4.2 開放性要求l 系統(tǒng)應(yīng)該具有較強(qiáng)的靈活性,以適應(yīng)經(jīng)來功能擴(kuò)展的需求。 4.3 安全性要求l 系統(tǒng)有嚴(yán)格的權(quán)限管理功能,各個(gè)功能模塊需要相應(yīng)的權(quán)限才能進(jìn)入。防止非法用戶獲取網(wǎng)頁以及內(nèi)容。 5.數(shù)據(jù)詞典5.1訂單(orders)字段描述類型約束oid訂單編號(hào)Int主鍵spid商品編號(hào)int外鍵gid買

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論