目录

摘要

Abstract

1绪论

1.1社会背景

1.2超市背景

1.3系统开发背景

1.4课题研究的目的和意义

1.5系统功能特点

1.6本文主要工作

2系统可行性研究

2.1技术可行性研究

2.1.1采用java语言编写

2.1.2采用Eclipse开发平台

2.1.3采用Access数据库

2.2经济可行性研究

2.3操作可行性研究

3系统需求分析

3.1超市基本业务分析

3.1.1进货业务

3.1.2库存业务

3.1.3销售业务

3.1.4传统小型超市需要解决的问题

3.2系统功能需求

3.3性能需求

4系统总体设计

4.1 设计思想

4.2 设计原则

4.3 系统模块概要设计

4.4系统操作流程概要设计

5系统详细设计

5.1系统功能详细设计

5.2系统数据库设计

5.2.1 数据结构

5.2.2系统E-R图设计

5.2.3逻辑结构设计

5.2.4数据表设计

5.3 模块功能设计

5.3.1系统登录模块设计

5.3.2 系统主窗体模块设计

5.3.3进货退货管理模块设计

5.3.4销售管理模块设计

5.3.5库存管理模块设计

5.3.6员工管理模块设计

5.3.7 供货商管理模块设计

5.3.8系统管理模块设计

6系统测试运行

6.1测试方法

6.2功能测试

6.3整体测试

结束语

参考文献

致 谢









摘要

随着小型超市快速的发展,商品数量急速增加,有关商品的各种信息也成倍增长。小型超市也需要对商品各种信息进行统计分析。而大型的超市管理系统功能过于强大而造成操作繁琐降低了小型超市的工作效率。

小型超市管理系统是市场上最流行的、超市上常用的系统之一,它主要包含以下几个模块:进货和退货管理模块、销售模块、库存模块、人事管理模块、系统模块。它可以使进货、库存、销售、员工信息接受全面、动态、及时的管理。

经过分析,使用JAVA语言为开发工具,使用Access作为数据库,利用它们在开发数据库应用程序方面的众多优越性,尤其是JAVA在应用程序应用开发方面提供了大量的用于数据库应用开发的各种组件,大大提高开发的效率。不断修正和改进,在用户要求的时间内完成可用系统。

本文分析了软件开发的背景以及过程,首先介绍了软件的开发环境,其次介绍了本软件的总体设计过程、详细设计过程:数据库的设计、各个模块的设计和实现,以及具体界面的设计和功能。

关键词:超市管理系统 ;JAVA;Access;数据库


Abstract

With the rapid development of small supermarkets, aquick increase in the number of goods, the goods of all kinds of information also doubled. Small supermarket also needs to carry out statistical analysis of all kinds of information. The large supermarket management system is too cumbersome to operate a strong and resulted in reducing the efficiency of the small supermarket.

Small supermarket management system is the most popular markets, also is one of the commonly used. It contains the following modules: purchase and returns management module, sales module, inventory module, the Personnel Management module, the system module. It can make the purchase, inventory, sales, employees undergo a comprehensive, dynamic and timely management.

After analysis, the use of JAVA language for the development of tools, the use of Access as a database, the use of their database applications in the development of numerous advantages, especially in JAVA application development in the application provide a large number of database application development for a variety of group cases, greatly enhanced the efficiency of development. Constantly revised and improved, in the time the user requests to finish a availablesystem.   

This paper analyzes the background, as well as software development process, first introduced the software development environment, followed by introduction of the software design process, detailed design process: database design, each module of the design and implementation, as well as the specific interface’s design and functionality

Key words: Supermarket Management System ;JAVA ;Access;Database



1绪论

1.1社会背景

随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,信息全球化的时代已经来临, 超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。零售领域目前呈多元发展趋势,多种业态:超市、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。

当今的小型超市,它们信息化的速度、资金、技术等都比不上大中型超市,但是对于这些小超市的资源管理,信息的存储和处理也是非常必要的,要适应市场竞争,就需要有高效的处理方式和管理方法来提高劳动生产效率,才能获得最大的经济效益,因此加快小型超市的信息化进程也是必不可少的。

小型超市管理系统是小型超市商品销售及货物管理的主要控制部分,直接影响销售的方便性及管理的规范性。随着信息时代的发展,对效率的要求日益提高,因而软件控制销售和管理已经取代了传统全手工方式。小型超市具有自身的特点:商品要求一般齐全,进出货关系较为简单,员工人数种类不多,但正由于员工较少,使用软件控制成为必须。

1.2超市背景

在我国超市形成在20世纪90年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。

超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。苏辙超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。

1.3系统开发背景

随着科学技术的发展,新颖的图形用户界面、卓越的多任务操作系统性能、高层次的软件开发平台风靡全球。人们要求的不断提高,可视化的图形用户界面对比原来的结构化程序设计语言更为简单易用,且编程系统采用面向对象、事件驱动的编程机制,提供了一种所见即所得的可视界面设计方法。在众多的编程语言中,java可以快速地创建图形界面应用程序,结合Eclipse,可以快速地将系统开发完成。

1.4课题研究的目的和意义

(1)大大提高小型超市的运作效率。

(2)通过全面的信息采集和处理,辅助提高小型超市的决策水平。

