java毕业设计——基于java+JDBC+sqlserver的固定资产管理系统设计与实现(毕业论文+程序源码)——固定资产管理系统

基于java+JDBC+sqlserver的固定资产管理系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于java+JDBC+sqlserver的固定资产管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

1、项目简介

  1. 固定资产管理系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以固定资产管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理固定资产的信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
  2. 本论文主要介绍的是固定资产管理系统的整个设计过程。第1章的绪论包括选题的背景,目的和意义,国内外现状;第2章平台简介包括JBuilder2005和SQL Server数据库的介绍;第3章系统分析,需求分析,数据流与数据字典,功能需求;第4章系统设计部分包括系统总体设计,功能模块设计,数据库设计;第5章是系统实现部分包括程序设计,各个功能模块的实现,系统的测试;论文最后为结论、致谢、参考文献。


2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:9840个字41页
包含内容:整套源码+完整毕业论文


3、关键词

固定资产管理 SQL Server数据库 C/S结构

4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

第一章绪论
1.1选题的背景
某公司业务不断发展,人员越来越多,固定资产的管理人员压力逐渐增大,需要建立数据库和使用软件系统来进行管理。
公司对固定资产的定义为:价值超过2000元人民币的设备。例如彩色喷墨打印机、计算机、扫描仪、机房其他设备,而打印纸、书籍等不属于固定资产,属于易耗品。

通过调研,总结和归纳之后,他们需要软件具备以下的功能:
1、管理员登录
2、固定资产信息管理
3、人员信息管理
4、资产的领用
5、资产的归还
6、资产信息浏览和查询

1.2目的和意义
固定资产管理是企业管理中的一个重要组成部分,固定资产具有数量大、种类多、价值高、使用周期长、使用地点分散等特点,管理难度大。很多单位目前仍然依赖手工记账的管理方式,由于管理单据众多、盘点工作繁重,需占用大量的人力物力,而且固定资产的历史操作和资产统计工作异常困难,导致资产流失和资产重复购置。

近些年出现了一些固定资产管理的软件,虽然在很大程度上解决了手工记账方式的问题,但多数系统采用手工方式录入数据,不仅速度慢、易产生错误,而且存在资产管理中资产实物与帐务信息脱节的严重问题,难于满足现代企业管理的需要。

在充分研究企业固定资产管理业务需求的基础上,我发现客户对企业固定资产管理系统的要求大致可以归纳为:方便、快速、准确,因为这样可以大大提高清查工作的效率,同时保证了信息流和资产实物流的对应。有效解决企业固定资产的管理难题,使企业更轻松、更有效地管理固定资产。

第二章平台简介
2.1开发平台和技术简介
项目开发在Jbuilder上进行,开发语言为JAVA,系统总体结构设计采用了MVC的思想。根据面向对象分析阶段中类划分结果,规划界面类、控制类、实体类及调用关系。

在面向对象分析阶段,我们把类大体上分成了界面和实体两类。但是,为了提高代码的易维护性、易读性,增加类内部的纯度、类之间调用的灵活性,我们把控制代码另封装为一个类,即控制类,使系统中类之间的调用关系由于需要与数据库进行连接,所以我们用JAVA的JDBC技术与数据库进行数据交互,数据库用SQL Server。

2.2 Jbuilder工具简介
省略

2.3 MVC开发模式简介
模型-视图-控制器开发模式简称MVC(Model-View-Control)
1.用户界面,特别是图形用户界面,承担着向用户显示问题模型和与用户进行操作和I/O交互的作用。用户希望保持交互操作界面的相对稳定,但更希望根据需要改变和调整显示的内容和形式。例如,要求支持不同的界面标准或得到不同的显示效果,适应不同的操作需求。这就要求界面结构能够在不改变软件的功能和模型情况下,支持用户对界面构成的调整。
  要做到这一点,从界面构成的角度看,困难在于:在满足对界面要求的同时,如何使软件的计算模型独立于界面的构成。模型-视图-控制(MVC:Model-View-Controller)就是这样的一种交互界面的结构组织模型。
 2. MVC由Trygve Reenskaug提出,首先被应用在SmallTalk-80环境中,使许多交互和界面系统的构成基础,Microsoft的MFC基础类也遵循了MVC的思想。
省略

2.4 JDBC技术简介
JDBC是执行SQL语句的Java API。JDBC本身是一个产品的商标名,但它也可被看作为"Java Database Connecivity(Java数据库连接)"。它由一组用Java语言编写的类与接口组成。
省略

