中小企业账务处理系统设计说明书.docx
- 文档编号:11707827
- 上传时间:2023-03-30
- 格式:DOCX
- 页数:24
- 大小:146.19KB
中小企业账务处理系统设计说明书.docx
《中小企业账务处理系统设计说明书.docx》由会员分享,可在线阅读,更多相关《中小企业账务处理系统设计说明书.docx(24页珍藏版)》请在冰豆网上搜索。
中小企业账务处理系统设计说明书
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2011年秋季学期
面向对象课程设计
题目:
中小企业账务处理系统的设计与实现
专业班级:
计算机科学与技术4班
姓名:
马真
学号:
10240436
指导教师:
朱红蕾
成绩:
_______________
1.3功能概述1
摘要
本软件是简单实用的公共软件。
考虑到系统的构架简单,且主要实现主要模块,提供清晰的设计框架,本文档在先做出概要设计前提下,然后在概要设计的基础上进行扩展和详细的描述,完成主要模块的详细设计。
该系统包括该系统界面友好,操作简便,能完成添加企业账务,企业账务明细的修改,企业账务的删除等功能,开发本系统的总体的任务是实现财务管理的自动化和系统化,帮助管理人员更好更高效的完成财务管理工作。
关键词:
中小企业,账务管理,信息管理;
序言
一个企业的账务管理是公司各项管理中最为重要的,也是最为繁琐的部分。
公司的账务管理主要包括以下几方面的内容:
企业账务的添加,其中包括进账信息及其、明细出账信息及其明细;企业账务明细的修改;企业账务明细的删除;账务资料的查询,如按照账务流水号查询,按照日期查询等。
还有就是账务汇总、也是最重要的部分,可以按照各种方式汇总,如按照流水账号汇总.按照日期汇总.按照流水号和日期汇总等。
实现账务管理的规范化和自动化是十分必要的。
我们这个系统的开发就是为了这一需求而开发的。
这是一个相对较小的管理软件,因此对操作系统及运行环境的要求并不明显,主要是软件的开发与运行要有相关数据库的支持。
在开发工作的前期,必须要有严格的数据库建立过程,这体现在,要提前完成数据的采集与整理,之后在保证数据准确性的基础上实施数据的录入工作,并且最终完成的数据库要根据操作权限支持增加、删除、修改、查询等功能。
在此基础上才可进一步实现软件的开发工作。
一.系统分析
我设计的账务管理系统是一个相对较小的应用系统,所以对原有设备的影响不太明显,一般而言,我们日常所使用的操作设备足以运行这个软件。
而且,使用这个管理系统会使用户和原来相比节省很多时间,使工作更高效。
由于用户通过使用此系统会更快的完成工作,所以整个开发环境会因系统的使用节省很多人力、物力,从而进入更有效的工作运行状态。
经分析可知开发这个项目的经费预算并不高昂;再者,通过使用此软件会节省人力物力方面的开支,换句话说,就等于挽回了相当一部分的经费支出,所以说对经费支出的影响是乐观的。
1.1编写目的
随着社会经济的快速发展,账务管理已经成为企业管理的重要的一部分,因为账务管理与经济或财富的保值增值有关,是企业财富的决策,企业生存、发展、获利的总目标离不开财务的筹资、投资以及对资金的运用管理。
其次,账务管理目标是制定生产目标、销售目标等一系列目标的基础和前提,这使得账务管理在企业管理中处于一个核心地位,账务管理目标将从根本上反映企业的总目标。
所以确定一个合理的账务管理目标对企业的长远发展有着极为重要的意义。
1.2项目背景
(1)项目名称:
账务管理系统
(2)用户:
中小型企业
1.3功能概述
本系统可分为系统管理模块、进出账务模块、账务资料模块以及账目汇总模块.
各个模块的功能描述:
系统管理模块:
系统管理部分包括数据库的备份和恢复以及用户管理,包括添加新用户和更改当前用户密码以及退出系统。
进出账务模块:
进出账务模块用来添加进账资料、进账明细、出账资料及出账明细。
账务资料模块:
账务资料模块用来对账务资料进行管理,包括增加账务明细、修改账务
明细、删除账务明细,以及账务资料的查询,包括按流水号查询和按日期查询。
账目汇总模块:
账务汇总模块用来按照各种要求汇总账目,包括按照账目汇总、按照日期汇总、按照客户汇总、按照账目+日期汇总、按照日期+客户汇总等。
系统结构图如图所示:
图3.1系统结构图
1.4数据字典
下面给出的是本系统主要数据元素的数据字典卡片:
1.帐目名称
2.管理员姓名
1.5功能需求
本系统的开发主要是为了方便企业对账务方面的管理,使企业在账务方管理方面更加安全、公开、透明和快捷。
本系统的主要功能:
进出账务管理、账务信息管理、账务信息查询以及账目汇总。
账务管理是为实现企业的目标服务的,并受账务管理内容的制约。
基本任务是依法合理筹资并有效的利用企业的各项资产,最终提高效益。
企业账务管理的任务有以下几个方面:
1依法合理的筹集资金,满足企业资金需要量。
2有效地分配和使用企业资金,提高资金利用效率。
3分配企业的收益,协调各方面的经济关系。
4实行账务监督,维护财经法规。
1.6属性
易操作,页面中重要部分带有详细说明,采用严格的用户注册模块,确保系统安全性,需要管理员定期为数据库备份,能在不同操作系统中运行。
1.7其他需求
用户能方便的对系统进行设置以及一些具体操作。
当系统出现故障是,能够提供友好的信息,并对问题进行记录,保证不丢失数据;
管理员通过修改服务器代码和数据库解决等。
二、系统总体设计
2.1背景
a.名称:
账务管理系统。
用户:
中小型企业
b.本项目与其他软件或其他系统的关系:
工作于Windows2000以上所有的系统。
2.2定义
程序流程图:
又叫程序框图,它是历史最悠久使用最为广泛的描述工程设计的方法,然而它也是用得最混乱的一种方法。
2.3程序描述
2.3.1功能
账务的基本信息和财务更新的信息的录入、修改、查询、删除模块,财务更新信息的录入、修改、查询、删除模块,以及系统维护功能。
2.3.2性能
此系统的开发时为了加快公司内部的账务的计算和管理。
2.3.3输入项目
查询时:
输入要进行查询的条件
修改时:
输入要进行修改的数据
添加时:
在对应的数据界面输入要输入的财务项目信息
用户注册时:
输入用户的注册信息
2.3.4输出项目
查询时:
输出用户的查询信息
修改时:
输出修改是否成功
添加时:
输出信息添加是否成功
用户注册时:
输出注册是否成功
2.3.5程序逻辑
1)用户登陆模块程序流程(如图5.1)
图5.1用户登陆模块程序流程
2)数据的查询程序流程图(如图5.2)
图5.2数据的查询程序流程图
3)注册的程序流程图(如图5.3)
图5.3注册的程序流程图
4)用户密码的修改(如图5.4)
图5.4用户密码的修改
。
2.3.6接口
1.存储设备接口:
用于系统的备份与恢复。
2.用户接口:
用于输入数据的命令接口,提示用户是否执行将要处理的操以便得到确认。
3.数据库访问接口:
为系统的工作基础、信息支持。
4.查询接口:
为用户提供直接界面。
设计总结
通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。
安排课程设计的基本目的,在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟。
尤其是观察、分析和解决问题的实际工作能力,以便培养成为能够主动适应社会主义现代化建设需要的高素质的复合型人才。
作为整个学习体系的有机组成部分,课程设计虽然时间紧迫,但并不具有绝对独立的意义。
它的一个重要功能,在于运用学习成果,检验学习成果。
运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。
检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。
对我们计算机专业的学生来说,实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。
这也是一次预演和准备毕业设计工作。
通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。
课程设计达到了专业学习的预期目的。
在一个星期的课程设计之后,我们普遍感到不仅实际动手能力有所提高,更重要的是通过对软件开发流程的了解,进一步激发了我们对专业知识的兴趣,并能够结合实际存在的问题在专业领域内进行更深入的学习。
参考文献
[1]初小璐.完全掌握SQLServer2000[M]机械工业出版社,2004
[2]JeraodV.Post.数据库管理系统(英文版.第三版)[美]清华大学出版社,2006.1
[3]张海藩.软件工程导论[M].北京:
清华大学出版社,1998.1
[4]谢希仁.计算机网络(第二版)[M].北京:
电子工业出版社,2003.6
[5]戴志诚,赵国峰.JSP信息化系统建设案例[M].北京:
人民邮电出版社,2006.12
[6]成晓静,毕靖.网页设计三剑客完全学习手册[M].北京:
中国电力出版社,2004.11
[7]赵强.精通JSP编程[M].北京:
电子工业出版社,2006.3
[8]萨师煊,王珊.数据库系统概论[M].北京:
高等教育出版社,2002.2
致谢
在财务管理系统的开发过程中,我首先要感谢所有帮助过我的老师和同学,没有他们的大力支持和帮助,我的系统的开发将不会如此顺利的完成,在系统的开发过程中,他们提出了许多宝贵的意见,对系统的开发有着至关的重要性。
我还要感谢同学们向我们提出的一些珍贵的建议,使我的系统变得更加的完善。
另外,还要感谢张其文老师对我的指导,没有他灌输的理论知识和实践指导,我不可能开发出这个系统。
附录:
源代码
#include
#include
#include
#include
//文件保存路径
#defineFilePath1"Myinfor.dat"
#defineFilePath2"Myinfor.txt"
//查询用声明
#defineStatusint
#defineOK1
#defineError0
#defineNotFound2
typedefstruct{
intjczwgl;//进出账务管理
intzwxxgl;//账务信息管理
intzwxxcx;//账务信息查询
intzwxxhz;//账务信息汇总
}Infor;
typedefstruct{//查询用自定义数据类型
intno;
intdata;
}pType;
voidmenu(void);//菜单
voidinput(Infor*newI);//接收键盘输入
voidwriteinfor(Infor*newI);//向文件内写入内容
voidchangeFormat(void);//将dat格式文件转换为txt文件
Statussearch(Infor*a);//查询函数[返回查询的结果及查询的状态]
voidpaixu(Infor*a);//对查询据结果排序
voidmodify(Infor*a,intmon);//修改数据
voiddelRecord(intmon);//删除数据
voidmain()
{
while
(1)
{
menu();
}
}
voidmenu(void)
{
intitem;
intmon;
Infor*a;
a=(Infor*)malloc(sizeof(Infor));
do{
printf("\n…………中小企业账务管理系统设计…………\n\n");
printf("\t\t1.录入数据。
\n");
printf("\t\t2.查看数据。
\n");
printf("\t\t3.修改数据。
\n");
printf("\t\t4.查询数据。
\n");
printf("\t\t5.排序数据。
\n");
printf("\t\t6.删除数据。
\n");
printf("\t\t0.退出系统。
\n\n");
printf("请输入要进行的操作:
");
scanf("%d",&item);
}while(item>6||item<-1);
switch(item)
{//退出程序
case0:
getchar();//保存界面
getchar();
exit
(1);
break;
//录入数据
case1:
input(a);
writeinfor(a);
break;
//查看数据
case2:
changeFormat();
break;
//修改数据
case3:
item=search(a);
mon=a->month;
if(item!
=OK)printf("\n没有符合条件的记录!
\n");
else
{
printf("\n进出账务管理账务信息管理账务信息查询账务信息汇总\n");
printf("-----------------------------------------------------------------------\n");
printf("%7d%8d%8d%8d%8d%8d%8d%8d\n",a->jczwgl,a->zwxxgl,a->zwxxcx,a->zwxxhz);
input(a);
modify(a,mon);
}
break;
//查询数据
case4:
item=search(a);
if(item!
=OK)printf("\n没有符合条件的记录!
\n");
else{
printf("\n进出账务管理账务信息管理账务信息查询账务信息汇总\n");
printf("-----------------------------------------------------------------------\n");
printf("%7d%8d%8d%8d%8d%8d%8d%8d\n",a->jczwgl,a->zwxxgl,a->zwxxcx,a->zwxxhz);
}
break;
//排序数据
case5:
item=search(a);
if(item!
=OK)printf("\n没有找到符合排序条件的记录!
\n");
else
paixu(a);
break;
//删除数据
case6:
item=search(a);
mon=a->month;
if(item!
=OK)printf("\n没有符合条件的记录!
\n");
else
{
printf("\n进出账务管理账务信息管理账务信息查询账务信息汇总\n");
printf("-----------------------------------------------------------------------\n");
printf("%7d%8d%8d%8d%8d%8d%8d%8d\n",a->jczwgl,a->zwxxgl,a->zwxxcx,a->zwxxhz);
delRecord(mon);
}
break;
}
free(a);//释放内存空间
}
voidinput(Infor*newI)//接收从键盘输入的数据
{
printf("\n请依次输入数据[说明:
中间以空格符隔开]:
\n(进出账务管理账务信息管理账务信息查询账务信息汇总)\n");
scanf("%d%d%d%d%d%d%d%d",&newI->jczwgl,&newI->zwxxgl,&newI->zwxxcx,&newI->zwxxhz);
fflush(stdin);
}
voidwriteinfor(Infor*newI)//向文件内写入内容
{
FILE*fp;
fp=fopen(FilePath1,"ab+");
if(fp==NULL)
{
printf("无法创建文件:
%s",FilePath1);
exit(0);
}
fwrite(newI,sizeof(Infor),1,fp);//这里可以做特别处理可防止存在同一月份有2条以上的记录问题。
这里就不写了。
fclose(fp);
printf("数据录入成功!
\n");
}
voidchangeFormat(void)//暂时只能操作一行文件有待改进
{
FILE*fp1,*fp2;
Infor*a;
a=(Infor*)malloc(sizeof(Infor));
fp1=fopen(FilePath1,"rb+");
if(fp1==NULL)
{
printf("无法找到文件:
%s\n",FilePath1);
return;//返回主函数
}
fp2=fopen(FilePath2,"wt+");
if(fp2==NULL)
{
printf("无法创建文件:
%s\n",FilePath2);
return;//返回主函数
}
fputs("\n……………………………………中小企业账务管理系统……………………………………\n\n",fp2);
fputs("\n进出账务管理账务信息管理账务信息查询账务信息汇总\n",fp2);
fputs("-----------------------------------------------------------------------\n",fp2);
printf("\n进出账务管理账务信息管理账务信息查询账务信息汇总\n");
printf("-----------------------------------------------------------------------\n");
rewind(fp1);
fread(a,sizeof(Infor),1,fp1);
while(!
feof(fp1))//从原文件[.dat]中读数据写入显示文件[.txt]中
{
printf("%7d%8d%8d%8d%8d%8d%8d%8d\n",a->jczwgl,a->zwxxgl,a->zwxxcx,a->zwxxhz);
fprintf(fp2,"%7d%8d%8d%8d%8d%8d%8d%8d\n",a->jczwgl,a->zwxxgl,a->zwxxcx,a->zwxxhz);
fread(a,sizeof(Infor),1,fp1);
}
fputs("-----------------------------------------------------------------------\n",fp2);
fputs("关闭本程序继续原程序!
\n",fp2);
fclose(fp1);
fclose(fp2);
system(FilePath2);//调用打开转换的文本文件
remove(FilePath2);//删除文本文件文件
}
Statussearch(Infor*a)
{
FILE*fp1;
intmon;
intisfound=0;
printf("请正确输入要查询的月份:
");
scanf("%d",&mon);
fflush(stdin);//清除缓冲区
fp1=fopen(FilePath1,"rb+");
if(fp1==NULL)
{
printf("无法找到文件:
%s\n",FilePath1);
returnError;//返回主函数
}
rewind(fp1);
fread(a,sizeof(Infor),1,fp1);
while(!
feof(fp1))//查询操作
{
if(a->month==mon)
{
isfound=1;
break;
}
else
{
isfound=0;
}
fread(a,sizeof(Infor),1,fp1);
}
fclose(fp1);
if(isfound)
returnOK;
else
returnNotFound;
}
voidpaixu(Infor*a)
{
inti=0,j=0,flag=0,t;
pTypepx[8]={{0,0}};
charstr[8][10]={"进出账务管理","账务信息管理","账务信息查询","账务信息汇总"};
for(;i<8;i++)
px[i].no=i;
px[0].data=a->jczwgl;
px[1].data=a->zwxxgl;
px[2].data=a->zwxxcx;
px[3].data=a->zwxxhz;
for(i=1;i<8;i++)//冒泡排序
{
flag=0;
for(j=0;j<8-i;j++)
if(px[j].data>px[j+1].data)
{
t=px[j].data;
px[j].data=px[j+1].data;
px[j+1].data=t;
t=px[j].no;
px[j].no=px[j+1].no;
px[j+1].no=t;
flag=1;
}
//输出结果
if(flag==0)break;
}
printf("\n");
for(i=0;i<8;i++)
{
printf("%s",str[px[i].no]);
}
printf("\n-----------------------------------------------------------------------\n");
for(i=0;i<8;i++)
{
printf("%8d",px[i].data);
}
printf("\n");
}
voidmodify(Infor*a,intmon)//修改数据
{
FILE*fp1,*fp2;
Infor*b;
b=(Infor*)malloc(sizeof(Infor));
fp1=fopen(FilePath1,"rt");
fp2=fopen("temp.dat","wt+");
rewind(fp1);
fread(b,sizeof(Infor),1,fp1);
while(!
feof(fp1))//重写数据
{
if(b->month==mon)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中小企业 账务 处理 系统 设计 说明书