C#企业固定资产管理系统(17页).doc

上传人:1595****071 文档编号:36396875 上传时间:2022-08-26 格式:DOC 页数:17 大小:202KB
返回 下载 相关 举报
C#企业固定资产管理系统(17页).doc_第1页
第1页 / 共17页
C#企业固定资产管理系统(17页).doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《C#企业固定资产管理系统(17页).doc》由会员分享,可在线阅读,更多相关《C#企业固定资产管理系统(17页).doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-C#企业固定资产管理系统-第 17 页郑州科技学院计算机科学与技术专业c#程序设计课程设计实验报告学 院: 信息工程学院 班 级: 10计科(2)成 员 曾炜林 学 号: 2011038004开课学期: 2013-2014第二学期实验日期:6月指导教师:王 玉 萍IT企业固定资产管理系统简 介随着传统的笔墨记账方式正在向电子化发展,为了企业资产统计的水平和效率,实现比传统纸张方式更有效的财务统计,IT资产管理系统因运而生。通过对企业固定资产以及各项原始成本统计的流程和业务进行全面考察分析,结合目前最先进的OA系统开发技术,实现了企业固定资产的电子化管理的有效转移。资产是企业管理中的一个重要组

2、成部分,而对资产的管理是对企业资源的根本管理。固定资产管理系统可以有效地对固定资产进行科学管理,防止虚增资产和企业资产流失,其中包括基本信息设置、固定资产管理、业务处理、统计汇总管理。本文在介绍C#和ASP.NET相关技术和国内外发展现状的基础上,系统采用C/S结构,客户端与客户端以及客户端与服务器端之间通过Socket传送消息,采用多线程、多任务的设计思想以及需求来开发出性能稳定,功能全面的服务器,并完整的实现OA管理系统的功能。本文给出了一些开发系统所用到的开发语言、开发工具和一些技术,然后对各类需求进行简要收集详细分析,给出概要设计,最后展示出具体实现和测试结果。本系统分为客户端和服务器

3、端。在客户端系统能为收录员提供基本信息设置、固定资产管理、业务处理、统计汇总管理等功能;在服务器端,管理员通过主界面直接管理服务器,通过服务器主界面提供的功能管理入口进入各功能管理界面,包括管理人员信息、管理各项分配信息、管理流动资金信息、管理各项权限信息等界面。本系统采用模块化设计方法,方便各会计的使用,同时便于管理员的管理,提高了企业财务管理的工作效率,优化了企业资产的有效核对与分配。该系统适合在中小型企业中推广使用,它能够优化固定资产的分配流程,实现仓库价值大化,同时又使总体成本最低化,并最终提高企业固定资产以及流动资产的网络化管理水平。关键字:固定资产管理;C#;ASP.NET; C/

4、S ;多线程需求分析1. 现状简诉:近年来,我国互联网在高速发展,企业固定资产信息管理平台是传统纸张运算收录与计算机信息化管理相结合的成果,它能有效避免手工管理中的不便,实现管理方式的升级,电子化的管理模式让企业固定资产实现最大的可压榨价值,让企业财务的运作高速、有效、准确;以实现快、准、狠的管理理念。基于良好有效的现代化发展空间,财会行业对自身提供服务的质量和能力也有了更高的要求。在快速发展的同时,在多数企业内部的各项资产管理中仍普遍采用手工管理方式,整体科技含量低。随着随着各个企业的规模的不断扩大,手工管理在工作效率、人员成本、提供决策信息方面都已经难以适应现代化经营管理的要求,严重制约了

5、整个企业固定资产的规模化高效利用和整体运作服务水平的提升。2. 功能分析:本系统面向的用户是固定资产相对较少,固定资产管理相对较为简单的中小型企业,其他的大型企业可以供参考应用。本产品让用户从繁重的资产管理中解脱出来,通过一系列的查询功能,用户可以方便地知道企业中的每一件资产的状态及现在所处的位置;通过添加、修改功能可以动态地对企业中的资产进行管理;通过借出、归还、统计汇总等功能可以对资产进行维护,保证企业中的每一件物品发挥其最大效力。本系统可以为管理员和普通用户所使用:管理员:普通用户:本系统是一个主要包括系统管理、基本数据管理、资产管理、统计查询、关于系统等功能较齐全的固定资产管理系统。系

