首页 > 数据库 >基于java+sql企业固定资产管理系统的计算机毕设

基于java+sql企业固定资产管理系统的计算机毕设

时间:2024-09-11 16:22:53浏览次数:13  
标签:毕设 界面 资产 数据库 固定资产 视图 Java sql java


摘要:

固定资产管理系统是一个企事业单位不可缺少的部分,它的内容对于企事业单位的决策者和管理者来说都至关重要,所以固定资产管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理固定资产的信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

随着计算机技术的不断发展,计算机应用于各大领域,并给人们的生活带来了极大的便利,在固定管理系统亦是如此。以往固定资产员由于缺乏适当的软件而给其工作带来了很多不便。本论文所介绍的便是一个固定资产管理系统,以方便在固定资产安排和固定资产管理上的工作任务。

本论文主要介绍的是固定资产管理系统的整个设计过程。第1章的绪论包括选题的背景,目的和意义,国内外现状;第2章平台简介包括JBuilder2005和SQL Server数据库的介绍;第3章系统分析,需求分析,数据流与数据字典,功能需求;第4章系统设计部分包括系统总体设计,功能模块设计,数据库设计;第5章是系统实现部分包括程序设计,各个功能模块的实现,系统的测试;论文最后为结论、致谢、参考文献。 


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

Abstract : Fixed Assets Management System is an enterprise units indispensable part It is an enterprise units for the policy makers and managers are of great importance, Therefore, fixed asset management system should be able to provide users with sufficient information and efficient means of inquiry. But there has been the use of traditional artificial approach in the management of fixed assets information, This mode of administration, there are many drawbacks, such as : low efficiency, poor security, the other over the long term. will have a lot of documents and data, which identify, update and maintenance caused a lot of difficulties. As computer technology continues to develop, computers for all major areas, and to people's lives brought great convenience, In fixed management system is reflected. Members of the previous fixed assets due to the lack of appropriate software, which bring to their work a lot of inconvenience. This paper is presented in a fixed asset management system, to facilitate the arrangements in fixed assets and fixed assets management of the task. This paper introduces the fixed-asset management system throughout the design process. Chapter 1 Introduction of topics including the background, purpose and significance of the domestic and international situation; Chapter 2 Introduction including JBuilder2005 platform and SQL Server database introduced; Chapter 3 analysis, demand analysis, data flow and data dictionary, functional requirements; Chapter 4 of system design, including system design, the module design, database design; Chapter 5 is a systematic process to achieve include design, the various functional modules in the system, system testing; Finally, the paper of the conclusions, thank references. Keywords : fixed assets management SQL Server database client-sever structure









目  录

第一章绪论

1.1选题的背景

1.2目的和意义

第二章平台简介

2.1开发平台和技术简介

2.2 Jbuilder2005工具简介

2.3 MVC开发模式简介

2.4 JDBC技术简介

2.5 数据库平台介绍

2.5.1SQL Server 数据库

第三章系统分析

3.1 需求分析

3.2功能需求

3.2.1 管理员登录

3.2.2固定资产信息管理

3.2.3人员信息管理

3.2.4资产的领用

3.2.5资产的归还

3.2.6资产信息浏览和查询

3.3数据字典

第四章系统设计

4.1系统总体设计

4.2功能模块设计

第五章系统实现

5.1程序设计

5.1.1设备管理模块

第六章 系统测试

6.1 测试的任务与目标

6.1.1测试的任务

6.1.2测试的目标

6.2测试方案

结  论

参考文献:



第一章绪论

1.1选题的背景

某公司业务不断发展,人员越来越多,固定资产的管理人员压力逐渐增大,需要建立数据库和使用软件系统来进行管理。

公司对固定资产的定义为:价值超过2000元人民币的设备。例如彩色喷墨打印机、计算机、扫描仪、机房其他设备,而打印纸、书籍等不属于固定资产,属于易耗品。

通过调研,总结和归纳之后,他们需要软件具备以下的功能:

1、管理员登录

2、固定资产信息管理

3、人员信息管理

