【正文】
。在她們力所能及的范圍內(nèi)不斷的幫助,我衷心的向她們表示感謝。通過畢業(yè)設(shè)計環(huán)節(jié),我無論在基礎(chǔ)理論知識、軟件操作技能、還是獨立思考問題能力方面都有了長足的進(jìn)步。致謝本設(shè)計完成于天津商業(yè)大學(xué)高至于繼續(xù)教育學(xué)院,是對本人計算機(jī)科學(xué)與技術(shù)專業(yè)本科學(xué)習(xí)的總結(jié)。 ,并接受學(xué)校的抽查。 指導(dǎo)教師意見同意本課題進(jìn)入設(shè)計(論文)階段。軟件系統(tǒng)運(yùn)行正確,軟件文檔規(guī)范,并符合GB/T 1526198GB/T 85671988等相關(guān)軟件工程國家標(biāo)準(zhǔn)。三、預(yù)計可獲得的成果(含可能取得的獨特之處)該系統(tǒng)建成以后,預(yù)計可以提高提高工作效率和減輕勞動強(qiáng)度;提高信息處理速度和準(zhǔn)確性;提供新的處理功能和決策信息,等等。后臺連接的數(shù)據(jù)庫采用Access數(shù)據(jù)庫,也是考慮到它的設(shè)計,數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接影響應(yīng)用系統(tǒng)的效率及實現(xiàn)的結(jié)果。ASP頁可調(diào)用ActiveX組件來執(zhí)行任務(wù),例如連接到數(shù)據(jù)庫或進(jìn)行商務(wù)計算。ASP應(yīng)用程序很容易開發(fā)和修改,可用它來創(chuàng)建動態(tài)Web頁或生成功能強(qiáng)大的Web應(yīng)用程序。ASP是Active Sever Pages的簡稱,是服務(wù)器端腳本編寫環(huán)境,使用它可以創(chuàng)建和運(yùn)行動態(tài)、交互的WEB服務(wù)器應(yīng)用程序。 研究內(nèi)容和研究方法 a)研究目標(biāo) 本系統(tǒng)研究的目標(biāo)就是探討如何開發(fā)設(shè)計現(xiàn)實可行的小區(qū)物業(yè)網(wǎng)站管理系統(tǒng),使其適應(yīng)于計算機(jī)管理,提高計算機(jī)管理的效果,不但可以在第一時間反饋客戶使用的信息,還節(jié)省了工作人員的工作量,提高了工作效率,從而可以促進(jìn)小區(qū)物業(yè)人員的辦公效率。本程序是通過一個小區(qū)物業(yè)管理網(wǎng)站的設(shè)計與實現(xiàn)的例子,來講述如何定制一個面向小區(qū)物業(yè)的信息管理系統(tǒng)。根據(jù)該小區(qū)具體情況,該系統(tǒng)在實施后,能夠滿足對小區(qū)住戶資料、小區(qū)投訴、網(wǎng)上交流、水費(fèi)、物業(yè)費(fèi)、電費(fèi)、車位費(fèi)等進(jìn)行管理。同時查詢某房產(chǎn)資料或業(yè)主資料往往也需要較長時間,給物業(yè)管理者的工作帶來了諸多弊端。b)文獻(xiàn)綜述目前,小區(qū)物業(yè)管理混亂的問題一直無法解決,存在著管理面積大,戶數(shù)多,物業(yè)管理范圍廣,管理內(nèi)容繁雜等一系列的問題。在某種意義上,信息與科技在物業(yè)管理與現(xiàn)代化建設(shè)中顯現(xiàn)出越來越重要的地位。只有高標(biāo)準(zhǔn)、高質(zhì)量的社區(qū)服務(wù)才能滿足人們的需求。如何利用先進(jìn)的管理手段,提高物業(yè)管理水平,是當(dāng)今社會所面臨的一個重要課題。希望在今后可以繼續(xù)完善本系統(tǒng)設(shè)計。最后,就是因為在最初設(shè)計的時候考慮的有點理想化,車位費(fèi)不能像現(xiàn)實生活中的需要一樣,按時間、車位大小,停車地點等詳細(xì)的制定收費(fèi)規(guī)定,只是簡單的實現(xiàn)了繳費(fèi)的費(fèi)用而已,還有待進(jìn)一步提高。首先,系統(tǒng)的某些設(shè)計的可擴(kuò)展性并不十分理想,在以后的系統(tǒng)維護(hù)過程中,使用重構(gòu)方法對系統(tǒng)進(jìn)行重構(gòu),使系統(tǒng)的設(shè)計日益趨于更強(qiáng)的可擴(kuò)展性。特點二:后臺數(shù)據(jù)庫采用的Microsoft Access 2003,它功能比較強(qiáng)大,可以處理包含在各種平臺上運(yùn)行的數(shù)據(jù)庫管理系統(tǒng)內(nèi)核。特點一:界面美觀簡潔,程序結(jié)構(gòu)清晰,編碼規(guī)范。由于是基于網(wǎng)絡(luò)開發(fā)的系統(tǒng),所以本系統(tǒng)具有網(wǎng)絡(luò)應(yīng)用系統(tǒng)方便、信息交流及時、系統(tǒng)使用不受地域限制等諸多優(yōu)點,在世界任何角落,用戶都可以通過Internet與其他人聯(lián)系。 通過此小區(qū)物業(yè)管理網(wǎng)站系統(tǒng)的開發(fā),做到了理論聯(lián)系實際,將書本上學(xué)到的知識與具體實踐充分結(jié)合起來,既解決了工作中的一些問題,又進(jìn)一步明確了開發(fā)管理信息系統(tǒng)的方法和思想;既加深了對管理信息系統(tǒng)的認(rèn)識,又進(jìn)一步鞏固了以前所學(xué)的計算機(jī)軟件開發(fā)方面的知識,提高了軟件開發(fā)的水平,從而為今后在實際工作中更好的應(yīng)用計算機(jī)進(jìn)行信息管理打下了堅實的基礎(chǔ)。7 總結(jié)經(jīng)過幾個月的努力,在老師的悉心幫助下,我終于完成了本論文。首先,通過點擊導(dǎo)航條上的功能模塊操作,看是否能順暢的鏈接到各個界面,檢查網(wǎng)頁上的信息能否正確的顯示,如果出現(xiàn)界面鏈接錯誤要及時的將各個網(wǎng)頁的鏈接更正過來,做要一一對應(yīng);其次,檢查費(fèi)用查詢模塊能否能夠順利的進(jìn)行各種費(fèi)用的查詢,這里和數(shù)據(jù)庫鏈接的比較緊密,如果出現(xiàn)錯誤要及時的更正;再次,投訴箱、意見箱、社區(qū)交流這三個功能模塊需要通過在線提交信息,檢查能否在數(shù)據(jù)庫里面看到相應(yīng)的信息。如圖22所示。圖21 登錄失敗 繳費(fèi)模塊測試?yán)U費(fèi)模塊測試的目的是檢查出能否正常繳費(fèi)。測試成功會出現(xiàn)順利進(jìn)入管理界面和登錄失敗的提醒。所以白盒測試方法也存在一定的局限性[18]。對于一個應(yīng)用的系統(tǒng),程序的路徑數(shù)可能是一個天文數(shù)字,即使借助一些測試工具,白盒測試法也不可能進(jìn)行窮舉測試,企圖遍歷所有的路徑往往是做不到的。白盒測試方法準(zhǔn)備的時間很長,如果要覆蓋全部程序語句、分支的測試,一般花費(fèi)比編程更長的時間。如果時間足夠多,可以保證所有的語句和條件得到測試,測試的覆蓋程度達(dá)到很高。黑盒測試方法不適合單元測試、集成測試,而且測試結(jié)果的覆蓋度不容易度量,其測試的潛在風(fēng)險比較高[17]。所以,黑盒測試方法技術(shù)相對要求低,方法簡單有效,可以整體測試系統(tǒng)的行為,可以從頭到尾(endtoend)進(jìn)行數(shù)據(jù)完整性測試。黑盒測試又被稱為功能測試、數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明的測試,實際上是站在最終用戶的立場上,檢驗輸入輸出信息及系統(tǒng)性能指標(biāo)是否符合規(guī)格說明書中有關(guān)功能需求及性能需求的規(guī)定。 測試方法軟件測試方法一般分為兩種:白盒測試與黑盒測試。從用戶的角度出發(fā),普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,以考慮是否可以接受該產(chǎn)品。此外,實施測試收集到的測試結(jié)果數(shù)據(jù)為可靠性分析提供了依據(jù)。如果成功地實施了測試,就能夠發(fā)現(xiàn)軟件中的錯誤。ADO支持 Visual C++、Visual Basic、VBS、JS等。ADO可以以ActiveX 控件的形式出現(xiàn),這就大大方便了Web應(yīng)用程序的編制。和OLEDB一樣,使應(yīng)用程序具有很好的通用性和靈活性[14]??偸?,已經(jīng)沒有必要去關(guān)心對象的構(gòu)造和構(gòu)造順序了。同時,在ADO對象結(jié)構(gòu)中,對象與對象之間的層次結(jié)構(gòu)不適非常明顯,這會給編寫數(shù)據(jù)庫程序帶來更多的便利。 ADO技術(shù)特點用ADO訪問數(shù)據(jù)元的特點可概括為:首先,其易于使用,可以說這是ADO最重要的特點之一。ADO提供4種類型的集合:①Connection對象具有Error集合 ②Command對象具有Parameter集合 ③Recordset對象具有Fields集合 ④Connection、Command、Recordset、Field對象都具有Property集合。7. Property通過屬性,每個ADO對象借此來讓用戶描述和控制自身的行為。5. Parameter用于對傳遞給數(shù)據(jù)源的命令賦參數(shù)值。3. Recordset用于處理數(shù)據(jù)源的表格集,它是在表中修改、檢索數(shù)據(jù)的最主要的方法。 ADO的對象1. Connection用于表示和數(shù)據(jù)源的連接,以及處理一些命令和事務(wù)。ADODB提供了對對象編寫代碼的功能,而ADODC是通過圖形化控件的形式來體現(xiàn)的。ADO包括ADODC和ADODB兩個部分。允許開發(fā)人員編寫訪問數(shù)據(jù)的代碼而不用關(guān)心數(shù)據(jù)庫是如何實現(xiàn)的,而只用關(guān)心到數(shù)據(jù)庫的連接[12]。 strsql_1 end select set reccharge=() strsql,connect,3 recordcount_1= end if5 關(guān)鍵技術(shù)和特點 ADO技術(shù)簡介微軟公司的ADO (ActiveX Data Objects) 是一個用于存取數(shù)據(jù)源的COM組件。 strsql_1 amp。 and t_month= amp。 where t_year= amp。 as t_case from tenement where idkey not in (select t_id from amp。 as t_datetime,39。 as t_money,39。 strsql_1 case 2 hint_3=未繳 strsql=select t_name,t_house_no,t_room_no,39。 and t_month= amp。 where t_year= amp。 as t_case from amp。 ) case 1 hint_3=已繳 strsql=select t_name,t_house_no,t_room_no,t_money,t_datetime,39。 ) amp。 strmonth amp。 stryear amp。 strtablename amp。font color=red未繳/font39。 39。 39。 ( strsql=strsql amp。 strsql_1 strsql=strsql amp。 and t_month= amp。 where t_year= amp。 as t_case from amp。 end if select case strcls case 1 hint_2=水費(fèi) strtablename=s_charge case 2 hint_2=電費(fèi) strtablename=d_charge case 3 hint_2=煤氣費(fèi) strtablename=m_charge case 4 hint_2=物業(yè)費(fèi) strtablename=w_charge case 5 hint_2=車位費(fèi) strtablename=c_charge end select select case strcase case 0 hint_3=繳費(fèi) strsql=select t_name,t_house_no,t_room_no,t_money,t_datetime,39。 strname amp。) (/script) if strname= then hint_1=所有 strsql_1= else hint_1=strname strsql_1= and t_name like 39。 strcase amp。).value=39。) ((39。 strmonth amp。).value=39。) ((39。 stryear amp。).value=39。) ((39。 strcls amp。).value=39。) ((39。 strname amp。).value=39。圖20 費(fèi)用查詢界面功能實現(xiàn)的主要代碼如下所示:if request(action)=search then dim strname,strcls,stryear,strmonth,strcase dim hint_1,hint_2,hint_3 dim strsql,strsql_1,strtablename strname=cstr((txtname)) strcls=cstr((selcls)) stryear=cstr((selyear)) strmonth=cstr((selmonth)) strcase=cstr((selcase)) (script) ((39。)/script) end if end if set reclyb=() select * from lyb order by times desc,connect,3 =9 pagecount= if not isnumeric((firpage)) then firpage=0 else firpage=cint((firpage)) end if if not isnumeric((curpage)) then curpage=0 else curpage=cint((curpage)) end if if firpage1 or firpage=pagecount then firpage=1 end if endpage=firpage+9 if curpagefirpage then curpage=1 end if if endpage pagecount then