毕业设计(论文)企业进销存管理系统.doc

上传人:laozhun 文档编号:3977603 上传时间:2023-03-30 格式:DOC 页数:25 大小:236KB
返回 下载 相关 举报
毕业设计(论文)企业进销存管理系统.doc_第1页
第1页 / 共25页
毕业设计(论文)企业进销存管理系统.doc_第2页
第2页 / 共25页
毕业设计(论文)企业进销存管理系统.doc_第3页
第3页 / 共25页
毕业设计(论文)企业进销存管理系统.doc_第4页
第4页 / 共25页
毕业设计(论文)企业进销存管理系统.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《毕业设计(论文)企业进销存管理系统.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)企业进销存管理系统.doc(25页珍藏版)》请在三一办公上搜索。

1、摘 要进销存数据的统计对公司的发展及决策起着重要的作用。客户档案的管理,商品基础信息的管理,库存管理,销售管理,进货管理用手工进行效率很低,已不能适应公司发展的需求。现有进销存系统已实现了商品销售,进货上柜,卖场库存数据等各种统计数据,从而大大减少了数据的流通环节,增强了数据的可靠性。通过进销存管理系统,利用信息化的手段把先进的企业管理方法引入企业的实践,为企业的管理改革提供切实可行的途径。更重要的是,进销存管理系统可以及时通过信息技术把企业数据转化为企业信息,进而为相关管理者提供决策依据。系统的主要功能是对商品的进货、销售和库存进行监控、调配和管理,以实现公司商品进销存管理的信息化、自动化和

2、科学化。此系统是一个单机版的数据库管理系统。前台应用程序界面采用Eclipse 开发,系统的后台数据库选用SQL 2005作为开发工具。 【关键词】进销存系统 信息管理 Eclipse SQL 2005数据库【论文类型】应用 AbstractPurchase Sale Stock statistical data on the companys development and played an important role in the decision-making. Customer file management, commodity based information managem

3、ent, purchase management, sales management, stock management by hand to the low efficiency, the company has been unable to meet development needs. Now Purchase Sale Stock system has achieved sales of goods, OTC stock, store inventory data and other statistical data, thus greatly reducing the flow of

4、 data links and improved the reliability of dataPurchase Sale Stock system through the use of information and the means of the advanced enterprise management of the introduction of a corporate practice for the management reform practical way. More importantly, Purchase Sale Stock system can be timel

5、y adoption of information technology to corporate data into enterprise information and then for the relevant managers to provide basis for decision making. The main function of the commodity purchase, sales and stock monitoring, deployment and management, in order to achieve the companys goods Purch

6、ase Sale Stock information, automation and scientific. This system is a stand-alone version of the database management system. Future application interface using Eclipse development, the choice of SQL 2005 database background as a development tool.【Key Words】Purchase Sale Stock system Information Ma

7、nagement Eclipse SQL 2005 database【Type of Thesis】 Application 目 录引 言51 题的研究目的和意义51.1课题主要内容62需求分析及可行性研究62.1 需求分析62.2 系统的可行性研究62.2.1经济可行性62.2.2技术可行性72.2.3社会可行性73设计规划及目标73.1 设计规划73.2 设计目标94数据库设计104.1 数据库分析104.2 系统的E-R图105功能模块设计125.1 主窗体设计125.2 进货管理模块设计125.2.1进货管理模块概述125.3 查询统计模块设计125.3.1 查询统计模块概述125.3

8、.2销售查询实现过程135.4 库存管理模块设计195.4.1 库存管理模块概述195.4.2库存管理模块技术分析196系统测试196.1测试举例196.2测试项目206.3测试方法22致 谢23参考文献24引 言当前,随着经济的全球化以及中国经济改革的逐渐深化,企业面临着越来越激烈的竞争。改善企业内部以及整个供应链各个环节的管理、调度及资源配置,迅速适应客户的新需求和市场新机遇,是企业赢得竞争胜利的决定性因素。企业为了赢得市场竞争优势,就必须加强物流、信息流、资金流的动态管理,使企业管理更加规范化。企业信息管理系统、ERP系统是企业管理高效化的重要途径,而企业进销存管理系统是企业信息系统的重

