當前位置:首頁 » 操作系統 » 資料庫超市管理系統課程設計

資料庫超市管理系統課程設計

發布時間: 2025-02-19 15:49:04

資料庫課程設計實例

資料庫課程設計

題目:小型超市管理系統
1、項目計劃
1.1系統開發目的
(1)大大提高超市的運作效率;
(2)通過全面的信息採集和處理,輔助提高超市的決策水平;
(3)使用本系統,可以迅速提升超市的管理水平,為降低經營成本, 提高效益,增強超市擴張力, 提供有效的技術保障。
1.2背景說明
21世紀,超市的競爭也進入到了一個全新的領域,競爭已不再是規模的競爭,而是技術的競爭、管理的競爭、人才的競爭。技術的提升和管理的升級是超市業的競爭核心。零售領域目前呈多元發展趨勢,多種業態:超市、倉儲店、便利店、特許加盟店、專賣店、貨倉等相互並存。如何在激烈的競爭中擴大銷售額、降低經營成本、擴大經營規模,成為超市營業者努力追求的目標。
1.3項目確立
針對超市的特點,為了幫助超市解決現在面臨的問題,提高小型超市的競爭力,我們將開發以下系統:前台POS銷售系統、後台管理系統,其中這兩個子系統又包含其它一些子功能。
1.4應用范圍
本系統適應於各種小型的超市。
1.5 定義
(1)商品條形碼:每種商品具有唯一的條形碼,對於某些價格一樣的商品,可以使用自定義條形碼。
(2)交易清單:包括交易的流水賬號、每類商品的商品名、數量、該類商品的總金額、交易的時間、負責本次收銀的員工號。
(3)商品積壓:在一定時期內,遠無法完成銷售計劃的商品會造成積壓。
(4)促銷:在一定時期內,某些商品會按低於原價的促銷價格銷售。
庫存告警提示:當商品的庫存數量低於庫存報警數量時發出提示。
(5)盤點:計算出庫存、銷售額、盈利等經營指標。
1.6 參考資料
《資料庫原理及設計》 陶宏才編 清華大學出版社
《SQL Server 2000 實用教程》范立南編 清華大學出版社
《SQL Server 2000 編程員指南》李香敏編 北京希望電子出版社
《輕松搞定 SQL Server 2000 程序設計》Rebecca M.Riordan編
《軟體工程規范》Watts S.Humphrey編 清華大學出版社
《軟體工程理論與實踐》 Shari Lawrence Pfleeger編 清華大學出版社
《軟體需求分析》 Swapna Kishore編 機械工業出版社
《軟體工程思想》 林銳編

2、邏輯分析與詳細分析
2.1系統功能
(1)、零售前台(POS)管理系統,本系統必須具有以下功能:
 商品錄入:根據超巿業務特點制定相關功能,可以通過輸入唯一編號、掃描條形碼、商品名稱等來實現精確或模糊的商品掃描錄入。該掃描錄入方法可以充分保證各種電腦操作水平層次的人員均能准確快速地進行商品掃描錄入。
 收銀業務:通過掃描條形碼或者直接輸入商品名稱(對於同類多件商品採用一次錄入加數量的方式)自動計算本次交易的總金額。在顧客付款後,自動計算找零,同時列印交易清單(包括交易的流水賬號、每類商品的商品名、數量、該類商品的總金額、交易的時間、負責本次收銀的員工號)。如果顧客是本店會員並持有本人會員卡,則在交易前先掃描會員卡,並對所購物品全部實行95折優惠,並將所購物品的總金額累計到該會員的總消費金額中。 會員卡的有效期限為一年,滿一年未續卡者,該會員卡將被注銷。
 安全性:OS登陸、退出、換班與操作鎖定等許可權驗證保護;斷電自動保護最大限度防止意外及惡意非法操作。
 獨立作業:有的斷網收銀即在網路伺服器斷開或網路不通的情況下,收銀機仍能正常作業
(2)、後台管理系統,本系統必須具備以下功能
 進貨管理: 根據銷售情況及庫存情況,自動制定進貨計劃(亦可手工制定修改),可以避免盲目進貨造成商品積壓。 按計劃單有選擇性地進行自動入庫登記。 綜合查詢列印計劃進貨與入庫記錄及金額。
 銷售管理: 商品正常銷售、促銷與限量、限期及禁止銷售控制。 綜合查詢各種銷售明細記錄、各地收銀員收銀記錄以及交結賬情況等。 按多種方式統計生成銷售排行榜,靈活察看和列印商品銷售日、月、年報表。
 庫存管理: 綜合查詢庫存明細記錄。 庫存狀態自動告警提示。如庫存過剩、少貨、缺貨等。軟體為您預警,避免庫存商品積壓損失和缺貨。 庫存自動盤點計算。
 人員管理: 員工、會員、供貨商、廠商等基本信息登記管理。 員工操作許可權管理。 客戶銷售許可權管理。

(3)系統結構
系統總體結構

模塊子系統結構

功能描述:商品錄入子系統要求能快速錄入商品,因此必須支持條形碼掃描。

功能描述:收銀業務子系統能計算交易總額,列印交易清單,並根據會員卡打折。

功能描述:進貨管理子系統可以根據庫存自動指定進貨計劃,進貨時自動等級,以及提供查詢和列印計劃進貨與入庫記錄的功能。

功能描述:銷售管理子系統可以控制某商品是否允許銷售,查詢每種商品的銷售情況並產生年、月、日報表,同時可以生成銷售排行榜。

功能描述:庫存管理子系統提供查詢庫存明細記錄的基本功能,並根據庫存的狀態報警,以及自動盤點計算。

功能描述:人員管理子系統提供基本信息登記管理,員工操作許可權管理,客戶銷售許可權管理的功能。
2.2、流程圖
前台管理系統

頂層DFD圖

第0層DFD圖

第1層DFD圖

2.3、戶類型與職能
(1)、員工(營業員):
 通過商品條形碼掃描輸入商品到購買清單
 操作軟體計算交易總金額
 操作軟體輸出交易清單
 對會員進行會員卡掃描以便打折
(2)、:超市經理
 操作軟體錄入商品,供貨商,廠商
 操作軟體制定進貨計劃
 查詢列印計劃進貨與入庫記錄
 操作軟體控制商品銷售與否
 查詢列印銷售情況
 操作軟體生成銷售排行榜
 查詢庫存明細記錄
 根據軟體發出的庫存告警進行入貨
 操作軟體進行盤點計算