2.5 数据库平台介绍
2.5.1SQL Server 数据库
SQL Server 是Microsoft(微软)公司的数据库产品,在设计上,SQL Server大量利用了Microsoft Windows 操作系统的底层结构,直接面向Microsoft Windows ,尤其是NT系列服务器操作系统用户。他基本不能移植到其他的操作系统上运行。Microsoft Windows 拥有最多的用户群,上手比较容易。

第三章系统分析
3.1 需求分析
本系统的主要功能如下:
1、管理员登录
2、固定资产信息管理
3、人员信息管理
4、资产的领用
5、资产的归还
6、资产信息浏览和查询

3.2功能需求
3.2.1 管理员登录
要使用本系统必须先登录,并且只有固定资产管理员能够登录。登录的时候需要填写正确的用户名和密码,管理员可以修改自己的密码。
系统允许有有多个固定资产的管理员,每个管理员的权限相同。

3.2.2固定资产信息管理
固定资产信息管理又分为:
 固定资产类别管理
固定资产的类别在录入资产信息之前就定义好,录入资产信息之后可以增加新的类别。
类别要求分为两级,如大类可以是办公外设、数码产品、计算机等;小类分为办公外设:传真机、复印机、打印机、其它;数码产品:数码相机、投影仪;计算机:笔记本电脑、台式机、服务器等。
类别应允许添加和删除操作。
 固定资产信息管理
资产的信息包括编号、名称、类别、型号、价值、购买日期、状态、使用者、备注等。
资产型号是文本信息,资产的状态分为:正常、维修、报废,使用者为空表示资产未被使用。
资产应允许执行添加、修改和删除操作。
3.2.3人员信息管理
这里的“人员”是指可能领用资产的人,人员的信息包括人员编号、姓名、职务和备注。
3.2.4资产的领用
已经登记的人员,可以领用固定资产,领用时需要记录的信息有:设备编号、领用日期、管理员、用途、备注。
只有状态为正常且使用者为空的资产才能被领用,在维修或者已经报废的资产不能够领用。
3.2.5资产的归还
资产使用完毕后要归还给管理员,归还时根据要依据领用时的记录来填写如下信息:归还日期、管理员等。
3.2.6资产信息浏览和查询
资产信息查询又可以分为:
 按资产类别浏览
按资产类别浏览资产信息,类别分成两级,要求能够显示大类和小类下面的资产情况、资产状况。
 查询资产信息
可以按资产编号、资产类别、使用者查询资产详细信息,按使用者查询显示该人员领用的所有资产。

3.3数据字典
数据库共有5个基表,分别是:
 固定资本表ASSET
 职工表EMPLOYEE
 资产类别表CATEGORY
 用户表OPERATOR
 借用和归还表LEND
固定资本表ASSET详细信息
表3.1
在这里插入图片描述

表3.2职工表EMPLOYEE详细信息
在这里插入图片描述

在这里插入图片描述

第四章系统设计
4.1系统总体设计
主要界面类有:
 主界面(包括查询条件界面类、固定资产卡片界面类、资产类别树型结构界面类、固定资产表格界面类);
 固定资产管理弹出界面类
 职工管理弹出界面类
 资产类别管理弹出界面类
 借用和归还管理弹出界面类
 用户管理弹出界面类
主要实体类包括:
 固定资产实体类
 职工实体类
 用户实体类
 资产类别实体类
 借用和归还实体类
界面类与实体类之间的关系:
界面类负责显示实体类的内容,实体类负责存储当前操作的内容,而永久保存的内容需存储到数据库中。见如下示意图:
在这里插入图片描述

图4.1

系统中主要的、关键实体类图如下:
基于分析和设计,整个系统的主要类设计见下表:
表4.1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

另外,为了美化界面并使系统结构更加灵活,又提供如下Panel类:
TrPanel
TbPanel
AssetPanel
EmpPanel
CatePanel
LendPanel
共计49个类。
 系统用例图
在这里插入图片描述

 [用例1]
A、用例图
在这里插入图片描述

  B、描述
	操作员登录系统,输入用户名和密码,按确认键。
  C、参与者
	操作员

 [用例2]
A、用例图
在这里插入图片描述

  B、描述
    操作员登录系统后,选择用户管理菜单,修改密码。
  C、参与者
    操作员

 [用例3]
A、用例图
在这里插入图片描述

  B、描述