9、要部分,它是ERP系统中的核心运营子系统。因此,企业使用进销存管理系统,可以使企业各业务环节的配合更加紧密,有利于企业的发展,提升企业竞争力。1 题的研究目的和意义 目前,企业进销存管理系统已经成为企业信息系统不可缺少的一部分。通过该系统,可以了解到企业内部商品的库存情况和销售情况,有利于企业作出更好的决策。进销存管理系统能够实现的功能非常多,最重要的是对货物的管理,包括货物的买入(进货)、货物的卖出(销货)等。该系统打破了传统意义上的进、销、存人力管理模式,利用电脑进行信息化管理。企业进销存管理系统的开发和应用是必要的,因为它能够为管理人员提供充足的信息和快捷的查询手段,在一定程度上提高了企

10、业进销存管理的效率,使企业进销存管理变得快捷方便、高效。1.1课题主要内容能够录入企业进销存的基本资料,在操作上能够完成诸如添加、修改、删除、按各种条件进行查询、新用户的设置及密码修改等方面的工作,基本满足企业日常业务的需要。2需求分析及可行性研究2.1 需求分析通过实际调查,要求本系统具有以下功能:(1)由于操作人员的计算机知识普遍偏低,因此要求系统具有良好的人机界面。(2)如果系统的使用对象较多,则要求有较好的权限管理。(3)方便的数据查询,支持多条件查询。(4)批量填写进货单及销售单。(5)与代理商和供应商往来账本明细,绝不存在假账、漏账、差账等情况。(6)图表分析月销售状况。(7)当外

11、界环境(停电、网络病毒)干扰本系统时,系统可以自动保护原始数据的安全。(8)在相应的权限下,删除数据方便简单、数据稳定性强。(9)数据计算自动完成,尽量减少人工干预。(10)强大的报表打印功能。2.2 系统的可行性研究 系统集进货、销售、库存于一体,基本上覆盖了公司进销存业务相关的各个流程。主要对单据,库存、进货、销售年月明细账和汇总帐进计算机处理,减少手工作业造成的失误;加快资金流转。 2.2.1经济可行性 信息技术的运用已成社会发展主流,以前的人工处理缓慢,出错率高将导致企业内部沟通不畅,信息滞后,将很难为企业做出有效的决策提供有力的依据,因此,缺少及时,准确,有效的信息,企业在发展上寸步

12、难行。所以采用现代化的手段进行进销存必然会使企业提高工作效率。这样就极大地提高企业管理的效率,使企业走向科学化、正规化管理,从而在日益激烈的竞争中立于不败之地。 2.2.2技术可行性 本系统采用当今最流行的面向对象语言Java作为开发工具。Java是一种面向对象的、独立于平台的安全语言。目前支持它的开发工具很多,如:Eclipse,JCreator,JBuilder等。并且,Java最大优势就在于Web方面的开发,而其支持多种服务器技术,这就为以后系统的升级提供了强大的技术保障。此外,Java也支持目前的大多数数据库,如:SQL Server2000,MySQL,Oracle等。JDBC是一种

13、用于执行 SQL 语句的 Java API。它由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。 2.2.3社会可行性 此系统软件是一款通用性极强的商业企业进销存管理系统,软件囊括了商业企业日常经营管理的全过程。软件适用于食品、服装、保健品、电子、电器、物资、化妆品等商业领域的企业。软件覆盖商业企业商品的采购、销售、库存、管理决策支持等各个环节,软件的各个模块操作界面简单、实用,软件帮助系统图文并茂,让用户可以在最短的时间内掌握软件的使用方法,助用户生意早日更上一层楼。软件的采购管理、