(3)使用本系统,可以迅速提升小型超市的管理水平,为降低经营成本,提高效益,增强超市扩张能力, 提供有效的技术保障

1.5系统功能特点

进货退货管理:包括进行商品采购入库,采购退货,进/退信息查询,与供货商的往来账务。

销售管理:包括进行商品销售,销售信息进销售列表,当前销售信息查询,当期销售总金额统计,与客户的往来账务。

库存管理:包括库存商品信息的修改,库存查询和盘点功能。

人事管理:包括员工信息和供应商信息的管理。

系统管理:包括数据库备份/恢复,系统初始化,用户信息管理。

1.6本文主要工作

第一章是绪论,主要写了小型超市发展的社会背景、超市本身的发展状况、系统开发的背景、课题研究的目的和意义、系统功能特点以及本文的主要工作。

第二章是系统可行性研究,主要分析了系统的技术可行性、经济可行性和操作可行性。

第三章是系统需求分析,主要写了超市基本业务分析、系统功能需求分析以及性能需求分析。

第四章是系统总体设计,主要写了设计思想、设计原则、系统模块概要设计以及系统操作流程概要设计。

第五章是系统详细设计,主要写了系统功能详细设计、系统数据库设计、系统子模块功能的详细设计。

第六章是系统测试,主要写了系统的测试方法、系统的功能模块测试以及系统的整体测试。

最后是本文的结束语、参考文献和致谢辞。




2系统可行性研究

2.1技术可行性研究

2.1.1采用java语言编写

系统使用JAVA语言编写,JAVA具有很多优点:简单、安全、小巧、健全、面向对象、静态类型,而且JAVA具有强大的标准库支持,文件的读取和保存操作、快捷方便的数据库接口、图形操作界面的实现有java.swing.*等使用方便的包,包含了JComponent、JFrame、JApplet、JDialog四个功能强大的父类,JPanel、JScrollPane、JSplitPane、JInternalFrame四个使用方便的中间容器,JButton、JLabel、JCheckBox、JRadioButton、JComboBox、JTextField、JPasswordField、JTextArea、JFileChooser等功能强大、灵活性高的组件,完全可以满足小型超市管理系统的功能要求,结合一种快速开发的IDE,比如Eclipse,采用一种方便快捷、简单易用的数据库开发工具,比如Access,可以最高效率将软件开发出来。

2.1.2采用Eclipse开发平台

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java 开发工具(Java Development Tools,JDT)。

Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。 2003年,Eclipse3.0选择OSGi服务平台规范为运行时架构。 2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。

Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。

Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。

虽然大多数用户很乐于将Eclipse当作Java IDE来使用,但Eclipse的目标不仅限于此。Eclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

基于Eclipse的应用程序的突出例子是IBM 的WebSphere Studio Workbench,它构成了IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对JSP、servlet、EJB、XML、Web服务和数据库访问的支持。

Eclipse的主要组成:Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以CPL发布,第三方组件有各自自身的许可协议。

