第九章 數(shù)據(jù)庫應(yīng)用程序開發(fā)_第1頁
第九章 數(shù)據(jù)庫應(yīng)用程序開發(fā)_第2頁
第九章 數(shù)據(jù)庫應(yīng)用程序開發(fā)_第3頁
第九章 數(shù)據(jù)庫應(yīng)用程序開發(fā)_第4頁
第九章 數(shù)據(jù)庫應(yīng)用程序開發(fā)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第十章數(shù)據(jù)庫應(yīng)用程序開發(fā)10.1VisualFoxPro程序設(shè)計(jì)的特點(diǎn)10.2應(yīng)用軟件的開發(fā)過程10.3編譯應(yīng)用程序2023/2/5110.1VFP程序設(shè)計(jì)的特點(diǎn)10.1.1面向?qū)ο蟪绦蛟O(shè)計(jì)在面向?qū)ο蟮某绦蛑袑?shù)據(jù)以及處理這些數(shù)據(jù)的程序全部封裝到一個(gè)類中,類的實(shí)例稱為對(duì)象;程序由若干對(duì)象組成,每個(gè)對(duì)象都具有屬性及方法;對(duì)象的屬性及方法均由系統(tǒng)事先定義,用戶可以通過改變對(duì)象屬性方法來控制對(duì)象。一、面向?qū)ο笈c面向過程程序設(shè)計(jì)的區(qū)別程序數(shù)據(jù)代碼面向過程的結(jié)構(gòu)化程序面向?qū)ο蟮某绦蛟O(shè)計(jì)數(shù)據(jù)程序數(shù)據(jù)程序數(shù)據(jù)程序類對(duì)象A對(duì)象B2023/2/52二、面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,引入了類、對(duì)象、事件、屬性、方法等一系列的概念以及前所未有的編程思路。面向?qū)ο蟪绦蛟O(shè)計(jì)最重要的思想就是將數(shù)據(jù)以及處理這些數(shù)據(jù)的程序全部封裝到一個(gè)類中,類的實(shí)例稱為對(duì)象。在對(duì)象中,屬于該對(duì)象的程序才能訪問(包括讀、寫)自己的數(shù)據(jù),而其它的程序不能存取該對(duì)象的數(shù)據(jù),這樣就達(dá)到了保護(hù)數(shù)據(jù)的作用。

2023/2/53所有面向?qū)ο蟮恼Z言都提供三類機(jī)制:封裝、繼承和多態(tài)。1.封裝:把數(shù)據(jù)和操作這些數(shù)據(jù)的例程代碼封裝到一起。外部例程不能隨意地更改對(duì)象中的數(shù)據(jù),提高數(shù)據(jù)安全性。2.繼承:在一個(gè)類上所做的改動(dòng)反映到它的所有子類中,對(duì)象可以通過繼承其父類通用屬性,來實(shí)現(xiàn)層次分類抽象。3.多態(tài):可建立同一函數(shù)或操作的幾種版本,運(yùn)行時(shí)根據(jù)輸入的數(shù)據(jù)類型不同,調(diào)用相應(yīng)的版本,從而返回不同數(shù)據(jù)類型的結(jié)果。即一個(gè)接口,多種方法。2023/2/54三、面向?qū)ο蟪绦蛟O(shè)計(jì)的優(yōu)點(diǎn)1.程序的可維護(hù)性好2.提高了代碼的可重用性3.程序易讀性好四、VFP中的程序

源程序:擴(kuò)展名為.PRG的文件(ASCII代碼)

程序文件:擴(kuò)展名為.FXP的文件(編譯產(chǎn)生)

應(yīng)用程序:擴(kuò)展名為.APP的文件(連編產(chǎn)生)可執(zhí)行程序:擴(kuò)展名為.EXE的文件(連編產(chǎn)生)2023/2/5510.1.2可視化設(shè)計(jì)

一個(gè)Windows應(yīng)用程序界面上包含若干個(gè)控件,例如菜單、按鈕、滾動(dòng)條、對(duì)話框、列表框等。使用VFP開發(fā)程序時(shí),可以將工具箱中的控件直接放在窗口中,并通過設(shè)置控件的屬性來控制它的外觀及運(yùn)行時(shí)的特性。同時(shí),VFP的可視化設(shè)計(jì)工具(如設(shè)計(jì)器、向?qū)А⑸善鞯龋indows編程的復(fù)雜性隱蔽起來,使開發(fā)者可以將主要精力放在應(yīng)用程序本身,從而大大提高了應(yīng)用軟件的開發(fā)效率。2023/2/5610.1.3事件驅(qū)動(dòng)編程