4、资产的领用

5、资产的归还

6、资产信息浏览和查询

1.2目的和意义

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

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

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

第二章平台简介

2.1开发平台和技术简介

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

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


2.2 Jbuilder2005工具简介

Borland JBuilder是业界领先的Java可视化开发环境,可用于构建基于Java 2平台的应用程序、Applets、JSP/Serverlets、JavaBeansTM、Enterprise JavaBeans,以及分布式J2EE 应用。 JBuilder 2005加速企业JavaBeans,WEB服务器,XML,移动产品和数据库应用开发,双向可视化设计工具和迅速调用J2EE应用服务器,这些应用服务器包括BEA® WebLogic,® IBM® WebSphere,® Sybase® EAServer, JBoss,® 和 integrated Borland® Enterprise Server。拥有创新强大的JavaServer™ Faces, Struts, 和 Web服务设计工具,支持J2SE 5.0 (JDK™ 1.5), UML代码可视化,分布式因子分解,代码审核,企业单位测试,支持多语控制系统。 JBuilder 2005新特性 -JavaServer Faces 编辑器和可视化流程设计工具 -J2SE 5.0 和 J2EE 1.4支持 -分布式因子分解 -代码审核 -额外优化执行工具 -扩展ALM综合

JBuilder 2005 speeds Enterprise JavaBeans,™ Web, Web Services, XML, mobile, and database application development with two-way visual designers and rapid deployment to leading J2EE™ application servers, including BEA® WebLogic,® IBM® WebSphere,® Sybase® EAServer, JBoss,® and the integrated Borland® Enterprise Server. Power productivity with innovative JavaServer™ Faces, Struts, and Web Services designers, support for J2SE 5.0 (JDK™ 1.5), UML® code visualization, distributed refactoring, code audits, enterprise unit testing, and support for multiple version-control systems. Build in quality with integrated Borland® Optimizeit™ Suite performance tools and J2EE profiling.

2.3 MVC开发模式简介

模型-视图-控制器开发模式简称MVC(Model-View-Control)

1.用户界面,特别是图形用户界面,承担着向用户显示问题模型和与用户进行操作和I/O交互的作用。用户希望保持交互操作界面的相对稳定,但更希望根据需要改变和调整显示的内容和形式。例如,要求支持不同的界面标准或得到不同的显示效果,适应不同的操作需求。这就要求界面结构能够在不改变软件的功能和模型情况下,支持用户对界面构成的调整。

  要做到这一点,从界面构成的角度看,困难在于:在满足对界面要求的同时,如何使软件的计算模型独立于界面的构成。模型-视图-控制(MVC:Model-View-Controller)就是这样的一种交互界面的结构组织模型。

 2. MVC由Trygve Reenskaug提出,首先被应用在SmallTalk-80环境中,使许多交互和界面系统的构成基础,Microsoft的MFC基础类也遵循了MVC的思想。

  对于界面设计可变性的需求,MVC把交互系统的组成分解成模型、视图、控制三种部件。

  模型部件是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,他独立于具体的界面表达和I/O操作。

  视图部件把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。

  控制部件是处理用户与软件的交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作的部件。通常一个视图具有一个控制器。

  模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。

  1 MVC中的模型、视图和控制类

  MVC中的模型、视图和控制类如图1所示。

  (1) 模型包含了应用问题的核心数据、逻辑关系和计算功能,它封装了所需的数据,提供了完成问题处理的操作过程。控制器依据I/O的需要调用这些操作过程。模型还为视图获取显示数据而提供了访问其数据的操作。

  这种变化-传播机制体现在各个相互依赖部件之间的注册关系上。模型数据和状态的变化会激发这种变化-传播机制,它是模型、视图和控制器之间联系的纽带。

  (2) 视图通过显示的形式,把信息转达给用户。不同视图通过不同的显示,来表达模型的数据和状态信息。每个视图有一个更新操作,它可被变化-传播机制所激活。当调用更新操作时,视图获得来自模型的数据值,并用它们来更新显示。

  在初始化时,通过与变化-传播机制的注册关系建立起所有视图与模型间的关联。视图与控制器之间保持着一对一的关系,每个视图创建一个相应的控制器。视图提供给控制器处理显示的操作。因此,控制器可以获得主动激发界面更新的能力。

  (3) 控制器通过时间触发的方式,接受用户的输入。控制器如何获得事件依赖于界面的运行平台。控制器通过事件处理过程对输入事件进行处理,并为每个输入事件提供了相应的操作服务,把事件转化成对模型或相关视图的激发操作。

  如果控制器的行为依赖于模型的状态,则控制器应该在变化-传播机制中进行注册,并提供一个更新操作。这样,可以由模型的变化来改变控制器的行为,如禁止某些操作。  

