版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
題目:銀行個人賬戶信息管理系統(tǒng)
銀行個人賬戶管理系統(tǒng)
摘要
賬戶管理是目前每個銀行的業(yè)務(wù)流程中的最重要日勺一項,在銀行的各項業(yè)務(wù)流程中起
著承上啟下口勺作用,可謂是銀行業(yè)務(wù)H勺重中之重。
本文針對上述問題,采用軟件工程的開發(fā)原理,根據(jù)軟件工程日勺流程過程規(guī)范,按照
需求分析、概要設(shè)計、詳細(xì)設(shè)計、程序編碼、測試、軟件應(yīng)用、軟件維護(hù)等過程開發(fā)了一
種銀行個人賬戶信息管理系統(tǒng)。采用Linux平臺作為開發(fā)環(huán)境,QT、C++作為開發(fā)工具,
面向?qū)ο蠡O(shè)計,重要設(shè)計了管理員的登錄、新顧客口勺開戶、存取款、轉(zhuǎn)賬、查詢業(yè)務(wù),
處理了銀行目前操作的繁瑣流程,以便快捷的實(shí)現(xiàn)了銀行賬戶管理的基本任務(wù)。
本設(shè)計設(shè)計的銀行個人賬戶信息管理系統(tǒng),能使銀行工作人員輕松快捷日勺完畢對賬戶
管理日勺任務(wù),使銀行日勺賬目管理工作系統(tǒng)化、快捷化、規(guī)范化、自動化、高效化。
關(guān)鍵詞:個人信息管理;QT:C++;面向?qū)ο?
Personalbankaccountmanagementsystem
ABSTRACT
Accountmanagementisoneofthemostimponantforeachbank'sbusinessprocesses,
whichplaysaconnectingroleinthebank'svariousbusinessprocesses.Itcanbedescribedasthe
topmostimportanttransactioninbanking.
Fortheaboveproblems,inthispaper,adoptedthedevelopmentofsoftwareengineering
principles,basedonthesoftwareengineeringprocessspecificationprocess,inaccordancewith
theneedsanalysis,outlinedesign,detaileddesign,programcoding,testing,softwareapplications,
andsoftwaremaintenanceprocess,wedevelopedapersonalbankaccountinformation
managementsystems.UsedtheLinuxplatformasadevelopmentenvironment,andusedQT,C+
+asadevelopmenttool,object-orienteddesign,thispapermajordesignedoftheadministrator's
login,newuseraccounts,withdrawals,transfers,businessinquiries,itsolvedthecumbersome
operatingprocessofbanks,andachieveabasicbankaccountmanagementtasksconvenient.
Thisdesigndesignedapersonalbankaccountinformationmanagementsystem,which
enablesthebankstafftocompletetheaccountmanagementtasksquicklyandeasily,sothe
managementofthebankaccountscanbecomesystematic,efficient,standardized,automatedand
efficient.
Keywords:PersonalInformationManagement(PIM);QT;C++;Object-oriented
目錄
1本課題日勺研究意義和目的...................錯誤!未定義書簽。
1.1開發(fā)背景...................................錯誤!未定義書簽。
1.2國內(nèi)外現(xiàn)實(shí)狀況.............................錯誤!未定義書簽。
1.3自動化管理銀行競爭優(yōu)勢的I分析...............錯誤!未定義書簽。
2系統(tǒng)需求分析..............................錯誤!未定義書簽。
2.1開發(fā)設(shè)計思想.............................錯誤!未定義書簽。
2.2可行性研究.................................錯誤!未定義書簽。
2.3需求分析...................................錯誤!未定義書簽。
2.4系統(tǒng)流程圖aJ設(shè)計..........................錯誤!未定義書簽。
2.5用例描述...................................錯誤!未定義書簽。
3設(shè)計過程及編碼............................錯誤!未定義書簽。
3.1數(shù)據(jù)庫口勺創(chuàng)立與使用.........................錯誤!未定義書簽。
3.2建立Bank工程措施環(huán)節(jié)......................錯誤!未定義書簽。
3.3添加QT設(shè)計界面類的設(shè)計....................錯誤!未定義書簽。
3.4管理員登陸的設(shè)計...........................錯誤!未定義書簽。
3.5主操控界面設(shè)計.............................錯誤!未定義書簽。
3.6開戶日勺設(shè)計................................錯誤!未定義書簽。
3.7查詢?nèi)丈自O(shè)計................................錯誤!未定義書簽。
3.8存款日勺設(shè)計.................................錯誤!未定義書簽。
3.9取款日勺設(shè)計................................錯誤!未定義書簽。
3.10轉(zhuǎn)賬時設(shè)計................................錯誤!未定義書簽。
3.11修改密碼口勺設(shè)計............................錯誤!未定義書簽。
4功能測試..................................錯誤!未定義書簽。
4.1管理員登陸界面.............................錯誤!未定義書簽。
4.2主操控界面.................................錯誤!未定義書簽。
4.3開戶界面....................................錯誤!未定義書簽。
4.4查詢界面....................................錯誤!未定義書簽。
4.5存款界面....................................錯誤!未定義書簽。
4.6取款界面....................................錯誤!未定義書簽。
4.7轉(zhuǎn)賬界面....................................錯誤!未定義書簽。
4.8修改密碼界面................................錯誤!未定義書簽。
4.9判斷與評估..................................錯誤!未定義書簽。
5應(yīng)用與維護(hù)..................................錯誤!未定義書簽。
6總結(jié).........................................錯誤!未定義書簽。
參照文獻(xiàn)........................................錯誤!未定義書簽。
道謝............................................錯誤!未定義書簽。
附錄............................................錯誤!未定義書簽。
1本課題的研究意義和目日勺
1.1開發(fā)背景
伴隨社會經(jīng)濟(jì)日勺發(fā)展,信息化程度的不停深入,銀行的老式業(yè)務(wù)己愈來愈不能滿足銀
行客戶的需要。伴隨我國經(jīng)濟(jì)的日益發(fā)展,我國H勺銀行業(yè)將面臨愈加劇烈H勺司行業(yè)競爭,
怎樣提供更優(yōu)質(zhì)H勺服務(wù),怎樣吸引更多的客戶,怎樣運(yùn)用計算機(jī)技術(shù)加強(qiáng)銀行個人帳戶信
息管理、進(jìn)行銀行業(yè)務(wù)再造,提高銀行口勺工作效率和業(yè)務(wù)競爭能力是擺在各家銀行面前日勺
迫切需要處理的問題。伴隨銀行業(yè)務(wù)不停發(fā)展,業(yè)務(wù)的種類也是日益繁多,而各項業(yè)務(wù)的
處理互有差異,這就對銀行進(jìn)入電子化水平和對應(yīng)的管理水平提出了規(guī)定。怎樣運(yùn)用電子
化的手段構(gòu)建一種高效統(tǒng)一的、通用靈活H勺系統(tǒng)來管理多種各樣的業(yè)務(wù),是每個商業(yè)銀行
所要研究的課題。支持決策的I系統(tǒng),需要在數(shù)據(jù)庫的基礎(chǔ)上,進(jìn)行聯(lián)機(jī)分析處理,每次處
理日勺數(shù)據(jù)量大,響應(yīng)時間長。尤其是銀行每天都要處理大量的I開戶、存取款、轉(zhuǎn)賬等業(yè)務(wù),
而銀行人員現(xiàn)行應(yīng)用日勺系統(tǒng)填寫內(nèi)容較為復(fù)雜、流程過于繁瑣,已經(jīng)是不能滿足客戶對于
辦理業(yè)務(wù)時間上日勺快捷性的規(guī)定,做好存開戶、存取款等是銀行工作重要的環(huán)節(jié),然而要
有效處理必須要有良好H勺程序和數(shù)據(jù)管理系統(tǒng)來建立一種良好的軟件系統(tǒng)來實(shí)現(xiàn)迅速、
效、精確、安全日勺處理銀行事物。
銀行個人賬戶管理系統(tǒng)重要用于銀行口勺儲蓄管理,它可以協(xié)助我們有效、精確、并且
高效實(shí)現(xiàn)的完畢銀行柜臺業(yè)務(wù)。此系統(tǒng)操作以便效率、安全性高,只要擁有管理員的賬號
和密碼(也就是說是銀行的工作人員),就可認(rèn)為顧客做開戶,開戶之后就可以以便的為
顧客辦理多種柜臺業(yè)務(wù),
1.2國內(nèi)外現(xiàn)實(shí)狀況
在信息化發(fā)展極為迅速日勺當(dāng)今社會,金融經(jīng)濟(jì)日益趨向全球化,同行業(yè)競爭變得愈加
劇烈,國外銀行業(yè)掀起了一股比上世紀(jì)更為聲勢浩大的信息化革命浪潮。國外銀行業(yè)信息
化基礎(chǔ)設(shè)施框架已具有完善、電子銀行體系已走進(jìn)成熟階段,信息化建設(shè)正由業(yè)務(wù)層向管
理決策層推進(jìn)。國際銀行業(yè)普遍存在著管理決策信息化、網(wǎng)點(diǎn)擴(kuò)張?zhí)摂M化、產(chǎn)品服務(wù)客戶
化以及非關(guān)鍵業(yè)務(wù)外包化等趨勢。
在國內(nèi),伴隨金融市場的逐漸開放,銀行競爭日趨劇烈。銀行領(lǐng)域的競爭將緊緊圍繞著
客戶,尤其是優(yōu)質(zhì)客戶這一稀缺資源進(jìn)行。不過在外資銀行涌入中國日勺進(jìn)程中,我們很輕易
地看到這個現(xiàn)象:外資銀行作為中國市場的后來者,國內(nèi)資源臨時是它們?nèi)丈兹蹴棧∏∵@首
先正是我國銀行競爭的優(yōu)勢所在。然而,客戶資源H勺經(jīng)營管理確實(shí)我國銀行的軟肋。國內(nèi)
多數(shù)銀行的客戶關(guān)系管理還只是流于形式,這個問題是相稱令人深思H勺。運(yùn)用客戶個人賬
戶管理體系來進(jìn)行客戶關(guān)系管理正是應(yīng)對未來銀行客戶資源競爭日勺利器。客戶個人賬戶管
理正是基于計算機(jī)技術(shù)和平臺,通過對銀行業(yè)務(wù)流程啊重組來整合客戶信息資源,以更科
學(xué)有效的措施來管理客戶信息,在銀行內(nèi)部實(shí)現(xiàn)信息和資源的共享,從而減少銀行營運(yùn)成
本,為客戶提供更經(jīng)濟(jì)、快捷、周到的產(chǎn)品和服務(wù)來吸引客戶,最終到達(dá)銀行價值最大化。
1.3自動化管理銀行競爭優(yōu)勢日勺分析
由于社會信息化日勺不停深入發(fā)展和經(jīng)濟(jì)金融體制日勺不停深入化,在知識經(jīng)濟(jì)和銀行電
子化建設(shè)的發(fā)展中,我國經(jīng)濟(jì)構(gòu)造也在不停地變化,社會對于金融服務(wù)的需求日新月異,
金融服務(wù)的內(nèi)涵和外延變得愈加豐富。這就對于銀行H勺管理提出了新的規(guī)定,銀行H勺管理
日益趨向信息化、電子化、多元化。銀行的電子化和現(xiàn)代化管理水平已經(jīng)成為銀行競爭力
的重要構(gòu)成要素,成為銀行市場運(yùn)作、金融創(chuàng)新、量化管理的技術(shù)基礎(chǔ)。大體上來說,銀
行賬戶管理口勺系統(tǒng)化、自動化和規(guī)范化,使銀行獲得如下幾方面的優(yōu)勢:
(1)差異化競爭優(yōu)勢;
(2)低成本競爭優(yōu)勢;
(3)目的集聚性優(yōu)勢;
(4)知識型優(yōu)勢;
(5)產(chǎn)業(yè)集聚型優(yōu)勢。
2系統(tǒng)需求分析
2.1開發(fā)設(shè)計思想
本系統(tǒng)的開發(fā)設(shè)計思想:
系統(tǒng)應(yīng)當(dāng)在銀行日勺規(guī)定日勺前提下,滿足銀行對于個人賬戶管理H勺需求適應(yīng)銀行工作人
員平常工作的需要,并應(yīng)到操作工程簡便易行、安全可靠的規(guī)定。
根據(jù)系統(tǒng)設(shè)計的目的和重要功能和對開發(fā)工具和環(huán)境的選擇,通過軟件工程H勺設(shè)計措
施,對系統(tǒng)H勺可行性進(jìn)行分析,確定方案日勺可行性。根據(jù)系統(tǒng)日勺需求得到需求分析,在需
求分析日勺基礎(chǔ)上進(jìn)行設(shè)計編碼,完畢后對系統(tǒng)進(jìn)行功能測試和應(yīng)用維護(hù)。
系統(tǒng)采用模塊化程序設(shè)計措施,不僅可以在系統(tǒng)設(shè)計時以便系統(tǒng)功能的多種組合與修
改,又可以以便開發(fā)人員后來對程序修改和和維護(hù)。
系統(tǒng)要具有數(shù)據(jù)庫維護(hù)口勺功能,雖然以便顧客對數(shù)據(jù)的增長修改等操作。
2.2系統(tǒng)設(shè)計目日勺和重要功能
通過銀行個人賬戶管理系統(tǒng),可以使銀行對于個人賬戶的I管理實(shí)現(xiàn)系統(tǒng)叱、自動化、
簡便化,清除繁瑣歐I信息錄入,從而以便快捷時使銀行到達(dá)高效管理個人賬戶的目的。
開發(fā)的重要任務(wù)是使工作人員可以輕松以便快捷日勺完畢對個人賬戶的管理的任務(wù)。
設(shè)計的銀行個人賬戶管理系統(tǒng)應(yīng)當(dāng)具有最基本的賬戶管理功能,以及對客戶信息變化
的記錄功能,設(shè)計的銀行個人賬戶信息管理系統(tǒng)需要完畢的重要功能是:
1、銀行工作人員即管理員日勺登錄
2、管理員對客戶日勺開戶操作(包括顧客名、身份證、密碼口勺填寫)
3、對已經(jīng)有客戶(賬號)口勺查詢操作
4、對已經(jīng)有客戶(賬號)口勺存款操作
5、對已經(jīng)有客戶(賬號)的取款操作
6、對已經(jīng)有客戶(賬號)日勺修改密碼日勺操作
7、對己經(jīng)有客戶(賬號)之間日勺轉(zhuǎn)賬日勺操作
2.2.3開發(fā)工具和環(huán)境
開發(fā)工具:QT4.8.1>C++
運(yùn)行環(huán)境:LINUX或UNIX
2.2可行性研究
可行性研究能使新系統(tǒng)到達(dá)以最小的開發(fā)成本獲得最佳的經(jīng)濟(jì)效益。可行性研究的目
的,是根據(jù)開發(fā)管理信息系統(tǒng)的祈求,通過初步調(diào)查和系統(tǒng)目口勺分析,對要開發(fā)的銀行個
人帳戶管理信息系統(tǒng)從技術(shù)上、經(jīng)濟(jì)上、資源上和管理上進(jìn)行與否可行的研究。這是一項
保證資源合理使用、防止失誤和揮霍H勺重要工作。
由于實(shí)現(xiàn)了現(xiàn)代化的信息管理系統(tǒng)功能,這樣就減少了人工的消耗,也就是說一臺機(jī)
器替代了多種人日勺工作,這樣就可以減少人員消耗上日勺開支。不僅如此,實(shí)現(xiàn)銀行系統(tǒng)日勺
管理可以迅速的應(yīng)對多種業(yè)務(wù),在效率上也提高了速度,為發(fā)明更大的價值提供了前提條
件。
系統(tǒng)對于計算機(jī)日勺硬件、網(wǎng)絡(luò)和系統(tǒng)條件的規(guī)定并不高,這樣就以便了,銀行信息管
理系統(tǒng)口勺實(shí)行和普及應(yīng)用。
對于管理和經(jīng)費(fèi)問題上,都是非常透明和樂于讓人接受的。系統(tǒng)實(shí)行運(yùn)行后,并不需
要特定的工作人員去管理,我們只需要一種管理員來管理一臺裝備。因此在管理經(jīng)費(fèi)上是
不會有多大消耗H勺。
由于是電腦管理系統(tǒng),因此對于賬戶口勺管理是相稱高的。而銀行信息管理系統(tǒng)的I運(yùn)行
過程不僅不違反銀行日勺管理規(guī)章制度,還會有效地實(shí)現(xiàn)信息的迅速存取。由于不僅節(jié)省了
銀行自身的成本并且他的管理效率也會提高了。
2.3需求分析
構(gòu)造設(shè)計的第一種階段就是需求分析,這個階段重要是為了搜集系統(tǒng)設(shè)計過程中所要
用到的基本數(shù)據(jù)?、數(shù)據(jù)構(gòu)造和數(shù)據(jù)處理的流程,從而組織成盡量詳細(xì)的數(shù)據(jù),以便后來設(shè)
計的需要。
圖2-1數(shù)據(jù)流圖
通過對銀行個人賬戶管理日勺內(nèi)容及數(shù)據(jù)流的分析,我們便可以列出設(shè)計的I數(shù)據(jù)項:
1、開戶信息表。包括:賬戶名、身份證、密碼、反復(fù)密碼。
2、查詢信息表。包括:賬戶名、身份證、密碼、余額。
3、存款信息表。包括:賬戶名、身份證、密碼、存款額。
4、取款信息表。包括:賬戶名、身份證、密碼、取款額。
5、轉(zhuǎn)賬信息表。包括:轉(zhuǎn)賬人、密碼、收款人、金額。
6、修改密碼信息表,包括:賬戶名、身份證、密碼、新密碼、反復(fù)新密碼。
2.4系統(tǒng)流程圖日勺設(shè)計
這一階段日勺設(shè)計是基于需求分析上日勺,通過需求分析來設(shè)計出可以滿足顧客需求
的多種實(shí)體以及它們之間的聯(lián)絡(luò),以以便下一步的邏輯構(gòu)造設(shè)計。
根據(jù)系統(tǒng)設(shè)計規(guī)定系統(tǒng)流程圖設(shè)計如下:
圖2-2系統(tǒng)流程圖
2.5用例描述
2.5.1管理員登錄取例
管理員登錄取例表如表27
表2T管理員登錄取例表
用例名稱登錄
用例描述描述了管理員怎樣登錄到系統(tǒng)中
參與者管理員
狀態(tài)審查通過
前置條件無
假如用例成功,則管理員登錄到系統(tǒng)之。否則,系統(tǒng)狀態(tài)不
后置條件
變。
當(dāng)管理員想登錄到銀行信息系統(tǒng)中時,用例啟動。
(1)系統(tǒng)提醒管理員輸入顧客名和密碼。
基本操作流程
(2)管理員輸入自己的)顧客名和密碼,提交。
(3)系統(tǒng)驗證輸入口勺名字和密碼,管理員登錄系統(tǒng)成功。
假如輸入顧客名和(或)密碼無效,系統(tǒng)提醒錯誤信息,顧
可選操作流程
客可以重新輸入或中斷該用例。
2.5.2開戶用例
開戶用例表如表2-2
表2-2開戶用例表
用例名稱開戶
用例描述本用例容許管理員通過客戶提供的信息給客戶開戶
參與者管理員
狀態(tài)審查通過
前置條件在本用例開始前,管理員必須登陸到系統(tǒng)中
假如用例成功,則系統(tǒng)中會增長新建的賬戶。否則,系統(tǒng)狀
后置條件
態(tài)不變。
當(dāng)顧客想在銀行開戶時,要向管理員提供賬戶名、身份證、
基本操作流程密碼,用例啟動。
(1)系統(tǒng)提醒管理員輸入需要要開戶的客戶的賬戶名、身
份證、密碼。
(2)管理員輸入新客戶的賬戶名、身份證、密碼,提交。
(3)系統(tǒng)保留新賬戶信息。
2.5.3存款用例
存款用例表如表2-3
表2-3存款用例表
用例名稱存款
用例描述本用例容許管理員借助客戶提供的賬戶信息存款到帳戶中
參與者管理員
狀態(tài)審查通過
前置條件在本用例開始前,管理員必須登陸到系統(tǒng)中
假如用例成功,則客戶賬戶中存款的金額發(fā)生變化。否則,
后置條件
系統(tǒng)狀態(tài)不變。
當(dāng)客戶想讓管理員存款到自己的賬戶時,要向管理員提供賬
戶名、身份證、密碼和存款金額,用例啟動。
基本操作流程(1)系統(tǒng)提醒管理員輸入賬戶名、身份證、密碼和存款額。
(2)管理員輸入有關(guān)信息后提交。
(3)系統(tǒng)更新賬戶的有關(guān)信息。
賬戶不存在或者無效,顯示提醒信息,顧客可以重新輸入或
可選操作流程
終止該用例。
2.5.4取款用例
取款用例表如表2-4
表2-4取款用例表
用例名稱取款
用例描述本用例容許管理員按照客戶的規(guī)定從客戶的帳戶中取款
參與者管理員
前置條件本用例開始前,管理員必須登錄到系統(tǒng)中
假如用例成功,則客戶賬戶中存款的金額發(fā)生變化。否則,
后置條件
系統(tǒng)狀態(tài)不變。
當(dāng)客戶想存錢到自己日勺賬戶時,要向管理員提供賬戶名、身
份證、密碼、取款額,用例啟動。
(1)系統(tǒng)提醒管理員輸入賬戶名、身份證、密碼和取款額。
基本操作流程
(2)管理員輸入有關(guān)信息后提交,賬戶中的存款金額與否
足夠支付所取款項。
(3)更新賬戶日勺有關(guān)信息。
賬戶中的存款金額局限性,顯示提醒信息,顧客可以重新輸
可選操作流程
入金額或終止該用例。
2.5.5查詢用例
查詢用例表如表2-5
表2-5查詢用例表
用例名稱查詢
本用例容許管理員按照客戶MJ規(guī)定從客戶的帳戶中查詢余
用例描述
額
參與者管理員
前置條件本用例開始前,管理員必須登錄到系統(tǒng)中
后置條件系統(tǒng)狀態(tài)不變。
當(dāng)客戶想查詢到自己的賬戶余額時,要向管理員提供賬戶
名、身份證、密碼,用例啟動。
基本操作流程(1)系統(tǒng)提醒管理員輸入賬戶名、身份證、密碼。
(2)管理員輸入有關(guān)信息后提交。
(3)顯示賬戶余額信息。
2.5.6轉(zhuǎn)賬用例
轉(zhuǎn)賬用例表如表2-6
表2-6轉(zhuǎn)賬用例表
用例名稱轉(zhuǎn)賬
本用例容許管理員按照顧客H勺規(guī)定將資金從一種賬戶轉(zhuǎn)到另
用例描述
一種賬戶。
參與者管理員
狀態(tài)審查通過
前置條件本用例開始前,管理員必須登陸到系統(tǒng)中。
假如用例成功,則客戶賬戶中存款的金額發(fā)生變化。否則,
后置條件
系統(tǒng)狀態(tài)不變。
當(dāng)客戶規(guī)定轉(zhuǎn)帳時,用例啟動
(1)系統(tǒng)提醒管理員輸入轉(zhuǎn)賬人、密碼、收款人和所轉(zhuǎn)款
項日勺金額。
基本操作流程(2)管理員輸入有關(guān)信息后提交.
(3)系統(tǒng)確認(rèn)賬戶中的存款金額與否足夠支付所取款項。
(4)系統(tǒng)更新賬戶的1有關(guān)信息。
賬戶中的存款金額局限性,顯示提醒信息,顧客可以重新輸
可選操作流程
入金額或終止該用例。
2.5.7修改密碼用例I
修改密碼用例表如表2-7
表2-7修改密碼月例表
用例名稱修改密碼
用例描述本用例容許管理員按照顧客的規(guī)定將本來密碼修改
參與者管理員
狀態(tài)審查通過
前置條件本用例開始前,管理員必須登陸到系統(tǒng)中。
后置條件假如用例成功,則客戶賬戶密碼發(fā)生變化。
當(dāng)客戶規(guī)定修改密碼時,用例啟動
(1)系統(tǒng)提醒管理員輸入賬戶名、身份證、密碼、新密碼、
基本操作流反復(fù)新密碼。
程(2)管理員輸入有關(guān)信息后提交.
(3)系統(tǒng)更新賬戶口勺有關(guān)信息。
3設(shè)計過程及編碼
重要開發(fā)設(shè)計思想:首先建立工程,運(yùn)用QT將界面和類日勺頭文獻(xiàn)、實(shí)現(xiàn)文獻(xiàn)以及界
面文獻(xiàn)完畢,并編寫代碼通過ui界面得到輸入信息,將界面信息存入數(shù)據(jù)庫(或與數(shù)據(jù)庫
數(shù)據(jù)匹配)之后,再合適日勺添加代碼把不一樣日勺界面文獻(xiàn)通過按鈕事件鏈接.從而可以在
不一樣界面之間跳轉(zhuǎn)“叫
3.1數(shù)據(jù)庫日勺創(chuàng)立與使用
數(shù)據(jù)庫的創(chuàng)立叫
終端狀態(tài)下,進(jìn)入mysql數(shù)據(jù)庫,在mysql中創(chuàng)立數(shù)據(jù)庫表格。
終端下輸入命令:
Mysql-uroot-pl23456回車
回車后便進(jìn)入Mysql
建表語句如下:
mysql>crealedatabaselesldb;〃建立數(shù)據(jù)庫
mysql>usetesldb;〃設(shè)定目前數(shù)據(jù)庫
mysql>createtableadmin(adminidvarchar(30),admpasswdvarchar(30));
〃建立管理員信息數(shù)據(jù)庫表格
mysql>inscrtintoadminvalucs('abc','123');〃添力口數(shù)據(jù)
mysql>createtableaccount(accountnamevarchar(30),
accountNovarchar(30),accountpaswdvarchar(30),
accountMoneydouble);〃建立賬戶信息數(shù)據(jù)庫表格
數(shù)據(jù)庫的使用以
QSql模塊提供了訪問SQL數(shù)據(jù)庫的接口,這些接口獨(dú)立于操作系統(tǒng),獨(dú)立于數(shù)據(jù)庫系
統(tǒng)。Qt中有諸多支持這個接口的類,這些類型通過Qt『、Jmodcl/view架構(gòu)將數(shù)據(jù)庫與顧客
界面結(jié)合起來。數(shù)據(jù)庫連接由QSqlDatabase類對象表達(dá),Qt通過driver與不一樣的,數(shù)據(jù)庫
通訊。
在進(jìn)行SQL查詢之前,需要與數(shù)據(jù)庫建立連接。一般,在程序執(zhí)行前顧客需要調(diào)用創(chuàng)
立連接日勺函數(shù)以建立與數(shù)據(jù)庫的連接
數(shù)據(jù)庫設(shè)計思緒:
數(shù)據(jù)庫H勺使用分為四步:(1)獲得界面信息(2)QsqlDatabase建立數(shù)據(jù)庫的鏈接(3)
QsqlQuery用于執(zhí)行SQL語句(4)更新數(shù)據(jù)庫的數(shù)據(jù)。
本設(shè)計重要應(yīng)用到數(shù)據(jù)庫的鏈接、查詢、插入和更新操作。數(shù)據(jù)庫的設(shè)計如下:
1.建立數(shù)據(jù)庫連接
在進(jìn)行SQL查詢之前,需要與數(shù)據(jù)庫建立連接。一般,在程序執(zhí)行前顧客需要調(diào)用創(chuàng)
立連接日勺函數(shù)以建立與數(shù)據(jù)庫的連接。例如:
首先要從界面得到輸入的數(shù)據(jù)
voidAdminLogin::adminLogin(){
QStringadminid=ui->adminid->tcxt();
QStringadminpasswd=ui->adminpasswd->text();
/*連接數(shù)據(jù)庫得到管理員日勺有關(guān)信息刃
AdminDaoadao;
boolcflag=adao.connectDb(',QMYSQL";'testdb",Hl27.0.0.1",
3306,“root”,”123456”);//它的J第一種參數(shù)指明了訪
問數(shù)據(jù)庫的driver;接下來,分別設(shè)置數(shù)據(jù)庫H勺數(shù)據(jù)庫名,當(dāng)?shù)卦L問,端口設(shè)置,顧客名,
密碼;最終,打開數(shù)據(jù)庫連接叫
if(cflag){
Admina=adao.gelAdminByIdAndPasswd(adminid,adminpasswd);
qDcbug(a.adminId.toLatin1());
qDcbug(a.adminPasswd.toLatir)1());
〃判斷管理員ID和密碼與否與數(shù)據(jù)庫中定義的管理員ID密碼相符
if(a.adminld==adminld
&&a.adminPasswd==adminpasswd
&&a.adminld!=""&&a.adminPasswd!=""){
AdminAllaa;
this->close();
aa.exec();
}else{
qDebugC'selectdbfailed");
QMessagcBoxmsg(this);
msg.setText("selectdbfailed!!1');
msg.exec();
)
)else)
qDebug(Hconnectdbfailed");
QMessageBoxmsg(this);
msg.selText("connectdbfailed!!");
msg.exec();
)
2.執(zhí)行select命令查詢
一旦建立連接,顧客就可以使用QSqlQuery類型執(zhí)行SQL命令。本設(shè)計中執(zhí)行SELECT
命令如下w:
AccountAccountDao::getAccountByNameAndIdAndPasswd(Accountaccount))
QSqlQueryqu(myconn);
qu.prepare("select*fromaccountwhereaccountname二?andaccountNo=?and
accountpaswd=?");
qu.bindValue(0,account.getAccountName());
qu.bindValue(1,account.getAccountNo());
qu.bindValue(2,account.getAccountPasswd());
Accounta;
qu.exec();
然后可以處理杳詢成果:
if(qu.next()){
a.setAccountName(qu.value(0).toString());
a.sctAccountNo(qu.valuc(1).toString());
a.sctAccountPasswd(qu.value(2).toString());
a.setAccountMoney(qu.value(3).toDouble());
)
returna;
)
第一次調(diào)用query.nexl。時,查詢記錄指針指向第一條記錄;接下來每調(diào)用一次next。,
指針向后移一條記錄,直到指針指向記錄的尾端1尾端是最終一條記錄的下一種位置),
這時next。返回falseo
3.執(zhí)行insert命令
先從界面得到需要插入日勺數(shù)據(jù),連接好數(shù)據(jù)庫后,執(zhí)行INSERT命令,向數(shù)據(jù)庫插入
新日勺數(shù)據(jù)。
voidAddAccount::createAccount(){
/*從界面得到數(shù)據(jù)*/
QStringaname=ui->accountName->text();
QStringaid=ui->accountld->text();
QStringapaswd=ui->accountPasswd->text();
Accounta(aname,aid,apaswd,O.O);
/*調(diào)用訪問數(shù)據(jù)庫的對象把對象存入數(shù)據(jù)庫*/
AccountDaoadao;
boolcflag=adao.connectDb("QMYSQL'',"testdb',;,127.0.0.1”,
3306,“root”,”123456”);〃連接數(shù)據(jù)庫
/*鏈接到數(shù)據(jù)庫后執(zhí)行insert命令更新數(shù)據(jù)庫⑸*/
boolAccountDao::addAccount(Accountaccount){
QSqiQueryqu(myconn);
qu.prepare("insertintoaccountvalues(?,?,?,?)");
qu.bindVaiue(0,account.getAccountName());
qu.bindVaIue(1,account.getAccountNo());
qu.bindValue(2,account.getAccountPasswd());
qu.bindValue(3,account.getAccountMoney());
4.SQLupdate
為了更新一條記錄,首先從QSqlTableModel中找到該記錄的位置。然后抽出記錄,更
新域值,再將記錄寫入數(shù)據(jù)庫叫
從界面得到需要改動的數(shù)據(jù)信息:
voidTransfer::transferAccount(){
Accountsender;
scndcr.sctAccountNamc(ui->sname->tcxt());
sender.setAccountNo(ui->sno->text());
sender.setAccountPasswd(ui->spasswd->text());
Accountreciver;
reciver.setAccountName(ui->mame->text());
reciver.setAccountNo(ui->rno->text());
連接到數(shù)據(jù)庫:
AccountDaoadao;
boolcflag=adao.connectDb(,,QMYSQL",,,testdb\"127.0.0.1u,
3306,"root";'123456");
if(cflag){
Accounts=adao.getAccountByNameAndIdAndPasswd(sender);
if(s.getAccounlMoney()<ui->money->text().toDouble()){
QMessageBoxmsg;
msg.setText("havenotenoughmoney");
msg.exec();
return;
)
Accountr=adao.getAccountByNameAnd!d(reciver);
qDebug(r.getAccountName().toLatin1());
qDcbug(s.gctAccountNamc().toLatin1());
adao.transferByAccount(s,r,ui->money->text().toDouble());
)
)
通過accountdao.cpp鏈接到數(shù)據(jù)庫保留對應(yīng)設(shè)計
對對應(yīng)的數(shù)據(jù)進(jìn)行更新:
voidAccountDao::transferByAccount(Accountsender,Accountrecevendouble
money){
myconn.transactionO;
QSqlQueryqu(myconn);
qu.prepare("updateaccountsetaccountMoney=accountMoney-?where
accountnam—?");
qu.bindValue(O,money);
qu.bindValue(1,sender.getAccountName());
boolf=qu.exec();
qu.prepare(nupdateaccountsetaccountMoney=accountMoney+?where
accountname=?H);
qu.bindValue(0,money);
qu.bindValue(1,recever.getAccountName());
boolff=qu.exec();
qDebug("success!n);
myconnmit();
)eise{
qDebug(Mfailed!");
myconn.rollback();
1
3.2建立Bank工程措施環(huán)節(jié)
第一步:進(jìn)入QTCreator選擇創(chuàng)立項目,
第二步:選擇QT控件項目,QTGui應(yīng)用
圖3-1創(chuàng)立QT控件項目圖
第三步:點(diǎn)擊下一步給項目起名稱
第四步:點(diǎn)擊下一步,創(chuàng)立源碼文獻(xiàn)H勺基本類信息
■A
圖3-2創(chuàng)立源碼文獻(xiàn)H勺基本類信息圖
第六步:下一步點(diǎn)擊完畢
這時候我們就完畢了一種QT項目日勺構(gòu)建,之后我們就可以在其基礎(chǔ)上根據(jù)設(shè)計需要添
加QT日勺設(shè)計界面類⑺。
3.3添加QT設(shè)計界面類日勺設(shè)計
第一步:在項目名Bank上右擊選擇新建文獻(xiàn)
第二步:選擇新建QT設(shè)計界面類
第三步:選擇DialogwithoutButtons界面模版
第四步:填寫需要添加的類名,頭文獻(xiàn)名、源文獻(xiàn)名和界面文獻(xiàn)名稱會隨類名變化而變化。
添加類名是要注意類名的首字母要大寫。
第五步:點(diǎn)擊下一步,查對添加至項目無誤狀況下,點(diǎn)擊完畢。
這樣,我們就將一種新口勺類添加到項目中,并且將頭文獻(xiàn)、實(shí)現(xiàn)文獻(xiàn)、界面文獻(xiàn)一起
創(chuàng)立完畢。
3.4管理員登陸的設(shè)計
第一步:按照3.1環(huán)節(jié)完畢項目構(gòu)建后,AdminloginH勺界面類會完畢,系統(tǒng)會提供一種空
界面,在空界面上我們根據(jù)管理員登陸界面用例,來添加組件。
(1)選中ui界面文獻(xiàn),進(jìn)入ui設(shè)計界面,選擇DisplayWidgets下的JLabel,給ui界面
添加文本框,雙擊文本框,修改文本框顯示口勺內(nèi)容。
(2)選擇InputWidgets下的LineEdit,給界面添加輸入框。
(3)選擇Buttons下的|PushButton,給界面添加按鈕。
(4)添加完后如下圖
在這里輸入
管理員ID
置陸取消
圖3-3管理員登錄設(shè)計界面圖
(5)添加組件完畢后,考慮到密碼日勺保護(hù),我們要將密碼時顯示修改為非明碼顯示,點(diǎn)
擊選中密碼輸入文本框,在屬性欄中找到echoMode將其默認(rèn)的INormal改換成
Passwordo
第二步:功能設(shè)計
adminid:管理員ID
adminpasswd:第碼
adminid和adminpasswd從數(shù)據(jù)庫中查詢出來得到登陸界面的輸入數(shù)據(jù)并做
判斷,登陸成功進(jìn)入主操作界面
假如管理員ID和密碼不對日勺任意一種或都不對日勺,則輸出“selectdbfailed!!",
并彈出提醒對話框,但不是由于輸入錯誤導(dǎo)致登錄失敗時,則會輸出〃connectdb
failed”,并彈出提醒對話框.
對應(yīng)代碼如下:
voidAdminLogin::adminLogin(){
QSlringadminid=ui->adminid->lexl();
QSlringadminpasswd=ui->adminpasswd->text();
/*連接數(shù)據(jù)庫得到管理員的有關(guān)信息*/
AdminDaoadao;
boolcflag=adao.connectDb("QMYSQL","testdb";'l27.0.0.1",
3306;'root","123456n);
iReflag){
Admina=adao.getAdminByIdAndPasswd(adminid,adminpasswd);
qDebug(a.adminId.toLatin1());
qDcbug(a.adminPasswd.toLatir)1());
〃判斷管理員ID和密碼與否與數(shù)據(jù)庫中定義日勺管理員ID密碼相符
if(a.adminld==adminld
&&a.adminPasswd==adminpasswd
&&a.adminld!=uu&&a.adminPasswd!="u){
AdminAllaa;
this->close();
aa.exec();
}else{
qDebug("selectdbfailed1');
QMessagcBoxmsg(this);
msg.setText("selectdbfailed!!1');
msg.exec();
}else{
qDebug(nconnectdbfailed");
QMessageBoxmsg(this);
msg.setText("connectdbfailed!!");
msg.exec();
1
}
第三步:管理員ID和密碼輸入后點(diǎn)擊登錄則進(jìn)入主操控界面,點(diǎn)擊退出則退出登陸界面,
對應(yīng)代碼如下:
AddAccount::AddAccount(QWidgct*parent):
QDialog(parent),
ui(newUi::AddAccount)
(
ui->setupUi(this);
connect(ui->createAccount,SIGNAL(clicked()),
this,SLOT(createAccount()));
connect(ui->cancei,SIGNAL(clicked()),
this,SLOT(close()));
3.5主操控界面設(shè)計
按需求分析的規(guī)定主操控界面重要設(shè)計開戶、查詢、存款、取款、轉(zhuǎn)賬、修改密
碼和退出七個選項,界面設(shè)計過程如下:
第一步:按照3.2的環(huán)節(jié)新建界面模版,填寫Adminall類頭文獻(xiàn)名、源文獻(xiàn)名和界面
文獻(xiàn)名稱。
第二步:在建好時空界面模版上,按照主操控界面用例規(guī)定,添加Button按鈕,并修
改Button按鈕名稱。完畢的I界面圖如下:
轉(zhuǎn)瞇
修改空碼
退出
圖3-4主界面設(shè)計圖
第三步:給各個按鈕創(chuàng)立連接
分別點(diǎn)擊不一樣的按鈕會進(jìn)入不一樣的界面,每個diked都會對應(yīng)一種connect,通過
connect進(jìn)入對應(yīng)的界面。重要代碼如下:
connect(ui->createAccount,SIGNAL(clicked()),
this,SLOT(createAccount()));
connect(ui->seachAccount,SIGNAL(clickcd()),
this,SLOT(seachAccount()));
connect(ui->changeAccount,SIGNAL(clicked()),
this,SLOT(transferAccount()));
connect(ui->deposite,SIGNAL(clicked()),
this,SLOT(forDeposite()));
connect(ui->withDraw,SIGNAL(clicked()),
this,SLOT(withDraw()));
connect(ui->changPasswd,SIGNAL(clicked()),
this,SLOT(changePasswd()));
connect(ui->quit,SIGNAL(c!icked()),
this,SLOT(close()));
3.6開戶時設(shè)計
第一步:分析。根據(jù)個人賬戶管理系統(tǒng)的需求分析可知,開戶需要有賬戶名、身份證、
密碼、和反復(fù)密碼四項輸入。
第二步:按需求進(jìn)行設(shè)計。按照3.2日勺環(huán)節(jié)新建界而模版,填寫Addaccount類頭文獻(xiàn)
名、源文獻(xiàn)名和界面文獻(xiàn)名稱。
第二步:在提供的空界面上我們根據(jù)開戶界面用例,來添加組件。
(1)選中ui界面文獻(xiàn),進(jìn)入ui設(shè)計界面,選擇DisplayWidgets下日勺Label,給ui
界面添加文本框,雙擊文本框,修改文本框顯示的內(nèi)容。
(2)選擇InputWidgets下的LineEdit,給界面添加輸入框。
(3)選擇Buttons下H勺PushButton,給界面添加按鈕。
(4)添加組件完畢后,考慮到密碼的保護(hù),我們要將密碼H勺顯示修改為非明碼顯示,
點(diǎn)擊選中密碼輸入文本框,在屬性欄中找到echoMode將其默認(rèn)H勺Normal改換成
Password?
(5)添加完后如下圖
瞇尸名:I1
身份證:
■定碼:?■
里復(fù)密碼:]
[開戶j取消?
■-----------------------------------0-----------------------------------?
圖3-5開戶界面設(shè)計圖
第四步:獲取界面填寫口勺數(shù)據(jù)存入數(shù)據(jù)庫的設(shè)計。
系統(tǒng)從管理員輸入的數(shù)據(jù)得到信息,并把信息存儲到數(shù)據(jù)庫中,開戶成功則會彈出
"createaccountsuccess!!"對話框,假如開戶失敗則會彈出"createaccountfailed!!"對話
框。
假如開戶成功,點(diǎn)擊提醒對話框確實(shí)定按鈕(如下圖),這樣就得到了界面數(shù)據(jù),并用
數(shù)據(jù)來構(gòu)建賬戶對象,調(diào)用訪問數(shù)據(jù)庫的類,并把數(shù)據(jù)存入數(shù)據(jù)庫,最終返回主操控
界面。
賬.
Bank
Rcreateaccountsuccess!!
StOK,
——r******
圖3-6開戶成功界面演示圖
數(shù)據(jù)庫設(shè)計需求的重要代碼如下:
voidAddAccount::createAccount(){
/*從界面得到數(shù)據(jù)*/
QStringaname=ui->accountName->text();
QStringaid=ui->accountld->lext();
QStringapaswd=ui->accountPasswd->text();
Accounta(aname,aid,apaswd,O.O);
/*調(diào)用訪問數(shù)據(jù)庫的對象把對象存入數(shù)據(jù)庫*/
AccountDaoadao;
boolcflag=adao.connectDb("QMYSQL',,,,testdb";'127.0.0.1”,
3306,,,root",,,123456H);
if(cflag){
boolf=adao.addAccount(a);
if(D{
QMcssagcBoxmsg(this);
msg.setText("createaccountsuccess!!");
msg.execf);
}else{
QMessageBoxmsg(this);
msg.setText(ncreateaccountfailed!!");
msg.execO;
)
)
this->c
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《家庭倫理劇》課件
- 2014年高考語文試卷(山東)(空白卷)
- 《紅巖》課件(中考名著)
- 安全生產(chǎn)安全施工知識培訓(xùn)96
- 無功補(bǔ)償設(shè)備優(yōu)化配置-洞察分析
- 突觸可塑性調(diào)控策略研究-洞察分析
- 血液安全與倫理規(guī)范-洞察分析
- 網(wǎng)絡(luò)流量優(yōu)化策略-洞察分析
- 語境對語法結(jié)構(gòu)的影響-洞察分析
- 網(wǎng)絡(luò)短視頻內(nèi)容監(jiān)管-洞察分析
- 全國職業(yè)院校技能大賽中職(大數(shù)據(jù)應(yīng)用與服務(wù)賽項)考試題及答案
- 審計基礎(chǔ)知識培訓(xùn)
- DB43 873-2014 箱式暖腳器標(biāo)準(zhǔn)
- 【學(xué)易金卷】2023-2024學(xué)年四年級數(shù)學(xué)上冊期末全真模擬提高卷(三)(答題卡)(北師大版)
- 2024年煤礦安全管理人員(機(jī)電運(yùn)輸)考試題庫(濃縮500題)
- 醫(yī)療廢物管理制度(診所)
- 《建筑施工現(xiàn)場環(huán)境與衛(wèi)生標(biāo)準(zhǔn)》JGJ146-2013
- 上海市閘北區(qū)大寧國際小學(xué)小升初英語模擬試題(共10套)詳細(xì)答案
- 人教版高中生物必修1-第1、2章測評(B)
- 2024年《經(jīng)濟(jì)學(xué)基礎(chǔ)》復(fù)習(xí)考試復(fù)習(xí)題庫(含答案)
- ktv入股合作協(xié)議書
評論
0/150
提交評論