6、统管理包括:用户登录验证、用户的添加、更改用户密码、更改用户权限、退出等功能。基本数据管理包括:资产分类设置、部门信息设置,设置这些项目是为了标识出某项固定资产的分类,数量单位以及存放或使用单位。资产管理包括:资产信息的浏览、修改、删除,资产借出,资产归还等功能。统计查询包括:统计汇总,资产查询,报表打印等功能。关于系统包括:关于软件的一些简介和软件设计成员的介绍等。3. 性能分析:1)易用性:系统界面设计力求简单明确,简单快速、方便使用,设计人性化,操作简单便捷。2)安全性:用户必须经过输入用户名和密码才能登录到系统中,防止非法用户进入系统,同时用户要分系统管理员和普通用户不同的权限,防止出

7、现越权操作。3)扩充性:系统模块之间相互独立,系统可扩充性强。当添加新功能是,只需改动少量部分或不改动,而不是重新设计。4. 数据库分析:本系统采用Access 2007,根据系统需求设计数据表,数据之间关系明确。可行性分析社会可行性:基于C/S的订餐系统将传统的交易流程信息化、数字化,一方面以信息流代替了面对面的交易,可以大量减少人力、物力,降低了成本;另一方面突破了时间和空间的限制,使得交易活动可以在任何时间、任何地点进行,从而大大提高了效率。经济可行性:由于本系统的主要背景是课程设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求并不高,只要有一台能

8、运行Java软件的电脑便可,所以不用考虑到经济问题。技术可行性: 本系统的开发采用C#语言和简单的网络通信协议,只实现一些基本功能,练习上课所学内容,因此本系统是一个小型的基于C/S的订餐系统,功能并不是很强大。运行可行性: 本系统为一个小型的资产管理系统,所耗费的资源不多,现在一般的电脑无论是硬件还是软件均可满足作为客户端的条件,服务器配置要求也不是太高。因此,本系统在运行上是可行的。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它是可行的。运行环境传统的数据库应用一般要支队每一个操作系统开发一个专用版本,为不同的硬件平台开发不同的版本。本系统的运行环境只要平台具有

9、符合HTML标准的浏览器。C#语言了解 C#的发展历史C#(读做 C sharp,中文译音暂时没有.专业人士一般读C sharp,很多非专业一般读C井。它是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.NET的应用而开发的语言。它吸收了C+、Visual Basic、Delphi、Java等语言的优点,体现了当今最新的程序设计技术的功能和精华。C#继承了C语言的语法风格,同时又继承了C+的面向对象特性,并且C#成为ECMA与ISO标准规范。不同的是,C#的对象模型已经面向Internet进行了重新设计,使用的是.NET框架的类库;C#不再提供对指针类型的

10、支持,使得程序不能随便访问内存地址空间,从而更加健壮;C#不再支持多重继承,避免了以往类层次结构中由于多重继承带来的可怕后果。.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的程序设计环境。同时,公共语言运行时(Common Language Runtime)为C#程序语言提供了一个托管的运行时环境,使程序比以往更加稳定、安全。C#语言的特点(1)语言简洁。(2)保留了C+的强大功能。(3)快速应用开发功能。(4)语言的自由性。(5)强大的Web服务器控件。(6)支持跨平台。(7)与XML相融合。2系统开发工具与网络技术开发工具基于C#聊天系统的设计主要运用C#语言、ASP.NET技术

11、和Socket类结合而开发。其开发的主要环境包括:服务器端:(Windows平台)首先应有Visual Studio开发工具,建议采用Visual Studio2008及其以上版本,本系统开发工具为Visual Studio2008;另外,需要安装Access 2007数据库,建议采用Access 2007及其以上版本,本系统采用Access 2007;客户端:应有Visual Studio开发工具,建议采用Visual Studio2008及其以上版本,本系统开发工具为Visual Studio2008;开发环境 本系统运行环境所需用到的环境为:硬件配置 :中央处理器(CPU) :AMDx2

12、 240的处理器;硬 盘:40GB以上硬盘; 内 存:512 DDR内存; 显 卡:128M显存显卡显示器:17寸显示器等;软件环境:WINDOWS XP、Microsoft Visual Studio2005、Access 2007等 TCP/IP及Socket TCP/IP协议常识 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议/网际协议的缩写, TCP/IP是当今网络互联的核心协议。TCP/IP协议的体系结构共有四个层次,即应用层、传输层、网络互联层和网络接口层。IP协议的作用:第一,它是网络层的协议,提供互联

