【正文】
tion management and cashier transaction processing module, etc. In the end, it discusses the system’s program implementation and testing.This budget information management system software uses Java and Microsoft SQL Server 2008 to realize, The paper also discusses main modules’ programming, coding and testing.Key words: Engineering Budget。該預(yù)算信息管理系統(tǒng)的軟件采用Java編程語言及和微軟公司的通用關(guān)系數(shù)據(jù)庫SQL Server 2008實(shí)現(xiàn),本章論述了主要模塊的程序組成、代行程序段的代碼和測(cè)試情況。該系統(tǒng)的主要功能包括總賬管理功能,具體包括總賬初始化、制單、往來處理、結(jié)轉(zhuǎn)、賬簿查詢等功能;預(yù)算管理功能,具體包括預(yù)算初始化、控制項(xiàng)設(shè)置、預(yù)算計(jì)劃分析、預(yù)算控制和統(tǒng)計(jì)查詢等功能;出納事務(wù)管理功能,具體包括現(xiàn)金管理和票據(jù)管理等功能。若有不實(shí)之處,本人愿意承擔(dān)相關(guān)法律責(zé)任。專 業(yè) 學(xué) 位 碩 士 學(xué) 位 論 文 鴻恒公司工程預(yù)算管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) Design and Implementation of Engineering Budget Information Management System for Hongheng Company作 者 姓 名: 沈 剛 工 程 領(lǐng) 域: 軟件工程 學(xué) 號(hào) : 41217181 指 導(dǎo) 教 師: 完 成 日 期: 大連理工大學(xué)Dalian University of Technology大連理工大學(xué)學(xué)位論文獨(dú)創(chuàng)性聲明作者鄭重聲明:所呈交的學(xué)位論文,是本人在導(dǎo)師的指導(dǎo)下進(jìn)行研究工作所取得的成果。學(xué)位論文題目: 作 者 簽 名 : 日期: 年 月 日47 / 54摘 要本文從軟件工程的角度論述鴻恒公司的工程預(yù)算管理系統(tǒng)的開發(fā),針對(duì)公司的工程安裝業(yè)務(wù)的信息化管理需求論述相應(yīng)的軟件設(shè)計(jì)與實(shí)現(xiàn)。接下來在需求分析的基礎(chǔ)上進(jìn)一步討論設(shè)計(jì)方案,根據(jù)修分析的業(yè)務(wù)內(nèi)容和軟件設(shè)計(jì)的原則,將每個(gè)業(yè)務(wù)模塊劃分為一組合理的對(duì)象單元,每個(gè)單元分工處理一類任務(wù)。關(guān)鍵詞:工程預(yù)算。 Expense Control。處于戰(zhàn)略測(cè)年的考慮,鴻恒公司的領(lǐng)導(dǎo)決策層立項(xiàng)開始面向企業(yè)全局經(jīng)營管理的企業(yè)運(yùn)營規(guī)劃和管理信息系統(tǒng),以先進(jìn)的信息化技術(shù)為支撐構(gòu)建高水平的管理平臺(tái),其中特別緊迫的任務(wù)之一,是針對(duì)公司在經(jīng)營專業(yè)方向的轉(zhuǎn)型,實(shí)現(xiàn)一種精細(xì)化的預(yù)算管理和成本控制功能,其中預(yù)算管理是成本控制的基礎(chǔ),成本控制是預(yù)算管理的核心目的,并且在實(shí)現(xiàn)這項(xiàng)功能的同時(shí),能夠充分融匯本公司的內(nèi)在管理特點(diǎn)、經(jīng)營特點(diǎn)和長期的發(fā)展戰(zhàn)略規(guī)劃。成本是工程項(xiàng)目運(yùn)作管理的重要組成部分,指完成一個(gè)工程項(xiàng)目預(yù)期開支或?qū)嶋H開支的全部費(fèi)用。一般說來,工程預(yù)算管理突出的是全過程得工程預(yù)算管理,在建設(shè)程序的決策階段、設(shè)計(jì)階段、交易階段、施工階段、竣工階段等五個(gè)階段合理計(jì)算和確定投資估算價(jià)、設(shè)計(jì)概算價(jià)、施工圖預(yù)算價(jià)、合同價(jià)、竣工結(jié)算價(jià)、竣工決算價(jià)。在工程項(xiàng)目建設(shè)期,即施工合同簽訂后工程施工開始至竣工驗(yàn)收交付使用階段。在項(xiàng)目開發(fā)與建設(shè)過程中投資估算的作用主要包含建議書階段項(xiàng)目投資估算,可行性分析論證階段的項(xiàng)目投資估算,項(xiàng)目投資估算,項(xiàng)目資面向財(cái)務(wù)的資及制定貸款計(jì)劃信息,編制通信工程項(xiàng)目固定資產(chǎn)投資計(jì)劃及核算該項(xiàng)目固定資產(chǎn)投資需求額度[79]。 開發(fā)技術(shù)基礎(chǔ) 基于Java的編程及軟件開發(fā)在大型企業(yè)應(yīng)用方面,Java語言、C語言和C++語言都是被廣泛應(yīng)用的高級(jí)編程語言。與傳統(tǒng)的編程語言相對(duì)比,Java語言的主要特性有以下幾項(xiàng)。作為一種現(xiàn)代編程語言, Java語言在面向?qū)ο筇匦苑矫嬖谠闯绦驅(qū)哟尉哂蓄?、?duì)象和接口元素,支持開發(fā)者實(shí)現(xiàn)面向?qū)ο缶幊棠P?。每個(gè)對(duì)象屬于一個(gè)特定的類。通過這種機(jī)制使面向?qū)ο缶幊棠P涂梢栽趦?nèi)部容納功能豐富的程序?qū)崿F(xiàn)同時(shí)在外部保持語義邏輯上的一致性,是一種重要的編程特性。多線程編程模型具有靈活的多任務(wù)并發(fā)處理能力,提高了程序的吞吐量。其他的高級(jí)算法語言如C++語言本身不具有多線程機(jī)制,而是通過調(diào)用運(yùn)行環(huán)境庫或操作系統(tǒng)的內(nèi)核線程來實(shí)現(xiàn)多線程編程,因此多線程的同步等處理含義隨程序的運(yùn)行環(huán)境而異,編程和移植都較為復(fù)雜,也提高了軟件的維護(hù)成本。中間指令碼所針對(duì)的處理機(jī)模型是一種邏輯模型,通過虛擬機(jī)進(jìn)行定義和描述,虛擬機(jī)在實(shí)際執(zhí)行過程中將中間代碼進(jìn)一步解釋為特定的硬件處理器上的等價(jià)指令,通過這樣一種在線編譯機(jī)制,使Java程序在任何具有相應(yīng)虛擬機(jī)的環(huán)境中都可以運(yùn)行,而且程序的執(zhí)行結(jié)果具有完全相同的語義。此外WebService還提供了一大類可以直接應(yīng)用的組件資源。消息訪問組件JMS,能夠?yàn)榇笮头植际綉?yīng)用系統(tǒng)實(shí)現(xiàn)一種離線和異步模式的信息交換機(jī)制,以及更為高級(jí)的工作流機(jī)制。 基于中間件的軟件技術(shù)架構(gòu) Fig. Middleware based Software Technical Architecture J2EE的技術(shù)架構(gòu)針對(duì)編寫可重用的組件對(duì)象建立起一套技術(shù)規(guī)范,具體包含編寫內(nèi)部屬性和函數(shù)訪問的方法。當(dāng)某個(gè)對(duì)象要訪問另一個(gè)對(duì)象的特定方法時(shí),該對(duì)象所在的基礎(chǔ)環(huán)境調(diào)用RMI檢索該函數(shù)接口所在的位置參數(shù)如主機(jī)網(wǎng)絡(luò)地和端口號(hào),向本地的RMI代理接口提交全部的函數(shù)訪問參數(shù)。本地的接口將輸出數(shù)據(jù)進(jìn)行編碼,然后通過TCP會(huì)話連接返回?cái)?shù)據(jù)到調(diào)用端。為解決Web系統(tǒng)的編程開發(fā),J2EE提供了大量的技術(shù),從軟件架構(gòu)到具體的編程模型都在很充分的基礎(chǔ)上做了擴(kuò)展,主要包括對(duì)XML的支持、JSP和Java Serverlet編程等方面。該程序在形式上基本與Java程序類似,基本運(yùn)行方式是調(diào)用Web服務(wù)器環(huán)境中的其他Java組件和訪問數(shù)據(jù)庫。面向企業(yè)應(yīng)用的信息系統(tǒng)是典型的數(shù)據(jù)密集型應(yīng)用系統(tǒng),目前在面向財(cái)務(wù)的信息處理領(lǐng)域廣泛應(yīng)用組件技術(shù)、在線事務(wù)處理(OLTP)和客戶服務(wù)器及MVC開發(fā)模式?;诮M件技術(shù)所開發(fā)的組件在概念上是一個(gè)專業(yè)分工的功能單元,其內(nèi)部如何實(shí)現(xiàn)并不直接表現(xiàn)給外界,外界和組件之間的數(shù)據(jù)通信通過組件上定義的的功能接口來完成。 J2EE/數(shù)據(jù)庫存取架構(gòu) Fig. J2EE/Database Data Access Architecture 在數(shù)據(jù)庫平臺(tái)的內(nèi)部結(jié)構(gòu)不斷地集成對(duì)新型應(yīng)用的支持功能。以目前越來越重要的商業(yè)智能和決策支持為例,這類系統(tǒng)一方面集成數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)密集型處理能力,同時(shí)在基礎(chǔ)層次擴(kuò)展建模和基于模型的計(jì)算和仿真分析管理能力,通過調(diào)用各種模型的計(jì)算(輸入輸出模型、機(jī)理型模型、統(tǒng)計(jì)模型、符號(hào)推理和演繹計(jì)算模型等)來為決策者提供各種決策方案的預(yù)期結(jié)果,同時(shí)通過對(duì)評(píng)價(jià)指標(biāo)的定量計(jì)算和分析來為結(jié)果進(jìn)行性和排序,為決策提供定量的支持。多媒體數(shù)據(jù)庫,以語音、圖像等信息實(shí)體基于XML結(jié)構(gòu)為基礎(chǔ)進(jìn)行統(tǒng)一的編碼和存取處理操作,應(yīng)用于Web系統(tǒng)、圖形系統(tǒng)、醫(yī)療系統(tǒng)和工業(yè)監(jiān)控等領(lǐng)域。數(shù)據(jù)庫服務(wù)器進(jìn)程采用多線程結(jié)構(gòu),適應(yīng)多處理器平臺(tái)和高指令帶寬處理能力的特點(diǎn)。數(shù)據(jù)輸入輸出管理包括磁盤訪問的寬帶輸入輸出處理機(jī)制和面向網(wǎng)絡(luò)的高效輸入輸出機(jī)制。第二章到第四章針對(duì)系統(tǒng)的軟件開發(fā)進(jìn)行論述。第四章論述該系統(tǒng)的程序?qū)崿F(xiàn)與測(cè)試問題。對(duì)此,該預(yù)算管理系統(tǒng)的開發(fā)突出強(qiáng)調(diào)滿足以下要點(diǎn)。實(shí)現(xiàn)多級(jí)預(yù)算管理,以能夠適應(yīng)不同的單位預(yù)算管理要求,并在預(yù)算中引入預(yù)算模板以實(shí)現(xiàn)對(duì)部門項(xiàng)目預(yù)算的精確、模糊控制,使用戶對(duì)部門預(yù)算的實(shí)現(xiàn)和控制更加靈活。與銀行系統(tǒng)實(shí)現(xiàn)接口以開展無現(xiàn)金支付業(yè)務(wù),減少現(xiàn)金流量。報(bào)表系統(tǒng)提供自定義報(bào)表設(shè)計(jì)、授權(quán)查詢等功能,取數(shù)函數(shù)公式豐富,滿足不同要求的報(bào)表計(jì)算數(shù)據(jù),具有初步的財(cái)務(wù)知識(shí)的戶就能方便、直觀地設(shè)計(jì)出所需要的財(cái)務(wù)報(bào)表。 總賬管理的基礎(chǔ)信息配置、設(shè)置與維護(hù)功能面向系統(tǒng)管理員,主要進(jìn)行以下信息的配置管理: (1)根據(jù)本公司的預(yù)算規(guī)則設(shè)置帳套 (2)根據(jù)分區(qū)規(guī)則設(shè)置預(yù)算獨(dú)立分區(qū) (3)設(shè)置預(yù)算科目 (4)根據(jù)公司的實(shí)體核算規(guī)則設(shè)置預(yù)算部門(邏輯預(yù)算單元) (5)根據(jù)公司的項(xiàng)目核算規(guī)則設(shè)置核算項(xiàng)目(6)設(shè)置預(yù)算財(cái)務(wù)屬性,包括貨幣種類、核算單位的計(jì)量單位(不同核算單位可以不同)、成對(duì)科目(在費(fèi)用憑證中需要成對(duì)出現(xiàn)的科目)、預(yù)算審核策略屬性和預(yù)算數(shù)據(jù)接口數(shù)據(jù)格式等。(4)自動(dòng)沖銷處理,系統(tǒng)根據(jù)指定的內(nèi)部沖銷規(guī)則對(duì)往來數(shù)據(jù)記錄完成匹配沖銷處理。哦用戶選擇借、貸方對(duì)應(yīng)業(yè)務(wù)后確認(rèn)即結(jié)束該對(duì)應(yīng)關(guān)系的沖銷。(3)貸方?jīng)_銷處理該模式的處理方式同上,但其業(yè)務(wù)是基于貸方憑證。初始化管理功能實(shí)現(xiàn)對(duì)科目期初余額在下一周期開始前進(jìn)行調(diào)整,初始化校驗(yàn)處理功能。 (1)設(shè)置預(yù)算選項(xiàng),例如是否啟用余額結(jié)轉(zhuǎn)設(shè)置和主管預(yù)算。需要注意的是,在控制項(xiàng)組里有是否允許預(yù)算撥款的選項(xiàng),選勾的表示該組里的預(yù)算控制項(xiàng)可以進(jìn)行預(yù)算撥款設(shè)置,否則不允許撥款,要根據(jù)控制項(xiàng)所在的科目性質(zhì)進(jìn)行設(shè)置。將項(xiàng)目關(guān)聯(lián)不同的預(yù)算模板,就能達(dá)到科目和預(yù)算所需要控制的效果。模糊控制規(guī)則是指預(yù)算額度控制到控制項(xiàng)組下的所有模糊設(shè)置的控制項(xiàng)所對(duì)應(yīng)的明細(xì)科目。 預(yù)算控制管理 公司用戶在通過該系統(tǒng)進(jìn)行預(yù)算控制的關(guān)鍵途徑是對(duì)撥款進(jìn)行管理,因此該系統(tǒng)的預(yù)算控制功能的內(nèi)部管理任務(wù)實(shí)際上是針對(duì)撥款事務(wù)進(jìn)行控制。兩種撥款方式都會(huì)自動(dòng)對(duì)應(yīng)到項(xiàng)目的所屬經(jīng)費(fèi),系統(tǒng)對(duì)不同類型的經(jīng)費(fèi)從屬關(guān)系保持分明,以從源頭上保證嚴(yán)格按照???、專項(xiàng)和專用的原則。預(yù)算執(zhí)行情況匯總查詢功能則使用戶按當(dāng)年、歷年、跨年度實(shí)現(xiàn)數(shù)據(jù)查詢。該模塊包含的單元功能有四類:出納事務(wù)的基礎(chǔ)信息管理,主要實(shí)現(xiàn)針對(duì)賬戶的處理規(guī)則和參數(shù)設(shè)置功能?! ?在手工沖銷模式中,用戶手工勾兌銀行相關(guān)的已登賬數(shù)據(jù)和銀行對(duì)賬數(shù)據(jù),可以是多對(duì)多的關(guān)系,單位賬務(wù)一方可以紅字、藍(lán)字?jǐn)?shù)據(jù)對(duì)應(yīng)沖銷,保存生成沖銷憑證時(shí)需要校驗(yàn)借貸平衡。軟件工程是開發(fā)軟件系統(tǒng)的一組方法和工具,目的是有效與可靠地構(gòu)建滿足要求的軟件系統(tǒng)。在功能需求方面,復(fù)雜應(yīng)用系統(tǒng)在開發(fā)的初期可能面臨不完整、不準(zhǔn)確的需求特性,而這種不準(zhǔn)確性可能在開發(fā)的后期才充分暴露出來,使系統(tǒng)的修正和更新的成本過高、進(jìn)度嚴(yán)重滯后,影響了軟件的交付。大型應(yīng)用軟件的開發(fā)是一種項(xiàng)目管理過程,其中既有技術(shù)性的因素,也有管理性的因素,多重因素交錯(cuò)作用決定軟件項(xiàng)目的成功或者失敗。軟件編程,目的是對(duì)軟件系統(tǒng)構(gòu)建一種可執(zhí)行的程序,將需求分析的目標(biāo)通過程序的運(yùn)行行為準(zhǔn)確地表現(xiàn)出來,達(dá)到預(yù)期的應(yīng)用目的。這樣一來,如果前一個(gè)階段的成果不充實(shí)、開發(fā)質(zhì)量有缺陷,會(huì)直接影響后續(xù)階段的開發(fā)質(zhì)量。為了改善這些不足,軟件工程研究界建立了快速原型開發(fā)方法。該方法的基礎(chǔ)是面向?qū)ο蟮能浖幊棠P?。按照面向?qū)ο蟮挠^點(diǎn)進(jìn)行軟件開發(fā),任何軟件系統(tǒng)都能夠以對(duì)象為單元進(jìn)行劃分,每個(gè)復(fù)雜的對(duì)象相當(dāng)于一類子系統(tǒng),子系統(tǒng)又可以通過一組對(duì)象組成,因此軟件的開發(fā)在抽象的層次上關(guān)注對(duì)象之間的調(diào)用關(guān)系和接口語義,然后逐步對(duì)每個(gè)層次展開接口內(nèi)部的實(shí)現(xiàn),這樣的結(jié)果是使軟件開發(fā)的復(fù)雜程度在每個(gè)層次上都近似均衡,通過不斷的抽象細(xì)化來達(dá)到最終的目標(biāo)。軟件工程的高度發(fā)展,不僅逐步完善了開發(fā)方法,也創(chuàng)造了有價(jià)值的開發(fā)工具。設(shè)計(jì)工具通過一組模型來描述軟件系統(tǒng)的組織架構(gòu)、單元內(nèi)部結(jié)構(gòu)、對(duì)象之間的接口調(diào)用關(guān)系和對(duì)象之間的協(xié)同關(guān)系。維護(hù)工具,包括程序安裝向?qū)?、升?jí)接口、組件替換和注冊(cè)工具等。軟件質(zhì)量的這種定量研究方法在歐美發(fā)達(dá)國家已經(jīng)取得很大成果。軟件工程從早期的模塊化開發(fā)方法,發(fā)展到以面向?qū)ο蠹夹g(shù)和組件重用技術(shù)為基礎(chǔ)的大規(guī)模的軟件系統(tǒng)開發(fā)方法,積累了大量的實(shí)踐成果和富有成效的概念、理論和方法,是開發(fā)任何應(yīng)用軟件不可缺少的指南。在設(shè)計(jì)和采用的技術(shù)方面,可能對(duì)新技術(shù)的難度與風(fēng)險(xiǎn)估計(jì)不足或者缺少充分驗(yàn)證的手段,影響了軟件達(dá)到預(yù)期的性能指標(biāo)。因此,軟件工程監(jiān)理的不僅是一組技術(shù),也是一組運(yùn)用和組織和諧技術(shù)的管理方法,包括如何評(píng)價(jià)這些技術(shù)的實(shí)際成效、在每個(gè)開發(fā)階段如何評(píng)估項(xiàng)目的進(jìn)度與質(zhì)量狀態(tài)等。軟件測(cè)試,目的是識(shí)別所實(shí)現(xiàn)的軟件程序是否存在不滿足預(yù)期需求的情況、驗(yàn)證該軟件確實(shí)具有需求分析所要求的全部特性。線性模型的另一個(gè)不足是測(cè)試任務(wù)集中在后期開發(fā)階段,這就使得軟件在需求分析、設(shè)計(jì)和編程方面的缺點(diǎn)和錯(cuò)誤要在交完階段才暴露出來,更正的成本很大而且易于延誤開發(fā)進(jìn)度。這一方法在初期階段忽略不重要或?qū)τ脩魞r(jià)值不大的功能,圍繞最重要的功能特性構(gòu)建一個(gè)基本滿足要求的系統(tǒng)原型,目的是接受用戶的評(píng)價(jià),在此基礎(chǔ)上進(jìn)一步改進(jìn)和完善軟件功能,在基本確定最主要的需求特性后,再展開詳細(xì)的設(shè)計(jì)和編程實(shí)現(xiàn)。面向?qū)ο竽P蛯④浖到y(tǒng)作為相互作用的對(duì)象,對(duì)象之間的作用是指一個(gè)對(duì)象通過接口對(duì)另一個(gè)對(duì)象的調(diào)用。面向?qū)ο蠓椒ú粌H軟件分析和設(shè)計(jì)的復(fù)雜性得到有效控制,而且也簡化了軟件維護(hù)的復(fù)雜性。通行的軟件工程的工具圍繞某種語言的編譯器來組織,如C++、Java、Ada等,目的是為了結(jié)合軟件開發(fā)的工具來提供完整的開發(fā)環(huán)境,但是這些開發(fā)環(huán)境的功能已經(jīng)遠(yuǎn)遠(yuǎn)超越了傳統(tǒng)的編譯器,成為軟件工程開發(fā)環(huán)境和平臺(tái),從需求分析到軟件維護(hù),在全生命周期的范圍內(nèi)支持復(fù)雜軟件的開發(fā)。主要模型有的類圖模型、時(shí)序圖模型,狀態(tài)圖模型、協(xié)作圖模型等。此外,主流的開發(fā)環(huán)境還提供高效的源程序版本管理工具,使程序文件自動(dòng)保持版本一致。綜上所述,軟件工