论文模板 企业进销存管理系统

更新时间:2023-05-23 18:51:01 阅读量: 实用文档 文档下载

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

论文模板 企业进销存管理系统

石家庄职业技术学院毕业设计论文

企业进销存管理系统

系 别: _________________

专 业: _________________

学生姓名: _________________

指导教师: _________________

石家庄职业技术学院信息工程系

年 月 日

论文模板 企业进销存管理系统

摘要

中小企业在我国经济发展中具有重要地位,随着我国市场经济的蓬勃发展和人们对计算机的普遍应用,批发、零售行业正处在一个高速发展的时期。行业的快速发展必然导致竞争的加剧,要想在激烈的市场竞争中谋求发展,客观上要求企业必须加强内部管理,提高运营效率。而我国大部分小型批发、零售企业在信息机制上还没有摆脱原有的手工模式,企业内部没有形成完善的、有效的信息化管理机制,企业发展的动力不足,从而影响企业的持续、稳定、快速的发展。

当今国内外多数企业的竞争特点是:产品的种类、规格特别多,市场需求变化很快,与分销商,零售商的关系日益密切等。而随着业务量的扩大,传统的管理方法已经无法处理日益膨胀的大量的业务数据,企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。

实现企业信息化管理是现代社会中小企业稳步发展的必要条件,它可以提高企业的管理水平和工作效率,最大限度地减少手工操作带来的失误。进销存管理系统正是一个信息化管理软件,可以实现企业的进货、销售、库存管理等各项业务的信息化管理。 出于以上原因,本课程设计将基于MySQL数据库并以JAVA为开发环境设计实现一个企业进销存管理系统。该系统包括基础信息管理、进货管理、销售管理、库存管理、查询统计、系统管理几个模块,主要是处理商业企业商品的采购、库存和销售各个环节的活动,具有良好的人机界面。考虑到系统的使用对象可能较多,权限管理良好,数据查询方便,支持多条件查询。

关键词:进销存管理系统、进货管理、销售管理、库存管理、系统管理

论文模板 企业进销存管理系统

石家庄职业技术学院设计论文 目录

目 录

摘要 ............................................................................................................................... 2

第一章 概述 ................................................................................................................. 1

1.1系统功能概述 ................................................................................................ 1

1.2系统的运行环境 ............................................................................................ 2

1.3开发工具 ........................................................................................................ 2

第二章 系统的数据库设计 ......................................................................................... 3

2.1 数据库字典 ................................................................................................... 3

2.1.1数据项条目 .......................................................................................... 3

2.1.2数据结构条目 ...................................................................................... 3

2.2数据库E-R 图 ............................................................................................... 4

2.2.1客户实体 E-R 图 ................................................................................ 4

2.2.2供应商实体 E-R 图 ............................................................................ 5

2.2.3商品实体 E-R 图 ................................................................................ 5

2.2.4销售实体 E-R 图 ................................................................................ 5

第三章 系统的程序设计与实现 ................................................................................. 7

3.1各模块的功能及其关系 ................................................................................ 7

3.2各功能模块的设计和实现 ............................................................................ 8

3.2.1登录界面 .............................................................................................. 8

3.2.2系统主窗体 ........................................................................................ 10

3.2.3基础信息管理模块方案 .................................................................... 14

3.2.4进货管理模块 .................................................................................... 15

3.2.5销售管理模块 .................................................................................... 16

第四章 系统测试 ....................................................................................................... 17

4.1单元测试 ...................................................................................................... 17

4.2功能测试 ...................................................................................................... 20

4.3集成测试与系统测试 .................................................................................. 20

4.4 程序的异常处理 ......................................................................................... 21

4.5调试 .............................................................................................................. 21

第五章 总结 ............................................................................................................... 22

参考文献 ..................................................................................................................... 23

致谢 ............................................................................................................................. 25

论文模板 企业进销存管理系统

第一章 概述

1.1系统功能概述

本系统要求具有以下功能:

系统操作简单、便捷,界面简洁、友好。

具有规范、完善的基础信息设置和管理。

支持多人操作,要求有用户和权限分配功能。

支持多条件的快捷查询功能。

对销售信息提供销售排行功能。

支持销售退货和入库退货功能。

支持批量填写进货单及销售单。

支持库存价格调整功能。

通过对进销存管理系统的功能需求分析,可以将本系统划分为基础信息管

理、进货管理、销售管理、库存管理、查询统计、系统管理6大部分。系统功能结构如图1-1所示。

图1-1 系统功能结构图

论文模板 企业进销存管理系统

进销存管理系统的系统流程如图1-2所示。

图1-2 系统流程图