14、销售管理、库存管理功能强大,灵活,同时为用户提供方便实用的模糊查询功能,用户可以在最短时间内找到自己所需要的信息。3设计规划及目标3.1 设计规划根据需求分析,设计系统框架。进销存管理系统由等8部分组成。设计各部分具体功能如下:基础信息模块基础信息模块包括药品信息、员工信息、供应商信息和客户信息4部分。销售模块销售模块由销售登记、销售退货、销售查询、销售退货查询4部分。入库模块入库模块主要由入库登记、入库退货、入库查询、入库退货查询4组成。调货模块调货模块包含调货登记和调货查询两部分。库存模块库存模块由库存盘点、库存查询、仓库管理3部分组成。结账模块结账模块主要包括销售结账、销售退货结账、入库

15、结账、入库退货结账。财务模块财务模块由日结、月结、供应商往来账、客户往来账4部分组成。系统管理模块系统管理模块由修改用户密码、修改用户权限、修改用户3部分组成。进销存管理系统的功能结构如下图所示。3.2 设计目标本系统针对中小型企业进销存管理现状,通过网络对企业的进销存进行有效管理。本系统主要实现如下目标:系统采用人机对话方式,界面美观友好,信息查询灵活、方便、快捷、准确,数据存储安全可靠。(1)对某一时间段内的某种商品按照销售数量或销售金额进行销售升序排行或降序排行。(2)商品的入库、入库退货、销售、销售退货流程清晰。(3)数据计算自动完成,提高工作效率。(4)实现企业内一些基础信息的设置及

16、查询。(5)与供应商和客户之间的账目清晰。(6)实现多条件查询。(7)可方便快捷地查询库存信息,并可对商品价格进行调整。(8)操作员可以随时修改自己的口令,并增加删除其他用户。(9)对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。(10)系统最大限度地实现了易维护性和易操作性。(11)系统运行稳定、安全可靠。系统通过操作权限划分、技术加密手段,确保商业数据的安全,让合法用户方便使用,同时拒绝非法使用。(12)易于扩充。市场多变,系统要易于扩充,以适应不断变化的业务要求,延长系统的使用寿命。4数据库设计4.1 数据库分析本系统是一个桌面应用程序,它可以直接在本地计算机运行,而不需

17、要像Web应用那样部署到指定的服务器中,所以这个进销存管理系统在本地计算机安装了SQL Server 2000数据服务器,将数据库和应用程序放在同一个计算机中,可以节省开销、提升系统安全性。另外,本系统也可以在网络内的其他计算机中运行,但是这需要将数据库对外开放,会降低数据安全性。其数据库运行环境如下:硬件平台:CPU:P4 3.2GHz。内存:512MB以上。硬盘空间:80GB。软件平台:操作系统:Windows XP。 数据库:SQL Server 2005。4.2 系统的E-R图企业进销存管理系统主要实现从进货、库存到销售的一体化信息管理,涉及商品信息、商品的供应商、购买商品的客户等多个

18、实体。下面简单介绍几个关键的实体E-R图。客户实体E-R图企业进销存管理系统将记录所有的客户信息,在销售、退货等操作时,将直接引用该客户的实体属性。客户实体包括客户编号、客户名称、简称、地址、电话、邮政编码、联系人、联系人电话、传真、开户行和账号等属性,客户实体E-R图如下图所示。供应商实体E-R图不同的供应商可以为企业提供不同的商品,在商品信息中将引用商品供应商的实体属性。供应商实体包括编号、名称、简称、地址、电话、邮政编码、传真、联系人、联系电话、开户行和E-mail属性,供应商实体E-R图如下图所示商品实体E-R图商品信息是进销存管理系统中的基本信息,系统将维护商品的进货、退货、销售、入

19、库等操作。商品实体包括编号、商品名称、商品简称、产地、单位、规格、包装、批号、批准文号、商品简介和供应商属性,商品实体E-R图如下图所示。5功能模块设计5.1 主窗体设计主窗体界面也是该系统的欢迎界面。应用程序的主窗体必须设计层次清晰的系统菜单和工具栏,其中系统菜单包含系统中所有功能的菜单项,而工具栏主要提供常用功能的快捷访问按钮。企业进销存管理系统采用导航面板综合了系统菜单和工具栏的优点,而且导航面板的界面更加美观,操作更快捷。5.2 进货管理模块设计进货管理模块是进销存管理系统中不可缺少的重要组成部分,它主要负责为系统记录进货单及其退货信息,相应的进货商品会添加到库存管理中。5.2.1进货

