第一篇:網(wǎng)上書店(電子商務網(wǎng)站)項目的可行性研究
引言
1.1 編寫目的:本文檔將描述對網(wǎng)上書店(電子商務網(wǎng)站)的可行性研究。
1.2 項目背景:
本作為《軟件工程》課程的實習提出,希望通過《網(wǎng)上書店》電子商務網(wǎng)站的設計開發(fā),了解軟件文檔的相關標準和編寫原則,訓練并掌握軟件各類文檔寫作的技巧;另一方面,提高使用JSP開發(fā)J2EE架構的電子商務網(wǎng)站(B/S結構)的能力。
B/S結構的特點:
幾乎沒有限制的客戶端訪問和極其簡單化的應用程序部署和管理是B/S模型的優(yōu)勢所在。它和C/S模型比較優(yōu)點極為突出。
兩層技術模型(Two-Tier Architecture)是指客戶機直接與服務器交流,沒有其他服務介入的技術模型。對用戶量在12—100的局域網(wǎng)環(huán)境中,兩層模型的確是個不錯的方案。由于該模型中,所有的用戶連接都是被保持的,也就是說即使在空閑狀態(tài),連接依然存在。所以,用戶的并發(fā)請求數(shù)量有限的。為了解決這個限制,使得成千上萬的用戶可以被無顧慮地添加,我們最好選用三層模型。
B/S結構,即Browser/Server(瀏覽器/服務器)結構,是隨著Internet的興起,對C/S結構的一種變化或者說是改進的結構。用戶界面完全通過瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn),形成三層結構,是一種全新的軟件系統(tǒng)構造技術。B/S模型結構圖如下所示:(略)
從上圖可見 這種結構的一個重要的特點是,用戶可以完全不需要安裝客戶端軟件,當然也不需要擔心任何軟件升級和不兼容等任何客戶端所遇到的問題。
相比之下,B/S模型的優(yōu)點顯而易見,更適合這個網(wǎng)站的構建,有利于網(wǎng)站的維護和擴充?!?所建議開發(fā)的名稱 :
網(wǎng)上書店。
● 所建議開發(fā)的任務提出者:
華中農(nóng)業(yè)大學理學院教師趙良。
● 所建議開發(fā)項目的開發(fā)者:
華中農(nóng)業(yè)大學經(jīng)管土管學院信息管理與信息系統(tǒng)專業(yè)2003級詹坤,李齊虎,胡彬,劉愛民,姚靜怡,陳溶萍。
● 所建議開發(fā)項目的開發(fā)平臺:
WINDOWS XP SP2。
● 所建議開發(fā)的測試平臺:
WINDOWS XP SP2。
● 所建議開發(fā)的使用平臺:
WINDOWS XP SP2。
● 所建議開發(fā)的開發(fā)軟件:
Borland JBuilder2005 企業(yè)版,Tomcat5.0,SQL Server2000標準版,JDK1.5。
● 所建議開發(fā)項目的建模工具:IBM rational rose 2003 企業(yè)版。
1.3 定義:
電子商務
JSP,J2EE,JINI,1.4 參考資料:
《軟件工程》齊治昌 譚慶平寧洪 高等教育出版社
《實用軟件工程》鄭人杰 殷人昆 陶永雷 清華大學出版社
《軟件工程方法與實踐》胥光輝 金鳳林 丁力 機械工業(yè)出版社
《軟件設計文檔國家標準》GB8567-88可行性研究的前提
2.1 要求:
● 功能 :對書店的圖書信息和用戶(書店工作人員,網(wǎng)站注冊用戶即潛在購書者)信息的進行有效的管理;對圖書的進存銷等環(huán)節(jié)進行信息化管理;實現(xiàn)讀者網(wǎng)上瀏覽圖書,網(wǎng)上購書的可能;通過論壇同讀者進行有效的溝通;通過聊天室實現(xiàn)作者和讀者的實時交流;處理讀者網(wǎng)上的投訴和建議。
● 性能:數(shù)據(jù)庫的錄入;圖書檢索;用戶信息查詢;圖書信息查詢;論壇和bbs互動;網(wǎng)上購書;
● 安全與保密要求 :書店中所有的圖書能夠供用戶隨時查閱;用戶的個人信息可以由用戶自己修改,添加;書店圖書的信息只能由書店管理人員添加,修改;所有注冊用戶信息只能由書店管理人員查詢。
● 運行環(huán)境 :
服務器端 :
操作系統(tǒng) :WINDOWS,LINUX/UNIX及任何能運行Java虛擬機的平臺;
Java Runtime Environment :version5.0以上。
Web Server:Tomcat 5.0以上。
客戶端:
操作系統(tǒng) :任何pc平臺;
瀏覽器 :Internet Explorer,Netscape Navigator。
● 完成日期 :2005年12月。
2.2 目標:
本系統(tǒng)希望通過構建一個J2EE架構的電子商務網(wǎng)站,利用日益繁榮的互聯(lián)網(wǎng),為傳統(tǒng)的書店打造一個新的銷售平臺。本系統(tǒng)希望通過電子信息化的手段對書店的進存銷等環(huán)節(jié)進行管理,以達到人力與設備費用的減少,服務能力的提高,管理信息服務的改進,工作人員利用率的提高等目標。
2.3 條件、假定和限制:
● 建議開發(fā)軟件運行的最短壽命: 四個月
● 進行顯然方案選擇比較的期限 :暫時不考慮
● 經(jīng)費來源和使用限制 :暫時不考慮
● 法律和政策方面的限制 :暫時不考慮
● 硬件、軟件、運行環(huán)境和開發(fā)環(huán)境的條件和限制 :在Windows XP SP2下使用● 建議開發(fā)軟件投入使用的最遲時間 :四個月
2.4 可行性研究方法
2.5 決定可行性的主要因素:技術因素、硬件因素、軟件因素、經(jīng)濟因素、團隊合作精神等。對現(xiàn)有系統(tǒng)的分析(缺乏原型系統(tǒng))
3.1 處理流程和數(shù)據(jù)流程 :暫時不考慮
3.2 工作負荷:暫時不考慮
3.3 費用支出:如人力、設備、空間、支持性服務、材料等項開支:暫時不考慮
3.4 人員:列出所需人員的專業(yè)類別和數(shù)量:暫時不考慮
3.5 設備:暫時不考慮
3.6 局限性:暫時不考慮所建議可行性分析
4.1 對系統(tǒng)的簡要描述
隨著計算機、網(wǎng)絡通訊和信息技術,特別是Java技術的發(fā)展。電子商務在國際上得到廣泛的應用,取得了巨大的成功。我國也不例外,特別是各大電子商務網(wǎng)站從無到有,得到很大的發(fā)展,并取得成功。為了適應新環(huán)境下的新的銷售模式和顧客銷售方式的改變,我們小組開發(fā)這個網(wǎng)上書店電子商務網(wǎng)站。它是基于Internet/Intranet 及Web技術,建立以Browser/Server 為結構模式、以數(shù)據(jù)庫為后臺核心應用、以服務,銷售為目的信息平臺。
4.2 與現(xiàn)有系統(tǒng)比較的優(yōu)越性
因為缺乏現(xiàn)有系統(tǒng),暫時無法比較
4.3 采用建議系統(tǒng)可能帶來的影響
● 對設備的影響
● 對現(xiàn)有軟件的影響 :因為采用了Jave技術開發(fā),所以系統(tǒng)運行需要安裝有Java Runtime Environment(Java運行環(huán)境),Tomcat(JSP web Server)。
● 對用戶的影響 :用戶需要有必須的網(wǎng)絡設備,如網(wǎng)卡等,以便接入互聯(lián)網(wǎng)。● 對系統(tǒng)運行的影響:
系統(tǒng)調(diào)試期半月,在開始必須對初始數(shù)據(jù)進行錄入,包括所有的書目信息等,這個期間還需要接受新用戶的注冊。在半月的調(diào)試期結束,系統(tǒng)通過檢驗后,將要優(yōu)化該系統(tǒng)的性能,把一些發(fā)揮不良的組件重新開發(fā),或者加入合適的補丁文件。系統(tǒng)穩(wěn)定后的主要工作是加強該系統(tǒng)安全性。
該系統(tǒng)需要服務器2臺(一臺提供服務,一臺備份),開發(fā)階段需要兩臺微機作為模擬網(wǎng)絡環(huán)境來開發(fā)。具體配置:
服務器
IBM xSeries 236 8841-IVC
Intel Xeon;3000MHz;機架式服務器;1024MB;73GB;N/A熱插撥硬盤;SCSI工作站
IBM IntelliStation M Pro 6220-i20
Intel Pentium 4;2800MHz;1個CPU;256MB;80GB
網(wǎng)絡設備
Hub或交換機,網(wǎng)線若干,10M光纖
具體的網(wǎng)絡布線按用戶要求配置。
● 對開發(fā)環(huán)境的影響:開發(fā)需要購買新的軟件,搭建新的開發(fā)環(huán)境。
● 對經(jīng)費支出的影響:開發(fā)需要購買軟件。
4.4 技術可行性評價:包括
● 在限制條件下,功能目的是否達到 :
● 利用現(xiàn)有技術,功能目的是否達到 :
Web的迅猛發(fā)展正推動Internet上信息服務類的進步。004km.cn,而JSP技術提供的組件都是基于Javabean技術或JSP標簽庫。
3)JSP標簽可擴充性。JSP技術能夠使用開發(fā)者擴展JSP標簽,JSP開發(fā)者能定制標簽庫,減少對腳本語言的依賴
4)生成可重用的組件。JSP基于組件的方法加速了總體開發(fā)過程。JSP組件(Javabean,或定制的JSP標簽)是跨平臺可重用的。Javabean組件可以訪問數(shù)據(jù)庫,并能以分布式系統(tǒng)模式工作于UNIX和WINDOWS平臺。
5)易于維護性?;贘SP的應用程序比基于ASP的應用程序易于維護和管理。JSP突出的組件技術使修改內(nèi)容而不影響邏輯或修改邏輯而不影響內(nèi)容變得很容易實現(xiàn)。如上的比較不難看出,JSP技術編寫的程序運用要更加靈活,可擴展性更強,在現(xiàn)有技術條件下,能夠完成功能目的。
● 對開發(fā)人員數(shù)量和質(zhì)量的要求,并說明能否滿足 :
詹坤有ASP網(wǎng)站和Java 程序的開發(fā)經(jīng)驗,目前時間充足,可以完成開發(fā)任務。胡彬可以參與系統(tǒng)的數(shù)據(jù)庫設計與開發(fā)。
李齊虎,陳溶萍,劉愛民,姚靜怡有深厚的文字功底,可以參與用戶文檔的制作、內(nèi)部文檔整理、后期測試等任務。
姚靜怡有美術特長,可以參與網(wǎng)站的美工設計。
所有人員均可立即投入開發(fā)工作。
● 在規(guī)定的期限內(nèi),開發(fā)能否完成 :
根據(jù)本組的情況分析,在規(guī)定的期限內(nèi),開發(fā)可以完成。所建議系統(tǒng)經(jīng)濟可行性分析
因為該項目屬于課程實習項目,暫時不考慮。社會因素可行性分析
6.1 法律方面的可行性:
政府,無論是中央政府還是地方政府,一般都用法律規(guī)定組織可以做什么,不可以做什么。例如:《合同法》,《消費者權益保護法》,《專利法》,《反不正當競爭法》等對所有企業(yè)的行為都做了限制。我們公司就設有自己的法律顧問,這是因為法規(guī)的影響不僅僅限于時間和金錢,它還縮小了管理者可斟酌決定的范圍,限制了可行方案的選擇。
根據(jù)《中華人民共和國計算機軟件保護條例》(1991年6月4日中華人民共和國國務院令第84號發(fā)布)(修改后的新條例2002年1月1日起施行)第九條可知:軟件著作權人享有下列各項權利:
(一)發(fā)表權, 即決定軟件是否公之于眾的權利。
(二)開發(fā)者身份權, 即表明開發(fā)者身份的權利以及在其軟件上署名的權利;
(三)使用權, 即在不損害社會公共利益的前提下, 以復制、展示、發(fā)行、修改、翻譯、注釋等方式使用其軟件的權利;
(四)使用許可權和獲得報酬權, 即許可他人以本條第(三)項中規(guī)定的部分或者全部方式使用其軟件的權利和由此而獲得報酬的權利;
(五)轉讓權, 即向他人轉讓由本條第(三)項和第(四)項規(guī)定的使用權和使用許可權的權利。第十二條受他人委托開發(fā)的軟件, 其著作權的歸屬由委托者與受委托者簽訂書面協(xié)議約定, 如無書面協(xié)議或者在協(xié)議中未作明確約定, 其著作權屬于受委托者。
第十八條在軟件著作權的保護期內(nèi), 軟件的著作權人或者其受讓者有權許可他人行使本條例第九條第(三)項規(guī)定的使用權。著作權人或者其受讓者許可他人行使使用權時, 可以按協(xié)議收取費用。
另外,軟件權利的使用許可應當根據(jù)我國有關法規(guī)以簽訂、執(zhí)行書面合同的方式進行。被許可人應當在合同規(guī)定的方式、條件、范圍和時間內(nèi)行使使用權。合同中未明確規(guī)定為獨占許可的, 被許可的軟件權利應當視為非獨占的。
第二十二條因課堂教學、科學研究、國家機關執(zhí)行公務等非商業(yè)性目的的需要對軟件進行少量的復制, 可以不經(jīng)軟件著作權人或者其合法受讓者的同意, 不向其支付報酬。但使用時應當說明該軟件的名稱、開發(fā)者, 并且不得侵犯著作權人或者其合法受讓者依本條例所享有的其他各項權利。該復制品使用完畢后應當妥善保管、收回或者銷毀, 不得用于其他目的或者向他人提供。
第三十條除本條例第二十一條及第二十二條規(guī)定的情況外, 有下列侵權利為的, 應當根據(jù)情況, 承擔停止侵害、消除影響、公開賠禮道歉、賠償損失等民事責任, 并可以由國家軟件著作權行政管理部門給予沒收非法所得、罰款等行政處罰:
(一)未經(jīng)軟件著作權人同意發(fā)表其軟件作品;
(二)將他人開發(fā)的軟件當作自己的作品發(fā)表;
(三)未經(jīng)合作者同意, 將與他人合作開發(fā)的軟件當作自己單獨完成的作品發(fā)表;
(四)在他人開發(fā)的軟件上署名或者涂改他人開發(fā)的軟件上的署名;
(五)未經(jīng)軟件著作權人或者其合法受讓者的同意修改、翻譯、注釋其軟件作品;
(六)未經(jīng)軟件著作權人或者其合法受讓者的同意復制或者部分復制其軟件作品;
(七)未經(jīng)軟件著作權人或者其合法受讓者的同意向公眾發(fā)行、展示其軟件的復制品;
(八)未經(jīng)軟件著作權人或者其合法受讓者的同意向任何第三方辦理其軟件的許可使用或者轉讓事宜。
第三十三條當事人不履行合同義務或者履行合法義務不符合約定條件的,應當依照民法通則有關規(guī)定承擔民事責任。
6.2 用戶使用可行性:
該系統(tǒng)是一個電子商務網(wǎng)站,所以操作簡易,用戶購書不需要了解整個書店的工作流程,只需要按照提示一步步操作即可完成購書等其他活動。其他可供選擇的方案
因為這是個課程實習項目,所以暫時不予考慮。結論意見
綜上所述,該項目在技術、經(jīng)濟和社會效益上是完全可行的,可以進行開發(fā)。
第二篇:電子商務項目可行性研究
電子商務項目可行性研究
1.可行性研究的概念
2.可行性研究的目的及依據(jù)
3.可行性研究的類型
4.可行性研究的內(nèi)容
5.可行性研究的步驟
6.可行性研究和評價的方法
7.編制項目可行性研究報告
電子商務項目可行性研究
1可行性研究的概念
2.可行性研究的目的及依據(jù)
3.可行性研究的類型 1.機會研究2.初步可行性研究 3.正式可行性研究
4.可行性研究的內(nèi)容與方法 1.必要性研究 2.技術可行性研究3.經(jīng)濟可行性研究 4.投資效益分析方法 5.不確定性分析
5.可行性研究的步驟
6.編制項目可行性研究報告 1.可行性研究報告的內(nèi)容2.可行性研究報告的內(nèi)容要求 3.可行性研究報告編制案例
電子商務項目可行性研究
1.可行性研究概述1.1可行性研究的含義 1.2可行性研究的目的1.3任務1.4可行性研究的類型1.5可行性研究的依據(jù)1.6可行性研究的步驟
2.3.4.電子商務項目技術可行性分析2.1常用的電子商務技術2.2技術可行性分析的內(nèi)容 電子商務項目經(jīng)濟可行性分析3.1項目的財務評價方法3.2經(jīng)濟可行性分析的內(nèi)容 電子商務項目實施可行性分析4.1內(nèi)部管理可行性4.2外部環(huán)境可行性
第三篇:網(wǎng)上書店項目總結報告
數(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的連接字符串
//下面是臨時調(diào)試使用的方法,直接設置聯(lián)接字符串。
string connStr = “server=.;database=bookstore;integrated security=SSPI”;
#region 獲取查詢結果,DataSet GetSqlDataSet(string sqlString)///
/// public DataSet GetSqlDataSet(string sqlString){ //定義返回變量
//實例化數(shù)據(jù)集DataSet,對象名為ds DataSet ds = new DataSet();try { //實例化連接對象SqlConnection,對象名為sqlConn SqlConnection sqlConn = new SqlConnection(connStr);
//用查詢的SQL(sqlString)語句和連接對象sqlConn實例化數(shù)據(jù)接口SqlDataAdapter //對象名為da SqlDataAdapter da = new SqlDataAdapter(sqlString, sqlConn);
//da.Fill(ds)是數(shù)據(jù)接口(SqlDataAdapter)提供的方法
//具體作用為:
//打開與數(shù)據(jù)庫的連接
//將查詢的SQL語句發(fā)送到數(shù)據(jù)庫服務器 //接受返回的查詢結果
//并將結果填充到數(shù)據(jù)集對象ds中
//關閉與數(shù)據(jù)庫的連接 da.Fill(ds);} catch(Exception e){ //拋出捕捉到的異常
throw(e);} //返回查詢到的結果
return ds;} #endregion
#region 執(zhí)行增、刪或改的SQL語句 int ExecuteSql(string sqlString)///
/// 返回值為受影響的行數(shù)(記錄數(shù))
/// sqlString 參數(shù)為增、刪或改的SQL語句
/// public int ExecuteSql(string sqlString){ int i = 0;try { ////實例化連接對象SqlConnection,對象名為sqlConn SqlConnection sqlConn = new SqlConnection(connStr);
//用查詢的SQL(sqlString)語句和連接對象sqlConn實例化SqlCommand //對象名為sqlCmd SqlCommand sqlCmd = new SqlCommand(sqlString, sqlConn);
//打開與數(shù)據(jù)庫的連接 sqlConn.Open();
//將增、刪或改的SQL語句發(fā)送到數(shù)據(jù)庫服務器
//并接受返回的結果,返回的結果為受影響的行數(shù)(記錄數(shù))i = sqlCmd.ExecuteNonQuery();
//關閉與數(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)設計
《管理信息系統(tǒng)》課程報告
課題名稱:網(wǎng)上書店電子商務系統(tǒng)設計
第一部分,可行性分析
1、引言
1.1 項目背景與問題提出
隨著信息技術在國際貿(mào)易和商業(yè)領域的廣泛應用,利用計算機技術、網(wǎng)絡通信技術和Internet來實現(xiàn)商務活動的國際化、信息化和無紙化,已成為各國商務發(fā)展的—大趨勢。電子商務(Electronic Commerce)正是為了適應這種以全球為市場的變化而出現(xiàn)和發(fā)展起來的。它可以使銷售商與供應商更緊密地聯(lián)系起來,以更快地滿足客戶的需求,也可以讓商家在全球范圍內(nèi)選擇最佳供應商,在全球市場上銷售圖書。電子商務基于網(wǎng)絡技術.網(wǎng)絡技術提供了實現(xiàn)電子商務的技術平臺,而電子商務是網(wǎng)絡技術的最新應用和最終目標。
從形式上看,電子商務利用計算機網(wǎng)絡檢索和獲取信息,對個人和公司提供決策服務,解決了組織、商家和客戶的需求,減少了用于改善貨物和服務質(zhì)量的投入,加快了商品交易的速度。Internet正在將不同形式的電子商務結合起來,產(chǎn)生出許多創(chuàng)新的、混合的電子商務形式。
從電子商務的目標上看,電子商務能夠擴大顧客群,獲取更高收益,開拓目標市場,節(jié)省費用和開支,加速商品流通,加快顧客信息反饋,并提高服務質(zhì)量。在過去的幾年間,隨著Internet的迅速發(fā)展,通過網(wǎng)絡使在家庭辦公的個人用戶也積極投入到了電子商務中。由于激烈的市場競爭和對成本的關注,大量企業(yè)正在改進原有的電子商務系統(tǒng)來支持新興的網(wǎng)絡經(jīng)濟。
1.2 研究意義
網(wǎng)上書店系統(tǒng)作為一個小型電子商務交易平臺,簡單清晰的將電子商務的開發(fā)過程和基本模式呈現(xiàn)出來,具有啟發(fā)和向?qū)ё饔谩?/p>
根據(jù)網(wǎng)上書店的基本需求,本系統(tǒng)需要完成的具體任務有:
? 書圖查詢: 當客戶進入網(wǎng)上書店時,應該在主頁面中分類顯示最新的書目信息,以供客戶選擇所需圖書,同時也應該提供按照圖書名稱,或者作者信息快速查詢所需書目信息的功能。
? 購物車管理:當客戶選擇購買某圖書圖書時,應該能夠?qū)獔D書信息,如:價格、數(shù)量記錄到對應的購物車中,并允許客戶返回書目查詢頁面,選擇其他商品,并添加到購物車中,當對應的購物訂單生成后,應該能夠自動清除以生成訂單的購物車中的信息。
? 訂單處理:對應客戶購買圖書商品信息的需求,在確定了所購圖書商品的價格、數(shù)量等信息后,提示用戶選擇對應的送貨方式及付款方式,最終生成對應的訂單記錄,以便于網(wǎng)站配貨人員依據(jù)訂單信息進行后續(xù)的出貨、送貨的處理。
? 會員注冊:為了能夠?qū)崿F(xiàn)圖書商品的購買,需要管理客戶相關的聯(lián)系方式、送貨地點等相關的信息。
1.3 建設目標
主要是實現(xiàn)網(wǎng)上選書、購書、產(chǎn)生訂單等功能的系統(tǒng)。具備一個典型的電子書店一般需要實現(xiàn)的服務。
1.4 論文內(nèi)容
本論文詳細介紹了整個網(wǎng)上書店系統(tǒng)的數(shù)據(jù)模型設計以及數(shù)據(jù)庫設計,在設計中把本系統(tǒng)的數(shù)據(jù)庫根據(jù)其功能劃分4個基本的模塊,即圖書信息的動態(tài)提示、購物車管理、客戶信息注冊登錄管理、訂單處理模塊。
二、相關技術
2.1 WEB SERVICE簡介
Web service 是自包含的、模塊化的應用程序,它可以在網(wǎng)絡中被描述、發(fā)布、查找以及調(diào)用。
Web service 是基于網(wǎng)絡的、分布式的模塊化組件,它執(zhí)行特定的任務,遵守具體的技術規(guī)范,這些規(guī)范使得Web service 能與其他兼容的組件進行交互操作
Web service 是一種可編程的應用程序,它使用一系列標準協(xié)議來對各種請求作出響應。作為傳統(tǒng)計算機技術同互聯(lián)網(wǎng)應用與創(chuàng)意的結晶,web service 是使用標準技術在互聯(lián)網(wǎng)網(wǎng)上運行的商務流程。
2.2 JAVA語言在網(wǎng)絡上的應用
Java是一種簡單易用、完全面向?qū)ο?、具有平臺無關性且安全可靠的主要面向Internet的開發(fā)工具。自從1995年正式問世以來,Java的快速發(fā)展已經(jīng)讓整個Web世界發(fā)生了翻天覆地的變化。在早期,Java比較多的用在瀏覽器上,插入到網(wǎng)頁中(即是Java Applet程序),成為最靈活、最強大的網(wǎng)頁多媒體的載體,但由于Java虛擬機相對于個人電腦而言,有占用資源大,安全性相對較差等缺點,Applet逐漸的被后起之秀Flash所替代,但隨著Java Servlet的推出,Java在電子商務方面開始嶄露頭角,最新的JSP(Java Server Page)技術的推出,更是讓Java成為基于Web的應用程序的首選開發(fā)工具,目前的Java技術已成為所有大型電子商務項目的必然選擇
Java程序可以獲取網(wǎng)絡上結點的圖象、聲音、HTML文檔及文本等資源,并可以對獲得的資源進行處理。例如Java程序可以每隔一定時間讀取某結點提供的最新數(shù)據(jù),并以圖表的形式顯示出來。在編程處理上,一般先生成一個URL類型的對象,然后用 Java中相應的方法(method)獲取該對象所代表的資源。
2.3 JSP的基礎——Servlet 技術
Java Servlet是JSP技術的基礎,JSP本身就是預先被編譯成Servlet,然后再運行的,而且
大型的Web應用程序的開發(fā)需要Java Servlet和JSP配合才能完成,Servlet這個名稱大概源于Applet,現(xiàn)在國內(nèi)的翻譯方式很多,本文為了避免誤會,本文直接采用Servlet這個名稱而不做任何翻譯,讀者如果愿意,可以稱之為“小服務程序”。Servlet其實和傳統(tǒng)的CGI程序和ISAPI、NSAPI等Web程序開發(fā)工具的作用是相同的,在使用Java Servlet以后,用戶不必再使用效率低下的CGI方式,也不必使用只能在某個固定Web服務器平臺運行的API方式來動態(tài)生成Web頁面。許多Web服務器都支持Servlet,即使不直接支持Servlet的Web服務器也可以通過附加的應用服務器和模塊來支持Servlet。得益于Java的跨平臺的特性,Servlet也是平臺無關的,實際上,只要符合Java Servlet規(guī)范,Servlet是完全平臺無關且是Web服務器無關的。由于Java Servlet內(nèi)部是以線程方式提供服務,不必對于每個請求都啟動一個進程,并且利用多線程機制可以同時為多個請求服務,因此Java Servlet效率非常高。但Java Servlet也不是沒有缺點,和傳統(tǒng)的CGI、ISAPI、NSAPI方式相同,Java Servlet是利用輸出HTML語句來實現(xiàn)動態(tài)網(wǎng)頁的,如果用Java Servlet來開發(fā)整個網(wǎng)站,動態(tài)部分和靜態(tài)頁面的整合過程簡直就是一場噩夢。這就是為什么SUN還要推出Java Server Pages的原因。
2.4 Struts概述 —— 由來和發(fā)展
Struts 框架工具是 Apache 基金會 Jakarta 項目中推出的一個子項目。Struts 在英文中是支架、支撐的意思,這也體現(xiàn)出 Struts 在開發(fā) Web 應用程序過程所起到的重要作用,Struts 為 Web 應用提供了通用的框架,讓開發(fā)人員可以把主要精力集中在如何解決實際業(yè)務問題上,與此同時 Struts 框架也允許開發(fā)人員根據(jù)實際需要進行擴展和定制,從而可以更好的適應用戶的需求。采用 Struts 可以簡化遵循 MVC 設計模式的 Web 應用的開發(fā)工作,很好地實現(xiàn)代碼重用,使開發(fā)人員從一些繁瑣的工作中解脫出來,快速開發(fā)能夠充分發(fā)揮 JSP/Servlet 優(yōu)點、并具有強可擴展性的 Web 應用??傊?,Struts 的出現(xiàn)使得 Web 應用的開發(fā)過程大大簡化,從而能夠縮短開發(fā)周期、提高開發(fā)效率。Struts 架構一經(jīng)推出,即受到 Java 開發(fā)群體的廣泛重視,從 2004 年開始逐漸升溫,并日漸成為 Java 創(chuàng)建 Web 應用開發(fā)的最流行的框架工具。
2.5 SQL Server 2000 簡介
SQL Server 2000 是Microsoft 公司2000年推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng)的版本。它是一個杰出的數(shù)據(jù)庫平臺,可用于大型聯(lián)機事務處理、數(shù)據(jù)倉庫、以及電子商務等。其特點有如下幾點:
1.真正的客戶機/服務器體系結構。
2.圖形化用戶界面。
3.豐富的編程接口工具。
4.SQL Server與Windows NT完全集成。
5.具有很好的伸縮性。
6.對Web技術的支持。
6.SQL Server提供數(shù)據(jù)倉庫功能。
三、體系結構 —— 采用MVC構架
3.1 MVC簡介
M——模型 是應用程序的主體部分。模型表示業(yè)務數(shù)據(jù),或者業(yè)務邏輯.V——視圖 是應用程序中用戶界面相關的部分,是用戶看到并與之交互的界面。C——控制器 就是根據(jù)用戶的輸入,控制用戶界面顯示數(shù)據(jù)和更新對象狀態(tài)。
MVC是80年代Smalltalk-80出現(xiàn)的一種軟件設計模式,現(xiàn)在已經(jīng)被廣泛的使用。MVC 構架的出現(xiàn)不僅實現(xiàn)了功能模塊和顯示模塊的分離,同時它還提高了應用系統(tǒng)的可維護性、可擴展性、可移植性和組件的可復用性。
早期的程序中,如果不注意對數(shù)功能和顯示的解耦合,常常會導致程序的復雜及難以維護。很多VB, Delphi 等 RAD 程序都有這種問題。甚至現(xiàn)在的 C#,Java 有時候也會出現(xiàn)把業(yè)務邏輯寫在顯示模塊中的現(xiàn)象。
盡管MVC設計模式很早就提出,但在Web項目的開發(fā)中引入MVC卻是步履維艱。主要原因:一是在早期的Web項目的開發(fā)中,程序語言和HTML的分離一直難以實現(xiàn)。CGI程序以字符串輸出的形式動態(tài)地生成HTML內(nèi)容。后來隨著腳本語言的出現(xiàn),前面的方式又被倒了過來,改成將腳本語言書寫的程序嵌入在HTML內(nèi)容中。這兩種方式有一個相同的不足之處即它們總是無法將程序語言和HTML分離。二是腳本語言的功能相對較弱,缺乏支持MVC設計模式的一些必要的技術基礎。
3.2 Struts的工作流程
Struts提供了多種Action供選擇使用。普通的Action只能通過調(diào)用execute執(zhí)行一項任務,而DispatchAction可以根據(jù)配置參數(shù)執(zhí)行,而不是僅進入execute()函數(shù),這樣可以執(zhí)行多種任務。如insert,update等。LookupDispatchAction可以根據(jù)提交表單按鈕的名稱來執(zhí)行函數(shù)。
4、實現(xiàn)準備
4.1 邏輯層次
1)用戶服務層(User Services Tier),也稱為表現(xiàn)服務(Presebtation Services),是用戶與應用程序進行交互的端點。通常由WIN32或者基于瀏覽器的圖形用戶界面應用構成。在該層用戶可以查看、輸入和處理數(shù)據(jù)。從用戶的角度來看,用戶服務層就是整個應用。在該電子商務系統(tǒng)中,用戶服務層由內(nèi)嵌java語句的jsp呈現(xiàn)Http forms,它可以讓消費客戶瀏覽和搜索圖書,向他們的購物車增加圖書,并且下訂單。
第五篇:網(wǎng)上書店項目設計書
開卷有益網(wǎng)上書店項目設計書
開卷有益 網(wǎng)上書店項目設計書
課程名稱網(wǎng)站規(guī)劃建設與管理維護
專業(yè) 班級 提交人
2013年9月29日 開卷有益網(wǎng)上書店項目設計書
開卷有益網(wǎng)上書店項目設計書
一、項目概述:
1.1項目名稱:開卷有益網(wǎng)上書店項目設計書。
1.2項目背景:隨著Internet的迅速發(fā)展,當今電子商務已接被廣大的互聯(lián)網(wǎng) 用戶所接受,網(wǎng)購的火爆程度有目共睹。網(wǎng)上書店作為其中的一部分也有了迅速的發(fā)展。為了方便廣大用戶因為所在地區(qū)的原因,造成“有書沒人買,有人沒書買”的現(xiàn)象,充分利用現(xiàn)代信息化、因特網(wǎng)的優(yōu)勢,建立網(wǎng)上書店系統(tǒng),實施把書店“搬”到網(wǎng)上的方案。就網(wǎng)上書店而言,由于網(wǎng)絡已經(jīng)覆蓋全球,信息量大而獨具優(yōu)勢。國內(nèi)著名的兩大書店,當當網(wǎng)與卓越網(wǎng),他們售書的理念很簡單,讀者可以自己尋找自己喜愛的書,對于讀者來說,無需為尋找一本自己想要的書好奔波于城市的各個角落,無需因為時間問題而錯過了新書的首發(fā)式,或者因為時間問題而去不了書店,網(wǎng)上書店系統(tǒng),只需你有一臺可以連上互聯(lián)網(wǎng)的電腦,就可以按照自己的興趣檢索到自己想要的書本。對于那些沒有時間經(jīng)常去傳統(tǒng)書店或其住所離傳統(tǒng)書店較遠的讀者來說,具有實際意義。因此網(wǎng)上售書必將有長足的發(fā)展。本系統(tǒng)的主要目的是實現(xiàn)圖書的在線銷售,包括管理庫房中的圖書,以及管理用戶的購物車,從而實現(xiàn)書籍預訂、結賬、查看訂單等一系列功能,實現(xiàn)書店和用戶雙贏的局面。
1.3項目目標:實現(xiàn)網(wǎng)上書店系統(tǒng)的基本功能,包括兩大部分:用戶客戶端和管 理員服務器端。用戶客戶端完成會員的注冊(包括登錄名、密碼、真實姓名、收貨地址、聯(lián)系方式等信息的填寫),登錄(登錄后會員可查看自己的賬戶信 息,對個人信息的修改,查看訂單狀態(tài),與客服人員的在線交流,對書籍和 服務進行評價);圖書瀏覽(可以使用搜索引擎或其他方式查找到自己喜愛的 圖書)、預訂(如果想要購買的圖書目前暫時缺貨,可以預訂圖書,圖書到貨 后,管理員向會員發(fā)出到貨信息,以便會員購買)、購買(購買圖書)、留言 簿(與在線客服的交流以及評價圖書及服務)等一系列購書功能。管理員服 務器端完成對圖書、會員的各種信息的管理(包括書目的增刪改,庫存信息 的管理及會員訂單的處理等)。
1.4項目內(nèi)容:開卷有益網(wǎng)上書店采用現(xiàn)有的各種網(wǎng)絡技術,構建一個擁有全面 書籍的多級查詢、選擇、訂購的網(wǎng)上銷售系統(tǒng),為顧客提供方便、快捷、安 全的網(wǎng)上購物環(huán)境。
1.5項目的投資規(guī)模和建設周期:項目建設預計投入30萬元,用于平臺搭建、軟硬件資源的購買、技術支持及管理和人員的費用,項目建設周期約需要5 個月。
1.6項目的收益:建設網(wǎng)上書店將取得以下幾方面收益:
a.網(wǎng)上銷售帶來的業(yè)務量的增加:預計從網(wǎng)站運營起半年內(nèi)書店銷售收入增
長7%,二年內(nèi)銷售收入增長88%。
b.網(wǎng)上銷售帶來的成本節(jié)約:預計書本銷售成本可以減少15%~33%。
c.品牌增值帶來的收益:網(wǎng)上書店的運作將擴大“開卷有益”的知名度,提升 “開卷有益”品牌,最終使開卷有益書店成為全國地區(qū)有影響力的網(wǎng)上書店 開卷有益網(wǎng)上書店項目設計書
企業(yè)。
二、項目可行性分析:
2.1網(wǎng)上書店設計: 會員(注冊用戶):通過填寫個人信息,經(jīng)過系統(tǒng)認證的用戶,完成每個用戶的書籍預訂、購書、查看訂單、留言簿等功能。
管理員:有權對圖書的信息進行錄入、修改、刪除等功能;進行圖書的入庫、出庫、盤點,系統(tǒng)出錯或有需要時,人工進行用戶匯款信息錄入、修改、刪除等功能;查看、刪除、回復會員的留言;管理圖書的銷售等一系列信息。訂單:用戶為購買貨物而填寫的關于書目、送貨地址、付款方式等信息的表單;訂單可以有幾種狀態(tài):1)訂單生成在審核中2)訂單通過審核,正在配貨3)訂單中的貨物已發(fā)貨,但用戶未接收4)訂單配送完成5)在15天退換貨的階段6)用戶收貨15天后,沒有退換貨,交易完成。
客戶端:會員完成圖書瀏覽、搜索、預訂、購書、查看訂單、評論留言等一系列過程的平臺。后臺管理系統(tǒng):管理員通過用戶名和密碼的驗證后,管理有關圖書的訂單、庫存、銷售,會員的管理,評論留言的管理等的信息的平臺。2.2產(chǎn)品目標與范圍
網(wǎng)上書店系統(tǒng)是一個中小型的電子商務系統(tǒng),可以為各類用戶提供方便的在線買書環(huán)境,要符合目前國內(nèi)流行的電子商務模式——B/S架構,三層運行模式,同時適用于Intranet/Internet。瀏覽器為第一層,作為系統(tǒng)的應用界面;應用邏輯服務為第二層;數(shù)據(jù)鏈接為第三層,作為系統(tǒng)的數(shù)據(jù)存取服務。用戶可以在系統(tǒng)中實現(xiàn)注冊、瀏覽圖書、搜索查詢圖書、預訂圖書、下定單、付款、確認收貨等功能,登錄該網(wǎng)站后,先進行注冊,在會員登錄并且購得圖書后,提交購書單給圖書管理員,并同時將費用通過網(wǎng)上銀行、電匯、郵寄或貨到付款的方式交付到圖書管理員處。圖書管理員進貨后,整理歸類,并將書目信息發(fā)布到網(wǎng)上,管理員通過用戶管理、訂單管理、圖書管理、銷售管理、庫存管理等管理功能來對系統(tǒng)進行維護更新。2.3假設與約束
為了使網(wǎng)上書店獲得更好的安全性、擴展性和更高的執(zhí)行效能,整個系統(tǒng)采取分布式部署的方案,將承載關鍵業(yè)務邏輯的應用程序服務器(或應用程序服務器集群)和承載業(yè)務數(shù)據(jù)的數(shù)據(jù)庫服務(或數(shù)據(jù)庫服務器集群)隔離開來。實現(xiàn)管理與數(shù)據(jù)的分離,便于管理和維護。
網(wǎng)上書店面向全球互聯(lián)網(wǎng)用戶,進行相關交易前必須注冊為本網(wǎng)站平臺會員,才能擁有相應權限。應用本平臺必須保證電腦或其它訪問本平臺的軟件有殺毒防毒能力,對于因客戶中毒而產(chǎn)生的交易損失本平臺不負任何責任。平臺用戶應妥善保管好個人密碼,不要將密碼泄露給它人,一旦發(fā)現(xiàn)丟失或被盜,需盡快提供相關證明交于客服人員進行相關賬戶凍結與資料的修改。2.4項目工作范圍
項目規(guī)劃,計劃分為兩部分:客戶端和服務器端
客戶端部分:用戶注冊及用戶信息修改;站內(nèi)搜索引擎;書籍瀏覽;書籍預訂;購書;查看定單;查看購買歷史;留言簿;服務器端;
圖書庫信息維護:圖書數(shù)據(jù)錄入、修改、刪除等功能; 開卷有益網(wǎng)上書店項目設計書
圖書庫管理:入庫、出庫、盤點;
用戶匯款管理:用戶匯款信息錄入、修改、刪除等功能; 圖書銷售管理:銷售日報、月報,銷售排行榜,TOP10; 管理留言簿:查看,回復,刪除 2.5 應交付成果 2.5.1 需完成的軟件 程序的名稱:網(wǎng)上書店系統(tǒng)、編程語言:C++、支撐系統(tǒng)的數(shù)據(jù)庫:SQL SERVER 2008。2.5.2需提交用戶的文檔:《網(wǎng)上書店項目計劃書》、《網(wǎng)上書店需求規(guī)格說明書》、《網(wǎng)上書店概要設計說明書》、《網(wǎng)上書店詳細設計說明書》、《測試分析報告》、《用戶手冊》
2.6 項目開發(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硬盤
三、項目團隊組織:
3.1 組織結構
所需角色:項目經(jīng)理、計劃經(jīng)理、系統(tǒng)分析員、構架設計師、設計員 組織結構:
四、項目總體規(guī)劃:
4.1網(wǎng)站目標定位:開卷有益書店的主要業(yè)務室銷售書籍,定位于熱愛閱讀的廣大人群,為他們提供方便、時尚的訂購服務。
4.2網(wǎng)站商務規(guī)劃:
(1)商務模式:開卷有益書店的商務對象以普通消費者為主,主要采用網(wǎng)上商店+連鎖經(jīng)營的B2C電子商務模式。
(2)主要業(yè)務流程:顧客選擇要購買的書籍——下訂單——支付貨款——網(wǎng)
站把訂單通知物流部門——物流部門配送——通知顧客開卷有益網(wǎng)上書店項目設計書
配送成功。
圖1: 開卷有益網(wǎng)上書店的業(yè)務流程
(3)贏利方式:開卷有益書店主要通過在線銷售書籍,爭取更多的交易機會、擴大銷售量,從而增加書店的收入。此外,根據(jù)顧客的訂單按需進貨可大大降低書籍的庫存,節(jié)約成本,提高書店的綜合效益。
五、支持條件:
5.1用戶界面
人性化界面,全新感覺,操作簡便,一目了然,視圖優(yōu)美等特點。并且采用菜單界面驅(qū)動方式,給操作用戶帶來了極大的便利。
5.2硬件接口
本軟件不需要特定的硬件或硬件接口進行支撐。586以上PC機均可運行此軟件。
5.3軟件接口
運行于Windows2000及更高版本的操作系統(tǒng)之上。
5.4故障處理
正常使用時不應出錯,若運行時遇到不可恢復的系統(tǒng)錯誤,也必須保證數(shù)據(jù)庫完好無損。調(diào)試中遇到的問題及解決的方案:
1)遇到跳出“數(shù)據(jù)庫已經(jīng)關閉”提示信息阻止程序運行時
可以查看一下進行此項操作時,操作的表是否已經(jīng)被關閉了或者是在沒有關閉此表的情況下又一次運用打開語句打開此表。2)關于空記錄帶來的麻煩
有些空記錄往往會使程序無法運行。此時你可用“if not isnull”語句先判斷一下是否為空記錄,再操作。
六、預算: 開卷有益網(wǎng)上書店項目設計書
設備成本包括:1臺主流計算機 大約3500元
七、關鍵問題:
因為開發(fā)人員目前還在學習階段,開發(fā)過程會比較緩慢,因此時間是最大的風險,不能完全投入到開發(fā)工作中,不可避免會有設計上的不足和缺陷。程序的調(diào)試是最大的困難。
八、專題策劃要點:
重點在于各種相關文檔的編寫,這些文檔質(zhì)量的好壞,決定了日后軟件的開發(fā)速度、可執(zhí)行性、可維護性。