商品仓库管理系统(数据库设计)

更新时间:2024-01-19 16:45:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据库原理课程设计

仓库管理系统

第一章 绪论

1.1课题背景介绍 1.1.1课题开发背景

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

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对物资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。 因此,开发这样一套商品库存管理软件成为很有必要的事情。

1.1.2课题开发意义

大多数库存管理理论认为,库存是物理上和逻辑上库房库位的所有有形和无形物料极其价值的总和,具体包括成品、原材料、在制品、在途品、生产前物料、备品备件等。虽然持有一些库存是必要的,过量的库存却非但没有用处而且占用了资金。占用的资金对于公司发展、新产品开发等都是非常需要的;减少资金占用还可以大大减少来自银行贷款的利息和风险。对那些采购量特别大、采购件市场价格有波动的物料库存,加强库存管理效果更为明显。因此,平衡公司库存投资与其它资金需求至关重要。

随着我国经济的飞速发展,各种类型规模的公司企业迅速崛起,许多

从事生产和经营管理的企业都有自己生产和销售的产品,而这些产品都需要储存在仓库中,对于每个企业来说,随着企业规模的不断扩大,产品数量的急剧增加,所生产产品的种类也会不断地更新与发展,有关产品的各种信息量也会成倍增长。面对庞大的产品信息量,如何有效地管理库存产品,对这些企业来说是非常重要的,库存管理的重点是销售信息能否及时反馈,从而确保企业运行效益。而库存管理又涉及入库、出库的产品、操作人员及客户等方方面面的因素,如何管理这些信息数据,是一项复杂的系统工程,充分

考验着仓库管理员的工作能力,工作量的繁重是可想而知的,所以这就需要由库存管理系统来提高库存管理工作的效率,这对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义。

1.2课题开发目标

设计和实现商品库存管理系统,使库存管理的工作系统化、 规范化

和自动化,从而达到提高管理效率的目的。 (1) 利用计算机系统实现商品库存管理 ; (2) 流程符合商品库存要求 ;

(3) 查询方便 , 无论是按商品编号、名称、类别其中任一项都可以进行有效查询 ;

(4) 系统扩充容易 , 有很多地方还需要更好地完善 ; (5) 友好的用户界面 , 既面向系统开发者 , 又面向用户 。

第二章 需求分析

2.1

调查用户需求

本系统的最终用户为商场管理员,商场的客户。根据我们日常生活中的经

验,结合对商场管理员及商场的客户的调查,得出用户的下列实际要求:

2.1.1商场的基本情况

商场管理员管理商场中客户、供应商、商品及仓库的信息。 (1)客户的基本信息

客户可以自己进行注册,也可以由管理员分配。商场中的每个客户都分配有唯一的编号、名字、地址、电话号码,每个用户可以进行信息查询,但不可以进行修改。 (2)供应商的基本信息

每个供应商拥有唯一的编号、名字、地址、供应货物及电号码。 (3)货物的基本信息

每种货物有一个编号,会存放在一个仓库中,货物有唯一的名称,属于一个类型,拥有一定货物存储量,管理员可以对其信息进行修改。 (4)仓库的基本信息

每个仓库有一个编号,同样有一个名字,一个地址,也拥有一定的容量,可以扩充容量,管理员可以对其信息进行修改。 (5)货物查询的基本信息

管理员和客户都拥有对货物、仓库查询的权力,而货物查询又分为三种:所有货物、货号查询、货名查询,给出相对应的条件,就可以查询到相关的货物编号、仓库编号、货物名称、类型名称、货物存储量,仓库查询只有所有仓库,给出相应的条件则可以查询到相关仓库编号、仓库名字、仓库地址、仓库容量。 (6)出入库的基本信息

供应商和客户的每次提供、购买货物都会造成仓库相关货物信息的改变,货物入库时更新货物编号、货物名称、入库时间、货物类型、供应商编号、收购单价、入库总量、仓库编号、客户编号,货物出库时更新货物编号、

货物名称、出库时间、货物类型、供应商编号、收购单价、出库总量、仓库编号、客户编号信息。

2.1.2 用户对系统的要求

通过需求分析,对商品库存进行有效的管理,使之形成完善的应用系统。数据库设计中要合理设置商品信息和库存信息等,用来实现商品信息的新增,修改、删除等功能,使得商家有较详细的数据统计与分析。