(3)、總經理:
 基本信息登記管理
 員工操作許可權管理
 客戶銷售許可權管理
2.4、統開發步驟
 確定參與者和相關的用況
 為每個用況設計過程
 建立順序圖,確定每個腳本中對象的協作
 創建類,確定腳本中的對象
 設計, 編碼, 測試, 集成類
 為過程編寫系統測試案例
 運行測試案例,檢驗系統
2.5、系統環境需求
 系統模式

本系統採用C/S模式作為開發模式
 硬體環境
伺服器端:
高性能的計算機一台,
普通的雙絞線作為連接。
客戶端: 普通的計算機或者工作站,
普通的雙絞線作為連接。
 軟體環境
伺服器端:安裝SQL Server 2000的伺服器版本,
安裝windows 2000伺服器版本,
配置了諾頓等必須的防毒軟體。
客戶端: 安裝SQL Server2000的伺服器版本,
安裝了VB等可視化開發工具軟體,
安裝windows2000伺服器版本。

2.6、系統安全問題
信息系統盡管功能強大,技術先進,但由於受到自身體系結構,設計思路以及運行機制等限制,也隱含許多不安全因素。常見因素有:數據的輸入,輸出,存取與備份,源程序以及應用軟體,資料庫,操作系統等漏洞或缺陷,硬體,通信部分的漏洞,企業內部人員的因素,病毒,「黑客」等因素。因此,為使本系統能夠真正安全,可靠,穩定地工作,必須考慮如下問題:為保證安全,不致使系統遭到意外事故的損害,系統因該能防止火,盜或其他形式的人為破壞。
 系統要能重建
 系統應該是可審查的
 系統應能進行有效控制,抗干擾能力強
 系統使用者的使用許可權是可識別的
3、基於UML的建模
3.1語義規則
用例模型(use cases view)(用例視圖)的基本組成部件是用例(use case)、角色(actor)和系統(system)。用例用於描述系統的功能,也就是從外部用戶的角度觀察,系統應支持哪些功能,幫助分析人員理解系統的行為,它是對系統功能的宏觀描述,一個完整的系統中通常包含若干個用例,每個用例具體說明應完成的功能,代表系統的所有基本功能(集)。角色是與系統進行交互的外部實體,它可以是系統用戶,也可以是其它系統或硬體設備,總之,凡是需要與系統交互的任何東西都可以稱作角色。系統的邊界線以內的區域(即用例的活動區域)則抽象表示系統能夠實現的所有基本功能。在一個基本功能(集)已經實現的系統中,系統運轉的大致過程是:外部角色先初始化用例,然後用例執行其所代表的功能,執行完後用例便給角色返回一些值,這個值可以是角色需要的來自系統中的任何東西。
UML:是一種標準的圖形化建模語言,它是面向對象分析與設計的一種標准表示;它不是一種可視化的程序設計語言而是一種可視化的建模語言;不是工具或知識庫的規格說明而是一種建模語言規格說明是一種表示的標准;不是過程也不是方法但允許任何一種過程和方法使用它。

用例(use case):

參與者(actor):

3.2、UML模型
3.21、系統UML模型

3.22、子系統UML模型
(1)零售前台(POS)管理系統用例視圖

(2)後台管理系統用例視圖

3.3、系統實現圖

4、超市銷售系統概念設計文檔
(1)、系統ER圖

(2)、系統ER圖說明
1) 商店中的所有用戶(員工)可以銷售多種商品,每種商品可由不同用戶(員工)銷售;
2) 每個顧客可以購買多種商品,不同商品可由不同顧客購買;
3) 每個供貨商可以供應多種不同商品,每種商品可由多個供應商供應。
(3)、視圖設計
1) 交易視圖(v_Dealing)——用於查詢交易情況的視圖;
2) 計劃進貨視圖(v_PlanStock)——用於查詢進貨計劃的視圖;
3) 銷售視圖(v_Sale)——用於查詢銷售明細記錄的視圖;
4) 入庫視圖(v_Stock)——用於查詢入庫情況的視圖。
5、邏輯設計文檔
(1)、系統關系模型
a) 商品信息表(商品編號,商品名稱,價格,條形碼,促銷價格,促銷起日期,促銷止日期,允許打折,庫存數量,庫存報警數量,計劃進貨數,允許銷售,廠商編號,供貨商編號)
b) 用戶表(用戶編號,用戶名稱,用戶密碼,用戶類型)
c) 會員表(會員編號,會員卡號,累積消費金額,注冊日期)
d) 銷售表(銷售編號,商品編號,銷售數量,銷售金額,銷售日期)
e) 交易表(交易編號,用戶名稱,交易金額,會員卡號,交易日期)
f) 進貨入庫表(入庫編號,入庫商品編號,入庫數量,單額,總額,入庫日期,計劃進貨日期,入庫狀態)
g) 供貨商表(供貨商編號,供貨商名稱,供貨商地址,供貨商電話)
h) 廠商表(廠商編號,廠商名稱,廠商地址,廠商電話)

(2)、系統資料庫表結構
資料庫表索引
表名 中文名
MerchInfo 商品信息表
User 用戶表
Menber 會員表
Sale 銷售表
Dealing 交易表
Stock 進貨入庫表
Provide 供貨商表
Factory 廠商表

商品信息表(MerchInfo)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
MerchID int 4 P Not null 商品編號
MerchName Varchar 50 Not null 商品名稱
MerchPrice Money 4 Not null 價格
MerchNum Int 4 Not null 庫存數量
CautionNum Int 4 Not null 庫存報警數量
PlanNum Int 4 null 計劃進貨數
BarCode Varchar 50 Not null 條形碼
SalesProPrice Money 4 促銷價格
SalesProDateS Datetime 8 促銷起日期
SalesProDateE Datetime 8 促銷止日期
AllowAbate Int 4 Not null 允許打折
AllowSale Int 4 Not null 允許銷售
FactoryID Varchar 10 F Not null 廠商編號
ProvideID Varchar 10 F Not null 供貨商編號

用戶表(User)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
UserID varchar 10 P Not null 用戶編號
UserName Varchar 25 Not null 用戶名稱
UserPW Varchar 50 Not null 用戶密碼
UserStyle Int 4 Not null 用戶類型

