某企业进销存管理系统的设计与实现.docx

上传人:飞**** 文档编号:45064735 上传时间:2022-09-23 格式:DOCX 页数:47 大小:1.27MB
返回 下载 相关 举报
某企业进销存管理系统的设计与实现.docx_第1页
第1页 / 共47页
某企业进销存管理系统的设计与实现.docx_第2页
第2页 / 共47页
点击查看更多>>
资源描述

《某企业进销存管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《某企业进销存管理系统的设计与实现.docx(47页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、铜陵学院毕业设计学 号 _ 0806121_ _ 2012届毕业设计 课 题 长江企业进销存管理系统的设计与实现 学生姓名 系 别 数学与计算机科学系 专业班级 2008级信息管理与信息系统 指导教师 2012 年 6 月摘 要 本进销存管理系统是针对中小型企业的管理特点,融合了众多先进管理理念开发而成的长江企业进销存一体化计算机管理软件,满足用户进货管理、销售管理、库存管理、基本资料管理、综合查询等各项工作。系统具有稳定性高、安全、易扩展、结构合理、界面友好、操作方便、实用而科学等特点。强大的查询、统计功能,将大量的、动态的数据和信息直观化,真正实现对物流、信息流的轻松管理。系统开发的目标是

2、实现企业进销存管理的系统化、规范化和自动化,该系统具有完成产销连接,产品库存管理,客户管理,发货管理,库存管理,订单管理等多个功能,满足企业高效管理的需求。进销存管理系统是针对中小型企业的进货、销售、仓储等业务制作的管理软件,功能强大。 关键词:数据库,MyEclipse,进销存管理 Abstract This Invoicing management system for small and medium enterprise management features, combined with a variety of advanced management idea and develo

3、pment of the Yangtze River enterprises Invoicing computer management software integration, satisfies the user purchase management, sales management, inventory management, basic data management, comprehensive inquiry and other work. The system has high stability, safety, easy to expand, reasonable st

4、ructure, friendly interface, convenient operation, practical and scientific characteristics. Powerful query, statistical functions, will be large, dynamic data and information visualization, and truly realize the logistics, information flow easily manage. The target of the system development is to r

5、ealize the enterprise Invoicing management system, standardization and automation, the system has a complete production and marketing connection, inventory management, customer management, shipping management, inventory management, order management and other functions, to meet the needs of enterpris

6、e performance management. Invoicing management system for small and medium enterprises purchase, sales, warehousing and other business production management software, a powerful.Keywords: Database, My eclipse ,Invoicing management编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第- 47 -页 共47页前 言随着全球经济信息化的进程和我国成功进入WT

7、O组织,企业面临着前所未有的机遇和挑战,在如此激变的社会形势和激烈的市场竞争下,愈来愈多的企业管理者意识到效率管理和科学管理的重要性,以及增强市场竞争力的迫切性,因此建立科学、规范、高效的管理制度和秉承富有竞争力的经营理念是每一个企业管理者的渴望,企业采用计算机管理进货、库存、销售等诸多环节也已成为趋势及必然。在进货、库存、销售环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作的工作量很大,在操作过程中也很容易出现各种错误。而采用计算机管理则可以大大提高日常工作的效率,不仅将原来由手工操作的进货、出货及销售这一整套流程用计算机进行全程管理,而且消除了手工操作中可能存在的不确定因素,

8、达到进销存管理流程清晰的目的,从而能够比较彻底地贯彻经营者的管理模式。企业进销存管理系统是以软件工程方法为指导,结合实践,对系统进行调研、需求分析、软件设计、数据库设计、界面设计、编码测试等工作来完成企业进销存管理系统的原型。企业进销存管理系统的开发设计主要依据软件工程的软件开发原则,结合所学过的面向对象的可视化语言来完成,在前人工作经验的基础上自己来开发系统。此系统采用面向对象的程序设计语言Java做前台开发软件和MySQL这款强大的数据库专业软件做后台数据库的设计,整个系统用简洁明快的界面展现出来,使操作简单可行,用户使用方便、简洁。本系统是使用窗体模式开发的桌面应用程序。它使用一个主窗体

9、包含多个子窗体,子窗体只能在主窗体规定的范围内移动。这些子窗体由导航面板上的按钮调用,这些按钮需要添加事件监听器,在单击该按钮时,由事件监听器创建并初始化相应的窗体,然后显示该子窗体。如果每个按钮都使用自己的监听类,那么就需要很多监听器类,这样代码的工作量大。为了提高程序开发效率,使用Java的反射功能为实现所有的事件监听提供了可能。目录 第1章 绪 论11.1系统的开发背景11.2系统开发简介11.2.1系统开发工具简介11.2.2 MySQL简介21.2.3系统开发环境2第2章 系统分析32.1需求分析32.2系统开发的可行性分析32.3系统功能分析32.4业务逻辑编码3第3章 系统总体设

10、计53.1系统流程图53.2系统总体结构图53.3数据库的设计63.3.1数据库分析63.3.2进销存管理系统E-R图7第4章 系统详细设计104.1主窗体设计104.2数据表设计164.3文件夹组织结构184.4系统主要类编写和设计194.4.1实体类的编写194.4.2数据访问对象类的编写194.4.3内部窗口类的编写194.4.4实用类的编写204.5单元测试20第5章 用户手册235.1系统启动、登录与退出235.1.1系统启动与登录235.1.2系统退出255.2库存管理255.2.1库存盘点265.2.2价格调整界面275.3基础信息管理275.4查询统计管理295.4.1客户查询

11、305.4.2商品查询305.4.3供应商查询315.4.4入库查询315.5系统管理325.5.1操作员管理325.5.2更改密码335.5.3退出系统33总结与展望34致 谢35参考文献36 插图清单图3-1 系统流程图5图3-2进销存系统结构图.6图3-3客户实体E-R图7图3-4供应商实体E-R图7图3-5商品实体E-R图8图3-6库存实体E-R图8图3-7进货单实体E-R图8图3-8销售单实体E-R图9图3-9用户实体E-R图9图4-1程序主窗体界面效果10图4-2系统的文件夹组织结构19图5-1登录界面23图5-2主界面24图5-3库存管理25图5-4库存盘点管理界面26图5-5价

12、格调整界面27图5-6添加和修改库存商品信息界面28图5-7供应商信息界面27图5-8查询统计30图5-9客户查询30图5-10商品查询.31图5-11供应商查询.31图5-12入库查询.32图5-13创建新角色.32图5-14创建用户.32图5-15添加操作员界面和修改删除操作员界面.33图5-16更改密码界面.33表格清单表1客户信息表(customer).16表2商品信息表(ware)16表3供应商信息表(provider).17表4库存信息表(storage)17表5销售信息表(saleform).17表6进货信息表(stock)18表7操作员信息表(user).18 第1章 绪 论

13、实现企业信息化管理是现代社会中小企业稳步发展的必要条件,它可以提供企业的管理水平和工作效率,最大限度地减少手工操作带来的失误。进销存管理系统可以实现企业的进货、销售、库存管理等各项业务的信息化管理。1.1系统的开发背景 加入WTO以后,随着国内经济的高速发展,中小型企业的商品流通越来越多,其所经营的商品种类繁多,难以管理,而进销存管理系统逐渐成为企业经营和管理中的核心环节,也是企业取得效益的关键。为了完善管理制度,增强企业的竞争力,很多公司都决定开发进销存管理系统,以实现商品管理的信息化。1.2系统开发简介企业进销存管理系统的前台开发软件选择的是MyEclipse6.5,该软件是面向对象的开发

14、工具,代码的可重用性好、软件易于维护。后台的数据库采用的是MySQL数据库,MySQL简单易于掌握,适用于中大型的数据库操作,企业进销存所使用的数据库属于中型的数据库,故采用该数据库。1.2.1系统开发工具简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大地提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完全支持HTML, Struts, JSF, CSS, Ja

15、vascript, SQL, Hibernate。在结构上,MyEclipse的特征可分为7类: l JavaEE模型 l WEB开发工具 l EJB开发工具 l 应用程序服务器的连接器 l JavaEE项目部署服务 l 数据库服务 l MyEclipse整合帮助 对于以上每一种功能,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。 简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,MyEc

16、lipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。1.2.2 MySQL简介 MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能

17、已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。 1.2.3系统开发环境l 操作系统:Windows XP(SP2)l Java 开发包:JDK 1.6l 数据库:MySQL 5.5l 分辨率:最佳效果为1440*960像素第2章 系统分析 2.1需求分析需求分析是一项重要的工作,也是最困难的工作。通过调查组织机构情况和系统必须实现的功能,经过仔细的思考和设计,现制定如下的需求分析:l 系统操作简单,界面友好l 进货、退货管理l 基础信息管理(包括客户、商品和供应商的信息管理和修改删除操作)l 销售、退货管理l 库存管理(包括库存盘点和价格调整)l 查询统计分析(

18、客户、商品、供应商、销售、入库、销售排行查询)l 系统管理l 可以批量填写进货单和销售单2.2系统开发的可行性分析系统分析人员需要5、6天时间确认需求分析文档。程序开发人员需要在45天的时间内进行系统设计、程序编码、系统测试、程序调试和最终文档编写等工作,时间上可行。在技术方面,由于Java的易操作性,以及系统设计人员对软件工程的理解,系统编码方面不会出现太大的问题,技术上可行。由于系统是由个人独立编写,所以也就不存在资金方面的困扰,经济上可行。综上所述,项目在时间、技术和资金方面都是可行的。因此认为该项目可以按时保质开发。2.3系统功能分析根据需求分析的描述以及与用户的沟通,现制定系统功能模

19、块如下:1) 进货管理:包括进货、退货两个子模块。2) 基础信息管理:包括商品信息管理、客户信息管理和供应商信息管理三大模块。 其中每个模块下又分为几个小模块来实现增删改查操作。3) 销售管理:包括销售订单、销售后退货处理模块。4) 库存管理:包括库存盘点和库存价格调整两个模块,可以很方便地将系统与实 物之间的数量和价格一一对应上,使信息更准确。5) 查询统计:提供了强大的查询和搜索功能,其中包括客户查询、商品查询、供应 商查询、销售查询、退货查询、入库查询、销售排行等子模块,查询功能强大。6) 系统管理:包括操作员管理、密码更改、退出系统等子项。2.4业务逻辑编码 由于涉及到多张数据库表格,

