版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、小型企業(yè)財務(wù)管理信息系統(tǒng)設(shè)計與開發(fā)1. 引言1.1項目來源自從世界上第一臺計算機誕生以后,信息技術(shù)就以令人瞠目結(jié)舌的速度深入到全球各地和各個領(lǐng)域。它對全球的影響是全方位的,強大的力量改變著人類的生活。我國財務(wù)管理軟件經(jīng)過多年的發(fā)展,正在逐步走向成熟,初步形成了一定的產(chǎn)業(yè)規(guī)模。無論是從廠商還是從市場方面看,進入 21 世紀(jì),我國財務(wù)管理軟件產(chǎn)業(yè)將迎來一個更加輝煌的高速發(fā)展期。隨著經(jīng)濟全球化的趨勢,財務(wù)管理軟件開發(fā)與應(yīng)用的成敗無疑將直接影響企業(yè)經(jīng)營決策。對小型企業(yè)來說,財務(wù)管理是一項日常性的工作,企業(yè)的各級管理人員需要及時了解、掌握企業(yè)的運營狀況,以便心中有數(shù),合理安排企業(yè)的經(jīng)營策略,因而財務(wù)管理
2、是現(xiàn)代小型企業(yè)的一項非常重要的工作。而如今相當(dāng)部分小型企業(yè),由于日常資金的流動十分頻繁,依靠手工處理來記錄或統(tǒng)計各種憑證數(shù)據(jù),既難做到及時性,也難保證數(shù)據(jù)的準(zhǔn)確性,因而有必要建立一個計算機財務(wù)管理信息系統(tǒng)。1.2任務(wù)目標(biāo)“小型企業(yè)財務(wù)管理信息系統(tǒng)”是自行調(diào)研、設(shè)計、開發(fā)并成功實施,為提高財務(wù)業(yè)務(wù)處理的準(zhǔn)確性、時效性,從而為財務(wù)管理活動提供準(zhǔn)確、及時的信息的管理信息系統(tǒng)。系統(tǒng)要求界面設(shè)計人性化,便于財務(wù)人員的操作。要求系統(tǒng)維護性強。對相關(guān)子系統(tǒng)不同的硬件平臺、操作系統(tǒng)、實現(xiàn)技術(shù)、數(shù)據(jù)庫數(shù)據(jù)格式等要求要有兼容性,能進行統(tǒng)一用戶管理與權(quán)限集中管理,并且提供詳細的系統(tǒng)技術(shù)手冊。開發(fā)良好的擴展性,為以后
3、進一步提升系統(tǒng)的服務(wù)層次提供相應(yīng)的平臺??偟膩碚f,本系統(tǒng)的總體目標(biāo)就是便捷、安全、美觀、實用、可擴展性。2. 項目規(guī)劃2.1 項目資源2.1.1硬件設(shè)備cpu:至少pentium400以上,建議使用pentium800以上;內(nèi)存:至少128m以上,建議使用256m以上;硬盤:至少20g硬盤空間;顯示器:14顯示器;其它:鍵盤、鼠標(biāo)、打印機等。2.1.2軟件環(huán)境操作系統(tǒng):windows xp /2000以上版本語言編譯系統(tǒng):microsoft visual studio .net 2003 數(shù)據(jù)庫管理系統(tǒng):microsoft sql server 20002.1.3軟件工具本系統(tǒng)以window
4、xp操作系統(tǒng)為平臺,microsoft visual studio .net 2003為界面開發(fā)工具, microsoft office visio 2003為分析設(shè)計建模工具,sql server 2005作為數(shù)據(jù)庫。采用c/s結(jié)構(gòu),輔以vbscript技術(shù)以期帶來良好的用戶體驗。2.2項目進程2.2.1 任務(wù)描述本系統(tǒng)采用至上而下的項目開發(fā)步驟,整個開發(fā)過程分為六個階段。系統(tǒng)任務(wù)樹如圖1所示。圖1 小型企業(yè)財務(wù)管理信息系統(tǒng)的任務(wù)樹2.2.2進度安排全部開發(fā)過程預(yù)計用時12周,具體用時分配如下圖2所示。圖2 項目進度安排甘特圖3. 系統(tǒng)需求分析3.1 業(yè)務(wù)需求3.1.1業(yè)務(wù)組織通過對企業(yè)管理
5、業(yè)務(wù)的調(diào)查分析,可知該企業(yè)的組織機構(gòu)設(shè)置如圖3所示。 圖3 企業(yè)組織機構(gòu)設(shè)置圖3.1.2業(yè)務(wù)定義本系統(tǒng)中,用戶可以處理各種業(yè)務(wù)信息,例如科目初始設(shè)置、憑證處理、轉(zhuǎn)帳結(jié)帳、查詢打印帳簿等。其用例圖如圖4所示。圖4 用例圖3.1.3業(yè)務(wù)流程通過對企業(yè)的調(diào)查分析,可知該企業(yè)的財務(wù)管理主要有以下七個處理步驟:根據(jù)各種原始憑證和原始憑證匯總表填制收款憑證、付款憑證和轉(zhuǎn)賬憑證。根據(jù)收款憑證和付款憑證登記現(xiàn)金日記賬和銀行存款日記賬。根據(jù)原始憑證、原始憑證匯總表和記賬憑證登記各種明細分類賬。根據(jù)各種記賬憑證編制科目發(fā)生額余額表。根據(jù)科目發(fā)生額余額表登記總分類賬月末,現(xiàn)金、銀行存款日記賬和明細分類賬分別與總分類
6、賬相核對。根據(jù)總分類賬和明細賬的資料編制會計報表。企業(yè)的財務(wù)管理業(yè)務(wù)流程圖如圖5所示。所有部門原始憑證用戶原始憑證匯總表記賬憑證現(xiàn)金日記帳銀行存款日記帳科目發(fā)生額余額表總分類帳各類明細帳會計報表有關(guān)部門圖5 企業(yè)財務(wù)管理業(yè)務(wù)流程圖3.2 功能需求3.2.1功能組成由上可知,該財務(wù)管理信息系統(tǒng)的功能結(jié)構(gòu)設(shè)計如圖6所示。小型企業(yè)財務(wù)管理信息系統(tǒng)初始設(shè)置管理憑證處理轉(zhuǎn)帳結(jié)帳查詢打印帳簿用戶管理設(shè)置會計科目錄入初始數(shù)據(jù)憑證輸入憑證查詢查詢總分類帳查詢明細帳添加用戶查詢余額發(fā)生額修改密碼日常帳務(wù)管理平衡校驗憑證審核憑證修改總分類賬憑證記帳轉(zhuǎn)帳憑證定義轉(zhuǎn)帳憑證生成期末結(jié)帳圖6 系統(tǒng)功能樹3.2.2功能邏輯
7、(1)頂層數(shù)據(jù)流程圖該財務(wù)管理系統(tǒng)頂層的數(shù)據(jù)流圖如圖7所示。系統(tǒng)的輸入數(shù)據(jù)有初始設(shè)置的參數(shù)和日常的記賬憑證,主要的輸出有科目匯總表和各種賬簿等??颇繀R總表帳簿記帳憑證初始參數(shù)用戶財務(wù)處理用戶圖7 系統(tǒng)頂層數(shù)據(jù)流程圖(2)零層數(shù)據(jù)流程圖財務(wù)處理最主要的兩項功能是系統(tǒng)初始設(shè)置與日常賬務(wù)處理。因此系統(tǒng)的零層數(shù)據(jù)流圖如圖8所示。記帳憑證科目、余額、憑證、總帳、明細帳科目匯總表帳簿初始參數(shù)用戶p1初始設(shè)置用戶p2日常帳務(wù)圖8 系統(tǒng)零層數(shù)據(jù)流程圖(3)一層數(shù)據(jù)流程圖“初始設(shè)置”的分解。初始設(shè)置包括設(shè)置憑證類型、外幣、結(jié)算方式、會計科目、輔助賬核算項目如往來單位通訊錄和錄入初始數(shù)據(jù)等。下面畫出分解后的設(shè)置會
8、計科目、錄入初始數(shù)據(jù)的數(shù)據(jù)流程圖,如圖9所示。圖中“科目結(jié)構(gòu)”用于校驗科目的合法性。會計科目科目結(jié)構(gòu)科目校驗信息余額等初始數(shù)據(jù)用戶p1.1編輯科目用戶p1.2錄入初始數(shù)據(jù)初始科目余額p1.3平衡校驗圖9 初始設(shè)置的第一層數(shù)據(jù)流程圖“日常賬務(wù)”的分解。日常賬務(wù)處理的三項主要功能是憑證處理、轉(zhuǎn)賬結(jié)賬和查詢打印賬簿,分解后的數(shù)據(jù)流程圖如圖10所示。查詢條件科目匯總表記帳憑證憑證、余額、總帳、明細帳帳簿、科目余額表用戶p2.1憑證處理用戶p2.2轉(zhuǎn)帳結(jié)帳總帳余額p2.3查詢與打印科目明細科目發(fā)生額匯總圖10 日常帳務(wù)的第一層數(shù)據(jù)流程圖(4)二層數(shù)據(jù)流程圖“憑證處理”的分解?!皯{證處理”主要包括憑證輸入
9、、憑證查詢、憑證審核、憑證修改、憑證匯總以及憑證記賬,分解后的數(shù)據(jù)流程圖如圖11所示。憑證信息正確數(shù)據(jù)錯誤信息科目匯總表記帳憑證用戶p2.1.1輸入憑證用戶憑證科目p2.1.2審核憑證p2.1.3修改憑證p2.1.6憑證記帳p2.1.7查詢憑證p2.1.4科目匯總p2.1.5輸出科目表科目匯總表科目余額總帳明細帳輔助帳圖11 對“日常帳務(wù)”中“憑證處理”細化后的第二層數(shù)據(jù)流程圖“轉(zhuǎn)賬結(jié)賬”的分解?!稗D(zhuǎn)賬結(jié)賬”可分解為轉(zhuǎn)賬憑證定義、轉(zhuǎn)賬憑證生成和期末結(jié)賬等功能。分解后的數(shù)據(jù)流程圖如圖12所示。其它子系統(tǒng)轉(zhuǎn)帳憑證轉(zhuǎn)帳參數(shù)用戶p2.2.1定義轉(zhuǎn)帳憑證用戶轉(zhuǎn)帳憑證定義p2.2.5扎帳p2.2.4匯總發(fā)
10、生額p2.2.6數(shù)據(jù)處理p2.2.2系統(tǒng)外轉(zhuǎn)帳明細帳檔案明細科目發(fā)生額匯總憑證明細帳總帳余額p2.2.3生成轉(zhuǎn)帳憑證p2.2.7打印轉(zhuǎn)帳憑證總帳憑證檔案結(jié)帳標(biāo)志圖12 對“日常帳務(wù)”中“轉(zhuǎn)帳結(jié)帳”細化后的第二層數(shù)據(jù)流程圖“查詢打印賬簿”的分解。財務(wù)總賬管理系統(tǒng)提供了豐富的查詢、打印功能,包括日記賬、日報表、明細賬、輔助賬、總賬和科目發(fā)生額及余額等等。分解后的數(shù)據(jù)流圖如圖13所示??颇坑囝~發(fā)生額總帳p2.3.2查明細帳用戶憑證p2.3.1查憑證p2.3.4查余額發(fā)生額p2.3.3查總帳科目總帳明細帳科目余額明細科目發(fā)生額匯總總帳余額明細帳、日記帳憑證信息圖13 對“日常帳務(wù)”中“查詢打印帳簿”細
11、化后的第二層數(shù)據(jù)流程圖3.3 數(shù)據(jù)需求3.3.1數(shù)據(jù)關(guān)系該企業(yè)財務(wù)管理系統(tǒng)數(shù)據(jù)實體關(guān)系圖如圖14所示。nnnn11111111111111憑證歷史憑證備份科目包含分錄包含備份分錄歷史初始化帳簿初始化匯總包含本期匯總本期明細計算科目余額統(tǒng)計資產(chǎn)負債圖14 系統(tǒng)數(shù)據(jù)實體關(guān)系圖3.3.2數(shù)據(jù)定義系統(tǒng)數(shù)據(jù)字典分別如下所示:表1 科目信息數(shù)據(jù)字典數(shù)據(jù)存儲名:科目信息說明:對每個會計科目的基本信息如科目代碼、科目名稱、助記碼、科目類別、是否存貨科目、余額方向、數(shù)量單位等進行記錄數(shù)據(jù)描述:科目代碼、科目名稱、助記碼、科目類別、是否存貨科目、余額方向、數(shù)量單位等表2 帳簿初始化信息數(shù)據(jù)字典數(shù)據(jù)存儲名:帳簿初始
12、化信息說明:對帳簿中的每個會計科目的科目代碼、科目名稱、累計借方、累計貸方、期初余額、余額方向等初始化信息進行記錄數(shù)據(jù)描述:科目代碼、科目名稱、累計借方、累計貸方、期初余額、余額方向等表3 憑證信息數(shù)據(jù)字典數(shù)據(jù)存儲名:憑證信息說明:對每個憑證的基本信息如憑證編號、會計期間、憑證字號、日期、附單據(jù)、制單、借方合計、貸方合計、過帳狀態(tài)、憑證狀態(tài)等進行記錄數(shù)據(jù)描述:憑證編號、會計期間、憑證字號、日期、附單據(jù)、制單、借方合計、貸方合計、過帳狀態(tài)、憑證狀態(tài)等表4 憑證歷史信息數(shù)據(jù)字典數(shù)據(jù)存儲名:憑證歷史信息說明:對輸入的憑證信息進行備份數(shù)據(jù)描述:憑證編號、會計期間、憑證字號、日期、附單據(jù)、制單、借方合計
13、、貸方合計、過帳狀態(tài)、憑證狀態(tài)等表5 分錄信息數(shù)據(jù)字典數(shù)據(jù)存儲名:分錄信息說明:對每個憑證中的詳細信息如憑證編號、摘要、科目代碼、借方、貸方、數(shù)量、單價、結(jié)算方式、結(jié)算號、結(jié)算日期等進行記錄數(shù)據(jù)描述:編號、憑證編號、摘要、科目代碼、借方、貸方、數(shù)量、單價、結(jié)算方式、結(jié)算號、結(jié)算日期等表6 分錄歷史信息數(shù)據(jù)字典數(shù)據(jù)存儲名:分錄歷史信息說明:對輸入的分錄信息進行備份數(shù)據(jù)描述:編號、憑證編號、摘要、科目代碼、借方、貸方、數(shù)量、單價、結(jié)算方式、結(jié)算號、結(jié)算日期等表7 本期明細信息數(shù)據(jù)字典數(shù)據(jù)存儲名:本期明細信息說明:對會計期間的所有憑證的詳細信息進行描述數(shù)據(jù)描述:內(nèi)部編號、分錄編號、會計期間、憑證字號
14、、憑證編號、摘要、科目代碼、借方、貸方、余額方向、余額、數(shù)量、單價、結(jié)算方式、結(jié)算號、結(jié)算日、余額標(biāo)記等表8 本期匯總信息數(shù)據(jù)字典數(shù)據(jù)存儲名:本期匯總信息說明:對會計期間所有科目的匯總信息進行描述數(shù)據(jù)描述:科目編號、期初余額、余額方向、本期借方合計、本期貸方合計、本年借方累計、本年貸方累計、余額等表9 科目余額信息數(shù)據(jù)字典數(shù)據(jù)存儲名:科目余額信息說明:對會計期間所有科目的結(jié)算余額信息進行描述數(shù)據(jù)描述:內(nèi)部編號、科目代碼、期初借方余額、期初貸方余額、本期借方發(fā)生額、本期貸方發(fā)生額、本年借方累計發(fā)生額、本年貸方累計發(fā)生額、本期借方余額、本期貸方余額、最后結(jié)算分錄、會計期間、余額方向等4. 系統(tǒng)結(jié)構(gòu)
15、設(shè)計4.1總體框架在系統(tǒng)架構(gòu)方面,基于系統(tǒng)的訪問速度,便捷性、可行性等要求,本系統(tǒng)采用了c/s兩層結(jié)構(gòu)。它包括客戶機、數(shù)據(jù)庫服務(wù)器層,如圖15所示。在兩層客戶機/服務(wù)器結(jié)構(gòu)中,客戶機負責(zé)信息表示與應(yīng)用邏輯處理,服務(wù)器負責(zé)管理數(shù)據(jù)庫事務(wù)。客戶機信息表示應(yīng)用邏輯處理數(shù)據(jù)庫服務(wù)器 數(shù)據(jù)庫管理圖15 兩層客戶機/服務(wù)器結(jié)構(gòu)4.2 軟件結(jié)構(gòu)4.2.1軟件模型該系統(tǒng)的軟件結(jié)構(gòu)圖如圖16所示。會計科目模塊(科目初始化)憑證模塊賬簿模塊報表模塊結(jié)賬模塊科目添加 打印總賬,明細賬,現(xiàn)金日記賬,銀行存款日記賬輸出資產(chǎn)負債表,損益表期末結(jié)轉(zhuǎn) 修改密碼 用戶管理模塊科目修改科目查詢科目刪除科目余額設(shè)置憑證輸入/維護憑
16、證審核憑證登帳(四個帳)查看總賬,明細賬,現(xiàn)金日記賬,銀行存款日記賬打印資產(chǎn)負債表,損益表年末結(jié)轉(zhuǎn)添加用戶小型企業(yè)財務(wù)管理信息系統(tǒng)用戶登錄模塊圖16 軟件結(jié)構(gòu)圖4.2.2模塊定義根據(jù)本系統(tǒng)的項目規(guī)劃、需求分析、系統(tǒng)結(jié)構(gòu)設(shè)計等,可以得出系統(tǒng)的各個模塊:用戶登錄模塊、會計科目(系統(tǒng)初始化)模塊、憑證模塊、帳簿模塊、報表模塊、結(jié)轉(zhuǎn)模塊、用戶管理模塊。系統(tǒng)名稱:小型企業(yè)財務(wù)管理信息系統(tǒng)模塊名稱:用戶登錄模塊模塊編號:1輸入數(shù)據(jù):用戶名、密碼輸出數(shù)據(jù):打開系統(tǒng)歡迎窗體處理步驟:(1)程序開始啟動系統(tǒng)登錄對話框。(2)用戶輸入用戶名和密碼。(3)從用戶清單表中檢查是否有相應(yīng)的用戶名和密碼。(4)如果用戶名
17、或密碼錯誤,進行提示。(5)如果正確,則打開系統(tǒng)歡迎窗體。(6)進入主程序界面。圖17 “用戶登錄”模塊的ipo圖系統(tǒng)名稱:小型企業(yè)財務(wù)管理信息系統(tǒng)模塊名稱:會計科目模塊模塊編號:2輸入數(shù)據(jù):科目信息、科目代碼、科目名稱、科目類別輸出數(shù)據(jù):更新數(shù)據(jù)庫科目表處理步驟: 1.查詢科目信息(1)輸入科目代碼、科目名稱、科目類別。(2)從憑證表中根據(jù)科目代碼、科目名稱和科目類別搜索是否有相應(yīng)的記錄。(3)如果不存在相應(yīng)的記錄,則提示錯誤。(4)如果存在相應(yīng)的記錄,則將相應(yīng)的科目基本信息顯示出來。2.添加科目信息(1)輸入科目信息。(2)從憑證表中根據(jù)科目代碼、科目名稱和科目類別搜索是否有相應(yīng)的記錄。(
18、3)如果存在相應(yīng)的記錄,則提示錯誤。(4)如果不存在相應(yīng)的記錄,則將相應(yīng)的科目信息添加到科目表中。3.修改或刪除科目信息(1)輸入科目信息。(2)從憑證表中根據(jù)科目代碼、科目名稱和科目類別搜索是否有相應(yīng)的記錄。(3)如果不存在相應(yīng)的記錄,則提示錯誤。(4)如果存在相應(yīng)的記錄,則修改或刪除科目表中的相應(yīng)信息。圖18 “會計科目”模塊的ipo圖系統(tǒng)名稱:小型企業(yè)財務(wù)管理信息系統(tǒng)模塊名稱:憑證模塊模塊編號:3輸入數(shù)據(jù):憑證信息、科目代碼、科目名稱、科目類別輸出數(shù)據(jù):更新數(shù)據(jù)庫憑證表處理步驟:1.查詢憑證信息(1)輸入科目代碼、科目名稱、科目類別。(2)從憑證表中根據(jù)科目代碼、科目名稱和科目類別搜索是
19、否有相應(yīng)的記錄。(3)如果不存在相應(yīng)的記錄,則提示錯誤。(4)如果存在相應(yīng)的記錄,則將相應(yīng)的憑證信息顯示出來。2.添加憑證信息(1)輸入憑證信息。(2)從憑證表中根據(jù)科目代碼、科目名稱和科目類別搜索是否有相應(yīng)的記錄。(3)如果存在相應(yīng)的記錄,則提示錯誤。(4)如果不存在相應(yīng)的記錄,則將相應(yīng)的憑證信息添加到憑證表中。3.修改或刪除憑證信息(1)輸入憑證信息。(2)從憑證表中根據(jù)科目代碼、科目名稱和科目類別搜索是否有相應(yīng)的記錄。(3)如果不存在相應(yīng)的記錄,則提示錯誤。(4)如果存在相應(yīng)的記錄,則修改或刪除憑證表中的相應(yīng)信息。圖19 “憑證”模塊的ipo圖系統(tǒng)名稱:小型企業(yè)財務(wù)管理信息系統(tǒng)模塊名稱:
20、帳簿模塊模塊編號:4輸入數(shù)據(jù):會計期間輸出數(shù)據(jù):生成明細帳、總帳處理步驟:(1)輸入會計期間。(2)從本期明細表或本期總帳表根據(jù)會計期間搜索是否有相應(yīng)的記錄。(3)如果不存在相應(yīng)的記錄,則提示錯誤。(4)如果存在相應(yīng)的記錄,則將相應(yīng)的明細帳或總帳信息顯示出來。圖20 “帳簿”模塊的ipo圖系統(tǒng)名稱:小型企業(yè)財務(wù)管理信息系統(tǒng)模塊名稱:報表模塊模塊編號:5輸入數(shù)據(jù):會計期間輸出數(shù)據(jù):生成資產(chǎn)負債表、損益表處理步驟:(1)輸入會計期間。(2)從科目余額表根據(jù)會計期間搜索是否有相應(yīng)的記錄。(3)如果不存在相應(yīng)的記錄,則提示錯誤。(4)如果存在相應(yīng)的記錄,則將相應(yīng)的科目余額信息顯示出來。圖21 “報表”
21、模塊的ipo圖系統(tǒng)名稱:小型企業(yè)財務(wù)管理信息系統(tǒng)模塊名稱:結(jié)轉(zhuǎn)模塊模塊編號:6輸入數(shù)據(jù):會計期間輸出數(shù)據(jù):更新數(shù)據(jù)庫下個會計期間的帳簿初始化表處理步驟:(1)輸入會計期間。(2)從科目余額表根據(jù)會計期間搜索是否有相應(yīng)的記錄。(3)如果不存在相應(yīng)的記錄,則提示錯誤。(4)如果存在相應(yīng)的記錄,則將相應(yīng)的科目余額信息轉(zhuǎn)入下個會計期間,更新下個會計期間的帳簿初始化表。圖22 “結(jié)轉(zhuǎn)”模塊的ipo圖系統(tǒng)名稱:小型企業(yè)財務(wù)管理信息系統(tǒng)模塊名稱:用戶管理模塊模塊編號:7輸入數(shù)據(jù):用戶信息輸出數(shù)據(jù):更新數(shù)據(jù)庫用戶清單表處理步驟: 1.修改密碼的處理(1)輸入舊密碼、新密碼和確認新密碼。(2)如果輸入的舊密碼不
22、正確,則提示錯誤,并要求重新輸入。(3)如果輸入的舊密碼正確,則判斷新密碼和確認新密碼是否一致,如果密碼不一致,提示錯誤,并要求重新輸入;如果密碼一致,根據(jù)用戶輸入的新密碼,在數(shù)據(jù)庫用戶清單表中修改當(dāng)前用戶的密碼。2.添加新用戶的處理(1)輸入用戶名、密碼和確認密碼。(2)如果密碼和確認密碼不一致,則提示錯誤,并要求重新輸入密碼和確認密碼。(3)如果密碼和確認密碼一致,則根據(jù)用戶輸入的用戶名判斷用戶是否存在,如果存在,提示錯誤,并要求重新輸入;如果用戶不存在,根據(jù)用戶輸入的用戶名和密碼,在數(shù)據(jù)庫用戶清單表中添加新記錄。(4)提示新用戶添加成功。圖23 用戶管理模塊的ipo圖4.3 數(shù)據(jù)結(jié)構(gòu)4.
23、3.1 數(shù)據(jù)庫模型根據(jù)上文的數(shù)據(jù)需求可以看出,本系統(tǒng)主要包括會計科目、憑證、分錄、科目余額、本期明細賬簿、本期匯總賬簿等實體,各實體關(guān)系如下文所述。(1)憑證歷史實際上是對憑證記錄的備份保存,因此憑證歷史表和憑證表間存在一對一的關(guān)系。(2)分錄歷史實際上是對分錄記錄的備份保存,因此分錄歷史表和分錄表間存在一對一的關(guān)系。(3)一張憑證可以被包含在多個分錄中,多個分錄可以同時對應(yīng)一張憑證,因此憑證表和分錄表間存在一對多的關(guān)系。(4)一個科目被包含在多個分錄中,多個分錄可以同時對應(yīng)同一科目,因此科目表和分錄表間存在一對多的關(guān)系。(5)賬簿初始化實際上是對科目表中每個科目進行初始化操作,因此賬簿初始化
24、表和科目表間存在一對一的關(guān)系。(6)本期匯總實際上是對期間發(fā)生的每個科目進行匯總操作,因此本期匯總賬簿和科目表間存在一對一的關(guān)系。(7)一個會計科目可以被包含在多張本期明細中,多張本期明細可以對應(yīng)同一會計科目,因此科目表和本期明細賬簿間存在一對多的關(guān)系。(8)科目余額實際上是對每個會計科目的余額的計算,因此科目余額表和科目表間存在一對一的關(guān)系。(9)一個會計期間的資產(chǎn)負債是對多個科目余額的統(tǒng)計,多個科目余額可以生成一張資產(chǎn)負債,因此資產(chǎn)負債表和科目余額表間存在一對多的關(guān)系。數(shù)據(jù)庫中表間e-r圖如圖24所示。圖24 數(shù)據(jù)庫表間e-r圖4.3.2 數(shù)據(jù)定義由上述分析可知,該系統(tǒng)共需要12張表,用途
25、分別如表10所示。表10 系統(tǒng)數(shù)據(jù)表及其用途數(shù)據(jù)表名稱數(shù)據(jù)表用途科目表保存企業(yè)財務(wù)的科目設(shè)置信息賬簿初始化表正式使用系統(tǒng)前初始化科目的期初余額憑證表輸入會計憑證,分錄表的主表分錄表輸入會計憑證,分錄表的從表科目余額表保存各個會計期間的科目借、貸、余額情況憑證表歷史保存過賬后的憑證歷史分錄表歷史保存過賬后的分錄歷史本期明細賬簿保存當(dāng)前會計期間的明細賬簿數(shù)據(jù)本期匯總賬簿保存當(dāng)前會計期間的明細賬簿數(shù)據(jù),期末結(jié)賬后期末變成新會計期間的期初資產(chǎn)負債表統(tǒng)計用表,用于計算資產(chǎn)負債表系統(tǒng)參數(shù)表系統(tǒng)運行所需的參數(shù)信息用戶清單保存系統(tǒng)用戶登錄信息(1)科目表包括科目代碼、科目名稱、助記碼、科目類別、是否存貨科目、
26、余額方向、數(shù)量單位等字段,其中科目代碼是主鍵。(2)帳簿初始化表包括科目代碼、科目名稱、累計借方、累計貸方、期初余額、余額方向等字段,其中科目代碼是主鍵。(3)憑證表包括憑證編號、會計期間、憑證字號、日期、附單據(jù)、制單、借方合計、貸方合計、過帳狀態(tài)、憑證狀態(tài)等字段,其中憑證編號是主鍵。(4)分錄表包括編號、憑證編號、摘要、科目代碼、借方、貸方、數(shù)量、單價、結(jié)算方式、結(jié)算號、結(jié)算日期等字段,其中編號是主鍵。(5)科目余額表包括科目代碼、期初借方余額、期初貸方余額、本期借方發(fā)生額、本期貸方發(fā)生額、本年借方累計發(fā)生額、本年貸方累計發(fā)生額、本期借方余額、本期貸方余額、最后結(jié)算分錄、會計期間、余額方向、
27、內(nèi)部編號等字段,其中科目代碼是主鍵。(6)憑證歷史包括憑證編號、會計期間、憑證字號、日期、附單據(jù)、制單、借方合計、貸方合計、過帳狀態(tài)、憑證狀態(tài)等字段,其中憑證編號是主鍵。(7)分錄歷史包括編號、憑證編號、摘要、科目代碼、借方、貸方、數(shù)量、單價、結(jié)算方式、結(jié)算號、結(jié)算日期等字段,其中編號是主鍵。(8)本期明細帳簿包括內(nèi)部編號、分錄編號、會計期間、憑證字號、憑證編號、摘要、科目代碼、借方、貸方、余額方向、余額、數(shù)量、單價、結(jié)算方式、結(jié)算號、結(jié)算日期等字段,其中內(nèi)部編號是主鍵。(9)本期匯總帳簿包括科目代碼、期初余額、余額方向、本期借方合計、本期貸方合計、本年借方累計、本年貸方累計、余額等字段,其中
28、科目代碼是主鍵。(10)資產(chǎn)負債表包括會計期間、現(xiàn)金及現(xiàn)金等價物、應(yīng)收帳款、壞帳準(zhǔn)備、應(yīng)收帳款凈值、流動資產(chǎn)總計、固定資產(chǎn)原值、累計折舊、固定資產(chǎn)總計、其他資產(chǎn)、應(yīng)付帳款、預(yù)收帳款、應(yīng)付工資、其他負債、負債總計、資本公積、贏余公積等字段,其中會計期間是主鍵。(11)系統(tǒng)參數(shù)表包括參數(shù)名稱、取值、編號,其中參數(shù)名稱是主鍵。(12)用戶清單包括用戶編號、用戶名、密碼,其中用戶編號是主鍵。5. 系統(tǒng)詳細設(shè)計5.1程序算法詳細設(shè)計5.1.1會計科目(系統(tǒng)初始化)模塊算法設(shè)計和代碼實現(xiàn)該模塊的算法根據(jù)會計科目(系統(tǒng)初始化)模塊的模塊定義來設(shè)計。會計科目(系統(tǒng)初始化)模塊算法設(shè)計要求如下:(1)新增科目時
29、對于科目編號的輸入控制首位必須為1/2/3/4/5編號符合編碼規(guī)則(也就說限制長度為3/5/7/9)編碼不準(zhǔn)出現(xiàn)重復(fù)編碼不準(zhǔn)越級,不準(zhǔn)只有下級科目而不存在上級科目對于已經(jīng)在輸入憑證中使用的科目編碼,不能再賦予其下級科目(2)新增科目時對于科目名稱的輸入控制不準(zhǔn)出現(xiàn)空值。(3)修改刪除會計科目時的控制條件不準(zhǔn)修改科目編號科目若存在下級科目,將不準(zhǔn)刪除科目若已經(jīng)輸入余額或發(fā)生額,不準(zhǔn)修改和刪除科目已經(jīng)在憑證中使用的,不允許修改和刪除該模塊的主要代碼為:新增科目函數(shù):public overrides sub saveforadd() dim drdata as datarow = dataset11
30、.tables(科目表).newrow() try drdata(科目代碼) = txbcode.text.trim drdata(科目名稱) = txbname.text.trim drdata(助記碼) = txbhelpcode.text.trim drdata(科目類別) = cbbkind.text.trim drdata(余額方向) = cbbdirection.text.trim catch ex as exception messagebox.show(數(shù)據(jù)格式不正確!) exit sub end try try dataset11.tables(科目表).rows.add(d
31、rdata) if me.dataset11.haschanges = true then sqldataadapter1.updata(dataset11) end if catch ex as exception messagebox.show(數(shù)據(jù)添加失??!) end try end sub更新科目函數(shù):public overrides sub saveforupdate() try dim row as integer row = dgdlist.currentcell.rownumber dgdlist.currentcell = new datagirdcell(row + 1)
32、mod bmdata.count, 0) 判斷是否有更新的數(shù)據(jù) if me.dataset11.haschanges = true then sqldataadapter1.update(dataset11) end if catch ex as exception messagebox.show(數(shù)據(jù)修改失?。? end tryend sub刪除科目函數(shù):public overrides sub deletedata() try 刪除當(dāng)前行的數(shù)據(jù) dataset11.tables(科目表).rows(bmdata.position).delete() if me.dataset11.hasc
33、hanges = true then 更新dataset11 sqldataadapter1.updata(dataset11) end if catch ex as exception messagebox.show(數(shù)據(jù)刪除失敗!) end try end sub5.1.2 憑證模塊算法設(shè)計和代碼實現(xiàn)該模塊的算法根據(jù)憑證模塊的模塊定義來設(shè)計。憑證模塊算法設(shè)計要求如下:(1)輸入憑證分錄時的輸入控制憑證分錄的發(fā)生科目必須已經(jīng)在科目表中存在。憑證分錄的借貸方發(fā)生額必須相等,否則會提示用戶。(2)修改/刪除憑證分錄時的輸入控制對于已經(jīng)審核完畢的憑證不準(zhǔn)修改/刪除分錄。修改之后的憑證依舊要保證借貸
34、方發(fā)生額必須相等。(3)審核憑證時的輸入控制要求審核憑證的用戶和憑證制單的用戶不能為同一人。審核憑證時若憑證借貸不平衡或者發(fā)生額為零則不能審核。(4)憑證登帳時的輸入控制憑證登帳的前提是已經(jīng)審核完畢的憑證。該模塊主要實現(xiàn)代碼為:添加憑證函數(shù):private sub btnadd_click(byval sender as system.object, byval e as system.eventargs) handles btnadd.click 判斷數(shù)據(jù)格式 if validatedata() = false then messagebox.show(數(shù)據(jù)格式不正確!) return en
35、d if try dim dr as datarow = dtdetail.newrow dr(摘要) = txbsummary.text.trim dr(科目代碼) = txbsubjectcode.text.trim dr(科目名稱) = txbsubjectname.text.trim dr(借方)=txbdebit.text.trim dr(貸方) = txblender.text.trim 添加一行數(shù)據(jù) dtdetail.rows.add(dr) dgddetail.datasource = dtdetail dgddetail.currentrowindex = dtdetail.
36、rows.count - 1 更新錢的總數(shù) updatemoney() catch ex as exception messagebox.show(數(shù)據(jù)格式不正確!) end try cleartextbox()end sub修改憑證函數(shù):private sub btnsave_click(byval sender as system.object, byval e as system.eventargs) handles btnsave.click if validatedata() = false then messagebox.show(數(shù)據(jù)格式不正確!) return end if i
37、f dgddetail.currentrowindex = -1 then return end if try 更新當(dāng)前行的數(shù)據(jù) dim irow as integer = dgddetail.currentrowindex dtdetail.rows(irow)(摘要) = txbsummary.text.trim dtdetail.rows(irow)(科目代碼) = txbsubjectcode.text.trim dtdetail.rows(irow)(科目名稱) = txbsubjectname.text.trim dtdetail.rows(irow)(借方) = txbdebit
38、.text.trim dtdetail.rows(irow)(貸方) = txblender.text.trim updatemoney() catch ex as exception messagebox.show(數(shù)據(jù)格式不正確!) end try cleartextbox()end sub刪除憑證函數(shù):private sub btndel_click(byval sender as system.object, byval e as system.eventargs) handles btndel.click try 獲得datagird當(dāng)前被選中的行號 dim irow = dgdde
39、tail.currentrowindex 彈出對話框讓用戶確認要刪除記錄 如果用戶確認要刪除記錄 if messagebox.show(確認要刪除此記錄嗎?, confirm, messageboxbuttons.yesno) = dialogresult.yes then 從憑證表中刪除當(dāng)前被選中記錄() cleartextbox() dtdetail.rows.removeat(irow) else exit sub end if catch ex as exception messagebox.show(刪除數(shù)據(jù)出錯!) end try updatemoney() cleartextbo
40、x() end sub5.1.3 賬簿模塊算法設(shè)計和代碼實現(xiàn)該模塊的算法根據(jù)賬簿模塊的模塊定義來設(shè)計??偡诸愘~查詢函數(shù):private sub loaddata() dim strfilter as string if me.txbone.text.trim.length = 0 then if me.cbbcheck.checked = true then strfilter = where 本期借方合計0 or 本期貸方合計0 end if else strfilter = where 科目代碼= + me.txbone.text.trim if me.cbbcheck.checked =
41、 true then strfilter += and(本期借方合計0 or 本期貸方合計0) end if end if 清空dataset11 dataset11.clear() sqlconnection1.connectionstring = database.sconn mandtext = select * from 本期匯總帳簿 + strfilter 根據(jù)查詢條件重新填充dataset11 sqldataadapter1.fill(dataset11) dtdata = dataset11.tables(本期匯總帳簿) bmdata = me.bindingcontext(da
42、taset11, 本期匯總帳簿) lblcount.text = 記錄數(shù): + dtdata.rows.count.tostring() end sub試算平衡函數(shù):private sub mnpingheng_click(byval sender as system.object, byval e as system.eventargs) handles mnpingheng.click if getinstancestate(frmpingheng) then exit sub end if dim childfrm as frmpingheng = new frmpingheng chi
43、ldfrm.mdiparent = me childfrm.show() childfrm.calpingheng(1) end sub5.1.4 報表模塊算法設(shè)計和代碼實現(xiàn)該模塊的算法根據(jù)報表模塊的模塊定義來設(shè)計。資產(chǎn)負債函數(shù):private sub mnfuzhai_click(byval sender as system.object, byval e as system.eventargs) handles mnfuzhai.click if getinstancestate(frmreport) then exit sub end if dim message, title, def
44、aultvalue as string dim muvalue as object message = 請輸入統(tǒng)計的會計區(qū)間 title = 輸入 set title. 輸入統(tǒng)計的會計區(qū)間 dim db as database = new database dim strsql as string strsql = select 取值 from 系統(tǒng)參數(shù)表 where 參數(shù)名稱= strsql += 當(dāng)前會計期間 dim dv as dataview = db.runselectsql(strsql) defaultvalue = (cint(dv(0)(0).tostring().trim)
45、 - 1).tostring myvalue = inputbox(message, title, defaultvalue) dim strtemp as string try strtemp = cint(myvalue.tostring.trim) catch ex as exception messagebox.show(請輸入合法的會計區(qū)間!) return end try 計算 db.rundelorinssql(exec sf_計算資產(chǎn)負債表 + strtemp) db.dispose() 顯示 dim childfrm as frmreport = new frmreport(
46、cint(myvalue.tostring.trim) childfrm.mdiparent = me childfrm.show() end sub5.1.5 結(jié)轉(zhuǎn)模塊算法設(shè)計和代碼實現(xiàn)該模塊的算法根據(jù)結(jié)轉(zhuǎn)模塊的模塊定義來設(shè)計。期末結(jié)賬函數(shù):private sub mnqimo_click(byval sender as system.object, byval e as system.eventargs) handles mnqimo.click 期末結(jié)帳 dim dlgresult as dialogresult = messagebox.show(結(jié)帳后將進入下一會計期間,是否結(jié)帳?,
47、 確定, messageboxbuttons.yesno) if dlgresult dialogresult.yes then return end if dim db as database = new database try db.rundelorinssql(begin tran exec sf_期末結(jié)帳) catch ex as exception messagebox.show(期末結(jié)帳失??!) db.rundelorinssql(rollback) return end try db.rundelorinssql(commit) messagebox.show(結(jié)帳成功!) end sub5.2數(shù)據(jù)庫詳細設(shè)計5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度新能源汽車車身廣告使用權(quán)協(xié)議2篇
- 2025年度航空航天聘請航天工程師協(xié)議
- 二零二五版城市更新項目二手房按揭買賣合同
- 2025年油氣管道安全巡檢與維修承包合同4篇
- 2025年度內(nèi)部員工退養(yǎng)協(xié)議書(含退休后就業(yè)指導(dǎo))
- 二零二五年新能源汽車融資租賃全面合作協(xié)議3篇
- 二零二五年度大連出租車客運經(jīng)營權(quán)承包協(xié)議4篇
- 2025年度門面租賃申請書填寫指南及合同解釋3篇
- 二零二五年度醫(yī)療健康信息平臺代理運營協(xié)議4篇
- 不安全行為宣傳教育與培訓(xùn)
- 教育系統(tǒng)后備干部面試題目
- 40篇短文搞定高中英語3500單詞
- 高分子材料完整版課件
- DB37∕T 5118-2018 市政工程資料管理標(biāo)準(zhǔn)
- 大氣紅色商務(wù)展望未來贏戰(zhàn)集團年會PPT模板課件
- T∕CAWA 002-2021 中國疼痛科專業(yè)團體標(biāo)準(zhǔn)
- 住宅工程公共區(qū)域精裝修施工組織設(shè)計(217頁)
- 冷卻塔技術(shù)要求及質(zhì)量標(biāo)準(zhǔn)介紹
- (完整版)項目工程款收款收據(jù)
- 井點降水臺班記錄表
- 奇瑞汽車4S店各類表格模板
評論
0/150
提交評論