2.4 JDBC技术简介

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

JDBC已成为一种供工具/数据库开发者使用的标准API,用户可以用纯Java API来编写数据库应用。使用JDBC可以很容易地把SQL语句传送到任何关系型数据库中。换言之,用户不必为访问Sybase数据库写一个程序,又为访问Oracle数据库写另一个程序。你可以用JDBC API写出唯一的程序,它能够将SQL语句发送到相应的任何一种数据库。Java与JDBC的结合,使程序员可以只写一次数据库应用软件后,就能在各种数据库系统上运行。由于Java语言具有健壮性、安全、易使用、易理解和自动下载到网络等优点,因此,它是数据库应用的一个极好的基础语言。现在需要找到一种能使Java应用与各种不同数据库对话的方式,而JDBC正是实现这种对话的一种机制。    JDBC扩充了Java的应用范围。例如,用Java与JDBC API可以发布一种包含远程数据库信息的Applet的Web页面。企业使用JDBC可以把它的所有雇员信息通过Intranet连接到一个或多个内部数据库里。毫无疑问,随着Java程序员的不断增加,对Java的数据库的访问需求会越来越迫切。MIS管理员希望Java与JDBC结合,因为这有助于更容易、更经济地发布企业信息。商界可以不断地使用已安装的数据库,方便地存取信息,而不必顾及这些数据库是在何种DBMS系统下存储的。它有助于缩短新应用的开发时间,并可大大简化数据库的安装与版本控制。一旦程序员编写或更新了应用,并把它放入服务器之后,那么每个人都可以获得这个最新版本。在商业销售信息服务领域,Java与JDBC则可以更好地向外界客户提供最新信息。JDBC的功能与特点1.JDBC的基本功能简单地说,JDBC可以做三件事:·建立与数据库的连接。·发送SQL语句。·处理结果。

1. JDBC是低级的API与高级API的基础JDBC是一种"低级"的接口,因为它直接调用SQL命令,但它又可作以为构造高级接口与工具的基础。高级接口是"用户友善的"、更易理解和更为方便的API,由后台将它翻译成如JDBC这样的低级接口。有两种基于JDBC的高级API正处在开发之中:一种是嵌入SQL的Java。JDBC要求把SQL语句作为字符串传递给Java方法。嵌入SQL预处理程序,可让程序员把SQL与Java直接混合使用。例如,在SQL语句中可用Java变量接收或提供SQL值。嵌入SQL预处理程序,把这种混合的Java/SQL翻译成带JDBC调用的Java。另一种是把关系数据库表直接映射成Java类。在"对象/关系"的映射中,表中的每一行变成类的一个实例,每一列的值对应于该实例的一个属性。然后程序员可直接操作Java对象,并自动生成取、存数据的SQL调用。另外它还提供了更高级的映射,例如在Java类中把多个表的行结合起来。

DbConn()类,与数据库建立连接

import java.sql.*;

import java.math.*;

public class DbConn {

   private Connection conn;

   public DbConn() {

      try {

          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

          conn = DriverManager.getConnection("jdbc:odbc:MyDatabase");

      }

      catch (java.sql.SQLException s) {

s.printStackTrace();

      } catch (ClassNotFoundException ex) {

            /** @todo Handle this exception */

            ex.printStackTrace();

        }

    }