下面就介绍一些此商品库存信息管理系统的基本功能: (1) 登录认证

作为一个企业实际应用项目,登录认证是必不可少的。本项目的用户登录管理比较简单,分为管理员和客户登录,管理员和客户有不同的权限。 (2) 统计报表

统计报表模块包括客户统计、供货商统计、货物统计、仓库统计。各个统计都可以按照各个关键字进行统计查询。 (3) 入库管理

入库管理主要是管理员对仓库进行进货入库的操作,管理人员通过改功能模块把每天的入库商品明细输入数据库并对商品信息进行修改和删除。该模块支持按货物编号和货物名称、所有货物等关键字查询货物编号、仓库编号、货物名称、类型名称、货物存储量。 (4) 出库管理

出库管理模块与入货管理模块相似,主要是对货物出库信息进行管理。管理员员通过该功能模块对出库商品进行出库操作。 (5) 库存管理

库存管理模块主要是对已库存的商品进行操作,包括对商品的仓库信息进行修改。另外,可以按货物编号和货物名称、所有货物对所有货物进行盘点。

2.2 系统可行性分析

可行性分析研究的目的就是用最小的代价在尽可能短的时间里确定问题是否能解决,通过复杂系统的规模与目标,研究与此类似的系统后,我们具体从下面三方面考虑。

2.2.1经济可行性

在各个企业中用计算机管理企业信息已经越来越普遍了,可以说计算机已成为一个企业不可缺少的“管理者”了,它的方便、安全、可靠性也越来越受青睐,所以未来必定是计算机的天下。商品库存管理系统是一个小型的管理系统,但它给企业带来的利润是不可估量的,节省了许多人力,物力上的开支,使库存管理工作变繁为简,使其更加合理化、规范化。工作效率的提高就意为着整体水平的

提高,是非常值得投资的。

2.2.2操作可行性

系统是在JDK 环境下基于MyEclipse平台开发的,易于操作。而且系统还采用了可视化面向对象的工具开发,其窗口、界面简洁易懂,所以系统在操作上是可行的。

2.2.3技术可行性

系统采用Java语言作为开发工具。Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的动态的语言。它具有理论严密、使用方便、易学易用等特点,利用它设计的系统具有界面友好、工具丰富速度较快的特点。再结合SQL Server 2000数据库技术,编写SQL语言访问数据库,实现强大的查询、修改、入库、出库操作。

2.3系统功能的设计和划分

根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分:

第一部分:管理员管理部分 第二部分:用户管理部分

各部分完成的功能如下: 1、管理员管理部分

1、处理管理员登录

2、管理员可以注册、查询、注销、修改用户信息。 3、管理员可以注册、查询、注销、修改提供商信息。 4、管理员可以查看、修改货物信息。 5、管理员可以查看、修改仓库信息。

6、管理员可以插入货物入库信息。

7、管理员可以插入货物出库信息。

2、用户管理部分

1、处理用户注册

2、处理用户登录

3、用户可以查询货物信息。

4、用户可以查询仓库信息。

2.4数据流图

管理员—供应商分数据流图:

管理员—客户分数据流图:

总数据流图;

2.5 数据字典

1.数据项

1. 客户数据字典

属性名 编号 姓名 地址 电话 照片 密码

存储代码 Cno Cname Caddr Ctel Cicon Cpw

类型 char char char char image char

长度 5 20 40 11 16 10

备注 客户编号 客户姓名 客户地址 客户照片 客户密码

2. 货物数据字典

属性名 货物编号 货物名称 仓库编号

存储代码 Gno Gname Tno

类型 char char char

长度 5 20 5

备注

3. 管理员数据字典

属性名 存储代码 编号 M01 姓名 Mname 密码

PW

4. 供应商数据字典

属性名 存储代码 编号 Pno 姓名 Pname 地址 Paddr 货物 Pgoods 电话 Ptel 照片

Picon

5. 仓库存储数据字典属性名 存储代码 货物编号 Gno 仓库编号 Sno 货物名称 Gname 类型名称 Tname 货物存储量

Gnum

6. 货物入库数据字典属性名 存储代码 货物编号 Gno 供应商编号 Pno 货物名称 Gname 货物类型 Tname 仓库编号 Sno 入库总量 Innum 收购单价 Inprice 入库时间

Indata

类型 长度 char 5 char 20 char

10

类型 长度 char 5 char 20 char 40 char 6 char 11 image

