版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第15章 綜合實(shí)例 學(xué)習(xí)要點(diǎn)1、數(shù)據(jù)需求和功能需求2、邏輯設(shè)計(jì)和物理設(shè)計(jì)3、總體設(shè)計(jì)、用戶界面設(shè)計(jì)4、設(shè)計(jì)與編碼、數(shù)據(jù)裝載第15章 綜合實(shí)例15.1 需求分析15.2 數(shù)據(jù)庫設(shè)計(jì)15.3 應(yīng)用程序設(shè)計(jì)15.4 運(yùn)行設(shè)計(jì)第15章 綜合實(shí)例 本章通過一個(gè)實(shí)例“摩托車修理管理系統(tǒng)”來介紹Visual FoxPro6.0應(yīng)用系統(tǒng)的開發(fā)過程。 15.1 需求分析 15.1.1 數(shù)據(jù)需求 在調(diào)研的過程中,用戶提供了該系統(tǒng)所需的輸入、輸出單據(jù)(見圖15-115-7)。輸入單據(jù)包括修車登記單、摩托車修理單、零件入庫單和零件出庫單等4種;輸出單據(jù)包括季度零件訂貨計(jì)劃、摩托車修理發(fā)票和工資月報(bào)表等3種。不少單據(jù)都
2、填寫了數(shù)據(jù),這是開發(fā)人員所需要的,同時(shí)也為數(shù)據(jù)庫設(shè)計(jì)提供了數(shù)據(jù)樣例。15.1.2 功能需求 功能分析的任務(wù),是弄清用戶對(duì)目標(biāo)系統(tǒng)數(shù)據(jù)處理功能所提出的需求。根據(jù)系統(tǒng)目標(biāo)和數(shù)據(jù)需求并與用戶充分討論后,本例的功能需求可歸納為以下5個(gè)方面。 1.數(shù)據(jù)登記 登記功能用于把各種手填單據(jù)中的數(shù)據(jù)及時(shí)登記到系統(tǒng)將要定義的表中,還要求能進(jìn)行修改。這些單據(jù)包括修車登記單、摩托車修理單、零件入庫單和零件出庫單。 2.查詢 能查詢登記單、修理單、摩托車、車主、修理工、零件庫存的有關(guān)數(shù)據(jù)。15.1.2 功能需求 3.編制零件訂貨計(jì)劃需要找出要訂貨的零件,訂貨條件為:零件庫存量最低庫存量。訂貨量可由用戶輸入或修改。 4.
3、打印發(fā)票 發(fā)票中除包含顧客、摩托車及修理項(xiàng)目等數(shù)據(jù)外,還要計(jì)算出修車費(fèi),修車費(fèi)包括修理費(fèi)和零件費(fèi),按下列各式計(jì)算:零件費(fèi)=(零件價(jià)格耗用數(shù)量)修理費(fèi)=小時(shí)工資修理工時(shí)3總計(jì)=零件費(fèi)+修理費(fèi) 不難看出,發(fā)票包含的信息來自修車登記單、摩托車修理單和零件出庫單等各種單據(jù),這是一項(xiàng)涉及面很廣的功能。 5.打印修理工工資月報(bào)表某修理工的月工資= 修理小時(shí)小時(shí)工資15.2 數(shù)據(jù)庫設(shè)計(jì) 數(shù)據(jù)庫設(shè)計(jì)的任務(wù)是確定系統(tǒng)所需的數(shù)據(jù)庫。數(shù)據(jù)庫是表的集合,通常一個(gè)簡(jiǎn)單系統(tǒng)只需一個(gè)數(shù)據(jù)庫。數(shù)據(jù)庫設(shè)計(jì)可分為邏輯設(shè)計(jì)與物理設(shè)計(jì)兩個(gè)步驟。第一步確定數(shù)據(jù)庫所包含的表及其字段。第二步確定表的具體結(jié)構(gòu),即確定字段的名稱、類型及寬度;
4、此外還要確定索引,為建立表的關(guān)聯(lián)準(zhǔn)備條件。 15.2.1 邏輯設(shè)計(jì) 設(shè)計(jì)從分析輸入數(shù)據(jù)著手,輸入數(shù)據(jù)中的某類相關(guān)數(shù)據(jù)可以歸納為一個(gè)表。對(duì)需要同時(shí)調(diào)用的若干表,應(yīng)使它們符合關(guān)聯(lián)要求。數(shù)據(jù)庫設(shè)計(jì)好后,可通過分析輸出數(shù)據(jù)來驗(yàn)證其可用性,若發(fā)現(xiàn)有的輸出數(shù)據(jù)不能從輸入數(shù)據(jù)導(dǎo)出,須繼續(xù)向用戶征集數(shù)據(jù)。15.2.2 物理設(shè)計(jì) 下面列出摩托車修理管理系統(tǒng)所有表的結(jié)構(gòu)與索引,為便于理解,也列出表的部分記錄。 1.修理單(d:mtcxlxld.dbf) 2.摩托車(d:mtcxlmtc.dbf) 3.車主(d:mtcxlcz.dbf) 4.修理工(d:mtcxlxlg.dbf) 5.零件用量(d:mtcxlljy
5、l.dbf) 6.零件庫存(d:mtcxlljkc.dbf) 除上述6個(gè)表外,零件入庫、出庫時(shí)還需要暫存表。零件入庫表為ljrk.dbf,其結(jié)構(gòu)與ljkc.dbf相同。零件出庫表(d:mtcxlljck.dbf)的結(jié)構(gòu)為:ljck(零件號(hào)c(6),數(shù)量n(2))。15.3 應(yīng)用程序設(shè)計(jì) 15.3.1 總體設(shè)計(jì) 按照功能分類是總體設(shè)計(jì)中常用的方法,系統(tǒng)的總體結(jié)構(gòu)可用層次圖(Hierarchy Chart簡(jiǎn)稱HC圖)來表示(見圖15-9)。這種圖自上而下進(jìn)行分層:第一層為系統(tǒng)層,通常對(duì)應(yīng)主程序;第二層為子系統(tǒng)層,一般起分類控制作用,但是當(dāng)該層沒有下一層次時(shí)也可直接用來表達(dá)功能(例如圖中的查詢功能)
6、;第三層為功能層;第四層為操作層。 15.3.2 初始用戶界面設(shè)計(jì) 從總體結(jié)構(gòu)圖很容易列出應(yīng)用程序的菜單,由總體結(jié)構(gòu)圖轉(zhuǎn)換到菜單時(shí),其對(duì)應(yīng)情況如下:系統(tǒng)層對(duì)應(yīng)菜單文件,子系統(tǒng)層對(duì)應(yīng)菜單標(biāo)題;功能層則對(duì)應(yīng)子菜單項(xiàng)。15.3.3 模塊設(shè)計(jì)與編碼 1.主文件(mtcxl.prg) 菜單文件名定為mtcxlcd(摩托車修理菜單),并設(shè)置一個(gè)主文件來調(diào)用它。主文件代碼編寫如下: SET TALK OFF SET DEFA TO d:vfp6mtcxl CLEA ALL SET VIEW TO sjhj.vue PUBLIC xldh,zljf Xldh=SPACE(4) DO FORM fm KEYB
7、CTRL+F4 MODI WIND SCREEN TITL 摩托車修理管理系統(tǒng) CLEA15.3.3 模塊設(shè)計(jì)與編碼 *以上為初始化環(huán)境代碼 DO mtcxlcd.mpr READ EVENT QUIT 圖15-11 摩托車修理管理系統(tǒng)的數(shù)據(jù)環(huán)境15.3.3 模塊設(shè)計(jì)與編碼 2.菜單程序(mtcxlcd.mpr) 往命令窗口鍵入命令MODI MENU mtcxlcd,就會(huì)出現(xiàn)菜單設(shè)計(jì)窗口。 “退出”菜單項(xiàng)的命令 CLEAR EVENTS 按圖15-10設(shè)置調(diào)用各表單的命令,例如對(duì)“修車登記”菜單項(xiàng)可鍵入命令DO FORM xcdj。 從菜單文件mtcxlcd.mnx生成菜單程序mtcxlcd.
8、mpr。15.3.3 模塊設(shè)計(jì)與編碼 3.“修車登記”表單(xcdj.scx) 修車登記表單用于輸入、修改或添加修車登記單,它具有以下特點(diǎn): 將多個(gè)表的輸入、修改、添加等多種維護(hù)功能集于一體,并使屏幕顯示與修車登記單格式一致,方便用戶操作。 能提供翻頁和尋頁兩種方式來查找修車登記單。尋頁按鈕供用戶直接鍵入xld.編號(hào)來查找記錄。 增頁按鈕用于增加新的修車登記單,登記單編號(hào)自動(dòng)加1,并可增加新的摩托車與車主。15.3.3 模塊設(shè)計(jì)與編碼 若輸入的摩托車牌號(hào)在mtc.dbf中已有,則摩托車與車主的數(shù)據(jù)會(huì)自動(dòng)填入表格。這不僅可減少輸入擊鍵,而且減少了輸入出錯(cuò)機(jī)會(huì)。自動(dòng)填入的數(shù)據(jù)還允許立即修改,此時(shí)系
9、統(tǒng)會(huì)更新有關(guān)的表,即具有實(shí)時(shí)維護(hù)摩托車與車主數(shù)據(jù)的能力。 設(shè)有專用按鈕,可當(dāng)場(chǎng)臨時(shí)維護(hù)摩托車與車主數(shù)據(jù)。15.3.3 模塊設(shè)計(jì)與編碼現(xiàn)將設(shè)計(jì)xcdj.scx表單的主要操作步驟列出如下:創(chuàng)建表單:往命令窗口鍵入命令MODIFY FORM xcdj,便出現(xiàn)標(biāo)題為xcdj.scx的表單設(shè)計(jì)器窗口。圖15-12 “修車登記”表單窗口15.3.3 模塊設(shè)計(jì)與編碼 Forml的屬性設(shè)置 Caption屬性設(shè)置為“修車登記”;AutoCenter屬性設(shè)置為.T.,使表單在主窗口內(nèi)居中顯示。 在表單上創(chuàng)建各標(biāo)簽和文本框 添加表格線條:利用表單控件工具欄的線條按鈕畫出表格的所有橫線和豎線。15.3.3 模塊設(shè)計(jì)
10、與編碼創(chuàng)建命令按鈕組圖15-13 “輸入修理單號(hào)”表單窗口15.3.3 模塊設(shè)計(jì)與編碼 4.“輸入修理單號(hào)”表單(srxldh.scx) 創(chuàng)建表單:往命令窗口鍵入命令MODIFY FORM srxldh,便出現(xiàn)表單設(shè)計(jì)器窗口。 屬性設(shè)置:Form1的Caption屬性為“輸入”;Labell的Caption屬性為“請(qǐng)輸入修理單號(hào):”;Command1的Caption屬性為“確定”。 Text1文本框的LostFocus事件代碼編寫如下: xldh=THISFORM.Text1.VALUE Command1命令按鈕的Click事件代碼編寫如下:THISFORM.Release15.3.3 模塊設(shè)
11、計(jì)與編碼 5.“摩托車修理”表單(mtcxl.scx)圖15-14 “摩托車修理”表單窗口15.3.3 模塊設(shè)計(jì)與編碼創(chuàng)建表單:往命令窗口鍵入命令MODIFY FORM mtcxl,便出現(xiàn)表單設(shè)計(jì)器窗口。Form1的屬性設(shè)置 將Caption屬性設(shè)置為“摩托車修理.修理情況”。按圖15-14在表單上創(chuàng)建各標(biāo)簽和文本框在xlg表選取修理工的工號(hào),并存入xld.工號(hào)Form1的Refresh事件代碼編寫15.3.3 模塊設(shè)計(jì)與編碼 6.“零件訂貨計(jì)劃”表單(ljdh.scx) 創(chuàng)建表單:往命令窗口鍵入命令MODIFY FORM ljdh,便出現(xiàn)表單設(shè)計(jì)器窗口,如圖15-15所示。圖15-15 “零
12、件訂貨計(jì)劃”表單窗口15.3.3 模塊設(shè)計(jì)與編碼 按圖15-15在表單上創(chuàng)建Label1標(biāo)簽和List1列表框各一個(gè)。 創(chuàng)建變量屬性jd(表示“季度”):用表單菜單的新建屬性命令創(chuàng)建一個(gè)變量屬性jd,然后在屬性窗口將該變量屬性的初值設(shè)置為“1”。 屬性設(shè)置 List1的Init事件代碼 List1的DblClick事件代碼15.3.3 模塊設(shè)計(jì)與編碼7.“打印發(fā)票”表單(dyfp.scx)創(chuàng)建表單:往命令窗口鍵入命令MODIFY FORM dyfp,便出現(xiàn)表單設(shè)計(jì)器窗口,如圖15-16所示。圖15-16 “打印發(fā)票”表單窗口15.3.3 模塊設(shè)計(jì)與編碼 按圖15-16在表單上創(chuàng)建Label1標(biāo)
13、簽Text1文本框和Command1命令按鈕各一個(gè)。 屬性設(shè)置:將Form1的Caption屬性設(shè)置為“打印發(fā)票”;將Command1命令按鈕的Caption屬性設(shè)置為“確定”。 Text1的LostFocus事件代碼編寫如下: xldh=THISFORM.Text1.VALUE Command1的Click事件代碼15.3.3 模塊設(shè)計(jì)與編碼 8.“發(fā)票”報(bào)表(fp.frx) 圖15-17 “發(fā)票”報(bào)表設(shè)計(jì)器15.3.3 模塊設(shè)計(jì)與編碼 創(chuàng)建報(bào)表:在命令窗口鍵入命令MODIFY REPORT fp,便出現(xiàn)fp.frx報(bào)表設(shè)計(jì)器窗口。 創(chuàng)建報(bào)表變量ljf(零件費(fèi))和xlf(修理費(fèi)):選定報(bào)表菜
14、單的變量選項(xiàng)在報(bào)表變量對(duì)話框的變量列表中鍵入ljf在“要存儲(chǔ)的值”與“初始值”文本框中均鍵入zljf。 可用類似的方法來創(chuàng)建xlf報(bào)表變量,但在“要存儲(chǔ)的值”與“初始值”兩框中均鍵入:xld.修理小時(shí)*xlg.小時(shí)工資*3。15.3.3 模塊設(shè)計(jì)與編碼 在報(bào)表設(shè)計(jì)器窗口中創(chuàng)建表達(dá)式控件:用報(bào)表控件工具欄中的域控件按鈕創(chuàng)建如圖15-17所示的9個(gè)表達(dá)式控件,它們分別是xld.完工日期,mtc.車主名,cz.地址,xld.牌號(hào),xld.修理項(xiàng)目,xld.送修日期,ljf,xlf和ljf+xlf。ljf和ljf+xlf兩個(gè)表達(dá)式控件創(chuàng)建時(shí),在報(bào)表表達(dá)式對(duì)話框中的格式文本框均設(shè)置9999.99。15.4 運(yùn)行設(shè)計(jì) 15.4.1 裝載數(shù)據(jù) 在應(yīng)用系統(tǒng)投入運(yùn)行之前,通常要往數(shù)據(jù)庫裝入必要的數(shù)據(jù)。本系統(tǒng)也可在運(yùn)行時(shí)裝載某些數(shù)據(jù),例如通過登記功能來裝載,但是上例中的修理工管理和零件入庫程序尚未編寫,故這些信息只得打開相應(yīng)的表來輸入。15.4.2 設(shè)置應(yīng)用系統(tǒng)程序項(xiàng) 本系統(tǒng)可直接在Visual FoxPro 6.0中運(yùn)行,只要在命令窗口中鍵入命令DO d:mtcxlmtcxl 就可行。也可在Windows的開始菜單中建立程序項(xiàng)來運(yùn)行。建立程序項(xiàng)的步驟如下: 進(jìn)入Windows 98;15.
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026山東威海市教育局直屬學(xué)校引進(jìn)急需緊缺人才筆試重點(diǎn)試題及答案解析
- 宜賓市南溪區(qū)事業(yè)單位2025年公開考核招聘高層次和急需緊缺專業(yè)人才考試重點(diǎn)試題及答案解析
- 2025贛州市建興產(chǎn)業(yè)鏈管理有限公司員工招聘1人筆試重點(diǎn)題庫及答案解析
- 2025廣東惠州市第一婦幼保健院招聘員額制衛(wèi)生專業(yè)技術(shù)人員13人(第二批)備考核心試題附答案解析
- 2026西藏日喀則市薩迦縣選(聘)任社區(qū)工作者20人筆試重點(diǎn)題庫及答案解析
- 2025廣西河池市天峨縣大數(shù)據(jù)發(fā)展局公開招聘就業(yè)見習(xí)人員3人考試核心題庫及答案解析
- 2025福建省人資集團(tuán)漳州地區(qū)招聘工作人員2人筆試重點(diǎn)試題及答案解析
- 2025年齊齊哈爾市總工會(huì)工會(huì)社會(huì)工作者招聘39人考試核心試題及答案解析
- 2025廣西百色工業(yè)投資發(fā)展集團(tuán)有限公司招聘廣西百金資源開發(fā)有限公司工作人員考試重點(diǎn)題庫及答案解析
- 2026年泉州紡織服裝職業(yè)學(xué)院春季招聘?jìng)淇己诵脑囶}附答案解析
- 非營(yíng)利組織財(cái)務(wù)管理制度及規(guī)范
- 醫(yī)院舊樓電氣系統(tǒng)安全升級(jí)改造方案
- 全國(guó)新高考:生物重點(diǎn)基礎(chǔ)知識(shí)點(diǎn)歸納
- 青海某公司二期15萬噸電解鋁工程施工組織設(shè)計(jì)
- 良好心態(tài)的培養(yǎng)課件
- 2025年6月重慶普通高中學(xué)業(yè)水平選擇性考試英語試題(原卷)含答案
- 2025-2026學(xué)年湘魯版(2024)小學(xué)英語四年級(jí)上冊(cè)(全冊(cè))教學(xué)設(shè)計(jì)(附目錄)
- (正式版)DB35∕T 1393-2025 《縣級(jí)以下自然災(zāi)害應(yīng)急避難場(chǎng)所分級(jí)建設(shè)與管理規(guī)范》
- 煙草零售戶法律培訓(xùn)
- 《老年人能力評(píng)估師》三級(jí)練習(xí)題庫及參考答案
- 縣委黨校教師管理制度
評(píng)論
0/150
提交評(píng)論