20、故对表格编码作统一规划,方便程序编写。其中数据库对象命名以字母db开头,数据表对象命名以字母tb开头。l 供应商编号:作为供应商信息表的主键。以字符串gys为前缀后面跟4位数字作为编号的后缀。这四位数字从1001开始(gys1001)。l 客户编号:作为客户信息表的主键。以字符串kh为前缀后面跟4位数字作为编号的后缀。这四位数字从1001开始(kh1001)。l 商品编号:作为商品信息表的主键。以字符串sp为前缀后面跟4位数字作为编号的后缀。这四位数字从1001开始(sp1001)。l 销售单编号:作为销售单信息表的主键。以字母xs为前缀后面跟4位数字作后缀。这四位数字从1001开始(xs10

21、01)。 l 入库编号:作为进货信息表的主键。以字母rk为前缀后面跟4为数字作后缀 (rk1001)。l 库存编号:作为库存信息表的主键。以字母kc为前缀后面跟4位数字作为编号的后缀。这四位数字从1001开始(kc1001)。l 用户表编号:作为管理用户信息表的主键。以user作为前缀后跟两位数字作为后缀。这两位数字从01开始(user01)。日考勤信息、月考勤统计表、加班管理、请假管理和休假管理。该功能一般和考勤机配套使用,员工的上下班时间自动记录并转入系统中,当然在系统中也提供人工录入的功能,这样即便没有使用考勤机也可以使用该功能。第3章 系统总体设计3.1系统流程图进销存管理系统流程如图