20、管理模块概述企业进销存管理系统中的进货管理模块主要包括进货单和进货退货两个部分。由于它们的实现方法基本相似,本节将以进货单功能为主,介绍进货管理模块对本系统的意义和实现的业务逻辑。1进货单进货单功能主要负责记录企业的商品进货信息,可以单击“添加”按钮,在商品表中添加进货的商品信息。在“供应商”下拉列表框中选择不同的供应商,将会改变商品表中可以添加的商品。2进货退货进货退货功能主要负责记录进货管理中的退货信息,界面效果如图下所示。在选择了退货的商品之后,单击“退货”按钮,将把表格中的商品退货信息更新到数据库中。5.3 查询统计模块设计查询统计模块是进销存管理系统中不可缺少的重要组成部分,它主要包

21、括基础信息、进货信息、销售信息、退货信息的查询和销售排行功能。5.3.1 查询统计模块概述企业进销存管理系统中的查询统计模块包括客户查询、商品查询、供应商查询、销售查询、销售退货查询、入库查询、入库退货查询和销售排行功能。由于本书的篇幅所限,本节将以销售查询功能为主,介绍查询统计模块对本系统的意义和实现的业务逻辑。销售查询功能主要用于查询系统中的销售信息,其查询方式可以按照客户全称、销售票号进行匹配查询和模糊查询。5.3.2销售查询实现过程(1)编写updateTable ()方法,用于更新表格数据。该方法必须接收一个Iterator迭代器对象,通过遍历该迭代器中的数据来初始化界面中的表格。关