操作员登录系统后,选择主屏幕左侧的资产查询或树型分类查询。
C、参与者
操作员
 [用例4]
A、用例图
在这里插入图片描述

  B、描述

操作员登录系统后,选择固定资产管理菜单,进行固定资产的增、删、改、查。
C、参与者
操作员
 [用例5]
A、用例图
在这里插入图片描述

  B、描述

操作员登录系统后,选择分类管理菜单,进行分类的增、删、改、查。
C、参与者
操作员
 [用例6]
A、用例图
在这里插入图片描述

  B、描述

操作员登录系统后,选择职工管理菜单,进行职工的增、删、改、查。
C、参与者
操作员
 [用例7]
A、用例图
在这里插入图片描述

  B、描述

操作员登录系统后,选择借用与归还固定资产管理菜单,进行固定资产的借用与归还操作。
C、参与者
操作员
登录用例完成后,方可进行其它用例操作。
4.2功能模块设计
根据需求文档,找出所有相关概念,并提炼成表格形式。见如下表格,也称为“概念清单”。一般来说,名词归为初级类、属性等信息;动词形成主要功能或者类的方法;短语形成业务逻辑或者条件限制
在这里插入图片描述
在这里插入图片描述

2、确定初级类
根据反复讨论的概念清单和需求说明等相关文档,确定如下初级类,见下表:
在这里插入图片描述
在这里插入图片描述

3、确定主要功能和菜单项
根据细化结果和需求说明,提出主要功能如下:
 固定资产的增、删、改、查功能;
 职工的增、删、改、查功能;
 资产类别的增、删、改、查功能;
 固定资产的借用和归还;
 用户登陆、退出和密码修改。
根据主要功能,可确定菜单项如下:
 固定资产管理菜单,包括:增、删、改、查4个子菜单;
 职工管理菜单,包括:增、删、改、查4个子菜单;
 资产类别管理菜单,包括:增、删、改、查4个子菜单;
 固定资产的借用和归还管理菜单,包括:借用、归还2个子菜单;
 用户管理菜单,包括:退出和密码修改2个子菜单。
菜单均采用下拉方式,示意图如下:
固定资产管理 职工管理 资产类别管理 借用和归还管理 用户管理
增加。。。 增加。。。 增加。。。 借用 密码修改
删除。。。 删除。。。 删除。。。 归还 退出
修改。。。 修改。。。 修改。。。
查询。。。 查询。。。 查询。。。

第五章系统实现
5.1程序设计
登陆界面如下
图5.1
在这里插入图片描述

主界面模型图如下
图5.2
在这里插入图片描述

5.1.1设备管理模块
固定资产管理弹出界面描述:
界面示意图如下:
图5.3
在这里插入图片描述

源代码:

/*
 *AssetModel.java:建立固定资产实体类。
 *包括:与数据库进行增、删、改、查操作。
 */
 
import java.sql.*;
import java.math.*;