1.2系统的运行环境

本项目所用的运行环境如表1-1所示

1.3开发工具

本项目所用的开发工具如表1-2所示。

表 1-2开发工具表

论文模板 企业进销存管理系统

第二章 系统的数据库设计

2.1 数据库字典

2.1.1数据项条目

数据项编号:1

数据项名称:商品编号

符 号 名:ID

数 据类 型:varchar

长 度:5

数据项编号:2

数据项名称:系统用户编号

符 号 名:username

数 据类 型:varchar

长 度:8

数据项编号:3

数据项名称:供应商编号

符 号 名:id

数 据类 型:varchar

长 度:8

2.1.2数据结构条目

数据结构编号:1

数据结构名称:商品入库

简 述:商品入库的记录点

数据结构编号:2 成:商品编号+入库日期+商品价格+供应商+数量

论文模板 企业进销存管理系统

石家庄职业技术学院毕业设计论文

第二章 系统的数据库设计

数据结构名称:用户登记

数据结构编号:3

数据结构名称:供应商录入

简 述:记录贸易往来 述:管理员合法凭证 成:用户编号+用户权限

组 成:供应商编号+供应商名+供应商联系方式

2.2数据库E-R 图

企业进销存管理系统主要实现从进货、库存到销售的一体化信息管理,涉

及商品信息、商品的供应商、购买商品的客户等多个实体。下面简单介绍几个关键的实体 E-R 图。

2.2.1客户实体 E-R 图

企业进销存管理系统将记录所有的客户信息,在销售、退货等操作时,将

直接引用该客户的实体属性。客户实体包括客户编号、客户名称、简称、地址、电话、邮政编码、联系人、联系人电话、传真、开户行和账号等属性,客户实体 E-R 图如图2-1所示。

图2-1 客户实体E-R图

论文模板 企业进销存管理系统

石家庄职业技术学院毕业设计论文

第二章 系统的数据库设计

2.2.2供应商实体 E-R 图

不同的供应商可以为企业提供不同的商品,在商品信息中将引用商品供应

商的实体属性。供应商实体包括编号、名称、简称、地址、电话、邮政编码、传真、联系人、联系电话、开户行和E-mail 属性,供应商实体 E-R 图如图2-2所示。

图2-2 供应商实体E-R图

2.2.3商品实体 E-R 图

商品信息是进销存管理系统中的基本信息,系统将维护商品的进货、退货、销售、入库等操作。商品实体包括编号、商品名称、商品简称、产地、单位、规格、包装、批号、批准文号、商品简介和供应商属性,商品实体 E-R 图如图2-3所示。

图2-3 商品实体E-R图

2.2.4销售实体 E-R 图

销售实体分为销售主表和销售明细表两个实体,它们是一对多的关系。其

论文模板 企业进销存管理系统

中销售主表包括:销售票号、品种数、金额、验收结论、客户名称、经手人、结算方式、操作员和销售日期属性。销售明细表包括:编号、销售票号、商品编号、数量和单价属性。销售实体 E-R 图如图2-4所示。

图2-4 销售实体E-R图

论文模板 企业进销存管理系统

第三章 系统的程序设计与实现

通过前面的功能逻辑分析,已经将进销存管理系统划分为6大功能模块,分

别为基础信息管理模块、进货管理模块、销售管理模块、查询统计模块、库存管理模块、系统管理模块。同时考虑到系统的安全性,防止非法用户访问系统以及满足不同人员对系统操作的权限控制,再添加一个登陆模块。再者,为了将各功能模块集成起来,还需要设计一个系统主界面,将各个功能模块整合到主界面中。

3.1各模块的功能及其关系

在登录界面,输入用户名和密码之后,经身份认证通过进入系统主界面,

对于系统管理员身份的用户,其系统管理模块具有操作员管理、修改密码以及权限管理功能。而具有操作员身份的用户在管理模块只有修改密码功能。其他的功能模块对两种不同身份的用户都是一样的。

基础信息管理模块用于管理客户、商品和供应商信息,其功能模块主要是

对这些基础信息进行添加、修改和删除。添加操作将相关信息录入到相应的数据表中,修改和删除操作则更新相应的数据表。

进货管理模块负责商品的进货以及退货管理。通过填写进货单,将商品的

进货信息录入到数据库中的入库主表、入库详细表和库存表中。退货功能负责将已入库的有质量问题的商品退还给供应商,其操作会将退货信息录入到数据库中相应商品的入库退货主表和入库退货详细表中同时还会更新相应商品的库存信息。

销售管理模块负责商品的销售和退货管理。通过填写销售单,将库存商品

