财务管理系统功能概述Word文件下载.docx
《财务管理系统功能概述Word文件下载.docx》由会员分享,可在线阅读,更多相关《财务管理系统功能概述Word文件下载.docx(27页珍藏版)》请在冰点文库上搜索。
完成率不足70%。
课程设计报告
30
格式规范,层次清晰,设计思想明确,解决问题方法合理,体会深刻。
格式较规范,设计思想基本明确,解决问题方法较合理。
答辨问题回答
能准确回答老师提出的问题,并充分理解数据库开发技术,程序逻辑清晰。
能基本准确回答老师提出的问题
总分
指导教师(签字):
注:
介于A和C之间为B级,低于C为D级和E级。
按各项指标打分后,总分90~100为优,80~89为良,70~79为中,60~69为及格,60分以下为不及格。
第1章系统简介
1.1课题背景
凭证是记录账簿的依据,它的完整与否将直接影响到财务的核算结果。
早期的财务凭证是由人工管理的,不仅容易出错,而且不易保存。
随着计算机的不断普及和软件技术的不断发展,加上企业财务管理的迫切需要,财务凭证管理系统应运而生。
随着我国市场经济的快速发展,财务凭证管理系统在企业的日常财务管理中发挥着越来越重要的作用。
这个财务凭证管理系统,不仅实现了基本的凭证管理和会计科目管理等功能,而且可以根据需要按凭证编号和会计科目对查询结果进行打印。
1.2系统开发的意义
本系统属于小型的数据库系统,可以对中小企业财务凭证进行有效的管理。
通过本系统可以达到以下目标:
灵活的录入数据,使信息传递更快捷。
系统采用人机交互方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。
实现后台监控功能。
实现各种查询。
实现企业财务的信息化管理。
对用户输入的数据,进行严格的数据检验,尽可能避免人为错误。
系统最大限度地实现了易安装性、易维护性和易操作性。
从而更方便财会人员对账目进行统计、录入、审核,提高了操作效率和准确性,为企业的日常财务管理提供了便利。
1.3系统开发及运行环境
系统开发平台:
MicrosoftVisualStudio2008
系统开发语言:
C#
数据库管理系统软件:
SQLServer2005
运行平台:
WindowsXP(SP2)/Windows2000(SP4)/WindowsServer2003(SP1)
运行环境:
Microsoft.NETFrameworkSDKv2.0
分辨率:
最佳效果1024*768像素
第2章需求分析
2.1财务凭证管理系统的可行性分析
2.1.1技术水平分析
本软件采用MicrosoftVisualStudio2005为前台开发工具,SQLServer2005数据库作为后台数据库支持。
本软件专为中小型企业设计,在我国中小型企业信息化水平目前还处在比较初级阶段,随着我国市场条件下竞争压力的不断加剧、企业组织观念的变革以及业务流程标准化的不断完善,中小型企业信息化建设的热情近几年来有了显著的提高。
本软件可在Windows2000/XP上运行,不用专业人士去配制服务器可以直接安装使用,具有很好的可移植性,有良好的中文界面,操作简便,适合企业财会人员使用。
2.1.2经济效益分析
作为企业的决策管理层,希望能对企业的整个流程状态、企业状况发展了如指掌,并为决策管理提供科学依据;
工作人员期望能够避免繁琐的手工操作,甩掉陈旧的手工计帐方式,达到事半功倍的效果。
使用企业财务凭证管理系统可大大提高企业现代化管理水平,实现减员增效。
这样,一个可以规范化、自动化的财务系统就显得非常的必要。
2.1.3市场分析
企业必须加强自身的信息基础设施建设,通过企业基础数据的信息化、基本业务流程和事务处理的信息化、企业内部控制及实施控制过程的信息化、人的行为规范管理等企业基础管理的信息化工程建设,确保企业的规模不断扩大、业务迅速提升,促进企业的可持续发展。
2.2财务凭证管理系统的需求分析
通过实际了解,要求本系统具有以下功能:
由于操作人员的计算机知识普遍偏低,一次要求系统具有良好的人机界面。
方便的添加和修改数据。
方便的数据查询。
方便的数据打印功能。
在相应的窗体中,可方便的删除数据。
数据计算自动完成,尽量减少人工干预。
财务凭证管理系统的用例图,如下图2.1所示。
图2.1
第3章总体设计
3.1项目规划
财务凭证管理系统主要由系统管理、凭证管理、科目信息、账目查询、报表和退出等模块组成,具体规划如下。
系统管理模块
该模块主要用于实现公司基本信息、初始化使用时间、初始化科目金额、管理员基本信息设置和修改密码等功能。
凭证管理模块
该模块主要用于实现凭证录入、凭证审查、凭证结算、凭证汇总和凭证查询等功能。
科目信息模块
该模块主要用于实现科目信息和科目查询功能。
账目查询模块
该模块主要用于实现总账预览、总账目查询、凭证查询、科目查询和账目余额查询等功能。
报表模块
该模块主要用于实现凭证查询打印和按科目打印等功能。
3.2系统业务流程分析
财务凭证管理系统的业务流程图如图3.1所示。
图3.1财务凭证管理系统的业务流程图
3.3系统功能结构
系统功能结构图如图3.2所示。
图3.2系统功能结构图
第4章详细设计
4.1数据库设计
本系统采用SQLServer2005作为后台数据库,数据库名称为db_credence,其中包含5张数据表。
下面分别介绍:
4.1.1数据表概要说明
为了对本系统后台数据库中的数据表有一个更清晰的认识,在此设计了一个数据表树形结构图,该结构图包括系统所有数据表,如图4.1所示。
图4.1数据表树状结构图
4.1.2部分数据表E-R图
本里中规化出的实体主要有公司基本信息实体、科目信息实体、凭证信息实体、管理员信息实体和操作日志信息实体。
其中部分实体的E-R图如下所示。
公司基本信息实体E-R图,如图4.2所示。
图4.2公司基本信息实体E-R图
会计科目信息实体E-R图,如图4.3所示。
图4.3会计科目信息实体E-R图
凭证信息实体E-R图,如图4.4所示。
图4.4凭证信息实体E-R图
4.1.3.数据表的结构
tb_UserJob(公司基本信息表)
表tb_UserJob用于保存用户所在单位的基本信息,该表的结构如图4.7所示。
图4.7公司基本信息表
tb_subjectInfo(会计科目信息表)
表tb_subjectInfo用于保存会计科目的详细信息,该表的结构如图4.8所示。
图4.8会计科目信息表
tb_warrantInfo(凭借信息表)
表tb_warrantInfo用于保存企业内部的财务凭证信息,该表的结构如图4.9所示。
图4.9凭借信息表
tb_admInfo(管理员信息表)
表tb_admInfo用于保存本系统的用户基本信息,表的结构如图4.10所示。
图4.10管理员信息表
tb_logInfo(操作日志信息表)
表tb_logInfo用于保存操作员使用该系统的日志记录,表的结构如图4.11所示。
图4.11操作日志信息表
4.2系统主要功能模块设计与实现
4.2.1系统登录模块的设计与实现
系统登录主要用于对进入财务凭证管理系统的用户进行安全性检查,以防止非法用户进入该系统。
在登录时,只有合法的用户,才可以进入该系统。
系统登录窗体如图4.12所示。
图4.12系统登录
代码设计
单击【确定】按钮,程序调用公共类中的相关方法,判断用户输入的用户名和密码是否正确,如果正确,则成功登录财务凭证管理系统,并将用户名传到主窗体中,同时使用全局变量M_strName接受。
否则,弹出“用户名或密码错误”信息提示。
【确定】按钮的Click事件代码如下:
privatevoidbtnOK_Click(objectsender,System.EventArgse)//确定
{
try
{
GetLoginlog=newGetLogin();
admInfoadm=newadmInfo();
adm.setadmName(this.txtUser.Text);
adm.setadmPassword(this.txtPasword.Text);
stringresult=log.loginDen(adm);
//调用方法
if(result=="
adminOK"
)
{
frmMainmain=newfrmMain(this.txtUser.Text.Trim());
main.Show();
this.Hide();
}//endblockif
adminNO"
DialogResulta=MessageBox.Show("
用户名或密码错误"
"
提示信息"
MessageBoxButtons.OK,MessageBoxIcon.Error);
this.txtUser.Text="
"
;
txtPasword.Text="
txtUser.Focus();
ConClose"
MessageBox.Show("
数据库没有打开"
}
catch(Exceptionee)
{MessageBox.Show(ee.Message);
}
}
4.2.2主窗体的设计与实现
在正确验证用户的用户名和密码以后,就显示出财务凭证管理系统的主窗体。
主窗体主要用于显示系统所具有的功能,例如菜单栏里显示了系统管理、凭证管理、科目信息、账目查询等几个功能模块。
用户可以点击相应的按钮对系统进行不同的操作,凭证管理系统的主窗体如图4.13所示。
图4.13主窗体
主窗体实现的主要实现代码如下:
系统管理按钮的实现代码:
privatevoid公司信息ToolStripMenuItem_Click(objectsender,EventArgse)
frmComnptycpy=newfrmComnpty();
cpy.MdiParent=this;
cpy.Show();
}
privatevoid初始化使用时间ToolStripMenuItem_Click(objectsender,EventArgse)
frmSystemDatTimesydate=newfrmSystemDatTime(M_strName);
sydate.MdiParent=this;
sydate.Show();
privatevoid初始化科目资金ToolStripMenuItem_Click(objectsender,EventArgse)
frmSubjectMoneysuMoney=newfrmSubjectMoney();
suMoney.MdiParent=this;
suMoney.Show();
privatevoid管理理员信息ToolStripMenuItem_Click(objectsender,EventArgse)
frmAdmInfoadm=newfrmAdmInfo();
adm.MdiParent=this;
adm.Show();
privatevoid密码修改ToolStripMenuItem_Click(objectsender,EventArgse)
frmAdminPassWordpassword=newfrmAdminPassWord(M_strName);
password.MdiParent=this;
password.Show();
凭证管理按钮的实现代码:
privatevoid凭证录入ToolStripMenuItem_Click(objectsender,EventArgse)
frmWarrantInfowar=newfrmWarrantInfo();
war.MdiParent=this;
war.Show();
privatevoid凭证审核ToolStripMenuItem_Click(objectsender,EventArgse)
frmWarrantShengsheng=newfrmWarrantSheng();
sheng.MdiParent=this;
sheng.Show();
privatevoid凭证结算ToolStripMenuItem_Click(objectsender,EventArgse)
GetWarInfogetWinfo=newGetWarInfo();
intp_int_Select=getWinfo.GetCount();
if(p_int_Select==1)
还没有通过审核的记录\n"
+"
请审核凭证后再结算"
结算提示"
MessageBoxButtons.OK,MessageBoxIcon.Information);
return;
else
stringP_str_balnd=getWinfo.GetWarrbalance();
//调用结算方法
if(P_str_balnd=="
updateOk"
结算完毕\n"
请继续操作"
}//mendthod
}//endblock
privatevoid凭证总汇ToolStripMenuItem_Click(objectsender,EventArgse)
frmWarrantlSunwsun=newfrmWarrantlSun();
wsun.MdiParent=this;
wsun.Show();
privatevoid凭证ToolStripMenuItem_Click(objectsender,EventArgse)
frmWarrantFindfind=newfrmWarrantFind();
find.MdiParent=this;
find.Show();
privatevoid凭证修改ToolStripMenuItem1_Click(objectsender,EventArgse)
{
frmWarrantUpdatefrmupdat=newfrmWarrantUpdate();
frmupdat.MdiParent=this;
frmupdat.Show();
其他代码详见系统设计文档。
4.2.3凭证信息录入窗体的设计与实现
凭证信息录入窗体主要实现凭证信息的录入功能。
窗体运行时,首先检索选择科目然后录入凭证信息,如果没有检索科目,则弹出信息提示框。
窗体运行结果分别如图4.14、图4.15和图4.16所示。
图4.14凭证信息录入前
图4.15科目信息检索窗体
图4.16凭证信息录入后
凭证信息录入窗体的主要实现代码如下:
图4.15的实现代码
publicpartialclassfrmSubInfo:
Form
publicstaticstringG_str_subID;
publicstringG_str_add;
publicfrmSubInfo()
InitializeComponent();
privatevoidfrmSubInfo_Load(objectsender,EventArgse)
GetSubjectsub=newGetSubject();
sub.GedListView(this.listView1);
privatevoidbntEsce_Click(objectsender,EventArgse)
是否要退出?
退出"
MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if(Convert.ToString(a)=="
Yes"
this.Close();
//确定选取择
privatevoidbntCheck_Click(objectsender,EventArgse)
if(G_str_add==null)
请在上面选择记录"
友情提示"
if(G_str_add!
=null)
{G_str_subID=G_str_add;
//this.Close();
privatevoidlistView1_Click(objectsender,EventArgse)
try
this.G_str_add=this.listView1.SelectedItems[0].Text.ToString();
//填冲件
catch(Exceptionee)
{MessageBox.Show(ee.Message);
4.2.4管理员信息窗体的设计与实现
管理员信息窗体主要是对管理员信息进行操作。
此模块中面板之间的转换是通过容器控件实现的。
管理员基本信息窗体运行结果如图4.17所示。
图4.17管理员基本信息窗体
单击该窗体左侧的【修改管理员】按钮,运行结果如图4.18所示。
图4.18管理员基本信息窗体
管理员信息窗体的主要实现代码如下:
点击【修改管理员】事件的代码
//修改
privatevoidtsbAdminUpdate_Click(objectsender,EventArgse)
this.pandSelect.Visible=false;
this.pAdminAdd.Visible=false;
this.pUpdate.Visible=true;
}//endblokcmenthod修改
//退出
privatevoidtsbEsce_Click(objectsender,EventArgse)
privatevoidtsbAdminfind_Click(objectsender,EventArgse)
this.pandSelect.Visible=true;
this.pUpdate.Visible=false;
privatevoidtxtPhone_KeyPress(objectsender,KeyPressEventArgse)
if(e.KeyChar!
=8&
&
!
char.IsDigit(e.KeyChar))
电话只能输入数字"
);
e.Handled=true;
privatevoidtxtPhone_KeyPress_1(objectsender,KeyPressEventArgse)
第5章测试与总结
5.1程序调试与错误处理
5.1.1如何实现总账查询
在总账查询模块中可以通过科目编号、科目名称和凭证编号来查询总账信息,但这些字段存在多个表中,查询结果需要显示多表的字段值。
这样一来,普通的查询语句无法满足该需求,为了解决这个问题,需要使用夺标联查才能实现。
相关代码如下:
selectb.warrantId,a.subName,b.subLendmoney,b.subGoodsMoney,b.warrantDate,b.subEquation,b.subRemarkfromtb_subjectInfoa,tb_warrantInfobwherea.subId=b.subidb.warrantid
5.1.2科目编号的生成错误
在科目信息模块中,添加科目信息时,科目编号自动生成,单击【确定】按钮,在信息添加成功的同时,将RadioButton控件的Checked属性设为false,并清空TextBox文本框。
程序执行后应该得到的结果如图5.1所示,实际执行结果如图5.2所示。
图5.1科目添加前界面
图5.2科目添加后的界面