13、网上数据传输的统一格式。第二,提供不可靠的无连接的服务。第三,定义了互联网上的传输数据的基本单元,提供了供路由选择的信息,没有差错校验和处理的机制。TCP协议的功能:差错控制可靠性、面向连接、分段(Segment)、端口号。TCP是传输控制协议,是面向连接的提供了一种可靠的传输服务,它用三次握手和滑动窗口机制来保证传输的可靠性,及进行流量控制。(1) TCP/IP协议具有以下特点:1) 协议标准具有开放性,其独立于特定的计算机硬件及操作系统,可以免费使用。2) 统一分配网络地址,使得每个TCP/IP 设备在网络中都具有唯一的IP地址。3) 实现了高层协议的标准化,能为用户提供多种可靠的服务。(

14、2) TCP/IP协议进行传输数据传输的过程:在基于T CP/IP协议的网络中,套接字(Socket)是通信的基石,是网络通信的基本操作单元,应用程序为了传输数据会调用TCP,将数据和对应的参数传给TCP,将TCP数据包封装在IP包内,通过网络送给目的TCP。接收方TCP在接收到数据后通知上层应用程序,TCP将保证接收数据的正确性。在实现TCP的主机上,TCP可以被看成是一个模块,和文件系统区别不大,TCP 也可以调用一些操作系统的功能,TCP不直接和网络打交道,控制网络的任务由专门的设备驱动模块完成。TCP只是调用IP接口,向TCP提供所有TCP需要的服务。(3) 端口号:有的时候,一个ip

15、地址不能完整的标识一台服务器,这是应为一台物理性的计算机同时运行着多个应用程序,这就需要我们来区别同一台机子上的不同的服务,所以就在传输层和应用层上设置接口,就是端口。端口实际是一个16位长的 地址,他的范围是065535之间,其中01023是熟知端口,主要是给提供服务的应用程序使用,这些端口是所有应用进程都只道的,102465535为一般端口,也称动态端口、连接端口,用来随时分配要求通信的个客户端应用程序。在数据传输过程中,各种服务器不断的检测分配给他的端口,一边发现要求和他通信的客户端。Socket的简介Socket,简称套接字,用于实现网络上客户和服务器之间的连接。也就是说网络上两个或两

16、个以上双工方式通信的进程之间总有一个连接,这个连接的端点成为套接字,套接字是在比较低的层次上通信的。具体的说:一个服务器应用程序一般侦听一个特定的端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过程中,客户端被分配一个本地端口与一个socket建立连接,客户端通过写socket来通知服务器,以读socket中的信息,类似的服务器也获得一个本地端口,它需要一个新的端口号来侦听原始端口上的其他连接请求。服务器也通过它的本地端口连接一个socket,通过读写和客户端通信。(1) 建立Socket连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道

17、。(2) 数据通信:利用虚拟连接通道传送数据信息进行通道。(3) 关闭:通信结束时,再将所建的虚拟连接拆除。 Socket程序的工作过程,如图2.11所示:图2.1 1客户机/服务器socket通讯的工作模式图第一次握手:原主机发送一个带有本次连接的序号的请求的一个数据帧。第二次握手:目的主机收到请求后,如果同意连接,则发回一个带有一个本次连接序号和源端机连接序列号的确认。第三此握手:源端机收到含有两次初始序列号的应答后,在向目的主机发送一个带有两次连接的序列号的确认。具体的三次握手过程,如下图2.12所示。图2.12 三次握手由此可见,通过客户端和服务器的“三次握手”,双方可以建立畅通的通信

18、信道,在此信道上双方互相传输数据。概要设计IT资产管理系统 系统 管理基本数据管理资产管理统计查询关于系统l 添加用户l 浏览用户l 修改密码l 重新登录l 退出系统l 此产分类设置l 部门信息设置l 资产信息浏览l 资产借出l 资产归还l 统计汇总l 资产查询l 报表打印l 第伊工作组l 关于软件系统结构功能图固定资产(tb_ast)ast_id, sort_id, ast_name, ast_price, ast_number, dept_id, ast_out资产分类(tb_sort)sort_id, sort_name, sort_remark企业部门(tb_dept)dept_id,

