基于jsp(java)超市管理系统的设计和开发(含源文件)


获取项目源文件,联系Q:1225467431,可指导毕设,课设

摘 要
随着网络技术的发展、计算机应用水平的提高的扩大,原来系统的时效性、数据的正确性、操作的方便性上都存在不足,已影响到系统的正常使用。经过考察比较,决定利用科技的力量对超市订购与销售管理系统进行重新设计。使系统能利用软件开发技术的成果,方便商品销售的管理。
本文主要是介绍超市进销存管理信息系统的环境、功能作用、所用到的语言、设计的方案等各方面的内容。主要是让使用者了解此系统,使他们能更好的运用本系统,使此系统发挥出应有的作用。本文主要对超市订购与销售管理系统的设计与开发过程进行了全面的介绍并对各子系统中的程序设计、操作流程、功能实现等进行了详细的解释。该管理信息系统通过sqlserver2000建立后台的数据库,利用jsp开发工具,实现了超市销售管理等各项基本功能。

关键词 数据库,JSP,SQLServer2000,销售管理
SUPERMARKET PURCHASE-SELL-STOCK MANAGEMENT SYSTEM
ABSTRACT
With the development of network technology, computer application, to raise the level of the original system of timeliness and accuracy of the data on the convenience of operation, the defects of the system, which has affected the normal use. After investigation, decided to use the power of science and technology of order and sales management system redesigned. The system can use software technology achievements, convenient to the sale of goods.
This paper is mainly introduced purchase-sell-stock management information system of supermarket, environment, use function of language, the design scheme of various aspects of content. Mainly is the system allows users, so that they can better use this system, the system should play the role. This paper focuses on the supermarket with sales management system for the design and development process of a comprehensive introduction of each subsystem and the program design, operation and function of a detailed explanation. The management information system sqlserver2000 established by using the database, background, development tools JSP supermarket order and the basic function of sales management.
KEY WORDS Database, JSP, SQLServer2000, SalesManagement
1前言
1.1社会背景
随着现代科学技术的迅猛发展,计算机技术已渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入数字化时代,有巨大的数据信息等待着加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。
作为国内市场的一些中小超市,他们在信息化过程中的步伐要落后大中型超市,而对于这些企业的资源管理,信息的存储和处理也显的迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的电算化进程是必不可少的。
在会计业务中,产品的完成,发出和结存关系到超市销计划的完成和流动资金占用情况,而销售核算子系统是电算化会计系统中一个关键且比较复杂的子系统。通过这个子系统提供的信息可以了解企业的经营成果,通过产品销售收入用来补偿已消耗的生产资料,支付工资和其他费用,缴纳税金并实现利润。
做系统之前,我们通过对市场的调查,针对现在各中小超市对销售业务的实际需要,开发了这套商品进销存系统。在开发过程中,我们针对当前各超市管理特点和技术人员的实际水平,采用JSP这一易学易用的操作系统环境,在系统设计过程中,我们尽量采用一些易懂易读的接口界面,使用户可以在短期内完全掌握。在功能方面,我们根据市场调查的一些资料进行总结,借鉴现在市场上流行的财务软件的特点,抛去泛泛不实用的缺点,使我们设计的系统在功能上极贴近中小超市的使用要求。在设计过程中,我们始终把系统的正确性放在首位,力求数据的完整,处理的正确性。在此基础上优化程序代码,加速系统运行和减少对系统资源的占用。作为一家中小型超市,他们的主要业务是销售产品,目前系统运作中存在很多问题,所有的进货单,出货单和退货单都是人工填写,耗时而且易出现错误;库存也是人工记帐,无法随时掌握最准确的存货情况;对于销售数据,往往要花好多时间和精力去计算每个业务员的销售业绩,每项商品的销售状况,为了解决上述问题,提高经济效益,准备导入进销存系统进行销售,采购,库存等的计算机化管理。
经过两个多月的设计开发,现在已完全达到预期效果,实现了最初设定的目标。
1.2超市管理形式
超市形式在我国于20世纪90年代初期起步,现已成为我国零售业的一种重要形态。随着超市的高速发展,其经营管理也变的愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售业的的发展这样就迫切地需要引入新的思想技术和管理技术进入到超市管理之中。
超市形态具有种种优点,但在目前状况下,它仍存在零售业商业企业所共有的落后的一面,如:不能有效的管理每一种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率底等,而且在超市日常管理中,商品进、销、存决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足,随着超市形态的高速发展,其经营管理也变的愈加复杂,日常所需处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。为此,我们在本次设计之中选择了超市信息管理系统设计,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力、改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进销存状况和各种反馈信息分析,使管理人员快速对市场的变化作出相应决策,加快超市的系统建立的技术基础:数据库应用系统是以数据库为基础的信息管理系统,它一般包含两个方面内容,一个数据库设计,二是程序设计。
1.3建立超市管理系统的必要性
随着我国改革开放的不断深入、经济飞速的发展,企业要想生存发展,要想在激烈的市场竞争中立于不败之地,没有现代化的管理是万万不行的。作为现代社会的一部分,超市必须适应社会的发展,因此实现市的信息化管理是很有必要的。在传统的手工管理中,往往是用人工清点的方式来掌握超市中现有的商品,使用手工记账的方式来掌握商品的进货和销售情况。这种方式在商品数量较少、商品库存变换少的情况下,不失为一种较好的方法。但是,在目前的大中型超市中,往往需要处理的商品种类数以千计,而且每天所发生的进货和销售情况纷繁复杂。如果要借助人工来实现这一系列数据的记录和管理,工作量将非常巨大,而且容易出现错误,造成管理上的混乱,更何况还需要对商品的数据进行统计和分析。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已被人们所认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对超市信息进行管理有着手工管理所无法比拟的优点,例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高超市管理的效率,也能使超市步入科学化、正规化的管理。基于这些问题,为了使超市管理工作规范化、系统化、程序化,避免超市管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效地查询和修改商品情况,建立一个超市管理系统是非常必要的。
2相关技术知识概要
2.1 前台开发工具
2.1.1开发语言
经过对课题的理解与分析,该系统选用Java程序设计语言编写代码。Java语言是1995年由Sun公司开发的编程语言,它的出现是源于对独立平台语言的需要。Java语言是目前使用最为广泛的编程语言之一,它具有简单、面向对象、稳定、与平台无关、多线程、动态等特点。
2.1.2 开发平台
MyEclipse 是基于Java的、开放源代码的可扩展开发平台,它最初由IBM公司投入巨资开发,后来被捐赠给国际开放源代码团体。MyEclipse附带了一个标准的插件集,包括了Java开发工具(Java development Tools,JDT)。MyEclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展MyEclipse的软件开发人员,因为它允许开发人员构建与MyEclipse环境无缝集成工具。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 
在结构上,MyEclipse的特征可以被分为7类:
  1. JavaEE模型
  2. WEB开发工具
  3. EJB开发工具
  4. 应用程序服务器的连接器
  5. JavaEE项目部署服务
  6. 数据库服务
  7. MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