22、3-1所示操作员。库存管理查询统计销售管理进货管理基础信息管理 系统管理管理员图3-1系统流程3.2系统总体结构图本系统包括:基础信息管理、进货管理、销售管理、库存管理、查询统计、系统管理等6大部分。系统结构图如图3-2所示。企业进销存管理系统进货管理基础信息管理销售管理库存管理查询统计系统管理进货单客户信息管理进货退货商品信息管理供应商信息管理客户修改与删除商品信息添加商品修改与删除供应商修改与删除供应商信息添加销售单销售退货库存盘点价格调整客户查询商品查询供应商查询销售查询销售退货查询入库查询入库退货查询销售排行操作员管理更改密码退出系统客户信息添加图3-2进销存系统结构图3.3数据库的设

23、计3.3.1数据库分析本系统是一个桌面应用程序,MySQL服务器安全,免费。选用MySQL服务器完全满足要求。 硬件平台:l CPU Celeron 1.6GHzl 内存:1Gl 硬盘空间:80G 软件平台:l 操作系统:Windows XPl 数据库:MySQL 5.0.673.3.2进销存管理系统E-R图E-R图是用来描述某一组织(单位)的概念模型,提供了表示实体、属性和联系的方法。构成E-R图的基本要素是实体、属性和关系。实体是指客观存在并可相互区分的事特;属性指实体所具有的每一个特性。客户联系人编号名称地址固话手机传真Email邮编账号开户行图3-3客户实体E-R图供应商联系人编号名称