16

类型 长度 char 5 char 5 char 10 char 20 int

4

类型 长度 char 5 char 5 char 10 char 20 real 4 int 4 real 4 char

20

备注 管理员编号 管理员姓名 管理员密码

备注 供应商编号 供应商姓名 供应商地址 供应商供应货物 供应商电话 供应商照片

备注

仓库货物存储量

备注

货物入库总量货物收购单价货物入库时间

7. 货物出库数据字典

属性名 货物编号 客户编号 货物名称 货物类型 出库编号 出库总量 售出单价 出库时间

存储代码 Gno Cno Gname Tname Sno Outnum Outprice Outdata

类型 char char char char real int real char

长度 5 5 10 20 4 4 4 20

备注

货物出库编号 货物仓库总量 货物出库单价 货物出库时间

8. 仓库数据字典

属性名 仓库编号 仓库名称 仓库地址 仓库容量

存储代码 Sno Sname Saddr Ssize

类型 char char char int

长度 5 20 40 4

备注

9. 货物类型数据字典

属性名 类型编号 类型名称 类型描述

存储代码 Tno Tname

类型 char char

长度 5 20 50

备注

Tdescription char

2.数据结构

数据结构名 管理员 客 户 供 应 商 货 物 仓库 货物类型 入 库 出 库 库 存

组成 管理员编号,管理员姓名,密码 客户编号,客户名称,地址,联系电话

供应商编号,供应商名称,供应商地址,货物,联系方式 物品编号,物品编号,类型编号

仓库编号,仓库名称,仓库地址,仓库面积 类型编号,类型名称,类型描述

货物编号,供应商编,货物名称,货物类型,入库总量,收购单价,仓库编号,入库时间

货物编号,客户编号,货物名称,货物类型,出库总量,售出单价,仓库编号,出库时间

货物编号,仓库编号,货物名称,货物类型,货物总量

3. 数据流

数据流名

注册管理员信息 注册客户信息 注册提供商信息 查询客户信息 查询提供商信息 注销客户信息 注销提供商信息 修改客户信息 修改提供商信息 查询货物信息 货物入库信息 货物出库信息 扩建仓库信息 修改货物信息

数据流来源 管理员 客户 提供商 客户 提供商 客户信息表 提供商信息表

客户信息表 提供商信息表

货物信息表 客户

货物信息表 管理员 货物信息表

数据流去向 管理员信息表 客户信息表 提供商信息表 管理员 管理员 管理员 管理员 管理员 管理员 管理员 货物信息表 客户

仓库信息表 管理员

组成

管理员注册信息 客户注册信息 提供商注册信息 客户注册信息 提供商注册信息 客户注销信息 提供商注销信息 客户修改信息 提供商修改信息 货物查询信息 货物入库信息 货物出库信息 仓库扩建信息 货物修改信息

4.数据存储

数据存储名 客户信息表 货物信息表 提供商信息表 管理员信息表 库存信息表 入库信息表 仓库信息表

输入的数据流 客户注册信息 客户修改信息 货物入库信息 提供商注册信息 提供商修改信息 管理员注册信息 入库信息 入库信息 仓库扩建信息

输出的数据流

组成

客户注册信息

客户注册信息

客户修改信息 货物入库信息

货物出库信息

货物出库信息 提供商注册信息

提供商注册信息

提供商修改信息

管理员注册信息 管理员注册信息

入库信息

出库信息

出库信息 入库信息

货物修改信息

货物修改信息 仓库扩建信息

仓库删除信息

仓库删除信息

5.处理过程

处理过程名 注册客户 注册提供商 注销客户信息 注销提供商信息 修改客户信息 修改提供商信息 查询客户信息 查询提供商信息 货物查询 货物入库 货物出库 仓库扩建 货物修改

输入数据流 客户注册信息 提供商注册信息 客户注册信息 提供商注册信息 客户注册信息 提供商注册信息 客户注册信息 提供商注册信息 货物信息 货物信息 货物信息 仓库信息 货物信息 输出数据流 客户注册信息 提供商注册信息 客户注册信息 提供商注册信息 客户注册信息 提供商注册信息 客户注册信息 提供商注册信息 货物信息 货物信息 货物信息 仓库信息 货物信息

第三章 系统概要设计

本部分的总目标是根据需求分析说明书设计E-R图

管理员实体E-R图:

管理员 管理员编号 管理员姓名 密码

