版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第22章 數(shù)據(jù)庫(kù)研發(fā)實(shí)際:家庭財(cái)務(wù)管理系統(tǒng)數(shù)據(jù)庫(kù)運(yùn)用系統(tǒng)的研發(fā)大多這是工程型工程,而非實(shí)際型的研討,因此,在學(xué)習(xí)數(shù)據(jù)庫(kù)運(yùn)用系統(tǒng)的開發(fā)主要還是以實(shí)例示范為主。本章就是經(jīng)過(guò)引見實(shí)例開發(fā)來(lái)進(jìn)展數(shù)據(jù)庫(kù)研發(fā)的學(xué)習(xí),本章數(shù)據(jù)庫(kù)運(yùn)用系統(tǒng)將實(shí)現(xiàn)數(shù)據(jù)庫(kù)的添加、修正和統(tǒng)計(jì)等功能。本章的主要內(nèi)容有:E-R圖設(shè)計(jì):讀者將學(xué)會(huì)數(shù)據(jù)庫(kù)運(yùn)用系統(tǒng)研發(fā)中最重要的E-R圖實(shí)體關(guān)系圖的設(shè)計(jì),以及學(xué)會(huì)由E-R圖轉(zhuǎn)化成為關(guān)系表?;跀?shù)據(jù)庫(kù)的運(yùn)用研發(fā):讀者將學(xué)會(huì)運(yùn)用數(shù)據(jù)庫(kù)進(jìn)展工程研發(fā),掌握數(shù)據(jù)庫(kù)運(yùn)用系統(tǒng)開發(fā)常用的函數(shù)和程序設(shè)計(jì)步驟。22.1 提出問(wèn)題:設(shè)計(jì)一個(gè)家庭財(cái)務(wù)管理系統(tǒng)本小節(jié)是講解概要功能和界面設(shè)計(jì),普通而言,小規(guī)模的工程研發(fā)總是
2、以功能需求為主導(dǎo),界面設(shè)計(jì)為手段的。因此,在思索詳細(xì)的開發(fā)實(shí)施之前,應(yīng)該先清楚本工程需求實(shí)現(xiàn)什么功能,以及可以提供應(yīng)用戶的操作界面。22.1.1 概要功能家庭財(cái)務(wù)管理系統(tǒng)相對(duì)于企業(yè)的財(cái)務(wù)系統(tǒng)而言,要簡(jiǎn)單得多,畢竟收支方面的流程和種類都比較小,而且運(yùn)用該系統(tǒng)的管理員也比較少。為了簡(jiǎn)單起見,本工程就實(shí)現(xiàn)家庭財(cái)務(wù)管理系統(tǒng)的支出方面進(jìn)展講解分析,收入方面的相關(guān)功能其實(shí)是類似的,該功能留給感興趣的讀者完成。家庭財(cái)務(wù)管理系統(tǒng)的概要功能如下:可以對(duì)每天的支出進(jìn)展記帳,記帳要實(shí)現(xiàn)分類:1按不同的支出類型分類。2按不同的消費(fèi)人員進(jìn)展分類??梢詫?duì)歷史數(shù)據(jù)進(jìn)展查詢,查詢要實(shí)現(xiàn)的功能是:1指定時(shí)間段,可以按類型進(jìn)展該
3、時(shí)間段的支出統(tǒng)計(jì)查詢。2指定時(shí)間段,可以按消費(fèi)人員進(jìn)展該時(shí)間段的支出統(tǒng)計(jì)查詢。3指定時(shí)間段,可以同時(shí)按類型和消費(fèi)人員進(jìn)展該時(shí)間段的支出統(tǒng)計(jì)查詢。22.1.2 界面需求根據(jù)前文所述的功能需求,在功能上可以分為兩個(gè)模塊:記帳的功能。查詢并統(tǒng)計(jì)的功能。因此,在操作界面上也應(yīng)該分兩個(gè)區(qū)域分別為這兩個(gè)功能提供用戶的操作界面:日常功能:日常功能就是對(duì)日常的開支進(jìn)展記帳。統(tǒng)計(jì)功能:統(tǒng)計(jì)功能就是根據(jù)用戶輸入的起止時(shí)間,對(duì)特定的類型和消費(fèi)人員的支出進(jìn)展統(tǒng)計(jì)。22.2 數(shù)據(jù)庫(kù)設(shè)計(jì)基于數(shù)據(jù)庫(kù)的運(yùn)用系統(tǒng)可以分為兩個(gè)層次:運(yùn)用程序?qū)訑?shù)據(jù)庫(kù)層數(shù)據(jù)庫(kù)層是不與用戶直接打交道的,用戶是經(jīng)過(guò)運(yùn)用程序來(lái)訪問(wèn)數(shù)據(jù)庫(kù),因此,數(shù)據(jù)庫(kù)可以
4、看作是整個(gè)數(shù)據(jù)庫(kù)運(yùn)用系統(tǒng)的“后臺(tái),而運(yùn)用程序所展現(xiàn)的界面可以看作是該系統(tǒng)的“前臺(tái)。因此,設(shè)計(jì)好后臺(tái),直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和運(yùn)用程序設(shè)計(jì)的方便與否。22.2.1 數(shù)據(jù)關(guān)系分析數(shù)據(jù)庫(kù)的設(shè)計(jì),首先應(yīng)該從數(shù)據(jù)之間的相互關(guān)系入手。假設(shè)數(shù)據(jù)庫(kù)系統(tǒng)比較復(fù)雜,那么還需求進(jìn)展規(guī)范化的工程管理流程,普通的數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)流程如下:1需求分析階段2概念構(gòu)造設(shè)計(jì)階段3數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)階段4運(yùn)用程序開發(fā)階段5數(shù)據(jù)庫(kù)系統(tǒng)實(shí)施階段6數(shù)據(jù)庫(kù)系統(tǒng)運(yùn)轉(zhuǎn)和維護(hù)階段22.2.2 E-R圖設(shè)計(jì)概念模型就是對(duì)信息世界的籠統(tǒng)建模,狹義的信息世界可以專指數(shù)據(jù)庫(kù)中的數(shù)據(jù),那么概念模型就可以了解為對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的籠統(tǒng)建模。概念模型最常用的描畫方
5、法是E-R圖“實(shí)體聯(lián)絡(luò)圖描畫法,E-R圖主要有3個(gè)要素:實(shí)體:實(shí)體是以矩形表示。實(shí)體就是數(shù)據(jù)庫(kù)數(shù)據(jù)中具有實(shí)踐意義的主體,如在前文分析的實(shí)體就是“消費(fèi)人員和“消費(fèi)品。屬性:屬性用橢圓表示。就是實(shí)體所擁有的特性,假設(shè)是在面向?qū)ο蟪绦蛟O(shè)計(jì)中,可以將“實(shí)體和“屬性對(duì)應(yīng)為“對(duì)象和“對(duì)象中的數(shù)據(jù)成員的關(guān)系。聯(lián)絡(luò):聯(lián)絡(luò)用菱形表示。聯(lián)絡(luò)是實(shí)體與實(shí)體之間發(fā)生的動(dòng)作、從屬或其他依賴關(guān)系。22.2.3 數(shù)據(jù)庫(kù)表的生成由E-R圖生成數(shù)據(jù)庫(kù)表是數(shù)據(jù)庫(kù)系統(tǒng)研發(fā)的必要步驟,假設(shè)沒(méi)有聯(lián)絡(luò),只需單實(shí)體或孤立的實(shí)體的E-R圖,轉(zhuǎn)換方式很簡(jiǎn)單:1首先將實(shí)體名寫成數(shù)據(jù)庫(kù)表的表名。2然后將實(shí)體的屬性寫成數(shù)據(jù)庫(kù)表的屬性。3根據(jù)實(shí)踐含義,
6、將設(shè)定數(shù)據(jù)庫(kù)屬性的類型整型、字符串型或日期類型等。4設(shè)定主碼。22.3 算法設(shè)計(jì)本章工程的功能比較簡(jiǎn)單,而且本章主要的學(xué)習(xí)目的在于:銜接數(shù)據(jù)庫(kù)。修正數(shù)據(jù)庫(kù)內(nèi)容。添加數(shù)據(jù)。統(tǒng)計(jì)數(shù)據(jù)庫(kù)信息。因此,算法的設(shè)計(jì)和分析也將圍繞這4個(gè)功能展開。22.3.1 銜接數(shù)據(jù)庫(kù)銜接數(shù)據(jù)庫(kù)的功能是一切數(shù)據(jù)庫(kù)運(yùn)用系統(tǒng)開發(fā)的必要過(guò)程,本工程采用ADO的銜接方式進(jìn)展銜接。銜接數(shù)據(jù)庫(kù)的過(guò)程如下:初始化OLE,創(chuàng)建ADO銜接。調(diào)用Open()函數(shù),翻開本地的數(shù)據(jù)庫(kù)文件“Home.mdb。為界面讀取初始化數(shù)據(jù),傳送SQL語(yǔ)句選擇出相應(yīng)的數(shù)據(jù)庫(kù)元組。22.3.2 添加數(shù)據(jù)為數(shù)據(jù)庫(kù)添加數(shù)據(jù)是數(shù)據(jù)庫(kù)開發(fā)的重要功能,主要步驟如下:調(diào)用O
7、pen()函數(shù)翻開數(shù)據(jù)集。調(diào)用AddNew()成員函數(shù),告知系統(tǒng)開場(chǎng)添加數(shù)據(jù)。添加數(shù)據(jù)操作。調(diào)用Update()將添加的數(shù)據(jù)寫回到磁盤的數(shù)據(jù)庫(kù)文件中。調(diào)用Close()成員函數(shù)封鎖數(shù)據(jù)集。22.3.3 修正數(shù)據(jù)庫(kù)內(nèi)容從運(yùn)用程序種修正數(shù)據(jù)庫(kù)的內(nèi)容關(guān)鍵也在于傳送SQL語(yǔ)句,運(yùn)用SQL的更新語(yǔ)句即可,如下所示:update 表名 set DateA=某日期,Content=某內(nèi)容,MoneyA=某金額,Handler=某人,Type=某類型 where ID=某ID ;將該SQL語(yǔ)句存放在strSql字符串變量中,然后再調(diào)用Execute()函數(shù)執(zhí)行即可。代碼如下:m_pConnection-Exe
8、cute(_bstr_t(strSql),&vAffected,adCmdText);22.3.4 統(tǒng)計(jì)數(shù)據(jù)庫(kù)信息統(tǒng)計(jì)數(shù)據(jù)庫(kù)的信息關(guān)鍵在于運(yùn)用SQL語(yǔ)句的集函數(shù),就是對(duì)數(shù)據(jù)表中的某屬性進(jìn)展集操作,這里運(yùn)用的集函數(shù)是“和操作,即“SUM()函數(shù),代碼如下:select SUM(MoneyA) as SumMoneyA from Budget where DateA=某日期 and DateA=某日期 and Type=某消費(fèi)品類型 and Handler= 某消費(fèi)人 ;22.4 軟件工程開發(fā)過(guò)程本節(jié)將講解如何開發(fā)家庭財(cái)務(wù)管理工程,經(jīng)過(guò)前文的工程背景和算法分析的預(yù)備,本節(jié)的內(nèi)容就相對(duì)比較簡(jiǎn)單了。2
9、2.4.1 開發(fā)家庭財(cái)務(wù)管理系統(tǒng)工程的流程開發(fā)家庭財(cái)務(wù)管理系統(tǒng)工程的流程如下圖。圖22.5 家庭財(cái)務(wù)管理系統(tǒng)工程的開發(fā)流程 22.4.2 根據(jù)E-R圖創(chuàng)建數(shù)據(jù)庫(kù)表E-R圖中一共有兩個(gè)實(shí)體和一個(gè)聯(lián)絡(luò),因此,在本工程中就相應(yīng)創(chuàng)建3個(gè)數(shù)據(jù)庫(kù)表,如下圖。為數(shù)據(jù)庫(kù)創(chuàng)建3個(gè)數(shù)據(jù)表 22.4.3 功能研發(fā)的預(yù)備任務(wù)在實(shí)現(xiàn)系統(tǒng)的添加、修正和統(tǒng)計(jì)功能之前,需求做一些預(yù)備任務(wù),使整個(gè)工程的數(shù)據(jù)庫(kù)銜接和訪問(wèn)等能順利進(jìn)展,并使界面可以到達(dá)預(yù)期目的。預(yù)備任務(wù)的任務(wù)流程如下圖。預(yù)備任務(wù)的任務(wù)流程 22.4.4 實(shí)現(xiàn)算法設(shè)計(jì)根據(jù)前文所創(chuàng)建的工程,在工程的對(duì)話框中設(shè)計(jì)出前文所示的界面設(shè)計(jì)。界面上主要的功能按鈕有:“添加按鈕:
10、單擊該按鈕后,將對(duì)話框編輯控件的內(nèi)容添加到數(shù)據(jù)庫(kù)?!靶拚粹o:?jiǎn)螕粼摪粹o后,使對(duì)話框編輯控件中與數(shù)據(jù)庫(kù)對(duì)應(yīng)的內(nèi)容作出相應(yīng)的修正。“統(tǒng)計(jì)按鈕:?jiǎn)螕粼摪粹o后,對(duì)指定時(shí)間段內(nèi)的數(shù)據(jù)庫(kù)內(nèi)容,分消費(fèi)品的經(jīng)手人或消費(fèi)品種類進(jìn)展統(tǒng)計(jì),并將統(tǒng)計(jì)結(jié)果顯示在對(duì)話框相應(yīng)的控件中。 22.4.5 測(cè)試本小節(jié)對(duì)“HomeRes工程進(jìn)展測(cè)試,按F5鍵編譯并運(yùn)轉(zhuǎn)工程,測(cè)試流程如下:1測(cè)試添加功能。2測(cè)試統(tǒng)計(jì)功能。3測(cè)試修正功能。在日常功能中,選中與添加功能的數(shù)據(jù)組合一樣的數(shù)據(jù),對(duì)金額進(jìn)展修正,修正后,按照測(cè)試統(tǒng)計(jì)功能的數(shù)據(jù)組合再進(jìn)展統(tǒng)計(jì),查看并思索統(tǒng)計(jì)結(jié)果的變化。在軟件工程工程開發(fā)過(guò)程中,軟件測(cè)試是軟件生命周期中質(zhì)量保證的關(guān)鍵環(huán)節(jié),任何軟件都不能夠做到十全十美,而編譯器也只擔(dān)任檢查語(yǔ)法錯(cuò)誤,而對(duì)于邏輯錯(cuò)誤那么無(wú)能為力了,因此軟件測(cè)試對(duì)于勝利開發(fā)軟件至關(guān)重要。22.5 小結(jié)本章詳細(xì)講解了基于ADO銜接方式的數(shù)據(jù)庫(kù)運(yùn)用工程家庭
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024雜志廣告刊登廣告合同
- 專題02成語(yǔ)、熟語(yǔ)辨析-2022-2023學(xué)年四年級(jí)語(yǔ)文上冊(cè)期末復(fù)習(xí)知識(shí)點(diǎn)精講精練(部編版)
- 2024河北勞動(dòng)合同范本
- 深圳大學(xué)《音樂(lè)教學(xué)法》2023-2024學(xué)年第一學(xué)期期末試卷
- 采購(gòu)訂單終止合同模板(2篇)
- 香蕉轉(zhuǎn)讓合同范本(2篇)
- 養(yǎng)老院阿爾茲海默癥協(xié)議書(2篇)
- 關(guān)于考試的檢討書
- 出納人員年終工作總結(jié)
- 企業(yè)發(fā)生火災(zāi)應(yīng)急預(yù)案(6篇)
- 國(guó)際貿(mào)易術(shù)語(yǔ)2020
- 國(guó)網(wǎng)新安規(guī)培訓(xùn)考試題及答案
- 2024至2030年中國(guó)節(jié)流孔板組數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 黑龍江省哈爾濱市師大附中2024-2025學(xué)年高一上學(xué)期10月階段性考試英語(yǔ)試題含答案
- 第六單元測(cè)試卷-2024-2025學(xué)年統(tǒng)編版語(yǔ)文三年級(jí)上冊(cè)
- 【課件】Unit4+Section+B+(Project)課件人教版(2024)七年級(jí)英語(yǔ)上冊(cè)
- 青少年法治教育實(shí)踐基地建設(shè)活動(dòng)實(shí)施方案
- 綠化養(yǎng)護(hù)續(xù)簽合同申請(qǐng)書范文
- 教科(2024秋)版科學(xué)三年級(jí)上冊(cè)2.6 我們來(lái)做“熱氣球”教學(xué)設(shè)計(jì)
- 追要工程款居間合同范本2024年
- 2024至2030年中國(guó)氮化硅軸承球行業(yè)市場(chǎng)全景調(diào)查及投資前景分析報(bào)告
評(píng)論
0/150
提交評(píng)論