国际贸易票务管理系统的设计与实现毕业论文.docx
- 文档编号:30472246
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:66
- 大小:435.79KB
国际贸易票务管理系统的设计与实现毕业论文.docx
《国际贸易票务管理系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《国际贸易票务管理系统的设计与实现毕业论文.docx(66页珍藏版)》请在冰豆网上搜索。
国际贸易票务管理系统的设计与实现毕业论文
国际贸易票务管理系统的设计与实现毕业论文目 录
第一章绪论
1.1系统概述
发票是指一切单位和个人在购销商品、提供劳务或接受劳务、服务以及从事其他经营活动,所提供给对方的收付款的书面证明,是财务收支的法定凭证,是会计核算的原始依据,也是审计机关、税务机关执法检查的重要依据,因此对票务方面的管理对公司起来说是相当的重要。
每个公司都有自己的财务部门,财务部门也都有自己的发票等相关票务的管理方法,此管理系统主要针对票务管理问题开发,对票务的管理实现了自动化和程序化,标准化,在信息和人工智能及办公自动化的今天具有很大的实用性。
现在国内外发票管理系统软件非常之多,其中主要的有几个方面:
银行,税务,海关,国际贸易等。
其中银行,税务的票务管理系统占主要方面,它们均可以实现对票务管理的相关流程,包括发票的制定,填写,批准等,同时还可以添加相关的备注,附件等信息,越来越人性化,发展前景广阔,应用面非常广。
本课题采用C#语言来开发的一个国际贸易票务管理系统。
系统在微软公司所推出的.NET开发平台使用WinForm窗体设计形式,和VisualStudio2008开发环境中设计与开发。
在该集成开发环境中,进行该软件工程界面的设计和相应程序代码的编写与调试。
课题的主要任务是设计出一个个实用的发票信息窗体,后台实现与Oracle数据库的链接,实现发票的制定,填写,提交,批准等一系列流程,是公司的具体应用项目,具有实用意义。
1.2本课题的研究意义
企业的财务管理是企业管理工作的重要组成部分,是企业管理的核心,对于改善企业经营管理,提高企业经济效益具有十分重要的作用。
在企业财务管理中发票管理则是重中之重,对发票的规范填写,审核,批准及保存都是一个企业要高度重视的问题。
本课题就是对发票管理的一个系统,课题与公司项目吻合,有一定的实用性和实际意义,对企业的发票有一个规范的管理和一个统一的标准,同时数据容易存储,和查询,为以后公司财务提供了一个良好的数据基础和管理方法。
同时,这次毕业设计对设计者来说也是一次非常好的锻炼机会。
一方面,设计者能对C#语言,WinForm设计方法及Oracle数据库有一个全面整体的认识和锻炼,由于和公司实际项目接轨,又有了一定的规范性和标准性,为以后工作打下了良好的基础。
另一方面,设计者对所使用的编程语言有了很好的掌握和锻炼,提高了程序设计和程序调试的能力,并对一般软件设计的步骤流程有了深刻的体会,对语言加深了了解,对以后的学习和工作都有很大的帮助,也达到了毕业设计最初的目的。
最后毕业设计也是学校留给大学生走向社会走向工作岗位的最后一次作业,也是工作前的一次再教育和检验,对学校和个人以及企业都非常重要,非常有必要。
第二章开发环境与主要技术
2.1开发平台
本系统的开发平台为:
操作系统:
MicrosoftWindowsXP
程序语言:
winformC#
开发工具:
Visualstudio2008
数据库:
Oracle
关于本系统的开发环境安装配置过程比较复杂,安装过程及配置也会出现很多问题,在此不再赘述。
总体来说,vs的开发环境还是挺不错的,Oracle数据库又是当今最流行的数据库,所以选择这个开发环境具有很大意义。
2.2相关技术介绍
1)C#简介
C#(读做"Csharp",中文译音“夏普”),是微软公司近年推出的一种核心编程语言,能快捷、方便地开发图形设计、图像处理、多媒体技术、数据库技术及网络技术的Windows应用程序[2]。
C#语言从C和C++发展而来,它汲取了包括C、C++、Java在内的多种语言的精华,是一种简单、完备、类型安全和完全面向对象的高级程序设计语言[3],是微软公司发布的一种面向对象的、运行于.NETFramework之上的高级程序设计语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员AndersHejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
C#是微软公司推出的一种先进的,面向对象的开发语言,能够方便快捷地建立基于微软网络平台的各种应用和在网络间互相调用的WEB服务。
C#与C++都是面向对象的语言[10]。
在该设计中所使用的编程开发语言是微软公司所推出的C#语言。
C#是一种从C++和Java继承而来的、简单的、现代的、面向对象的语言。
它使得程序员可以快速地编写各种基于Microsoft.NET平台的应用程序它具有C++和Java两种语言共同的特点,C#语言相对于以上两种语言,其具有很多的优势、特点:
(1)简单
(2)现代化设计
(3)采用GDI+服务
(4)类型安全
(5)具有相互兼容性
(6)具有可伸缩性和可升级性
C#中指针已经消失,避免了使用指针的繁琐,其是基于.NET平台的,因而继承了自动内存管理和垃圾回收的特点。
同时C#支持现有的网络编程新标准,其现代化设计能够消除很多常见的C++编程错误。
例如资源回收减轻了程序员内存管理的负担等。
.NETFramework是.NET的核心,是开发、配置和运行分布式的Web服务和Web应用的基础平台,它提供了一致的、面向对象的编程环境。
无论对象代码在本地,还是在Internet上分布存储的,也不管是在本地执行,还是在远程执行的,所提供的编程环境都是一致的[1]。
在Microsoft.NET的应用平台基础上开发相关的C#,WinForm窗体应用程序性有很多优点,对大部分企业来说用Microsoft.NET成本较低,速度快[4],而且开发较Java简单一点,但成本低和速度快集成化高的特点足以使企业认可,当然其也有缺点,就是相对于集成化高灵活性不足。
总而言之,C#是一种现代的、类型安全的、面向对象的编程语言[5],它使得程序员能够快速而容易的为微软.NET平台开发解决方案。
2)winform技术
Windows窗体也称为WinForms,可以创建应用程序的用户界面,并使用任何一种.NET支持的语言编写应用程序的功能。
WinForms应用程序一般都有一个或者多个窗体提供用户与应用程序交互。
窗体可包含文本框、标签、按钮等控件。
大型WinForms应用程序有许多窗体,一些用于获取用户输入的数据,一些用于向用户显示数据,一些窗体会有变形、透明等其他效果甚至让你看不出他的真实面目。
3)Oracle数据库
(1)概论
Oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库,它是用逻辑管理的语言操纵大量有规律数据的集合。
是世界上使用最广泛的对象关系型数据库系统之一[8]。
Oracle数据库一直以来都支持跨平台特性,Oracle10g数据库也不例外,支持Linux、Windows和Unix等各平台。
在大中型企业中,多种平台并存是很常见的,而且Oracle10g数据库特别支持网格(Grid)运算。
Oracle已成为领先全球的数据库品牌[9]。
(2)特点
ORACLE7.X以来引入了共享SQL和多线索服务器体系结构。
这减少了ORACLE 的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源 就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。
提供了基于角色(ROLE)分工的安全保密管理。
在数据库管理功能、完整性 检查、安全性、一致性方面都有良好的表现。
支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。
提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。
加上它有许多优秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开发生成基于客户端PC 平台的应用程序,并具有良好的移植性。
提供了新的分布式数据库能力。
可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。
(3)物理和逻辑存储结构
ORALCE是由表空间组成,表空间是由数据文件组成,表空间数据文件的内部单元是块。
当ORALCE数据建立时,块的大小由DBA设定.对象创建在ORACLE表空间中,用户可以指明它的区域单元空间(最初区域,下一个区域,最小区域,最大区域)。
如果区域大小没有确定,按默认的区域大小创建。
ORA2CLE区域大小是可变的,它必须包含至少五个连续城[12]。
(4)分布式数据库管理介绍
原理
物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单个的大数据库。
用户可以通过网络对异地数据库中的数据同时进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的:
开发人员无需关心网络的连接细节、无需关心数据在网络接点中的具体分布情况、也无需关心服务器之间的协调工作过程。
过程
由网络相连的两个ORACLE数据库之间通过数据库链接(DB-LINKS)建立访问机制,相当于一方以另一方的某用户远程登录所做的操作。
但ORACLE采用的一些高级管理方法,如同义词(SYNONME)等使我们觉察不到这个过程,似乎远端的数据就在本地。
数据库复制技术包括:
实时复制、定时复制、储存转发复制。
对复制的力度而言,有整个数据库表的复制,表中部分行的复制。
在复制的过程中,有冲突检测和解决的手段。
第三章 系统总体设计
3.1需求分析
发票是指一切单位和个人在购销商品、提供劳务或接受劳务、服务以及从事其他经营活动,所提供给对方的收付款的书面证明,是财务收支的法定凭证,是会计核算的原始依据,也是审计机关、税务机关执法检查的重要依据,因此对票务方面的管理对公司起来说是相当的重要。
每个公司都有自己的财务部门,财务部门也都有自己的发票等相关票务的管理方法,此管理系统主要针对票务管理问题开发,对票务的管理实现了自动化和程序化,标准化,在信息和人工智能及办公自动化的今天具有很大的实用性。
现在国内外发票管理系统软件非常之多,其中主要的有几个方面:
银行,税务,海关,国际贸易等。
其中银行,税务的票务管理系统占主要方面,它们均可以实现对票务管理的相关流程,包括发票的制定,填写,批准等,同时还可以添加相关的备注,附件等信息,越来越人性化,发展前景广阔,应用面非常广。
所以拥有一款实用的票务管理系统对公司非常重要,不仅提高工作效率也使发票管理趋于网络化,透明化,将来也是一个重要的财税依据,由此可见票务管理系统在公司的发票管理中扮演了一个多么重要的角色。
3.2功能设计
本课题采用C#语言来开发的一个国际贸易票务管理系统。
系统在微软公司所推出的.NET开发平台使用WinForm窗体设计形式,和VisualStudio2008开发环境中设计与开发。
在该集成开发环境中,进行该软件工程界面的设计和相应程序代码的编写与调试。
课题的主要任务是设计出一个个实用的发票信息窗体,后台实现与Oracle数据库的链接,实现发票的制定,填写,提交,批准等一系列流程,是公司的具体应用项目,具有实用意义。
系统的主要部分就是WinForm的设计,不想页面形式只要对页面设计就行了,WinForm是要对WinForm窗体进行设计,每一个票单对应一个WinForm窗体,所以对窗体进行设计是系统的一大任务。
WinForm窗体设计包括:
根据票务需求添加基本的控件,文本框,文本域,按钮,下拉菜单等基本控件,然后就是根据各控件进行合理的布局,使窗体界面看起来尽可能的美观,得体,最后就是对相关窗体控件进行事件的添加,编写相应的代码,这部分是项目的核心和关键。
根据以上分析具体功能如下:
主界面的设计
用户登录功能,登录权限设置
各个相关菜单的设计,票务流程相关菜单功能面的编写
票务申请,领导批准,财务审核,生成财务报表
3.3功能模块的划分
功能模块的划分模块的划分主要是每一类用户权限操作来归类,票据管理操作主要有四类,一是普通用户,完成发票申请,查看等功能;二是部门经理,完成发票审核,批复;三是财务人员,完成发票审核,开发票;四是系统管理员,拥有最高权限。
所以就要针对这4种用户类型划分功能模块。
(1)普通用户:
主要完成对合同的检索,根据合同申请发票明细,如果不存在发票及合作伙伴可以新增合作伙伴和发票,然后等待领导批准再申请发票明细。
表3-1普通用户功能列表
模块
模块包含的功能
用户模块
检索合同号
新建业务伙伴
新建申请单明细
新建申请单
查询审批情况
打印申请单信息
(2)部门经理:
主要完成申请单的审核,批复,同意或不同意两种,同意了才允许填申请人继续申请,不然打回。
表3-2部门经理功能列表
模块
模块包含的功能
经理模块
审核申请单
打印信息
(3)财务人员:
主要完成对申请单明细审核,金额审核,然后批复,批准的报财务部门开具发票,并导出excel表格查看申请信息。
表3-3财务人员功能列表
模块
模块包含的功能
财务管理模块
审批申请单,开具发票
打印信息
(4)系统管理员:
具有最高权限,可以对数据进行增删查改。
表3-4普通用户功能列表
模块
模块包含的功能
管理员模块
用户模块
经理模块
财务模块
信息管理(各表增删查改)
通过以上分析,论坛的模块划分也就完成了。
但如果要把整个论坛系统完整的架构出来,还要分析模块与模块之间的关系,把零散的功能模块用一条主线串联起来。
对于论坛系统来说,联系各个模块的主线是使用者的权限,用户能使用哪些功能是由用户的权限决定的,论坛的每个功能都与相应的权限对应。
同一类用户使用的功能模块。
是以使用者为中心连接起来的。
另外,操作同一类事物的功能模块,也是相互关系的。
具体分析,管理员具有最高操作权限,所以刚开始不妨不设权限,先以管理员身份完成系统主要功能,然后在此基础上加上权限控制功能,给各个用户赋予各自拥有的权限,这样系统做起来就简单明了了。
3.4技术可行性分析
VisualC#是微软公司.NerFrameWork框架中的一个重要组成部分,也是微软公司极力推荐的新一代程序开发语言。
WinForm是.Net开发平台中对WindowsForm的一种称谓[6]。
.Net为开发WinForm的应用程序提供了丰富的ClassLibrary(类库)。
这些WinFrom类库支持RAD(快速应用程序开发),这些类库被封装在一个名称空间之中,这个名称空间就是System.Windows.Forms。
在此名称空间中定义了许多类,在开发基于.Net的GUI应用程序的时候,就是通过继承和扩展这些类才使得程序有着多样的用户界面。
Windows窗体也称为WinForms,可以创建应用程序的用户界面,并使用任何一种.NET支持的语言编写应用程序的功能。
WinForms应用程序一般都有一个或者多个窗体提供用户与应用程序交互。
窗体可包含文本框、标签、按钮等控件。
大型WinForms应用程序有许多窗体,一些用于获取用户输入的数据,一些用于向用户显示数据,一些窗体会有变形、透明等其他效果甚至让你看不出他的真实面目。
由此可见此项技术已经相当成熟,应用在系统中完全可行。
图3-5结构图
3.5数据库设计
票务管理系统信息的储存一般是在数据库中,相比之下数据库要简单高效,能对系统进行更好的控制,也能对资料提供一些严正和保护。
所以目前流行的论坛都是使用的数据库系统。
使用数据库的首先就是要设计数据库的表结构,一个设计良好的数据库结构可以提高效率、方便维护,而且对于可能的扩充也会留有余地[7]。
.NET框架包括了四种数据提供者,分别用于不同的数据库标准。
SQLServer.NET提供者、Oracle.NET提供者、OLEDB.NET提供者、ODBC.NET提供者,分别用于不同的数据库标准[11]。
本系统使用Oracle.NET提供者连接数据库进行数据库连接及相关操作。
本系统为数据库连接写了一个数据库连接类,然后通过获取里面的数据库连接字符串获得数据库连接的具体配置。
连接字符串如下所示:
PublicOracleConnectionDBConnection=newOracleConnection(
"DataSource=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCL)));PersistSecurityInfo=True;UserID=sqh;Password=sqh;Unicode=True");
数据库操作类为DBHelp,函数如下所示:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Data.OracleClient;
usingSystem.Data;
namespaceTicketApplication
{
classDBHelp
{
publicOracleConnectionDBConnection=newOracleConnection("DataSource=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCL)));PersistSecurityInfo=True;UserID=sqh;Password=sqh;Unicode=True");//进行连接
publicDBHelp()
{
}
///
///查询,获得dataset对象
///
///
publicSystem.Data.DataSetRunQuery(StringQueryString,Stringtablename)
{
System.Data.DataSetdataset=RunQuery(QueryString);
dataset.Tables[0].TableName=tablename;/////
returndataset;
}
publicSystem.Data.DataSetRunQuery(StringQueryString)
{
OracleDataAdapterDBAdapter;
DataSetResultsDataSet=newDataSet();
try
{
CheckConnOpen();
//建立DataSet.
DBAdapter=newOracleDataAdapter(QueryString,DBConnection);
DBAdapter.Fill(ResultsDataSet);
//关闭连接.
DBConnection.Close();
}
catch(Exceptionex)
{
thrownewException(ex.Message);
}
finally
{
CheckConnClosed();
}
returnResultsDataSet;
}
///
///检查连接
///
///
publicboolCheckConnOpen()
{
if(DBConnection==null||DBConnection.State==System.Data.ConnectionState.Closed)
{
DBConnection.Open();
}
returntrue;
}
publicboolCheckConnClosed()
{
if(DBConnection!
=null||DBConnection.State==ConnectionState.Open)
{
DBConnection.Close();
//returntrue;
}
returntrue;
}
publicDataTableGetDataTable(stringsql)
{
OracleDataAdapterda=null;
DataTabledt=null;
try
{
CheckConnOpen();
da=newOracleDataAdapter(sql,DBConnection);
dt=newDataTable();
da.Fill(dt);
}
catch(Exceptionex)
{
thrownewException(ex.Message);
}
finally
{
CheckConnClosed();
}
returndt;
}
///
///数据库的增加,删除,修改
///
///
///
publicintExecuteNonQuery(stringsql)
{
returnExecuteNonQuery(sql,null);
}
publicintExecuteNonQuery(stringsql,System.Data.OracleClient.OracleParameter[]parms)
{
OracleCommandcommand=null;
intcount=0;
try
{
CheckConnOpen();
command=newOracleCommand(sql,DBConnection);
command.CommandType=CommandType.Text; //执行类型:
命令文本
count=command.ExecuteNonQuery();
}
catch(Exceptionex)
{
thrownewException(ex.ToString());
}
finally
{
command.Dispose();
CheckConnClosed();
}
returncount;
}
}
}
下面是数据库各表:
表3-6数据库列表
表3-7用户表
表3-8合同信息表
表3-9业务伙伴表
表3-10开票信息表
表3-11开票明细信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国际贸易 管理 系统 设计 实现 毕业论文