會員表(Menber)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
MemberID Varchar 10 P Not null 會員編號
MemberCard Varchar 20 Not null 會員卡號
TotalCost Money 4 Not null 累積消費金額
RegDate Datetime 8 Not null 注冊日期

銷售表(Sale)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
SaleID Varchar 10 P Not null 銷售編號
MerChID Varchar 10 F Not null 商品編號
SaleDate Datetime 8 Not null 銷售日期
SaleNum Int 4 Not null 銷售數量
SalePrice Money 4 Not null 銷售單額

交易表(Dealing)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
DealingID Varchar 10 P Not null 交易編號
DealingPrice Money 4 Not null 交易金額
DealingDate Money 4 Not null 交易日期
MemberID Varchar 10 會員卡號
UserName Varchar 10 F Not null 用戶名稱

入庫紀錄表(Stock)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
StockID Varchar 10 P Not null 入庫編號
MerchID Varchar 10 F Not null 入庫商品編號
MerchNum Int 4 Not null 入庫數量
MerchPrice Money 4 Not null 單額
TotalPrice Money 4 Not null 總額
StockDate Datetime 8 Datetime 入庫日期
PlanDate Datetime 8 Datetime 計劃進貨日期
StockState Int 4 Not null 入庫狀態

供貨商表(Provide)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
ProvideID varchar 10 P Not null 供貨商編號
ProvideName Varchar 50 Not null 供貨商名稱
ProvideAddress Varchar 250 供貨商地址
ProvidePhone Varchar 25 供貨商電話

廠商表(Provide)
欄位名 欄位類型 長度 主/外鍵 欄位值約束 對應中文名
FactoryID varchar 10 P Not null 廠商編號
FactoryName Varchar 50 Not null 廠商名稱
FactoryAddress Varchar 250 廠商地址
FactoryPhone Varchar 25 廠商電話
6、物理設計文檔
/*----------創建資料庫----------*/
create database SuperMarketdb
on primary
(
name=SuperMarketdb,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.mdf',
size=100MB,
maxsize=200MB,
filegrowth=20MB
)
log on
(
name=SuperMarketlog,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\SuperMarketdb.ldf',
size=60MB,
maxsize=200MB,
filegrowth=20MB
)
go

/*----------創建基本表----------*/
use [SuperMarketdb]
go
/*創建交易表*/
CREATE TABLE Dealing (
DealingID int identity(1,1) Primary key ,
DealingDate datetime NOT NULL ,
DealingPrice money NOT NULL ,
UserName varchar(25) NULL ,
MemberCard varchar(20) NULL
)
GO
/*創建廠商表*/
CREATE TABLE Factory (
FactoryID varchar(10) Primary key ,
FactoryName varchar(50) NOT NULL ,
FactoryAddress varchar(250) NULL ,
FactoryPhone varchar(50) NULL
)
GO
/*創建會員表*/
CREATE TABLE Member (
MemberID varchar(10) Primary key ,
MemberCard varchar(20) NOT NULL ,
TotalCost money NOT NULL ,
RegDate datetime NOT NULL
)
GO
/*創建商品信息表*/
CREATE TABLE MerchInfo (
MerchID int identity(1,1) Primary key ,
MerchName varchar(50) Unique NOT NULL ,
MerchPrice money NOT NULL ,
MerchNum int NOT NULL ,
CautionNum int NOT NULL ,
PlanNum int NOT NULL ,
BarCode varchar(20) Unique NOT NULL ,
SalesProPrice money NULL ,
SalesProDateS datetime NULL ,
SalesProDateE datetime NULL ,
AllowAbate int NOT NULL ,
AllowSale int NOT NULL ,
FactoryID int NOT NULL ,
ProvideID int NOT NULL
)
GO
/*創建供應商表*/
CREATE TABLE Provide (
ProvideID varchar(10) Primary key ,
ProvideName varchar(50) NOT NULL ,
ProvideAddress varchar(250) NULL ,
ProvidePhone varchar(25) NULL
)
GO
/*創建銷售表*/
CREATE TABLE Sale (
SaleID int identity(1,1) Primary key ,
MerChID int NOT NULL ,
SaleDate datetime NOT NULL ,
SaleNum int NOT NULL,
SalePrice money NOT NULL
)
GO
/*創建入庫表*/
CREATE TABLE Stock (
StockID int identity(1,1) Primary key ,
MerchID int NOT NULL ,
MerchNum int NOT NULL ,
MerchPrice money NULL ,
TotalPrice money NULL ,
PlanDate datetime NULL ,
StockDate datetime NULL,
StockState int NOT NULL
)
GO
/*創建用戶表*/
CREATE TABLE User (
UserID varchar(10) Primary key ,
UserName varchar(25) NOT NULL ,
UserPW varchar(50) NOT NULL ,
UserStyle int NOT NULL ,
)
GO

/*----------創建表間約束----------*/
/*商品信息表中廠商編號、供應商編號分別與廠商表、供應商表之間的外鍵約束*/
ALTER TABLE MerchInfo ADD
CONSTRAINT [FK_MerchInfo_Factory] FOREIGN KEY
(
[FactoryID]
) REFERENCES Factory (
[FactoryID]
),
CONSTRAINT [FK_MerchInfo_Provide] FOREIGN KEY
(
[ProvideID]
) REFERENCES Provide (
[ProvideID]
)
GO
/*銷售表中商品編號與商品信息表之間的外鍵約束*/
ALTER TABLE Sale ADD
CONSTRAINT [FK_Sale_MerchInfo] FOREIGN KEY
(
[MerChID]
) REFERENCES MerchInfo (
[MerchID]
) ON DELETE CASCADE
GO
/*入庫表中商品編號與商品信息表之間的外鍵約束*/
ALTER TABLE Stock ADD
CONSTRAINT [FK_Stock_MerchInfo] FOREIGN KEY
(
[MerchID]
) REFERENCES MerchInfo (
[MerchID]
) ON DELETE CASCADE
GO

/*----------創建索引----------*/
/*在交易表上建立一個以交易編號、交易日期為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_Dealing ON Dealing(DealingID, DealingDate)
GO
/*在商品信息表上建立一個以商品編號為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_MerchInfo ON MerchInfo(MerchID)
GO
/*在銷售表上建立一個以銷售編號、銷售日期為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_Sale ON Sale(SaleID, SaleDate)
GO
/*在入庫表上建立一個以入庫編號、入庫日期、商品編號為索引項的非聚集索引*/
CREATE nonclustered INDEX IX_Stock ON Stock(StockID, StockDate, MerchID)
GO