19、 dept_name, dept_remark用户(tb_usr)usr_id, usr_name,usr_passwd,usr_pope数据库表与表之间的关系图文件夹结构图六、详细设计 1.dbconnection.cs类 public static string connection get return Data Source=(local);Initial Catalog=db_zc;Integrated Security=True; 2、系统登录模块private void btnok_Click(object sender, EventArgs e) if (cmbname.Tex

20、t.Trim() = | textPassword.Text.Trim() = | cmbm.Text.Trim() = ) MessageBox.Show(输入信息不完整n 请重新输入, 提示); else mycon.Open(); string sql = select * from tb_usr where usr_id= + cmbname.Text.Trim() + and usr_passwd= + textPassword.Text.Trim() + and usr_pope=+cmbm.Text.Trim()+; SqlCommand cmd = new SqlCommand

21、(sql, mycon); if (cmd.ExecuteScalar() != null) cmbname.Items.Add(cmbname.Text.ToString(); this.Visible = false; Frmmain main = new Frmmain(); main.Tag = this.FindForm(); SqlDataReader dr = cmd.ExecuteReader(); dr.Read(); if (cmbm.Text.Trim() = 管理员) main.toolStripStatusLabel3.Text = cmbname.Text.Trim

22、(); 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.toolStripButto

23、n4.Enabled = false; main.toolStripButton6.Enabled = false; main.toolStripStatusLabel3.Text = cmbname.Text.Trim(); main.toolStripStatusLabel2.Text = 普通用户; main.ShowDialog(); else MessageBox.Show(用户名等信息输入错误!,警告); mycon.Close();登陆界面3、浏览用户功能private void Showinfo() mycon.Open(); string sql = select usr_i

24、d as 用户名,usr_name as 姓名, * as 密码,usr_pope as 身份from tb_usr; SqlDataAdapter adp = new SqlDataAdapter(sql, mycon); ds = new DataSet(); ds.Clear(); adp.Fill(ds,user); this.dgvusrs.DataSource = ds.Tablesuser.DefaultView; this.dgvusrs.SelectionMode = DataGridViewSelectionMode.FullRowSelect; this.dgvusrs.

25、DefaultCellStyle.SelectionBackColor = Color.YellowGreen; this.dgvusrs.ReadOnly = true; mycon.Close(); private void toolStripButton1_Click(object sender, EventArgs e) if (this.dgvusrs.DataSource != null & this.dgvusrs.CurrentCell != null) Frmmodifyusr mod = new Frmmodifyusr(); mod.txtid.Text = this.d

26、gvusrs0, this.dgvusrs.CurrentCell.RowIndex.Value.ToString().Trim(); mod.txtname.Text = this.dgvusrs1, this.dgvusrs.CurrentCell.RowIndex.Value.ToString().Trim(); mod.cmbm.Text = this.dgvusrs3, this.dgvusrs.CurrentCell.RowIndex.Value.ToString().Trim(); mod.StartPosition = FormStartPosition.CenterParen

27、t; mod.ShowDialog(); if (mod.DialogResult = DialogResult.OK & mod.blmodify = true) Showinfo(); else MessageBox.Show(没有指定类型信息!, 提示); private void toolStripButton2_Click(object sender, EventArgs e) if (this.dgvusrs.DataSource != null & this.dgvusrs.CurrentCell != null) mycon.Open(); string sql = delet

28、e from tb_usr where usr_id= + this.dgvusrs0, this.dgvusrs.CurrentCell.RowIndex.Value.ToString().Trim() + ; SqlCommand cmd = new SqlCommand(sql, mycon); cmd.ExecuteNonQuery(); MessageBox.Show(删除用户 + this.dgvusrs0, this.dgvusrs.CurrentCell.RowIndex.Value.ToString().Trim() + 成功!, 提示); mycon.Close(); Sh

29、owinfo(); else MessageBox.Show(没有指定类型信息!, 提示); private void toolStripButton3_Click(object sender, EventArgs e) this.Close();用户浏览界面4、浏览用户功能 private void Frmast_Load(object sender, EventArgs e) Showinfo(); private void Showinfo() mycon.Open(); string sql = select ast_id as 资产编号,sort_id as 所属类别,ast_nam

30、e as 资产名称,ast_price as 资产单价,ast_number as 资产数量,dept_name as 所属部门,ast_indata as 入库日期,ast_ustime as 使用年限,ast_out as 借出数量from tb_ast; SqlDataAdapter adp = new SqlDataAdapter(sql, mycon); ds = new DataSet(); ds.Clear(); adp.Fill(ds, ast); this.dgvast.DataSource = ds.Tablesast.DefaultView; this.dgvast.De

31、faultCellStyle.SelectionBackColor = Color.YellowGreen; mycon.Close(); private void toolStripButton1_Click(object sender, EventArgs e) Frmaddast ast = new Frmaddast(); ast.StartPosition = FormStartPosition.CenterParent; ast.ShowDialog(); Showinfo(); private void toolStripButton2_Click(object sender,

32、EventArgs e) if (this.dgvast.DataSource != null & this.dgvast.CurrentCell != null) Frmmodifyast ast1 = new Frmmodifyast(); ast1.txtid.Text = this.dgvast0, this.dgvast.CurrentCell.RowIndex.Value.ToString().Trim(); ast1.txtsort.Text = this.dgvast1, this.dgvast.CurrentCell.RowIndex.Value.ToString().Tri

33、m(); ast1.txtname.Text = this.dgvast2, this.dgvast.CurrentCell.RowIndex.Value.ToString().Trim(); ast1.txtprice.Text = this.dgvast3, this.dgvast.CurrentCell.RowIndex.Value.ToString().Trim(); ast1.txtnumb.Text = this.dgvast4, this.dgvast.CurrentCell.RowIndex.Value.ToString().Trim(); ast1.txtdept.Text

34、= this.dgvast5, this.dgvast.CurrentCell.RowIndex.Value.ToString().Trim(); ast1.txtin.Text = this.dgvast6, this.dgvast.CurrentCell.RowIndex.Value.ToString().Trim(); ast1.txtus.Text = this.dgvast7, this.dgvast.CurrentCell.RowIndex.Value.ToString().Trim(); ast1.txtout.Text = this.dgvast8, this.dgvast.C

35、urrentCell.RowIndex.Value.ToString().Trim(); ast1.StartPosition = FormStartPosition.CenterParent; ast1.ShowDialog(); if (ast1.DialogResult = DialogResult.OK & ast1.blmodify = true) Showinfo(); else MessageBox.Show(没有指定类型信息!, 提示); private void toolStripButton3_Click(object sender, EventArgs e) if (th

36、is.dgvast.DataSource != null & this.dgvast.CurrentCell != null) mycon.Open(); string sql = delete from tb_ast where ast_id= + this.dgvast0, this.dgvast.CurrentCell.RowIndex.Value.ToString().Trim() + ; SqlCommand cmd = new SqlCommand(sql, mycon); cmd.ExecuteNonQuery(); MessageBox.Show(删除资产 + this.dgv

37、ast0, this.dgvast.CurrentCell.RowIndex.Value.ToString().Trim() + 成功!, 提示); mycon.Close(); Showinfo(); else MessageBox.Show(没有指定类型信息!, 提示);资产浏览5、部门信息设置 private void Showinfo() mycon.Open(); string sql = select dept_id as 部门编号,dept_name as 部门名称,dept_remark as 部门描述from tb_dept; SqlDataAdapter adp = new

38、 SqlDataAdapter(sql, mycon); ds = new DataSet(); ds.Clear(); adp.Fill(ds, user); this.dgvbm.DataSource = ds.Tablesuser.DefaultView; if (this.dgvbm.DataSource != null & this.dgvbm.CurrentCell != null) txtid.Text = this.dgvbm0, this.dgvbm.CurrentCell.RowIndex.Value.ToString().Trim(); txtname.Text = th

39、is.dgvbm1, this.dgvbm.CurrentCell.RowIndex.Value.ToString().Trim(); txtremark.Text = this.dgvbm2, this.dgvbm.CurrentCell.RowIndex.Value.ToString().Trim(); mycon.Close(); private void btnadd_Click(object sender, EventArgs e) if (txtid.Text.Trim() = | txtname.Text.Trim() = | txtremark.Text.Trim() = )

40、MessageBox.Show(请输入完整信息!, 提示); else mycon.Open(); SqlCommand cmd = new SqlCommand(, mycon); string sql = select * from tb_dept where dept_id= + txtid.Text.Trim() + ; cmd.CommandText = sql; if (cmd.ExecuteScalar() = null) /没有相同的编号 sql = INSERT INTO tb_dept VALUES( + txtid.Text.Trim() + , + txtname.Text.Trim() + , + txtremark.Text.Trim() + ); cmd.CommandTe

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