VFP采用的是一種事件驅(qū)動(dòng)的程序概念。所謂事件就是窗體(Form)或控件(Control)等對(duì)象可以識(shí)別的行為。在VFP中,每個(gè)窗體和控件都有一套預(yù)定義的事件集合,如果發(fā)生了其中的某個(gè)事件,VFP會(huì)執(zhí)行與該事件相關(guān)過程中的代碼。用VFP編程,可以不必考慮整個(gè)程序的流程,也不必考慮哪段代碼放在何處。只需要了解什么動(dòng)作產(chǎn)生何種事件,以及如何處理事件即可。事件驅(qū)動(dòng)程序由于對(duì)每個(gè)事件的處理目的明確,因此也十分簡練并易于維護(hù)。2023/2/5710.2.1可行性研究階段1.技術(shù)可行性:利用現(xiàn)有的技術(shù)能實(shí)現(xiàn)這個(gè)系統(tǒng)嗎?2.經(jīng)濟(jì)可行性:這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能超過它的開發(fā)成本嗎?3.操作可行性:系統(tǒng)的操作方式在這個(gè)用戶組織內(nèi)行得通嗎?

10.2.2需求分析階段產(chǎn)生系統(tǒng)說明書1.了解用戶環(huán)境和要求2.?dāng)?shù)據(jù)分析10.2應(yīng)用程序開發(fā)過程2023/2/5810.2.3系統(tǒng)設(shè)計(jì)階段1.數(shù)據(jù)庫設(shè)計(jì):系統(tǒng)需求分析、概念設(shè)計(jì)、實(shí)現(xiàn)設(shè)計(jì)、物理設(shè)計(jì)2.總統(tǒng)設(shè)計(jì):概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)10.2.4實(shí)現(xiàn)階段1.菜單設(shè)計(jì)2.界面(表單)設(shè)計(jì)3.控件屬性設(shè)計(jì)4.添加程序代碼5.系統(tǒng)安全性設(shè)計(jì)6.調(diào)試程序2023/2/5910.2.5測試階段1.模塊測試2.聯(lián)合測試

3.試運(yùn)行10.2.6運(yùn)行與維護(hù)階段開發(fā)一個(gè)應(yīng)用程序應(yīng)該遵循“分析——設(shè)計(jì)——編碼—測試”等步驟。2023/2/510以上6個(gè)階段是一個(gè)軟件系統(tǒng)的基本開發(fā)過程,每一階段的工作都直接影響著整個(gè)系統(tǒng)的質(zhì)量。衡量一個(gè)系統(tǒng)性能優(yōu)劣的重要標(biāo)志是系統(tǒng)的可靠性、易維護(hù)性、易理解性和運(yùn)行效率。可靠性是指系統(tǒng)在意料的情況下,能夠正常工作,在意外的情況(比如硬件發(fā)生故障或者輸入數(shù)據(jù)不合理)時(shí),能夠作出適當(dāng)?shù)奶幚矶恢劣趯?dǎo)致嚴(yán)重的損失;易維護(hù)性是指系統(tǒng)在運(yùn)行過程中出現(xiàn)的某些錯(cuò)誤能夠及時(shí)被發(fā)現(xiàn)并排除。另外,當(dāng)用戶提出一些新的要求后,能夠?qū)υ械南到y(tǒng)功能進(jìn)行擴(kuò)充;易理解性是指系統(tǒng)的內(nèi)部結(jié)構(gòu)清晰,易于軟件人員閱讀理解,系統(tǒng)運(yùn)行界面簡單明了,易于用戶使用;運(yùn)行效率是指系統(tǒng)能否有效地使用計(jì)算機(jī)的資源,如時(shí)間和空間等,能否滿足用戶對(duì)系統(tǒng)的要求。在一個(gè)軟件的開發(fā)過程中,為了提高系統(tǒng)的質(zhì)量,必須時(shí)刻注意這4個(gè)因素。2023/2/511數(shù)據(jù)庫的設(shè)計(jì)過程和每步產(chǎn)生的文檔:系統(tǒng)需求分析概念設(shè)計(jì)實(shí)現(xiàn)設(shè)計(jì)物理設(shè)計(jì)需求說明書E-R模型邏輯數(shù)據(jù)庫結(jié)構(gòu)物理數(shù)據(jù)庫結(jié)構(gòu)2023/2/512一般來講,應(yīng)用程序的建立需要以下步驟:構(gòu)造應(yīng)用程序框架。將文件添加到項(xiàng)目中。連編應(yīng)用程序。