/*----------創建視圖----------*/
/*創建用於查詢交易情況的視圖*/
CREATE VIEW v_Dealing
AS
SELECT DealingDate as 交易日期,
UserName as 員工名稱,
MemberCard as 會員卡號,
DealingPrice as 交易金額
FROM Dealing
GO
/*創建用於查詢進貨計劃的視圖*/
CREATE VIEW v_PlanStock
AS
SELECT Stock.StockID as SID,
MerchInfo.MerchName as 商品名稱,
MerchInfo.BarCode as 條形碼,
Factory.FactoryName as 廠商,
Provide.ProvideName as 供貨商,
Stock.MerchNum as 計劃進貨數量,
Stock.PlanDate as 計劃進貨日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=0
GO
/*創建用於查詢銷售明細記錄的視圖*/
CREATE VIEW v_Sale
AS
SELECT MerchInfo.MerchName as 商品名稱,
MerchInfo.BarCode as 條形碼,
MerchInfo.MerchPrice as 商品價格,
Sale.SalePrice as 銷售價格,
Sale.SaleNum as 銷售數量,
Sale.SaleDate as 銷售日期
FROM Sale INNER JOIN
MerchInfo ON Sale.MerChID = MerchInfo.MerchID
GO
/*創建用於查詢入庫情況的視圖*/
CREATE VIEW v_Stock
AS
SELECT MerchInfo.MerchName as 商品名稱,
MerchInfo.BarCode as 條形碼,
Factory.FactoryName as 廠商,
Provide.ProvideName as 供貨商,
Stock.MerchPrice as 入庫價格,
Stock.MerchNum as 入庫數量,
Stock.TotalPrice as 入庫總額,
Stock.StockDate as 入庫日期
FROM Stock,MerchInfo,Provide,Factory
Where Stock.MerchID = MerchInfo.MerchID
and Provide.ProvideID=MerchInfo.ProvideID
and Factory.FactoryID=MerchInfo.FactoryID
and Stock.StockState=1
GO

7、小結
和傳統管理模式相比較,使用本系統,毫無疑問會大大提高超市的運作效率,輔助提高超市的決策水平,管理水平,為降低經營成本, 提高效益,減少差錯,節省人力,減少顧客購物時間,增加客流量,提高顧客滿意度,增強超市擴張能力, 提供有效的技術保障。
由於開發者能力有限,加上時間倉促,本系統難免會出現一些不足之處,例如:
 本系統只適合小型超市使用,不能適合中大型超市使用;
 超市管理系統涉及范圍寬,要解決的問題多,功能復雜,實現困難,但由於限於時間,本系統只能做出其中的一部分功能;
對於以上出現的問題,我們深表歉意,如發現還有其它問題,希望老師批評指正。

㈡ 求一個ASP課程設計 網上購物系統 做過的朋友們拜託給發下 [email protected]

4.2 功能模塊設計
層次模塊結構是將系統劃分為若乾子系統,子系統下再劃分為若乾的模塊。而模塊沖乎是指具備有輸入輸出、邏輯功能、運行程序和內部數據四種屬性的一組程序。在結構化系統設計中,模塊一般都是按功能劃分的,通常稱為功能模塊。合理的功能模塊的劃分能夠極大限度地減少重復勞動、提高開發工作的效率並增大系統的可維護性。
以前面的系統分析為基礎,將系統分為兩大模塊,即前台模塊和後台模塊。
網路購物中心的功能結構如圖4.1所示。

圖 4.1 網路購物中心功能結構圖
4.2.1 前台模塊的功能模塊設計
前台模塊主要為登陸網站的用戶提供商品和服務的信息,填寫並提交訂單的服務。這樣,將前台模塊再細分為用戶管理模塊、訂單查詢模塊、購物沒空車模塊、修改個人資料模塊、留言板模塊。顧名思義,這些模塊的名稱基本概括了它們的功能。下面詳細說明一下這些功能模塊的設計:
(1)用戶管理模塊:
為了方便於網站的管理,必須由一套完整的用戶管理體系。該網站用戶管理模塊主要實現用戶的注冊、登錄、找回密碼3方面功能。
(2)購物車模塊:
在超市購物,可以根據自己的需要將很多種商品挑選至購物車或購物籃中,然後到收銀台結款。而在網上虛擬的商城中,當然沒有辦法使用真正的購物工具,因此,通常都會採用一種被稱為「購物車」的技術來模擬現實生活。在網上商城中,所選商品須通過購物車進行暫存,然後生產訂單。這種技術使用起來十分方便,不但可以隨時添加、查看、修改、清空購物車中的內容,還可以隨時去收銀台結款。
(3)訂單管理模塊:
用戶提交訂單後,通過產生的訂單號查詢訂單信息及執行狀態。只需要根據用戶錄入的訂單號在數據表中查詢處對應的貨品信息即可。
(4)個人資料管理模塊:
用戶資料修改時為用戶更改個人信息所提供的窗口,為了保護用戶信息部受非法侵害,用戶只有登錄網頁後才有許可權修改個人資料。
(5)留言板管理模塊:
留言板是一個商務網站中不可缺少的組成部分,它可以增進用戶與網站之間的交流。在現實網路開發中存在著各種各樣的留言板,但它們都由基於瀏覽留言板及添加留言板2部分組成。
這樣,子模塊各自的內容基本設計好。下面可以設計如何將這些模塊組織在一起,構成一個結構比較合理的前台了。除了在主頁中建立面向其他模塊的鏈接外,也要在其他模塊中建立返回主頁面的鏈接。另外各個模塊間也應該互相鏈接起來。
4.2.2 後台管理模塊的功能模塊設計
後台管理模塊的功能是對站內的資源進行管理和維護。以後台的業務流程分析和前台各個模塊的設計為基礎、根據用戶的需求分析來確定後台管理模塊應具有的功能。後台管理模塊的各個子功能模塊如下:
(1) 管理員身份驗證模塊:
為合法用戶提供一個後台入口。該模塊的功能是對管理員身份進行能夠驗證。用戶輸入登錄ID和密碼後,系統將判斷登錄ID及密碼的有效性,如果通過驗證則狀態後台主頁,反之則提示錯誤。
(2) 商品管理模塊:
向商品表插入前台首頁展示的商品信息,也就是添加商品信息的功能。
(3) 處理訂單模塊:
網站管理者對用戶訂單的執行和編輯狀態。
(4) 用戶信息管理模塊:
查詢注冊所有用戶,對一些非法或失信用戶進行刪除操作 。
(5) 公告信息管理模塊:
網站向用戶發布最新公告信息。
(6) 鏈接信息管理模塊:
管理員向前台首頁添加友情鏈接信息。
4.3 資料庫設計
資料庫是資料庫應用程序的重要組成部分。一個設計結構合理的資料庫對於應用程序的開發效率和程序的性能都是非常重散察悉要的。資料庫的設計過程大致如下:
(1) 根據用戶需求,確定資料庫中要保存的數據信息。對用戶需求進行分析時資料庫設計的第一個階段。不斷的調查與研究用戶需求,了解企業運作流程等系統需求,使設計概念模型的基礎。
(2) 設計資料庫的概念模型。概念模型是按用戶的觀點來對數據建模,使用與進行信息世界建模的工具。它對整個資料庫的設計具有深刻的影響。
(3) 邏輯結構設計。邏輯結構是把概念結構轉化為與所採用的資料庫管理系統所支持的數據模型相符合的過程。
(4) 資料庫的實施和維護。
在設計好前台與後台的功能模塊後,就開始進行資料庫的設計了。根據網站系統的分析,資料庫是整個網站的核心。從前台顯示的信息到後台操作的對象,都是圍繞資料庫展開的。
4.3.1 E-R圖
E-R圖是一種概念模型。概念模型實際上是現實世界到機器世界的一個中間層次。概念模型用於信息世界的建模,是顯示世界到信息世界的第一層抽象,使資料庫設計人員進行資料庫設計的有利工具,也是資料庫設計人員和用戶之間進行交流的語言,因此概念模型一方面應該具有較強的語義表達能力,能夠方便、直接的表達應該用眾的各種語義知識,另一方面他還應該簡單、清晰並且易於用戶理解[7]。以下是各個數據表的實體圖。
(1)商品信息表tb_Ware的實體圖

