財務管理系統(tǒng)_第1頁
財務管理系統(tǒng)_第2頁
財務管理系統(tǒng)_第3頁
財務管理系統(tǒng)_第4頁
財務管理系統(tǒng)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C# 程 序 設 計財務收支管理系統(tǒng)姓 名楊宗坤學 院信息與電氣工程學院專 業(yè)計算機科學與技術年 級2012學 號20122212694指導教師周樹森2015 年 12月12財務收支管理系統(tǒng)楊宗坤(信息與電氣工程學院,計算機科學與技術,2012級2班,20122212694) 摘 要:當今社會越來越朝著信息化和數(shù)字化方向發(fā)展,計算機的應用領域使我們的生活越來越方便和快捷,可以說我們的每個人生活都離不開計算機的幫助了。越來越多的個人應用軟件成為了人們重要的助手,也在潛移默化的改變著我們的生活。財務管理系統(tǒng)是每一個單位管理財務收入和支出的不可缺少的一個管理信息系統(tǒng), 市場上的財務管理軟件大多數(shù)都面

2、向企業(yè)并價格昂貴,或是專門偏向于某一特殊領域,免費的財務管理軟件更是少之又少,為了滿足中小企業(yè)及個體經(jīng)營者的需求,利用C#語言、ASP.NET、Visual Studio和數(shù)據(jù)庫等開發(fā)軟件和工具,設計開發(fā)了一個具有簡單收支管理、登帳統(tǒng)計和查詢等基本功能的財務管理系統(tǒng),經(jīng)過測試表明,系統(tǒng)可以較為穩(wěn)定的實現(xiàn)這些基本功能。關鍵詞:財務管理系統(tǒng);ASP.NET ;SQL Server;程序設計;Abstract:Financialmanagementisanimportantworkofthecompany,usingcomputertomanagethecompanyfinancial,notonl

3、ycansavetimeandmanpower,morefully,effectivelygraspthebasicsituationofcorporatefinance,timelyaccesstothelatestaccuratedataandinformation.Thissystemisfortheusertoprovidepowerfuldatamanipulationfunctions,friendlyinterface,simpleandconvenienttouse,basedon(client/server)mode,Thedesignisreasonable,functio

4、nrelativelycomplete,thetestrunstability,canmeettheneedofthework。Keywords: C # .net, Financialmanagementsystem,SQL Server。1 引言 信息化的飛速發(fā)展,促使電腦和網(wǎng)絡已經(jīng)日益影響到了人們的日常和工作過程中,給我們帶來了很大的方便,也使人們對電腦依賴性越來越強。各種各樣的應用軟件系統(tǒng)成為了人民的重要助手和有效工具,明顯改變著人民的生活。隨著網(wǎng)絡的普及,通過手寫的方式在紙張上記錄一些收支的做法已經(jīng)逐漸被淘汰,已逐漸被在電腦上記錄自己的收支情況的做法所取代。通過Visual Stud

5、io2010 工具的使用 和面向?qū)ο驝#語言等知識,對財務管理系統(tǒng)的設計慢慢了解,深入學習,從而達到熟練掌握.NET基本結構以及C#語言的基本知識和技能;基本掌握面向?qū)ο蟪绦蜷_發(fā)的基本思路和方法;根據(jù)課題的要求,給出解決問題的方案,通過分析問題、分解問題來解決問題,最終達到熟練掌握C#語言的運用和Visual Studio2010工具的使用。2 系統(tǒng)分析2.1 系統(tǒng)需求財務收支管理工作隨著我國市場經(jīng)濟的發(fā)展,在各個企業(yè)的管理中扮演著越來越重要的角色,漸漸起到不可替代的核心作用。對于大型企業(yè)集團來說,財務管理顯得更為重要,財務管理系統(tǒng)的建立將直接受到企業(yè)集團管理方式的影響,并直接影響企業(yè)的管理效

6、率與經(jīng)濟效益。如何在現(xiàn)有經(jīng)營環(huán)境下選擇最佳的財務管理模式,使用最優(yōu)的財務管理系統(tǒng),實現(xiàn)企業(yè)的管理目標,適應企業(yè)信息化發(fā)展的需要,是一個值得研究和探討的問題。Microsoft公司的 C# 是Windows應用程序開發(fā)工具,是目前廣泛的、易學易用的面向?qū)ο蟮拈_發(fā)工具。Visual 2010提供了大量的控件,并且這些控件可用于設計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設計過程,從而有效的提高了應用程序的運行效率和可靠性。因此實現(xiàn)本系統(tǒng)Visual 2010是一個相對較好的選擇。關系型數(shù)據(jù)庫的實現(xiàn):SQL Server 2008就是關系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、