   public Connection getConnection() {

    return conn;

   }

}

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个基表,分别是:

l 固定资本表ASSET

l 职工表EMPLOYEE

l 资产类别表CATEGORY

l 用户表OPERATOR

l 借用和归还表LEND

固定资本表ASSET详细信息

表3.1

字段名称

含义

类型

约束

assetid

固定资产编号

整数(最大10位)

主键

asset_name

固定资产名称

字符(最长40位)

非空

cateid

大类编码

整数(最大10位)

非空

subcateid

小类编码

整数(最大10位)

非空

model

样式

字符(最长40位)


price

价格

浮点数(最大7位,小数点后2位)

非空

purchase_date

购入日期

字符(最长12位)

非空

status

状态

字符(最长1位)

非空

useby

经手人

字符(最长10位)


remarks

备注

字符(最长255位)



表3.2职工表EMPLOYEE详细信息

字段名称

含义

类型

约束

empno

职工编号

整数(最大10位)

主键

ename

职工姓名

字符(最长40位)

非空

position

职位

字符(最长40位)

非空

remarks

备注

字符(最长255位)



表3.3资产类别表CATEGORY详细信息

字段名称

含义

类型

约束

cateid

大类编号

整数(最大10位)

联合主键

catename

大类名称

字符(最长40位)

非空

subcateid

小类编号

整数(最大10位)

联合主键

subcatename 

小类名称

字符(最长40位)

非空

表3.4用户表OPERATOR详细信息

字段名称

含义

类型

约束

name

用户名

字符(最长10位)


pwd

口令

字符(最长20位)



表3.5借用和归还表LEND详细信息

字段名称

含义

类型

约束

assetid

固定资产编号

整数(最大10位)

主键

empno

借用人编码

整数(最大10位)

非空

usedate

借用日期

字符(最长12位)

非空

retdate

归还日期

字符(最长12位)


isreturn

是否归还

字符(最长4位)

非空

lender

操作员

字符(最长12位)


remarks

备注

字符(最长255位)



第四章系统设计

4.1系统总体设计

主要界面类有:

l 主界面(包括查询条件界面类、固定资产卡片界面类、资产类别树型结构界面类、固定资产表格界面类);

l 固定资产管理弹出界面类

l 职工管理弹出界面类

l 资产类别管理弹出界面类

l 借用和归还管理弹出界面类

l 用户管理弹出界面类

主要实体类包括:

l 固定资产实体类

l 职工实体类

l 用户实体类

l 资产类别实体类

l 借用和归还实体类

界面类与实体类之间的关系:

界面类负责显示实体类的内容,实体类负责存储当前操作的内容,而永久保存的内容需存储到数据库中。见如下示意图:

基于java+sql企业固定资产管理系统的计算机毕设_SQL

图4.1

系统中主要的、关键实体类图如下:

基于分析和设计,整个系统的主要类设计见下表:

表4.1

层次

父类名称

子类名称

作用简要描述

界面类

MM

/

生成主菜单

TSearch

/

输入查询信息

TTree

/

显示树状类别信息

Branch

/

显示树分枝类别信息

TCard

/

生成资产卡片

TJtable

/

生成资产表格

AssetView

AddAssetView

生成增加固定资产界面

UptAssetView

生成修改固定资产界面

DelAssetView

生成删除固定资产界面

EmpView

AddEmpView

生成增加职工界面

UptEmpView

生成修改职工界面

DelEmpView

生成删除职工界面

CateView

AddCateView

生成增加类别界面

UptCateView

生成修改类别界面

DelCateView

生成删除类别界面

LendView

LenLendView

生成借用固定资产界面

RetLendView

生成归还固定资产界面

ButPanel

AddButPanel

生成增加按键界面

UptButPanel

生成修改按键界面

DelButPanel

生成删除按键界面

LenButPanel

生成借用按键界面

RetButPanel

生成归还按键界面

控制类

MenuHandler


控制菜单的调用

MyHandler

AssetHandler

控制固定资产的操作,关联 AssetView 和  AssetModel