圖 4.2 商品信息表tb_Ware的實體圖
(2)用戶信息表tb_User的實體圖

圖 4.3 用戶信息表tb_User的實體圖
(3)留言信息表tb_Text的實體圖

圖 4.4 留言信息表tb_Text的實體圖
(4) 訂單生成表tb_Sub的實體圖

圖 4.5 訂單生成表tb_Sub的實體圖
(5)訂單商品表tb_Shop的實體圖

圖 4.6 訂單商品表tb_Shop的實體圖
(6)超級鏈接表tb_Link的實體圖

圖 4.7 超級鏈接表tb_Link的實體圖
(7)管理員信息表tb_Admin的實體圖

圖 4.8 管理員信息表tb_Admin的實體圖
(8)公告信息表tb_Affiche的實體圖

圖 4.9 公告信息表tb_Affiche的實體圖
(9)總體E_R圖

圖 4.10 總體E-R圖
4.3.2 基本表設計
表的設計是這次設計的一個核心內容。根據前面對網站前台與後台功能模塊的分析和對資料庫中實體關系的設計,可以看到網站中所用到的數據信息基本包括:商品信息、用戶信息、留言信息、訂單信息、超級鏈接信息、管理員信息、公告信息等。下面是為資料庫設計的表:
(1) 商品信息表tb_Ware
商品信息表tb_Ware用來保存商品的基礎信息。結構如表4.1所示。
表4.1 tb_Ware的結構
欄位名稱 數據類型 長度 是否允許空 是否為主鍵 欄位描述
Wareid Int 4 否 是 貨物編號
Warename Varchar 50 否 否 貨物名稱
Wareprice Bigint 8 否 否 貨物價格
Waretype Varchar 20 否 否 貨物類型
Wareintro Text 16 否 否 貨物介紹
Wareimage Varchar 50 否 否 圖片路徑
Wareif Int 4 否 否 是否推薦
Dattime Datetime 8 否 否 發布時間
(2) 用戶信息表tb_User
用戶信息表tb_User用來保存用戶信息。表tb_User的結構如表4.2下。

表4.2 tb_User的結構
欄位名稱 數據類型 長度 是否允許空 是否為主鍵 欄位描述
Userid Int 4 否 是 用戶ID
Username Varchar 50 否 否 用戶名
Rname Varchar 40 否 否 真實姓名
Userpass Varchar 16 否 否 用戶密碼
Email Varchar 50 否 否 Email
Address Varchar 80 否 否 用戶地址
Photo Varchar 30 否 否 聯系電話
Question Varchar 50 否 否 密碼問題
Result Varchar 50 否 否 答案
Dattime Datetime 8 否 否 注冊時間
(3) 留言信息表tb_Text
留言信息表tb_Text用來記錄留言信息。表tb_Text的結構如表4.3所示。
表4.3 tb_Text的結構
欄位名稱 數據類型 長度 是否允許空 是否為主鍵 欄位描述
Textid Int 4 否 是 主題ID
Username Varchar 20 否 否 作者姓名
Email Varchar 50 否 否 Email
Dattime Datetime 8 否 否 發布時間
Textname Varchar 50 否 否 主題名稱
Textgut Text 16 否 否 留言內容
(4) 訂單生成表tb_Sub
訂單生成表tb_Sub用來記錄新生成的訂單。表tb_Sub的結構如表4.4所示。

表4.4 tb_Sub的結構
欄位名稱 數據類型 長度 是否允許空 是否為主鍵 欄位描述
Sub Varchar 50 否 是 訂單編號
Username Varchar 20 否 否 用戶名
Rname Varchar 50 否 否 真實姓名
Spdate Datetime 8 否 否 訂購日期
Email Varchar 50 否 否 Email
Address Varchar 80 否 否 地址
Post Varchar 50 否 否 郵編
Payment Char 12 否 否 付款方式
Photo Varchar 30 否 否 聯系方式
Carry Varchar 30 否 否 運送方式
Spif Int 4 否 否 訂單核對
Other Text 16 否 否 其它
(5) 訂單商品表tb_Shop
訂單商品表tb_Shop用來記錄某一訂單中所定購的商品的詳細信息。表tb_Shop的結構如表4.5所示。
表4.5 tb_Shop的結構
欄位名稱 數據類型 長度 是否允許空 是否為主鍵 欄位描述
Subid Varchar 50 否 否 訂單id
Warename Varchar 50 否 否 貨物名稱
Price Bigint 8 否 否 貨物價格
Wsum Bigint 8 否 否 貨物數量
Wcount Bigint 8 否 否 統計
(6) 超級鏈接表tb_Link
超級鏈接表tb_Link主要用於記錄調價的超級鏈接信息。表tb_Link的結構如表4.6所示。