销售出去,因此待销售的商品必须是入库了的商品,且数量大于0。相应的该销售记录会录入到销售主表、销售详细表中,对应的库存数量减少了销售出去的数量。退货功能负责记录客户要求退货的商品。其操作会将退货信息录入到数据库中相应商品的销售退货主表和销售退货详细表中同时还会更新相应商品的库存信息。

查询统计模块负责根据用户的查询条件,快速地查询相应的信息。这些查

询结果都是相应的数据库表和视图中满足查询条件的数据。这些查询操作都不会修改数据库中的数据。

库存管理负责库存商品的盘点和库存商品的价格调整。盘点管理用于统计

论文模板 企业进销存管理系统

所有库存商品的数量。价格调整可以修改商品的单价,其操作会修改库存表中对应商品的价格。

系统管理负责登录用户的管理。系统管理员身份的用户具有增加、修改和

删除操作员的功能,修改密码的功能,还具有修改用户的权限的功能。而操作员身份的用户仅具有修改自身密码的功能。

3.2各功能模块的设计和实现

3.2.1登录界面

登录界面用户验证登录用户的身份信息,只有合法的用户才能进入系统,

从而保证系统的安全性。

登录界面的运行结果如下图3-1所示:

图3-1 登录界面

登录界面的创建:

创建Login类,它继承自JFrame。用户名和密码通过JtextField接收,单击“登录”按钮触发监听器验证登录用户是否正确,该过程通过连接数据库,判断用户是否存在数据表Userlist表中来实现。关键代码如下:

public void login_Button(ActionEvent e)

{

if(userName.getText().equals("") || userName.getText()==null)

论文模板 企业进销存管理系统

{

JOptionPane.showMessageDialog(this, "用户名不能为空"); return; }

else if(userPassword.getText().equals("") ||

userPassword.getText()==null)

{

{

user = DAO.getUser(userName.getText(), userPassword.getText()); if (user.getUsername()==null ||

user.getUsername().equals(""))

{

JOptionPane.showMessageDialog(this, "用户名或密码错误"); userName.setText(null); userPassword.setText(null); return;

{

}

连接数据库的方法:

由于系统对数据库的存取比较频繁,因此可以定义一个公共类DAO类来负责

有关数据库的操作。关键代码如下:

/*** 连接数据库操作 */

protected static String MysqlClassName =

JOptionPane.showMessageDialog(this, "密码不能为空"); return; } else } else setVisible(false); MainFrame frame=new MainFrame(); } }

论文模板 企业进销存管理系统

"com.mysql.jdbc.Driver";// mysql驱动

protected static String MysqlUrl =

"jdbc:mysql://localhost:3306/db_JXCManager";// url

protected static String MysqlUser = "root";// 用户名

protected static String MysqlPwd = "root";// 密码

protected static String second = null;

public static Connection conn = null;

static {

} try { } if (conn == null) { } ee.printStackTrace(); Class.forName(MysqlClassName).newInstance(); conn = DriverManager.getConnection(MysqlUrl, MysqlPwd); MysqlUser, } catch (Exception ee) {

3.2.2系统主窗体

应用程序的主窗体必须设计层次清晰的系统菜单和工具栏,其中系统菜单

包含系统中所有的菜单项,而工具栏主要提供常用功能快捷访问按钮。本系统主窗体采用导航面板综合了系统菜单和工具栏的优点,而且导航面板的界面更加美观,操作快捷。主窗体的界面如图3-2所示。

论文模板 企业进销存管理系统

图3-2 系统主窗体

创建主窗体

创建主窗体的步骤如下:

(1)创建JXFrame类,在类中创建并初始化窗体对象,为窗体添加桌面面

板,并设置背景图片。关键代码如下:

private JDesktopPane desktopPane;

private JFrame frame;

private JLabel backLabel;

// 创建窗体的Map类型集合对象

private Map<String,JInternalFrame> ifs=new HashMap<String,JInternalFrame>(); public MainFrame(){

frame=new JFrame("企业进销存管理系统");//创建窗体对象

frame.getContentPane().setBackground(new Color(170,188,120));

frame.addComponentListener(new FrameListener());//添加窗体事件监听器 frame.getContentPane().setLayout(new BorderLayout());//设置布局管理器 frame.setBounds(100, 100, 900, 700);

backLabel=new JLabel();//背景标签

backLabel.setVerticalAlignment(SwingConstants.TOP);//设置背景标签垂直对齐方式

论文模板 企业进销存管理系统

backLabel.setHorizontalAlignment(SwingConstants.CENTER);//设置背景标签水平对齐方式

updateBackImage();//更新或初始化背景图片

desktopPane=new JDesktopPane();//创建桌面面板

desktopPane.add(backLabel,new Integer(Integer.MIN_VALUE));//将背景标签添加到桌面面板中

frame.getContentPane().add(desktopPane);//添加桌面面板到窗体中

JTabbedPane navigationPanel=createNavigationPanel();//创建导航标签面板 frame.getContentPane().add(navigationPanel,BorderLayout.NORTH);//添加导航面板到窗体中

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.setVisible(true);//显示窗体

}

(2)编写主窗体的main()入口方法,在该方法中创建登陆窗体对象,登陆窗体会

验证登陆信息,并显示主窗体界面。关键代码入下:

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

public void run() {

new Login();

}

});

}