EmpHandler

控制职工的操作,关联EmpView和EmpModel

CateHandler

控制类别的操作,关联CateView和CateModel

LendHandler

控制借还的操作,关联LendView和LendModel

DbConn


控制对数据库的连接

Share


提供共享属性和方法

实体类

AssetModel


存储固定资产信息

EmpModel


存储职工信息

CateModel


存储固定资产类别信息

CateIdChoices


提供类别信息

LendModel


存储借还固定资产信息

TreeDataModel


提供类别树型结构信息

TJtableModel


提供固定资产表格信息

TCardModel


提供固定资产卡片信息





另外,为了美化界面并使系统结构更加灵活,又提供如下Panel类:

TrPanel

TbPanel

AssetPanel

EmpPanel

CatePanel

LendPanel

共计49个类。

Ø 系统用例图

基于java+sql企业固定资产管理系统的计算机毕设_数据库_02


Ø  [用例1]

  A、用例图

基于java+sql企业固定资产管理系统的计算机毕设_SQL_03

  B、描述

操作员登录系统,输入用户名和密码,按确认键。

  C、参与者

操作员

Ø [用例2]

  A、用例图

基于java+sql企业固定资产管理系统的计算机毕设_Java_04

  B、描述

操作员登录系统后,选择用户管理菜单,修改密码。

  C、参与者

操作员

Ø [用例3]

  A、用例图

基于java+sql企业固定资产管理系统的计算机毕设_SQL_05

  B、描述

操作员登录系统后,选择主屏幕左侧的资产查询或树型分类查询。

  C、参与者

操作员

Ø [用例4]

  A、用例图

基于java+sql企业固定资产管理系统的计算机毕设_Java_06

  B、描述

操作员登录系统后,选择固定资产管理菜单,进行固定资产的增、删、改、查。

  C、参与者

操作员

Ø [用例5]

  A、用例图

基于java+sql企业固定资产管理系统的计算机毕设_SQL_07

  B、描述

操作员登录系统后,选择分类管理菜单,进行分类的增、删、改、查。

  C、参与者

操作员

Ø [用例6]

  A、用例图

基于java+sql企业固定资产管理系统的计算机毕设_Java_08

  B、描述

操作员登录系统后,选择职工管理菜单,进行职工的增、删、改、查。

  C、参与者

操作员

Ø [用例7]

  A、用例图

基于java+sql企业固定资产管理系统的计算机毕设_Java_09

  B、描述

操作员登录系统后,选择借用与归还固定资产管理菜单,进行固定资产的借用与归还操作。

  C、参与者

操作员

登录用例完成后,方可进行其它用例操作。

4.2功能模块设计

根据需求文档,找出所有相关概念,并提炼成表格形式。见如下表格,也称为“概念清单”。一般来说,名词归为初级类、属性等信息;动词形成主要功能或者类的方法;短语形成业务逻辑或者条件限制

名称

词性

简要描述

固定资产

名词

大于2000的资产

职工

名词


资产类别

名词

分为大类和小类两层

借用

动词

某职工借用固定资产

归还

动词

某职工归还借用的固定资产

资产名称

名词


样式

名词

例如:包、箱。。。

价格

名词

固定资产的价格,必须大于2000

购入日期

名词


资产状态

名词

分为1表示“可用”或0表示“不可用”

购入人

名词


借用人

名词

必须是职工

归还人

名词

必须是借用人

操作人

名词


借用日期

名词


归还日期

名词


超级用户

名词

可修改资产状态

当删除职工时,系统会检查该员工是否已全部归还了固定资产

短语

条件限制

只有固定资产的状态是“1”时,才可以借用

短语

条件限制

借用和归还固定资产时,系统会自动记录在案

短语

业务逻辑

。。。



2、确定初级类

根据反复讨论的概念清单和需求说明等相关文档,确定如下初级类,见下表:

类名

属性或方法

属性或方法名称

简要描述

1.固定资产

属性

资产名称


所属大类

资产类别中的大类

所属小类

资产类别中的小类

