1、*大学本科毕业论文(设计)摘 要随着社会经济的不断发展,企业规模越来越大、资产越来越多,企业资产管理就显得非常困难。尤其是在手工管理方式下,财会人员对资产进行折旧时,需要查阅上一个月的资产信息,根据上月的资产信息核算折旧资产,在这种情况下进行的固定资产核算不能保证数据的准确性。所以我们有必要设计一套针对管理小型企业固定资产的系统。固定资产管理系统是针对小型企业固定资产管理而开发的管理系统,集增加、修改、清理、折旧核算于一体,实现了对企业固定资产的管理。基于以上的问题,本论文介绍了基本信息管理、固定资产管理、数据维护管理、系统操作员设置模块的设计与实现,实现了除去繁杂的手工管理,大大减轻了财会人
2、员每月进行资产折旧核算的负担,提高了工作效率又确保了数据的准确性。具有操作简单、界面友善、灵活性好、系统安全性高、运行稳定等特点。本文简要介绍了固定资产管理系统的项目背景和意义,着重阐述了该系统的设计实现过程与该系统数据库的设计实现过程;从系统的需求分析、模块设计、数据库设计到系统测试等各个环节都进行了详尽的分析和描述。关键词: 固定资产;SQL Server数据库;C#.NET;折旧核算 ABSTRACTAlong with social economys unceasing development, the enterprise size is getting bigger and big
3、ger, the property to be getting more and more, the enterprise assets management appears very difficult. Especially when the manual mode of administration, the finance and accounting personnel carries on the depreciation to the property, needs to consult on one month-long property information, accord
4、ing to last months property information calculation depreciation property, the fixed asset calculation which in this case carried on cannot guarantee the data the accuracy. Therefore we have the necessity to design a set in view of the management Small business fixed asset system.The system of fixed
5、 asset management is a supervising system which empolder for some small enterprises. Include increase, modify, clear, and accounting for depreciation. It is possbile to manage the fixed asset of companies. In summary, this discourse introduce the basic information management, fixed asset management,
6、 data maintenance and supervising. Let the system operators can finish designing the major modules. It needs less handmade management, and it will cut down a lot of heavy burdens of accountants about calculating the depreciation of assets. It is not only advance the efficiency of employment, but als
7、o ensure the veracity of the data. It contains some strong points such as easy working, sociable interphase, highly flexibility, greatly security of the system, steady function and so on.This article briefly introduced the Fixed assets management system the project background and significance, elabo
8、rated on the system design process the database design process from the system needs analysis, modular design, database design to system testing all stages of a detailed analysis and description.Keywords: fixed assets;SQL Server Database;C#.NET;calculating the depreciation35 *大学本科毕业论文(设计)目 录第一章 绪论1页
9、1.1论文研究背景1页1.2论文的提出1页1.3相关研究现状1页1.4论文主要工作及结构安排2页1.5系统开发环境与工具3页第二章 系统分析4页2.1 可行性分析4页2.2 需求分析4页第三章 系统设计7页3.1总体设计7页3.2 数据库设计9页3.3各功能模块设计12页第四章 系统实现14页 4.1 连接数据库的方法14页4.2 各模块的实现15页4.2.1登录模块设计15页4.2.2系统主窗体设计16页4.2.3基本信息管理模块设计17页4.2.4 固定资产管理模块设计19页4.2.5 数据维护管理模块设计27页4.2.6 操作员管理模块29页第五章 系统测试31页第六章 总结32页参考文
10、献33页致 谢34页*大学本科毕业论文(设计)第一章 绪论1.1 论文研究背景固定资产是每个企业进行生产经营活动的物质基础。根据税法和会计制度的相关规定,固定资产是指使用年限超过一年的房屋、建筑物、机器、机械、运输设备以及其他与生产经营有关的设备、器具、工具等物品;不属于生产经营的设备,单价在2000元以上,使用年限超过一年的物品,也作为固定资产罗斌编著. Visual C#.NET精彩编程实例集锦M.北京:中国水利水电出版社,2005.6.。现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的固定资产管理的形式和内涵都在发生着根本性的变化。在过去,一支笔和
11、一张绘图桌,可能就是进行办公的全部工具。今天,电脑、扫描仪和打印机等,已基本取代了旧的办公用具。如今,企业固定资产管理已可以完全通过信息化工具进行,并在计算机辅助下准确快速地完成许多复杂的工作。这些都很大程度地缩短管理的时间 。我认为,在现代化的进程中,引入固定资产管理的思想,建立一套可面向企业单位固定资产的管理系统,也是十分必要的。1.2 论文的提出调查研究表明,大多数企业并不缺少数据,而是受阻于过量的冗余数据和数据不一致;而且它们变得越来越难于访问、管理和用于决策支持;其数据量正以成倍的速度增长。如果企业资产很多,财会人员既要按时对资产进行折旧,又要保证数据的准确性,因为一旦某个月的资产折
12、旧有误,会影响以后的资产核算同.。所以我们有必要设计一套针对管理固定资产的系统,是企业在进行固定资产基本资料管理、分类管理、添加、更新、删除、资产清理、资产清理查询、资产折旧核算时准确性高,操作起来方便容易,管理简单。本系统以小型企业为例,可以对小型企业固定资产进行有效管理,因此单价在1000元以上,使用年限超过一年的,作为固定资产。1.3 相关研究现状固定资产管理系统是企业管理中的一个重要组成部分,固定资产管理具有价值高,使用周期长、使用地点分散、管理难度大等特点。国内外许多企业在固定资产管理中也许都遇到过以下所列的问题 :(1)资产折旧数据不准确 -不能准确反映企业的经营成果和业绩;(2)
13、帐面价值统计不准确 -导致资产流失;(3)繁重的盘点工作,耗时耗力 -信息反映不及时,影响了企业的运营效率,导致资产重复购置。所以一个好的固定资产管理系统对于企业来说是非常必要的,而现阶段在金融、电力、政府、教育、电信酒店、制造、医疗等行业,固定资产管理系统也都发挥着它的重要作用,例如交通银行也有自己的一套固定资产管理系统,它加强管理清晰环节,接生盘点结算时间,加强购入固定资产避免重复购置和浪费,及时掌握资产情况,合理配置资源,简化固定资产折旧工作,确保折旧计算准确 http:/www.canco-:8080/case.jsp?type=24&pageType=2&pageNum=1&id=5
14、84.。本系统是为小型企业管理固定资产而设计的,通过本系统可以达到以下目标:(1)灵活的运用表格传递信息;(2)界面美观,信息查询灵活、方便,数据存储安全可靠;(3)资产折旧自动核算;(4)实施强大的后台监控功能;(5)对用户输入的数据,进行严格的数据检验,尽可能避免人为错误。1.4 论文主要工作及结构安排论文的主要工作:用来描述关于本次固定资产管理系统的开发前后所作的工作,对已经完成的任务进行总结性的概括,对系统内各个功能及模块进行更全面的分析,方便在以后的开发或者是学习中提高效率和开发能力。(1) 经过系统的需求分析及可行性分析,实地的对蒙自新华书店固定资产管理进行考察得出开发的要求;;(
15、2) 对系统的所要具备的功能进行总体的认识及设计;(3) 对系统的所要求的开发工具及系统的开发所能实现的环境进行了准备;(4) 在经过系统的详细设计及功能实现过程中,运用了C#.net与Microsoft SQL Server相关知识,进行系统的编码实现,并对系统的开发进行总结。(5) 论文的撰写。论文的结构安排大致如下:(1)进行系统概要的分析第二章对系统进行了需求、可行性分析。(2)系统的详细设计第三章对系统功能进行了详细描述和各功能模块的划分,详细展示了数据库的物理结构设计和各表间的关系。(3)系统的实现第四章介绍了系统连接数据库的方法和各功能模块的实现。(4)系统测试(5)开发系统的总
16、结最后一章对在这次设计中已经实现的、还未实现的工作做了总结,并对以后的发展方向做出展望。1.5 系统开发环境与工具(1) 系统开发工具的选择本系统用Microsoft Visual Studio 2005作为开发平台,SQL Server 2000作为数据库提供数据源,用C#语言进行开发。 (2) 系统的运行环境硬件配置:Windows XP(SP2)软件配置:Microsoft.Net Framework SDK v2.0、SQL Server 2000、Windows XP。第二章 系统分析2.1 可行性分析可行性分析是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的
17、开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决曾建潮主编.软件工程M.武汉:武汉理工大学出版社,2003.8.。该系统的可行性分析包括以下三个方面的内容。(1) 社会可行性:当今的中国,一些大型企业确实实现了固定资产管理,可对于一些小型企业还在重复着复杂的手工劳动。由于中国信息技术的落后,可能他们从没想过一台计算机,一个固定资产管理系统就能帮他们轻松的完成这一些复杂的手工劳动,他们就有更多的时间创新、打开销路。我要向他们推出这样一个系统,使人们心中的不可能变为可能。(2) 技术可行性:运用
18、Visual Studio .NET 2003提供的许多对于数据库访问与控制的有效机制,开发过程并不是很长且难度适中。就我个人而言,曾系统地学习过Visual Studio .NET 2003的使用,而且具有一定的编程基础,也曾系统地学过数据库原理的基本内容,并对SQL Server 也有一定的了解,相信经过毕业设计前期准备阶段的学习,定能熟练地使用这些开发工具。(3) 经济可行性:主要是对项目的经济效益进行评价,我个人将作为我的一个作业毕业设计来完成,所要用到的环境和软件都在我个人电脑上已有,不存在任何经费的问题,并且有可能的话,我还可以把成功的该系统卖到市场上。所以本系统在经济上是可行的。
19、2.2 需求分析软件工程学的基本思想就是将软件当作一种工程产品来处理,从时间角度对软件开发和维护的复杂问题进行分解,把软件生命的漫长周期依次划分为若干个相对独立的阶段,并给每个阶段赋予明确而有限的任务。需求分析是软件生命周期中重要的一步,也是起决定性的一步。通过它可尽量了解整个软件的功能和性能方面的要求,为软件设计打下坚实的基础曾建潮主编.软件工程M.武汉:武汉理工大学出版社,2003.8.。2.2.1 目标系统描述本系统是用于会计管理企业固定资产,所以必须了解财务的环节。管理过程的主要人物是会计和企业固定资产,他们之间的关系是:会计通过资产的增加、更新、清理、核算对企业的固定资产进行管理。系
20、统上的内容要能体现到会计与固定资产之间的这种互动。为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:(1)时间经济性。优化逻辑设计与物理设计,使系统运行效率高,反映速度快。(2)可靠性。能连续准确的处理业务,有较强的容错能力。(3)可理解性。用户容易理解和使用该系统。(4)可维护性和适应性。系统应易于修改、易于扩充、易于维护,能够适应业务不断发展变化的需要。(5)可用性。目标系统功能齐全,能够完全满足业务需求。(6)安全保密性。保证系统的物理安全、数据存储和存取的安全与保密、数据传输的安全与保密。2.2.2 功能需求描述本系统面向的用户群只有会计,系统的功能需求是
21、财会人员能方便、准确的对固定资产进行增加、更新、清理和折旧核算。下面是对该管理系统的需求说明,由用户和开发人员共同完成:(1)财会人员要对固定资产进行管理,必须要在系统中先登录。(2)企业由自建、盘赢、并购等方式,使得固定资产有所增加。出售、报废、盘亏等,需要将原有固定资产清理出去。(3)财会人员是企业的雇员,负责企业固定资产的管理,他们的工作要得到系统的支持。(4)财会人员需每月对固定资产进行资产折旧核算。(5)企业可以方便的增加、更新、清理系统中的固定资产。(6)系统应具有很好的可扩展性。通过以上对该系统的需求说明,本系统要实现的功能有:(1)操作员基本信息模块操作员基本信息模块具有用户输
22、入、用户增删和用户密码修改三个功能。(2)基本信息管理模块财会人员根据企业的实际情况设置资产名称、增加方式、使用部门、使用情况、存放地点、保管人员、计量单位、清理方式和资产分类。(3)固定资产结构设置模块根据该企业的固定资产管理实际情况,本系统将固定资产结构分为固定资产增加、更新、清理、折旧核算功能。(4)系统数据维护模块对系统数据初始化和系统数据备份与恢复。2.2.3 界面设计描述人们对美的向往和追求是与生俱有的。显然没有人愿意丑化自己的程序,也没有用户嗜好丑陋的界面。软件开发者要设计美,用户要享受美,所以界面的美是开发者与用户的共同需求。尽管界面的美并没有增加软件的功能与性能,却又是必不可
23、少的。本系统的界面本着美观、简洁、实用、方便的原则。本系统在主页上列出功能菜单,用户单击菜单栏上的相应按钮就进入相应的登录界面,每个页面的设计都简洁、实用,功能也很清晰,让用户能很好的进行操作。第三章 系统设计系统详细设计是编码的前提,基于上一章对该系统需求分析,和系统的功能进行了描述和划分,结合数据库原理,本章的工作是做好该系统的用例分析,数据库的物理、逻辑结构设计,建立好各表间的关系。3.1 总体设计3.1.1 系统功能描述本系统是为小企业而设计的,在进行完系统开发需求分析后,基本上确定系统大概的功能,对各个功能进行划分,则本系统主要功能有:能够实现对企业基本资料的管理;实现操作员的添加、
24、删除;实现对企业固定资产的增加、更新、清理的功能,使固定资产的管理质量提高;实现对固定资产的折旧核算,使财会人员能瞬间获得企业各类资产的月度折旧额和历史折旧信息,真实反映企业的成本和利润;进行数据备份和数据恢复,维护系统数据库的安全。3.1.2 系统流程分析图3-1 系统流程图系统流程图能很直观地反映系统的操作的步骤,是算法的图形化。图3-1是整个大体的流程图。具体的操作又有具体的数据流程图,下面是部分具体的数据流程图。图3-2 系统业务流程图图3-3 增加资产流程图3.1.3 E-R图将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。它是整个数据库设计的键。系统E-R图
25、,如图3-4所示:图3-4 固定资产管理系统E-R图3.2 数据库设计3.2.1 物理结构设计数据库在物理设备上的存储结构与存取方法被称为数据库的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计李春葆编著. 数据库原理与应用基于SQL Sever 2000 M.北京:清华大学出版社,2006.1.。相关数据字典:固定资产信息=资产编号+资产名称号+规格型号+资产类别号+生产厂家+出厂日期+增加方式号+使用部门号+使用情况+存放地点号+保管人员号+入帐日期+数量+单位+单价+资产原值+累计折旧+资产净值+净残值率+折旧方法+
26、年限+登记日期+登记人。固定资产信息表,参见表3-1。表3-1 固定资产信息表(zcMain)表名zcMain列名数据类型(精度范围)空/非空描述IDInt(4)NOT NULLID(自动编号)bhVarchar(50)NULL资产编号mcIDInt(4)NULL资产名称号xhVarchar(50)NULL规格型号zclbIDInt(4)NULL资产类别号sccjVarchar(50)NULL生产厂家ccrqDateTime(8)NULL出厂日期zjfsIDInt(4)NULL增加方式号sybmIDInt(4)NULL使用部门号syqkVarchar(50)NULL使用情况cfddIDInt(
27、4)NULL存放地点号bgryIDInt(4)NULL保管人员号rzrqDateTime(8)NULL入帐日期slInt(4)NULL数量dwVarchar(20)NULL单位djFloat(8)NULL单价zcyzFloat(8)NULL资产原值ljzjFloat(8)NULL累计折旧zcjzFloat(8)NULL资产净值jczlFloat(8)NULL净残值率zjffVarchar(20)NULL折旧方法nxInt(4)NULL年限djrqDateTime(8)NULL登记日期djrVarchar(20)NULL登记人相关数据字典:系统用户=用户名称+用户密码。系统用户表,参见表3-2表
28、3-2 系统用户表(User)表名User列名数据类型(精度范围)空/非空描述IDInt(4)NOT NULLID(自动编号)userNameVarchar(50)NULL用户名称userPwdVarchar(50)NULL用户密码等等就是关于系统中主要数据库的表名及表内信息字段的展示。3.2.2 表间关系图图3-5 固定资产管理系统表间关系图3.3 各功能模块设计图3-6 系统功能模块图系统主要功能划分完后,进行系统主要功能模块的设计。如图3-6,该系统主要包括模块有:(1)用户登陆模块:用户登入后进行系统的操作;(2)基本信息管理可以对资产类别、资产名称、增加方式、使用部门、使用情况、存放
29、地点、保管人员、计量单位、清理方式等基本资料进行新增、修改和删除;(3)固定资产管理固定资产增加,可以添加资产信息;固定资产更新,可以修改资产信息;固定资产清理,可以清理资产信息;固定资产清理明细,可以查看已清理资产;固定资产折旧核算,可以自动对资产进行折旧核算并查看资产折旧额;(4)数据维护管理实现系统数据的初始化工作(初始化数据。在初始化前最好先进行备份,以免造成数据丢失)、系统数据库备份与恢复。(5)系统操作员设置(添加、修改、删除操作员管理)第四章 系统实现4.1 连接数据库的方法开发项目中以类的形式来组织、封装一些常用的事件和方法,不仅可以提高代码的重用率,也大大方便了代码的管理 王
30、晟编著.Visual C#.NET数据库开发经典案例解析M.北京:清华大学出版社,2005.4.。在本系统中就定义了一个公共类,主要实现打开/关闭数据库连接,执行数据的增、删、改、查等功能:(1)打开数据库连接的Open方法建立数据库的连接,主要通过SqlConnection类实现,并初始化数据库连接字符串然后通过State属性来判断连接状态,如果数据库连接状态为关,则打开数据库连接。代码如下:private void Open() / 打开数据库连接 if (con = null) /con = new SqlConnection(Data Source=HOME-C1D2B7E5F4;In
31、itial Catalog=gdzcglxt;Integrated Security=True); con = new SqlConnection(server=(local);database=gdzcglxt;uid=sa;pwd=); if (con.State = System.Data.ConnectionState.Closed) con.Open(); (2)关闭数据库连接的Close方法关闭数据库连接主要通过SqlConnection对象的Close方法实现。代码如下:public void Close() if (con != null) con.Close(); 4.2 各
32、模块的实现4.2.1 登录模块设计图4-1 登录窗体用户点击图标,进入系统,首先要在登录界面上输入“用户名称”和“用户密码”,只有2个空格输入全部正确才能进入主界面,否则系统报错(如图4-2),需重新输入。图4-2 登录窗体提示重要代码说明:private void btnOK_Click(object sender, EventArgs e) if (LoginSystem(txtUserName.Text, txtPWD.Text).Tables0.Rows.Count 0) MessageBox.Show(你已成功登陆系统, 系统提示, MessageBoxButtons.OK, Mes
33、sageBoxIcon.Information); this.Visible = false; new frmMain().ShowDialog(); else MessageBox.Show(操作员用户名称或密码错误,请重新输入!, 系统提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtUserName.Focus(); 4.2.2 系统主窗体设计图4-3 系统主窗体登陆后弹出主界面(图4-3),可以看到固定资产信息表显示在其中,在主界面的查询条件中可根据资产编号和名称来查询显示资产。刷新按钮用来更新固定资产信息表,例如在进行
34、资产的增加、更新、清理后,还未能在固定资产信息表中找到相关信息的改动,只用刷新一下便可显示出来。在主界面中可以看到各个功能模块,其中基本信息管理中包括资产分类和基本资料,固定资产管理中包括资产的增加、更新、清理、清理明细和折旧核算,数据维护管理中包括系统数据初始化和系统数据备份/恢复。可根据需要点击进入各个功能模块。在主界面中单击系统退出时,系统会提示如图4-4,点击“是”成功退出系统。图4-4 系统主窗体提示重要代码说明:private void toolStripButton9_Click(object sender, EventArgs e) if (tlcmbFind.Text = )
35、 return; string findTitle = ; if (tlcmbFind.Text = 资产编号) findTitle = BH; else findTitle = MC; dgvGdzcList.DataSource = GetDataSetZC(findTitle, tltxtFind.Text).Tables0.DefaultView; 4.2.3 基本信息管理模块设计本模块用于管理系统的资产类别、资产名称、增加方式、使用部门、使用情况、存放地点、保管人员、计量单位和清理方式等基本资料,对他们进行添加、删除。图4-5 基本资料窗体点击图4-5内左侧的按钮时,中间部分会一同显
36、示相关内容,如点击“使用情况”时,如图4-6显示:图4-6 基本资料窗体A右侧按钮可实现资产名称、增加方式、使用部门等的添加和删除。重要代码说明:基本资料的增加,如资产名称:private void btnAdd_Click(object sender, EventArgs e) txtName.Text = ; txtName.Focus(); btnSave.Enabled = true; btnAdd.Enabled = false; private void btnSave_Click(object sender, EventArgs e) if (txtName.Text = ) M
37、essageBox.Show(添加新项不能为空!, 系统提示, MessageBoxButtons.OK, MessageBoxIcon.Information); txtName.Focus(); return; else switch (labTitle.Text) case 资产类别: int a = InsertzcLb(txtName.Text); this.btnZCLB_Click(sender, e); break; btnAdd.Enabled = true; btnSave.Enabled = false; 4.2.4 固定资产管理模块设计(1)设计资产增加窗体固定资产增加
38、窗体主要用来添加资产基本信息,例如资产名称、资产类别、增加方式、入账日期等,资产编号通过用户初始设置,由系统自动生成,对于净值、原值等信息会根据用户输入的其它数据计算得出。固定资产模块运行结果如图4-8所示。图4-7 固定资产增加窗体只需一一填写后,点击“保存”即可。因为要用于固定资产的折旧核算,所以其中的折旧方法、预计使用年限和单价必须填写,否则会出现如图4-8所示:图4-8 固定资产增加窗体提示A由于本系统是为小型企业而设计的所以填写“单价”时必须是1000以上,填写“预计使用年限”时必须是1年以上,否则会出现如图4-9所示:图4-9 固定资产增加窗体提示B填写完成后点击保存(图4-10)
39、,增加的固定资产存入固定资产信息表中。图4-10 固定资产增加窗体提示C重要代码说明:为了限制资产的单价、累计折旧、净残值率等需输入的数据类型为fload类型,即输入“0123456789.”,则自定义了方法来验证非法字符:public bool IsNumeric(string strCode) if (strCode = null | strCode.Length = 0) return false; ASCIIEncoding ascii = new ASCIIEncoding(); byte byteStr = ascii.GetBytes(strCode); foreach (byt
40、e code in byteStr) if (code = 190 | code = 110) if (code 57) return false; return true; (2)设计资产更新窗体图4-11 固定资产更新窗体资产更新也就是对资产的修改,例如固定资产使用部门、存放地点等的改变时,就需要用此窗体来重新录入。它与资产增加窗体基本一致,不同的是更新是通过获取主窗体中指定的数据,再点击“资产更新”按钮才能进行。重要代码说明:public Gdzcglxt.frmMain M_frmMain = null;public string M_str_BH = ;private void fr
41、mGdzcUpdate_Load(object sender, EventArgs e) this.BindComboBox(); txtBH.Text = M_str_BH; DataSet ds = GetDataSetZC(txtBH.Text); /根据编号查询原有数据 cmbMC.Text = ds.Tables0.Rows0MC.ToString(); txtXH.Text = ds.Tables0.Rows0xh.ToString();(3)设计资产清理窗体图4-12 固定资产清理窗体当企业的固定资产由于出售、盘亏和报废等而减少时,就需把它清理出来。在主窗体中选定你所要清理的资产,点击固定资产清理则弹出“资产清理窗口”,如图4-12所示,在“清理日期”及“清理方式”中选择相关信息,单击“清理”按钮时如图4-13:图4-13 固定资产清理窗体提示A点击“是”则资产成功清理,如图4-14:图4-14 固定资产清理窗体提示B重要代码说明:public Gdzcglxt.frmMain M_frmMain = null;public string M_str_BH = ;private void btnClear_Click(object sender, EventArgs e) G