创建导航面板

创建导航面板的实现方法:

在该方法中创建JtabbedPane选项卡面板对象。为突出选项卡的立体效果,设置该选项卡使用BevelBorder边框效果,然后依次创建基础信息管理、库存管理、销售管理、查询统计、进货管理和系统管理的选项卡。关键代码及注释如下:

private JTabbedPane createNavigationPanel() {// 创建导航标签面板的方法

Userlist user = Login.getUser();

JTabbedPane tabbedPane = new JTabbedPane();

tabbedPane.setFocusable(false);

tabbedPane.setBackground(new Color(211,230,192));

tabbedPane.setBorder(new BevelBorder(BevelBorder.RAISED));

JPanel baseMainPanel=new JPanel();//基础信息管理面板

baseMainPanel.setBackground(new Color(215,223,194));

baseMainPanel.setLayout(new BoxLayout(baseMainPanel,BoxLayout.X_AXIS)); stateBar.setHorizontalAlignment(SwingConstants.RIGHT);

stateBar.setBorder(BorderFactory.createEtchedBorder());

frame.getContentPane().add(stateBar,BorderLayout.SOUTH);

论文模板 企业进销存管理系统

initTimeField();

stateBar.setVisible(true);

baseMainPanel.add(createFrameButton("客户信息管理", "GuestManager")); baseMainPanel.add(createFrameButton("供应商信息管理", "TradeManager")); baseMainPanel.add(createFrameButton("商品信息管理", "ProductManager"));

JPanel stockManagePanel = new JPanel();// 进货管理面板

stockManagePanel.setBackground(new Color(215, 223, 194));

stockManagePanel.setLayout(new BoxLayout(stockManagePanel,

BoxLayout.X_AXIS));

stockManagePanel.add(createFrameButton("进货单", "ComeProductDan")); stockManagePanel.add(createFrameButton("进货退货", "BackProduct"));

JPanel depotManagePanel=new JPanel();//库存管理面板

depotManagePanel.setBackground(new Color(215,223,194));

depotManagePanel.setLayout(new

BoxLayout(depotManagePanel,BoxLayout.X_AXIS));

depotManagePanel.add(createFrameButton("库存盘点","ProductKuCun")); depotManagePanel.add(createFrameButton("价格调整","PriceManager"));

JPanel sellManagePanel = new JPanel();// 销售管理面板

sellManagePanel.setBackground(new Color(215, 223, 194));

sellManagePanel.setLayout(new BoxLayout(sellManagePanel,BoxLayout.X_AXIS)); sellManagePanel.add(createFrameButton("销售单", "SellDan"));

sellManagePanel.add(createFrameButton("销售退货", "SellBack"));

JPanel searchStatisticPanel = new JPanel();// 查询统计面板

searchStatisticPanel.setBounds(0, 0, 600, 41);

searchStatisticPanel.setName("searchStatisticPanel");

searchStatisticPanel.setBackground(new Color(215, 223, 194));

searchStatisticPanel.setLayout(new

BoxLayout(searchStatisticPanel,BoxLayout.X_AXIS));

searchStatisticPanel.add(createFrameButton("客户信息查询", "SearchGuest")); searchStatisticPanel.add(createFrameButton("商品信息查询",

"SearchProduct"));

searchStatisticPanel.add(createFrameButton("供应商信息查询

","SearchTrade"));

searchStatisticPanel.add(createFrameButton("销售信息查询", "SearchSell")); searchStatisticPanel.add(createFrameButton("销售退货查询

","SearchSellBack"));

searchStatisticPanel.add(createFrameButton("入库查询", "SearchRuKu")); searchStatisticPanel.add(createFrameButton("入库退货查询", "SearchRkth")); searchStatisticPanel.add(createFrameButton("销售排行", "SearchSellSort"));

论文模板 企业进销存管理系统

JPanel systemManagePanel = new JPanel(); // 系统管理面板

systemManagePanel.setBackground(new Color(215, 223, 194));

systemManagePanel.setLayout(new BoxLayout(systemManagePanel,

BoxLayout.X_AXIS));

systemManagePanel.add(createFrameButton("更改密码", "ChangePassword"));

String q = user.getQuan();

int r = pareTo("a");

if(r==0)//如果登录的用户是管理员身份,则添加操作员管理和权限管理功能。 //问题:直接用if( user.getQuan()=="a" ) 判断不行,暂未找到原因。 {

systemManagePanel.add(createFrameButton("操作员管理",

"OperatorManager"));

systemManagePanel.add(createFrameButton("权限管理", "QuanManager")); }

tabbedPane.addTab(" 基础信息管理 ", null, baseMainPanel, "基础信息管理"); tabbedPane.addTab(" 进货管理 ", null, stockManagePanel, "进货管理"); tabbedPane.addTab(" 销售管理 ", null, sellManagePanel, "销售管理");

tabbedPane.addTab(" 查询统计 ", null, searchStatisticPanel, "查询统计"); tabbedPane.addTab(" 库存管理 ", null, depotManagePanel, "库存管理"); tabbedPane.addTab(" 系统管理 ", null, systemManagePanel, "系统管理");

return tabbedPane;

}

}

3.2.3基础信息管理模块方案

基础信息模块主要包括客户管理、商品管理和供应商管理3部分,由于它们

的实习方法基本相似,因此仅以客户管理为例介绍其实现的业务逻辑。

(1) 添加客户信息:客户添加功能主要负责为系统添加新的客户记录。一

般企业的客户比较稳定,商品都销售给固定的客户,因此有必要将不同的客户添加到系统中,在销售商品时,会关联系统中对应的客户信息。客户添加功能的界面如下图3-3所示:

论文模板 企业进销存管理系统

图3-3 添加客户信息

(2) 修改和删除客户信息:客户信息修改和删除功能用于维护系统中的客户信息。当客户信息发生改变时必须更新系统中的记录。当不再和某客户合作时,则需要从系统中删除该客户的信息。该功能的程序界面如下图3-4所示:

图3-4 修改和删除客户信息

3.2.4进货管理模块

进货管理模块主包括进货单和进货退货管理两个部分。下面以进货单功能为主,介绍进货管理模块实现的业务逻辑。

(1) 进货单:主要负责记录企业的商品进货信息,单击“添加”按钮,在表格中添加商品进货信息,在“供应商”下拉列表中选择不同的供应商,将会

论文模板 企业进销存管理系统

改变表格中的商品。进货单的程序界面如图3-5所示:

图3-5 进货单

3.2.5销售管理模块

销售管理模块主包括销售单和销售退货管理两个部分。下面以销售单功能为主,介绍销售管理模块实现的业务逻辑。

(1) 销售单:主要负责记录企业的商品销售信息,单击“添加”按钮,在表格中添加商品销售信息,在“客户”下拉列表中选择不同的客户,表示将商品销售给该客户。销售单的程序界面如图3-6所示:

图3-6 销售单

论文模板 企业进销存管理系统

第四章 系统测试

4.1单元测试

单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立工作单元将与程序的其他部分相隔离的情况下进行测试。

在一种传统的结构化编程语言中,如C++语言,要进行测试的工作单元一般是方法,而JAVA这样的面向对象语言中,要进行测试的基本单元是类。单元测试不仅仅是作为无错编码的一种辅助手段,在一次性的开发过程中使用,单元测试还必须是可重复的,无论是在软件修改或是移植到新的运行环境的过程中。因此,所有的测试都必须在整个软件系统的生命周期中进行。

JUnit单元测试工具的介绍与使用

JUtit是一个单元测试框架,专门用于测试JAVA开发的程序,同类的产品还包括Numit(.Net),CPPUnit(C++),都属于xUnit中的成员,目前JUnit的最新版本是JUnit4.9。

使用JUnit进行单元测试

1.为单元测试代码创建一个JAVA项目,其命名为JUnitTest。

2.创建ItemTest类,该类用于测试公共类Item的行为。在“创建JAVA类”对话框中设置该类的超类为TestCase,也就是集成JUnit框架的测试用例编写单元测试,单击“完成”按钮,如图4-1所示。

论文模板 企业进销存管理系统

图4-1 新建测试用例类

3.在项目的构建路径中添加JUnit类库,右击项目名称,在弹出的快捷菜单中选择“构建路径”/“添加库”命令,在弹出的“添加库”对话框中选择JUnit选项,单击“下一步”按钮,如图4-2所示。

图4-2添加库对话框

4.在弹出的对话框中选择JUnit的版本为JUnit4,单击“完成”按钮。

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

Top