该系统是典型的MIS(管理信息系统),主要包括创建并维护后台数据库和前端应用程序的开发两个方面。
练习

一、系统分析

本节是对企业进销存管理系统进行系统的分析,其中包括需求分析和可行性分析。另外,在项目计划书中将详细地描述开发背景、团队和开发环境。

1.需求分析

企业进销存管理系统的主要工作是对企业的进货、销售和库存以信息化的方式进行管理,最大限度地减少各个环节中可能出现的错误,有效地减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提高市场灵敏度,使企业能够合理安排进、销、存的每个关键步骤,提升企业市场竞争力。
要求企业进销存管理系统具有以下功能:

  • 界面设计美观大方,操作方便、快捷、灵活。
  • 实现强大的进销存管理,包括基本信息、进货、销售和库存管理。
  • 能够在不同的操作系统下运行,不局限于特定的平台
  • 提供数据库备份与恢复功能
  • 提供库存盘点功能
  • 提供技术支持的联系方式,可以使用邮件进行沟通,或者直接连接到技术网站。

2.可行性分析

2.1引言

(1)编写目的
为了给软件开发企业的决策层提供是否进行项目实施的参考依据,现以文件的形式分析项目的风险、项目需要的投资与效益。
(2)背景

2.2可行性研究的前提

(1)要求

  • 附加进货、退货和销售退货功能以增加管理的灵活性
  • 系统的功能要符合本企业的实际情况
  • 管理内容较多,涉及窗口容易混乱,应提供窗口集合操作和菜单管理
  • 支持数据库备份和恢复功能,提高系统安全性

(2)目标
目标是提供强大的进销存管理功能,减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提高市场灵敏度。
(3)评价尺度
项目需要在两个月内交付用户使用,系统分析人员需要3天内到位,用户需要5天时间确认需求分析文档,除去其中可能出现的问题,如用户临时有事,占用7天时间确认需求分析,那么程序开发人员需要在50天内进行系统设计、程序编码、系统测试、程序调试和系统打包部署工作,其中还包括员工每周的休息时间。

2.3投资及效益分析

(1)支出
根据预算,公司计划投入8个人,为此需要支付9万元的工资及各种福利待遇;项目的安装、调试以及用户培训、员工出差等费用支出需要2.5万元;在项目后期维护阶段预计需要投入2万元的资金,累计项目投入需要13.5万元。
(2)收益

2.4结论

根据上面的分析,…,因此,认为该项目可以开发。

3.编写计划书

3.1引言

(1)编写目的
为了保证项目开发人员能够更好的了解项目实际情况,按照合理的顺序开展工作,按时保质地完成预定目标,现以书面的形式将项目开发生命周期中的项目任务范围、项目团队组织结构、团队成员的工作责任、团队内外沟通协作方式、开发进度、检查项目工作等内容描述出来,作为项目相关人员之间的共识和约定以及项目生命周期内所有项目活动的行动基础。
(2)背景

3.2概述

(1)项目目标
项目应当符合SMART原则,把项目要完成的工作用清晰的语言描述出来。企业进销存管理系统的主要目标是为企业提供一套能够方便地对企业商品的进货、销售、库存等进行管理的软件。
(2)应交付成果

(3)项目开发环境
开发本项目所用的操作系统可以是Windows 2000 Server、Windows Server 2003、Windows 7、Linux的各种版本、MAC等平台,开发工具为Eclipse3.7,数据库采用MySQL 5.6。
(4)项目验收方式及依据

3.3项目团队组织

(1)组织结构

(2)人员分工

二、系统设计

1.系统目标

根据企业对进销存管理的要求,指定企业进销存管理系统目标如下:

  • 灵活的人机交互界面,操作简单方便,界面简洁美观
  • 键盘操作,快速响应
  • 对进货和销售提供相应的退货管理功能
  • 实现各种查询,如多条件查询、模糊查询等
  • 可以随时修改系统口令
  • 灵活的数据备份、还原功能
  • 系统最大限度地实现易安装性、易维护性和易操作性
  • 系统运行稳定,安全可靠

2.系统功能结构

企业进销存管理系统的功能结构如图。

进销存管理系统java 进销存管理系统怎么做_字段

3.系统业务流程图

系统业务流程图如图。

进销存管理系统java 进销存管理系统怎么做_字段_02

4.系统编码规范

4.1数据库命名规范

(1)数据库
数据库命名以字母“db_”为前缀(小写),后加数据库相关章节作后缀。

数据库命名

数据库名称

描述

db_database28

企业进销存管理系统数据库

(2)数据表


数据表以字母“tb_”为前缀(小写),后加数据表相关缩写作后缀。

数据表命名

数据表名称

描述

tb_jsr

经手人信息表

tb_spinfo

商品信息表

tb_kucun

库存信息表

(3)字段


字段采用名称缩写形式命名,没有前缀和后缀限制。

字段命名

字段名称

描述

name

名字

pwd

密码

(4)视图


视图命名以字母“v_”(小写)作前缀,后加表示该视图作用的相关英文单词或缩写作后缀。

视图命名

视图名称

描述

v_rukuView

入库信息视图

v_sellView

销售信息视图

(5)存储过程


存储过程命名以字母“proc_”开头(小写),后加表示该存储过程作用的相关英文单词或缩写。

存储过程命名

存储过程名称

描述

proc_Login

存储过程全名

(6)触发器


触发器命名以字母“trig_”开头(小写),后加表示该触发器作用的相关英文单词或缩写。

触发器命名

触发器名称

描述

trig_inAdmin

触发器全名

4.2业务编码命名规范