样式


价格


购入日期


资产状态


购入人

超级用户

方法

增加固定资产()


修改固定资产信息()

只能修改某些信息,比如样式、价格、购入日期、资产状态

删除固定资产信息()


查询固定资产信息()


2.职工

属性

名称


职务


方法

增加新职工()


修改员工信息()


删除员工信息()


查询员工信息()


。。。




3、确定主要功能和菜单项

根据细化结果和需求说明,提出主要功能如下:

l 固定资产的增、删、改、查功能;

l 职工的增、删、改、查功能;

l 资产类别的增、删、改、查功能;

l 固定资产的借用和归还;

l 用户登陆、退出和密码修改。

根据主要功能,可确定菜单项如下:

l 固定资产管理菜单,包括:增、删、改、查4个子菜单;

l 职工管理菜单,包括:增、删、改、查4个子菜单;

l 资产类别管理菜单,包括:增、删、改、查4个子菜单;

l 固定资产的借用和归还管理菜单,包括:借用、归还2个子菜单;

l 用户管理菜单,包括:退出和密码修改2个子菜单。

菜单均采用下拉方式,示意图如下:

固定资产管理

职工管理

资产类别管理

借用和归还管理

用户管理


增加。。。

增加。。。

增加。。。

借用

密码修改



删除。。。

删除。。。

删除。。。

归还

退出



修改。。。

修改。。。

修改。。。



查询。。。

查询。。。

查询。。。


第五章系统实现

5.1程序设计

登陆界面如下

基于java+sql企业固定资产管理系统的计算机毕设_数据库_10

图5.1

主界面模型图如下

基于java+sql企业固定资产管理系统的计算机毕设_数据库_11

图5.2


5.1.1设备管理模块 

固定资产管理弹出界面描述:

界面示意图如下:

基于java+sql企业固定资产管理系统的计算机毕设_数据库_12

图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测试的目标

软件测试的目的决定了如何去组织测试。如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。

  不同的机构会有不同的测试目的;相同的机构也可能有不同测试目的,可能是测试不同区域或是对同一区域的不同层次的测试。

  首先,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。

  其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。详细而严谨的可靠性增长模型可以证明这一点。例如 Bev Littlewood发现一个经过测试而正常运行了n小时的系统有继续正常运行n小时的概率。

6.2测试方案

1、打开类别管理窗口,输入:大类编号,1;大类名称,办公外设;小类编号,101;小类名称,传真机;依次进行增加,查询,修改和删除的操作。

2、打开固定资产管理窗口,依次输入资产编号,资产名称,大类编号,小类编号,样式,价格,购入日期,状态以及备注,进行增加,查询,修改和删除的操作。

3、打开职工管理窗口,输入职工号,姓名,工位和备注,进行增加,查询,修改和删除的操作。

4、打开用户管理窗口,输入新密码,进行修改密码的操作。



结  论

通过实践让我学会了开发一个项目的一些基本的工作流程,知道了如何来搭建架构,如何建模,如何分析和解决问题,还让我的动手实践能力得到了锻炼以及提高。实践能够综合提高我们的能力。除了学习到了相关的技术之外,还学会了如何自学、如何独立的解决相关的问题以及如何与同学合作解决问题。一个软件的成功与否不仅和程序设计有关,还与自己的在各个方面的知识的掌握程度、与人合作的能力都有着密切的关系。



参考文献:

[1]万建成、卢雷 编著.《软件体系结构的原理、组成与应用》.科学出版社,  

[2] 齐治昌、谭庆平、宁洪 编著.《软件工程》.北京高等教育出版社,  

[3] (美)Roger S.Pressman 著,黄柏素、梅宏译.《软件工程──实践者的研究方法(第四版)》.北京机械工业出版社.  


标签:毕设,界面,资产,数据库,固定资产,视图,Java,sql,java
From: https://blog.51cto.com/u_12508287/11982316