客户实体E-R图:

客 户 客户编号 联系电话 客户名称 地址

供应商实体E-R图:

供 应 商 供应商编号 联系方式 供应商名称 供应商地址 货物

货物实体E-R图:

货 物 物品编号 物品名称 类型编号

仓库实体E-R图:

仓库 仓库编号 仓库名称 仓库地址 仓库面积 货物类型实体E-R图:

货物类型 类型编号 类型名称 类型描述

入库实体E-R图:

入 库 货物编号 供应商编号 货物名称 货物类型 入库总量

入库时间 仓库编号 收购单价 出库实体E-R图:

出 库 货物编号 客户编号 货物名称 货物类型 出库总量

出库时间 仓库编号 售出单价 库存实体E-R图:

库 存 货物编号 货物总量 仓库编号 货物名称 货物类型

整体E-R图:

第四章 逻辑及物理设计

本章的核心内容是将ER图转换为关系模式和创建数据库 关系模式

客户(编号,姓名,地址,电话,照片,密码)

货物(货物编号,货物名称,仓库编号)

管理者(编号,名称,密码)

供应商(编号,姓名,地址,货物,电话,照片)

仓库存储(货物编号,仓库编号,货物名称,类型名称,货物存储量)

货物入库(货物编号,供应商编号,货物名称,货物类型,仓库编号,入库总量,收购单价,入库时间)

货物出库(货物编号,客户编号,货物名称,货物类型,仓库编号,出库总量,售出单价,出库时间)

仓库(仓库编号,仓库名字,仓库地址,仓库容量)

货物类型(类型编号,类型名称,类型描述) (下划线标注的属性为主码) 以上关系模式均为BCNF。

物理设计:

1.安装或者解压,取得sqljdbc.jar文件,该文件即为JDBC驱动。将sqljdbc.jar放到classpath。 2.设置 Classpath:

JDBC驱动程序并未包含在 Java SDK中,必须将 classpath设置为包含 sqljdbc.jar文件。

sqljdbc.jar文件的安装位置如下:

<安装目录>\\sqljdbc_<版本>\\<语言>\\sqljdbc.jar

CLASSPATH =.;%ProgramFiles%\\sqljdbc_1.1\\chs\\sqljdbc.jar 3、打开MyEclipse,“文件”→“新建”→“项目”→“Java项目”,项目名为Test

4、在MyEclipse中,选择“窗口”→“首选项...”→“Java”→“已安装的 JRE”,选择已安装的 JRE,点击“编辑”→“添加外部”,选择%ProgramFiles%\\sqljdbc_1.1\\chs\\sqljdbc.jar

5、在Test项目的“JRE系统库”中可以看见sqljdbc.jar,如果没有可以右键单击项目Test→“构建路径”→“配置构建路径...”→“Java构建路径”→“库”→“添加外部 JAR...”,选择%ProgramFiles%\\sqljdbc_1.1\\chs\\sqljdbc.jar 6、SQL Server 2000中加载驱动和URL的语句为:

String driverName = \String dbURL = \

第五章 系统实现及测试

5.1用户登陆实现

在该商品库存信息管理系统中,用户登陆设计如下图5-1所示:

图5-1 登陆界面

用户登陆可分为管理员和客户两种,在输入对应的用户名和密码后,点击确认就可以进入,否则将会出现如下图5-2所示:

图5-2错误提示

5.2系统主界面实现

主界面设计形式:程序运行后,主界面将打开。主界面带有标题栏和菜单栏,标题栏显示商品库存管理系统,而菜单栏上面有五个菜单项,分别是用户管理,信息查询,货物管理和帮助。在用户管理菜单项下面有客户管理和提供商管理两个Item,在这两个Item下面又各自有四个Item,它们分别是:注册、查询、注销和修改。信息查询下有所有货物、所有仓库、货号查询、货名查询、仓库查询五个Items。在货物管理下又分为货物入库、货物出库、仓库扩建、货物修改四个子菜单项。最后的帮助则是一个关于,显示相关的软件信息。将这些菜单项都添加到菜单中实现后的效果如下图5-3所示:

图5-3系统主界面

为每一个Item添加事件监听程序。在点击菜单项的时候弹出各自对应的窗体,供用户进行操作。 //监听处理

