已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C# 程 序 設 計財務收支管理系統(tǒng)姓 名楊宗坤學 院信息與電氣工程學院專 業(yè)計算機科學與技術年 級2012學 號20122212694指導教師周樹森2015 年 12月12財務收支管理系統(tǒng)楊宗坤(信息與電氣工程學院,計算機科學與技術,2012級2班,20122212694) 摘 要:當今社會越來越朝著信息化和數字化方向發(fā)展,計算機的應用領域使我們的生活越來越方便和快捷,可以說我們的每個人生活都離不開計算機的幫助了。越來越多的個人應用軟件成為了人們重要的助手,也在潛移默化的改變著我們的生活。財務管理系統(tǒng)是每一個單位管理財務收入和支出的不可缺少的一個管理信息系統(tǒng), 市場上的財務管理軟件大多數都面向企業(yè)并價格昂貴,或是專門偏向于某一特殊領域,免費的財務管理軟件更是少之又少,為了滿足中小企業(yè)及個體經營者的需求,利用C#語言、ASP.NET、Visual Studio和數據庫等開發(fā)軟件和工具,設計開發(fā)了一個具有簡單收支管理、登帳統(tǒng)計和查詢等基本功能的財務管理系統(tǒng),經過測試表明,系統(tǒng)可以較為穩(wěn)定的實現(xiàn)這些基本功能。關鍵詞:財務管理系統(tǒng);ASP.NET ;SQL Server;程序設計;Abstract:Financialmanagementisanimportantworkofthecompany,usingcomputertomanagethecompanyfinancial,notonlycansavetimeandmanpower,morefully,effectivelygraspthebasicsituationofcorporatefinance,timelyaccesstothelatestaccuratedataandinformation.Thissystemisfortheusertoprovidepowerfuldatamanipulationfunctions,friendlyinterface,simpleandconvenienttouse,basedon(client/server)mode,Thedesignisreasonable,functionrelativelycomplete,thetestrunstability,canmeettheneedofthework。Keywords: C # .net, Financialmanagementsystem,SQL Server。1 引言 信息化的飛速發(fā)展,促使電腦和網絡已經日益影響到了人們的日常和工作過程中,給我們帶來了很大的方便,也使人們對電腦依賴性越來越強。各種各樣的應用軟件系統(tǒng)成為了人民的重要助手和有效工具,明顯改變著人民的生活。隨著網絡的普及,通過手寫的方式在紙張上記錄一些收支的做法已經逐漸被淘汰,已逐漸被在電腦上記錄自己的收支情況的做法所取代。通過Visual Studio2010 工具的使用 和面向對象C#語言等知識,對財務管理系統(tǒng)的設計慢慢了解,深入學習,從而達到熟練掌握.NET基本結構以及C#語言的基本知識和技能;基本掌握面向對象程序開發(fā)的基本思路和方法;根據課題的要求,給出解決問題的方案,通過分析問題、分解問題來解決問題,最終達到熟練掌握C#語言的運用和Visual Studio2010工具的使用。2 系統(tǒng)分析2.1 系統(tǒng)需求財務收支管理工作隨著我國市場經濟的發(fā)展,在各個企業(yè)的管理中扮演著越來越重要的角色,漸漸起到不可替代的核心作用。對于大型企業(yè)集團來說,財務管理顯得更為重要,財務管理系統(tǒng)的建立將直接受到企業(yè)集團管理方式的影響,并直接影響企業(yè)的管理效率與經濟效益。如何在現(xiàn)有經營環(huán)境下選擇最佳的財務管理模式,使用最優(yōu)的財務管理系統(tǒng),實現(xiàn)企業(yè)的管理目標,適應企業(yè)信息化發(fā)展的需要,是一個值得研究和探討的問題。Microsoft公司的 C# 是Windows應用程序開發(fā)工具,是目前廣泛的、易學易用的面向對象的開發(fā)工具。Visual 2010提供了大量的控件,并且這些控件可用于設計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應用程序的運行效率和可靠性。因此實現(xiàn)本系統(tǒng)Visual 2010是一個相對較好的選擇。關系型數據庫的實現(xiàn):SQL Server 2008就是關系數據庫開發(fā)工具,數據庫能匯集各種信息以供查詢、存儲和檢索。SQL Server 2008 的優(yōu)點在于它能使用數據表示圖或自定義窗體收集信息,并能對相關系的表進行視圖連接,建立視圖后可屏蔽一些數據使數據更為安全,并可以建立存儲過程以便能夠簡化前臺程序的編寫。數據表示可以使數據庫一目了然。另外,SQL Server 2008用戶設定自已的密碼保護數據的安全性。SQL Server 2008提供對各種數據的約束,使用戶輸入的數據符合正規(guī)的邏輯,并提供各種數據與數據之間的相關性連接,能夠級聯(lián)更新一些相關的數據,更特別的是提供了觸發(fā)器功能。SQL Server 2008是一種關系數據庫工具,關系數據庫是已開發(fā)的最通用的大型數據庫之一,運行在服務企上更加安全。如上所述,SQL Server 2008作為關系數據庫開發(fā)具備了許多優(yōu)點。(2)技術可行性隨著國內軟件開發(fā)的日益發(fā)展壯大,各種中小企事業(yè)單位已具備獨立開發(fā)各種類型的軟件的能力,能夠滿足不同行業(yè)的特別的需求。而這個系統(tǒng)盡管其在組織關系上存在著很大的復雜性,繁瑣性,但是就整個系統(tǒng)的技術構成上來看,它還是屬于一個數據庫應用類的系統(tǒng)。其基本操作還是對存在數據庫進行添加、刪除、查詢、修改等。所以就單純的數據庫應用來看,暫不存在太大的技術問題。(3)經濟可行性對于整個系統(tǒng)而言,在系統(tǒng)未運行之前,初期投資比較大,花費相對而言比較多。各部門必須配置電腦、服務器、打印機、傳真機及相關的網絡設備,但是在整個系統(tǒng)投入運行之后,因為現(xiàn)在計算機已經普及了,相關的人員培訓費可以減少很多。而同時又減少了數據的流通環(huán)節(jié),不必要花費那么多的時間,也就是說最重要的是就是提高了效率,而又保證了各項數據的準確性,也避免了工作人員的流動造成的收據丟失等問題,適應了當前的發(fā)展形式。(4)管理可行性隨著時代的發(fā)展,人員素質己逐步提高,不論是對于電腦系統(tǒng)的基本操作還是對于系統(tǒng)的維護都有了一定的基礎。同時還可以配置專業(yè)的電腦維護人員來維護電腦,不必擔心電腦故障問題。2.2 用戶需求企業(yè)管理模式的選擇應當是在對整體發(fā)展戰(zhàn)略、經營情況、企業(yè)類型和子公司進行系統(tǒng)分析的基礎上進行的,同時企業(yè)應充分根據自身發(fā)展的需要設計財務管理模式。設計時必須應當遵循以下原則: 1.安全性 安全性分為系統(tǒng)內部安全、訪問安全及與其他系統(tǒng)對接時的安全性。內部安全體現(xiàn)在系統(tǒng)數據庫的安全以及非法數據屏蔽等,可通過防火墻、劃分網段來防范非法程序對數據庫的破壞,對數據庫做計劃,進行備份,對錄入數據進行核查,對不滿足條件的內容提示修改,對非法數據進行屏蔽。訪問安全體現(xiàn)在對各個部門、各個用戶按管理人員的安全策略進行分組管理、控制各組的訪問權限以及信息的流向。與其他系統(tǒng)連接時,既要保證內部數據的安全,隔離內外部的信息通道,又要對外部信息資源進行訪問控制。為保證整個系統(tǒng)的正常運行,必然要保證系統(tǒng)信息的絕對安全和可靠。 2.實用性 財務信息管理系統(tǒng)是一個工程項目,而不是研究或實驗課題。系統(tǒng)建設的最終目的是服務于財務管理的需要,服務于企業(yè)在許可范圍內對財務信息的需求。系統(tǒng)的建設應為應用服務。因此,系統(tǒng)的設計和建設應能滿足需求并正確無誤地高效地運行。 3.靈活性 系統(tǒng)應設計任意組合的模糊查詢功能,提供多方面的查詢,以滿足各個時期的報表。對復雜數據結構應實現(xiàn)修改一表的數據即可自動修改相關表中的數據,刪除一表的數據即可自動刪除與之相關的其他表數據,保證數據庫中無冗余數據。 2.3 系統(tǒng)功能 通過用戶需求分析,根據企業(yè)財務工作流程分析,本著模塊劃分的原則,把系統(tǒng)抽象為3個模塊,分別文件系統(tǒng)、用戶管理、財務管理。下面是各模塊的功能:1. 文件系統(tǒng):顯示登錄信息,存儲登陸日志,修改密碼,退出系統(tǒng)。2. 用戶管理:顯示用戶列表,添加和修改用戶,公司部門管理,角色管理,工作性質介紹。3. 財務管理:賬單列表,添加和修改賬單,顯示收支信息以及賬單性質。3 系統(tǒng)設計登 陸3.1 模塊流程圖程序主窗口文件系統(tǒng)用戶管理財務管理登陸日志修改密碼員 工 信 息部 門 管 理賬 單 列 表登 錄信息收 支 明 細賬 單 性 質 模塊流程圖采用結構化程序設計的思想,其有以下優(yōu)點:(1).自頂向下逐步求精的思想與人類求解復雜問題的思維規(guī)律相符,有助于軟件系統(tǒng)的分析與設計。(2).采用先抽象后具體、先宏觀后微觀、先總體后細節(jié)的開發(fā)過程,使得程序的層次結構清楚,可讀性好。(3).單入口、單出口的控制結構,可以保證程序的靜態(tài)結構與其動態(tài)執(zhí)行流程基本相似,程序的可維護性好。(4).良好的模塊化特性支持軟件部件的重用。3.2 模塊功能說明1.登錄窗口:驗證用戶后打開程序管理窗口;2.程序管理主窗口:為父窗體,在此窗體內顯示財務管理及主要功能模塊;3.程序管理子窗口:主窗口各模塊下的子功能窗體;4.登陸信息修改窗口:對用戶信息進行修改。4 系統(tǒng)模塊4.1 登陸設計模塊圖1 登陸界面本界面是用戶登錄系統(tǒng)的界面,當用戶提交登錄信息,對用戶進行身份及權限判斷,再轉入不同的頁面。當用戶名或密碼、權限輸入錯誤,會提示錯誤。輸入用戶名或密碼錯誤后會顯示如下界面:圖2 登陸界面4.2 主界面模塊窗口設計圖3主窗口該窗口為父窗體,可以在此窗口內顯示財務管理系統(tǒng)三個主要模塊信息.用戶在登陸界面按了輸入正確賬號密碼的登陸按鈕就可以轉到此界面。4.3 登錄信息窗口 圖4登錄信息窗口 該窗口為用戶登陸信息顯示窗口,能顯示用戶登陸的時間,員工賬號,上次登陸時間等信息。4.4 用戶管理窗口圖5用戶列表窗口該窗口顯示員工信息,部們編號,職位等信息。圖6修改員工信息窗口該窗口可以修改員工用戶各種信息。圖7員工性質查詢窗口 該窗口可以查詢員工的性質名稱,類別以及顯示工作性質列表。圖8收支列表窗口該窗口顯示公司以及各員工收支明細,包括收支人,時間地點,以及增刪查改等操作。能夠清楚的顯示該公司的收支情況。圖9財務性質管理窗口該窗口可以對公司財務收支性質信息進行管理。4.4 修改用戶密碼窗口圖10密碼修改窗口該窗口可以修改用戶密碼。5 核心代碼描述5.1 c#連接數據庫的方式:(1)配置文件鏈接。利用VS.NET開發(fā)平臺進行開發(fā)的時候將會經常遇到要和數據庫打交道,存取數據。這就涉及到和數據庫的連接問題,.NET開發(fā)平臺為我們提供了一種簡單的方式來定義和數據庫連接的字符串。這就是在Web.Config文件中添加連接字符串。(2)代碼連接。#是一個語言,ASP.NET是一個平臺,上面支持用C#或者VB.NET寫代碼。連接Access,SQL Server,Oracle,還有Excel數據庫。本程序采用第一種連接方式,下面是主要源代碼: 其中,name 的值ctionStrings代表字符串的名稱,Data Source代表數據庫的實例名,User ID和Password分別代表用戶名和密碼。如果有多個數據庫的連接,還可以在標簽之下添加多個節(jié)。這樣只需在配置文件中定義一次就可以在之后的數據庫存取中多次重復利用這個設置。5.2 登陸界面主要代碼namespace WinForm public partial class FrmLogin : Form MySystem.DAL.Employee dal = new MySystem.DAL.Employee(); MySystem.Model.Employee model = new MySystem.Model.Employee(); MySystem.DAL.EmployeeLoginLog dallog = new MySystem.DAL.EmployeeLoginLog(); MySystem.Model.EmployeeLoginLog modellog = new MySystem.Model.EmployeeLoginLog(); public FrmLogin() InitializeComponent(); private void FrmLogin_Load(object sender, EventArgs e) private void btn_OK_Click(object sender, EventArgs e) public static int ExecuteNonQuery(string sqlstr, params SqlParameter parameters) using (SqlConnection conn = new SqlConnection(connStr) using (SqlCommand cmd = new SqlCommand(sqlstr, conn) try conn.Open(); if (parameters != null) foreach (SqlParameter para in parameters) cmd.Parameters.Add(para); int rows = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return rows; catch (System.Data.SqlClient.SqlException e) throw e; 在編程中經常需要給程序制作一個登陸界面,在用戶打開程序后首先彈出登陸窗口,如果輸入正確的用戶名和密碼,才能登陸成功進入正式的程序界面。5.3修改用戶賬號密碼namespace WinForm public partial class FrmUpdatePassword : Form MySystem.DAL.Employee dal = new MySystem.DAL.Employee(); MySystem.Model.Employee model = new MySystem.Model.Employee(); public int Eid = 0; public FrmUpdatePassword() InitializeComponent(); private void FrmUpdatePassword_Load(object sender, EventArgs e) BindDataList(); private void BindDataList() model = dal.GetModel(Eid); if (model = null) btn_OK.Enabled = false; MessageBox.Show(沒有此員工信息, 錯誤, MessageBoxButtons.OK, MessageBoxIcon.Error); public bool CheckParams() if (string.IsNullOrEmpty(txt_Password.Text.Trim() MessageBox.Show(請輸入原密碼); return true; if (string.IsNullOrEmpty(txt_NewPassword.Text.Trim() MessageBox.Show(請輸密碼); return true; if (string.IsNullOrEmpty(txt_NewPassword2.Text.Trim() MessageBox.Show(請確認新碼?); return true; if (!txt_NewPassword.Text.Trim().Equals(txt_NewPassword2.Text.Trim() MessageBox.Show(兩次輸入新密碼” return true; return false; #endregion private void btn_OK_Click(object sender, EventArgs e) bool b = CheckParams(); if (b) return; if (!string.Equals(txt_Password.Text.Trim(), model.LoginPassword.Trim(), StringComparison.Ordinal) MessageBox.Show(原密碼輸入錯誤); return; model.LoginPassword = txt_NewPassword.Text.Trim(); int rows = dal.Update(model); if (rows 0) BindDataList(); MessageBox.Show(成功); else MessageBox.Show(失敗); private void btn_Cancel_Click(object sender, EventArgs e) this.Hide(); 5.3 c#的三層架構 using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; assembly: AssemblyTitle(MySystem.DAL) assembly: AssemblyDescription() assembly: AssemblyConfiguration() assembly: AssemblyCompany(super8) assembly: AssemblyProduct(MySystem.DAL) assembly: AssemblyCopyright(Copyright super8 2015) assembly: AssemblyTrademark() assembly: AssemblyCulture() assembly: ComVisible(false) assembly: Guid(e0d8d0ee-bd5b-4811-8268-30c6e0397bd4) assembly: AssemblyVersion() assembly: AssemblyFileVersion() DAL Data Access Layer 數據訪問層,這個層應該是負責程序與數據中心(除了數據庫,還有存儲數據的文件等)的交互,也就是將數據的增刪改查的操作封裝起來供其它層直接使用,這樣一來,做此層的開發(fā)人員只需要關心數據,而不用關心業(yè)務邏輯; BLL Business Logic Layer 業(yè)務邏輯層,這個層是負責程序的業(yè)務邏輯,也就是對程序具體功能模塊和程序執(zhí)行流程的實現(xiàn)。此層的開發(fā)人員只需要關心程序的業(yè)務邏輯,而不需要關心數據是哪里來的,是怎么取得的等問題; 而DbHelp,這個也應該是包含在DAL里面的(注意是包含,而不是說DbHelp就是DAL),DbHelp一般是一個類,此類一般會提供數據庫訪問的通過屬性和方法。 簡單的說,DAL需要做的是從數據源取數據和向數據源存數據,并將這些按需要分成不同的方法提供給其它層(如BLL);BLL需要做的是將程序的功能實現(xiàn),需要數據的時候調用DAL提供的取數據方法,保存數據的時候調用 DAL 的存數據方法。代碼中DAL主要是對數據庫中的內容的操作,在這里就是向數據庫中添加用戶。BLL則主要是調用DAL層的操作,返回DAL層添加用戶的結果(true或者false)。這樣也就是在客戶端與數據庫中加了一個中間層,使得兩層的依賴性減小。UI層則主要完成響應用戶的需求,去調用BLL層實現(xiàn)的adduser方法,DAL層就是實實在在做這件事情的操作。6 總結在設計這個課題的過程中,面對著極其錯綜復雜的問題,人的主觀認識不可能完全符合客觀現(xiàn)實,在本次設計過程中,我采用循環(huán)測試法,力求在每個階段結束之前通過嚴格技術審查,即每完成一個功能,就進行測試,盡可能早的發(fā)現(xiàn)并糾正差錯,完成模塊測試之后再進行系統(tǒng)測試。在這次設計中遇到了很多實際性的問題,在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年大學英語四級寫作翻譯題庫
- 2026年生物醫(yī)學工程醫(yī)療器械原理與技術題庫
- 2026年世界經濟地理大賽應考專項選擇題
- 2026年市場營銷策略與案例分析題目庫
- 2026年區(qū)塊鏈與物聯(lián)網結合數據安全與隱私保護模擬題
- 2026年英語四六級模擬試題詞匯與語法專項練習
- 2026年電子商務運營策略與市場分析模擬題
- 2026年化學實驗有機化學基礎反應原理與操作模擬題
- 2026年國際合作項目下的教學管理技能測試題
- 2026年司法考試客觀題集及解析
- 【火力發(fā)電廠短路電流計算過程案例1300字】
- T/CATEA 007-2023甘蔗脫毒健康種苗田間繁育技術規(guī)程
- 旅游行業(yè)股權合作方案設計范文
- 棋牌室轉讓合同協(xié)議書
- 抖音公會考試試題及答案
- 部門建設標準化管理
- 吊車租賃合同范本
- 財務年終總結概覽
- 合伙投資煙酒店協(xié)議書范本
- 護理團體標準解讀-成人氧氣吸入療法護理
- DL-T 5861-2023 電化學儲能電站初步設計內容深度規(guī)定
評論
0/150
提交評論