相关文章

  • MySQL——主从复制、读写分离
    目录前言一、MySQL主从复制的概述1、MySQL主从复制的概念2、Mysql主从复制功能和使用场景2.1、Mysql主从复制功能2.2、Mysql主从复制使用场景3、MySQL支持的复制类型3.1、基于语句的复制3.2、基于行的复制3.3、混合复制4、主从复制的工作过程5、MySQL三种同步方式......
  • java学习之HttpClient忽略安全证书(SSLContext)
    1.我们在写https请求时候,经常会遇见安全证书(SSL)验证失败的情况,如下图。 上图异常就是因为SSL验证失败导致的,常规的做法是忽略证书认证。方法如下:第一步:需要重写认证的证书类 X509ExtendedTrustManager。第二步:创建SSLContext对象。第三步:将SSLContext对象设置到HttpClien......
  • 中级 Java 软件工程师会遇到的事情
      计算机编程设计是一种工程学科。工程是依靠科学和时间实践才能有的经验。工程偏向的是 工程师的动手能力。科学是引导方向。C语言程序开发语言是一种软件思想知识普及的划时 代的变革。大学中学习过程序设计的学生,对于assembly  汇编,Basical  程序设计等都是十 分......
  • 第五章,java超市会员管理系统(后端)
    高级编程第五章,java超市会员管理系统(后端)一,项目概述本项目旨在开发一个超市会员管理系统,帮助超市管理会员信息、积分、优惠活动等。系统将提供用户友好的界面,方便超市员工进行日常操作。二,功能需求积分积累积分兑换查询剩余积分开卡(送100积分)退出系统三,实现分......
  • SQL 高级语法 MERGE INTO
    根据与源表相联接的结果,对目标表进行插入、更新、删除等操作。例如,对目标表,如果源表存在的数据则更新,没有的则插入,就可以使用MEREG进行同步。基本语法MERGEINTOtarget_tableUSINGsource_tableONconditionWHENMATCHEDTHENXXXWHENNOTMATCHEDTHENXXX这里的Sour......
  • Linux安装MySQL数据库
    Linux安装MySQL数据库1.检查是否已经安装MySQLrpm-qa|grepmysql如果已经安装必须进行卸载之后在进行安装,可以使用下面命令将其删除(xxx为文件全名)rpm-exxx2.安装MySQL2.1下载安装包下载mysqlMySQL::DownloadMySQLCommunityServer(ArchivedVersions......
  • 使用python进行PostgreSQL 数据库连接
    使用python进行PostgreSQL数据库连接PostgreSQL数据库是最常用的关系型数据库之一,最吸引人的一点是它作为开源数据库且具有可拓展性,能够提供丰富的应用。运用python可以很简单的建立PostgreSQL数据库连接,其中最受欢迎的就是psycopg。1.安装psycopg2Psycopy是针对python的Po......
  • 模式-单例模式-java
    目录前言单例模式单例模式的几种实现方式饿汉式饿汉式-静态变量写法饿汉式-静态代码块写法懒汉式懒汉式-经典写法懒汉式-同步方法(不推荐)懒汉式-双重检查锁(推荐)懒汉式-静态内部类(推荐)存在的问题枚举(天然适合)总结前言最近看EffectiveJava看到了一点关于单例模式的内容,结合自己所......
  • 《JavaEE进阶》----14.<SpringMVC配置文件实践之【验证码项目】>
    本篇博客介绍的是Google的开源项目Kaptcha来实现的验证码。这种是最简单的验证码。也是很常见的一种验证码。可以去看项目结果展示。就可以明白这个项目了。前言:随着安全性的要求越来越高、很多项目都使用了验证码。如今验证码的形式也是有许许多多、更复杂的图形验证码......
  • Java语言程序设计基础篇_编程练习题*18.10 (字符串中某个指定字符出现的次数)
    目录题目:*18.10(字符串中某个指定字符出现的次数)习题思路代码示例 输出结果题目:*18.10(字符串中某个指定字符出现的次数)  编写一个递归方法,使用下面的方法头给出一个指定字符在字符串中出现的次数。publicstaticintcount(Stringstr,chara) 例如,coun......