黃金白銀開戶系統(tǒng)的設(shè)計與實現(xiàn)──查詢與管理員功能_第1頁
黃金白銀開戶系統(tǒng)的設(shè)計與實現(xiàn)──查詢與管理員功能_第2頁
黃金白銀開戶系統(tǒng)的設(shè)計與實現(xiàn)──查詢與管理員功能_第3頁
黃金白銀開戶系統(tǒng)的設(shè)計與實現(xiàn)──查詢與管理員功能_第4頁
黃金白銀開戶系統(tǒng)的設(shè)計與實現(xiàn)──查詢與管理員功能_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第第頁)黃金白銀開戶系統(tǒng)的設(shè)計與實現(xiàn)──查詢與管理員功能摘要:銀行黃金白銀開戶系統(tǒng)查詢模塊的總體目標(biāo)是:構(gòu)建銀行黃金白銀理財產(chǎn)品的查詢系統(tǒng),能夠查詢黃金白銀走勢、持有的黃金白銀數(shù)量、收益虧損狀況,并做出一個對總持有的黃金白銀詳細(xì)的盈虧總計。而管理員模塊則是對注冊用戶的審核、用戶交易的查看以及對近期的黃金白銀信息走勢做到實時更新,凸現(xiàn)互聯(lián)網(wǎng)優(yōu)勢。關(guān)鍵詞:PHP;銀行;黃金白銀;查詢模塊;管理員模塊;Abstract:TheoverallgoalofquerymoduleoftheGoldandSilveropenaccountbanksystemis:buildquerysystemofGoldandSilverbanksystem,tobeabletoquerythepriceofGoldandSilver,theamountofholdingsofgoldandsilver,therevenuelossesandatotalholdingsofGoldandSilverdetailsofthetotalprofitandloss.Theadministratormoduleisforregisteredusersofaudit,querytheusertransactionsandupdatetherecentpriceofGoldandSilver,showtheadvantageofInternet.Keywords:PHP;bank;goldandsilver;1引言1.1編寫目的隨著我國經(jīng)濟(jì)的發(fā)展和個人理財業(yè)務(wù)的發(fā)展,我國商業(yè)銀行的理財產(chǎn)品種類不斷地增多。炒金一直是個人理財市場的熱點,備受投資者們的關(guān)注和青睞。近兩年,國際黃金白銀價格持續(xù)上漲??梢灶A(yù)見,隨著國內(nèi)貴金屬投資領(lǐng)域的逐步開放,未來黃金白銀需求的增長潛力是巨大的。在這個市場上,占據(jù)自己的一席之地的國內(nèi)中小型商業(yè)銀行,必須要順應(yīng)潮流,急需一套功能完備的網(wǎng)上銀行貴金屬理財系統(tǒng),利用自身廣泛的網(wǎng)絡(luò)渠道與客戶基礎(chǔ),以專業(yè)化的角度幫助廣大群眾理財投資。1.2項目背景項目委托單位:重慶師范大學(xué)計算機(jī)與信息科學(xué)學(xué)院2011級軟件工程第二開發(fā)團(tuán)隊林子涵項目主管部門:安博教育西南基地項目規(guī)劃:表1.2.1各年設(shè)計實驗表階段文檔提交日期需求階段需求分析文檔11月10日分析設(shè)計軟件設(shè)計文檔12月10日測試軟件測試文檔1月10日2數(shù)據(jù)庫設(shè)計2.1靜態(tài)數(shù)據(jù)銀行黃金白銀系統(tǒng)處理程序中靜態(tài)數(shù)據(jù)分離技術(shù)經(jīng)過3個發(fā)展階段。

1.靜態(tài)數(shù)據(jù)作為應(yīng)用程序的一部分直接保存在程序中,即靜態(tài)數(shù)據(jù)與程序結(jié)合在一起。

2.靜態(tài)數(shù)據(jù)從程序內(nèi)部分離出來,形成獨立的外部數(shù)據(jù)文件。靜態(tài)數(shù)據(jù)文件與動態(tài)

數(shù)據(jù)文件相互獨立,依靠特定程序分別進(jìn)行參照或存取。