7、存儲和檢索。SQL Server 2008 的優(yōu)點在于它能使用數(shù)據(jù)表示圖或自定義窗體收集信息,并能對相關系的表進行視圖連接,建立視圖后可屏蔽一些數(shù)據(jù)使數(shù)據(jù)更為安全,并可以建立存儲過程以便能夠簡化前臺程序的編寫。數(shù)據(jù)表示可以使數(shù)據(jù)庫一目了然。另外,SQL Server 2008用戶設定自已的密碼保護數(shù)據(jù)的安全性。SQL Server 2008提供對各種數(shù)據(jù)的約束,使用戶輸入的數(shù)據(jù)符合正規(guī)的邏輯,并提供各種數(shù)據(jù)與數(shù)據(jù)之間的相關性連接,能夠級聯(lián)更新一些相關的數(shù)據(jù),更特別的是提供了觸發(fā)器功能。SQL Server 2008是一種關系數(shù)據(jù)庫工具,關系數(shù)據(jù)庫是已開發(fā)的最通用的大型數(shù)據(jù)庫之一,運行在服務企上

8、更加安全。如上所述,SQL Server 2008作為關系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點。(2)技術可行性隨著國內(nèi)軟件開發(fā)的日益發(fā)展壯大,各種中小企事業(yè)單位已具備獨立開發(fā)各種類型的軟件的能力,能夠滿足不同行業(yè)的特別的需求。而這個系統(tǒng)盡管其在組織關系上存在著很大的復雜性,繁瑣性,但是就整個系統(tǒng)的技術構成上來看,它還是屬于一個數(shù)據(jù)庫應用類的系統(tǒng)。其基本操作還是對存在數(shù)據(jù)庫進行添加、刪除、查詢、修改等。所以就單純的數(shù)據(jù)庫應用來看,暫不存在太大的技術問題。(3)經(jīng)濟可行性對于整個系統(tǒng)而言,在系統(tǒng)未運行之前,初期投資比較大,花費相對而言比較多。各部門必須配置電腦、服務器、打印機、傳真機及相關的網(wǎng)絡設備,但是在

9、整個系統(tǒng)投入運行之后,因為現(xiàn)在計算機已經(jīng)普及了,相關的人員培訓費可以減少很多。而同時又減少了數(shù)據(jù)的流通環(huán)節(jié),不必要花費那么多的時間,也就是說最重要的是就是提高了效率,而又保證了各項數(shù)據(jù)的準確性,也避免了工作人員的流動造成的收據(jù)丟失等問題,適應了當前的發(fā)展形式。(4)管理可行性隨著時代的發(fā)展,人員素質(zhì)己逐步提高,不論是對于電腦系統(tǒng)的基本操作還是對于系統(tǒng)的維護都有了一定的基礎。同時還可以配置專業(yè)的電腦維護人員來維護電腦,不必擔心電腦故障問題。2.2 用戶需求企業(yè)管理模式的選擇應當是在對整體發(fā)展戰(zhàn)略、經(jīng)營情況、企業(yè)類型和子公司進行系統(tǒng)分析的基礎上進行的,同時企業(yè)應充分根據(jù)自身發(fā)展的需要設計財務管理模

10、式。設計時必須應當遵循以下原則: 1.安全性 安全性分為系統(tǒng)內(nèi)部安全、訪問安全及與其他系統(tǒng)對接時的安全性。內(nèi)部安全體現(xiàn)在系統(tǒng)數(shù)據(jù)庫的安全以及非法數(shù)據(jù)屏蔽等,可通過防火墻、劃分網(wǎng)段來防范非法程序?qū)?shù)據(jù)庫的破壞,對數(shù)據(jù)庫做計劃,進行備份,對錄入數(shù)據(jù)進行核查,對不滿足條件的內(nèi)容提示修改,對非法數(shù)據(jù)進行屏蔽。訪問安全體現(xiàn)在對各個部門、各個用戶按管理人員的安全策略進行分組管理、控制各組的訪問權限以及信息的流向。與其他系統(tǒng)連接時,既要保證內(nèi)部數(shù)據(jù)的安全,隔離內(nèi)外部的信息通道,又要對外部信息資源進行訪問控制。為保證整個系統(tǒng)的正常運行,必然要保證系統(tǒng)信息的絕對安全和可靠。 2.實用性 財務信息管理系統(tǒng)是一個工