表4.6 tb_Link的結構
欄位名稱 數據類型 長度 是否允許空 是否為主鍵 欄位描述
Lname Varchar 50 否 否 鏈接名
Laddress Varchar 50 否 否 鏈接網址
Ldatetime Datetime 8 否 否 發布時間
(7) 管理員信息表tb_Admin
管理員信息表tb_Admin主要用於記錄管理員的信息。表tb_Admin的結構如表4.7所示。
表4.7 tb_Admin的結構
欄位名稱 數據類型 長度 是否允許空 是否為主鍵 欄位描述
Id Int 4 否 否 管理員ID
Admin Varchar 30 否 否 管理員名
Adminpass Varchar 16 否 否 管理員密碼
(8) 公告信息表tb_Affiche
公告信息表tb_Affiche主要用於記錄後台調價的公共信息。表tb_Affiche的結構如表4.8所示。
表4.8 tb_Affiche的結構
欄位名稱 數據類型 長度 是否允許空 是否為主鍵 欄位描述
Test Text 16 否 否 公告內容
Dattime Datetime 8 否 否 公告時間

第5章 系統實現
在上一章著重討論了系統各個模塊功能的設計,並詳細分析了每一個模塊的功能。在本章將具體討論如何實現功能模塊,最終實現整個系統。經過這個階段的設計工作,應該得出對目標系統的描述,從而在編碼階段可以把這個描述直接翻譯成用JSP網頁設計語言書寫的程序。
5.1 程序設計
本系統設計的網站在設計過程中包含頁面(HTML)的設計以及客戶端驗證機制(JavaScript)的設計。JavaScript也叫小腳本語言,他是一種非常流行的動態網頁技術。他不僅能夠實現網頁的動態效果,而且能夠在一定程度上檢測網頁的錯誤,從而在一定程度上實現網站的安全。本系統應用伺服器端JSP動態網頁技術,以及在Serverlet和JavaBean的可重用組件技術的支持下,結合客戶端動態網頁技術Javascript以及與HTML的無縫結合的設計,從而方便系統的實現[10]。
5.2 系統頁面的設計與實現
如果將網站比作一個人的話,伺服器就像大腦,資料庫就像五臟六腑,其內嵌的Java和JavaScript組合起來就像是細胞與神經,而網頁就是這個人的皮肉。網頁將網站的各個組成部分包裹起來,形成易懂並且美觀的外表展示給大家。瀏覽者登陸網站後看到的就是一個個網頁的組合。所以設計和實現每一個網頁也是非常重要的工作。
隨著科技的高速發展,眾多網頁製作的應用軟體應運而生。相對於傳統的動態網頁開發工具而言,由於繼承了Java語言的許多優點,用JSP開發動態網站十分方便,開發效率較高。此外,JSP還具有強大的組件(Java Bean)支持功能,可以方便地實現組件復用,進一步提高了開發效率。
在整個網頁的製作過程中,都是結合使用HTML語言來實現設計的。系統的頁面設計決定了網站的風格, 製作好的網站不僅提供給營銷商,更多的要供瀏覽者瀏覽。所以整個網站系統應注重的是:易導航性、易操作性和友好的交互界面。因此,網站的設計最好要簡潔、明了、格調清新、實用、易於使用和維護。在頁面的風格上應保持統一,這里採用CSS樣式表將所有頁面的字體、字型大小、顏色以及超鏈接的樣式做統一定義。
5.3 前台功能模塊的實現
整個系統分為了前台功能模塊和後台功能模塊。下面詳細討論主要的幾個功能模塊的程序實現。在每個模塊的介紹中,將具體說明一些涉及要點。
前台功能模塊分為用戶管理模塊、訂單查詢模塊、購物車模塊、修改個人資料模塊、留言板模塊5個部分。前台首頁主要有以下幾個部分:
(1)網站導航:主要用戶顯示網站的旗幟廣告、各功能模塊導航;
(2)用戶登錄:用戶在此注冊、登錄或找回密碼;
(3)商品分類搜索:用戶按商品類別進行搜索顯示;
(4)銷售排行榜:按照商品的銷售數量顯示銷售排行信息;
(5)商品展示區:按後台添加商品的時間順序展示商品;
(6)友情鏈接:顯示友情鏈接信息;
(7)後台登錄入口:管理員可以通過該入口登錄後台。
首頁運行結果如圖5.1所示。

圖 5.1 首頁運行結果
5.3.1 用戶管理模塊
用戶管理模塊主要實現用戶的注冊、登錄、找回密碼等功能。
1、 用戶注冊
當用戶第一次登錄時首先要在網站上注冊,成為會員用戶才可以在網站上購物,注冊頁面必須填寫一些用戶的基本信息,如用戶名、密碼、聯系電話等信息。要注意的是,在用戶注冊頁面user/index.htm中用戶自定義JavaScript檢驗用戶注冊信息不允許為空。
用戶注冊頁面user/index.htm如圖5.2所示。

圖 5.2 用戶注冊頁面運行結果
為了便於網站對用戶的管理,在index.htm用戶注冊頁面接收到的注冊信息要經過嚴格的過濾,保證注冊用戶名的唯一性,在提交表單後需要對數據表中的數據進行查詢,如果沒有找到,則在插入數據表時提示注冊成功,否則提示此用戶已被佔用請重新注冊。
用戶注冊的流程圖如圖5.3所示。

圖 5.3用戶注冊系統流程圖
2、用戶登錄
用戶登錄窗口設置在首頁上,主要用來接收用戶錄入的用戶名及密碼。單擊「注冊」按鈕時,會提交到user/index.htm頁面執行;單擊「登錄」按鈕時,系統將對輸入的用戶名和密碼進行驗證,如果數據表中用戶名和密碼存在就顯示登陸成功,並返回首頁,否則彈出錯誤提示信息。
用戶登錄的流程圖如圖5.4所示。