3.靜態(tài)數(shù)據(jù)由外部數(shù)據(jù)文件存放方式轉(zhuǎn)為數(shù)據(jù)庫存放方式,將以前程序中靜態(tài)數(shù)據(jù)對動態(tài)數(shù)據(jù)加工的某些控制關(guān)系抽象為靜態(tài)表與動態(tài)表間關(guān)系。用戶id;管理員id;用戶身份;用戶密碼;用戶銀行卡號;用戶個人信息;用戶交易附加費;2.2動態(tài)數(shù)據(jù)輸入數(shù)據(jù):菜單選項,查詢關(guān)鍵字,新建記錄項。輸出數(shù)據(jù):由查詢黃金白銀走勢確定的數(shù)據(jù)庫記錄集合或全部記錄。內(nèi)部生成的數(shù)據(jù):中間查詢結(jié)果。2.3數(shù)據(jù)庫介紹數(shù)據(jù)庫:Mysql其優(yōu)點在于:它使用的核心線程是完全多線程,支持多處理器。有多種列類型:1、2、3、4、和8字節(jié)長度自有符號/無符號整數(shù)、FLOAT、DOUBLE、CHAR、VARCHAR、TEXT、BLOB、DATE、TIME、DATETIME、TIMESTAMP、YEAR、和ENUM類型。它通過一個高度優(yōu)化的類庫實現(xiàn)SQL函數(shù)庫并像他們能達(dá)到的一樣快速,通常在查詢初始化后不該有任何內(nèi)存分配。沒有內(nèi)存漏洞。全面支持SQL的GROUPBY和ORDERBY子句,支持聚合函數(shù)(COUNT()、COUNT(DISTINCT)、AVG()、STD()、SUM()、MAX()和MIN())。你可以在同一查詢中混來自不同數(shù)據(jù)庫的表。所有列都有缺省值。你可以用INSERT插入一個表列的子集,那些沒用明確給定值的列設(shè)置為他們的決省值??梢怨ぷ髟诓煌钠脚_上。支持C、C++、Java、Perl、PHP、Python和TCLAPI。體積小,速度快,總體擁有成本低。長時間的開發(fā)經(jīng)驗,完全向下兼容。得到廣泛的應(yīng)用。完全沒有風(fēng)險。2.4數(shù)據(jù)字典數(shù)據(jù)從程序內(nèi)部分離出來,形成獨立的外部數(shù)據(jù)文件。靜態(tài)數(shù)據(jù)文件與動態(tài)數(shù)據(jù)文件相互獨立,依靠特定程序分別進(jìn)行參照或存取。靜態(tài)數(shù)據(jù)由外部數(shù)據(jù)文件存放方式轉(zhuǎn)為數(shù)據(jù)庫存放方式,將以前程序中靜態(tài)數(shù)據(jù)對動態(tài)數(shù)據(jù)加工的某些控制關(guān)系抽象為靜態(tài)表與動態(tài)表間關(guān)系2.4.1數(shù)據(jù)項表2.4.1.1黃金白銀走勢表字段名稱數(shù)據(jù)類型是否為空默認(rèn)說明Info_datedate不為空無走勢日期Info_goldFloat(10,2)不為空無黃金走勢價格Info_silverFloat(10,2)不為空無白銀走勢價格表2.4.1.2交易查詢視圖表字段名稱數(shù)據(jù)類型是否為空默認(rèn)說明User_idbigint(18)不為空無用戶idTrade_idInt(6)不為空000000交易流水號Trade_datedate不為空無交易時間Trade_typeset('gold','silver')不為空無交易種類Buy_or_sellset('buy','sell')不為空無買賣類型Trade_amountInt(10)不為空無交易數(shù)量Info_goldFloat(10,2)不為空無當(dāng)日黃金價格Info_silverFloat(10,2)不為空無當(dāng)日白銀價格2.4.2數(shù)據(jù)結(jié)構(gòu)表2.4.2.1交易查詢信息表名稱交易查詢信息別名無用途聯(lián)合查詢的視圖描述包含:用戶id、交易流水號、交易日期、交易種類買賣種類、交易數(shù)量、當(dāng)日金價、當(dāng)日銀價表2.4.2.2用戶類型表名稱用戶類型別名無用途區(qū)別是管理員還是其他描述0:未審核1:未通過審核2:通過審核9:管理員3概要設(shè)計3.1功能劃分本軟件具有如下主要功能:用戶注冊功能用戶查看黃金白銀走勢功能完善數(shù)據(jù)功能買賣黃金白銀功能管理員審核功能管理員添加功能圖3-1用例圖圖3-2用戶E-R圖圖3-3管理員E-R圖3.2功能描述表3.2.1查詢功能表查詢系統(tǒng)功能描述查詢走勢查詢近期的黃金白銀信息走勢查詢自己的交易信息(1)查詢現(xiàn)在持有黃金白銀數(shù)量,查詢收益虧損狀況。并做出一個對總持有的黃金白銀盈虧總計。(2)查詢指定的日期或者時間段內(nèi),自己所有進(jìn)行的黃金白銀的交易信息。圖3-3查詢模塊功能結(jié)構(gòu)圖表3.2.2管理員功能表管理員系統(tǒng)功能描述審核用戶對開戶的用戶進(jìn)行身份審核查看用戶管理員查看所有用戶信息走勢信息增、刪、改、查黃金白銀走勢查看用戶交易管理員可以查詢用戶交易信息管理員可以查詢網(wǎng)站盈利圖3-4管理員模塊功能結(jié)構(gòu)圖4詳細(xì)設(shè)計4.1用戶時序圖圖4-1用戶時序圖4.2管理員時序圖圖4-2管理員時序圖4.3類圖圖4-3類圖用戶類型分為4種,在數(shù)據(jù)庫中用user_type區(qū)別:值為0:待審核用戶,此類型用戶不能進(jìn)行交易。值為1:未通過審核用戶,此類型用戶信息審核不成功,需根據(jù)未通過審核原因進(jìn)行信息的修改,修改信息后,用戶類型再次變?yōu)榇龑徍擞脩?,此類型用戶不能進(jìn)行交易。值為2:已審核用戶,此類用戶能夠進(jìn)行交易。值為9:管理員,可以對注冊用戶進(jìn)行審核,可以對黃金白銀走勢進(jìn)行增刪改查。4.4核心代碼4.4.1管理員審核模塊controller/user.inc中管理員審核用戶信息的代碼publicfunctionuser_info_check_admin_action(){$model=createModel("user");//var_dump($_POST["check_state"]);if($_POST["check_state"]){$params=array("user_id"=>$_POST["user_id"],"user_type"=>$_POST["check_state"],"checknote"=>$_POST["check_fail_reason"]//通過審核為無,未通過審核則有未通過原因);//var_dump($params);$model->setUTF();//$datas=$model->getUserInfo($params);//獲取所有用戶信息$model->updateUserType($params);//更新審核狀態(tài)redirect("index.php?ctl=user&act=index_admin");//跳轉(zhuǎn)到index_admin方法}else{$params=array("user_id"=>$_REQUEST["user_id"]);$model->setUTF();$datas=$model->getAuser($params);$this->display($datas,$this->ctlName,"user_info_check_admin");}}model/user.inc中控制不同功能的sql語句:constSetUTFSQL="setnamesutf8";//控制編碼類型constGetAllUserSQL="select*fromuserwhereuser_type<>9orderbyuser_type";//查詢不為管理員的所有用戶constGetUserInfoSQL="select*fromuserwhereuser_id={user_id}";//選取用戶的所有信息constUpdatepwdSQL="updateusersetuser_pwd={new_pwd}whereuser_id={user_id}";//修改admin密碼constGetadminSQL="select*fromuserwhereuser_id={user_id}anduser_pwd={user_pwd}";//驗證管理員舊密碼是否正確constUpdateUserTypeSQL="updateusersetuser_type={user_type},checknote={checknote}whereuser_id={user_id}";view/user/index_admin.html中顯示用戶類型的狀態(tài),需要審核的顯示為紅色if($datas){ //若存在注冊用戶echo"<tableclass='d_table'border='1'(省略若干行)foreach($datasas$row){if($row["user_id"]){if($row["user_type"]==2)echo"(省略若干行)";//通過審核elseif($row["user_type"]==1)echo"(省略若干行)";//未通過審核elseif($row["user_type"]==0)echo"(省略若干行)";//請審核}}}else{ //若不存在注冊用戶echo"沒有注冊用戶";}view/user/index_info_check_admin.html中檢查是或否通過審核,如若選擇未通過審核,則彈出textarea,輸入未通過審核原因<scripttype="text/javascript"> functiontextareadisabledture(){ document.getElementById("check_fail_reason_div").style.display="none";document.getElementById("check_fail_reason").value="無"; }functiontextareadisabledfalse(){ document.getElementById("check_fail_reason_div").style.display="block"; }</script>...<formaction="index.php?ctl=user&act=user_info_check_admin"method="post"target="_self"><label>審核結(jié)果:</label><inputtype="text"value="<?phpecho$user["user_id"]?>"name="user_id"style="display:none;"/><inputtype="radio"value="2"name="check_state"onClick="textareadisabledture();"/>審核通過//鏈接上面的javascript<inputtype="radio"value="1"name="check_state"onClick="textareadisabledfalse();"/>審核未通過<br/><divstyle="display:none;"id="check_fail_reason_div"><textareastyle="width:300px;height:150px;"requiredplaceholder="請輸入用戶審核未通過原因:"id="check_fail_reason"name="check_fail_reason"></textarea><br/></div><inputtype="submit"value="提交"style="width:80px;margin-right:10px;height:30px;"/><inputtype="reset"value="重置"style="width:80px;margin-right:5px;height:30px;"/></form>圖4-4管理員查看用戶狀態(tài)操作界面圖4-5管理員審核用戶信息界面4.4.2走勢模塊controller/query.inc中管理員可增刪改查今日走勢publicfunctioninfo_today_insert_admin_action()//添加、修改今日走勢{$model=createModel("query");if($_REQUEST["info_gold_today"]&&$_REQUEST["info_silver_today"]){$params=array("info_gold"=>$_REQUEST["info_gold_today"],"info_silver"=>$_REQUEST["info_silver_today"],"info_date"=>date('Y-m-d',time())//獲取今日年月日);$model->deleteInfo($params);//添加前刪除已有的今日走勢$model->insertInfo($params);redirect("index.php?ctl=query&act=info_admin");}else{$this->display(array(),$this->ctlName,"info_today_insert_admin");}}publicfunctioninfo_today_delete_admin_action()//刪除今日走勢{$model=createModel("query");$params["info_date"]=date('Y-m-d',time());$model->deleteInfo($params);redirect("index.php?ctl=query&act=info_admin");}檢查輸入:onKeyUp="this.value=this.value.replace(/[^(\d|\.)]/g,'');"model/query.inc:刪除今日走勢的sql語句:constDeleteInfoSQL="deletefrominfowhereinfo_date={info_date}";增加今日走勢的sql語句:constInsertInfoSQL="insertintoinfo(info_date,info_gold,info_silver)values({info_date},{info_gold},{info_silver})";圖4-6管理員查看黃金白銀走勢操作界面用戶查看黃金白銀走勢:controller/query.inc中可分為查看所有走勢、查看指定日期走勢publicfunctioninfo_action()//查詢黃金白銀信息{$model=createModel("query");$datas[0]=$model->getAllInfo();$params=array("info_date"=>$_REQUEST["search_date"]);if($params["info_date"]){$datas[1]=$model->getInfoDate($params);//獲取特定時間的信息$datas[1][1]=1;//初始化函數(shù)}else$datas[1][1]=0;//初始化函數(shù)$this->display($datas,$this->ctlName,"info");}圖4-7用戶查看黃金白銀走勢操作界面4.4.3查詢模塊controller/query.inc中用戶、管理員查看交易記錄:publicfunctioninfo_action()//查詢黃金白銀信息{$model=createModel("query");$datas[0]=$model->getAllInfo();$params=array("info_date"=>$_REQUEST["search_date"]);if($params["info_date"]){$datas[1]=$model->getInfoDate($params);//獲取特定時間信息$datas[1][1]=1;//初始化函數(shù)}else$datas[1][1]=0;//初始化函數(shù)$this->display($datas,$this->ctlName,"info");}圖4-15用戶查看個人交易記錄操作界面5測試5.1測試的目的依據(jù)需求文檔、概要設(shè)計說明、詳細(xì)設(shè)計說明,設(shè)計測試用例,對軟件系統(tǒng)進(jìn)行測試,目的是:為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程,好的測試方案是能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯誤的測試方案,成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯的。同時能找出軟件功能與需求不一致的地方,由開發(fā)人員在進(jìn)行修改與補充。5.2測試用例表5.2.1劃分等價類輸入條件合理等價類不合理等價類今日金價、今日銀價1.正整數(shù)、小數(shù)2.字母、字符表5.2.1合理類測試用例測試數(shù)據(jù)期望結(jié)果覆蓋范圍10輸入有效111.11輸入有效1表5.2.2不合理類測試用例測試數(shù)據(jù)期望結(jié)果覆蓋范圍abc輸入無效2~.~輸入無效25.3具體測試為正整數(shù)、小數(shù)的時候可以輸入的今日金價、今日銀價。否則不能輸入。6結(jié)束語踉踉蹌蹌地忙碌了三個月,我的畢業(yè)設(shè)計課題也終將告一段落。進(jìn)入站點,也基本達(dá)到預(yù)期的效果,虛榮的成就感在沒人的時候也總會冒上心頭。但由于能力和時

溫馨提示

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

評論

0/150

提交評論