11、程項目,而不是研究或?qū)嶒炚n題。系統(tǒng)建設的最終目的是服務于財務管理的需要,服務于企業(yè)在許可范圍內(nèi)對財務信息的需求。系統(tǒng)的建設應為應用服務。因此,系統(tǒng)的設計和建設應能滿足需求并正確無誤地高效地運行。 3.靈活性 系統(tǒng)應設計任意組合的模糊查詢功能,提供多方面的查詢,以滿足各個時期的報表。對復雜數(shù)據(jù)結構應實現(xiàn)修改一表的數(shù)據(jù)即可自動修改相關表中的數(shù)據(jù),刪除一表的數(shù)據(jù)即可自動刪除與之相關的其他表數(shù)據(jù),保證數(shù)據(jù)庫中無冗余數(shù)據(jù)。 2.3 系統(tǒng)功能 通過用戶需求分析,根據(jù)企業(yè)財務工作流程分析,本著模塊劃分的原則,把系統(tǒng)抽象為3個模塊,分別文件系統(tǒng)、用戶管理、財務管理。下面是各模塊的功能:1. 文件系統(tǒng):顯示登錄

12、信息,存儲登陸日志,修改密碼,退出系統(tǒng)。2. 用戶管理:顯示用戶列表,添加和修改用戶,公司部門管理,角色管理,工作性質(zhì)介紹。3. 財務管理:賬單列表,添加和修改賬單,顯示收支信息以及賬單性質(zhì)。3 系統(tǒng)設計登 陸3.1 模塊流程圖程序主窗口文件系統(tǒng)用戶管理財務管理登陸日志修改密碼員 工 信 息部 門 管 理賬 單 列 表登 錄信息收 支 明 細賬 單 性 質(zhì) 模塊流程圖采用結構化程序設計的思想,其有以下優(yōu)點:(1).自頂向下逐步求精的思想與人類求解復雜問題的思維規(guī)律相符,有助于軟件系統(tǒng)的分析與設計。(2).采用先抽象后具體、先宏觀后微觀、先總體后細節(jié)的開發(fā)過程,使得程序的層次結構清楚,可讀性好。

13、(3).單入口、單出口的控制結構,可以保證程序的靜態(tài)結構與其動態(tài)執(zhí)行流程基本相似,程序的可維護性好。(4).良好的模塊化特性支持軟件部件的重用。3.2 模塊功能說明1.登錄窗口:驗證用戶后打開程序管理窗口;2.程序管理主窗口:為父窗體,在此窗體內(nèi)顯示財務管理及主要功能模塊;3.程序管理子窗口:主窗口各模塊下的子功能窗體;4.登陸信息修改窗口:對用戶信息進行修改。4 系統(tǒng)模塊4.1 登陸設計模塊圖1 登陸界面本界面是用戶登錄系統(tǒng)的界面,當用戶提交登錄信息,對用戶進行身份及權限判斷,再轉(zhuǎn)入不同的頁面。當用戶名或密碼、權限輸入錯誤,會提示錯誤。輸入用戶名或密碼錯誤后會顯示如下界面:圖2 登陸界面4.

14、2 主界面模塊窗口設計圖3主窗口該窗口為父窗體,可以在此窗口內(nèi)顯示財務管理系統(tǒng)三個主要模塊信息.用戶在登陸界面按了輸入正確賬號密碼的登陸按鈕就可以轉(zhuǎn)到此界面。4.3 登錄信息窗口 圖4登錄信息窗口 該窗口為用戶登陸信息顯示窗口,能顯示用戶登陸的時間,員工賬號,上次登陸時間等信息。4.4 用戶管理窗口圖5用戶列表窗口該窗口顯示員工信息,部們編號,職位等信息。圖6修改員工信息窗口該窗口可以修改員工用戶各種信息。圖7員工性質(zhì)查詢窗口 該窗口可以查詢員工的性質(zhì)名稱,類別以及顯示工作性質(zhì)列表。圖8收支列表窗口該窗口顯示公司以及各員工收支明細,包括收支人,時間地點,以及增刪查改等操作。能夠清楚的顯示該公司