2.1.3采用Access数据库

   Microsoft Office Access(前名Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了Microsoft Jet Database Engine和 图形用户界面两项特点,是Microsoft Office的成员之一。Access能够存取Access/Jet、Microsoft SQL Server、Oracle(甲骨文软件公司),或者任何ODBC兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的"进阶用户"则能使用它来开发简单的应用软件。虽然它支援部份面向对象(OO)技术,但是未能成为一种完整的面向对象开发工具。 其实Access也是微软公司另一个通讯程序的名字,想与 ProComm 以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。Access是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。

Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。它也常被用来开发简单的WEB应用程序.这些应用程序都利用ASP技术在Internet Information Services运行.比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/Microsoft SQL Server.它的使用方便程度和强大的设计工具为初级程序员提供许多功能。不过,这种便于使用可能使人误解。这类开发者都是没有在应用或者数据设计方面训练的办公室从业人员。因此许多人以为这样的开发者能够创造可用的系统,但也有很多人认为工具本身的局限性产生了这样的误导。

一些专业的应用程序开发人员使用Access用作 快速应用开发,特别是给街道上的推销员制作一个初型或独立应用程序的工具。可是如果是透个网络存取数据的话,Access 的可扩放性并不高.因此当程序被较多使用者使用时,他们的选择多会是倾向于一些客户端-服务器为本的方案,例如 Oracle、DB2、Microsoft SQL Server、Windows SharePoint Services、PostgreSQL、MySQL、Alpha Five、MaxDB,或者Filemaker。

2.2经济可行性研究

(1)小型超市管理系统开发成本低

小型超市管理系统开发需要的工具都是开源、免费的,开发工具几乎不需要什么成本。唯一的成本就是系统开发的技术人员,二三个人甚至一个人在高效率状态下在短时间内就可以开发出满足小型超市管理系统需求的软件。

(2)新系统带来新效益

管理系统是一个信息化、智能化和先进管理理念的集合体。而管理是一个动态过程,在其运行过程中要采取多项措施。所以在管理中获得经济效益是一个综合效益,要对它进行直接定量的分析是比较困难的。一般新系统带来的经济效益是简介的,其最主要的表现就是减少了超市管理费用和人力开支。而其它一些繁琐的商品都通过新系统来加以分析解决,不仅节省了大量的时间,还为小型超市的各项决策提供了宝贵的资料,可以带来巨大的经济效益。

2.3操作可行性研究

本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个超市管理系统采用最友好的交互界面,简介明了,不需要对数据库进行深入的了解。由此,该系统的操作是可行的,有必要开发该系统。综合以上三方面,该系统具有很高的开发可行性,无论是从技术上或者经济上还是操作上。

3系统需求分析

3.1超市基本业务分析

3.1.1进货业务

进货管理是企业生产经营活动中及其重要的一环,它关系到产品质量能否得到保证,生产是否能够顺利进行,采购成本能否得到有效控制等问题。企业现代管理理念中对企业的进货管理提出新的要求;企业进货时对供货商的选择更见慎重,双方不再是讨价还价的买卖关系,而是一种相互依存的合作伙伴关系,并且还需要认识到企业产品质量要从采购抓起,这就关系到供方的供货、服务质量。下面是进货业务程序的主要内容:

(1)供货商的情况调查:在实施采购之前,超市首先就要对市场上各大商品供货商进行详细的调查,了解公司的具体情况,评定企业的信誉级别和公司的市场口碑,做到准确无误,采购顺利。

(2)采购计划的编制:超市根据自身的资金条件和销售状况,综合分析市场规律,拟定采购计划表。

(3)实施进货计划:根据供货商档案及评审结果,选定供货商;生成订货单给选定的供货商;双方就价格、数量、质量等方面洽谈磋商,直至签订合同;跟踪合同执行,安排供货进度和货物运输,做好验收入库工作。

3.1.2库存业务

库存管理是指在上产经营中为销售和耗用而存储的各种资产。企业存货不当都会增加不必要的费用:存货过多将导致物资的积压、存储费用增加、流动资金周转不利,并且过量的库存会掩盖管理不善的问题。存货不足则影响企业的正常销售活动。库存管理的目标是需求最佳存货数量,使库存的成本总额最小化。其主要业务如下:

(1)产品入库、出库、盘库等日常处理。

(2)科学合理地确定某库存物资的库存控制参数。如:最佳订货批量、最大库存量、最佳缺货量、最佳订购周期等,进行严格的库存控制工作。

(3)汇总统计各类库存数据,反应和监督储备资金占用及采购资金使用情况。

3.1.3销售业务

销售对一个企业的生存和发展是至关重要的,它不再是传统意义上的“卖东西”,它对外关系到企业产品、服务和企业形象等多方面因素,对内涉及到销售、库存、财务等信息。此外信息化的高速发展为企业的销售工作提出了新的挑战,封闭意味着落后,超市要抓住时机,引入现代化的销售管理模式,实施企业的信息化、智能化销售管理,才能使超市在激烈的市场竞争中立于不败之地。

3.1.4传统小型超市需要解决的问题

小型超市的发展至少必需要解决以下两个问题:

(1)物流管理方式落后,很难根据销售、库存情况,及时进行配货、补货、退货、调拨。小型超市在物流管理方面仍使用传统的人工管理模式,浪费人力资源,效率低,准确

率低。有些商品紧缺,顾客要排队购买或商品供不应求,使顾客大为不满,还有一些商品长期积压,损坏严重,造成重大经济损失,此类问题屡屡发生,得不到根本性的解决。

(2)财务,账目管理混乱,透明度低。

小型超市在财务管理方面,仍使用传统的人工记账模式,效率低,容易出错,不能进行有效的统计,不能及时地高效率地针对买卖情况制定行之有效的经营决策,容易在账目上纠缠不清,投入大量精力在算账上,另一方面却错失销售赚钱的良机。

3.2系统功能需求

基于超市基本业务分析,和小型超市必须解决的两大难题,针对性地制定出所要设计小型超市管理系统所需要的系统功能,如下七点:

(1)设计软件提供用户登陆界面,为用户提供账号密码管理工具,能设置用户权限,不同权限的用户付给不同的操作权利,具体为添加用户、删除用户、修改用户名、密码、权限。

(2)设计软件将对进货产品进行管理,对进货清单进行录入、修改、查询和统计,也提供退货功能,对退货清单进行录入和查询。

(3)设计软件将提供销售功能,按商品名或者商品编号查询进行销售,提供付款、找零功能,并对销售清单进行录入、查询和统计,并能打印相关信息。

(4)设计软件将能对库存情况进行修改操作和查询操作,能设置库存商品单价,能对库存商品总值进行统计,并能打印相关信息。

(5)设计软件能对收支盈亏情况进行简单的统计和查询。

(6)设计软件能对超市员工信息进行管理,具体为添加员工信息、删除员工信息、修改员工信息操作。

(6)设计软件能对供货商信息进行管理,具体为添加供货商信息、删除供货商信息、修改供货商信息操作。

(7)设计软件能实现系统数据的初始化,数据库的备份和还原。




3.3性能需求

(1)开发运行系统的硬件、软件需求

硬件平台:硬盘空间:20G以上;

内存: 256M以上;

CPU: PIII500以上;

操作系统:Windows 2000/windows XP

编译环境:JDK5.0 ;  

开发工具: Eclipse3.2;Microsoft Access 2007



(2)时间特性

软件的响应时间、更新处理时间、数据转换时间、传输时间除了和软件本身的逻辑关系有一定的关系外,数据的流量、硬件传输速度等都会对其有一定的影响,就软件本身而言业务逻辑会做到简洁明了以减少用户等待时间。一般情况下,系统软件从启动到进入系统登录界面的时间正常情况下应少于5秒,录入并更新数据的时间正常情况下少于2秒。

(3)适应性

本软件要求以JAVA语言来开发,所以本软件具有JAVA语言的所有的优点,跨平台、易升级、易扩展等,相对与其他的语言在操作方式、运行环境、与其它软件的接口以及开发计划等发生变化时,会具有更强的适应能力。


4系统总体设计

4.1 设计思想

(1)系统分成几个相对独立的模块,但这些模块都进行集中式管理。

(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。

(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。

4.2 设计原则

为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:

(1)合法性原则:依据产品核算系统的工作规定以及要求,参照核算实际的工作情况,进行诸如产品进货、销售等工作。

(2)实用性原则:适合产品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。

(3)准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,长度不超限等)。

(4)易操作原则:要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。

(5)源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。

(6)优化原则:为了达到优化的目的,合理的运用窗口,菜单,对象等的继承,自定义用户对象,事件,函数,减少不必要的重复性代码,使程序简介明了,也方便了将来的维护。

(7)安全性原则:可以为该系统的用户设置用户权限









4.3 系统模块概要设计

根据需求分析中的系统需求功能以及设计思想、设计原则将系统功能分为五大功能模块,包含进货退货管理模块、销售管理模块、库存管理模块、人事管理模块、系统管理模块以及各模块下的子模块。画出整个小型超市管理系统的功能结构图,如图4-1所示:


















基于JAVA超市管理系统的计算机毕设_Access



                                图4-1









4.4系统操作流程概要设计

按照系统功能结构图画出系统操作流程图,包括登陆、进货管理、退货管理、库存管理、系统管理操作的过程。如图4-2所示:

基于JAVA超市管理系统的计算机毕设_Java_02


                          图4-2系统操作流程图


5系统详细设计

5.1系统功能详细设计

系统功能设计是使整个系统能基本实现超市的进货/退货、销售、库存等管理功能,能让超市管理者更直观的了解超市的经营状况,以做出相应的经营决策。管理信息系统(MIS)就是要对这些资源建立正确的数据库,并进行信息的收集、传送、存储、编制成各种凭证、报表、台帐、图形等信息,同时对这些信息进行维护,通过实测超市的各种运行情况,并利用过去的历史数据预测未来的发展,从超市全局的角度出发进行决策,利用信息控制超市的行为,以便达到资源配置最优化和利益最大化。

本系统共包括五大模块,分别是进货退货管理模块,销售管理模块,库存管理模块,人事管理模块,系统管理模块。每个模块的功能如下:

1.进货退货管理模块功能

(1)实现进货退货信息的查询;

(2)实现进货信息的更新,包括增加、删除、修改功能。

2.销售管理模块功能

(1)实现销售商品的购买、付款、找零功能。

(2)实现商品销售信息的盘点,可以查看同一商品总销售量和销售总金额,可以查看某天、某个月销售的所有商品和商品总额。

(3)实现商品销售排行榜。

3.库存管理模块功能

(1)实现库存信息的查询。

(2)实现库存信息的更新,包括增加、删除、修改功能。

(3)实现库存商品销售单价的设置功能。

4.人事管理模块功能

(1)实现职工信息的查询。

(2)实现职工信息的更新,包括增加、删除、修改功能。

(3)实现供货商信息的查询。

(4)实现供货商信息的更新,包括增加、删除、修改功能

5系统管理模块功能

(1)实现系统用户信息的更新,包括增加、删除、修改功能。

(2)实现系统数据重置功能。

(3)实现系统数据库的备份和还原功能。

5.2系统数据库设计

5.2.1 数据结构

数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或若干个数据项和数据结构混合组成。本系统一共分了3个组,具体如表5-1所示:

                          表5-1

数据结构名

     含义说明

       组成部分

进货信息

 描述进货基本信息

进货流水号+商品名称+进货价+进货数量+商品单位+总金额+供应商+进货日期

 退货信息

 描述退货基本信息

进货流水号+商品名称+进货价+进货数量+商品单位+总金额+供应商+进货日期+退货日期

销售信息

描述销售信息

销售流水号+商品编号+商品名称+销售数量+商品单位+销售单价+销售日期

 销售排行榜信息

描述销售排行榜信息

销售排名+商品名称+销售数量

  库存商品信息

 描述商品库存信息

商品编号+商品名称+库存数量+商品单位+销售单价

员工信息

  描述员工信息

员工编号+姓名+性别+工资+联系电话+联系地址+身份证号

供货商信息

描述供货商信息

供货商号+名称+联系人+联系电话+联系地址+开户行+银行帐号

   用户信息

 描述用户信息

用户名+密码+权限

5.2.2系统E-R图设计

基于JAVA超市管理系统的计算机毕设_Java_03

把数据结构表中进货信息 、退货信息、销售信息、销售排行榜信息、库存商品信息、员工信息、供货商信息、用户信息看作实体,其组成部分看作实体的属性 。 


基于JAVA超市管理系统的计算机毕设_Access_04

                 图 5-1  进货信息实体关系图

如图5-1进货信息看作一个实体,其属性关系有流水号、商品名称、进货价、进货数量、商品单位、总金额、供应商、进货日期。


基于JAVA超市管理系统的计算机毕设_管理系统_05

                      图5-2退货信息实体关系图

如图5-2退货信息看作一个实体,其属性关系有流水号、商品名称、进货价、进货数量、商品单位、总金额、供应商、进货日期、退货日期。

基于JAVA超市管理系统的计算机毕设_Java_06

                          图5-3销售信息实体关系图       

如图5-3退货信息看作一个实体,其属性关系有销售流水号、商品编号、商品名称、销售数量、商品单位、销售单价、销售日期。

基于JAVA超市管理系统的计算机毕设_Access_07

                    图5-4销售排行榜实体关系图  

如图5-4销售排行榜看作一个实体,其属性关系有销售排名、商品名称、销售数量。

基于JAVA超市管理系统的计算机毕设_管理系统_08

                   图 5-5 库存商品信息实体关系图

如图5-5库存商品信息看作一个实体,其属性关系有商品编号、商品名称、库存数量、商品单位、销售单价。

基于JAVA超市管理系统的计算机毕设_管理系统_09

                     图5-6员工信息实体关系图

如图5-6员工信息看作一个实体,其属性关系有员工编号、姓名、性别、工资、联系电话、联系地址、身份证号。


基于JAVA超市管理系统的计算机毕设_Access_10

                     图5-7供货商信息实体关系图

如图5-7供货商信息看作一个实体,其属性关系有供货商号、供货商名称、联系人、联系电话、联系地址、开户行、银行账号。

基于JAVA超市管理系统的计算机毕设_Java_11


图 5-8  用户信息实体关系图

如图5-8用户信息看作一个实体,其属性关系有用户名、密码、权限。



基于JAVA超市管理系统的计算机毕设_Java_12

图5-9整体实体E-R图

整体实体E-R图如图5-9

5.2.3逻辑结构设计

逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。

设计逻辑结构一般分为3步进行:

(1)将概念结构转换为一般的关系、网状、层次模型;

(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;

(3)对数据模型进行优化。

将E-R图转换为关系模型实际上就是要奖实体型、实体的属性和实体型之间的联系转换为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:

(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该关系相连的各个实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的侯选码。如果与某一端实体对应的关系模式合并,则需要在关系模式的属性中加入另一个关系模式的码和联系本身的属性。

(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该关系相连的各个实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

(3)一个m:n联系转换为一个关系模式。与该联系相连的各个实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

(4)3个或3个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。

(5)具有相同码的关系模式可合并。

将概念结构设计阶段设计好的基本E-R图转换为关系模型,如下所示:

进货信息(流水号,名称,进价,进货量,单位,进货总金额,供应商,供货日期),此为进货信息实体对应的关系模式。

退货(流水号,名称,进价,进货量,进货总金额,供应商,供货日期,退货日期),此为退货信息实体对应的关系模式。

销售(流水号,商品编号,名称,销售量,销售价,销售日期),此为销售实体对应的关系模式。

销售排行榜(销售名次,商品名称,销售数量),此为销售排行榜实体对应的关系模式。

库存(商品编号,商品名称,商品数量,商品单位,商品单价),此为库存实体对应的关系模式。

员工信息(员工编号,姓名,性别,工资,联系电话,联系地址,身份证号),此为员工信息实体对应的关系模式。

供货商信息(供货商号,供货商名称,联系人,联系电话,联系地址,开户银行,银行账号),此为供应商信息实体对应的关系模式。

用户信息(用户名,用户密码,用户权限),此为用户信息实体对应的关系模式。

5.2.4数据表设计

本系统的数据库采用Access,一共用了八张表,分别是BUY,DELE,SALE,PAIHANG,CARGO,RENSHI,GONGYING,PASSWORDS,分别存放进货信息、出货信息、销售信息、排行榜信息、库存信息、员工信息、供应商信息、用户信息。

表5-2是存放进货信息的表,字段名有:流水号(主码)、名称、进价、进货量、进货总金额、供应商、供货日期。

表5-2 BUY表

列名

数据类型

长度

唯一性说明

流水号(主码)

char

14

Not Null

名称

 char

10

Not Null

进价

float

10

Not Null

进货量

int

8

Not Null

进货总金额

float

10

Not Null

供应商

char

10

Not Null

供货日期

char

10

Not Null


表5-3是存放退货信息的表,字段名有:流水号(主码)、名称、进价、进货量、进货总金额、供应商、供货日期、退货日期。

表5-3 DELE表

列名

数据类型

长度

唯一性说明

流水号(主码)

char

14

Not Null

名称

 char

10

Not Null

进价

float

10

Not Null

进货量

int

8

Not Null

进货总金额

float

10

Not Null

供应商

char

10

Not Null

供货日期

char

10

Not Null

    退货日期

char

10

Not Null


表5-4是存放销售信息的表,字段名有:流水号(主码)、编号、名称、销售量、单价、销价、销售日期。

表5-4 SALE 表

列名

数据类型

长度

唯一性说明

流水号(主码)

char

14

Not Null

编号

 char

10

Not Null

名称

float

10

Not Null

销售量

int

8

Not Null

单位

char

8

Not Null

销价

float

10

Not Null

销售日期

char

10

Not Null


表5-5是存放库存信息的表,字段名有:编号(主码)、名称、库存量、单位、销价。

表5-5 CARGO表

列名

数据类型

长度

唯一性说明

编号(主码)

char

10

Not Null

名称

 char

10

Not Null

库存量

int

10

Not Null

单位

char

8

Not Null

销价

float

10

Not Null


表5-6是存放销售排行榜信息的表,字段名有:销售名次、商品名称、销售数量。

表5-6 PAIHANG表

列名

数据类型

长度

唯一性说明

销售名次(主码)

char

10

Not Null

商品名称

 char

10

Not Null

销售数量

int

10

Not Null




表5-7是存放销售信息的表,字段名有:员工编号(主码)、姓名、性别、身份证号码、工资、联系电话。

表5-7 RENSHI表

列名

数据类型

长度

唯一性说明

员工编号(主码)

char

14

Not Null

姓名

 char

10

Not Null

性别

char

10

Not Null

身份证号码

char

8

Not Null

工资

char

10

Not Null

联系电话

char

10

Not Null


表5-8是存放销售信息的表,字段名有:员工编号(主码)、姓名、性别、身份证号码、工资、联系电话。

表5-8 GONGYING表

列名

数据类型

长度

唯一性说明

供应商号(主码)

 char

14

Not Null

供货商名称

 char

10

Not Null

联系人

 char

10

Not Null

联系电话

 char

10

Not Null

联系地址

char

10

Not Null

银行账号

char

10

Not Null


表5-9是存放销售信息的表,字段名有:用户名、用户密码、用户权限。 

表5-9 PASSWORDS表

列名

数据类型

长度

唯一性说明

用户名(主码)

char

10

Not Null

用户密码

 char

10

Not Null

用户权限

char

10

Not Null



5.3 模块功能设计

5.3.1系统登录模块设计

功能:本模块的主要功能是对用户身份进行验证只有系统的合法用户才能进入系统。其窗体如图5-10所示:

基于JAVA超市管理系统的计算机毕设_Java_13

图5-10 系统登录模块

在进行系统登录过程中,登录模块将调用数据库里的用户清单,并对账号和密码进行验证,只有输入了正确的账号和密码后,系统登录才会成功。在登录模块中,对系统的尝试登录次数进行了限制,禁止用户无终止的进行系统登录尝试,在本系统中,当用户对系统的三次登录失败后,系统将自动机制登录,退出登录模块。并在输入了错误的或者是不存在的账户和密码时,系统会给出出错信息提示,指明登录过程中的错误输入或者错误操作,以便用户进行正确的登录。

输入项、输出项:输入项为账号和密码。






5.3.2 系统主窗体模块设计

功能:经过身份验证后进入系统出现的主界面,提供进货、退货管理、销售管理 、库存管理、系统管理、退出系统菜单选项,点击不同的菜单项,触发不同的事件,实现相应的功能.每个功能面板选择退出后,也是返回这个主界面。

其窗体如图:5-11

基于JAVA超市管理系统的计算机毕设_Java_14

图5-11 系统主窗体模块






5.3.3进货退货管理模块设计

功能:该模块主要是实现进行进货信息查询、进货计划制定两个功能。

进货信息查询:该模块为超市提供整个超市的进货情况查询,也可以进行进货信息的明细查询,并以进货报表形式打印出来。

进货计划制定:该模块可以为制定进货计划,并形成相应的采购订单。

输入项、输出项:该模块的输入项为超市的进货单,其中包括进货单的编号,商品的编号,供货商号,进货价,数量,金额,进货日期。

其窗体如图5-12

基于JAVA超市管理系统的计算机毕设_Access_15

         图5-12 进货退货管理模块

进货/退货管理模块的用例图,如图5-13所示:














管理者

基于JAVA超市管理系统的计算机毕设_管理系统_16



图5-13  进货退货管理模块用例图

进货/退货管理模块的活动图,如图5-14所示:


























基于JAVA超市管理系统的计算机毕设_Access_17

图5-14 进货退货管理模块活动图


5.3.4销售管理模块设计

功能:本模块的主要功能是把销售信息写入销售清单,同时对库存清单进行更新,以便用户将来对库存信息进行查询和打印,此外还可以对销售信息进行查询和盘点功能。

商品销售:实现商品进入购物篮、购买、付款、找零,并把销售信息写入销售清单。

销售信息查询:根据商品销售情况,按需要对销售情况进行查询。在该查询模块中,可以按照商品的编号、商品名称、销售日期等多种方式进行商品销售信息查询。

销售信息盘点:可以按照需要对在一定时期内的销售情况进行盘点。

销售排行榜:可以显示出销售排行榜。

输入项、输出项:本模块的数据输入项主要是商品的销售单号、商品编号、商品名称、购买数量、收款金额。商品销售、销售列表、销售排行榜的窗体分别如图5-15、5-16、5-17。


基于JAVA超市管理系统的计算机毕设_Access_18

      图 5-15  商品销售

基于JAVA超市管理系统的计算机毕设_Java_19

         图 5-16销售列表

基于JAVA超市管理系统的计算机毕设_Access_20

图 5-17商品销售排行榜


销售模块的用例图,如图5-18所示:













管理者

基于JAVA超市管理系统的计算机毕设_Java_21


图5-18销售模块的用例图



销售管理模块的活动图,如图5-19所示:































基于JAVA超市管理系统的计算机毕设_Access_22

图5-19销售管理模块活动图









5.3.5库存管理模块设计

功能:本模块的主要功能是库存商品信息的查询和更新以及商品总值的盘点。

输入项、输出项:本模块的数据输入项主要是商品名称、数量、单位、销售单价。

窗体如图5-20所示:

基于JAVA超市管理系统的计算机毕设_Java_23

                                   图5-20 库存管理模块


库存管理模块的用例图,如图5-21所示:
















基于JAVA超市管理系统的计算机毕设_管理系统_24



库存管理模块的活动图,如图5-22所示:


























基于JAVA超市管理系统的计算机毕设_Java_25

     图5-22库存管理模块活动图















5.3.6员工管理模块设计

在系统开发中,为解决超市人员流动问题,在系统中增添了员工管理子模块,用来对超市的人员进行信息化管理,以此来提高员工的办事效率,节约人力资源。

新员工录入:在超市招进新员工时,对其进行基本信息的存储,对员工信息进行基本的了解。

员工信息维护:当员工信息发生变化,或者是员工离职,换岗对相关信息发生变化时,利用此子模块对其进行信息变更。其窗口如图5-23:

基于JAVA超市管理系统的计算机毕设_管理系统_26

           图5-23员工管理模块

员工管理模块的用例图,如图5-24所示:












基于JAVA超市管理系统的计算机毕设_Access_27

  

员工管理模块的活动图,如图5-25所示:




























基于JAVA超市管理系统的计算机毕设_Java_28


                               图5-25 员工管理模块活动图












5.3.7 供货商管理模块设计

在超市引进商品时,首先查询已有的供货商信息,然后按照供货商信息采购商品;或者从新的供货商那里引进新的商品,此时,要把新供货商信息添加到供货商清单中。有时,不再从某一供货商那里采购商品时,此时要把供货商信息删掉。当供货商信息有变化时,就需要对供货商信息进行维护等。其窗体如图5-26所示:

基于JAVA超市管理系统的计算机毕设_管理系统_29

                          图5-26供货商管理模块    


供货商管理模块的用例图,如图5-27所示:













基于JAVA超市管理系统的计算机毕设_管理系统_30


图5-27  供货商管理模块用例图

供货商管理模块活动图,如图5-28所示


























基于JAVA超市管理系统的计算机毕设_Java_31

图5-28供货商管理模块活动图









5.3.8系统管理模块设计

系统用户管理:实现用户信息添加、修改、删除功能。

实现系统初始化、数据库备份、数据库还原功能。

退出:选择退出系统,将关闭整个系统,结束本次使用。

其窗体如图5-29

基于JAVA超市管理系统的计算机毕设_Java_32

图5-29用户管理




系统管理模块的用例图,如图5-30所示:





















基于JAVA超市管理系统的计算机毕设_Java_33



系统管理模块活动图,如图5-31所示:


























基于JAVA超市管理系统的计算机毕设_管理系统_34

图5-31 系统管理模块活动图
















6系统测试运行

完成对流程的编码后最重要的事情就是对系统的测试工作了,测试在系统设计阶段有两个时期,通常在编写每个模块后做单元测试,另一个时期是对系统的综合测试。

6.1测试方法

测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。前一个方法称为黑盒测试,后一个方法称为白盒测试。在测试阶段,我采用的是黑盒测试的方法,即对程序内部结构和特性不做考虑,只从程序的输入输出特性上来测试本软件是否能满足设定的功能。

6.2功能测试

首先对对系统用户登陆界面进行测试,内容包括对用户名、密码的输入进行正确性和合法性的检查,系统操作界面显示控制以及对用户身份的判断。本系统是一个管理系统,对于系统的用户有管理员和销售员的区分,这也需要我们对系统中的不同用户的操作权限进行区分,不同的系统用户所能进行的操作权限不同。当用户填写完用户名和密码提交后,系统会进行输入信息正确性的检查,如果用户名和密码输入不正确,则提示出错并要求用户重新输入;如果输入正确,则根据用户身份转入不同的操作。登陆到主界面后,共分进/退货管理模块、销售管理模块、库存管理模块、人事管理模块、系统管理模块五个功能模块,以下将对五个模块进行具体的功能测试。测试时采取边设计边测试的方法,发现错误及时更正,不断的反复进行测试,直到系统运行正常为止。

(1)进/退货管理模块测试

对进货、退货管理模块测试,内容包括对进货、退货信息输入进行正确性和合法性的测试,对添加、删除、修改操作导致数据库的改变进行正确性和合法性的测试,对查询进货、退货信息结果进行正确性测试,对进货总金额盘点进行核对测试。

(2)销售管理模块测试

对销售管理模块测试,内容包括对购买时判断库存商品是否足够的测试,对文本框输入数据是否合法进行测试,对按商品编号、名称查询库存商品的结果测试,对购买列表显示是否正确进行测试,对商品价格结算是否正确进行测试,对判断收款金额是否足够进行测试,对完成销售时找零数目进行测试,对完成销售后的销售信息盘点进行测试,对销售排行榜的正确性进行测试。


(3)库存管理模块测试

对库存管理模块测试,内容包括对查询库存商品的不同查询方式对应的不同查询结果的测试,对修改库存商品信息文本框所输入的新信息的合法性、正确性进行测试,对提交修改信息后库存信息是否改变进行测试,对库存商品总值盘点的结果核对是否正确的测试。

(4)人事管理模块测试

对人事管理模块测试,内容包括对查询员工信息/供应商信息的不同查询方式对应的不同查询结果的测试,对修改员工信息/供应商信息文本框所输入的新信息的合法性、正确性进行测试,对提交修改信息是否成功的测试。

(5)系统管理模块测试

对系统管理模块测试,内容包括对添加、修改、删除用户操作的正确性、合法性的测试,对重置数据信息是否成功进行测试,对备份/还原数据库的功能进行测试。

(6)测试结果

所有模块经过测试都可以实现其基本的功能,响应时间都在系统要求的范围内,存在的部分bug,已经修正。

6.3 整体测试

总体测试是组装软件的系统技术,本系统测试采用渐增集成测试,即测试单一模块,将测试完的模块加入系统中,进行一次系统测试,依次类推将所有模块加入系统中,在具体测试时,采用自顶向下的结合方式,从主控模块开始,沿各控制层向下移动,逐渐把所有模块结合了。

在测试过程中使用到调试技术:

(1)采用debug调试语句,跟踪数据;

(2)嵌入打印语句,输出中间结果;

(3)利用Eclipse3.2中调试工具,从调试窗口观测变量的变化;

(4)设置断点,观察程序在断点附近的状况。


结束语

毕业设计结束了,通过这几个月的设计,我学到了很多的知识,包括学会了开发小型超市管理系统具体的工作步骤,以及如何运用软件工程的方法到实际设计当中。在这次毕业设计中,我采用JAVA高级编程语言和ACCESS数据库进行系统开发,以前我只接触过一些简单的java小程序,没有写过复杂的管理系统,对JAVA相关技术具体的使用方法并不十分了解。通过这段时间的努力学习,我对资料上的一些实例进行了实际运用,初步掌握了JAVA技术的一些基础知识,对ACCESS数据库技术也有了一定的了解。

这次设计的小型超市管理系统和传统管理模式相比较,毫无疑问会大大提高超市的运作效率,辅助提高超市的决策水平,管理水平,为降低经营成本,提高效益,减少差错,节省人力,减少顾客购物时间,增加客流量,提高顾客满意度,增强超市扩张能力, 提供有效的技术保障。但是由于本人能力有限,掌握的资料不足,加上时间仓促,在设计过程中,需求分析和总体设计阶段的分析不够全面,在详细实现阶段编写代码出现了许多问题,而且有的模块功能实现不完善说明我对JAVA和ACCESS技术掌握还远远不够,对于在设计当中的种种不足和缺陷,我深表歉意,希望老师批评指正。












参考文献

[1] 狄泰H.M狄泰P.J,袁晓靖.JAVA语言程序设计大全.北京:机械工业出版社,1997.8.

[2]王珊.数据库系统概论.北京:高校教育出版社,1985.

[3]王勇领.计算机数据处理系统分析与设计.北京:清华大学出版社,1986.

[4]张基温.信息系统开发案例.北京;清华大学出版社,1999.

[5]党建武.管理信息系统.兰州大学出版社,2001.

[6]毕庶伟.管理信息系统分析与设计.北京:机械工业出版社,1992.

[7] John Zukowski.JAVA2从入门到精通.北京.J2SE 1.4版,电子工业出版社.

[8] Geary,李建森.JAVA 2图形设计.北京:机械工业出版社 ,2000.2

[9]Watts S.Humphrey.软件工程规范 .清华大学出版社,2002

[10]Shari Lawrence Pfleeger.编软件工程理论与实践.清华大学出版社,2003

[11]Swapna Kishore.编软件需求分析.机械工业出版社,2002

[12] David Iseminger. Remote Access Services. Microsoft Press,2002


致 谢

毕业论文即将完成,我的学生生涯也要告一段落了。借此机会,我要对母校和四年来帮助过我的人表示深深的感谢。

首先,我要感谢母校,它给予我这样一次机会,能够独立地完成一个课题,使我们在即将离校的最后一段时间里,能够更多学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。再一次对我的母校表示感谢。 

接着,我要感谢我的毕业设计指导老师杨老师,毕业设计和论文中我遇到了无数的困难,每一次都在她母亲般的鼓励和指导下,使得诸多困难迎刃而解,使我顺利完成毕业设计,在此表示衷心感谢。还要感谢大学四年中指导过我的杜老师和马老师,他们认真负责的工作态度、严谨的治学精神和硬派的学术作风使我深感敬佩。他们对我的批评和指导让我受益终身。

最后,我要感谢同窗四年的兄弟姐妹,四年的风风雨雨,我们一同走过,互相鼓励,互相帮助,充满着关爱,给我留下了值得珍藏的最美好的记忆。