圖 5.4 用戶登錄系統流程圖
3、找回密碼
當密碼以外丟失會給用戶帶來不必要的麻煩,重新注冊一個新的用戶即浪費了時間,也浪費網站的資源,如果用戶只記住自己注冊的用戶名及電子郵箱名並提供密碼提示的問題和答案就可以找回密碼。找回密碼頁面user/pass.htm如圖5.5所示。

圖 5.5找回密碼頁面運行結果
用戶單擊「查找」按鈕,系統會將傷表中所示的數據表單提交到user/res.jsp中。user/res.jsp頁用來驗證提交過來的四個條件是否完全符合資料庫中的查找條件,只有符合才能顯示密碼結果,否則彈出「你輸入信息有誤」的提示對話框。
5.3.2 用戶資料修改模塊
用戶資料修改時為用戶更改個人信息所提供的窗口,用戶只有登錄網頁後才有許可權修改個人資料信息。
用戶資料修改模塊在前台主頁的導航條上,單擊「修改資料」鏈接,進入用戶資料修改頁面,該頁面主要用戶修改用戶信息。用戶資料修改頁面如圖5.6所示。

圖 5.6 用戶資料修改頁面運行結果
個人信息修改完畢後,要將修改後的數據信息更新到注冊數據表中,單擊「修改」按鈕,如果提交的數據無誤,將彈出「數據更新成功」的消息對話框;否則將彈出「更新失敗」的消息對話框。
用戶資料修改模塊流程圖如圖5.7所示。

圖 5.7 用戶資料修改模塊流程圖
5.3.3 購物車模塊
購物車模塊中,主要包含以下幾個功能,即:添加購物車、查看購物車、生成訂單和清空購物車。
購物車頁運行結果如圖5.8所示。

圖 5.8 購物車頁面運行結果
1、 添加購物車
添加購物車就是把用戶選中的商品暫時存放在購物車中,當用戶在前台首頁中單擊商品展示區的「購買」按鈕時,系統會將該商品的詳細信息展示在查看物品清單頁面中。用戶在單擊物品清單頁面下方的「放入購物車」鏈接,便可以將該商品放入購物車中。
添加商品的代碼流程是從session中讀取shop對象,如果為空則說明還沒有進行購物或者已經清空了購物車,需要新建購物車對象;將商品名稱與購物車列表中的商品名稱對比,如果已經存在,則把商品數量加1。
在這段代碼流程中,還使用了集合類型。集合類型在Java中又稱為向量,是一元集合,可以加入重復數據,它的作用和數組相同,可以保存一系列數據,但集合類型也有它獨特的優點,就是可以方便地對集合內的數據進行查找、增加、刪除和修改等操作。
2、 查看購物車
為了方便用戶隨時查看購物情況,在網站的首頁加入了查看購物車的鏈接,通過它可以將用戶所有選中的商品信息放入購物車中顯示出來。在程序中使用了一組文本框記錄用戶購買的商品數量,用戶可以在文本框中輸入想要購買的數量然購單擊「修改」按鈕。如果欲刪除該商品,可以在數量文本框里輸入「0」,並需要單擊「修改」按鈕來更新購物車中商品的數量。
系統每次只會將1個商品放入購物車中,如果用戶需要多個同種商品,可以通過修改商品信息右側相應文本框的值來完成。操作完成後需要通過單擊「修改」按鈕來保存操作。
3、 生成訂單
生成訂單時網上購物商城的最終目的,前面所有功能的實現都是為最後生成一個用戶滿意的訂單作基礎,在此要生成一個可供用戶隨時查詢的訂單號,還要保存用戶訂單中所購買的商品信息。當用戶確認對購物車不再改變以後,就可以到收銀台結帳並生成訂單。結帳的流程為:從購物車中讀取商品名稱,商品數量,商品價格信息,生成一個唯一的訂單號,同時也把用戶注冊的基本信息讀取出來,形成一個完整的訂單寫入資料庫。
在生成訂單模塊中主要使用了調出用戶信息並生成唯一訂單號,調出用戶信息就是完全的對資料庫進行操作,利用session對象把登錄後的用戶名保存起來,在訂單生成時把保存的用戶名從資料庫的用戶標中取出即可;生成唯一訂單號方法有很多,只要確保訂單號碼的唯一性及方便用戶記錄以便於查詢自己訂單的執行狀態即可。
訂單生成後,用戶單擊「提交」按鈕,便可以將錄入的訂單信息保存到資料庫中。
4、 清空購物車
清空購物車是指當用戶訂單生成後,倘若還想繼續購物一定要清空購物車再進行選購商品,這樣防止重復購物,其實清空購物車實現起來非常簡單,只需要將session中存儲的shop對象清空即可。
購物車模塊流程圖如圖5.9所示。

圖 5.9購物車模塊流程圖
5.3.4 訂單查詢模塊
用戶提交訂單後,通過產生的訂單號查詢訂單信息及執行狀態。用戶在購物中心首頁中單擊「訂單查詢」超鏈接,就可以進入輸入訂單號頁面,在頁面的文本框中輸入訂單號並單擊「提交」按鈕,如果訂單號輸入無誤,系統將根據用戶錄入的訂單號在數據表中查詢處對應的貨品信息並轉到訂單查詢顯示頁面將貨品信息顯示出來。
訂單查詢模塊流程圖如圖5.10所示。