MyEclipse可以集成不同的软件工具开发供应商的产品,任何开发工具厂商都可以将他们的开发工具或组件加入到MyEclipse 平台,用户可以通过相同的接口使用不同的工具。也就是说,可以在同一集成环境中同时使用不同开发商开发的软件工具。由于MyEclipse具有这种整和不同工具的特性,开发者可以综合性能调节、监测、调试等处理,从而可以在较短的时间内开发出更高性能和质量的应用软件。因此,该系统选用MyEclipse作为开发平台。
2.1.3 JSP技术
JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的java (​http:​/​​/​baike.baidu.com​/​view​/​29.htm _blank​)程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
JSP的技术方法:
JSP为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。
(1).将内容的生成和显示进行分离
用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。
(2).可重用组件
绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者和客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
(3).采用标识
Web页面开发人员不会都是熟悉脚本语言的编程人员。JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
(4).适应平台
几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。
(5).数据库连接
Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。
此外,通过开发标识库,JSP技术可以进一步扩展。第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。作为采用Java技术家族的一部分,以及Java 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。 由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言一次编写,各处运行”的特点。
JSP的优点:
(1)一次编写,到处运行。在这一点上Java比PHP (​http:​/​​/​baike.baidu.com​/​view​/​99.htm _blank​)更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP (​http:​/​​/​baike.baidu.com​/​view​/​2616.htm _blank​)/PHP的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar (​http:​/​​/​baike.baidu.com​/​view​/​50457.htm _blank​)文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
JSP的应用模型:
利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。
JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题)。
JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web页面的标准。不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。
2.1.4 servlet
servlet是在服务器上运行的小程序。这个词是在Java applet的环境中创造的,Java applet是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。 
服务器上需要一些程序,常常是根据用户输入访问数据库的程序。这些通常是使用公共网关接口(CGI)应用程序完成的。然而,在服务器上运行Java,这种程序可使用Java编程语言实现。在通信量大的服务器上,Java servlet的优点在于它们的执行速度更快于CGI程序。各个用户请求被激活成单个程序中的一个线程,而创建单独的程序,这意味着各个请求的系统开销比较小。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为:
客户端发送请求至服务器端;
服务器将请求信息发送至Servlet
Servlet生成响应内容并将其传给Server。响应内容动态生成,通常取决于客户端的请求
服务器将响应返回给客户端
Servlet看起来像是通常的Java程序。Servlet导入特定的属于Java ServletAPI的包。因为是对象字节码,可动态地从网络加载,可以说Servlet对Server就如同Applet对Client一样,但是,由于Servlet运行于Server中,它们并不需要一个图形用户界面。从这个角度讲,Servlet也被称为FacelessObject。
Java Servlet 与 CGI(Common Gateway Interface) 的比较:
与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。在未来的技术发展过程中,Servlet有可能彻底取代CGI。
在传统的CGI (​http:​/​​/​baike.baidu.com​/​view​/​32614.htm _blank​)中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。而在Servlet中,每个请求由一个轻量级的Java线程处理(而不是重量级的操作系统进程)。
在传统CGI中,如果有N个并发的对同一CGI程序的请求,则该CGI程序的代码在内存中重复装载了N次;而对于Servlet,处理请求的是N个线程,只需要一份Servlet类代码。在性能优化方面,Servlet也比CGI有着更多的选择。
1)方便  
Servlet提供了大量的基础构造,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。而在CGI中,大部分都需要我们自己完成。
2)功能强大
在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。例如,Servlet能够直接和Web服务器交互,而常规的CGI程序做不到这一点,至少是在不使用服务器专有的API的情况下是这样的。例如,与Web服务器的通信使得将相对URL转换成具体的路径名变得更为容易。多个Servlet还能够在各个程序之间共享数据,从而易于实现数据库连接共享和类似的资源共享优化。Servlet还能维护请求之间的信息,使得诸如回话跟踪和计算结果缓存等技术变得更为简单。
3)可移植性好
Servlet用Java编写,Servlet API具有完善的标准。因此,为IPlanet Enterprise Server写的Servlet无需任何实质上的改动即可移植到啊、Apache、Microsoft IIS或者WebStar。几乎所有的主流服务器都直接或通过插件支持Servlet。
4) 节省投资  
不仅有许多廉价甚至免费的Web服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持Servlet的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。
5) 安全
传统CGI程序的主要漏洞之一就是,CGI程序常常是由通过操作系统外壳(Shell)来执行。因此,CGI程序必须过滤到那些可能被外壳特殊处理过的字符,如反引号和分号。实现这些防护措施的难度可能超出我们的想象。
问题的另个一来源就是,一些CGI程序用不自动检查数组和字符串边界的语言编写而成。例如,在C和C++中,可以分配一个100个元素的数组,然后向第999个元素”写入数据——实际上是程序内存的随机部分,这完全合法,因而,如果程序员忘记执行这项检查,就会将系统暴露在蓄意或偶然的缓冲区溢出攻击之下。
Servlet不存在这些问题,即使servlet执行系统调用激活本地操作系统上的程序,它也不会用到外壳来完成这些程序。
2.2 SQL SERVER 2000 简介
数据库管理系统是管理信息、系统中的重要支持技术。MSSQL 2000具有功能强大、可靠性较好、支持多线程、并行式的关系数据库管理系统,能满足程序设计语言网络课件对有关可靠性、并发性、数据完整性和安全性等方而的要求,因此系统后台的数据库将采用MSSQL 2000。
作为系统支持的一项技术,我们对SQL Server作如下简介:
SQL Server 是Microsoft公司开发的大型关系数据库管理系统具有强大的关系数据库创建、开发、设计和管理功能。SQL Server2000将数据库与Internet紧密连接,可以通过Web浏览器显示数据的操作,具有客户机/服务器的结构。
SQL Server的特点如下:
第一:SQL Server是客户机/服务器关系型数据库管理系统RDBMS。
使用扩展的SQL语言Transact_SQL在客户机和服务器之间发送请求。客户机/服务器体系结构把整个任务划分为在客户机上完成的任务和在服务器上运行的任务:
客户机负责组织与用户的交互和显示数据;
服务器负责数据的存储和管理;
客户机向服务器发出操作请求;
服务器根据用户的请求处理数据,并把结果返回客户;
客户机负责界面描述和界面提示,向服务器提出处理请求,将服务器提供的数据经过商务逻辑处理之后,呈现给用户。因此,客户机/服务器体系结构是一种两层的体系结构。
一般情况下,定义客户机和服务器的依据是数据流向和操作分工。作为服务器,一般要从一个或多个PC系统接收命令和数据、处理数据,同时向多个PC发送数据和信息。因此,一般用性能较高的PC作为服务器,而用性能较低的PC作为客户机使用。
图2-1:SQL Server的使用模型
随着技术的进步,更多的层次被划分出来。目前,在Internet应用体系结构中,商务逻辑处理被单独划分为一层,作为Internet服务器。它对用户通过浏览器提交的表单进行分析,并得出对数据库服务器进行的查询,交给数据库服务器去执行并得到查询的结果,最后由Internet服务器用标准的HTML语言反馈回浏览器,称为B/S结构。
第二:和竞争者相比获得费用较低从任何角度来讲,SQL Server和它的竞争者相比都具有较低的总体获得费用。硬件费用、服务器和客户端的许可费用、开发费用和运作中的管理费用都较低。
第三:适合企业需要的可伸缩性
SQL Server被设计成为一个具有可伸缩性的产品,理从小型至大型的数据库。这使得SQL Server成为能适应任何规模的组织需求的全能数据库管理系统。
第四:对数据复制的支持
SQL Server具有自动数据复制的特点利用复制功能可以向远程站点中分发数据,可以平衡负载,还可以向数据集或数据仓库中复制数据。
SQL是我们访问数据库的一把钥匙,既可在VB,VC, PB等高级程序设计语言中使用,也可在WEB页面设计中使用,给程序开发人员对数据库进行操作带来了极大便利,在基于数据库的应用项目开发中起着重要作用。
第五:易于安装、部署和使用
SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。
3系统分析与设计
3.1需求分析
通过与超市人员的交流,发现超市管理系统需要满足来自多个不同用户的要求。在超市中,按照超市人员的职能大概分为两大类,分别是管理员、员工 (注册和非注册)。系统管理员的要求是掌握超市内部的所有业务,包括销售信息、进货信息、商品信息,具有超级用户的所有权限,对超市实行全面管理。员工的要求是查看所有销售信息,查看符合条件的销售信息以及增加销售单。本系统中顾客要求是可以现场买商品,如果顾客对商品不满意了的话还可以要求退货并且由相关人员进行退货登记。商品信息有商品名、编号、商品数量、商品的类型、商品的价格、商品厂商及出产地等属性;进货信息有采购编号、采购日期、商品厂商、采购员、商品的价格、商品规格、进货商品的数量等属性。通过与超市管理人员进行反复的讨论,确定系统应该实现以下功能:
(1)对商品信息的变动进行处理。在商品的进销存过程中,商品信息总是在不断变化的,比如商品价格的调整、商品信息的修改、新商品信息的增加以及商品信息的删除,因此设计系统时必须考虑到这些情况。
(2)对用户信息的变动进行处理。需考虑到新员工的注册和已注册用户的信息的修改及删除。
(3)对进货信息的变动进行处理。进货信息的过程中进货信息也在不断发生改变,因此也要充分考虑。
(4)查询及统计功能。要求可以根据指定的条件对商品信息、员工信息和进货信息、销售信息进行查询和统计。
3.2系统可行性分析
3.2.1技术可行性
根据上述系统功能的分析,下面将进行具体的实现。从技术角度分析,这项开发工作所涉及的专业技术为:技术平台(OperatingSystem,操作系统):Windows系列。虽然理论上对操作系统没做更具体的规定,但由于开发中涉及Microsoft SQLServer2000的应用,所以最好使用Windows 2000以上的版本或相应的Windows NT版本。开发所涉及的技术应用(Open Database Connectivity,开放式数据库连接标准):Java编程技术。
3.2.2经济可行性
采用计算机管理不但可以提高工作效率,而且还可以节省人力、物力、财力,这样原来几个人干的工作现在一个人就完全可以胜任。因此单从节省的职工工资、提高工作效率而避免各种直接或间接的经济损失角度来看,该系统实际所能够起到的作用将会远远大于投入的开发费用,所以从经济上是完全可行的。
3.2.3操作可行性
开发所采用的工具全是可视化工具,开发出的应用程序均是图形化界面,操作员几乎不用记住任何DOS命令就可以直接操作此软件。另外,软件的操作员大多已经会基本的Windows操作,即便不会操作Windows,经过短期的培训也能熟练地使用本软件,所以在操作上也是可行的。
3.3系统数据流程图
数据流程图(Data FlowDiagram,DFD)是系统逻辑结构最主要的组成部分,它反映出系统的主要功能、系统与外部环境间的输入输出、系统内部的处理、数据传送、数据存储等情况。根据系统需求分析的结果,可以制出超市管理系统的数据流程图,见图1~图3。
3.4数据字典
数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。针对超市管理系统的需求,通过对超市管理工作过程的内容和数据流程分析,设计如下所示的数据项和数据结构:
图1顶层数据流图341
图2顶层数据流图342
图3顶层数据流图343
商品信息数据项包括:编号、商品名、数量、商品厂家、商品价格、商
品的规格。
商品采购信息数据项包括:采购单据编号、采购商品信息、采购员
名、采购日期、订购单状态。
商品销售信息数据项包括:销售单编号、商品名称、商品的价格、数
量、销售日期、顾客名称。
用户信息数据项包括:用户编号、用户名称、用户密码、用户住址、用
户类型、用户性别、用户年龄。
3.5系统功能模块划分
根据软件工程原理,在做软件设计时将整个系统划分为若干个模块,模块划分的原则是要尽可能地提高模块的相对独立性,这样是为了提高系统的可维护性。根据系统分析现给出系统功能模块,见图4。
图4系统功能模块344
根据图4可以看出系统主要划分为仓库管理、财务管理、销售管理、
系统管理、采购管理、经理管理和顾客管理七大模块,而每一模块的具体
功能如下:
(1)仓库管理主要功能包括:商品信息的修改、商品价格的调整、商
品的删除、商品信息的统计,包含采购信息、销售信息、库存等。
(2)财务管理主要功能包括:销售金额统计、采购员支付金额统计、
利润估算。
(3)销售管理主要功能包括:销售信息的录入、销售信息的查询、对
顾客购买信息查询及金额统计、对每日销售额进行统计。
(4)系统管理主要功能包括:仓库管理、采购管理、销售管理、用户管
理、财务管理、经理管理、用户管理。
(5)采购管理主要功能包括:查询订购单、分项查询、采购商品信息
的录入、采购单状态的更改。
(6)经理管理主要功能包括:销售信息查询、采购信息查询、库存信
息查询。
(7)顾客管理主要功能包括:浏览所有商品、查询商品、购买商品。
4系统实现
系统实现图
由于此系统是一个典型的客户/服务器(C/S)体系结构的数据库应用程序,因此具体实现阶段主要分两大部分进行:数据库的实现和各种功能模块及页面的实现从运用的技术角度分析,即SQLServer部分的实现和Java部分的实现。下面,我们将从这两个方面对系统的实现进行阐述。
4.1数据库表的设计
为了方便数据库设计的需要,统一相同字段的数据类型,我们首先自定义了许多数据类型。其次,我们进行了如下的设计,通过编码来实现。如创建商品信息表:
CREATE TABLE [dbo].[goodInfo] (
[goodNo] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , //商品编号
[goodClassId] [int] NULL , //商品类别编号
[goodName] [nvarchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL, //商品名称
[goodUnit] [nvarchar] (2) COLLATE Chinese_PRC_CI_AS NULL , //商品单位
[goodModel] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , //商品型号
[goodSpecs] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL , //商品规格
[goodPrice] [float] NULL , //商品出售单价
[goodPlace] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,//商品生产地
[goodMemo] [char] (10) COLLATE Chinese_PRC_CI_AS NULL , //商品附加信息
[goodAddTime] [datetime] NULL //商品加入时间
) ON [PRIMARY]
以同样方法创建出管理员信息表、商品信息表、学历信息表、员工信息表、商品类别信息表、供应商信息表、商品进货信息表、进货退货信息表、销售信息表、员工销售业绩信息表、顾客退货信息表、商品库存信息表、购物车信息表。其中员工信息表包括员工编号(主键)、员工姓名、员工登陆密码、员工性别、员工生日、教育层次编号、家庭电话、移动电话、身份证号码、邮件地址、居住地点;商品信息表包括商品编号(主键)、商品类别编号、商品名称、商品单位、商品型号、商品规格、商品出售价、商品生产地、商品附加信息、商品加入时间; 管理员信息表包括管理员帐号、管理员密码;学历信息表包括学历层次编号、学历层次名称;员工信息表包括员工编号、员工姓名、员工登陆密码、员工性别、员工生日、教育层次编号 、家庭电话、移动电话、身份证号、邮件地址、居住地址;商品类别信息表包括商品类别编号、商品类别名称;商品信息表包括商品编号、商品类别编号、商品名称、商品单位、商品型号、商品规格、商品出售单价、商品生产地、商品附加信息、商品加入时间;供应商信息表包括供应商公司名称、供应商法人代表、供应商电话、供应商地址;商品进货信息表包括进货编号、商品编号、供应商公司名称、进货单价、进货数量、进货总价格、进货日期、信息加入时间;进货退货信息表包括系统记录编号、商品编号、供应商、退货单价、退货数量、退货总金额、退货日期、退货原因、退货信息录入时间;销售信息表包括系统记录编号、销售单据编号、商品编号、销售单价、销售数量、销售总价、销售时间、销售的员工编号;员工销售业绩信息表包括员工编号、员工姓名、销售金额;顾客退货信息表包括统记录编号、销售小票号、商品编号、退货单价、退货数量、退货总价、退货原因、退货时间;商品库存信息表包括商品编号、商品数量;购物车信息表包括系统记录编号、员工编号、商品编号、商品数量。创建了相应的表实体后,我们通过各个表实体之间关系,结合本系统全局E-R模式图迅速可以构造相应数据库,本系统全局E-R模式见图5。
图五全局E-R模式
4.2界面设计的实现
在界面设计时,所有的界面根层板的布局采用默认的布局(BorderLayout),在Content Pane板的CENTER位置上增加Jpanel板,然后将Jpanel板的布局设置为XYLayout,将所有JdbTabel放在Jpanel板的上北面,所有界面采用的风格为默认风格。后台使用数据库SQL SERVER2000,前台使用Java语言实现,前后台使用开放式数据库连接标准(Open Database Connectivity)进行连接。以上已经说明前台界面模块划分及其设计,在此不再介绍。
图六仓库管理界面
4.3系统开发环境
测试阶段的基本任务是根据软件开发各阶段的文档和程序的内部结构,设计有效的测试用例,利用这些用例执行程序,找出软件潜在的缺陷。
实验环境
CPU:Intel(R) Pentium(R)2 Dual CPU T2330 1.60GHZ
内存:2.00GB
操作系统:Microsoft Windows XP Professional 版本2002 Service Pack2
JDK:JDK1.6
TOMCAT服务器:Tomcat 6.0.1
开发软件:MyEclipse6.0
数据库管理系统:SQLServer2000
超市进销存管理系统
前台POS销售系统
后台管理系统
采购管理
财务管理
进货管理
销售管理
库存管理
人员管理
用户姓名
用户号
用户类型
用户
用户密码
用户ID
销售
销售日期
销售ID
供货商ID
商品ID
供货商名称
供货
供货商地址
供货商
商品
商品名称
供货日期
供货金额
供货商电话
价格
消费
购买日期
消费金额
PAGE
16
获取项目源文件,联系Q:1225467431,可指导其它毕设,课设

你可能感兴趣的:(基于jsp(java)超市管理系统的设计和开发(含源文件))