public void actionPerformed(ActionEvent e) {

//关 于 系 统

if(e.getSource()==jmenuitem13) { }

//入库信息录入

if(e.getSource()==jmenuitem9) { }

//出库信息录入

if(e.getSource()==jmenuitem10)

input_info ii=new input_info(); ii.setVisible(true);

aboutsystem sa=new aboutsystem(); sa.setVisible(true);

{ }

//货物修改

if(e.getSource()==jmenuitem16) {int i = 0;

import_outfo io=new import_outfo(); io.setVisible(true);

String str=JOptionPane.showInputDialog(this,\请输入编号\,\提示\,JOptionPane.INFORMATION_MESSAGE);

if(str.length()==0){

JOptionPane.showMessageDialog(this,\您你没有输入任何信息\,\提

示\,JOptionPane.INFORMATION_MESSAGE); return;

}

Vector vector=new Vector(); vector=Function.select6_Ggno(str); if(vector.size()==0){

JOptionPane.showMessageDialog(this,\没有您要找的货物\,\提示\,JOptionPane.INFORMATION_MESSAGE);

}

//仓库扩建

if(e.getSource()==jmenuitem14) {

ri.jtextfield1.setText(vector.get(0).toString()); ri.jtextfield3.setText(vector.get(1).toString()); ri.jtextfield2.setText(vector.get(2).toString());

ri.jcombobox.setSelectedItem(ri.jcombobox.getItemAt(i)); ri.setVisible(true);

return; }

UpdateGoods ri=new UpdateGoods();

StorageKuo sk=new StorageKuo(); sk.setVisible(true);

}

//所有仓库 if(e.getSource()==jmenuitem15)

{

Vector> vector=new Vector>(); Vector tablehead=new Vector(); tablehead=Function.gettablehead4(); vector=Function.select15_Storage();

}

jtable=mytable.maketable(vector, tablehead); jscrollpane2.getViewport().add(jtable);

//所有货物 if(e.getSource()==jmenuitem12)

{ }

//供应商管理

//供应商注册

if(e.getSource()==jmenuitema3) { }

//供应商查询

if(e.getSource()==jmenuitema5) { }

//供应商修改

if(e.getSource()==jmenuitema4) {

//int i = 0;

String str=JOptionPane.showInputDialog(this,\请输入编号\,\提Vector> vector=new Vector>(); Vector tablehead=new Vector(); tablehead=Function.gettablehead2(); vector=Function.select1_Provide();

jtable=mytable.maketable(vector, tablehead); jscrollpane2.getViewport().add(jtable); AddProvide ap=new AddProvide(); ap.setVisible(true);

Vector> vector=new Vector>(); Vector tablehead=new Vector(); tablehead=Function.gettablehead1(); vector=Function.select1_Stock();

jtable=mytable.maketable(vector, tablehead); jscrollpane2.getViewport().add(jtable);

示\,JOptionPane.INFORMATION_MESSAGE); if(str.length()==0){

JOptionPane.showMessageDialog(this,\您你没有输入任何信息

\,\提示\,JOptionPane.INFORMATION_MESSAGE); return;

}

Vector vector=new Vector();

vector=Function.select13_Pno(str); if(vector.size()==0){

JOptionPane.showMessageDialog(this,\没有您要找的供应商\,\

提示\,JOptionPane.INFORMATION_MESSAGE); return;

//供应商注销

if(e.getSource()==jmenuitema1) {

String str1=JOptionPane.showInputDialog(this, \请输入供应商编}

UpdateProvide ri=new UpdateProvide();

ri.jtextfield3.setText(vector.get(2).toString()); ri.jtextfield4.setText(vector.get(3).toString()); ri.jtextfield5.setText(vector.get(4).toString()); ri.jtextfield1.setText(vector.get(0).toString());

//图片放在显示框中间

ri.setVisible(true); }

ri.jtextfield2.setText(vector.get(1).toString());

号\,\提示\,JOptionPane.INFORMATION_MESSAGE); if(str1.length()==0){

JOptionPane.showMessageDialog(this, \您没有输入任何信息

\,\错误\, JOptionPane.ERROR_MESSAGE); return;

}

Delete.delete1_Pno(str1);

JOptionPane.showMessageDialog(this,\已经成功注销\, \提示\, JOptionPane.INFORMATION_MESSAGE);

}

//客户管理

//管理员替客户注册

if(e.getSource()==jmenuitema12) { }

ClienRegistl ap=new ClienRegistl(); ap.setVisible(true);

//客户查询

if(e.getSource()==jmenuitema9) { }

//客户修改

if(e.getSource()==jmenuitema11) {

String str=JOptionPane.showInputDialog(this,\请输入编号\,\提Vector> vector=new Vector>(); Vector tablehead=new Vector(); tablehead=Function.gettablehead3(); vector=Function.select1_Client();

jtable=mytable.maketable(vector, tablehead); jscrollpane2.getViewport().add(jtable);

示\,JOptionPane.INFORMATION_MESSAGE); if(str.length()==0){

JOptionPane.showMessageDialog(this,\您你没有输入任何信息

\,\提示\,JOptionPane.INFORMATION_MESSAGE); return;

Vector vector=new Vector();

vector=Function.select14_Cno(str); if(vector.size()==0){

JOptionPane.showMessageDialog(this,\没有您要找的客户\,\提

} try {

示\,JOptionPane.INFORMATION_MESSAGE); return;

ri.jtextfield1.setText(vector.get(0).toString().trim()); ri.jtextfield2.setText(vector.get(1).toString().trim()); ri.jtextfield3.setText(vector.get(2).toString().trim()); ri.jtextfield4.setText(vector.get(3).toString().trim()); //ImageIcon icon=new ImageIcon(vector.get(4).getBytes()); //ri.jlabel1.setIcon(icon);

//ri.jlabel1.setHorizontalAlignment(SwingConstants.CENTER);

}

UpdateClient ri=new UpdateClient();

//图片放在显示框中间

ri.setVisible(true);

}

} catch (Exception e2) {

System.out.println(\);

System.out.println(\+str); }

//客户注销

if(e.getSource()==jmenuitema10) {

String str1=JOptionPane.showInputDialog(this, \请输入客户编号

\,\提示\,JOptionPane.INFORMATION_MESSAGE); if(str1.length()==0){

JOptionPane.showMessageDialog(this, \您没有输入任何信息

\,\错误\, JOptionPane.ERROR_MESSAGE); return;

}

Delete.delete2_Cno(str1);

JOptionPane.showMessageDialog(this,\已经成功注销\, \提示\, JOptionPane.INFORMATION_MESSAGE);

String str1=JOptionPane.showInputDialog(this, \请输入货物编号

\,\提示\,JOptionPane.INFORMATION_MESSAGE); if(str1.length()==0){

JOptionPane.showMessageDialog(this, \您没有输入任何信息\,\错误\, JOptionPane.ERROR_MESSAGE);

}

Vector> vector=new Vector>(); Vector tablehead=new Vector(); tablehead=Function.gettablehead1(); vector=Function.select7_Gno(str1); if(vector.size()==0){

JOptionPane.showMessageDialog(this,\对不起,货物编号不存在\, \ return;

}

//按货物编号查询

if(e.getSource()==jmenuitem5) {

提示\, JOptionPane.INFORMATION_MESSAGE); return;

}

Vector vector19=new Vector();

while(vector.size()<40){

vector.add(vector19); }

jtable=mytable.maketable(vector,tablehead); jscrollpane2.getViewport().add(jtable); }

//按货物名称查询

if(e.getSource()==jmenuitem6) {

String str1=JOptionPane.showInputDialog(this, \请输入货物名称

\,\提示\,JOptionPane.INFORMATION_MESSAGE); if(str1.length()==0){

JOptionPane.showMessageDialog(this, \您没有输入任何信息\,\错误\, JOptionPane.ERROR_MESSAGE);

}

Vector> vector=new Vector>(); Vector tablehead=new Vector(); tablehead=Function.gettablehead1(); vector=Function.select5_Gname(str1); if(vector.size()==0){

JOptionPane.showMessageDialog(this,\对不起没有您需要的货物\, \ return;

提示\, JOptionPane.INFORMATION_MESSAGE);

return;

}

Vector vector19=new Vector(); while(vector.size()<40){

vector.add(vector19); }

jtable=mytable.maketable(vector,tablehead); jscrollpane2.getViewport().add(jtable); }

//按仓库查询

if(e.getSource()==jmenuitem8) {

String str1=JOptionPane.showInputDialog(this, \请输入仓库编号

\,\提示\,JOptionPane.INFORMATION_MESSAGE); if(str1.length()==0){

JOptionPane.showMessageDialog(this, \您没有输入任何信息\,\错误

\, JOptionPane.ERROR_MESSAGE);

}

Vector> vector=new Vector>(); Vector tablehead=new Vector(); tablehead=Function.gettablehead1(); vector=Function.select8_Sno(str1); if(vector.size()==0){

JOptionPane.showMessageDialog(this,\此仓库号不存在,无法查看仓 return;

库库存\, \提示\, JOptionPane.INFORMATION_MESSAGE); return;

}

}

Vector vector19=new Vector(); while(vector.size()<40){

vector.add(vector19); }

jtable=mytable.maketable(vector,tablehead); jscrollpane2.getViewport().add(jtable); }