圖 5.10 訂單查詢模塊流程圖
5.3.5 留言板模塊
留言板模塊由瀏覽留言板和添加留言板兩部分組成。下面分別對這兩部分進行介紹。
1、瀏覽留言板
單擊網站首頁的「留言板」超鏈接進入留言板頁面,在該頁面中,主要顯示用戶所填寫的留言,以便其他用戶查閱。
留言板中顯示的數據是從數據表中檢索出來並顯示在網頁中的,為了方便查看網頁信息,使用了分頁顯示功能。對網頁進行分頁顯示首先要確定記錄跨度,就是每頁所顯示的記錄數,在這個網站的留言板中,設定了int pagesize=4,即每頁中只允許顯示4條留言信息,用戶可以通過單擊「上一頁」、「下一頁」、「最後一頁」、「第一頁」或則從文本框中鍵入一個數值跳轉到相應頁瀏覽留言信息。
記錄的總條數可以從資料庫中通過查詢語句rs.last();rowcount=rs.getRow得到,而計算總頁數時,根據總頁數=總記錄數/跨度,如果除不盡就加1的原理,設計代碼為:
pagecount=((rowcount%pagesize)==0?(rowcount/pagesize);(rowcount/pagesize)+1)。
如果獲取文本框中的數據不為空就把它轉換成整型數據,然後賦值給當前獲取頁再做進一步判斷;如果獲取的頁數大於總頁數就把總頁數賦給獲取頁數,否則就把獲取頁數值賦為1。而計算當前記錄數時,當前記錄數=(獲取頁數-1)*跨度+1。代碼如下所示。
int showpage=1;
if(topage!=null){
showpage=Integer.parseInt(topage);
if(showpage>pagecount){
showpage=pagecount;
}else if(showpage<=0){
showpage=1;
}
}
rs.absolute((showpage-1)*pagesize+1);
有了以上這幾個關鍵變數,網頁分頁顯示功能基本上已經實現了,下一步就是在當前記錄數位置開始循環,當資料庫沒有記錄的時候一定要終止循環程序。代碼如下:
for(int i=1;i<=pagesize;i++){
……
if(!rs.next())
break;
}
2、添加留言
添加留言是用戶與用戶,以及用戶與網站之間的一種交流模式,只有把用戶想要表達的內容添加至資料庫中,才能在瀏覽留言板中進行顯示。
用戶在留言板中單擊「添加留言」超鏈接就可以打開添加留言頁面,該頁面主要用來提交用戶輸入的留言信息。用戶在添加留言頁中單擊「提交」按鈕,系統會將數據表單提交到admin/addle.jsp頁,該頁用來實現江留言內容存入到資料庫中。
留言板模塊的流程圖如圖5.11所示。

圖 5.11 留言板模塊流程圖
5.4 後台功能模塊的實現
後台功能只允許具有管理員許可權的用戶使用,它是實現前台功能的基礎。後台包括管理員身份驗證、添加商品模塊、訂單信息管理模塊、查詢用戶信息管理模塊、添加鏈接模塊、公告信息管理模塊。後台首頁主要有以下幾個部分。
(1)後台導航區:放置管理員可操作項目的鏈接;
(2)操作區:顯示所有後台導航的鏈接信息。
5.4.1 管理員登錄模塊
在前台首頁單擊管理員入口,將轉到管理員登錄頁面,該頁面的功能是對管理員身份進行驗證。在管理登錄頁面中,是通過JavaScript來實現錄入數據完整性驗證的。用戶輸入登錄ID和密碼後單擊「登錄」按鈕時,如果錄入數據完整性驗證通過,系統會將數據提交到Acheck.jsp登錄頁面,該頁面用來判斷輸入信息在資料庫中tb_Admin表是否存在提交的用戶名和密碼,如果登錄ID及密碼有效,就保存用戶名信息,管理員有權對網站進行維護;反之則提示錯誤。
登錄頁面如圖5.12所示。

圖 5.12 管理員登錄頁面運行結果
流程圖如圖5.13所示。

圖 5.13 管理員登錄系統流程圖
5.4.2 添加商品模塊
單擊導航區中的「添加商品」超鏈接,系統將打開添加商品頁面,該頁面主要用於將商品信息添加到資料庫中,以提供前台首頁商品展示所需要的數據依據。用戶單擊「添加」按鈕後添加商品如圖5.14所示。

圖 5.14 添加商品信息頁面運行結果
為了減少人為錯誤,在提交商品信息時,需要對數據的合法性進行驗證,輸入的商品價格不能使字元型,而輸入的圖片只支持Gif格式等,這些任務由腳本語言JavaScript的函數check()來完成。代碼如下。
function check(){
……
if(form1.image.value==""){
alert("請輸入展示圖片的路徑");
form1.image.focus();
return false;
}
if(isNaN(form1.wareprice.value)){
alert("商品價格輸入不正確");
form1.wareprice.focus();
return false;
}
為了確保商品在數據表中的唯一性,在用戶提交表單時,需要先根據用戶輸入的商品名稱對數據表進行查詢,確保此商品在數據表中不存在後,方可執行插入操作。這一功能由admin/wcheck.jsp來完成。
流程圖如圖5.15所示。

圖 5.15 添加商品信息模塊流程圖
5.4.3 訂單信息管理模塊
用戶在前台購物所產生的訂單並不能立即執行,需要系統管理員在後台進行訂單信息管理審核以確認它的執行性。用戶單擊導航區中的「訂單信息管理」超鏈接進入用戶訂單處理頁面,該頁面上會顯示近期所有沒被處理的訂單。用戶訂單處理頁面顯示的是用戶基本信息,要想知道訂單中所涉及的商品,需要單擊對應訂單號的超鏈接打開商品訂購詳單頁面才行。
商品訂購詳單主要通過提交的訂單號從tb_Shop表中查詢處對應的商品並顯示在頁面中,管理員審核後可通過復選框來設置訂單是否執行。程序中利用admin/shop.jsp來完成這些功能。當選中「是/否」復選框時,系統會根據提交的訂單號更新數據表,如果更新成功,則轉到spif.jsp也執行。
流程圖如圖5.16所示。

圖 5.16 訂單信息管理模塊流程圖
5.4.4 查詢用戶信息模塊
查詢用戶信息模塊用來完成對注冊用戶的瀏覽及刪除功能。如果用戶蓄意性注冊或者在很長時間內沒有訂單產生,管理員就可以將該用戶信息刪除。單擊導航區中的「查詢用戶信息」超鏈接進入用戶信息頁面,就可以看到用戶信息。在這一部分的設計中,也使用了分頁顯示功能。對於一些失信用戶只需要單擊右側的「刪除」超鏈接,即可轉到admin/deluser.jsp頁中做刪除處理。
流程圖如圖5.17所示。

圖 5.17 查詢用戶信息模塊流程圖
5.4.5 添加鏈接模塊
用戶在後台首頁導航區中單擊「添加鏈接」即可進入添加友情鏈接頁面,該頁面用戶在前台顯示友情鏈接信息。添加鏈接頁面如圖5.18所示。

圖 5.18 添加鏈接頁面運行結果
用戶單擊「提交」按鈕後,系統將添加鏈接頁面的數據表單提交admin/addlink.jsp頁面處理。若添加失敗,則提示故障信息,並返回頁面。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:642
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:368
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:89
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:312
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:795
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:348
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:213
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:819
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:369
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:596