![銀行個(gè)人賬戶信息管理系統(tǒng)范本_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-6/29/c7ee01e2-4934-42f2-8124-c1ea13c01b8b/c7ee01e2-4934-42f2-8124-c1ea13c01b8b1.gif)
![銀行個(gè)人賬戶信息管理系統(tǒng)范本_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-6/29/c7ee01e2-4934-42f2-8124-c1ea13c01b8b/c7ee01e2-4934-42f2-8124-c1ea13c01b8b2.gif)
![銀行個(gè)人賬戶信息管理系統(tǒng)范本_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-6/29/c7ee01e2-4934-42f2-8124-c1ea13c01b8b/c7ee01e2-4934-42f2-8124-c1ea13c01b8b3.gif)
![銀行個(gè)人賬戶信息管理系統(tǒng)范本_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-6/29/c7ee01e2-4934-42f2-8124-c1ea13c01b8b/c7ee01e2-4934-42f2-8124-c1ea13c01b8b4.gif)
![銀行個(gè)人賬戶信息管理系統(tǒng)范本_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-6/29/c7ee01e2-4934-42f2-8124-c1ea13c01b8b/c7ee01e2-4934-42f2-8124-c1ea13c01b8b5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 題目: 銀行個(gè)人賬戶信息管理系統(tǒng) 銀行個(gè)人賬戶管理系統(tǒng)摘要賬戶管理是現(xiàn)在每個(gè)銀行的業(yè)務(wù)流程中的最重要的一項(xiàng),在銀行的各項(xiàng)業(yè)務(wù)流程中起著承上啟下的作用,可謂是銀行業(yè)務(wù)的重中之重。本文針對(duì)上述問(wèn)題,采用軟件工程的開(kāi)發(fā)原理,依據(jù)軟件工程的流程過(guò)程規(guī)范,按照需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、程序編碼、測(cè)試、軟件應(yīng)用、軟件維護(hù)等過(guò)程開(kāi)發(fā)了一個(gè)銀行個(gè)人賬戶信息管理系統(tǒng)。采用Linux平臺(tái)作為開(kāi)發(fā)環(huán)境,QT、C+作為開(kāi)發(fā)工具,面向?qū)ο蠡O(shè)計(jì),主要設(shè)計(jì)了管理員的登錄、新用戶的開(kāi)戶、存取款、轉(zhuǎn)賬、查詢業(yè)務(wù),解決了銀行目前操作的繁瑣流程,方便快捷的實(shí)現(xiàn)了銀行賬戶管理的基本任務(wù)。本設(shè)計(jì)設(shè)計(jì)的銀行個(gè)人賬戶信息管理系統(tǒng),
2、能使銀行工作人員輕松快捷的完成對(duì)賬戶管理的任務(wù),使銀行的賬目管理工作系統(tǒng)化、快捷化、規(guī)范化、自動(dòng)化、高效化。關(guān)鍵詞:個(gè)人信息管理;QT;C+;面向?qū)ο螅?Personal bank account management systemABSTRACTAccount management is one of the most important for each bank's business processes, which plays a connecting role in the bank's various business processes. It can be de
3、scribed as the top most important transaction in banking. For the above problems, in this paper, adopted the development of software engineering principles, based on the software engineering process specification process, in accordance with the needs analysis, outline design, detailed design, progra
4、m coding, testing, software applications, and software maintenance process, we developed a personal bank account information management systems. Used the Linux platform as a development environment, and used QT, C + + as a development tool, object-oriented design, this paper major designed of the ad
5、ministrator's login, new user accounts, withdrawals, transfers, business inquiries, it solved the cumbersome operating process of banks , and achieve a basic bank account management tasks convenient.This design designed a personal bank account information management system, which enables the ban
6、k staff to complete the account management tasks quickly and easily, so the management of the bank accounts can become systematic, efficient, standardized, automated and efficient.Key words:Personal Information Management (PIM); QT; C+;Object-oriented目錄1本課題的研究意義和目的11.1開(kāi)發(fā)背景11.2國(guó)內(nèi)外現(xiàn)狀11.3自動(dòng)化管理銀行競(jìng)爭(zhēng)優(yōu)勢(shì)的分析
7、22系統(tǒng)需求分析32.1開(kāi)發(fā)設(shè)計(jì)思想32.2可行性研究32.3 需求分析42.4系統(tǒng)流程圖的設(shè)計(jì)52.5用例描述63設(shè)計(jì)過(guò)程及編碼103.1數(shù)據(jù)庫(kù)的創(chuàng)建與使用103.2建立Bank工程方法步驟143.3添加QT設(shè)計(jì)界面類的設(shè)計(jì)153.4管理員登陸的設(shè)計(jì)153.5主操控界面設(shè)計(jì)173.6開(kāi)戶的設(shè)計(jì)183.7查詢的設(shè)計(jì)203.8存款的設(shè)計(jì)213.9取款的設(shè)計(jì)233.10轉(zhuǎn)賬的設(shè)計(jì)263.11修改密碼的設(shè)計(jì)284功能測(cè)試304.1管理員登陸界面304.2主操控界面304.3開(kāi)戶界面304.4查詢界面314.5存款界面324.6取款界面334.7轉(zhuǎn)賬界面344.8修改密碼界面354.9判斷與評(píng)估365
8、應(yīng)用與維護(hù)376總結(jié)38參考文獻(xiàn)39致謝40附錄411本課題的研究意義和目的1.1開(kāi)發(fā)背景隨著社會(huì)經(jīng)濟(jì)的發(fā)展,信息化程度的不斷深入,銀行的傳統(tǒng)業(yè)務(wù)己愈來(lái)愈不能滿足銀行客戶的需要。隨著我國(guó)經(jīng)濟(jì)的日益發(fā)展,我國(guó)的銀行業(yè)將面臨更加激烈的同行業(yè)競(jìng)爭(zhēng),如何提供更優(yōu)質(zhì)的服務(wù),如何吸引更多的客戶,如何利用計(jì)算機(jī)技術(shù)加強(qiáng)銀行個(gè)人帳戶信息管理、進(jìn)行銀行業(yè)務(wù)再造,提高銀行的工作效率和業(yè)務(wù)竟?fàn)幠芰κ菙[在各家銀行面前的迫切需要解決的問(wèn)題。隨著銀行業(yè)務(wù)不斷發(fā)展,業(yè)務(wù)的種類也是日益繁多,而各項(xiàng)業(yè)務(wù)的處理互有差異,這就對(duì)銀行進(jìn)入電子化水平和相應(yīng)的管理水平提出了要求。如何利用電子化的手段構(gòu)建一個(gè)高效統(tǒng)一的、通用靈活的系統(tǒng)來(lái)管
9、理各種各樣的業(yè)務(wù),是每個(gè)商業(yè)銀行所要研究的課題。支持決策的系統(tǒng),需要在數(shù)據(jù)庫(kù)的基礎(chǔ)上,進(jìn)行聯(lián)機(jī)分析處理,每次處理的數(shù)據(jù)量大,響應(yīng)時(shí)間長(zhǎng)。尤其是銀行每天都要處理大量的開(kāi)戶、存取款、轉(zhuǎn)賬等業(yè)務(wù),而銀行人員現(xiàn)行應(yīng)用的系統(tǒng)填寫(xiě)內(nèi)容較為復(fù)雜、流程過(guò)于繁瑣,已經(jīng)是不能滿足客戶對(duì)于辦理業(yè)務(wù)時(shí)間上的快捷性的要求,做好存開(kāi)戶、存取款等是銀行工作重要的環(huán)節(jié),然而要有效處理必須要有良好的程序和數(shù)據(jù)管理系統(tǒng)來(lái)建立一個(gè)良好的軟件系統(tǒng)來(lái)實(shí)現(xiàn)快速、有效、準(zhǔn)確、安全的處理銀行事物。銀行個(gè)人賬戶管理系統(tǒng)主要用于銀行的儲(chǔ)蓄管理,它可以幫助我們有效、準(zhǔn)確、并且高效實(shí)現(xiàn)的完成銀行柜臺(tái)業(yè)務(wù)。此系統(tǒng)操作方便效率、安全性高,只要擁有管理員
10、的賬號(hào)和密碼(也就是說(shuō)是銀行的工作人員),就可以為用戶做開(kāi)戶,開(kāi)戶之后就可以方便的為用戶辦理各種柜臺(tái)業(yè)務(wù)。1.2 國(guó)內(nèi)外現(xiàn)狀在信息化發(fā)展極為迅速的當(dāng)今社會(huì),金融經(jīng)濟(jì)日益趨向全球化,同行業(yè)競(jìng)爭(zhēng)變得更加激烈,國(guó)外銀行業(yè)掀起了一股比上世紀(jì)更為聲勢(shì)浩大的信息化革命浪潮。國(guó)外銀行業(yè)信息化基礎(chǔ)設(shè)施框架已具備完善、電子銀行體系已走進(jìn)成熟階段,信息化建設(shè)正由業(yè)務(wù)層向管理決策層推進(jìn)。國(guó)際銀行業(yè)普遍存在著管理決策信息化、網(wǎng)點(diǎn)擴(kuò)張?zhí)摂M化、產(chǎn)品服務(wù)客戶化以及非核心業(yè)務(wù)外包化等趨勢(shì)。在國(guó)內(nèi),隨著金融市場(chǎng)的逐漸開(kāi)放,銀行競(jìng)爭(zhēng)日趨激烈。銀行領(lǐng)域的競(jìng)爭(zhēng)將緊緊圍繞著客戶,尤其是優(yōu)質(zhì)客戶這一稀缺資源進(jìn)行。但是在外資銀行涌入中國(guó)的
11、進(jìn)程中,我們很容易地看到這個(gè)現(xiàn)象:外資銀行作為中國(guó)市場(chǎng)的后來(lái)者,國(guó)內(nèi)資源暫時(shí)是它們的弱項(xiàng),恰恰這一方面正是我國(guó)銀行競(jìng)爭(zhēng)的優(yōu)勢(shì)所在。然而,客戶資源的經(jīng)營(yíng)管理確實(shí)我國(guó)銀行的軟肋。國(guó)內(nèi)多數(shù)銀行的客戶關(guān)系管理還只是流于形式,這個(gè)問(wèn)題是相當(dāng)令人深思的。運(yùn)用客戶個(gè)人賬戶管理體系來(lái)進(jìn)行客戶關(guān)系管理正是應(yīng)對(duì)未來(lái)銀行客戶資源競(jìng)爭(zhēng)的利器??蛻魝€(gè)人賬戶管理正是基于計(jì)算機(jī)技術(shù)和平臺(tái),通過(guò)對(duì)銀行業(yè)務(wù)流程的重組來(lái)整合客戶信息資源,以更科學(xué)有效的方法來(lái)管理客戶信息,在銀行內(nèi)部實(shí)現(xiàn)信息和資源的共享,從而降低銀行營(yíng)運(yùn)成本,為客戶提供更經(jīng)濟(jì)、快捷、周到的產(chǎn)品和服務(wù)來(lái)吸引客戶,最終達(dá)到銀行價(jià)值最大化。1.3自動(dòng)化管理銀行競(jìng)爭(zhēng)優(yōu)勢(shì)的
12、分析由于社會(huì)信息化的不斷深入發(fā)展和經(jīng)濟(jì)金融體制的不斷深入化,在知識(shí)經(jīng)濟(jì)和銀行電子化建設(shè)的發(fā)展中,我國(guó)經(jīng)濟(jì)結(jié)構(gòu)也在不斷地變化,社會(huì)對(duì)于金融服務(wù)的需求日新月異,金融服務(wù)的內(nèi)涵和外延變得更加豐富。這就對(duì)于銀行的管理提出了新的要求。銀行的管理日益趨向信息化、電子化、多元化。銀行的電子化和現(xiàn)代化管理水平已經(jīng)成為銀行競(jìng)爭(zhēng)力的重要構(gòu)成要素,成為銀行市場(chǎng)運(yùn)作、金融創(chuàng)新、量化管理的技術(shù)基礎(chǔ)。大致上來(lái)說(shuō),銀行賬戶管理的系統(tǒng)化、自動(dòng)化和規(guī)范化,使銀行獲得以下幾方面的優(yōu)勢(shì):(1)差別化競(jìng)爭(zhēng)優(yōu)勢(shì);(2)低成本競(jìng)爭(zhēng)優(yōu)勢(shì);(3)目標(biāo)集聚性優(yōu)勢(shì);(4)知識(shí)型優(yōu)勢(shì);(5)產(chǎn)業(yè)集聚型優(yōu)勢(shì)。2系統(tǒng)需求分析2.1開(kāi)發(fā)設(shè)計(jì)思想本系統(tǒng)的
13、開(kāi)發(fā)設(shè)計(jì)思想:系統(tǒng)應(yīng)當(dāng)在銀行的規(guī)定的前提下,滿足銀行對(duì)于個(gè)人賬戶管理的需求適應(yīng)銀行工作人員日常工作的需要,并應(yīng)達(dá)到操作工程簡(jiǎn)便易行、安全可靠的要求。根據(jù)系統(tǒng)設(shè)計(jì)的目標(biāo)和主要功能和對(duì)開(kāi)發(fā)工具和環(huán)境的選擇,通過(guò)軟件工程的設(shè)計(jì)方法,對(duì)系統(tǒng)的可行性進(jìn)行分析,確定方案的可行性。根據(jù)系統(tǒng)的需求得到需求分析,在需求分析的基礎(chǔ)上進(jìn)行設(shè)計(jì)編碼,完成后對(duì)系統(tǒng)進(jìn)行功能測(cè)試和應(yīng)用維護(hù)。系統(tǒng)采用模塊化程序設(shè)計(jì)方法,不僅可以在系統(tǒng)設(shè)計(jì)時(shí)方便系統(tǒng)功能的各種組合與修改,又可以方便開(kāi)發(fā)人員日后對(duì)程序修改和和維護(hù)。系統(tǒng)要具備數(shù)據(jù)庫(kù)維護(hù)的功能,即使方便用戶對(duì)數(shù)據(jù)的增加修改等操作。2.2系統(tǒng)設(shè)計(jì)目標(biāo)和主要功能通過(guò)銀行個(gè)人賬戶管理系統(tǒng)
14、,可以使銀行對(duì)于個(gè)人賬戶的管理實(shí)現(xiàn)系統(tǒng)化、自動(dòng)化、簡(jiǎn)便化,去除繁瑣的信息錄入,從而方便快捷的使銀行達(dá)到高效管理個(gè)人賬戶的目的。開(kāi)發(fā)的主要任務(wù)是使工作人員能夠輕松方便快捷的完成對(duì)個(gè)人賬戶的管理的任務(wù)。設(shè)計(jì)的銀行個(gè)人賬戶管理系統(tǒng)應(yīng)該具備最基本的賬戶管理功能,以及對(duì)客戶信息變化的記錄功能,設(shè)計(jì)的銀行個(gè)人賬戶信息管理系統(tǒng)需要完成的主要功能是:1、銀行工作人員即管理員的登錄2、管理員對(duì)客戶的開(kāi)戶操作(包括用戶名、身份證、密碼的填寫(xiě))3、對(duì)已有客戶(賬號(hào))的查詢操作4、對(duì)已有客戶(賬號(hào))的存款操作5、對(duì)已有客戶(賬號(hào))的取款操作6、對(duì)已有客戶(賬號(hào))的修改密碼的操作7、對(duì)已有客戶(賬號(hào))之間的轉(zhuǎn)賬的操作2
15、.2.3開(kāi)發(fā)工具和環(huán)境開(kāi)發(fā)工具:QT4.8.1 、C+運(yùn)行環(huán)境:LINUX或UNIX2.2可行性研究可行性研究能使新系統(tǒng)達(dá)到以最小的開(kāi)發(fā)成本取得最佳的經(jīng)濟(jì)效益。可行性研究的目的,是根據(jù)開(kāi)發(fā)管理信息系統(tǒng)的請(qǐng)求,通過(guò)初步調(diào)查和系統(tǒng)目標(biāo)分析,對(duì)要開(kāi)發(fā)的銀行個(gè)人帳戶管理信息系統(tǒng)從技術(shù)上、經(jīng)濟(jì)上、資源上和管理上進(jìn)行是否可行的研究。這是一項(xiàng)保證資源合理使用、避免失誤和浪費(fèi)的重要工作。由于實(shí)現(xiàn)了現(xiàn)代化的信息管理系統(tǒng)功能,這樣就減少了人工的消耗,也就是說(shuō)一臺(tái)機(jī)器代替了多個(gè)人的工作,這樣就可以減少人員消耗上的開(kāi)支。不僅如此,實(shí)現(xiàn)銀行系統(tǒng)的管理可以快速的應(yīng)對(duì)各種業(yè)務(wù),在效率上也提高了速度,為創(chuàng)造更大的價(jià)值提供了前
16、提條件。系統(tǒng)對(duì)于計(jì)算機(jī)的硬件、網(wǎng)絡(luò)和系統(tǒng)條件的要求并不高,這樣就方便了,銀行信息管理系統(tǒng)的實(shí)施和普及應(yīng)用。對(duì)于管理和經(jīng)費(fèi)問(wèn)題上,都是非常透明和樂(lè)于讓人接受的。系統(tǒng)實(shí)施運(yùn)行后,并不需要特定的工作人員去管理,我們只需要一個(gè)管理員來(lái)管理一臺(tái)裝備。所以在管理經(jīng)費(fèi)上是不會(huì)有多大消耗的。由于是電腦管理系統(tǒng),所以對(duì)于賬戶的管理是相當(dāng)高的。而銀行信息管理系統(tǒng)的運(yùn)行過(guò)程不僅不違反銀行的管理規(guī)章制度,還會(huì)有效地實(shí)現(xiàn)信息的快速存取。由于不僅節(jié)約了銀行自身的成本而且他的管理效率也會(huì)提高了。 2.3 需求分析結(jié)構(gòu)設(shè)計(jì)的第一個(gè)階段就是需求分析,這個(gè)階段主要是為了收集系統(tǒng)設(shè)計(jì)過(guò)程中所要用到的基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)處理的流
17、程,從而組織成盡可能詳細(xì)的數(shù)據(jù),方便以后設(shè)計(jì)的需要。管理員管理存款取款轉(zhuǎn)賬修改密碼賬戶信息圖2-1 數(shù)據(jù)流圖通過(guò)對(duì)銀行個(gè)人賬戶管理的內(nèi)容及數(shù)據(jù)流的分析,我們便可以列出設(shè)計(jì)的數(shù)據(jù)項(xiàng):1、 開(kāi)戶信息表。包括:賬戶名、身份證、密碼、重復(fù)密碼。2、 查詢信息表。包括:賬戶名、身份證、密碼、余額。3、 存款信息表。包括:賬戶名、身份證、密碼、存款額。4、 取款信息表。包括:賬戶名、身份證、密碼、取款額。5、 轉(zhuǎn)賬信息表。包括:轉(zhuǎn)賬人、密碼、收款人、金額。6、 修改密碼信息表。包括:賬戶名、身份證、密碼、新密碼、重復(fù)新密碼。2.4 系統(tǒng)流程圖的設(shè)計(jì)這一階段的設(shè)計(jì)是基于需求分析上的,通過(guò)需求分析來(lái)設(shè)計(jì)出能夠
18、滿足用戶需求的各種實(shí)體以及它們之間的聯(lián)系,以方便下一步的邏輯結(jié)構(gòu)設(shè)計(jì)。根據(jù)系統(tǒng)設(shè)計(jì)要求系統(tǒng)流程圖設(shè)計(jì)如下:Yes進(jìn)入主窗口退出賬戶名身份證密碼重復(fù)密碼賬戶名身份證密碼余額賬戶名身份證密碼存款額賬戶名身份證密碼取款額轉(zhuǎn)賬人轉(zhuǎn)出賬號(hào)密碼收款人轉(zhuǎn)入賬號(hào)金額賬戶名身份證密碼新密碼重復(fù)新密碼NO留在登陸界面開(kāi)戶查詢存款取款轉(zhuǎn)賬修改取消主窗口取消取消取消取消取消管理員登錄開(kāi)始用戶名密碼開(kāi)戶查詢存款取款轉(zhuǎn)賬修改密碼圖2-2系統(tǒng)流程圖2.5用例描述2.5.1管理員登錄用例管理員登錄用例表如表2-1表2-1管理員登錄用例表用例名稱登錄用例描述描述了管理員如何登錄到系統(tǒng)中參與者管理員狀態(tài)審查通過(guò)前置條件無(wú)后置條件
19、如果用例成功,則管理員登錄到系統(tǒng)之。否則,系統(tǒng)狀態(tài)不變?;静僮髁鞒坍?dāng)管理員想登錄到銀行信息系統(tǒng)中時(shí),用例啟動(dòng)。(1)系統(tǒng)提示管理員輸入用戶名和密碼。(2)管理員輸入自己的用戶名和密碼,提交。(3)系統(tǒng)驗(yàn)證輸入的名字和密碼,管理員登錄系統(tǒng)成功。可選操作流程如果輸入用戶名和(或)密碼無(wú)效,系統(tǒng)提示錯(cuò)誤信息,用戶可以重新輸入或中止該用例。2.5.2開(kāi)戶用例開(kāi)戶用例表如表2-2表2-2開(kāi)戶用例表用例名稱開(kāi)戶用例描述本用例允許管理員通過(guò)客戶提供的信息給客戶開(kāi)戶參與者管理員狀態(tài)審查通過(guò)前置條件在本用例開(kāi)始前,管理員必須登陸到系統(tǒng)中后置條件如果用例成功,則系統(tǒng)中會(huì)增加新建的賬戶。否則,系統(tǒng)狀態(tài)不變?;静?/p>
20、作流程當(dāng)用戶想在銀行開(kāi)戶時(shí),要向管理員提供賬戶名、身份證、密碼,用例啟動(dòng)。(1) 系統(tǒng)提示管理員輸入需要要開(kāi)戶的客戶的賬戶名、身份證、密碼。(2) 管理員輸入新客戶的賬戶名、身份證、密碼,提交。(3) 系統(tǒng)保存新賬戶信息。2.5.3存款用例存款用例表如表2-3表2-3存款用例表用例名稱存款用例描述本用例允許管理員借助客戶提供的賬戶信息存款到帳戶中參與者管理員狀態(tài)審查通過(guò)前置條件在本用例開(kāi)始前,管理員必須登陸到系統(tǒng)中后置條件如果用例成功,則客戶賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變?;静僮髁鞒坍?dāng)客戶想讓管理員存款到自己的賬戶時(shí),要向管理員提供賬戶名、身份證、密碼和存款金額,用例啟動(dòng)。(1
21、)系統(tǒng)提示管理員輸入賬戶名、身份證、密碼和存款額。(2)管理員輸入相關(guān)信息后提交。(3)系統(tǒng)更新賬戶的相關(guān)信息。可選操作流程賬戶不存在或者無(wú)效,顯示提示信息,用戶可以重新輸入或終止該用例。2.5.4取款用例取款用例表如表2-4表2-4取款用例表用例名稱取款用例描述本用例允許管理員按照客戶的要求從客戶的帳戶中取款參與者管理員 前置條件本用例開(kāi)始前,管理員必須登錄到系統(tǒng)中后置條件如果用例成功,則客戶賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變?;静僮髁鞒坍?dāng)客戶想存錢到自己的賬戶時(shí),要向管理員提供賬戶名、身份證、密碼、取款額,用例啟動(dòng)。(1) 系統(tǒng)提示管理員輸入賬戶名、身份證、密碼和取款額。(2)
22、 管理員輸入相關(guān)信息后提交,賬戶中的存款金額是否足夠支付所取款項(xiàng)。(3) 更新賬戶的相關(guān)信息。可選操作流程賬戶中的存款金額不足,顯示提示信息,用戶可以重新輸入金額或終止該用例。2.5.5查詢用例查詢用例表如表2-5表2-5查詢用例表用例名稱查詢用例描述本用例允許管理員按照客戶的要求從客戶的帳戶中查詢余額參與者管理員 前置條件本用例開(kāi)始前,管理員必須登錄到系統(tǒng)中后置條件系統(tǒng)狀態(tài)不變。基本操作流程當(dāng)客戶想查詢到自己的賬戶余額時(shí),要向管理員提供賬戶名、身份證、密碼,用例啟動(dòng)。(1)系統(tǒng)提示管理員輸入賬戶名、身份證、密碼。(2)管理員輸入相關(guān)信息后提交。(3)顯示賬戶余額信息。2.5.6轉(zhuǎn)賬用例轉(zhuǎn)賬用
23、例表如表2-6表2-6轉(zhuǎn)賬用例表用例名稱轉(zhuǎn)賬用例描述本用例允許管理員按照用戶的要求將資金從一個(gè)賬戶轉(zhuǎn)到另一個(gè)賬戶。參與者管理員狀態(tài)審查通過(guò)前置條件本用例開(kāi)始前,管理員必須登陸到系統(tǒng)中。后置條件如果用例成功,則客戶賬戶中存款的金額發(fā)生變化。否則,系統(tǒng)狀態(tài)不變?;静僮髁鞒坍?dāng)客戶要求轉(zhuǎn)帳時(shí),用例啟動(dòng)(1) 系統(tǒng)提示管理員輸入轉(zhuǎn)賬人、密碼、收款人和所轉(zhuǎn)款項(xiàng)的金額。(2) 管理員輸入相關(guān)信息后提交.(3) 系統(tǒng)確認(rèn)賬戶中的存款金額是否足夠支付所取款項(xiàng)。(4) 系統(tǒng)更新賬戶的相關(guān)信息??蛇x操作流程賬戶中的存款金額不足,顯示提示信息,用戶可以重新輸入金額或終止該用例。2.5.7修改密碼用例修改密碼用例表如
24、表2-7 表2-7修改密碼用例表用例名稱修改密碼用例描述本用例允許管理員按照用戶的要求將原來(lái)密碼修改參與者管理員狀態(tài)審查通過(guò)前置條件本用例開(kāi)始前,管理員必須登陸到系統(tǒng)中。后置條件如果用例成功,則客戶賬戶密碼發(fā)生變化。基本操作流程當(dāng)客戶要求修改密碼時(shí),用例啟動(dòng)(1)系統(tǒng)提示管理員輸入賬戶名、身份證、密碼、新密碼、重復(fù)新密碼。(2)管理員輸入相關(guān)信息后提交.(3)系統(tǒng)更新賬戶的相關(guān)信息。3設(shè)計(jì)過(guò)程及編碼主要開(kāi)發(fā)設(shè)計(jì)思想:首先建立工程,利用QT將界面和類的頭文件、實(shí)現(xiàn)文件以及界面文件完成,并編寫(xiě)代碼通過(guò)ui界面得到輸入信息,將界面信息存入數(shù)據(jù)庫(kù)(或與數(shù)據(jù)庫(kù)數(shù)據(jù)匹配)之后,再適當(dāng)?shù)奶砑哟a把不同的界面
25、文件通過(guò)按鈕事件鏈接,從而可以在不同界面之間跳轉(zhuǎn)10。3.1 數(shù)據(jù)庫(kù)的創(chuàng)建與使用數(shù)據(jù)庫(kù)的創(chuàng)建8:終端狀態(tài)下,進(jìn)入mysql數(shù)據(jù)庫(kù),在mysql中創(chuàng)建數(shù)據(jù)庫(kù)表格。終端下輸入命令:Mysql uroot p123456 回車回車后便進(jìn)入Mysql建表語(yǔ)句如下:mysql>create database testdb;/建立數(shù)據(jù)庫(kù)mysql>use testdb;/設(shè)定當(dāng)前數(shù)據(jù)庫(kù)mysql>create table admin(adminid varchar(30),admpasswd varchar(30);/建立管理員信息數(shù)據(jù)庫(kù)表格mysql>insert into ad
26、min values('abc','123');/添加數(shù)據(jù)mysql>create table account (accountname varchar(30),accountNo varchar(30), accountpaswd varchar(30),accountMoney double);/建立賬戶信息數(shù)據(jù)庫(kù)表格數(shù)據(jù)庫(kù)的使用9:QSql 模塊提供了訪問(wèn) SQL 數(shù)據(jù)庫(kù)的接口,這些接口獨(dú)立于操作系統(tǒng),獨(dú)立于數(shù)據(jù)庫(kù)系統(tǒng)。Qt 中有很多支持這個(gè)接口的類,這些類型通過(guò) Qt 的 mod
27、el/view 架構(gòu)將數(shù)據(jù)庫(kù)與用戶界面結(jié)合起來(lái)。數(shù)據(jù)庫(kù)連接由 QSqlDatabase 類對(duì)象表示,Qt 通過(guò) driver 與不同的數(shù)據(jù)庫(kù)通訊。在進(jìn)行 SQL 查詢之前,需要與數(shù)據(jù)庫(kù)建立連接。通常,在程序執(zhí)行前用戶需要調(diào)用創(chuàng)建連接的函數(shù)以建立與數(shù)據(jù)庫(kù)的連接數(shù)據(jù)庫(kù)設(shè)計(jì)思路:數(shù)據(jù)庫(kù)的使用分為四步:(1)獲得界面信息(2)QsqlDatabase建立數(shù)據(jù)庫(kù)的鏈接(3)QsqlQuery用于執(zhí)行SQL語(yǔ)句(4)更新數(shù)據(jù)庫(kù)的數(shù)據(jù)。本設(shè)計(jì)主要應(yīng)用到數(shù)據(jù)庫(kù)的鏈接、查詢、插入和更新操作。數(shù)據(jù)庫(kù)的設(shè)計(jì)如下:1. 建立數(shù)據(jù)
28、庫(kù)連接在進(jìn)行SQL查詢之前,需要與數(shù)據(jù)庫(kù)建立連接。通常,在程序執(zhí)行前用戶需要調(diào)用創(chuàng)建連接的函數(shù)以建立與數(shù)據(jù)庫(kù)的連接。例如:首先要從界面得到輸入的數(shù)據(jù)void AdminLogin:adminLogin() QString adminid=ui->adminid->text(); QString adminpasswd=ui->adminpasswd->text(); /*連接數(shù)據(jù)庫(kù) 得到管理員的相關(guān)信息*/ AdminDao adao; bool cflag=adao.connectDb("QMYSQL","testdb",&qu
29、ot;127.0.0.1", 3306,"root","123456");/它的第一個(gè)參數(shù)指明了訪問(wèn)數(shù)據(jù)庫(kù)的driver;接下來(lái),分別設(shè)置數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)名,本地訪問(wèn),端口設(shè)置,用戶名,密碼;最后,打開(kāi)數(shù)據(jù)庫(kù)連接3。 if(cflag)Admin a=adao.getAdminByIdAndPasswd(adminid,adminpasswd); qDebug(a.adminId.toLatin1(); qDebug(a.adminPasswd.toLatin1();/判斷管理員ID和密碼是否與數(shù)據(jù)庫(kù)中定義的管理員ID密碼相符 if(a.admi
30、nId=adminId && a.adminPasswd=adminpasswd &&a.adminId!="" &&a.adminPasswd!="") AdminAll aa; this->close(); aa.exec(); else qDebug("select db failed"); QMessageBox msg(this); msg.setText("select db failed!"); msg.exec(); else qDebug(&q
31、uot;connect db failed"); QMessageBox msg(this); msg.setText("connect db failed!"); msg.exec(); 2. 執(zhí)行select命令查詢 一旦建立連接,用戶就可以使用QSqlQuery類型執(zhí)行SQL命令。本設(shè)計(jì)中執(zhí)行SELECT命令如下1:Account AccountDao:getAccountByNameAndIdAndPasswd(Account account) QSqlQuery qu(myconn); qu.prepare(&
32、quot;select * from account where accountname=? and accountNo=? and accountpaswd=?"); qu.bindValue(0,account.getAccountName(); qu.bindValue(1,account.getAccountNo(); qu.bindValue(2,account.getAccountPasswd(); Account a;qu.exec();然后可以處理查詢結(jié)果: if(qu.next() a.setAccountName(qu.value(0).toString(); a
33、.setAccountNo(qu.value(1).toString(); a.setAccountPasswd(qu.value(2).toString(); a.setAccountMoney(qu.value(3).toDouble(); return a; 第一次調(diào)用query.next()時(shí),查詢記錄指針指向第一條記錄;接下來(lái)每調(diào)用一次next(),指針向后移一條記錄,直到指針指向記錄的尾端(尾端是最后一條記錄的下一個(gè)位置),這時(shí)next()返回false。3. 執(zhí)行insert命令先從界面得到需要插入的數(shù)據(jù),連接好數(shù)據(jù)庫(kù)后,執(zhí)行INSERT命令,向數(shù)據(jù)庫(kù)插入新的數(shù)據(jù)。vo
34、id AddAccount:createAccount() /*從界面得到數(shù)據(jù)*/ QString aname=ui->accountName->text(); QString aid=ui->accountId->text(); QString apaswd=ui->accountPasswd->text(); Account a(aname,aid,apaswd,0.0); /*調(diào)用訪問(wèn)數(shù)據(jù)庫(kù)的對(duì)象 把對(duì)象存入數(shù)據(jù)庫(kù)*/ AccountDao adao; bool cflag=adao.connectDb("QMYSQL","
35、;testdb","127.0.0.1", 3306,"root","123456");/連接數(shù)據(jù)庫(kù)/*鏈接到數(shù)據(jù)庫(kù)后執(zhí)行insert命令更新數(shù)據(jù)庫(kù)5*/bool AccountDao:addAccount(Account account) QSqlQuery qu(myconn); qu.prepare("insert into account values(?,?,?,?)"); qu.bindValue(0,account.getAccountName(); qu.bindValue(1,accou
36、nt.getAccountNo(); qu.bindValue(2,account.getAccountPasswd(); qu.bindValue(3,account.getAccountMoney(); 4. SQL update 為了更新一條記錄,首先從QSqlTableModel中找到該記錄的位置。然后抽出記錄,更新域值,再將記錄寫(xiě)入數(shù)據(jù)庫(kù)3:從界面得到需要改動(dòng)的數(shù)據(jù)信息:void Transfer:transferAccount() Account sender; sender.setAccountName(ui->sname->text()
37、; sender.setAccountNo(ui->sno->text(); sender.setAccountPasswd(ui->spasswd->text(); Account reciver; reciver.setAccountName(ui->rname->text(); reciver.setAccountNo(ui->rno->text();連接到數(shù)據(jù)庫(kù): AccountDao adao; bool cflag=adao.connectDb("QMYSQL","testdb","1
38、27.0.0.1", 3306,"root","123456"); if(cflag) Account s=adao.getAccountByNameAndIdAndPasswd(sender) ; if(s.getAccountMoney()<ui->money->text().toDouble() QMessageBox msg; msg.setText("have not enough money"); msg.exec(); return; Account r=adao.getAccountByNa
39、meAndId(reciver); qDebug(r.getAccountName().toLatin1(); qDebug(s.getAccountName().toLatin1(); adao.transferByAccount(s,r,ui->money->text().toDouble(); 通過(guò)accountdao.cpp鏈接到數(shù)據(jù)庫(kù)保存相應(yīng)設(shè)計(jì)對(duì)相應(yīng)的數(shù)據(jù)進(jìn)行更新:void AccountDao:transferByAccount(Account sender,Account recever,double money) myconn.transaction(); QSq
40、lQuery qu(myconn); qu.prepare("update account set accountMoney=accountMoney-? where accountname=?"); qu.bindValue(0,money); qu.bindValue(1,sender.getAccountName(); bool f=qu.exec(); qu.prepare("update account set accountMoney=accountMoney+? where accountname=?"); qu.bindValue(0,m
41、oney); qu.bindValue(1,recever.getAccountName(); bool ff=qu.exec(); if(f&&ff) qDebug("success!"); mit(); else qDebug("failed!"); myconn.rollback(); 3.2建立Bank工程方法步驟第一步:進(jìn)入QT Creator 選擇創(chuàng)建項(xiàng)目,第二步:選擇QT控件項(xiàng)目,QT Gui 應(yīng)用圖3-1創(chuàng)建QT控件項(xiàng)目圖第三步:點(diǎn)擊下一步給項(xiàng)目起名稱第四步:點(diǎn)擊下一步,創(chuàng)建源碼文件的基本類信息圖3-2創(chuàng)建源碼文件的基本類
42、信息圖第六步:下一步點(diǎn)擊完成這時(shí)候我們就完成了一個(gè)QT項(xiàng)目的構(gòu)建,之后我們就可以在其基礎(chǔ)上根據(jù)設(shè)計(jì)需要添加QT的設(shè)計(jì)界面類7。3.3添加QT設(shè)計(jì)界面類的設(shè)計(jì)第一步:在項(xiàng)目名Bank上右擊選擇新建文件第二步:選擇新建QT設(shè)計(jì)界面類第三步:選擇Dialog without Buttons 界面模版第四步:填寫(xiě)需要添加的類名,頭文件名、源文件名和界面文件名稱會(huì)隨類名變化而變化。添加類名是要注意類名的首字母要大寫(xiě)。第五步:點(diǎn)擊下一步,核對(duì)添加至項(xiàng)目無(wú)誤情況下,點(diǎn)擊完成。這樣,我們就將一個(gè)新的類添加到項(xiàng)目中,并且將頭文件、實(shí)現(xiàn)文件、界面文件一起創(chuàng)建完成。3.4管理員登陸的設(shè)計(jì)第一步:按照3.1步驟完成項(xiàng)
43、目構(gòu)建后,Adminlogin的界面類會(huì)完成,系統(tǒng)會(huì)提供一個(gè)空界面,在空界面上我們根據(jù)管理員登陸界面用例,來(lái)添加組件。(1)選中ui界面文件,進(jìn)入ui設(shè)計(jì)界面,選擇Display Widgets下的Label,給ui界面添加文本框,雙擊文本框,修改文本框顯示的內(nèi)容。(2)選擇Input Widgets下的Line Edit,給界面添加輸入框。(3)選擇Buttons下的Push Button,給界面添加按鈕。(4)添加完后如下圖圖3-3 管理員登錄設(shè)計(jì)界面圖(5)添加組件完成后,考慮到密碼的保護(hù),我們要將密碼的顯示修改為非明碼顯示,點(diǎn)擊選中密碼輸入文本框,在屬性欄中找到echoMode將其默認(rèn)
44、的Normal改換成Password。第二步:功能設(shè)計(jì)adminid:管理員IDadminpasswd:密碼adminid 和adminpasswd 從數(shù)據(jù)庫(kù)中查詢出來(lái)得到登陸界面的輸入數(shù)據(jù)并做判斷,登陸成功進(jìn)入主操作界面如果管理員ID和密碼不正確任意一個(gè)或都不正確,則輸出"select db failed!",并彈出提示對(duì)話框,但不是由于輸入錯(cuò)誤導(dǎo)致登錄失敗時(shí),則會(huì)輸出"connect db failed",并彈出提示對(duì)話框。相應(yīng)代碼如下:void AdminLogin:adminLogin() QString adminid=ui->admin
45、id->text(); QString adminpasswd=ui->adminpasswd->text(); /*連接數(shù)據(jù)庫(kù) 得到管理員的相關(guān)信息*/ AdminDao adao; bool cflag=adao.connectDb("QMYSQL","testdb","127.0.0.1", 3306,"root","123456"); if(cflag) Admin a=adao.getAdminByIdAndPasswd(adminid,adminpasswd); q
46、Debug(a.adminId.toLatin1(); qDebug(a.adminPasswd.toLatin1();/判斷管理員ID和密碼是否與數(shù)據(jù)庫(kù)中定義的管理員ID密碼相符 if(a.adminId=adminId && a.adminPasswd=adminpasswd &&a.adminId!="" &&a.adminPasswd!="") AdminAll aa; this->close(); aa.exec(); else qDebug("select db failed&q
47、uot;); QMessageBox msg(this); msg.setText("select db failed!"); msg.exec(); else qDebug("connect db failed"); QMessageBox msg(this); msg.setText("connect db failed!"); msg.exec(); 第三步:管理員ID和密碼輸入后點(diǎn)擊登錄則進(jìn)入主操控界面,點(diǎn)擊退出則退出登陸界面,相應(yīng)代碼如下:AddAccount:AddAccount(QWidget *parent) : QD
48、ialog(parent), ui(new Ui:AddAccount) ui->setupUi(this); connect(ui->createAccount,SIGNAL(clicked(), this,SLOT(createAccount(); connect(ui->cancel,SIGNAL(clicked(), this,SLOT(close();3.5主操控界面設(shè)計(jì)按需求分析的要求主操控界面主要設(shè)計(jì)開(kāi)戶、查詢、存款、取款、轉(zhuǎn)賬、修改密碼和退出七個(gè)選項(xiàng),界面設(shè)計(jì)過(guò)程如下:第一步:按照3.2的步驟新建界面模版,填寫(xiě)Adminall類頭文件名、源文件名和界面文件名稱
49、。第二步:在建好的空界面模版上,按照主操控界面用例要求,添加Button按鈕,并修改Button按鈕名稱。完成的界面圖如下:圖3-4 主界面設(shè)計(jì)圖第三步:給各個(gè)按鈕創(chuàng)建連接分別點(diǎn)擊不同的按鈕會(huì)進(jìn)入不同的界面,每個(gè)cliked都會(huì)對(duì)應(yīng)一個(gè)connect,通過(guò)connect進(jìn)入相應(yīng)的界面。主要代碼如下:connect(ui->createAccount,SIGNAL(clicked(), this,SLOT(createAccount(); connect(ui->seachAccount,SIGNAL(clicked(), this,SLOT(seachAccount(); conn
50、ect(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
51、(clicked(), this,SLOT(close();3.6開(kāi)戶的設(shè)計(jì)第一步:分析。根據(jù)個(gè)人賬戶管理系統(tǒng)的需求分析可知,開(kāi)戶需要有賬戶名、身份證、密碼、和重復(fù)密碼四項(xiàng)輸入。第二步:按需求進(jìn)行設(shè)計(jì)。按照3.2的步驟新建界面模版,填寫(xiě)Addaccount類頭文件名、源文件名和界面文件名稱。第三步:在提供的空界面上我們根據(jù)開(kāi)戶界面用例,來(lái)添加組件。(1)選中ui界面文件,進(jìn)入ui設(shè)計(jì)界面,選擇Display Widgets下的Label,給ui界面添加文本框,雙擊文本框,修改文本框顯示的內(nèi)容。(2)選擇Input Widgets下的Line Edit,給界面添加輸入框。(3)選擇Buttons
52、下的Push Button,給界面添加按鈕。(4)添加組件完成后,考慮到密碼的保護(hù),我們要將密碼的顯示修改為非明碼顯示,點(diǎn)擊選中密碼輸入文本框,在屬性欄中找到echoMode將其默認(rèn)的Normal改換成Password。(5) 添加完后如下圖圖3-5 開(kāi)戶界面設(shè)計(jì)圖第四步:獲取界面填寫(xiě)的數(shù)據(jù)存入數(shù)據(jù)庫(kù)的設(shè)計(jì)。系統(tǒng)從管理員輸入的數(shù)據(jù)得到信息,并把信息存儲(chǔ)到數(shù)據(jù)庫(kù)中,開(kāi)戶成功則會(huì)彈出"create account success!"對(duì)話框,如果開(kāi)戶失敗則會(huì)彈出"create account failed!"對(duì)話框。如果開(kāi)戶成功,點(diǎn)擊提示對(duì)話框的確定按鈕(如下圖),這樣就得到了界面數(shù)據(jù),并用數(shù)據(jù)來(lái)構(gòu)建賬戶對(duì)象,調(diào)用訪問(wèn)數(shù)據(jù)庫(kù)的類,并把數(shù)據(jù)存入數(shù)據(jù)庫(kù),最后返回主操控界面。圖3-6 開(kāi)戶成功界面演示圖數(shù)據(jù)庫(kù)設(shè)計(jì)需求的主要代碼如下:void AddAccount:createAccount() /*從界面得到數(shù)據(jù)*/ QString aname=ui->accountName->text(); QString aid=ui->accountId->text(); QString apaswd=ui-&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 度沙子運(yùn)輸合同范本
- 工地施工鋼筋班組承包合同
- 游泳館勞務(wù)承包合同常用范本
- 門(mén)面租賃合同簡(jiǎn)易范本
- 銷售人員提成合同
- 物業(yè)管理的合作與協(xié)同
- 外籍人員雇傭合同
- 甲基轉(zhuǎn)移酶SUV39H2促進(jìn)前列腺癌增殖、侵襲和轉(zhuǎn)移的機(jī)制研究
- 家具定制合約三篇
- 考慮兩類沖擊的退化系統(tǒng)的預(yù)防維修策略研究
- 邏輯思維訓(xùn)練500題(帶答案)
- 人工智能大模型
- 極簡(jiǎn)統(tǒng)計(jì)學(xué)(中文版)
- 2024年資格考試-對(duì)外漢語(yǔ)教師資格證筆試參考題庫(kù)含答案
- 2024年4月自考02382管理信息系統(tǒng)答案及評(píng)分參考
- (蘇版)初三化學(xué)上冊(cè):第2單元課題1空氣
- 2023年12月廣東珠海市軌道交通局公開(kāi)招聘工作人員1人筆試近6年高頻考題難、易錯(cuò)點(diǎn)薈萃答案帶詳解附后
- 腹腔鏡腎上腺腫瘤切除術(shù)查房護(hù)理課件
- 專題23平拋運(yùn)動(dòng)臨界問(wèn)題相遇問(wèn)題類平拋運(yùn)和斜拋運(yùn)動(dòng)
- 超聲科醫(yī)德醫(yī)風(fēng)制度內(nèi)容
- 高三開(kāi)學(xué)收心班會(huì)課件
評(píng)論
0/150
提交評(píng)論