【正文】
在具體的測(cè)試中,一般應(yīng)遵循以下原則:由程序設(shè)計(jì)者之外的人進(jìn)行測(cè)試;測(cè)試用例應(yīng)由兩部分組成:輸入數(shù)據(jù)和預(yù)期輸出結(jié)果;應(yīng)選用不合理的輸入數(shù)據(jù)與非法輸入測(cè)試;不僅要檢驗(yàn)程序是否實(shí)現(xiàn)預(yù)期功能,還應(yīng)檢查程序是否做了不應(yīng)該做的工作;集中測(cè)試容易出錯(cuò)的程序模塊;對(duì)程序修改以后,必須重新進(jìn)行測(cè)試。系統(tǒng)測(cè)試需要確認(rèn)從頭到尾的功能正常才算完成,應(yīng)當(dāng)盡量避免系統(tǒng)測(cè)試延到項(xiàng)目末尾進(jìn)行。系統(tǒng)測(cè)試應(yīng)在系統(tǒng)的整個(gè)范圍內(nèi)進(jìn)行,這種測(cè)試不只對(duì)軟件進(jìn)行,而是對(duì)構(gòu)成系統(tǒng)的硬、軟件一起進(jìn)行。測(cè)試工作是由一個(gè)獨(dú)立的組織進(jìn)行,而且測(cè)試要從用戶的角度出發(fā)。 (3)確認(rèn)測(cè)試確認(rèn)測(cè)試是對(duì)通過(guò)組合測(cè)試的軟件進(jìn)行的,這些軟件已經(jīng)存于系統(tǒng)目標(biāo)設(shè)備的介質(zhì)上,確認(rèn)測(cè)試的目的是對(duì)表明軟件是可以工作的,并且符合“軟件需求說(shuō)明書”中規(guī)定的全部功能和性能要求。(2)組合測(cè)試組合測(cè)試也稱集成測(cè)試或子系統(tǒng)測(cè)試,通常采用自頂向下測(cè)試和自底向上測(cè)試兩種測(cè)試方法。對(duì)源碼進(jìn)行審查,對(duì)照設(shè)計(jì)說(shuō)明書,表態(tài)地檢查源程序是否符合功能的邏輯要求,是進(jìn)行單元測(cè)試前的重要工作工。測(cè)試對(duì)象是隨階段而異的,最基本、最初的測(cè)試是單元測(cè)試,后面的組合測(cè)試、確認(rèn)測(cè)試都是以被測(cè)過(guò)的模塊作為測(cè)試對(duì)象的。因此,我們必須重視測(cè)試工作。 開發(fā)環(huán)境要求 開發(fā)工具: Visual FoxPro 運(yùn)行環(huán)境: Windows 2000以上的操作系統(tǒng) 系統(tǒng)測(cè)試在MIS開發(fā)過(guò)程中采用了多種措施保證軟件質(zhì)量,但是實(shí)際開發(fā)過(guò)程中還是不可避免地會(huì)產(chǎn)生差錯(cuò),系統(tǒng)中通??赡茈[藏著錯(cuò)誤和缺陷,未經(jīng)周密測(cè)試的系統(tǒng)投入運(yùn)行,將會(huì)造成難以想像的后果,因此系統(tǒng)測(cè)試是MIS開發(fā)過(guò)程中為保證軟件質(zhì)量必須進(jìn)行的工作。比如,權(quán)限的管理,數(shù)據(jù)庫(kù)的備份和恢復(fù)( 對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份,以免在系統(tǒng)出現(xiàn)不可避免的錯(cuò)誤或故障時(shí),可以及時(shí)的恢復(fù),而不至于造成巨大的損失)。 易維護(hù)性:易維護(hù)性是一個(gè)優(yōu)秀軟件所必備的性能,由于該系統(tǒng)的調(diào)用大部分都并非專門的軟件工作人員操作,所以應(yīng)盡量使軟件易維護(hù)。各子系統(tǒng)連接的代碼如下:clearset talk offset defa to f:\kucun do read events close allreturn注意:連編時(shí),應(yīng)關(guān)閉所有的數(shù)據(jù)庫(kù)、表及表單等,再去連編,否則容易出錯(cuò);運(yùn)行可執(zhí)行文件“”時(shí),要關(guān)閉所有的數(shù)據(jù)庫(kù)或正在運(yùn)行的表單等。為使界面不至于單調(diào),我們可以為主界面加入多種背景圖片,具體界面如下圖17所示:圖17 系統(tǒng)登錄界面圖【確認(rèn)】按鈕的單擊(Click)事件代碼如下:inname=alltrim()inpswd=alltrim()set order to tms_userseek innameif!found( )cMessageTitle=“商業(yè)企業(yè)庫(kù)存管理信息系統(tǒng)”cMessageText=“帳號(hào)錯(cuò)誤,請(qǐng)重新輸入”nDialogType=4+32nAnswer=messagebox(cMessageText,nDialogType,cMessageTitle)do case case nAnswer=6 =“ ” case nAnswer=7 messagebox(“請(qǐng)勿偷窺他人資料”,48, “警告”) endcaseelse if tms_pswd!=inpswd cMessageTitle=“商業(yè)企業(yè)庫(kù)存管理信息系統(tǒng)” cMessageText=“密碼錯(cuò)誤,請(qǐng)重新輸入” nDialogType=4+32 nanswer=messagebox(cMessageText,nDialogType,cMessageTitle) do case case nAnswer=6 if flag2 =“ ” flag=flag+1 else messagebox(“請(qǐng)勿偷窺他人資料”,48, “警告”) endif case nAnswer=7 messagebox(“請(qǐng)勿偷窺他人資料”,48, “警告”) endcase else par1=inname do form kucun\form\gresult endifendif【取消】按鈕的單擊(Click)事件代碼如下:set sysmenu to defaultset sysmenu onset status bar onclose allreturn(2)子系統(tǒng)選擇界面為了實(shí)現(xiàn)能夠根據(jù)用戶所需的不同選擇,打開不同的子系統(tǒng)并提供相應(yīng)的功能服務(wù),我們需要在系統(tǒng)中為用戶提供一個(gè)子系統(tǒng)選擇界面,該界面模塊可以利用一個(gè)菜單來(lái)實(shí)現(xiàn)其功能,如下圖18所示:圖18 子系統(tǒng)選擇界面圖 系統(tǒng)主程序設(shè)計(jì)主程序如下:=2=“商業(yè)企業(yè)庫(kù)存管理信息系統(tǒng)”=.F.=.F.=.F.=.F.=RGB(50,100,128)CLOSE ALLCLEAR ALLCLEASET SYSMENU OFFSET SYSMENU TOSET TALK OFFSET SAFETY OFFSET STATUS BAR OFFDO FORM TO NUMIF NUMDO READ EVENTENDIFSET SYSMENU TO DEFAULTSET SYSMENU ONSET STATUS BAR ONCLOSE ALLCLEAR ALLRETURN 系統(tǒng)的連編系統(tǒng)的連編過(guò)程如下:(1)清理項(xiàng)目:在“項(xiàng)目”菜單下,選“清理項(xiàng)目”。數(shù)據(jù)準(zhǔn)備與錄入工作要注意數(shù)據(jù)的準(zhǔn)確性,在整理、錄入、校驗(yàn)等各個(gè)環(huán)節(jié)把好關(guān),為系統(tǒng)的順利轉(zhuǎn)換打好基礎(chǔ)。為保證系統(tǒng)調(diào)試和運(yùn)行順利進(jìn)行,應(yīng)根據(jù)他們的基礎(chǔ),提前進(jìn)行培訓(xùn),使他們適應(yīng),并逐步熟悉新的操作方法。系統(tǒng)投入運(yùn)行后,他們將在系統(tǒng)中工作。軟件設(shè)備包括系統(tǒng)軟件、數(shù)據(jù)庫(kù)管理系統(tǒng)以及一些應(yīng)用程序。(1)硬軟件準(zhǔn)備硬件準(zhǔn)備包括計(jì)算機(jī)主機(jī)、輸入輸出設(shè)備、存儲(chǔ)設(shè)備、輔助設(shè)備、通信設(shè)備等。 系統(tǒng)實(shí)施的主要任務(wù)系統(tǒng)實(shí)施階段的主要任務(wù)是實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)階段提出的物理模型,按實(shí)施方案完成一個(gè)可以實(shí)際運(yùn)行的信息系統(tǒng),交用戶使用。由于系統(tǒng)實(shí)現(xiàn)了多用戶簡(jiǎn)單分級(jí)管理,因此需要一張“系統(tǒng)帳號(hào)”數(shù)據(jù)表,將其命名為Account,具體設(shè)置如表4所示: 表4 “系統(tǒng)帳號(hào)”數(shù)據(jù)表作為一個(gè)倉(cāng)庫(kù),最主要是要求知道現(xiàn)在倉(cāng)庫(kù)中有什么商品、每種商品有多少,因此一張庫(kù)存信息數(shù)據(jù)表是必要的,將其命名為Kucun表,各字段具體設(shè)置如表5所示:表5 “庫(kù)存信息”數(shù)據(jù)表每次出庫(kù)都應(yīng)該留下記錄,因此要建立一個(gè)出庫(kù)記錄數(shù)據(jù)表,將其命名為Chuku表,該表各字段具體設(shè)置如表6所示:表6 “出庫(kù)記錄”數(shù)據(jù)表同時(shí),也需要建立一張入庫(kù)記錄數(shù)據(jù)表來(lái)記錄每次入庫(kù)的情況,將其命名為Ruku表,該表各字段具體屬性設(shè)置如表7所示:表7 “入庫(kù)記錄”數(shù)據(jù)表對(duì)商品名稱進(jìn)行管理需要建立一個(gè)商品信息數(shù)據(jù)表,將其命名為Shangpin表,各個(gè)字段具體屬性設(shè)置如表8所示:表8 “商品信息”數(shù)據(jù)表通過(guò)分析,可以得出這些表與表之間的關(guān)聯(lián)關(guān)系,如圖16所示:圖16 各表之間的關(guān)聯(lián)關(guān)系4 系統(tǒng)實(shí)施系統(tǒng)實(shí)施是開發(fā)信息系統(tǒng)的最后一個(gè)階段。數(shù)據(jù)庫(kù)的內(nèi)模式與外模式不同,不直接面向用戶,但對(duì)數(shù)據(jù)庫(kù)的性能影響也頗大。ER圖到關(guān)系模式的轉(zhuǎn)換還是比較直接的,實(shí)體和聯(lián)系都可以表示成關(guān)系,ER圖中的屬性也可以轉(zhuǎn)換成關(guān)系的屬性。數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的結(jié)果以數(shù)據(jù)定義語(yǔ)言表示。根據(jù)需求分析,對(duì)系統(tǒng)進(jìn)行概念設(shè)計(jì),以下以庫(kù)存管理信息系統(tǒng)的庫(kù)存商品的信息資料庫(kù)和出入庫(kù)單的數(shù)據(jù)庫(kù)為例,進(jìn)行數(shù)據(jù)庫(kù)概念設(shè)計(jì),并畫出ER圖如下圖所示:圖10 用戶實(shí)體ER圖圖11 入庫(kù)單實(shí)體ER圖圖12 倉(cāng)庫(kù)實(shí)體ER圖圖13 商品實(shí)體ER圖圖 14 出庫(kù)單實(shí)體ER圖圖 15 實(shí)體與實(shí)體之間的關(guān)系ER圖 邏輯結(jié)構(gòu)設(shè)計(jì)在邏輯設(shè)計(jì)階段,將上一步中所得到的概念數(shù)據(jù)模型表示、與DBMS無(wú)關(guān)的數(shù)據(jù)模式,轉(zhuǎn)換成以DBMS的邏輯數(shù)據(jù)模型表示的邏輯模式。概念數(shù)據(jù)模型是與DBMS無(wú)關(guān)、面向現(xiàn)實(shí)世界的數(shù)據(jù)模型。此外,本系統(tǒng)盡量滿足用戶的需求,使系統(tǒng)能夠充分的實(shí)現(xiàn)商業(yè)企業(yè)商品的出入庫(kù)管理和儲(chǔ)存保管。因此設(shè)計(jì)人員必須與用戶不斷深入地進(jìn)行交流,才能逐步得以確定用戶的實(shí)際需求。另一方面設(shè)計(jì)人員缺少用戶的專業(yè)知識(shí),不易理解用戶的真正需求,甚至誤解用戶的需求。在處理方式上,本系統(tǒng)采用批處