22、键代码如下:public XiaoShouChaXun() addInternalFrameListener(new InternalFrameAdapter() public void internalFrameActivated(final InternalFrameEvent e) java.sql.Date date=new java.sql.Date(System.currentTimeMillis();endDate.setText(date.toString();date.setMonth(0);date.setDate(1);startDate.setText(date.toS

23、tring(););setIconifiable(true);setClosable(true);setTitle(销售信息查询);getContentPane().setLayout(new GridBagLayout();setBounds(100, 100, 650, 375);setupComponet(new JLabel( 选择查询条件:), 0, 0, 1, 1, false);condition = new JComboBox();condition.setModel(new DefaultComboBoxModel(new String 客户全称, 销售票号);setupCo

24、mponet(condition, 1, 0, 1, 30, true);operation = new JComboBox();operation.setModel(new DefaultComboBoxModel(new String等于, 包含);setupComponet(operation, 4, 0, 1, 30, true);content = new JTextField();content.addKeyListener(new KeyAdapter() public void keyReleased(final KeyEvent e) if(e.getKeyCode()=10

25、) queryButton.doClick(););setupComponet(content, 5, 0, 2, 240, true);queryButton = new JButton();queryButton.addActionListener(new QueryActionListener();setupComponet(queryButton, 7, 0, 1, 1, false);queryButton.setText(查询);selectDate = new JCheckBox();final GridBagConstraints gridBagConstraints_7 =

26、new GridBagConstraints();gridBagConstraints_7.anchor = GridBagConstraints.EAST;gridBagConstraints_7.insets = new Insets(0, 10, 0, 0);gridBagConstraints_7.gridy = 1;gridBagConstraints_7.gridx = 0;getContentPane().add(selectDate, gridBagConstraints_7);final JLabel label_1 = new JLabel();label_1.setTex

27、t(指定查询日期 从);final GridBagConstraints gridBagConstraints_8 = new GridBagConstraints();gridBagConstraints_8.anchor = GridBagConstraints.EAST;gridBagConstraints_8.gridy = 1;gridBagConstraints_8.gridx = 1;getContentPane().add(label_1, gridBagConstraints_8);startDate = new JTextField();startDate.setPrefe

28、rredSize(new Dimension(100,21);setupComponet(startDate, 2, 1, 3, 1, true);setupComponet(new JLabel(到), 5, 1, 1, 1, false);endDate = new JTextField();endDate.addKeyListener(content.getKeyListeners()0);endDate.setPreferredSize(new Dimension(100,21);final GridBagConstraints gridBagConstraints_11 = new

29、GridBagConstraints();gridBagConstraints_11.ipadx = 90;gridBagConstraints_11.anchor = GridBagConstraints.WEST;gridBagConstraints_11.insets = new Insets(0, 0, 0, 0);gridBagConstraints_11.gridy = 1;gridBagConstraints_11.gridx = 6;getContentPane().add(endDate, gridBagConstraints_11);final JButton showAl

30、lButton = new JButton();showAllButton.addActionListener(new ShowAllActoinListener();final GridBagConstraints gridBagConstraints_5 = new GridBagConstraints();gridBagConstraints_5.insets = new Insets(0, 0, 0, 10);gridBagConstraints_5.gridy = 1;gridBagConstraints_5.gridx = 7;getContentPane().add(showAl

31、lButton, gridBagConstraints_5);showAllButton.setFont(new Font(, Font.PLAIN, 12);showAllButton.setText(显示全部数据);final JScrollPane scrollPane = new JScrollPane();final GridBagConstraints gridBagConstraints_6 = new GridBagConstraints();gridBagConstraints_6.weighty = 1.0;gridBagConstraints_6.anchor = Gri

32、dBagConstraints.NORTH;gridBagConstraints_6.insets = new Insets(0, 10, 5, 10);gridBagConstraints_6.fill = GridBagConstraints.BOTH;gridBagConstraints_6.gridwidth = 9;gridBagConstraints_6.gridy = 2;gridBagConstraints_6.gridx = 0;getContentPane().add(scrollPane, gridBagConstraints_6);table = new JTable(

33、);table.setEnabled(false);table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);dftm = (DefaultTableModel)table.getModel();String tableHeads = new String销售票号, 商品编号, 商品名称, 规格, 单价,数量, 金额, 客户全称, 销售日期, 操作员, 经手人, 结算方式;dftm.setColumnIdentifiers(tableHeads);scrollPane.setViewportView(table);private void updateTa

34、ble(Iterator iterator) int rowCount=dftm.getRowCount();for(int i=0;i 1)gridBagConstrains.gridwidth = gridwidth;if (ipadx 0)gridBagConstrains.ipadx = ipadx;gridBagConstrains.insets = new Insets(5, 1, 3, 1);if (fill)gridBagConstrains.fill = GridBagConstraints.HORIZONTAL;getContentPane().add(component,

35、 gridBagConstrains);class ShowAllActoinListener implements ActionListener public void actionPerformed(final ActionEvent e) content.setText();List list=Dao.findForList(select * from v_sellView);Iterator iterator=list.iterator();updateTable(iterator);(4)创建“查询”按钮的事件监听器QueryActionListener类,该类必须实现ActionL

36、istener接口,并实现该接口的actionPerformed()方法。在该方法中编写查询销售信息的业务逻辑,并将查询结果更新到表格控件中,其查询条件由condition、operation下拉列表框和一个content文本框组成。关键代码如下:class QueryActionListener implements ActionListener public void actionPerformed(final ActionEvent e) boolean selDate = selectDate.isSelected();if(content.getText().equals() JOp

37、tionPane.showMessageDialog(getContentPane(), 请输入查询内容!);return;if(selDate) if(startDate.getText()=null|startDate.getText().equals() JOptionPane.showMessageDialog(getContentPane(), 请输入查询的开始日期!);return;if(endDate.getText()=null|endDate.getText().equals() JOptionPane.showMessageDialog(getContentPane(),

38、请输入查询的结束日期!);return;List list=null;String con = condition.getSelectedIndex() = 0? khname : sellId ;int oper = operation.getSelectedIndex();String opstr = oper = 0 ? = : like ;String cont = content.getText();list = Dao.findForList(select * from v_sellView where + con+ opstr+ (oper = 0 ? +cont+ : % +

39、cont + %)+ (selDate ? and xsdate + startDate.getText()+ and xsdate= + endDate.getText()+ 23:59:59 : );Iterator iterator = list.iterator();updateTable(iterator);5.4 库存管理模块设计5.4.1 库存管理模块概述企业进销存管理系统中的库存管理模块包括库存盘点和价格调整两个功能。由于本书的篇幅所限,本节将以价格调整功能为主,介绍库存管理模块对本系统的意义和实现的业务逻辑。价格调整功能主要用于调整库存中指定商品的单价,当用户选择了指定的商品

40、,价格调整功能的界面会显示该商品在库存中的单价、库存数量、库存金额、单位、产地等信息。程序界面如图所示。用户可以修改商品价格并单击“确定”按钮,调整该商品在库存中的单价。5.4.2库存管理模块技术分析企业进销存管理系统中的库存管理模块包括库存盘点和价格调整两个功能,其中库存盘点涉及的技术比较简单,它将库存信息显示在表格中,由操作员输入盘点的商品数量,然后程序自动计算损益值。价格调整功能涉及下拉列表框的选择事件监听和事件处理技术,这在使用Java Swing技术进行程序开发的过程中,非常重要。为防止用户的错误输入,程序界面经常需要将可枚举的输入内容封装在下拉列表框中,限制用户的输入。但是,要知晓

41、下拉列表框的改变,还需要为下拉列表框添加相应的事件监听器。6系统测试为了确保本系统能够正常运行,需要在发布之后做一次较全面的测试。现将具体操作及过程举例说明如下:6.1测试举例1.测试用户登陆是否成功:打开人事管理系统,在“用户名”里填入tsoft,“密码”框里我们填入111作为用户登录密码。填写完成点击“确定”按钮,将会出现操作程序页面,即该用户已经登陆成功了。再运行程序,会有提示页面出现:程序已经运行,不能再次装载! 2.测试其他用户是否能够登录:打开人事管理系统登录页面,输入任意密码,点击“登录”按钮。将出现密码出错提示页面。然后点“确定”返回人事管理系统登录页面。3.测试编辑功能是否成

42、功:编辑功能:在登录成功之后,即可进入相应的管理页面,点击“编辑”,即出现编辑页面,即可以修改和删除员工的个人信息资料。最后保存。 4.测试查询功能是否成功:查询功能:在登录成功之后,点击“查询”,在弹出的文本框,在里面输入想要查找的资料,点击“查询”按钮,成功即可出现结果页面,页面内显示查询出来的员工资料内容,表示测试成功。5.用户登出系统的测试:在管理操作已全部完成,需要退出程序的时候,在系统页面“系统设置”下拉菜单的有一个“退出”的选项,点击之后便可退出。也可以点“关闭”退出。6.测试密码更改:在以超级用户登录的情况下,在程序中打密码设置,弹出文本框,显示用户列表。可以添加新的普通用户,

43、也可以删除和禁止普通用户使用程序。在以普通用户登陆情况下,打开密码设置选项,系统会提示该用户为普通用户,只可以修改自己的密码。经过以上各项的测试,证明本系统完全可以正常运行,至此测试成功!6.2测试项目在ERP开发过程中采用了多种措施保证软件质量,但是实际开发过程中还是不可避免地会产生差错,系统中通常可能隐藏着错误和缺陷,不经周密测试的系统投入运行,将会造成难以想象的后果,因此系统测试是ERP开发过程中为保证软件质量必须进行的工作。大量统计资料表明,系统测试的工作量往往占ERP开发总工作量的40%以上。因此,我们必须重视测试工作。由于程序中隐藏的缺陷只在特定的环境下才有可靠显露,系统缺陷通常是由于对某些特定情况考虑不周造成的。因此测试不是为了表明程序正确;成功的测试也不是没有发现错误的测试。有意义的软件测试应该是从“破坏”软件系统的角度出发,精心设计最有可以暴露程序系统缺陷的测试方案。因此软件测试的目标应该是以尽可能少的代价和时间找出软件系统中潜在的错误和缺陷。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号