24、地址固话手机传真Email邮编账号开户行图3-4供应商实体E-R图商品类别编号名称产地单位数量包装批准文号规格简介供应商单价图3-5商品实体E-R图库存类别编号商品名产地单位数量包装规格供应商单价图3-6库存实体E-R图进货单类别编号商品名产地单位数量包装批准文号规格简介供应商负责人进货日期单价图3-7进货单实体E-R图销售单商品名编号单位数量销售日期负责人售价图3-8销售单实体E-R图用户真实姓名编号用户名密码图3-9用户实体E-R图第4章 系统详细设计4.1主窗体设计 主窗体界面也就是系统的欢迎界面。应用程序的主窗口必须设计层次清晰的系统菜单和工具栏,其中系统菜单包含系统中所有功能的菜单项

25、,而工具栏主要提供常用功能的快捷访问按钮。企业进销存管理系统采用导航面板综合了系统菜单和工具栏的优点,而且导航面板的界面更加美观,操作更快捷。图4-1是主窗体的运行结果:图4-1程序主窗体界面效果主窗体设计的主要思路是先创建一个JFrame对象,在此容器下创建一个JDesktopPane对象,导航面板即JTabbedPane对象就是安放在此对象上的。由于导航面板的简洁和方便性,所有的按钮都是放在一个个选项卡上面的。每个按钮都对应相应的点击事件,如果每个按钮都添加各自的事件监听器的话,那么将有很多事件监听器类。但是从实际的按钮监听器所实现的业务逻辑中不难发现,它们所完成的工作基本相同,都是创建并

26、初始化子窗体,然后显示它们。使用同一个事件监听器类实现代码重用,节省了代码量,提高程序开发速度。所以我使用了Java的反射机制,它可以很好地解决这个问题。在Java.lang.reflect包中有Constructor类,可以通过Class类的getConstructor()方法获取Constructor类的实例对象,然后调用该对象的newInstance()方法创建类的实例对象。关键代码如下:/采用Java中的反射机制处理内部窗口。这样可以大大简化代码量private final JInternalFrame getInternalFrame(String framename)JIntern

