第一篇:網(wǎng)上書店項(xiàng)目設(shè)計(jì)書
開卷有益網(wǎng)上書店項(xiàng)目設(shè)計(jì)書
開卷有益 網(wǎng)上書店項(xiàng)目設(shè)計(jì)書
課程名稱網(wǎng)站規(guī)劃建設(shè)與管理維護(hù)
專業(yè) 班級(jí) 提交人
2013年9月29日 開卷有益網(wǎng)上書店項(xiàng)目設(shè)計(jì)書
開卷有益網(wǎng)上書店項(xiàng)目設(shè)計(jì)書
一、項(xiàng)目概述:
1.1項(xiàng)目名稱:開卷有益網(wǎng)上書店項(xiàng)目設(shè)計(jì)書。
1.2項(xiàng)目背景:隨著Internet的迅速發(fā)展,當(dāng)今電子商務(wù)已接被廣大的互聯(lián)網(wǎng) 用戶所接受,網(wǎng)購的火爆程度有目共睹。網(wǎng)上書店作為其中的一部分也有了迅速的發(fā)展。為了方便廣大用戶因?yàn)樗诘貐^(qū)的原因,造成“有書沒人買,有人沒書買”的現(xiàn)象,充分利用現(xiàn)代信息化、因特網(wǎng)的優(yōu)勢(shì),建立網(wǎng)上書店系統(tǒng),實(shí)施把書店“搬”到網(wǎng)上的方案。就網(wǎng)上書店而言,由于網(wǎng)絡(luò)已經(jīng)覆蓋全球,信息量大而獨(dú)具優(yōu)勢(shì)。國內(nèi)著名的兩大書店,當(dāng)當(dāng)網(wǎng)與卓越網(wǎng),他們售書的理念很簡單,讀者可以自己尋找自己喜愛的書,對(duì)于讀者來說,無需為尋找一本自己想要的書好奔波于城市的各個(gè)角落,無需因?yàn)闀r(shí)間問題而錯(cuò)過了新書的首發(fā)式,或者因?yàn)闀r(shí)間問題而去不了書店,網(wǎng)上書店系統(tǒng),只需你有一臺(tái)可以連上互聯(lián)網(wǎng)的電腦,就可以按照自己的興趣檢索到自己想要的書本。對(duì)于那些沒有時(shí)間經(jīng)常去傳統(tǒng)書店或其住所離傳統(tǒng)書店較遠(yuǎn)的讀者來說,具有實(shí)際意義。因此網(wǎng)上售書必將有長足的發(fā)展。本系統(tǒng)的主要目的是實(shí)現(xiàn)圖書的在線銷售,包括管理庫房中的圖書,以及管理用戶的購物車,從而實(shí)現(xiàn)書籍預(yù)訂、結(jié)賬、查看訂單等一系列功能,實(shí)現(xiàn)書店和用戶雙贏的局面。
1.3項(xiàng)目目標(biāo):實(shí)現(xiàn)網(wǎng)上書店系統(tǒng)的基本功能,包括兩大部分:用戶客戶端和管 理員服務(wù)器端。用戶客戶端完成會(huì)員的注冊(cè)(包括登錄名、密碼、真實(shí)姓名、收貨地址、聯(lián)系方式等信息的填寫),登錄(登錄后會(huì)員可查看自己的賬戶信 息,對(duì)個(gè)人信息的修改,查看訂單狀態(tài),與客服人員的在線交流,對(duì)書籍和 服務(wù)進(jìn)行評(píng)價(jià));圖書瀏覽(可以使用搜索引擎或其他方式查找到自己喜愛的 圖書)、預(yù)訂(如果想要購買的圖書目前暫時(shí)缺貨,可以預(yù)訂圖書,圖書到貨 后,管理員向會(huì)員發(fā)出到貨信息,以便會(huì)員購買)、購買(購買圖書)、留言 簿(與在線客服的交流以及評(píng)價(jià)圖書及服務(wù))等一系列購書功能。管理員服 務(wù)器端完成對(duì)圖書、會(huì)員的各種信息的管理(包括書目的增刪改,庫存信息 的管理及會(huì)員訂單的處理等)。
1.4項(xiàng)目內(nèi)容:開卷有益網(wǎng)上書店采用現(xiàn)有的各種網(wǎng)絡(luò)技術(shù),構(gòu)建一個(gè)擁有全面 書籍的多級(jí)查詢、選擇、訂購的網(wǎng)上銷售系統(tǒng),為顧客提供方便、快捷、安 全的網(wǎng)上購物環(huán)境。
1.5項(xiàng)目的投資規(guī)模和建設(shè)周期:項(xiàng)目建設(shè)預(yù)計(jì)投入30萬元,用于平臺(tái)搭建、軟硬件資源的購買、技術(shù)支持及管理和人員的費(fèi)用,項(xiàng)目建設(shè)周期約需要5 個(gè)月。
1.6項(xiàng)目的收益:建設(shè)網(wǎng)上書店將取得以下幾方面收益:
a.網(wǎng)上銷售帶來的業(yè)務(wù)量的增加:預(yù)計(jì)從網(wǎng)站運(yùn)營起半年內(nèi)書店銷售收入增
長7%,二年內(nèi)銷售收入增長88%。
b.網(wǎng)上銷售帶來的成本節(jié)約:預(yù)計(jì)書本銷售成本可以減少15%~33%。
c.品牌增值帶來的收益:網(wǎng)上書店的運(yùn)作將擴(kuò)大“開卷有益”的知名度,提升 “開卷有益”品牌,最終使開卷有益書店成為全國地區(qū)有影響力的網(wǎng)上書店 開卷有益網(wǎng)上書店項(xiàng)目設(shè)計(jì)書
企業(yè)。
二、項(xiàng)目可行性分析:
2.1網(wǎng)上書店設(shè)計(jì): 會(huì)員(注冊(cè)用戶):通過填寫個(gè)人信息,經(jīng)過系統(tǒng)認(rèn)證的用戶,完成每個(gè)用戶的書籍預(yù)訂、購書、查看訂單、留言簿等功能。
管理員:有權(quán)對(duì)圖書的信息進(jìn)行錄入、修改、刪除等功能;進(jìn)行圖書的入庫、出庫、盤點(diǎn),系統(tǒng)出錯(cuò)或有需要時(shí),人工進(jìn)行用戶匯款信息錄入、修改、刪除等功能;查看、刪除、回復(fù)會(huì)員的留言;管理圖書的銷售等一系列信息。訂單:用戶為購買貨物而填寫的關(guān)于書目、送貨地址、付款方式等信息的表單;訂單可以有幾種狀態(tài):1)訂單生成在審核中2)訂單通過審核,正在配貨3)訂單中的貨物已發(fā)貨,但用戶未接收4)訂單配送完成5)在15天退換貨的階段6)用戶收貨15天后,沒有退換貨,交易完成。
客戶端:會(huì)員完成圖書瀏覽、搜索、預(yù)訂、購書、查看訂單、評(píng)論留言等一系列過程的平臺(tái)。后臺(tái)管理系統(tǒng):管理員通過用戶名和密碼的驗(yàn)證后,管理有關(guān)圖書的訂單、庫存、銷售,會(huì)員的管理,評(píng)論留言的管理等的信息的平臺(tái)。2.2產(chǎn)品目標(biāo)與范圍
網(wǎng)上書店系統(tǒng)是一個(gè)中小型的電子商務(wù)系統(tǒng),可以為各類用戶提供方便的在線買書環(huán)境,要符合目前國內(nèi)流行的電子商務(wù)模式——B/S架構(gòu),三層運(yùn)行模式,同時(shí)適用于Intranet/Internet。瀏覽器為第一層,作為系統(tǒng)的應(yīng)用界面;應(yīng)用邏輯服務(wù)為第二層;數(shù)據(jù)鏈接為第三層,作為系統(tǒng)的數(shù)據(jù)存取服務(wù)。用戶可以在系統(tǒng)中實(shí)現(xiàn)注冊(cè)、瀏覽圖書、搜索查詢圖書、預(yù)訂圖書、下定單、付款、確認(rèn)收貨等功能,登錄該網(wǎng)站后,先進(jìn)行注冊(cè),在會(huì)員登錄并且購得圖書后,提交購書單給圖書管理員,并同時(shí)將費(fèi)用通過網(wǎng)上銀行、電匯、郵寄或貨到付款的方式交付到圖書管理員處。圖書管理員進(jìn)貨后,整理歸類,并將書目信息發(fā)布到網(wǎng)上,管理員通過用戶管理、訂單管理、圖書管理、銷售管理、庫存管理等管理功能來對(duì)系統(tǒng)進(jìn)行維護(hù)更新。2.3假設(shè)與約束
為了使網(wǎng)上書店獲得更好的安全性、擴(kuò)展性和更高的執(zhí)行效能,整個(gè)系統(tǒng)采取分布式部署的方案,將承載關(guān)鍵業(yè)務(wù)邏輯的應(yīng)用程序服務(wù)器(或應(yīng)用程序服務(wù)器集群)和承載業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)庫服務(wù)(或數(shù)據(jù)庫服務(wù)器集群)隔離開來。實(shí)現(xiàn)管理與數(shù)據(jù)的分離,便于管理和維護(hù)。
網(wǎng)上書店面向全球互聯(lián)網(wǎng)用戶,進(jìn)行相關(guān)交易前必須注冊(cè)為本網(wǎng)站平臺(tái)會(huì)員,才能擁有相應(yīng)權(quán)限。應(yīng)用本平臺(tái)必須保證電腦或其它訪問本平臺(tái)的軟件有殺毒防毒能力,對(duì)于因客戶中毒而產(chǎn)生的交易損失本平臺(tái)不負(fù)任何責(zé)任。平臺(tái)用戶應(yīng)妥善保管好個(gè)人密碼,不要將密碼泄露給它人,一旦發(fā)現(xiàn)丟失或被盜,需盡快提供相關(guān)證明交于客服人員進(jìn)行相關(guān)賬戶凍結(jié)與資料的修改。2.4項(xiàng)目工作范圍
項(xiàng)目規(guī)劃,計(jì)劃分為兩部分:客戶端和服務(wù)器端
客戶端部分:用戶注冊(cè)及用戶信息修改;站內(nèi)搜索引擎;書籍瀏覽;書籍預(yù)訂;購書;查看定單;查看購買歷史;留言簿;服務(wù)器端;
圖書庫信息維護(hù):圖書數(shù)據(jù)錄入、修改、刪除等功能; 開卷有益網(wǎng)上書店項(xiàng)目設(shè)計(jì)書
圖書庫管理:入庫、出庫、盤點(diǎn);
用戶匯款管理:用戶匯款信息錄入、修改、刪除等功能; 圖書銷售管理:銷售日?qǐng)?bào)、月報(bào),銷售排行榜,TOP10; 管理留言簿:查看,回復(fù),刪除 2.5 應(yīng)交付成果 2.5.1 需完成的軟件 程序的名稱:網(wǎng)上書店系統(tǒng)、編程語言:C++、支撐系統(tǒng)的數(shù)據(jù)庫:SQL SERVER 2008。2.5.2需提交用戶的文檔:《網(wǎng)上書店項(xiàng)目計(jì)劃書》、《網(wǎng)上書店需求規(guī)格說明書》、《網(wǎng)上書店概要設(shè)計(jì)說明書》、《網(wǎng)上書店詳細(xì)設(shè)計(jì)說明書》、《測(cè)試分析報(bào)告》、《用戶手冊(cè)》
2.6 項(xiàng)目開發(fā)環(huán)境:操作系統(tǒng):windows
7、開發(fā)工具:visual studio 2010 數(shù)據(jù)庫系統(tǒng):SQL SERVER 2008、硬件配置:Intel core2 T6500、內(nèi)存2G、320G硬盤
三、項(xiàng)目團(tuán)隊(duì)組織:
3.1 組織結(jié)構(gòu)
所需角色:項(xiàng)目經(jīng)理、計(jì)劃經(jīng)理、系統(tǒng)分析員、構(gòu)架設(shè)計(jì)師、設(shè)計(jì)員 組織結(jié)構(gòu):
四、項(xiàng)目總體規(guī)劃:
4.1網(wǎng)站目標(biāo)定位:開卷有益書店的主要業(yè)務(wù)室銷售書籍,定位于熱愛閱讀的廣大人群,為他們提供方便、時(shí)尚的訂購服務(wù)。
4.2網(wǎng)站商務(wù)規(guī)劃:
(1)商務(wù)模式:開卷有益書店的商務(wù)對(duì)象以普通消費(fèi)者為主,主要采用網(wǎng)上商店+連鎖經(jīng)營的B2C電子商務(wù)模式。
(2)主要業(yè)務(wù)流程:顧客選擇要購買的書籍——下訂單——支付貨款——網(wǎng)
站把訂單通知物流部門——物流部門配送——通知顧客開卷有益網(wǎng)上書店項(xiàng)目設(shè)計(jì)書
配送成功。
圖1: 開卷有益網(wǎng)上書店的業(yè)務(wù)流程
(3)贏利方式:開卷有益書店主要通過在線銷售書籍,爭取更多的交易機(jī)會(huì)、擴(kuò)大銷售量,從而增加書店的收入。此外,根據(jù)顧客的訂單按需進(jìn)貨可大大降低書籍的庫存,節(jié)約成本,提高書店的綜合效益。
五、支持條件:
5.1用戶界面
人性化界面,全新感覺,操作簡便,一目了然,視圖優(yōu)美等特點(diǎn)。并且采用菜單界面驅(qū)動(dòng)方式,給操作用戶帶來了極大的便利。
5.2硬件接口
本軟件不需要特定的硬件或硬件接口進(jìn)行支撐。586以上PC機(jī)均可運(yùn)行此軟件。
5.3軟件接口
運(yùn)行于Windows2000及更高版本的操作系統(tǒng)之上。
5.4故障處理
正常使用時(shí)不應(yīng)出錯(cuò),若運(yùn)行時(shí)遇到不可恢復(fù)的系統(tǒng)錯(cuò)誤,也必須保證數(shù)據(jù)庫完好無損。調(diào)試中遇到的問題及解決的方案:
1)遇到跳出“數(shù)據(jù)庫已經(jīng)關(guān)閉”提示信息阻止程序運(yùn)行時(shí)
可以查看一下進(jìn)行此項(xiàng)操作時(shí),操作的表是否已經(jīng)被關(guān)閉了或者是在沒有關(guān)閉此表的情況下又一次運(yùn)用打開語句打開此表。2)關(guān)于空記錄帶來的麻煩
有些空記錄往往會(huì)使程序無法運(yùn)行。此時(shí)你可用“if not isnull”語句先判斷一下是否為空記錄,再操作。
六、預(yù)算: 開卷有益網(wǎng)上書店項(xiàng)目設(shè)計(jì)書
設(shè)備成本包括:1臺(tái)主流計(jì)算機(jī) 大約3500元
七、關(guān)鍵問題:
因?yàn)殚_發(fā)人員目前還在學(xué)習(xí)階段,開發(fā)過程會(huì)比較緩慢,因此時(shí)間是最大的風(fēng)險(xiǎn),不能完全投入到開發(fā)工作中,不可避免會(huì)有設(shè)計(jì)上的不足和缺陷。程序的調(diào)試是最大的困難。
八、專題策劃要點(diǎn):
重點(diǎn)在于各種相關(guān)文檔的編寫,這些文檔質(zhì)量的好壞,決定了日后軟件的開發(fā)速度、可執(zhí)行性、可維護(hù)性。
第二篇:網(wǎng)上書店項(xiàng)目概述(范文)
網(wǎng)上書店項(xiàng)目概述
網(wǎng)上購書系統(tǒng)由3部分組成:用戶管理、購書網(wǎng)站和訂單處理中心。其中,用戶管理負(fù)責(zé)用戶注冊(cè)及用戶登陸;購書網(wǎng)站是一個(gè)Web應(yīng)用程序,用戶可以通過Web瀏覽器登錄到此網(wǎng)站,在此網(wǎng)站,用戶可以搜索要找的書,察看書的詳細(xì)信息并購書;訂單處理中心用來管理購物網(wǎng)站轉(zhuǎn)過來的訂單。
用戶管理主要包括一下功能: ? 注冊(cè)用戶信息
1)對(duì)于新用戶,單擊“注冊(cè)”按鈕,進(jìn)入用戶注冊(cè)頁面; 2)填寫相關(guān)注冊(cè)信息,填寫完畢后單擊“確定”按鈕; ? 3)彈出“注冊(cè)成功”對(duì)話框,即成功注冊(cè)。用戶登錄驗(yàn)證
1)對(duì)于已注冊(cè)用戶,進(jìn)入用戶登錄頁面; 2)填寫您的用戶名和密碼; 3)單擊“登錄”按鈕; ? 4)用戶名和密碼正確,登錄成功,進(jìn)入購書網(wǎng)站;否則返回。瀏覽圖書
網(wǎng)站的書籍列表要列出當(dāng)前網(wǎng)站所有的圖書名稱。當(dāng)用戶單擊某一圖書名稱時(shí),要列出該書的詳細(xì)信息(包括書名、作者、單價(jià))。查找圖書
用戶可以在網(wǎng)站的查找框中輸入一個(gè)書名,單擊“查找”按鈕可以網(wǎng)站是否有此書,系統(tǒng)將查找結(jié)果(如果有此書,返回書的詳細(xì)信息;如果沒有,返回當(dāng)前沒有此書的信息)返回給用戶。? ? 購物車管理
用戶可以隨時(shí)查看自己的購物車,可以添加或刪除購物車中的商品。購書
在瀏覽圖書時(shí),用戶可以在查看選中圖書的詳細(xì)信息時(shí)添加次書到購物車,添加完畢可以選擇繼續(xù)購物或是結(jié)算。如果選擇結(jié)算,要填一個(gè)購書登記表,該表包括以下內(nèi)容:購書人姓名、地質(zhì)、E-mail、所購圖書的列表、總價(jià)。訂單處理中心的功能:
訂單處理中心是一個(gè)Web應(yīng)用程序,在此將列出所有等待處理的訂單,每一筆訂單包含購書人姓名、地質(zhì)、E-mail、所購圖書的列表、總價(jià)。其中,所購圖書列表包括各個(gè)書籍信息的明細(xì)內(nèi)容,總價(jià)是系統(tǒng)自動(dòng)計(jì)算的。
以上是該項(xiàng)目的需求分析,請(qǐng)由此畫出該系統(tǒng)的用例圖、類圖、狀態(tài)圖、活動(dòng)圖、順序圖、協(xié)作圖、構(gòu)件圖以及部署圖。
?
實(shí)習(xí)一(2學(xué)時(shí))
一、實(shí)驗(yàn)名稱:
UML用例圖建模(2學(xué)時(shí))
二、實(shí)驗(yàn)?zāi)康呐c要求:
? 了解和掌握Rose或PowerDesign建模工具的使用 ? 掌握怎樣進(jìn)行案例需求分析; ? 掌握UML用例圖建模技術(shù)
三、實(shí)驗(yàn)內(nèi)容:
通過《網(wǎng)上書店系統(tǒng)》的需求分析,完成用例圖的設(shè)計(jì)和繪制。掌握需求分析和繪制用例圖。
四、實(shí)驗(yàn)步驟:
步驟1:對(duì)《網(wǎng)上書店系統(tǒng)》文字描述進(jìn)行需求分析。步驟2:找到系統(tǒng)所有用戶、用例:
步驟3:采用Rose或PowerDesign或Visio畫出用例圖; 步驟4:對(duì)用例圖進(jìn)行細(xì)化和完善; 步驟5:保存實(shí)驗(yàn)結(jié)果,撰寫實(shí)驗(yàn)報(bào)告。
實(shí)習(xí)二(2學(xué)時(shí))
一、實(shí)驗(yàn)名稱:
UML類圖建模(2學(xué)時(shí))
二、實(shí)驗(yàn)?zāi)康呐c要求:
? 了解和掌握Rose或PowerDesign或Visio建模工具的使用 ? 掌握怎樣進(jìn)行系統(tǒng)分析,并進(jìn)行UML靜態(tài)建模分析; ? 掌握UML類圖建模技術(shù)
三、實(shí)驗(yàn)內(nèi)容:
通過《網(wǎng)上書店系統(tǒng)》的需求分析,完成主要類圖的設(shè)計(jì)和實(shí)現(xiàn)。掌握系統(tǒng)靜態(tài)分析和繪制類圖。
四、實(shí)驗(yàn)步驟:
步驟1:對(duì)《網(wǎng)上書店系統(tǒng)》文字描述以及上次實(shí)習(xí)的用例圖進(jìn)行系統(tǒng)分析。步驟2:找到系統(tǒng)涉及到的實(shí)體—〉類:
步驟3:采用Rose或PowerDesign或Visio畫出類圖; 步驟4:對(duì)類圖進(jìn)行細(xì)化和完善; 步驟5:保存實(shí)驗(yàn)結(jié)果,撰寫實(shí)驗(yàn)報(bào)告。五.實(shí)驗(yàn)結(jié)果
實(shí)習(xí)三(2學(xué)時(shí))
一、實(shí)驗(yàn)名稱:
時(shí)序圖和協(xié)作圖建模(2學(xué)時(shí))
二、實(shí)驗(yàn)?zāi)康呐c要求:
? 了解和掌握Rose或PowerDesign或Visio建模工具的使用 ? 掌握怎樣進(jìn)行系統(tǒng)分析,并進(jìn)行UML動(dòng)態(tài)建模分析; ? 掌握UML時(shí)序圖和協(xié)作圖建模技術(shù)
三、實(shí)驗(yàn)內(nèi)容:
通過《網(wǎng)上書店系統(tǒng)》的進(jìn)一步分析,繪制其中主要的時(shí)序圖和協(xié)作圖。掌握系統(tǒng)動(dòng)態(tài)分析和繪制時(shí)序圖和協(xié)作圖。
四、實(shí)驗(yàn)步驟:
步驟1:以《網(wǎng)上書店系統(tǒng)》用例圖、類圖為基礎(chǔ)進(jìn)行系統(tǒng)分析。步驟2:找到系統(tǒng)通過類圖無法完整描述相互交互的過程:
步驟3:采用Rose或PowerDesign或Visio畫出這些過程的時(shí)序圖或協(xié)作圖; 步驟4:對(duì)時(shí)序圖或協(xié)作圖進(jìn)行細(xì)化和完善; 步驟5:保存實(shí)驗(yàn)結(jié)果,撰寫實(shí)驗(yàn)報(bào)告。
五.實(shí)驗(yàn)結(jié)果
實(shí)習(xí)四(2學(xué)時(shí))
一、實(shí)驗(yàn)名稱:
狀態(tài)圖和活動(dòng)圖建模(2學(xué)時(shí))
二、實(shí)驗(yàn)?zāi)康呐c要求:
? 了解和掌握Rose或PowerDesign或Visio建模工具的使用 ? 掌握怎樣進(jìn)行系統(tǒng)分析,并進(jìn)行UML動(dòng)態(tài)建模分析; ? 掌握UML狀態(tài)圖和活動(dòng)圖建模技術(shù)
三、實(shí)驗(yàn)內(nèi)容:
通過《網(wǎng)上書店系統(tǒng)》的進(jìn)一步分析,繪制其中主要的狀態(tài)圖和活動(dòng)圖。掌握系統(tǒng)動(dòng)態(tài)分析和繪制狀態(tài)圖和活動(dòng)圖。
四、實(shí)驗(yàn)步驟:
步驟1:以《網(wǎng)上書店系統(tǒng)》用例圖、類圖為基礎(chǔ)進(jìn)行系統(tǒng)分析。步驟2:找到系統(tǒng)類圖無法清晰描述現(xiàn)實(shí)對(duì)象的類:
步驟3:采用Rose或PowerDesign或Visio畫出這些類或者對(duì)象的狀態(tài)圖或活動(dòng)圖;
步驟4:對(duì)狀態(tài)圖或活動(dòng)圖進(jìn)行細(xì)化和完善; 步驟5:保存實(shí)驗(yàn)結(jié)果,撰寫實(shí)驗(yàn)報(bào)告。五.結(jié)果
實(shí)習(xí)五(4學(xué)時(shí))
一、實(shí)驗(yàn)名稱:
綜合實(shí)驗(yàn)--《網(wǎng)上書店系統(tǒng)》UML建模(4學(xué)時(shí))
二、實(shí)驗(yàn)?zāi)康呐c要求:
? 了解和掌握Rose或PowerDesign或Visio建模工具的使用 ? 掌握軟件分析設(shè)計(jì)過程,能熟練運(yùn)用UML建模技術(shù); ? 掌握UML構(gòu)件圖和部署圖建模技術(shù)
三、實(shí)驗(yàn)內(nèi)容:
通過該系統(tǒng)的分析和設(shè)計(jì),整合前4次實(shí)驗(yàn),并進(jìn)行進(jìn)一步的細(xì)化和完善,提交整個(gè)系統(tǒng)的UML分析結(jié)果(包括后期的構(gòu)件圖,部署圖)。
四、實(shí)驗(yàn)步驟:
步驟1:以《網(wǎng)上書店系統(tǒng)》描述為用例圖、類圖以及其他動(dòng)態(tài)圖為基礎(chǔ)進(jìn)行構(gòu)件部署的設(shè)計(jì)。
步驟2:采用Rose或PowerDesign或Visio畫出構(gòu)件圖和部署圖: 步驟3:對(duì)構(gòu)件圖和部署圖進(jìn)行細(xì)化和完善;
步驟4:重新從系統(tǒng)需求描述出發(fā),驗(yàn)證和補(bǔ)充用例圖、類、時(shí)序圖、協(xié)作圖、狀態(tài)圖、活動(dòng)圖、構(gòu)件圖以及部署圖;
步驟5:采用包圖,對(duì)所有分析模型進(jìn)行分層次整合; 步驟6:對(duì)UML建模必要的圖添加注釋;
步驟7:對(duì)系統(tǒng)分析和設(shè)計(jì)進(jìn)行整理,撰寫實(shí)驗(yàn)報(bào)告 五.實(shí)驗(yàn)結(jié)果
第三篇:網(wǎng)上書店項(xiàng)目總結(jié)報(bào)告
數(shù)據(jù)庫代碼:
/*================*/ /* DBMS name:
Microsoft SQL Server 2008
*/ /* Created on:
2011-11-2 9:27:06
*/ /*================*/
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('Administrators')and o.name = 'FK_ADMINIST_REFERENCE_USERS')alter table Administrators
drop constraint FK_ADMINIST_REFERENCE_USERS go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('Re_status')and o.name = 'FK_RE_STATU_REFERENCE_ADMINIST')alter table Re_status
drop constraint FK_RE_STATU_REFERENCE_ADMINIST go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('books')and o.name = 'FK_BOOKS_REFERENCE_BOOKTYPE')alter table books
drop constraint FK_BOOKS_REFERENCE_BOOKTYPE go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('books')and o.name = 'FK_BOOKS_REFERENCE_PUBLISH')alter table books
drop constraint FK_BOOKS_REFERENCE_PUBLISH go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('booktype')and o.name = 'FK_BOOKTYPE_REFERENCE_BOOKTYPE')alter table booktype
drop constraint FK_BOOKTYPE_REFERENCE_BOOKTYPE go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('leaveWords')and o.name = 'FK_LEAVEWOR_REFERENCE_USERS')alter table leaveWords
drop constraint FK_LEAVEWOR_REFERENCE_USERS go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('limite')and o.name = 'FK_LIMITE_REFERENCE_ADMINIST')alter table limite
drop constraint FK_LIMITE_REFERENCE_ADMINIST go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('model')and o.name = 'FK_MODEL_REFERENCE_LIMITE')alter table model
drop constraint FK_MODEL_REFERENCE_LIMITE go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('orders')and o.name = 'FK_ORDERS_REFERENCE_SHIPPED')alter table orders
drop constraint FK_ORDERS_REFERENCE_SHIPPED go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('orders')and o.name = 'FK_ORDERS_REFERENCE_BOOKS')alter table orders
drop constraint FK_ORDERS_REFERENCE_BOOKS go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('orders')and o.name = 'FK_ORDERS_REFERENCE_USERS')alter table orders
drop constraint FK_ORDERS_REFERENCE_USERS go if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('sales')and o.name = 'FK_SALES_REFERENCE_ORDERS')alter table sales
drop constraint FK_SALES_REFERENCE_ORDERS go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('shipped')and o.name = 'FK_SHIPPED_REFERENCE_SALES')alter table shipped
drop constraint FK_SHIPPED_REFERENCE_SALES go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('shoppingcar')and o.name = 'FK_SHOPPING_REFERENCE_BOOKTYPE')alter table shoppingcar
drop constraint FK_SHOPPING_REFERENCE_BOOKTYPE go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('shoppingcar')and o.name = 'FK_SHOPPING_REFERENCE_BOOKS')alter table shoppingcar
drop constraint FK_SHOPPING_REFERENCE_BOOKS go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('shoppingcar')and o.name = 'FK_SHOPPING_REFERENCE_USERS')alter table shoppingcar
drop constraint FK_SHOPPING_REFERENCE_USERS go
if exists(select 1
from sys.sysreferences r join sys.sysobjects o on(o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('users')and o.name = 'FK_USERS_REFERENCE_LIMITE')alter table users
drop constraint FK_USERS_REFERENCE_LIMITE go
if exists(select 1
from sysobjects
where id = object_id('Administrators')
and
type = 'U')
drop table Administrators go
if exists(select 1
from sysobjects
where id = object_id('Re_status')
and
type = 'U')
drop table Re_status go
if exists(select 1
from sysobjects
where id = object_id('books')
and
type = 'U')
drop table books go
if exists(select 1
from sysobjects
where id = object_id('booktype')
and
type = 'U')
drop table booktype go
if exists(select 1
from sysobjects
where id = object_id('booktype2')
and
type = 'U')
drop table booktype2 go
if exists(select 1
from sysobjects
where id = object_id('discount')
and
type = 'U')
drop table discount go
if exists(select 1
from sysobjects
where id = object_id('leaveWords')
and
type = 'U')
drop table leaveWords go
if exists(select 1
from sysobjects
where id = object_id('limite')
and
type = 'U')
drop table limite go
if exists(select 1
from sysobjects
where id = object_id('model')
and
type = 'U')
drop table model go
if exists(select 1
from sysobjects
where id = object_id('orders')
and
type = 'U')
drop table orders go
if exists(select 1
from sysobjects
where id = object_id('publish')
and
type = 'U')
drop table publish go
if exists(select 1
from sysobjects
where id = object_id('sales')
and
type = 'U')
drop table sales go
if exists(select 1
from sysobjects
where id = object_id('shipped')
and
type = 'U')
drop table shipped go
if exists(select 1
from sysobjects
where id = object_id('shoppingcar')
and
type = 'U')
drop table shoppingcar go
if exists(select 1
from sysobjects
where id = object_id('users')
and
type = 'U')
drop table users go
/*================*/ /* Table: Administrators
*/ /*================*/ create table Administrators(Administrator_id
varchar(50)
not null,Username
varchar(20)
null,Administrator_name
varchar(20)
not null,Administrator_password varchar(50)
not null,“Administrator_e-mall” varchar(30)
null,constraint PK_ADMINISTRATORS primary key(Administrator_id))go
/*================*/ /* Table: Re_status
*/ /*================*/ create table Re_status(Administrator_id
varchar(50)
not null,Username
varchar(10)
not null,Re_status_date
datetime
not null,Subject
varchar(10)
not null,re_ststus_texe
varchar(2000)
null,Re_status
varchar(2)
not null,constraint PK_RE_STATUS primary key(Administrator_id))go
/*================*/ /* Table: books
*/ /*================*/ create table books(bookID
varchar(50)
not null,Smalltype_id
varchar(50)
null,Pub_id
varchar(50)
null,title
varchar(80)
not null,price
double precision
not null,author
varchar(10)
not null,Version
varchar(20)
null,Publishdate
datetime
null,introduction
varchar(2000)
null,type
varchar(50)
not null,stock_qty
int
null,constraint PK_BOOKS primary key(bookID))go
/*================*/ /* Table: booktype
*/ /*================*/ create table booktype(Smalltype_id
varchar(50)
not null,Bigtype_id
varchar(50)
not null,Bigtype_name
varchar(50)
not null,constraint PK_BOOKTYPE primary key(Smalltype_id))go
/*================*/ /* Table: booktype2
*/ /*================*/ create table booktype2(Smalltype_id
varchar(50)
not null,Smalltype_name
varchar(50)
not null,Bigtype_id
varchar(50)
not null,constraint PK_BOOKTYPE2 primary key(Smalltype_id))go
/*================*/ /* Table: discount
*/ /*================*/ create table discount(datetime
varchar(10)
not null,discount
double precision
not null,remark
datetime
not null,constraint PK_DISCOUNT primary key(datetime))go
/*================*/ /* Table: leaveWords
*/ /*================*/ create table leaveWords(Lword_id
varchar(50)
not null,use_Username
varchar(20)
null,Username
varchar(6)
not null,Subject
varchar(6)
not null,Submit_date
datetime
null,Lword_texe
varchar(4000)
null,Re_status
varchar(10)
null,constraint PK_LEAVEWORDS primary key(Lword_id))go
/*================*/ /* Table: limite
*/ /*================*/ create table limite(username
varchar(20)
not null,Administrator_id
varchar(50)
null,user_limite
varchar(2)
not null,constraint PK_LIMITE primary key(username))go
/*================*/ /* Table: model
*/ /*================*/ create table model(model_id
varchar(10)
not null,username
varchar(20)
null,modelname
varchar(20)
not null,remark
varchar(20)
not null,constraint PK_MODEL primary key(model_id))go
/*================*/ /* Table: orders
*/ /*================*/ create table orders(Order_id
varchar(50)
not null,bookID
varchar(50)
null,Username
varchar(20)
null,Ship_id
varchar(50)
null,shipaddress
varchar(50)
not null,Order_date
datetime
not null,Book_id
varchar(50)
not null,quantity
int
not null,status
varchar(2)
not null,constraint PK_ORDERS primary key(Order_id))go
/*================*/ /* Table: publish
*/ /*================*/ create table publish(Pub_id
varchar(50)
not null,Pub_name
varchar(50)
not null,Pub_phone
varchar(15)
not null,Pub_add
varchar(50)
not null,constraint PK_PUBLISH primary key(Pub_id))go
/*================*/ /* Table: sales
*/ /*================*/ create table sales(Sale_id
varchar(50)
not null,Order_id
varchar(50)
null,Sale_date
datetime
null,Saler
varchar(20)
not null,Sale_status
varchar(2)
null,constraint PK_SALES primary key(Sale_id))go
/*================*/ /* Table: shipped
*/ /*================*/ create table shipped(Ship_id
varchar(50)
not null,Sale_id
varchar(50)
null,receive_name
varchar(10)
not null,receive_address
varchar(50)
not null,Ship_date
datetime
not null,Ship_man
varchar(10)
not null,receive_postcode
varchar(6)
not null,receive_telephone
varchar(20)
not null,constraint PK_SHIPPED primary key(Ship_id))go
/*================*/ /* Table: shoppingcar
*/ /*================*/ create table shoppingcar(shoppingcarid
varchar(10)
not null,Smalltype_id
varchar(50)
null,bookID
varchar(50)
null,Username
varchar(20)
null,totalprice
double precision
not null,constraint PK_SHOPPINGCAR primary key(shoppingcarid))go
/*================*/ /* Table: users
*/ /*================*/ create table users(Username
varchar(20)
not null,lim_username
varchar(20)
null,Password
varchar(10)
not null,degree
varchar(2)
not null,Phone
varchar(15)
null,“E-mall”
varchar(30)
null,Address
varchar(100)
not null,True_name
varchar(10)
not null,Postcode
varchar(6)
not null,constraint PK_USERS primary key(Username))go
alter table Administrators
add constraint FK_ADMINIST_REFERENCE_USERS foreign key(Username)
references users(Username)go
alter table Re_status
add constraint FK_RE_STATU_REFERENCE_ADMINIST foreign key(Administrator_id)
references Administrators(Administrator_id)go
alter table books
add constraint FK_BOOKS_REFERENCE_BOOKTYPE foreign key(Smalltype_id)
references booktype(Smalltype_id)go
alter table books
add constraint FK_BOOKS_REFERENCE_PUBLISH foreign key(Pub_id)
references publish(Pub_id)go
alter table booktype
add constraint FK_BOOKTYPE_REFERENCE_BOOKTYPE foreign key(Smalltype_id)
references booktype2(Smalltype_id)go
alter table leaveWords
add constraint FK_LEAVEWOR_REFERENCE_USERS foreign key(use_Username)
references users(Username)go
alter table limite
add constraint FK_LIMITE_REFERENCE_ADMINIST foreign key(Administrator_id)
references Administrators(Administrator_id)go
alter table model
add constraint FK_MODEL_REFERENCE_LIMITE foreign key(username)
references limite(username)go
alter table orders
add constraint FK_ORDERS_REFERENCE_SHIPPED foreign key(Ship_id)
references shipped(Ship_id)go
alter table orders
add constraint FK_ORDERS_REFERENCE_BOOKS foreign key(bookID)
references books(bookID)go
alter table orders
add constraint FK_ORDERS_REFERENCE_USERS foreign key(Username)
references users(Username)go
alter table sales
add constraint FK_SALES_REFERENCE_ORDERS foreign key(Order_id)
references orders(Order_id)go
alter table shipped
add constraint FK_SHIPPED_REFERENCE_SALES foreign key(Sale_id)
references sales(Sale_id)go
alter table shoppingcar
add constraint FK_SHOPPING_REFERENCE_BOOKTYPE foreign key(Smalltype_id)
references booktype2(Smalltype_id)go
alter table shoppingcar
add constraint FK_SHOPPING_REFERENCE_BOOKS foreign key(bookID)
references books(bookID)go
alter table shoppingcar
add constraint FK_SHOPPING_REFERENCE_USERS foreign key(Username)
references users(Username)go
alter table users
add constraint FK_USERS_REFERENCE_LIMITE foreign key(lim_username)
references limite(username)go
DB類:
using System;using System.Collections.Generic;using System.Text;
namespace DBLib { ///
/// 提供訪問SQL Server的基本方法
/// public class DB { public DB(){ }
//connStr為訪問SQL Server2000的連接字符串
//下面是臨時(shí)調(diào)試使用的方法,直接設(shè)置聯(lián)接字符串。
string connStr = “server=.;database=bookstore;integrated security=SSPI”;
#region 獲取查詢結(jié)果,DataSet GetSqlDataSet(string sqlString)///
/// public DataSet GetSqlDataSet(string sqlString){ //定義返回變量
//實(shí)例化數(shù)據(jù)集DataSet,對(duì)象名為ds DataSet ds = new DataSet();try { //實(shí)例化連接對(duì)象SqlConnection,對(duì)象名為sqlConn SqlConnection sqlConn = new SqlConnection(connStr);
//用查詢的SQL(sqlString)語句和連接對(duì)象sqlConn實(shí)例化數(shù)據(jù)接口SqlDataAdapter //對(duì)象名為da SqlDataAdapter da = new SqlDataAdapter(sqlString, sqlConn);
//da.Fill(ds)是數(shù)據(jù)接口(SqlDataAdapter)提供的方法
//具體作用為:
//打開與數(shù)據(jù)庫的連接
//將查詢的SQL語句發(fā)送到數(shù)據(jù)庫服務(wù)器 //接受返回的查詢結(jié)果
//并將結(jié)果填充到數(shù)據(jù)集對(duì)象ds中
//關(guān)閉與數(shù)據(jù)庫的連接 da.Fill(ds);} catch(Exception e){ //拋出捕捉到的異常
throw(e);} //返回查詢到的結(jié)果
return ds;} #endregion
#region 執(zhí)行增、刪或改的SQL語句 int ExecuteSql(string sqlString)///
/// 返回值為受影響的行數(shù)(記錄數(shù))
/// sqlString 參數(shù)為增、刪或改的SQL語句
/// public int ExecuteSql(string sqlString){ int i = 0;try { ////實(shí)例化連接對(duì)象SqlConnection,對(duì)象名為sqlConn SqlConnection sqlConn = new SqlConnection(connStr);
//用查詢的SQL(sqlString)語句和連接對(duì)象sqlConn實(shí)例化SqlCommand //對(duì)象名為sqlCmd SqlCommand sqlCmd = new SqlCommand(sqlString, sqlConn);
//打開與數(shù)據(jù)庫的連接 sqlConn.Open();
//將增、刪或改的SQL語句發(fā)送到數(shù)據(jù)庫服務(wù)器
//并接受返回的結(jié)果,返回的結(jié)果為受影響的行數(shù)(記錄數(shù))i = sqlCmd.ExecuteNonQuery();
//關(guān)閉與數(shù)據(jù)庫的連接 sqlConn.Close();} catch(Exception e){ Exception ee = new Exception(sqlString + e.Message);throw(ee);} return i;} #endregion
} }
Administrators類: using System;using System.Collections.Generic;using System.Text;
namespace DBlib { class Administrators { string Administrator_id;public string Administrator_Id { get { return Administrator_id;} set { Administrator_id = value;} } string Username;public string UserName { get { return Username;} set { Username = value;} } string Administrator_name;public string Administrator_Name { get { return Administrator_name;} set { Administrator_name = value;} } string Administrator_password;public string Administrator_Password { get { return Administrator_password;} set { Administrator_password = value;} } string Administrator_e_mall;public string Administrator_E_Mall { get { return Administrator_e_mall;} set { Administrator_e_mall = value;} } DB db = new DB();public bool Insert(){ try { string sql = “insert into Administrators(Administrator_id ,Username,Administrator_name,Administrator_password,Administrator_e_mall)values('” + this.Administrator_id + “','” + this.Username + “','” + this.Administrator_name + “','” + this.Administrator_password + “','” + this.Administrator_e_mall + “')”;db.ExecuteSql(sql);return true;} catch { return false;} } public bool Delete(){ try { string sql = “delete from Administrators where Administrator_id='” + this.Administrator_id + “'”;db.ExecuteSql(sql);return true;} catch { return false;} } public bool Update(){ try { string sql = “update Administrators set Administrator_id='” + this.Administrator_id + “',Username='” + this.Username + “',Administrator_name='” + this.Administrator_name + “',Administrator_password='” + this.Administrator_password + “',Administrator_e_mall='” + this.Administrator_e_mall + “'”;db.ExecuteSql(sql);return true;} catch { return false;} } public DataSet SelectAll(){
string sql = “select * from Administrators”;DataSet ds = db.GetSqlDataSet(sql);return ds;} public DataSet Select(){
string sql = “select * from Administrators where Administrator_name like '%” + this.Administrator_name + “%'”;DataSet ds = db.GetSqlDataSet(sql);return ds;}
public bool IsExist(){ string sql = “select * from Administrators where Administrator_id='” + this.Administrator_id + “'”;DataSet ds = db.GetSqlDataSet(sql);if(ds.Tables[0].Rows.Count == 1){ return true;} else { return false;} } } }
第四篇:網(wǎng)上書店-系統(tǒng)分析設(shè)計(jì)文檔
網(wǎng)上書店系統(tǒng)analysis & design 目錄:
1.登錄包
1.1 class diagram
LoginForm為boundary class CheckAndReadFrormUserList為control class UserList 為 entity class
在登錄界面中 點(diǎn)擊登錄 調(diào)用CheckAndReadFrormUserList()函數(shù),該函數(shù)作用:在數(shù)據(jù)庫中搜索登錄用戶名和密碼若存在則能登陸,否則登陸失敗。1.2 sequence diagram
1.3 collaboration diagram 注冊(cè)包
2.1 class diagram
UserRegrist為boundary class CheckAndSaveIntoUserList為control class UserList為 entity class
在注冊(cè)界面中 點(diǎn)擊注冊(cè) 調(diào)用CheckUserList()函數(shù),該函數(shù)作用:在數(shù)據(jù)庫中搜索登錄用戶名若不存在則繼續(xù),否則提示該用戶名以存在。繼續(xù)則調(diào)用SaveIntoUserList(),該函數(shù)作用:將用戶信息存入數(shù)據(jù)庫中 2.2 sequence diagram
2.3 collaboration diagram 訂購圖書包 3.1 class diagram
BookList為boundary class CheckAndSaveIntoOrderList為control class OrderList為 entity class
在物品界面中 點(diǎn)擊訂購 調(diào)用SaveIntoOrderList()函數(shù),該函數(shù)作用:將該圖書信息存入數(shù)據(jù)庫中,繼續(xù)調(diào)用showMybook()函數(shù),該函數(shù)作用:將該用戶訂購的所有圖書列表顯示。3.2 sequence diagram
3.3 collaboration diagram 訂單及送貨管理 4.1 class diagram
OrderForm為boundary class DoWithOrderList為control class OrderList為 entity class
進(jìn)入訂單及送貨管理頁面 調(diào)用showorderList()函數(shù),該函數(shù)作用:顯示所有訂單,若要?jiǎng)h除訂單,調(diào)用delorderinfo()函數(shù),該函數(shù)作用:將選定列訂單刪除。
4.2 sequence diagram
4.3 collaboration diagram
5.進(jìn)書、庫存管理
5.1 class diagram
StockForm為boundary class DoWithStockList為control class StockList為 entity class
進(jìn)入訂單及送貨管理頁面 調(diào)用showall()函數(shù),該函數(shù)作用:顯示所有進(jìn)書信息,若要修改信息,調(diào)用changeinfo()函數(shù),該函數(shù)作用:將選定列重新更新到數(shù)據(jù)庫中。
5.2 sequence diagram
5.3 collaboration diagram
6.客戶信息管理
6.1 class diagram
UserForm為boundary class DoWithUserList為control class UserList為 entity class
進(jìn)入客戶信息管理頁面 調(diào)用showUserList()函數(shù),該函數(shù)作用:顯示所有用戶信息,若要修改信息,調(diào)用alterUserinfo()函數(shù),該函數(shù)作用:將選定列重新更新到數(shù)據(jù)庫中。
6.2 sequence diagram
6.3 collaboration diagram
7.賬目管理
7.1 class diagram
AccountForm為boundary class DoWithAccountList為control class AaccountList為 entity class
進(jìn)入賬目管理頁面 調(diào)用showaccountlist()函數(shù),該函數(shù)作用:顯示所有圖書賬目信息,若要修改信息,調(diào)用alteraccountlist()函數(shù),該函數(shù)作用:將選定列重新更新到數(shù)據(jù)庫中。
7.2 sequence diagram
7.3 collaboration diagram
第五篇:網(wǎng)上書店系統(tǒng)分析與設(shè)計(jì)(定稿)
系統(tǒng)分析與設(shè)計(jì)大作業(yè)
學(xué)號(hào):090300235 班級(jí): 09信管1班 姓名: 伍恒 1系統(tǒng)的功能和結(jié)構(gòu)說明:
功能要求
本系統(tǒng)主要分為管理員,工作人員,會(huì)員和游客四大模塊。
管理員: 進(jìn)入管理頁面,可以維護(hù)客戶注冊(cè)信息、維護(hù)圖書信息、處理訂單信息、報(bào)表維修、商品銷售。
工作人員: 進(jìn)入工作管理頁面,可以對(duì)圖書(或商品)信息進(jìn)行錄入、刪除、瀏覽、查詢、修改(商品銷售)、維護(hù)個(gè)人信息、維護(hù)訂單信息(接收訂單并發(fā)貨、拒絕訂單、查詢庫存)。
會(huì)員: 進(jìn)入登入頁面,可以對(duì)圖書信息進(jìn)行查詢、瀏覽,并可以維護(hù)個(gè)人信息,維護(hù)訂單信息(訂單狀態(tài)查詢、訂單刪除或增加)。
游客: 進(jìn)入網(wǎng)站后,只能進(jìn)行基本的信息瀏覽和查詢。
管理員可以維護(hù)客戶注冊(cè)信息、維護(hù)圖書信息、處理訂單信息、報(bào)表維修、商品銷售。工作人員的相對(duì)權(quán)限下可以對(duì)圖書(或商品)信息進(jìn)行錄入、刪除、瀏覽、查詢、修改(商品銷售)、維護(hù)個(gè)人信息、維護(hù)訂單信息(接收訂單并發(fā)貨、拒絕訂單、查詢庫存)。游客身份只能進(jìn)行基本的信息瀏覽和查詢,但是游客可以在線注冊(cè)為會(huì)員,成為會(huì)員后在相對(duì)權(quán)限下可以對(duì)圖書信息進(jìn)行查詢、瀏覽,并可以維護(hù)個(gè)人信息,維護(hù)訂單信息(訂單狀態(tài)查詢、訂單刪除或增加)。
2系統(tǒng)需求分析和設(shè)計(jì)文檔:
本系統(tǒng)描述通過包含因特網(wǎng)在內(nèi)的計(jì)算機(jī)網(wǎng)絡(luò)來購買、銷售和交換商品、服務(wù)信息的進(jìn)程。隨著社會(huì)的發(fā)展,網(wǎng)絡(luò)的普及,網(wǎng)上購物已成為在線業(yè)務(wù)的首要載體。B2C可以繞過中介(如批發(fā)商、銷售商或經(jīng)銷商)建立與客戶的直接關(guān)系。網(wǎng)站還能夠?yàn)橛脩籼峁┥唐返木唧w信息,用戶能夠在線購買商品,確信自己的訂單。同時(shí)網(wǎng)站還提供關(guān)于商品或電子零售商的選擇建議和評(píng)級(jí)。網(wǎng)站來源信息,為網(wǎng)絡(luò)銷售人員從不同地方分析網(wǎng)站運(yùn)營的效果提供方便,至少能夠看出部分常用網(wǎng)站推廣措施所帶來的訪問量,如分類目錄、搜索引擎自然檢索、投放于網(wǎng)站上的在線顯示類網(wǎng)絡(luò)廣告等。網(wǎng)上銷售為人們提供更廣闊的環(huán)境:人們不受時(shí)間的限制,不受空間的限制,不受傳統(tǒng)購物的諸多限制,能夠隨時(shí)隨地在網(wǎng)上交易。更廣闊的市場(chǎng):在網(wǎng)上這個(gè)世界將會(huì)變得很小,一個(gè)商家能夠面對(duì)全球的消費(fèi)者,而一個(gè)消費(fèi)者能夠在全球的任何一家商家購物。更快速的流通和低廉的價(jià)格:電子商務(wù)減少商品流通的中間環(huán)節(jié),節(jié)省大量的開支,從而也大大降低商品流通和交易的成本。更符合時(shí)代的要求:如今人們?cè)絹碓阶非髸r(shí)尚、講究個(gè)性,注重購物的環(huán)境,網(wǎng)上購物,更能體現(xiàn)個(gè)性化的購物進(jìn)程。
系統(tǒng)可行性分析及功能和操作環(huán)境:
伴隨著Internet正向我們大踏步走來,電子商務(wù)將成為21世紀(jì)主流的商業(yè)模式。網(wǎng)上書店將是隨著這些網(wǎng)絡(luò)技術(shù)的發(fā)展而出現(xiàn)的一種新型圖書銷售渠道。它通過人與電子通信方式的結(jié)合,依靠計(jì)算機(jī)網(wǎng)絡(luò),以通訊技術(shù)為基礎(chǔ),實(shí)現(xiàn)圖書銷售的網(wǎng)上交易。網(wǎng)上書店同傳統(tǒng)的店面書店相比,網(wǎng)上書店的經(jīng)營 方式和銷售渠道是全新的;它24小時(shí)的全天候和全方位服務(wù)是店面書店所不能比及的;成本低廉更是開設(shè)網(wǎng)上書店的主要原因。而與其他商品相比,書籍運(yùn)送幾乎不怕碰撞碎裂,不具時(shí)效性;同時(shí)書本具有功能單一,形式簡單,易于判斷和選擇而獨(dú)具優(yōu)勢(shì),最適合于網(wǎng)上交易;再次是單價(jià)低,降低了消費(fèi)者第一次在網(wǎng)絡(luò)購物的門檻,所以網(wǎng)上書店成了電子商務(wù)的先鋒。對(duì)現(xiàn)有系統(tǒng)的分析
由于假定目前還未開設(shè)網(wǎng)上書店,所以沒有原型系統(tǒng),則: 處理流程和數(shù)據(jù)流程 :暫時(shí)不考慮 工作負(fù)荷 :暫時(shí)不考慮
費(fèi)用支出:如人力、設(shè)備、空間、支持性服務(wù)、材料等項(xiàng)開支 :暫時(shí)不考慮 人員:列出所需人員的專業(yè)技術(shù)類別和數(shù)量 :暫時(shí)不考慮 設(shè)備 :暫不考慮
局限性:暫時(shí)不考慮 需求調(diào)查和分析
網(wǎng)上書店同傳統(tǒng)的店面書店相比,網(wǎng)上書店的經(jīng)營方式和銷售渠道是全新的,它解決了許多傳統(tǒng)書店的局限性:它24小時(shí)的全天候和全方位服務(wù)是店面書店所不能比及的;成本低廉更是開設(shè)網(wǎng)上書店的主要原因。而與其他商品相比,書籍運(yùn)送幾乎不怕碰撞碎裂,不具時(shí)效性;同時(shí)書本具有功能單一,形式簡單,易于判斷和選擇而獨(dú)具優(yōu)勢(shì),最適合于網(wǎng)上交易;再次是單價(jià)低,降低了消費(fèi)者第一次在網(wǎng)絡(luò)購物的門檻,所以開設(shè)網(wǎng)上書店為廣大讀者提供了很大的便利性,具有很大的發(fā)展?jié)摿ΑP枨箢A(yù)測(cè)
為了是經(jīng)營者實(shí)現(xiàn)更有效的的管理,要求網(wǎng)站具有如下功能:
功能 :對(duì)書店的圖書信息和用戶(書店工作人員,網(wǎng)站注冊(cè)用戶即潛在購書者)信息的進(jìn)行有效的管理;對(duì)圖書的進(jìn)存銷等環(huán)節(jié)進(jìn)行信息化管理;實(shí)現(xiàn)讀者網(wǎng)上瀏覽圖書,網(wǎng)上購書的可能;通過論壇同讀者進(jìn)行有效的溝通;通過聊天室實(shí)現(xiàn)作者和讀者的實(shí)時(shí)交流;處理讀者網(wǎng)上的投訴和建議。
性能:數(shù)據(jù)庫的錄入;圖書檢索;用戶信息查詢;圖書信息查詢;論壇和bbs互動(dòng);網(wǎng)上購書;
安全與保密要求 :書店中所有的圖書能夠供用戶隨時(shí)查閱;用戶的個(gè)人信息可以由用戶自己修改,添加;書店圖書的信息只能由書店管理人員添加,修改;所有注冊(cè)用戶信息只能由書店管理人員查詢??尚行苑治?/p>
技術(shù)可行性分析 對(duì)系統(tǒng)的簡要描述
隨著計(jì)算機(jī)、網(wǎng)絡(luò)通訊和信息技術(shù),特別是Java技術(shù)的發(fā)展。電子商務(wù)在國際上得到廣泛的應(yīng)用,取得了巨大的成功。我國也不例外,特別是各大電子商務(wù)網(wǎng)站從無到有,得到很大的發(fā)展,并取得成功。為了適應(yīng)新環(huán)境下的新的銷售模式和顧客銷售方式的改變,開發(fā)的這個(gè)網(wǎng)上書店電子商務(wù)網(wǎng)站是基于Internet/Intranet 及Web技術(shù),建立以Browser/Server 為結(jié)構(gòu)模式、以數(shù)據(jù)庫為后臺(tái)核心應(yīng)用、以服務(wù),銷售為目的信息平臺(tái)。
功能 :對(duì)書店的圖書信息和用戶(書店工作人員,網(wǎng)站注冊(cè)用戶即潛在購書者)信息的進(jìn)行有效的管理;對(duì)圖書的進(jìn)存銷等環(huán)節(jié)進(jìn)行信息化管理;實(shí)現(xiàn)讀者網(wǎng)上瀏覽圖書,網(wǎng)上購書的可能;通過論壇同讀者進(jìn)行有效的溝通;通 過聊天室實(shí)現(xiàn)作者和讀者的實(shí)時(shí)交流;處理讀者網(wǎng)上的投訴和建議。
性能:數(shù)據(jù)庫的錄入;圖書檢索;用戶信息查詢;圖書信息查詢;論壇和bbs互動(dòng);網(wǎng)上購書;
安全與保密要求 :書店中所有的圖書能夠供用戶隨時(shí)查閱;用戶的個(gè)人信息可以由用戶自己修改,添加;書店圖書的信息只能由書店管理人員添加,修改;所有注冊(cè)用戶信息只能由書店管理人員查詢。
運(yùn)行環(huán)境 服務(wù)器端 :
操作系統(tǒng) :WINDOWS,LINUX/UNIX及任何能運(yùn)行Java虛擬機(jī)的平臺(tái);
Java Runtime Environment :version5.0以上。
Web Server:Tomcat 5.0以上。
客戶端操作系統(tǒng) :任何pc平臺(tái);
瀏覽器 :Internet Explorer,Netscape Navigator。
目標(biāo)
本系統(tǒng)希望通過構(gòu)建一個(gè)J2EE架構(gòu)的電子商務(wù)網(wǎng)站,利用日益繁榮的互聯(lián)網(wǎng),為傳統(tǒng)的書店打造一個(gè)新的銷售平臺(tái)。本系統(tǒng)希望通過電子信息化的手段對(duì)書店的進(jìn)存銷等環(huán)節(jié)進(jìn)行管理,以達(dá)到人力與設(shè)備費(fèi)用的減少,服務(wù)能力的提高,管理信息服務(wù)的改進(jìn),工作人員利用率的提高等目標(biāo)。
3系統(tǒng)分析相關(guān)模型圖
3.1用例圖
用例圖(管理員)
用例圖(游客,會(huì)員)
用例圖(員工)
用例描述
用例名:登錄(權(quán)限管理——管理員、工作人員、會(huì)員、游客)角色:管理員、工作人員、會(huì)員、游客 目標(biāo):實(shí)現(xiàn)管理權(quán)限
前置條件:對(duì)具有不同權(quán)限的用戶分配一定的權(quán)限管理 用例描述:用戶登陸并進(jìn)行相應(yīng)的權(quán)限操作
用例名:信息管理(錄入、刪除、瀏覽、查詢、修改)——管理員
(個(gè)人信息維護(hù))——工作人員、管理員 角色:管理員,工作人員
目標(biāo):對(duì)員工信息進(jìn)行錄入、刪除、瀏覽、查詢、修改等基本操作 前置條件:對(duì)具有不同權(quán)限的用戶分配一定的權(quán)限管理 用例描述:管理員和工作人員進(jìn)行相應(yīng)的權(quán)限操作
用例名:商品信息管理(銷售及商品信息維護(hù))——管理員
(訂單)——工作人員
(瀏覽、查詢)——會(huì)員、游客 角色:管理員、工作人員、會(huì)員、游客
目標(biāo):對(duì)商品銷售、下訂單及商品信息和庫存進(jìn)行錄入、刪除、瀏覽、查詢、修改等基本操作
前置條件:對(duì)具有不同權(quán)限的用戶分配一定的權(quán)限管理 用例描述:用戶對(duì)圖書信息進(jìn)行和相應(yīng)的權(quán)限操作
用例名:查詢(管理員對(duì)商品銷售及相關(guān)信息的情況查詢、員工對(duì)訂單的庫存信息的查詢、會(huì)員和游客對(duì)圖書的相關(guān)信息的查詢)角色:管理員、工作人員、會(huì)員、游客
目標(biāo):管理員對(duì)商品銷售及相關(guān)信息的情況查詢、員工對(duì)訂單的庫存信息的查詢、會(huì)員和游客
對(duì)圖書的相關(guān)信息的查詢
前置條件:1.對(duì)具有不同權(quán)限的用戶分配一定的權(quán)限管理 2.查詢信息必須是確實(shí)存在的 用例描述:用戶在相應(yīng)的權(quán)限操作下對(duì)信息進(jìn)行查詢
用例名:訂單信息管理(訂單信息管理)——管理員
(訂單信息處理——接收訂單并發(fā)貨、拒絕訂單、查詢庫存)——工作人員
(訂單信息處理——訂購貨品、訂單增加、訂單刪除、訂單信息查詢)——會(huì)員
角色:管理員、工作人員、會(huì)員
目標(biāo):對(duì)訂單信息進(jìn)行維護(hù)和處理(包括:接收訂單并發(fā)貨、拒絕訂單、查詢庫存、訂購貨品、訂單增加、訂單刪除、訂單信息查詢)前置條件:1.對(duì)具有不同權(quán)限的用戶分配一定的權(quán)限管理 2.游客是不能下訂單的
用例描述:用戶在相應(yīng)的權(quán)限操作下對(duì)訂單信息進(jìn)行管理或處理
用例名:維護(hù)(商品信息維護(hù)、員工信息維護(hù)、報(bào)表維護(hù))——管理員
(個(gè)人信息維護(hù)、訂單維護(hù))——會(huì)員 角色:管理員、會(huì)員
目標(biāo):管理員對(duì)商品信息維護(hù)、員工信息和報(bào)表進(jìn)行維護(hù)操作,而會(huì)員對(duì)個(gè)人信息維護(hù)和訂單信息維護(hù)
前置條件:1.對(duì)具有不同權(quán)限的用戶分配一定的權(quán)限管理 2.維護(hù)信息必須是確實(shí)存在的
用例描述:用戶在相應(yīng)的權(quán)限操作下對(duì)信息進(jìn)行查詢
3.2活動(dòng)圖
工作人員工作活動(dòng)圖
3.3域模型類圖
系統(tǒng)域模型類圖
4系統(tǒng)設(shè)計(jì)相關(guān)的模型圖
4.1設(shè)計(jì)類圖
系統(tǒng)設(shè)計(jì)類圖
類圖說明:
1、Tourist類是游客的類,其屬性只有name,有注冊(cè)(enroll)、圖書查詢(book_search),l瀏覽(browsing)三個(gè)操作。
2、Customers類是會(huì)員的類,其屬性有用戶名(username)、密碼(password),其中操作有個(gè)人信息維護(hù)(person_search)、書籍訂單(book_order)、訂單維護(hù)(list_service)、圖書查詢(book_search),訂單狀態(tài)查詢(list_search)。
3、Orders類是訂單類,包裹訂單名(order_id)、用戶名(user_id)、圖書名(good_id)、訂貨日期(data_id)等屬性。其中操作有增加(add)、刪除(delete)、訂單查詢(list_search)。
4、Staff類是工作人員的類,其屬性有員工姓名(staff_name)、員工數(shù)量(staff_num)、其操作有缺貨拒絕(good_refuse)、圖書入庫(good_in)、庫存查詢(stock_search)。
5、Manager類是管理員的類,其屬性只有姓名(name)。其中操作有圖書信息維護(hù)(good_service)、員工信息維護(hù)(staff_service)、銷售查詢(sale_search)、報(bào)表維修(list_service)。
6、Book類是圖書類,其屬性有圖書編號(hào)(book_id),書名(book_name),書的價(jià)格(book_price),書的摘要(book_digest)。其操作有,圖書查詢(book_search)。
協(xié)作圖和序列圖都可以表示各對(duì)象間的交互關(guān)系,但它們的側(cè)重點(diǎn)不同。序列圖用消息的幾何排列關(guān)系來表達(dá)消息的時(shí)間順序,各角色之間的相關(guān)關(guān)系是隱含的。協(xié)作圖用各個(gè)角色的幾何排列圖形來表示角色之間的關(guān)系,并用消息來說明這些關(guān)系。在實(shí)際中可以根據(jù)需要選用這兩種圖。
一個(gè)協(xié)作圖描述了系統(tǒng)中為實(shí)現(xiàn)某些服務(wù)所涉及的對(duì)象扮演的角色及其相互之間的交互。協(xié)作圖著重于有協(xié)作關(guān)系的對(duì)象之間的交互和鏈接(指對(duì)象實(shí)例之間的物理或概念上的鏈接,一個(gè)鏈接是某關(guān)聯(lián)的一個(gè)實(shí)例)。它可用于圖示系統(tǒng)中的操作執(zhí)行、用例執(zhí)行或一個(gè)簡單的交互場(chǎng)景。協(xié)作圖描述了對(duì)象及其之間的鏈接,還描述了鏈接的對(duì)象之間如何發(fā)送消息
4.2協(xié)作圖
會(huì)員網(wǎng)上訂書協(xié)作圖
4.3系統(tǒng)順序圖
會(huì)員訂書順序圖
注冊(cè)順序圖
4.4包圖
系統(tǒng)包圖
通過這次實(shí)踐,我學(xué)到了很多東西,用例圖描述了希望用戶如何使用一個(gè)系統(tǒng)。用例圖顯示了誰將是相關(guān)用戶、用戶希望系統(tǒng)提供什么服務(wù),以及用戶需要為系統(tǒng)提供的服務(wù),使系統(tǒng)的用戶更容易的理解這些元素的用途。在創(chuàng)建之前確定參與者是有:管理員、工作人員、會(huì)員、游客。
通過分析用例和問題域,得到相關(guān)的類。類圖描述了類、接口、協(xié)作以及它們之間關(guān)系的圖。用來顯示系統(tǒng)中各個(gè)類的靜態(tài)結(jié)構(gòu),描述了類之間的聯(lián)系,還包過了類的屬性和操作。
在描述對(duì)象之間的交互時(shí),用到了時(shí)序圖,以時(shí)間為序,來描述對(duì)象及對(duì)象之間傳遞消息的時(shí)間順序,表示用例之間行為順序,當(dāng)執(zhí)行一個(gè)用例行為時(shí),時(shí)序圖中每條消息對(duì)應(yīng)了一個(gè)類操作中引起轉(zhuǎn)換的觸發(fā)事件。
系統(tǒng)權(quán)限及功能:管理員可以維護(hù)客戶注冊(cè)信息、維護(hù)圖書信息、處理訂單信息、報(bào)表維護(hù)、商品銷售。工作人員在相對(duì)權(quán)限下可以對(duì)圖書(或商品)信息進(jìn)行錄入、刪除、瀏覽、查詢、修改(商品銷售)、維護(hù)個(gè)人信息、維護(hù)訂單信息(接收訂單并發(fā)貨、拒絕訂單、查詢庫存)。游客身份只能進(jìn)行基本的信息瀏覽和查詢。但是游客可以在線注冊(cè)為會(huì)員,成為會(huì)員后在相對(duì)的權(quán)限 下對(duì)圖書信息進(jìn)行圖書信息進(jìn)行查詢、瀏覽,并且可以維護(hù)個(gè)人信息,維護(hù)訂單信息(訂單狀態(tài)查詢、訂單刪除或增加)。
參考資料
1.《系統(tǒng)分析設(shè)計(jì)》
(美)John W.Satzinger 2.《軟件工程(第二版)》
張海潘 3.《面向?qū)ο笤O(shè)計(jì)UML實(shí)踐》(英)Mark Priestley