家庭記賬系統的設計與實現_第1頁
家庭記賬系統的設計與實現_第2頁
家庭記賬系統的設計與實現_第3頁
家庭記賬系統的設計與實現_第4頁
家庭記賬系統的設計與實現_第5頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

易特家庭記賬系統的畢業論文摘要:財務管理是一個家庭不可缺少的局部,企業很早就實施了財務的集中系統管理,而家庭使用的小型財務系統卻還是鳳毛麟角。記賬是很小的一個局部,但大到企業,小到家庭都有十分重要的意義。本記賬系統的系統設計是基于java語言,使用myeclipse10作為開發平臺,實現家庭記賬系統的系統構建。而后臺的數據庫那么使用了oracle數據庫管理整個家庭記賬系統的后臺數據。包括以下幾個模塊:用戶密碼登陸,收支數據的錄入、個人明細及匯總統計等,從而對家庭收入與支出進行有效、系統的管理,并使之更全面和靈活。關鍵詞:記賬系統;收支管理;查詢;javaDesign

and

Implementation

of

the

Family

Accounting

SoftwareAbstractFinancialManagementisindispensableforafamily.Thoughenterpriseshavealreadyimplementedthesystematiccentralmanagementonaccountinglongbefore,mostfamiliesstilldon’thaveaccountingsoftwaredevelopedespeciallyforfamilyuses.Accountkeepingisasmallpart,however,ithasessentialsignificancetofamiliesaswellasenterprises.ThisfamilyaccountingsoftwareisdesignedonabasisofASPlanguage,andit’sdevelopmentplatformisconstructedwithDreamweaver8.ThebackstagedatabaseismanagedwithACCESSdatabasesoftware.Inall,thewholefamilyaccountingsoftwareisconsistedofthefollowingmodules:loadingpassword,data-imputing,user’sincomeandexpendituresandtheaccountsummary.Withtheassistanceofthissoftware,familyuserscouldkeepaccountsinasystematicandeffectiveway,thusmaketheirfamilyaccountkeepingmoredetailedandflexible.KeywordsAccountingsoftware;;Accountmanagement;Accountinquiry;ASP目錄1前言1家庭記賬系統開發1開發工具的選擇11.2.1ASP簡介21.2.2ASP技術特點21.2.3ASP方法與傳統靜態網頁的區別31.2.4ASP與組件對象的使用32系統分析4可行性研究4需求分析5本系統開發的重要性和必要性5系統的功能需求分析6家庭記賬系統數據流圖63系統設計9系統的總體設計9圖10系統的功能模塊設計12系統的功能模塊結構圖13系統詳細設計144系統實現14登陸界面14系統主界面16系統設置界面18錄入數據界面22個人報表查詢24修改密碼界面25匯總統計界面26創立數據庫連接275系統測試和優化27測試目的27測試方法28測試步驟286總結29參考文獻30致謝311前言近幾年來,計算機技術飛速開展幾乎超出了人們的想象,硬件的更新換代速度更是以級數進行。計算機在處理對象、處理方法上都發生了很大的變化。作為計算機科學的重要分支——數據庫技術,也被越來越多的應用領域采用來存儲和處理他們的信息資源。計算機已經不再僅僅是科學研究的工具,它越來越多地影響到了我們生活的諸多方面,更多的應用軟件出現在了我們的身邊,給人們生活的方方面面都帶來了極大的便利。隨著我國城鄉居民收入的增加和生活水平的提高,家庭理財已成為人們居家過日子的重要內容。社會學家細心的觀察到,時下家庭的“小九九〞比之方案經濟年代,開始發生微妙的變化。現在的城鄉家庭生活發生了明顯的變化,人們的收入逐漸拉開檔次,消費水平也逐步提高了。大多數家庭關注的是提高生活質量,一方面精打細算,量入為出,把錢用在刀刃上;另一方面保證適當的娛樂活動、社會交際、智力開發等方面的開支。為此,不少家庭就有中長期財務預算,有根本建設規劃。各種各樣的家庭開銷與收入越來越多,很多人對于日常帳目的管理感到越來越力不從心,財務管理已刻不容緩。在大多數家庭里,由于計算機知識的缺乏,人們還采用手寫記賬的方法,這種管理方法存在很多缺陷,如:效率低、保密性差。另外時間一長,將產生大量的冗余賬本和數據,這對于查找、統計等工作都帶來了很大的困難。本系統的開發正是利用計算機對家庭的財產進行合理有效的管理,利用計算機對家庭財務進行管理,具有手工管理所無法比較的優點,如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、本錢低等。這些優點能夠極大地提高家庭財務管理的效率,使家庭理財更加科學化。在開發工具的選擇上,經過可行性分析研究以及個人的特長和使用習慣選擇了myeclipse10,MyEclipse企業級工作平臺〔MyEclipseEnterpriseWorkbench,簡稱MyEclipse〕是對EclipseIDE的擴展,利用它我們可以在數據庫和javase,JavaEE的開發、發布以及應用程序效勞器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發環境,包括了完備的編碼、調試、測試和發布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate[1]。MyEclipse是一個十分優秀的用于開發Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分不錯。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數據庫鏈接工具等多項功能。可以說MyEclipse是幾乎囊括了目前所有主流開源產品的專屬eclipse開發工具。javaswing簡介JavaSwing是JavaFoundationClasses〔JFC〕的一局部。在Swing中,Sun開發了一個經過仔細設計的、靈活而強大的GUI工具包。Swing是在AWT組件根底上構建的。它所提供的功能要比AWT提供的更為廣泛。它也是Java技術的一種標準配置。一個JavaGUI通常由頂層容器、中間容器以及多個原子組件組成。每個原子組件或容器都可能觸發相應事件的產生。容器是一類能夠在其中容納其他組件的特殊組件。Swing的GUI組件類是按照類屬層次以樹狀結構進行組織的。在這個樹的最頂層,即樹的根部,使一個最根本的容器類,被稱為頂層容器。Swing提供了三個通用的頂層容器類JFrame,JDialog和JApplet。JFrame提供了基于窗體的應用程序,JDialog提供對話框形式的界面,JApplet提供Java小應用程序的界面形式。在頂層容器下是中間容器,用于容納其他的組件。通常窗格本身在顯示界面中是看不到的。面板類Panel是一種中間容器,它的唯一作用是使組件更容易定位。頂層容器通過getContentPane()方法獲取內部的一個內容窗格。swing技術特點(1)使用VBScript、JAVAScript等簡單易懂的腳本語言,結合HTML代碼,即可快速地完成網站的應用程序。(2)無須compile編譯,容易編寫,可在效勞器端直接執行。(3)使用普通的文本編輯器,如Windows的記事本,即可進行編輯設計。(4)與瀏覽器無關(BrowserIndependence),用戶端只要使用可執行HTML碼的瀏覽器,即可瀏覽ActiveServerPages所設計的網頁內容。ActiveServerPage所使用的腳本語言(VBScript、JAVAscript)均在WEB效勞器端執行,用戶端的瀏覽器不需要能夠執行這些腳本語言。(5)ActiveServerPages能與任何ActiveXscripting語言相容。除了可使用VBScript或JAVAScript語言來設計外,還通過plug-in的方式,使用由第三方所提供的其他腳本語言,譬如REXX、Perl、Tcl等。腳本引擎是處理腳本程序的COM(ComponentObjectModel)物件。(6)可使用效勞器端的腳本來產生客戶端的腳本。(7)ActiveXServerComponents(ActiveX效勞器元件)具有無限可擴充性。可以使用VisualBasic、Java、VisualC++、COBOL等編程語言來編寫你所需要的ActiveXServerComponent。ASP方法與傳統靜態網頁的區別所謂的靜態網頁,就是說該網頁文件里沒有程序代碼,只有HTML標記,這種網頁的擴展名一般是.htm或.html。制作工具可以是記事本等純文本編寫工具,也可以是FrontPage、Dreamweaver等所見即所得的工具。靜態網頁的缺點是:一經制成,內容就不會再變化,不管任何人訪問,顯示的都是同樣的內容,如果要修改網頁,必須修改源代碼,并重新上傳。而動態網頁不同,它的網頁文件不僅含有HTML標記,而且含有程序代碼。這種網頁的擴展名一般根據不同的程序設計而不同。動態網頁是根據不同的時間、不同的來訪者而顯示不同的內容。比方常見的BBS、留言板。聊天室等一般都是用動態網頁實現的。ASP文件在普通的HTML文件中嵌入VBScript或JAVAScript腳本語言[5]。當客戶請求一個ASP文件時,效勞器就把該文件解釋成變準的HTML文件發過去。在效勞器運行的好處是:第一,因為發出是標準的HTML文件,所以不會存在瀏覽器兼容的問題;第二,可以很方便地和效勞器交換數據,如讀取數據庫或操作效勞器上的文件;第三,因為在客戶端僅可看到由ASP輸出的HTML文件,可以保護源代碼不被泄漏。ASP與組件對象的使用組件在ASP技術中起著核心作用。在使用ASP技術時應遵循這樣一個原那么:即ASP腳本必須與基于COM標準的組件配合使用才能開發出具有實用價值的動態Web應用程序。組件對象模型(COM:ComponentOb-jectModel)是Microsoft提出的一種基于二進制的軟件標準,與語言無關[6]。VisualBasic、VisualC++、VisualJ++、VisualFoxPro等都能創立COM組件,在不同語言實現的組件之間,依據COM標準可以進行交互操作。COM是技術概念和標準,其商業稱謂那么使用ActiveX。基于組件,可以把應用程序的開發分成兩大類任務:一類是開發能被很多程序使用的核心組件;另一類是集成這些核心組件提供的效勞,構造出實現特定功能的應用程序。Microsoft及一些“中間件〞廠商已針對不同的應用領域提供了許多組件產品,組件的使用者只需要理解組件的接口,不需要知道組件的內部結構和組件使用的數據。在ASP技術中,ASP腳本相當于一種粘合劑,把一個個具有特定功能的組件集成在一起,以形成最終的軟件產品。利用組件,開發人員可以專門做自己最擅長的工作,從而減少開發難度;利用組件,還有助于開發人員將用戶界面與應用邏輯、數據效勞分開,快速開發出可重性高的基于三層客戶/效勞器結構的Web應用程序。ASP提供了10個內置組件(在IIS3.0中提供了5個,IIS4.0中新增了5個)。組件中包含一個或多個對象,在使用前組件的對象需要被實例化。ASP還提供了6個內嵌對象(在IIS3.0中提供了5個),這6個內置對象可以AS腳本直接使用,不需要被實例化。除了內置組件和內置對象,開發人員還可以自行制作實現特殊功能的組件。內嵌對象Session:用于在一個客戶的多頁面之間共享數據Application:用于在多個客戶之間共享數據Request:用于接收客戶提交的數據Response:用于將數據下載到客戶端并生成動態網頁Server:用于創立各種對象,訪問系統數據ObjectContext:用于管理WEB效勞器應用程序及事物處理2系統分析可行性研究可行性分析是指在現有的技術、經濟等條件下分析每項需求實施的可能性。通過可行性分析,提出各個方面的相關要求,和設計條件,包括對外界的依賴和技術障礙。可行性分析的任務是明確任務工程的開發的可能性和必要性。可行性取決于實現應用系統的資源和條件。每一個系統,都要有一個適宜的設計思想和方法,這樣才能保證系統的設計思想是貫徹始終的。選擇合理的邏輯結構、物理結構、操作系統和外部開發環境。這些都對系統的開發起著關鍵的作用,只有這樣才能構成完善的系統[7]。通過對鄰居、朋友家庭的調查、自己的親身感受以及在網上發布問卷調查的形式,進行了大量的實際考察,經統計得出結論,開發本軟件是十分必要的。可行性研究的目的就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。該系統的可行性分析包括以下幾個方面的內容。(1)經濟可行性家庭記賬系統只是一個畢業設計所制作的系統,并不需要開發的費用,對于以后使用的家庭用戶來說,也只是需要一臺配置不錯的計算機即可,沒有太大的投入。而本系統的開發,為家庭的工作效率帶來了一個質的飛躍,為此主要表現有以下幾個方面:①本系統的運行可以代替人工進行許多繁雜的勞動;②本系統的運行可以節省許多資源;③本系統的運行可以大大的提高家庭的工作效率;只要我們應用家庭記賬系統就可以簡單有效的處理,復雜而又難以計算的數據,快速更新、修改、刪除錯誤的過時的信息。為我們節省的大把的珍貴時間,提高了工作效率,不需要對家庭人員有特別的培訓,無論是時間還是資金都有很大的節約。所以在經濟上是可行的。(2)技術可行性就技術可行性而言,以現在信息技術和計算機技術完全可以完成這個工作。現在計算機技術已經開展到了很高的水平了,處理這樣一個小的系統是沒有問題的。所設計的記賬系統要充分應用現在的信息技術,軟件開發技術,大型數據庫技術,來滿足系統的需求,但是要根據實際情況對系統進行一些特殊功能的開發,來滿足用戶的特殊需求。不斷優化和改良系統的邏輯設計和物理設計,從而不斷的優化系統的各項功能。最后使系統有較強的處理能力,運行能力。本系統開發需要Dreamweaver8軟件,這個系統的強大操作功能完全滿足本系統的開發。所以軟件的需求已經具備。在數據庫方面,Access是一款很成功的數據庫開發工具。它可以對數據庫實施操作,更新維護和權限識別。所以對這個系統來說,技術是完全可行的。硬件方面,只需要可以安裝使用上面的一些軟件即可[8]。此外,該系統運用了ASP的網絡程序設計,所以對瀏覽器也沒有任何要求。因此,開發本系統的技術以及開發平臺都成熟可行。(3)操作可行性目前大局部家庭還是采用傳統的手工記賬,采用本系統可以大大提高記賬的效率和科學有序性。該系統操作簡單,使用方便。滿足大局部家庭對于賬目記錄和管理的需求。對于家庭記賬系統來說,是很值得推廣的,現在的計算機技術飛速開展,家庭里的單機計算機是很普通的,再加上價錢較低,很容易普及和開展,所以家庭記賬系統有很大的開展前途,只要我們做出符合用戶需求的系統就可以得到很大的成功,所以本系統的操作可行性也完全沒有問題。通過以上對家庭記賬系統的可行性分析,得出的結論是,家庭記賬系統無論是經濟上,技術上,還是操作上都是可行的。本系統開發的重要性和必要性家庭記賬系統最大的用處,就是針對一個較小的家庭。其中每一名成員的財務收支情況進行記錄、管理、查找和統計。使得家庭的財務管理變的簡單化、科學化、高效化。然而一個家庭中,管理財務主要是父母家長,所以在做這個系統時,要對管理權限加以區分。俗話說“吃不窮,喝不窮,方案不到就受窮〞,可見,對于一個家庭整體財務的管理是多么的重要。為了更好地進行系統的開發,我對自己家庭的收支情況進行了初步的了解。現在一般家庭的收入開銷,加上各種固定的各項費用,方方面面很復雜,很難清楚明了地記錄下來,一般是采用手工記賬,這樣很麻煩,也算不清楚帳,每個月都要花大量的時間在算錢上。采用該系統以后可以實現無紙化操作,簡便易行。在系統設計之前,我們要做的工作就是對家庭理財的流程、操作等,做出詳細的調查,從而了解系統需要實現的功能。系統在開發的過程中,經過比較長時間的設計階段,可以說模型貼近生活,有很大的現實意義。一般家庭或者類似家庭的小團體都能夠比較方便使用該系統。考慮到系統本身有較強的專業性,而這些知識普及率畢竟有限,所以在程序設計的過程中一直遵循實際應用的原那么,保證設計出來的軟件能被一般用戶所接受。因此,它的操作界面會盡可能的簡單、明了。各種控件的布置也會非常清晰,使用的控件種類不會太多且對控件的操作不會復雜。這樣能讓不參與該軟件設計的人也能夠熟練的更好的適應。根據家庭的消費和收支記錄要求以及記錄數據的一些習慣調查后總結,該系統實現后應能到達以下目標:界面設計友好、美觀。數據存儲平安、可靠。根本的設置保證收入和支出分類管理強大的查詢功能,保證數據查詢的靈活性。對增加、刪除、修改、查詢的信息進行精密的設計,保證能及時處理信息。系統的功能需求分析根據需求分析。了解家庭具體的財務管理情況,需要對系統進行功能上的初步的規劃和設計。首先系統要有保護功能,其次是修改刪除,還有對家庭的收入支出做出記錄。能夠對總體的數據進行統計和分析。對家庭的財務有指導作用。本系統作為一個財務管理的系統,應有以下幾個功能。(1)系統信息管理:允許用戶進行系統管理,包括參數設置、用戶管理、用戶添加、費用類型、添加類型等。(2)密碼管理:包括修改密碼操作。(3)錄入數據:滿足用戶進行收入支出工程管理,實現對收入支出工程表的添加、刪除和修改等操作。(4)個人報表:包括個人收支明細和年度統計的查詢及導出。(5)匯總統計功能:根據權限的分類,允許用戶進行總明細表、總統計表和具體明細統計查詢與導出。家庭記賬系統數據流圖用戶收支信息用戶收支信息用戶收支信息用戶收支管理系統圖1系統總體數據流圖用戶收支信息用戶收支信息用戶收支信息用戶收支信息管理圖2用戶收支管理總體數據流圖返回查詢結果返回查詢結果組織ASP語句,查詢數據庫給出用戶名和密碼要查看收支信息返回用戶對象,內部有用戶收支信息數據庫用戶收支管理組件用戶收支管理系統操作界面圖3工作原理流圖賬務事物賬務事物賬務管理處理程序數據庫信息存儲處理程序保存最終信息事物圖4處理流圖收入支出表收入支出表收入支出管理用戶設置信息收入支出管理用戶信息表費用類型表參數表信息管理統計用戶圖5系統業務流圖會員財產事物會員財產事物會員財產信息收支、存款信息信息保存、改動程序信息主文件會員財產信息圖6家庭記賬系統的系統流程圖3系統設計系統設計是對整個記賬系統功能進行分析,并劃分和構建系統功能模塊。模塊化是指把一個程序按功能分解成假設干彼此具有一定獨立性同時也具有一定聯系的組成局部,這些組成局部稱為模塊。模塊化程序設計就是把一個大程序按一個人能理解的規模進行分解的一種方法。系統設計是本系統開發的重要階段,它直接影響到目標系統的質量,是整個開發工作的核心。系統設計階段的主要任務是:在系統分析提出的邏輯模塊的根底上,科學合理的進行物理模型設計。在系統設計過程中,充分考慮了系統的穩定性、適應性和效率性,符合系統設計的原那么。本系統可以實現的功能有用戶登錄、添加用戶和修改密碼、添加修改費用類型、錄入收支數據、查看個人收支明細、年度統計、以及總明細表、統計表的查看和導出。該系統基于B\S體系結構,整個系統由六個子系統構成:①系統登錄及主頁面〔登錄頁面、系統主頁面〕②系統設置〔參數設置、用戶類型。用戶添加、費用類型、添加類型〕③密碼管理〔修改密碼〕④錄入數據〔添加收入、添加支出〕⑤個人報表〔收支明細、年度報表〕⑥匯總統計〔總明細表、總統計表、明細統計〕E-R圖家庭成員家庭成員個人收支信息成員名稱成員權限密碼圖7家庭成員E-R圖收支信息收支信息費用類型日期金額工程備注圖8收支信息E-R圖管理管理管理員密碼修改收支錄入個人報表匯總統計系統設置普通會員管理管理管理管理操作操作操作管理圖9系統E-R圖密碼管理密碼管理錄入數據匯總統計個人報表系統設置財務管理家庭記賬系統家庭成員成員名稱密碼成員權限個人收支信息圖10系統總E-R圖系統的功能模塊設計對本系統功能模塊,運行環境等進行了合理的分析之后,依據需求分析結果,家庭記賬系統可分為5個模塊:系統設置模塊、密碼管理模塊、錄入數據模塊、個人報表模塊和匯總統計模塊。(1)系統設置模塊:該模塊可分為參數設置、用戶管理、添加用戶、費用類型、添加類型。用戶登錄到系統后,能夠使用的系統功能與自己的權限有關,普通會員不能進行系統設置。而管理員可以進行費用類型設置、管理普通會員,添加會員以及系統參數設置。(2)密碼管理模塊:任何權限均可對自己的密碼進行修改。(3)錄入數據模塊:用戶輸入收支記錄,包括日期、費用類型、金額、工程備注,只有當管理員添加了某種費用類型,在錄入數據時方可使用該類型。(4)個人報表模塊:用戶可查詢自己的收支明細和年度統計,并可導出數據。(5)匯總統計模塊:管理員權限才可進行該項操作,可查看總明細表、總統計表。還可以選擇查看具體某一會員的某種類型費用統計。系統的功能模塊結構圖家家庭記賬系統系統設置密碼管理錄入數據個人報表匯總統計參數設置用戶添加管理修改密碼添加收入添加支出收支明細年度統計總明細表總統計表明系統計表費用類型管理圖11功能模塊結構圖開始開始用戶登錄登錄名密碼密碼正確管理員/普通會員管理員功能選擇界面系統/用戶管理財務/查詢/匯總管理退出重新登錄普通會員功能選擇界面密碼管理財務/匯總查詢退出結束圖12系統流程圖4系統實現登陸界面本界面主要用于對用戶身份進行鑒別。用戶通過表單提供用戶名、密碼信息和驗證碼,系統根據用戶提供的登錄信息對用戶進行身份查詢鑒別。如果身份合法,那么將用戶導向系統的主頁面并記錄用戶的相關信息,留待以后的系統頁面使用。輸入:用戶名、密碼、驗證碼。處理:(1)輸入用戶的登錄信息。在頁面提供的表單出輸入用戶的用戶名、密碼信息和驗證碼,點擊“登錄〞按鈕提交表單信息到身份驗證頁面。(2)從user表單獲取輸入數據。當用戶單擊“登錄〞按鈕后,登錄信息由form表單提交到conn.asp進行處理。(3)用戶身份進行驗證。連接數據庫,翻開用戶數據表user,檢驗用戶登錄信息。以輸入數據“用戶名〞為查詢條件創立數據集查看輸入用戶名是否存在。如果存在,繼續檢驗輸入的密碼是否正確。密碼和用戶名都正確,那么進入家庭記賬系統主頁面admin.asp;如果用戶名不存在或密碼不正確或驗證碼不正確,那么給出登錄失敗的提示框,并返回首頁重新登錄。輸出:家庭記賬系統登陸頁面,如圖13所示:圖13登錄界面本頁面使用了date_guke.mdb數據庫中的用戶表〔user〕。核心代碼如下:ifrequest("admin")="登陸"thendimGetCode,valicodeCode=int(request.form("code"))valicode=int(Session("GetCode"))ifCode<>valicodethenresponse.write"<script>alert('驗證碼錯誤!');location='index.asp';</script>"endifsetrs=server.CreateObject("ADODB.RecordSet")sql="select*from[user]whereusername='"&request.form("UserName")&"'"rs.OpenSql,conn,1,1ifrs("password")<>md5(request.form("PassWd"))thenresponse.write"<script>alert('用戶或密碼錯誤!');location.href='javascript:history.go(-1)';</script>"elseResponse.Cookies("pass")=rs("password")Response.Cookies("pass").expires=date+2Response.Cookies("id")=rs("id")Response.Cookies("id").expires=date+2response.redirect"admin.asp"endifendif系統主界面(1)通過主界面用戶可以使用本系統所有的功能。通過主界面左端的各個菜單我們可以進入系統所有的功能模塊,包括系統設置、密碼管理、錄入數據、個人報表、匯總統計等。點擊左側系統管理上方的“平安退出〞按鈕退出該系統。如14圖所示:圖14系統主界面(2)用戶提交登錄請求以后,系統會調用heck.asp頁面對登陸情況進行驗證。如果登錄用戶通過系統身份驗證以后,就會進入如上圖所示的辦公自動化系統的主頁面。家庭記賬系統heck.asp頁面訪問數據庫用戶信息表,將登陸用戶信息與數據庫表信息比較,以判斷該用戶身份權限。核心代碼如下:idd=Request.Cookies("id")IFRequest.Cookies("pass")=""orRequest.Cookies("id")=""thenresponse.redirect"index.asp"endifsetrs=server.createobject("adodb.recordset")sql="select*from[user]whereid="&idd&""rs.opensql,conn,1,1user=rs("username")Ifrs("password")<>Request.Cookies("pass")thenresponse.redirect"index.asp"endif(3)admin.asp頁面是系統的主頁面。HTML代碼主要由框架集構成。該頁面主要由幾個局部組成:頭部功能選擇文件、左側功能選擇文件、右側功能主頁面。核心代碼如下:</head><framesetrows="60,*"cols="*"frameborder="no"border="0"framespacing="0"><framesrc="top.asp"name="top"scrolling="No"noresize="noresize"id="top"title="top"/><framesetrows="*"cols="190,*"framespacing="0"frameborder="no"border="0"><framesrc="left.asp"name="left"scrolling="yes"noresize="noresize"id="left"title="left"/><framesrc="right.asp"name="main"id="main"title="main"scrolling="yes"/></frameset></frameset><noframes><body></body></noframes></html>系統設置界面,主要包括有參數設置、用戶管理、用戶添加、費用類型以及類型添加五個局部,點擊依次可以查詢、添加、刪除以上內容。如圖15所示:圖15系統設置界面(1)參數設置局部設計功能:設置管理員名稱和每頁顯示的條數。圖16參數設置界面本頁面使用了date_guke.mdb數據庫中的用戶表〔about〕。其核心代碼如下:IfRequest.Form("add")="設置"Thenifnotisnumeric(request.form("txt2"))ThenResponse.Write"<script>alert('請輸入數字,介乎10-200之間!');location='javascript:history.back(-1)'</SCRIPT>"endifIfrequest.form("txt2")>200orrequest.form("txt2")<10thenResponse.Write"<script>alert('每頁顯示條數介乎10-200之間!');location='javascript:history.back(-1)'</SCRIPT>"endifSetrs=Server.CreateObject("ADODB.RecordSet")Sql="Select*From[about]Whereid=1"rs.OpenSql,rs("txt1")=checkform(request.form("txt1"))rs("txt2")=request.form("txt2")Response.Write("<script>alert('設置成功!');location.href='system.asp';</script>")EndIf(2)用戶添加局部設計:功能:添加用戶,并給予相應的權限。處理:①點擊用戶添加,將當前頁面轉到用戶添加窗口,只有管理員才有此項功能,普通用戶沒有此權限。②向文本框中輸入用戶名、密碼、重復輸入密碼等信息,以便提交。③user中。用戶添加界面,如17所示圖:圖17添加用戶界面其核心代碼如下:IfRequest.form("add")="添加"ThenSetrs=Conn.Execute("Select*From[user]Whereusername='"&Request.form("user")&"'")IfNot(rs.Eoforrs.Bof)ThenResponse.Write"<script>alert('該用戶已存在!');this.location.href='add_user.asp';</SCRIPT>"endifIfrequest.form("pwd2")<>request.form("pwd3")thenResponse.Write"<script>alert('兩次密碼不相同!');location='javascript:history.back(-1)'</SCRIPT>"endifSetrs=Server.CreateObject("ADODB.RecordSet")Sql="Select*From[user]Where(IDisnull)"rs.OpenSql,rs("username")=checkform(Request.form("user"))rs("admin")=Request.form("admin")md5pwd=md5(request("name2"))rs("password")=md5(request.form("pwd2"))Response.Write"<script>alert('操作成功!');this.location.href='t_user.asp';</SCRIPT>"endif(3)費用類型添加局部設計:功能:添加費用類型,并選擇所屬收支。處理:①點擊添加類型,將當前頁面轉到費用類型添加窗口。②向文本框中輸入費用類型名稱,以便提交。③date_guke.mdb數據庫中的表type中。費用類型添加界面如圖18所示:圖18添加費用類型界面其核心代碼如下:IfRequest.form("add")="添加"Thenpaytype=Trim(Request.Form("paytype"))io=Trim(Request.Form("io"))Setrs=Conn.Execute("SelectPayTypeFrom[type]WherePayType='"&paytype&"'")IfNot(rs.Eoforrs.Bof)ThenResponse.Write"<script>alert('該類型已存在!');this.location.href='add_type.asp';</SCRIPT>"elseSetrs=Server.CreateObject("ADODB.RecordSet")Sql="Select*From[type]Where(IDisnull)"rs.OpenSql,rs("PayType")=checkform(paytype)rs("date")=now()rs("InOut")=ioEndifResponse.Write"<script>alert('操作成功!');this.location.href='type.asp';</SCRIPT>"endif4.4錄入數據界面在系統主界面左面,有錄入數據選項,點擊出現添加收入和添加支出兩項。依次可添加收入支出的日期、金額、費用類型以及工程備注等選項。如圖19所示:圖19錄入數據界面添加收入支出局部設計:功能:添加收入支出。處理:(1)點擊添加收入或添加支出,將當前頁面轉到添加收入或添加支出窗口。(2)向文本框中輸入金額、工程備注以便提交。(3)寫好收支信息后,選擇所屬收支費用類型list中。添加收入支出界面如圖20、21所示:圖20添加收入界面圖21添加支出界面其核心代碼如下:InOut=Request("add")IfRequest.form("add")="添加"Thenadddate=Request.Form("adddate")selpayer=Request.Form("selpayer")seltype=Request.Form("seltype")moneys=Trim(Request.Form("moneys"))pjna=Trim(Request.Form("pjna"))ifseltype=""thenResponse.Write"<script>alert('請先用管理員帳號添加相關費用類型!');location='javascript:history.back(-1)';</SCRIPT>"endififnotisnumeric(moneys)ThenResponse.Write"<script>alert('請輸入數字整數金額!');location='javascript:history.back(-1)'</SCRIPT>"endifSetrs=Server.CreateObject("ADODB.RecordSet")Sql="Select*From[list]"rs.OpenSql,rs("InOut")=InOutrs("PayTypeID")=seltypers("Moneys")=moneysrs("Project")=checkform(pjna)rs("addTime")=adddaters("data")=adddaters("user")=Request.Cookies("id")Response.Write"<script>alert('操作成功!');this.location.href='pay.asp';</SCRIPT>"Endif4.5個人報表查詢點擊個人報表按鈕,會出現收支明細與年度統計選項。普通會員僅可查看自己的收支明細與年度匯總。此外還可進行修改、刪除與導出等操作。(1)收支明細:點擊可查看自己所有的收支明細,并可以導出。收支明細界面如圖22所示:圖22收支明細界面(2)年度統計:點擊可根據年份來查看自己所有的收支明細的統計,并可以導出。年度統計界面如圖23所示:圖23年度統計界面4.6修改密碼界面圖24修改密碼界面輸入正確的原始密碼,然后輸入新密碼,并重復輸入新密碼,進行修改。核心代碼如下:<%ifrequest("pwd")="修改"thenIfrequest.form("pwd2")<>request.form("pwd3")thenResponse.Write"<script>alert('確認密碼錯誤!');location='javascript:history.back(-1)'</SCRIPT>"endifsetrs=server.createobject("adodb.recordset")sql="select*from[user]whereid="&iddrs.opensql,conn,1,3Ifrs("password")<>md5(request.form("pwd1"))thenResponse.Write"<script>alert('舊密碼錯誤!');location='javascript:history.back(-1)'</SCRIPT>"endififlen(request.form("pwd2"))<4thenResponse.Write"<script>alert('用戶密碼不能少于4位!');location='javascript:history.back(-1)'</SCRIPT>"endifrs("password")=md5(request.form("pwd2"))response.write"<script>alert('操作成功!');location='right.asp'</script>"endif%>4.7匯總統計界面點擊匯總統計按鈕,會出現總明細表、總統計表以及明細統計的選項。管理員方可查看匯總統計中的內容。還可對這些表進行修改、刪除與導出等操作。(1)總明細表:管理員權限進行操作,查看所有不同的會員的明細統計。總明細表界面如圖25所示:圖25總明細表界面其核心代碼如下:(2)總統計表:管理員權限進行操作,根據年份查看家庭所有成員總收支情況。系統自動算出每月結余以及年終合計。總統計表界面如圖26所示:圖26總統計表界面(3)明細統計:管理員權限進行操作,可根據用戶、費用類型以及起始結束日期任意組合查看家庭成員收支情況。系統自動算金額合計。明細統計界面如圖27所示:圖27明細統計界面其核心代碼如下:創立數據庫連接在整個系統開發的過程中,數據庫的連接是必須的,本系統采用的是Access數據庫,所以配置十分簡單,只要保證Access數據庫的路徑正確即可,這里我們將數據庫置于系統工程文件所處的目錄下,即data\guke.mdb。其核心代碼如下:dimconndimconnstronerrorresumenextconnstr="DBQ="+server.mappath(Access)+";DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};"setconn=server.createobject("ADODB.CONNECTION")conn.openconnstrIferrThenSetresponse.write"數據庫連接出錯,請檢查連接字串。"endIf5系統測試和優化5.1測試目的系統測試的目的是:測試的定義是為了發現程序中的錯誤而執行程序的過程。所以測試的目的是測試系統中各個功能模塊的功能,及時發現迄今為止尚未發現的錯誤和系統中尚未發現的缺陷,反應給程序設計人員,以到達改正錯誤、優化程序代碼、提高程序執行速度和提高軟件可靠性的目的。5.2測試方法測試任何的系統都有兩種方法:如果已經知道了系統應該具有的功能,可以通過測試來檢驗是否每個功能都能正常使用;如果知道產品內部工作過程,可以通過測試來檢驗系統內部動作是否按照規格說明回溯的規定正常進行。前一種方法稱為黑盒測試;后一種方法稱為白盒測試[9]。對于軟件測試而言,黑盒測試方法把程序看成一個黑盒子,完全不考慮程序的內部結構和處理過程。也就是說,黑盒測試是在程序接口進行的測試,它只檢查程序功能是否能按照規格說明書的規定正常使用,程序是否能適當的接收輸入數據產生正確的輸出信息,并且保持外部信息〔如數據庫或文件〕的完整性。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論