(1)供应商信息编号
供应商信息的ID编号以字符串gys为前缀,加上4位数字的后缀,编号数字从1000开始。例如,gys1004。
(2)客户信息编号
客户信息的ID编号以字符串kh为前缀,加上4位数字的后缀,编号数字从1000开始。例如,kh1002。
(3)商品信息编号
商品信息的ID编号以字符串sp为前缀,加上4位数字的后缀。例如,sp2045。
(4)销售单编号
销售单的ID编号命名规则以XS字符串为前缀,加上销售单的销售日期和3位数字作后缀。例如,XS20071109003。
(5)进货单编号
进货单ID编号命名规则以RK字符串为前缀,加上商品的入库日期和3位数字作后缀。例如,RK20071109003。

三、开发环境

本系统的开发环境如下。
操作系统:Windows7。
JDK环境:Java SE Development KIT(JDK) Version 7。
开发工具:Eclipse 3.7。
数据库管理软件:MySQL5.6。
运行平台:Windows、Linux各个版本、MAC等平台。
分辨率:最佳效果1024*768像素。

四、数据库与数据表设计

1.数据库分析

企业进销存管理系统需要使用数据库存储和管理进销存过程中的所有信息。MySQL具有安全、易用、性能优越、安装和操作简便等优点。考虑到进销存数据量的庞大和安全性的保障,本系统决定采用MySQL数据库系统作为进销存管理的后台数据库,数据库名称为db_database28,其中包含了14张数据表和2个视图。

2.创建数据库

本系统的数据库名称为db_database28。

在MySQL中创建db_database28数据库的具体步骤如下:

(1)选择“开始”/“所有程序”/MySQL/MySQL Server 5.6/MySQL 5.6 Command Line Client。

(2)在弹出的控制台窗口中输入root账号的密码。

进销存管理系统java 进销存管理系统怎么做_数据库_03


(3)登录成功后,运行命令“CREATE DATABASE db_database28;”即可创建数据库。

进销存管理系统java 进销存管理系统怎么做_数据库_04

3.创建数据表

在已经创建的数据库db_database28中创建14个数据表。

下面以tb_jsr数据表为例介绍创建数据表的过程。

(1)执行“use db_database28”命令,进入db_database28库

进销存管理系统java 进销存管理系统怎么做_进销存管理系统java_05


(2)在控制台窗口中允许脚本创建表

进销存管理系统java 进销存管理系统怎么做_进销存管理系统java_06


下面为数据表结构:

(1)供应商信息表

供应商信息表的名称为tb_gysinfo,主要用于存储供应商详细信息,其结构如表所示。

tb_gysinfo供应商信息表

字段名称

数据类型

字段大小

是否主键

说明

id

varchar

32

主键

供应商编号

name

varchar

50

供应商名称

jc

varchar

20

供应商简称

address

varchar

100

供应商地址

bianma

varchar

10

邮政编码

tel

varchar

15

电话

fax

varchar

15

传真

lian

varchar

8

联系人

Itel

varchar

15

联系电话

yh

varchar

50

开户银行

mail

varchar

30

电子信箱

进销存管理系统java 进销存管理系统怎么做_进销存_07


(2)商品信息表


商品信息表的名称为tb_spinfo,主要用于存储商品详细信息,其结构如表。

tb_gysinfo供应商信息表

字段名称

数据类型

字段大小

是否主键

说明

id

varchar

32

主键

商品编号

spname

varchar

50

商品名称

jc

varchar

30

商品简称

cd

varchar

50

产地

dw

varchar

10

商品计量单位

gg

varchar

10

商品规格

Bz

varchar

20

包装

ph

varchar

32

批号

pzwh

varchar

50

批准文号

memo

varchar

100

备注

gysname

varchar

50

供应商名称

进销存管理系统java 进销存管理系统怎么做_数据库_08


(3)进货主表


进货主表的名称为tb_ruku_main,主要用于存储进货单据信息,其结构如表:

tb_ruku_main进货主表

字段名称

数据类型

字段大小

是否主键

说明

rkID

varchar

32

主键

入库编号

pzs

float

8

品种数量

je

decimal(10,2)

8

总计金额

ysjl

varchar

50

验收结论

gysname

varchar

100

供应商名称

rkdate

datetime

8

入库时间

cyz

varchar

30

操作员

Jsr

varchar

30

经手人

jsfs

varchar

10

结算方式

进销存管理系统java 进销存管理系统怎么做_进销存管理系统java_09


(4)进货详细信息表


进货详细信息表的名称为tb_ruku_detail,主要用于存储进货详细信息,其结构如表:

tb_ruku_detail进货主表

字段名称

数据类型

字段大小

是否主键

说明

id

varchar

50

主键

流水号

rkID

varchar

30

入库编号

spid

varchar

50

商品编号

dj

decimal(10,2)

8

单价

sl

float

8

数量

进销存管理系统java 进销存管理系统怎么做_数据库_10


(5)销售主表


销售主表的名称为tb_sell_main,主要用于存储销售单据信息,其结构如表:

tb_sell_main进货主表

字段名称

数据类型

字段大小

是否主键

说明

sellID

varchar

30

主键

销售编号

pzs

float

8

销售品种数

je

decimal(10,2)

8

总计金额

ysjl

varchar

50

验收结论

khsname

varchar

100

客户名称

xsdate

datetime

8

销售日期

cyz

varchar

30

操作员

jsr

varchar

30

经手人

jsfs

varchar

10

结算方式

进销存管理系统java 进销存管理系统怎么做_进销存管理系统java_11


(6)销售详细信息表


销售详细信息表的名称为tb_sell_detail,主要用于存储销售详细信息,其结构如表:

tb_sell_detail进货主表

字段名称

数据类型

字段大小

是否主键

说明

id

varchar

50

主键

流水号

sellID

varchar

50

销售编号

spid

varchar

50

商品编号

dj

decimal(10,2)

8

销售单价

sl

float

8

销售数量