10.3編譯應(yīng)用程序10.3.1典型應(yīng)用程序結(jié)構(gòu)在建立應(yīng)用程序時(shí),需要考慮如下任務(wù):

1.設(shè)置應(yīng)用程序的起始點(diǎn)。

2.初始化環(huán)境。

3.顯示初始的用戶界面。

4.控制事件循環(huán)。

5.退出應(yīng)用程序時(shí),恢復(fù)初始的開發(fā)環(huán)境。

2023/2/513在主文件中,沒有必要直接包含執(zhí)行所有任務(wù)的命令,常用的一些方法是調(diào)用過程或者函數(shù)來控制某些任務(wù),如環(huán)境初始化和清除等。建立一個(gè)簡單的主程序,步驟如下:1.通過打開數(shù)據(jù)庫、變量聲明等初始化環(huán)境。2.調(diào)用一個(gè)菜單或表單來建立初始的用戶界面。3.執(zhí)行READEVENTS命令來建立事件循環(huán)。4.從一個(gè)菜單中(如“退出”)執(zhí)行CLEAREVENTS命令,或者執(zhí)行一個(gè)表單的“退出”命令按鈕。5.應(yīng)用程序退出時(shí),恢復(fù)環(huán)境設(shè)置。

組織一個(gè)主程序文件

2023/2/514例如,用戶的主程序可以如下所示:

代碼

注釋

DOSETUP.PRG 調(diào)用程序建立環(huán)境設(shè)置(在公有變量中保存值)DOMAINMENU.MPR 將菜單作為初始的用戶界面顯示READEVENTS 建立事件循環(huán)DOCLEANUP.PRG 在退出之前,恢復(fù)環(huán)境設(shè)置

2023/2/515教學(xué)管理”應(yīng)用系統(tǒng)的主程序MAIN.PRG如下:setsysmenuoffsetdefaulttod:\教學(xué)管理clearallopendatabase教學(xué)管理exclusivedoform表單\教學(xué)管理.scxreadevents“教學(xué)管理.scx”為系統(tǒng)主頁表單,其主要功能是當(dāng)用戶輸入正確密碼后可調(diào)用教學(xué)管理信息系統(tǒng)主菜單,使用戶進(jìn)入“教學(xué)管理”數(shù)據(jù)庫應(yīng)用系統(tǒng)。

“教學(xué)管理”數(shù)據(jù)庫應(yīng)用系統(tǒng)主菜單2023/2/51610.3.2應(yīng)用程序生成過程一、使用應(yīng)用程序生成工具應(yīng)用程序向?qū)А⒃O(shè)計(jì)器應(yīng)用程序生成器二、手工生成設(shè)計(jì)數(shù)據(jù)庫、視圖、查詢、表單、報(bào)表、工具欄等設(shè)計(jì)應(yīng)用程序菜單,將前面設(shè)計(jì)的結(jié)果與菜單相聯(lián)系編寫必要的程序模塊(如主控程序)進(jìn)行應(yīng)用程序連編,生成可執(zhí)行程序2023/2/51710.3.3連編應(yīng)用程序一、準(zhǔn)備連編準(zhǔn)備和設(shè)置主文件主文件:一個(gè)表單、一個(gè)程序設(shè)置主文件:選擇主文件,在“項(xiàng)目”菜單中選擇“設(shè)置主文件”命令在主文件(或主文件的事件代碼)中加入必須的命令表單作為主文件:在表單的init事件代碼中增加readevents命令在程序的退出代碼中增加clearevents命令2023/2/518包含或排除文件包含文件:被包含的文件只在設(shè)計(jì)時(shí)可以修改,應(yīng)用程序執(zhí)行時(shí)不允許修改這類文件。一般將表單、報(bào)表、查詢、菜單等不允許用戶修改的內(nèi)容設(shè)置為包含。排除文件:被排除的文件在設(shè)計(jì)時(shí)和應(yīng)用程序執(zhí)行時(shí)都可以修改。一般將表文件、允許用戶修改的報(bào)表文件設(shè)置為排除。程序作為主文件:在程序代碼中增加readevents命令在程序的退出代碼中增加clearevents命令2023/2/519二、連編編譯成:.app只能在VFP中運(yùn)行.exe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論