5.3用户管理实现

用户管理包括客户管理和提供商管理两个方面,在这两个Item下面又各自

有四个Item,它们分别是:注册、查询、注销和修改。如图5-4所示:

图5-4用户管理子菜单

点击注册出现图5-5:

图5-5客户信息注册界

在方框中输入相应的信息,再点击确定键返回图5-6,则说明注册成功。

图5-6注册成功提示

用户管理中的其它功能也是这样按照相关提示信息即可使用。

5.3信息查询实现

信息查询包含所有货物、所有仓库、货号查询、货名查询、仓库查询五个功

能如下图5-7所示。

图5-7信息查询菜单

选择货号查询做为一个演示,将出现下图5-8的信息。

图5-8查询提示

在方框中输入相应的信息则可以查询到相关数据。这里输入的为G01,出现如图5-9所示数据。

图5-9

系统中的其它功能都同样可以根据相关提示进行操作,这里将不再累述。

第六章 总 结

对设计过程进行总结,明确指出每个小组成员完成的具体工作。

经过两个一个多星期的努力,完成了本次课程设计。设计时,严格按照软件工程的思想,从需求分析、可行性分析、总体设计、最后到详细设计。本系统我认为比较出色的地方就是采用类控件设计,数据库的操作也是写在java包里,不需要另外写存储过程和触发器;在主界面的设计上也别出心裁,每个按钮都用合适的图片覆盖上,使界面看起来很舒服美观。本系统是用Java写的基于桌面的一个系统,虽然没有达到网络化的要求,但基本的库存管理功能和大数据量的查询工作都基本可以满足,包括按多种方式查询,根据市场的情形,就只实现单机系统也就足够了。

