C#企业固定资产管理系统.docx
- 文档编号:26000546
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:27
- 大小:233.70KB
C#企业固定资产管理系统.docx
《C#企业固定资产管理系统.docx》由会员分享,可在线阅读,更多相关《C#企业固定资产管理系统.docx(27页珍藏版)》请在冰豆网上搜索。
C#企业固定资产管理系统
郑州科技学院
计算机科学与技术专业
《c#程序设计》课程设计
实验报告
学院:
信息工程学院班级:
10计科
(2)
成员曾炜林学号:
2011038004
开课学期:
2013-2014第二学期
实验日期:
6月
指导教师:
王玉萍
IT企业固定资产管理系统
简介
随着传统的笔墨记账方式正在向电子化发展,为了企业资产统计的水平和效率,实现比传统纸张方式更有效的财务统计,IT资产管理系统因运而生。
通过对企业固定资产以及各项原始成本统计的流程和业务进行全面考察分析,结合目前最先进的OA系统开发技术,实现了企业固定资产的电子化管理的有效转移。
资产是企业管理中的一个重要组成部分,而对资产的管理是对企业资源的根本管理。
固定资产管理系统可以有效地对固定资产进行科学管理,防止虚增资产和企业资产流失,其中包括基本信息设置、固定资产管理、业务处理、统计汇总管理。
本文在介绍C#和ASP.NET相关技术和国内外发展现状的基础上,系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息,采用多线程、多任务的设计思想以及需求来开发出性能稳定,功能全面的服务器,并完整的实现OA管理系统的功能。
本文给出了一些开发系统所用到的开发语言、开发工具和一些技术,然后对各类需求进行简要收集详细分析,给出概要设计,最后展示出具体实现和测试结果。
本系统分为客户端和服务器端。
在客户端系统能为收录员提供基本信息设置、固定资产管理、业务处理、统计汇总管理等功能;在服务器端,管理员通过主界面直接管理服务器,通过服务器主界面提供的功能管理入口进入各功能管理界面,包括管理人员信息、管理各项分配信息、管理流动资金信息、管理各项权限信息等界面。
本系统采用模块化设计方法,方便各会计的使用,同时便于管理员的管理,提高了企业财务管理的工作效率,优化了企业资产的有效核对与分配。
该系统适合在中小型企业中推广使用,它能够优化固定资产的分配流程,实现仓库价值大化,同时又使总体成本最低化,并最终提高企业固定资产以及流动资产的网络化管理水平。
关键字:
固定资产管理;C#;ASP.NET;C/S;多线程
需求分析
1.现状简诉:
近年来,我国互联网在高速发展,企业固定资产信息管理平台是传统纸张运算收录与计算机信息化管理相结合的成果,它能有效避免手工管理中的不便,实现管理方式的升级,电子化的管理模式让企业固定资产实现最大的可压榨价值,让企业财务的运作高速、有效、准确;以实现快、准、狠的管理理念。
基于良好有效的现代化发展空间,财会行业对自身提供服务的质量和能力也有了更高的要求。
在快速发展的同时,在多数企业内部的各项资产管理中仍普遍采用手工管理方式,整体科技含量低。
随着随着各个企业的规模的不断扩大,手工管理在工作效率、人员成本、提供决策信息方面都已经难以适应现代化经营管理的要求,严重制约了整个企业固定资产的规模化高效利用和整体运作服务水平的提升。
2.功能分析:
本系统面向的用户是固定资产相对较少,固定资产管理相对较为简单的中小型企业,其他的大型企业可以供参考应用。
本产品让用户从繁重的资产管理中解脱出来,通过一系列的查询功能,用户可以方便地知道企业中的每一件资产的状态及现在所处的位置;通过添加、修改功能可以动态地对企业中的资产进行管理;通过借出、归还、统计汇总等功能可以对资产进行维护,保证企业中的每一件物品发挥其最大效力。
本系统可以为管理员和普通用户所使用:
管理员:
普通用户:
本系统是一个主要包括系统管理、基本数据管理、资产管理、统计查询、关于系统等功能较齐全的固定资产管理系统。
系统管理包括:
用户登录验证、用户的添加、更改用户密码、更改用户权限、退出等功能。
基本数据管理包括:
资产分类设置、部门信息设置,设置这些项目是为了标识出某项固定资产的分类,数量单位以及存放或使用单位。
资产管理包括:
资产信息的浏览、修改、删除,资产借出,资产归还等功能。
统计查询包括:
统计汇总,资产查询,报表打印等功能。
关于系统包括:
关于软件的一些简介和软件设计成员的介绍等。
3.性能分析:
1)易用性:
系统界面设计力求简单明确,简单快速、方便使用,设计人性化,操作简单便捷。
2)安全性:
用户必须经过输入用户名和密码才能登录到系统中,防止非法用户进入系统,同时用户要分系统管理员和普通用户不同的权限,防止出现越权操作。
3)扩充性:
系统模块之间相互独立,系统可扩充性强。
当添加新功能是,只需改动少量部分或不改动,而不是重新设计。
4.数据库分析:
本系统采用Access2007,根据系统需求设计数据表,数据之间关系明确。
可行性分析
社会可行性:
基于C/S的订餐系统将传统的交易流程信息化、数字化,一方面以信息流代替了面对面的交易,可以大量减少人力、物力,降低了成本;另一方面突破了时间和空间的限制,使得交易活动可以在任何时间、任何地点进行,从而大大提高了效率。
经济可行性:
由于本系统的主要背景是课程设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求并不高,只要有一台能运行Java软件的电脑便可,所以不用考虑到经济问题。
技术可行性:
本系统的开发采用C#语言和简单的网络通信协议,只实现一些基本功能,练习上课所学内容,因此本系统是一个小型的基于C/S的订餐系统,功能并不是很强大。
运行可行性:
本系统为一个小型的资产管理系统,所耗费的资源不多,现在一般的电脑无论是硬件还是软件均可满足作为客户端的条件,服务器配置要求也不是太高。
因此,本系统在运行上是可行的。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它是可行的。
运行环境
传统的数据库应用一般要支队每一个操作系统开发一个专用版本,为不同的硬件平台开发不同的版本。
本系统的运行环境只要平台具有符合HTML标准的浏览器。
C#语言
了解C#的发展历史
C#(读做"Csharp",中文译音暂时没有.专业人士一般读"Csharp",很多非专业一般读"C井"。
它是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.NET的应用而开发的语言。
它吸收了C++、VisualBasic、Delphi、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华。
C#继承了C语言的语法风格,同时又继承了C++的面向对象特性,并且C#成为ECMA与ISO标准规范。
不同的是,C#的对象模型已经面向Internet进行了重新设计,使用的是.NET框架的类库;C#不再提供对指针类型的支持,使得程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。
.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。
同时,公共语言运行时(CommonLanguageRuntime)为C#程序语言提供了一个托管的运行时环境,使程序比以往更加稳定、安全。
C#语言的特点
(1)语言简洁。
(2)保留了C++的强大功能。
(3)快速应用开发功能。
(4)语言的自由性。
(5)强大的Web服务器控件。
(6)支持跨平台。
(7)与XML相融合。
2系统开发工具与网络技术
开发工具
基于C#聊天系统的设计主要运用C#语言、ASP.NET技术和Socket类结合而开发。
其开发的主要环境包括:
服务器端:
(Windows平台)首先应有VisualStudio开发工具,建议采用VisualStudio2008及其以上版本,本系统开发工具为VisualStudio2008;另外,需要安装Access2007数据库,建议采用Access2007及其以上版本,本系统采用Access2007;
客户端:
应有VisualStudio开发工具,建议采用VisualStudio2008及其以上版本,本系统开发工具为VisualStudio2008;
开发环境
本系统运行环境所需用到的环境为:
硬件配置:
中央处理器(CPU):
AMDⅡx2240的处理器;
硬 盘:
40GB以上硬盘;
内 存:
512DDR内存;
显 卡:
128M显存显卡
显示器:
17寸显示器等;
软件环境:
WINDOWSXP、MicrosoftVisualStudio2005、Access2007等
TCP/IP及Socket
TCP/IP协议常识
TCP/IP(TransmissionControlProtocol/InternetProtocol)是传输控制协议/网际协议的缩写,TCP/IP是当今网络互联的核心协议。
TCP/IP协议的体系结构共有四个层次,即应用层、传输层、网络互联层和网络接口层。
IP协议的作用:
第一,它是网络层的协议,提供互联网上数据传输的统一格式。
第二,提供不可靠的无连接的服务。
第三,定义了互联网上的传输数据的基本单元,提供了供路由选择的信息,没有差错校验和处理的机制。
TCP协议的功能:
差错控制——可靠性、面向连接、分段(Segment)、端口号。
TCP是传输控制协议,是面向连接的提供了一种可靠的传输服务,它用三次握手和滑动窗口机制来保证传输的可靠性,及进行流量控制。
(1)TCP/IP协议具有以下特点:
1)协议标准具有开放性,其独立于特定的计算机硬件及操作系统,可以免费使用。
2)统一分配网络地址,使得每个TCP/IP设备在网络中都具有唯一的IP地址。
3)实现了高层协议的标准化,能为用户提供多种可靠的服务。
(2)TCP/IP协议进行传输数据传输的过程:
在基于TCP/IP协议的网络中,套接字(Socket)是通信的基石,是网络通信的基本操作单元,应用程序为了传输数据会调用TCP,将数据和对应的参数传给TCP,将TCP数据包封装在IP包内,通过网络送给目的TCP。
接收方TCP在接收到数据后通知上层应用程序,TCP将保证接收数据的正确性。
在实现TCP的主机上,TCP可以被看成是一个模块,和文件系统区别不大,TCP也可以调用一些操作系统的功能,TCP不直接和网络打交道,控制网络的任务由专门的设备驱动模块完成。
TCP只是调用IP接口,向TCP提供所有TCP需要的服务。
(3)端口号:
有的时候,一个ip地址不能完整的标识一台服务器,这是应为一台物理性的计算机同时运行着多个应用程序,这就需要我们来区别同一台机子上的不同的服务,所以就在传输层和应用层上设置接口,就是端口。
端口实际是一个16位长的地址,他的范围是0~65535之间,其中0~1023是熟知端口,主要是给提供服务的应用程序使用,这些端口是所有应用进程都只道的,1024~65535为一般端口,也称动态端口、连接端口,用来随时分配要求通信的个客户端应用程序。
在数据传输过程中,各种服务器不断的检测分配给他的端口,一边发现要求和他通信的客户端。
Socket的简介
Socket,简称套接字,用于实现网络上客户和服务器之间的连接。
也就是说网络上两个或两个以上双工方式通信的进程之间总有一个连接,这个连接的端点成为套接字,套接字是在比较低的层次上通信的。
具体的说:
一个服务器应用程序一般侦听一个特定的端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过程中,客户端被分配一个本地端口与一个socket建立连接,客户端通过写socket来通知服务器,以读socket中的信息,类似的服务器也获得一个本地端口,它需要一个新的端口号来侦听原始端口上的其他连接请求。
服务器也通过它的本地端口连接一个socket,通过读写和客户端通信。
(1)建立Socket连接:
在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道。
(2)数据通信:
利用虚拟连接通道传送数据信息进行通道。
(3)关闭:
通信结束时,再将所建的虚拟连接拆除。
Socket程序的工作过程,如图2.11所示:
图2.11客户机/服务器socket通讯的工作模式图
第一次握手:
原主机发送一个带有本次连接的序号的请求的一个数据帧。
第二次握手:
目的主机收到请求后,如果同意连接,则发回一个带有一个本次连接序号和源端机连接序列号的确认。
第三此握手:
源端机收到含有两次初始序列号的应答后,在向目的主机发送一个带有两次连接的序列号的确认。
具体的三次握手过程,如下图2.12所示。
图2.12三次握手
由此可见,通过客户端和服务器的“三次握手”,双方可以建立畅通的通信信道,在此信道上双方互相传输数据。
概要设计
系统结构功能图
数据库表与表之间的关系图
文件夹结构图
六、详细设计
1.dbconnection.cs类
publicstaticstringconnection
{
get
{
return"DataSource=(local);InitialCatalog=db_zc;IntegratedSecurity=True;";
}
}
2、系统登录模块
privatevoidbtnok_Click(objectsender,EventArgse)
{
if(cmbname.Text.Trim()==""||textPassword.Text.Trim()==""||cmbm.Text.Trim()=="")
MessageBox.Show("输入信息不完整\n请重新输入","提示");
else
{
mycon.Open();
stringsql="select*fromtb_usrwhereusr_id='"+cmbname.Text.Trim()+"'andusr_passwd='"
+textPassword.Text.Trim()+"'andusr_pope='"+cmbm.Text.Trim()+"'";
SqlCommandcmd=newSqlCommand(sql,mycon);
if(cmd.ExecuteScalar()!
=null)
{
cmbname.Items.Add(cmbname.Text.ToString());
this.Visible=false;
Frmmainmain=newFrmmain();
main.Tag=this.FindForm();
SqlDataReaderdr=cmd.ExecuteReader();
dr.Read();
if(cmbm.Text.Trim()=="管理员")
{
main.toolStripStatusLabel3.Text=cmbname.Text.Trim();
main.toolStripStatusLabel2.Text="管理员";
main.ShowDialog();
}
else
{
main.添加用户ToolStripMenuItem.Enabled=false;
main.基本数据管理DToolStripMenuItem.Enabled=false;
main.资产管理MToolStripMenuItem.Enabled=false;
main.toolStripButton1.Enabled=false;
main.toolStripButton3.Enabled=false;
main.toolStripButton4.Enabled=false;
main.toolStripButton6.Enabled=false;
main.toolStripStatusLabel3.Text=cmbname.Text.Trim();
main.toolStripStatusLabel2.Text="普通用户";
main.ShowDialog();
}
}
else
MessageBox.Show("用户名等信息输入错误!
","警告");
mycon.Close();
}
登陆界面
3、浏览用户功能
privatevoidShowinfo()
{
mycon.Open();
stringsql="selectusr_idas用户名,usr_nameas姓名,'***'as密码,usr_popeas身份fromtb_usr";
SqlDataAdapteradp=newSqlDataAdapter(sql,mycon);
ds=newDataSet();
ds.Clear();
adp.Fill(ds,"user");
this.dgvusrs.DataSource=ds.Tables["user"].DefaultView;
this.dgvusrs.SelectionMode=DataGridViewSelectionMode.FullRowSelect;
this.dgvusrs.DefaultCellStyle.SelectionBackColor=Color.YellowGreen;
this.dgvusrs.ReadOnly=true;
mycon.Close();
}
privatevoidtoolStripButton1_Click(objectsender,EventArgse)
{
if(this.dgvusrs.DataSource!
=null&&this.dgvusrs.CurrentCell!
=null)
{
Frmmodifyusrmod=newFrmmodifyusr();
mod.txtid.Text=this.dgvusrs[0,this.dgvusrs.CurrentCell.RowIndex].Value.ToString().Trim();
mod.txtname.Text=this.dgvusrs[1,this.dgvusrs.CurrentCell.RowIndex].Value.ToString().Trim();
mod.cmbm.Text=this.dgvusrs[3,this.dgvusrs.CurrentCell.RowIndex].Value.ToString().Trim();
mod.StartPosition=FormStartPosition.CenterParent;
mod.ShowDialog();
if(mod.DialogResult==DialogResult.OK&&mod.blmodify==true)
Showinfo();
}
else
MessageBox.Show("没有指定类型信息!
","提示");
}
privatevoidtoolStripButton2_Click(objectsender,EventArgse)
{
if(this.dgvusrs.DataSource!
=null&&this.dgvusrs.CurrentCell!
=null)
{
mycon.Open();
stringsql="deletefromtb_usrwhereusr_id='"+this.dgvusrs[0,this.dgvusrs.CurrentCell.RowIndex].Value.ToString().Trim()+"'";
SqlCommandcmd=newSqlCommand(sql,mycon);
cmd.ExecuteNonQuery();
MessageBox.Show("删除用户'"+this.dgvusrs[0,this.dgvusrs.CurrentCell.RowIndex].Value.ToString().Trim()+"'成功!
","提示");
mycon.Close();
Showinfo();
}
else
MessageBox.Show("没有指定类型信息!
","提示");
}
privatevoidtoolStripButton3_Click(objectsender,EventArgse)
{
this.Close();
}
}
用户浏览界面
4、浏览用户功能
privatevoidFrmast_Load(objectsender,EventArgse)
{
Showinfo();
}
privatevoidShowinfo()
{
mycon.Open();
stringsql="selectast_idas资产编号,sort_idas所属类别,ast_nameas资产名称,ast_priceas资产单价,ast_numberas资产数量,dept_nameas所属部门,ast_indataas入库日期,ast_ustimeas使用年限,ast_outas借出数量fromtb_ast";
SqlDataAdapteradp=newSqlDataAdapter(sql,mycon);
ds=newDataSet();
ds.Clear();
adp.Fill(ds,"ast");
this.dgvast.DataSource=ds.Tables["ast"].DefaultView;
this.dgvast.DefaultCellStyle.SelectionBackColor=Color.YellowGreen;
mycon.Close();
}
privatevoidtoolStripButton1_Click(objectsender,EventArgse)
{
Frmaddastast=newFrmaddast();
ast.StartPosition=FormStartPosition.CenterParent;
ast.ShowDialog();
Showinfo();
}
privatevoidtoolStripButton2_Click(objectsender,EventArgse)
{
if(this.dgvast.DataSource!
=null&&this.dgvast.CurrentCell!
=null)
{
Frmmodifyastast1=newFrmmodifyast();
ast1.txtid.Text=this.dgvast[0,this.dgvast.CurrentCell.RowIndex].Value.ToString().Trim();
ast1.txtsort.Text=this.dgvast[1,this.dgvast.CurrentCell.RowIndex].Value.ToString().Trim();
ast1.txtna
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 企业 固定资产 管理 系统