藥品進銷存儲管理系統(三)
未知
//登陸驗證
List list=new ArrayList();
Integer page=Integer.parseInt(request.getParameter("page"));
session.setAttribute("u.flag", "1");
Integer pageNumber=(Integer)session.getAttribute("u.pageNumber");
Integer perPageNumber=(Integer)session.getAttribute("u.perPageNumber");
//從session中取出分頁信息
if(pageNumber!=0){
if(page<1||page>pageNumber){
return mapping.findForward("tohome.do");
}
//驗證當前頁是否非法,若是,返回首頁
String sql=(String)session.getAttribute("u.sql");
if(sql!=null){
sql+=" limit "+((page-1)*perPageNumber+1)+","+perPageNumber;
}
//拼接sql語句得到顯示當前頁的sql
list=new UserDAO().finduser(sql);
}
else{
if(page!=1){
return mapping.findForward("tohome.do");
}
}
if(list!=null||list.size()>0){
request.setAttribute("list", list);
return mapping.findForward("show.ok");
}else{
return mapping.findForward("show.error");
}
//若list長度大于0則分發至顯示頁面,否則生成錯誤信息返回
}
}
5 系統測試
系統在投入使用之前必須進行嚴格的測試,測試的內容包括功能測試、性能測試、可用性測試、客戶端兼容性測試、安全測試等。測試完成后要上交測試報告,我們可以根據測試報告及時發現問題并提出解決方案,便于系統的維護與升級。
迄今為止,軟件質量仍然主要靠軟件測試來驗證和確認,而且由于測試工作特別耗費資源,在軟件開發的總成本中,用在測試上的開銷要占30%到50%。在極端的情況下,例如在關系到人的生命安全的軟件中(如飛機控制或核反應監控等軟件),測試費用可能相當軟件生存周期所有其它階段費用總和的三到五倍。此外,據美國工業界的統計,對商品化的程序來說,測試在時間和費用兩方面的花費都要占整個軟件開發周期總開銷的50%左右。
但軟件測試并不是質量保證的“安全網”。因此,我們應該從兩個方面來保證和提高軟件質量:首先,應盡量在開發期間減少錯誤,通過軟件過程來建立軟件質量;次之,應通過分析和測試來發現和修復軟件產品中殘存的錯誤。
經過初步測試,系統在服務器上運行正常,對于不同顯示分辨率下網頁也能夠正常顯示而且網頁的鏈接正確。系統各個基本功能都能順利實現,沒有發現重大系統錯誤。但是由于時間短促和設計者能力有限,在日志和新聞顯示中效果不是很理想,另外頁面美工效果一般。各個功能的可擴展性,如能在日志添加相冊功能,在公開文章中加入留言功能等,還有待進一步實現。
附錄一:
1 register.jsp表單設計
表單要素說明 表單要素名稱 表單要素性質 用戶名 Username 文本框(必填項) 密碼 Password 文本框(密碼域、必填項) 確認密碼 passconfirm 文本框(密碼域、必填項) 真實姓名 realname 文本框 出生年月 Year,month,day 下拉菜單 性別 sex 下拉菜單 聯系方式 telnumber 文本框 Email地址 email 文本框 提交按鈕 Submit2 按鈕(類型為submit) 重置按鈕 Reset2 按鈕(類型為reset) 2 用戶數據表結構
表單要素說明
表單要素名稱
表單要素性質
用戶名
Username
文本框(必填項)
密碼
Password
文本框(密碼域、必填項)
確認密碼
passconfirm
文本框(密碼域、必填項)
真實姓名
realname
文本框
出生年月
Year,month,day
下拉菜單
性別
sex
下拉菜單
聯系方式
telnumber
文本框
Email地址
文本框
提交按鈕
Submit2
按鈕(類型為submit)
重置按鈕
Reset2
按鈕(類型為reset)
(1)用戶表
表2 users 數據表結構
字段名 字段類型 字段含義 主外鍵約束 Username varchar 用戶名 主鍵 userpass varchar 密碼 sex char 性別 realname varchar 真實姓名 borntime varchar 出生年月 status char 審批狀態 telnumber varchar 聯系方式 email varchar 郵箱地址 introduce text 自我介紹 (2)管理員表:
字段名
字段類型
字段含義
主外鍵約束
Username
varchar
用戶名
主鍵
userpass
varchar
密碼
sex
char
性別
realname
varchar
真實姓名
borntime
varchar
出生年月
status
char
審批狀態
telnumber
varchar
聯系方式
varchar
郵箱地址
introduce
text
自我介紹
表3 admin 數據表結構
字段名 字段類型 字段含義 主外鍵約束 Admin_name varchar 用戶名 主鍵 Admin_pass varchar 密碼 (3)日志表:
字段名
字段類型
字段含義
主外鍵約束
Admin_name
varchar
用戶名
主鍵
Admin_pass
varchar
密碼
表4 diary 數據表結構
字段名 字段類型 字段含義 主外鍵約束 diaryID integer ID,自動編號 主鍵 Title varchar 標題 kindID integer 所屬類別 外鍵關聯表kind Username varchar 發布人 外鍵關聯users Content text 內容 Createtime datetime 創建時間 Updatetime datetime 更新時間 Status char 狀態 isopen char 是否公開 (4)公告表:
字段名
字段類型
字段含義
主外鍵約束
diaryID
integer
ID,自動編號
主鍵
Title
varchar
標題
kindID
integer
所屬類別
外鍵關聯表kind
Username
varchar
發布人
外鍵關聯users
Content
text
內容
Createtime
datetime
創建時間
Updatetime
datetime
更新時間
Status
char
狀態
isopen
char
是否公開
表5 gonggao 數據表結構
字段名 字段類型 字段含義 主外鍵約束 Id integer ID,自動編號 主鍵 Title varchar 標題 Content text 內容 updatetime datetime 更新時間
字段名
字段類型
字段含義
主外鍵約束
Id
integer
ID,自動編號
主鍵
Title
varchar
標題
Content
text
內容
updatetime
datetime
更新時間
表6 kind 數據表結構
字段名 字段類型 字段含義 主外鍵約束 Kindid integer ID,自動編號 主鍵 Kindname varchar 類別名稱 Username varchar 創建人 外鍵關聯users (6)新聞表:
字段名
字段類型
字段含義
主外鍵約束
Kindid
integer
ID,自動編號
主鍵
Kindname
varchar
類別名稱
Username
varchar
創建人
外鍵關聯users
表7 news 數據表結構
字段名 字段類型 字段含義 主外鍵約束 newsid int ID,自動編號 主鍵 Title varchar 標題 Content text 內容 Createtime datetime 更新時間 address datetime 轉載地址 附錄二:
字段名
字段類型
字段含義
主外鍵約束
newsid
int
ID,自動編號
主鍵
Title
varchar
標題
Content
text
內容
Createtime
datetime
更新時間
address
datetime
轉載地址
Web.xml文件