15、的收支情況。圖9財務性質(zhì)管理窗口該窗口可以對公司財務收支性質(zhì)信息進行管理。4.4 修改用戶密碼窗口圖10密碼修改窗口該窗口可以修改用戶密碼。5 核心代碼描述5.1 c#連接數(shù)據(jù)庫的方式:(1)配置文件鏈接。利用VS.NET開發(fā)平臺進行開發(fā)的時候?qū)?jīng)常遇到要和數(shù)據(jù)庫打交道,存取數(shù)據(jù)。這就涉及到和數(shù)據(jù)庫的連接問題,.NET開發(fā)平臺為我們提供了一種簡單的方式來定義和數(shù)據(jù)庫連接的字符串。這就是在Web.Config文件中添加連接字符串。(2)代碼連接。#是一個語言,ASP.NET是一個平臺,上面支持用C#或者VB.NET寫代碼。連接Access,SQL Server,Oracle,還有Excel數(shù)據(jù)

16、庫。本程序采用第一種連接方式,下面是主要源代碼: 其中,name 的值ctionStrings代表字符串的名稱,Data Source代表數(shù)據(jù)庫的實例名,User ID和Password分別代表用戶名和密碼。如果有多個數(shù)據(jù)庫的連接,還可以在標簽之下添加多個節(jié)。這樣只需在配置文件中定義一次就可以在之后的數(shù)據(jù)庫存取中多次重復利用這個設置。5.2 登陸界面主要代碼namespace WinForm public partial class FrmLogin : Form MySystem.DAL.Employee dal = new MySystem.DAL.Employee(); MySystem

17、.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, Even

18、tArgs 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

19、 (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; 在編程中經(jīng)常需要給程序制作一個登陸界面,在用戶打開程序后首先彈出登陸窗口,如果輸入正確的用戶名和密碼,才能登陸成功進入正式的程序界面。5.3修改用戶賬號密碼namespace WinForm public partial cla

20、ss 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(); pr

21、ivate 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.IsNull

22、OrEmpty(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 priv

23、ate 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

24、); 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)

25、 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(e0d8d0e

26、e-bd5b-4811-8268-30c6e0397bd4) assembly: AssemblyVersion() assembly: Assembly() DAL Data Access Layer 數(shù)據(jù)訪問層,這個層應該是負責程序與數(shù)據(jù)中心(除了數(shù)據(jù)庫,還有存儲數(shù)據(jù)的文件等)的交互,也就是將數(shù)據(jù)的增刪改查的操作封裝起來供其它層直接使用,這樣一來,做此層的開發(fā)人員只需要關心數(shù)據(jù),而不用關心業(yè)務邏輯; BLL Business Logic Layer 業(yè)務邏輯層,這個層是負責程序的業(yè)務邏輯,也就是對程序具體功能模塊和程序執(zhí)行流程的實現(xiàn)。此層的開發(fā)人員只需要關心程序

27、的業(yè)務邏輯,而不需要關心數(shù)據(jù)是哪里來的,是怎么取得的等問題; 而DbHelp,這個也應該是包含在DAL里面的(注意是包含,而不是說DbHelp就是DAL),DbHelp一般是一個類,此類一般會提供數(shù)據(jù)庫訪問的通過屬性和方法。 簡單的說,DAL需要做的是從數(shù)據(jù)源取數(shù)據(jù)和向數(shù)據(jù)源存數(shù)據(jù),并將這些按需要分成不同的方法提供給其它層(如BLL);BLL需要做的是將程序的功能實現(xiàn),需要數(shù)據(jù)的時候調(diào)用DAL提供的取數(shù)據(jù)方法,保存數(shù)據(jù)的時候調(diào)用 DAL 的存數(shù)據(jù)方法。代碼中DAL主要是對數(shù)據(jù)庫中的內(nèi)容的操作,在這里就是向數(shù)據(jù)庫中添加用戶。BLL則主要是調(diào)用DAL層的操作,返回DAL層添加用戶的結果(true或者false)。這樣也就是在客戶端與數(shù)據(jù)庫中加了一個中間層,使得兩層的依賴性減小。UI層則主要完成響應用戶的需求,去調(diào)用BLL層實現(xiàn)的adduser方法,DAL層就是實實在在做這件事情的操作。6 總結在設計這個課題的過程中,面對著極其錯綜復雜的問題,人的主觀認識不可能完全符合客觀現(xiàn)實,在本次設計過程中,我采用循環(huán)測試法,力求在每個階段結束之前通過嚴格技術審查,即每完成一個功能,就進行測試,盡可能早的發(fā)現(xiàn)并糾正差錯,完成模塊測試之后再進行系統(tǒng)測試。在這次設計中遇到了很多實際性的問題,在實際設計中才發(fā)現(xiàn),書本上理論

溫馨提示

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

評論

0/150

提交評論