在设计过程中,我们遇到了很多技术上的问题,平时在学习过程中,即使上机实验也都是些小的、较为简单的程序设计,都称不上为系统,因此,在开发系统的过程中碰到了很多棘手的问题,对于很多新的知识都是一知半解,只有在网上或图书馆搜集资料多加理解,然后再向同学和老师请教,慢慢尝试,多多练习,一点点改进,尽量实现所有设计的功能模块。在连接数据库时查阅了大量的资料。最后采用JDBC的方式连接SQL Server 2000数据库,经过几番调试后,系统和数据库成功连上。

本次课程设计花费了我们大量的精力和不算短的时间,但我觉得是值得的,以前我们不喜欢动手去操作,不喜欢写程序,导致我的动手编程能力很差,思维的严密性和灵活性都不够好,处理问题的方式也不够好,甚至有点害怕编程,经过本次课程设计,很多方面都有较大进步,动手能力强了,且对一个项目进行开发时能按照软件设计的思想逐一分析、设计,能合理安排工程进度。通过这次毕业设计使我们把以前所学的零散的知识进行了一次大综合,对软件开发也有一个总体的认知,让我不在害怕编程,为以后的软件开发打下了坚实的基础。本次课程设计过程中,我们查阅了很多的资料,所以又进一步掌握更多的专业知识,技能水平也有很大的提高,总之,上机实践对于所有计算机专业的学生来说都是最重要的,要勤于动手动脑,多想多试才有创新,才有进步,才有收获。

本次课程设计小组的人员分工:

成员 郭月红 黄婷 聂春花

分工 Java编程 数据库设计 文档撰写

参考文献

[1] 刘大玮,马传宝,孙颖洁《SQL Server 数据库项目开发案例导航 》北京:清华大学

出版社,2005

[2] (美)Bruce Eckel,《Java编程思想》,机械工业出版社,2007 [3] 王珊,萨师煊《数据库系统概论》高等教育出版社,2006 [4] 张海藩.《软件工程导论》清华大学出版社, 2007.

本文来源:https://www.bwwdw.com/article/vpoo.html

Top