27、alFrame internalFrame=null;/生成唯一的内部窗体对象(通过判断HashMap中是否已经有了内部窗体对象)if(!ifs.containsKey(framename) try Class tempClass=Class.forName(com.wyl.internalFrame.+framename);Constructor constructor=tempClass.getConstructor();internalFrame=(JInternalFrame)constructor.newInstance();ifs.put(framename, internalFr

28、ame); catch (Exception e) e.printStackTrace();elseinternalFrame=ifs.get(framename);return internalFrame;/多个内部窗体对象8private Map ifs = new HashMap(); public WelcomeFrame() frame=new JFrame(企业进销存系统);updateBackImage();/添加、更新背景图片desktopPane=new JDesktopPane();desktopPane.add(backLabel,new Integer(Integer.

29、MIN_VALUE);frame.getContentPane().add(Center,desktopPane);/在窗体中添加JDesktopPane对象JTabbedPane navigatorPane=createNavigatorPane();/创建导航面板frame.getContentPane().add(North,navigatorPane);.frame.setVisible(true);private void updateBackImage() /添加、更新背景图片if(backLabel!=null)nt imageWidth=frame.getWidth();int

30、 imageHeight=frame.getHeight()-110;backLabel.setSize(imageWidth,imageHeight);backLabel.setText(+ );private JTabbedPane createNavigatorPane()JTabbedPane navigatorPane=new JTabbedPane();navigatorPane.setBorder(new BevelBorder(BevelBorder.RAISED);navigatorPane.setBackground(new Color(211, 230, 192);nav

31、igatorPane.setFocusable(false);JPanel stockManagePanel=new JPanel();/进货管理stockManagePanel.setBackground(new Color(215, 223, 194);stockManagePanel.setLayout(new BoxLayout(stockManagePanel,BoxLayout.X_AXIS);stockManagePanel.add(createButton(进货单,Jinhuodan);stockManagePanel.add(createButton(退货,Tuihuo);J

32、Panel saleManagePanel=new JPanel();/销售管理 .JPanel storageManagePanel=new JPanel();/库存管理.JPanel baseInfoManagePanel=new JPanel();/基础信息管理 . JPanel searchStatisticManagePanel=new JPanel();/查询统计.JPanel systemManagePanel=new JPanel();/系统管理/将以上各个面板添加到导航面板中navigatorPane.addTab( 进货管理 ,null,stockManagePanel,进

33、货管理);navigatorPane.addTab( 销售管理 ,null,saleManagePanel,销售管理);navigatorPane.addTab( 库存管理 ,null,storageManagePanel,库存管理);navigatorPane.addTab( 基础信息管理 ,null,baseInfoManagePanel,基础信息管理);avigatorPane.addTab( 查询统计 ,null,searchStatisticManagePanel,查询统计);navigatorPane.addTab( 系统管理 ,null,systemManagePanel,系统管

34、理);return navigatorPane;private JButton createButton(String cname,String fname)String picUrl=res/ActionIcon/+cname+.png;/原始图片String picUrl_roll=res/ActionIcon/+cname+_roll.png;/鼠标经过时显示的图片String picUrl_down=res/ActionIcon/+cname+_down.png;/鼠标按下时显示的图片Icon icon=new ImageIcon(picUrl);Icon icon_roll=new

35、ImageIcon(picUrl_roll);Icon icon_down=new ImageIcon(picUrl_down);Action action=new openFrameAction(cname,fname,icon);/点击按钮响应的事件JButton button=new JButton(action);/设置按钮外观样式,美化界面button.setMargin(new Insets(0, 0, 0, 0);/设置按钮边框和标签之间的空白(top,left,bottom,right)全为空白button.setText();button.setFocusPainted(fa

36、lse);/设置按钮获取焦点后,是否显示焦点样式。此处取消,更美观button.setBorderPainted(false);/设置是否绘制边框,此处取消,更美观button.setContentAreaFilled(false);/希望绘制图标按钮就将此属性设置为false/设置鼠标经过,按下时按钮样式if(icon_roll!=null)button.setRolloverIcon(icon_roll);if(icon_down!=null)button.setPressedIcon(icon_down);return button;/编写内部类,它继承AbstractAction对象,

37、实现Action接口protected class openFrameAction extends AbstractActionprivate static final long serialVersionUID = 1L;String framename=;/构造方法,接受传递过来的参数public openFrameAction(String cname,String framename,Icon icon)this.framename=framename;this.putValue(Action.NAME, cname);/设置点击按钮的动作名this.putValue(Action.S

38、HORT_DESCRIPTION,cname);/设置按钮上的Tooltip文字this.putValue(Action.SMALL_ICON, icon);/设置按钮图标/点击按钮响应的事件。(即生成相应的内部窗体然后显示出来)public void actionPerformed(ActionEvent e)JInternalFrame internalFrame= getInternalFrame(framename);/调用getInternalFrame()方法生产内部窗体if(internalFrame.getDesktopPane()=null)desktopPane.add(i

39、nternalFrame);/将内部窗体添加为JDesktopPane实例的内部窗体internalFrame.setVisible(true);/将内部窗体显示出来/添加内部窗体侦听器,当点击关闭按钮时需要从HashMap对象中清除此内部窗体对象internalFrame.addInternalFrameListener(new InternalFrameAdapter()public void internalFrameClosed(InternalFrameEvent e)ifs.remove(framename););/当打开内部窗体时,默认为选中此内部窗体try internalFrame.setSelected

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