public class AssetModel {String assetid;String assetname;String cateid;String subcateid;String model;String price;String purchasedate;String status;String useby;String remarks;DbConn dbc;Connection conn;
   public AssetModel() {
   }
/*
* 添加方法
*/
   public void insert() {
      dbc = new DbConn();
      conn = dbc.getConnection();
      try {
      Statement stmt = conn.createStatement();
      ResultSet rset = stmt.executeQuery ("select max(assetid)+1 from asset");
      while (rset.next()) {
      	assetid = rset.getString(1);
      }
      if (assetid == null) assetid = "1";
PreparedStatement pstmt = conn.prepareStatement("inser tinto ASSET 
(assetid,asset_name,cateid,subcateid,model,price,purchase_date,status,useby,remarks) values (?,?,?,?,?,?,?,?,?,?)");
      pstmt.setInt(1, Integer.parseInt(assetid));          
      pstmt.setString(2, assetname);   
      pstmt.setInt(3, Integer.parseInt(cateid));
      pstmt.setInt(4, Integer.parseInt(subcateid));
      pstmt.setString(5, model);
      pstmt.setFloat(6, Float.parseFloat(price));
      pstmt.setString(7, purchasedate);
      pstmt.setString(8, status);
      pstmt.setString(9, useby);
      pstmt.setString(10, remarks);
      pstmt.execute();
      
      PreparedStatement pstmt1 = 
      conn.prepareStatement("insert into LEND (assetid) values (?)");
      pstmt1.setInt(1, Integer.parseInt(assetid));          
      pstmt1.execute();
      
      conn.commit();
      conn.close();
      }
      catch (java.sql.SQLException s) {
	System.out.println("exception: " + s.getMessage());
      }
   }
   /*
* 查询方法
*/
   public void select() {
      String sql;
      dbc = new DbConn();
      conn = dbc.getConnection();
      sql = "SELECT assetid,rtrim(asset_name),cateid,subcateid,rtrim(model),price,purchase_date,status,useby,rtrim(remarks) FROM asset where assetid = "+Integer.parseInt(assetid);
      try {
      Statement stmt = conn.createStatement();
      ResultSet rset = stmt.executeQuery (sql);
      while (rset.next()) {
      	        assetname = rset.getString(2);
		cateid = rset.getString(3);
		subcateid = rset.getString(4);
		model = rset.getString(5);
		price = rset.getString(6);
		purchasedate = rset.getString(7);
		status = rset.getString(8);
		useby = rset.getString(9);
		remarks = rset.getString(10);
      }
      conn.commit(); 
      rset.close();
      stmt.close();
      conn.close();
      }
      catch (java.sql.SQLException s) {
	System.out.println("exception: " + s.getMessage());
      }
    } 
    
    public void update() {
      dbc = new DbConn();
      conn = dbc.getConnection();
      try {
      PreparedStatement pstmt = conn.prepareStatement("update ASSET set asset_name=?,model=?,price=?,purchase_date=?,status=?,useby=?,remarks=? where assetid = ?");
      pstmt.setString(1, assetname);          
      pstmt.setString(2, model);   
      pstmt.setFloat(3, Float.parseFloat(price));
      pstmt.setString(4, purchasedate);
      pstmt.setString(5, status);
      pstmt.setString(6, useby);
      pstmt.setString(7, remarks);
      pstmt.setInt(8, Integer.parseInt(assetid));
      pstmt.execute();
      
      conn.commit();
      conn.close();
      }
      catch (java.sql.SQLException s) {
	System.out.println("exception: " + s.getMessage());
      }
   }
   /*
* 删除方法
*/
   public void delete() {
      dbc = new DbConn();
      conn = dbc.getConnection();
      String sql = "delete asset where assetid = "+Integer.parseInt(assetid) ;
      try {
      PreparedStatement pstmt = conn.prepareStatement(sql);
      pstmt.execute();
      String sql1 = "delete lend where assetid = "+Integer.parseInt(assetid) ;
      PreparedStatement pstmt1 = conn.prepareStatement(sql1);
      pstmt1.execute();
      
      conn.commit();
      conn.close();
      
      assetid = null;
      assetname = null;
      cateid = "";
      subcateid = "";
      model = null;
      price = null;
      purchasedate = null;
      status = "";
      useby = null;
      remarks = null;
      
      }
      catch (java.sql.SQLException s) {
	System.out.println("exception: " + s.getMessage());
      }
   }
}

其余4块管理弹出界面描述同上。

第六章 系统测试
6.1 测试的任务与目标
6.1.1测试的任务
主要测试软件的下面几个方面
(1)功能性:软件所实现的功能达到它的设计规范和满足用户需求的程度;
(2) 可靠性:在规定的时间和条件下,软件所能维持其性能水平的程度;
(3) 易使用性:对于一个软件,用户学习、操作、准备输入和理解输出所作努力的程度;
(4) 效率:在指定条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度;
(5) 可维护性:在一个运行软件中,当环境改变或软件发生错误时,进行相应修改所做努力的程度;
(6) 可移植性:软件从一个计算机系统或环境移植到另一个系统或环境的容易程度。
 软件质量是一个软件企业成功的必要条件,其重要性无论怎样强调都不过分。软件质量与传统意义上的质量概念并无本质差别,只是针对软件的某些特性进行了调整。
 
6.1.2测试的目标
省略

6.2测试方案
省略

结 论
省略

参考文献:
[1]万建成、卢雷 编著.《软件体系结构的原理、组成与应用》.科学出版社,
[2] 齐治昌、谭庆平、宁洪 编著.《软件工程》.北京高等教育出版社,
[3] (美)Roger S.Pressman 著,黄柏素、梅宏译.《软件工程──实践者的研究方法(第四版)》.北京机械工业出版社.


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号毕业设计全套资源(点击下载)
本项目源码基于java+JDBC+sqlserver的固定资产管理系统设计与实现(源码+文档)_java_MVC_CS架构_固定资产管理系统.zip
  • 0
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业设计方案专家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值