超市进销存管理系统论文.doc_第1页
超市进销存管理系统论文.doc_第2页
超市进销存管理系统论文.doc_第3页
超市进销存管理系统论文.doc_第4页
超市进销存管理系统论文.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要超市的日常管理工作往往是很复杂,很繁琐的,再加上管理的货物种类繁多,因此超市管理必须实现计算机化。超市进销存管理系统是用计算机对超市货物的库存和货物的进出进行管理的一种计算机应用技术,在计算机还未普及之前超市的库存管理都是由工作人员手工书写的方式来操作的,那样很容易出现差错而造成不必要的损失。现在一般的超市都采用计算机进行智能化管理,用计算机作为管理工具可以帮助管理员进行更有效、更快捷的超市库存管理工作。超市进销存管理系统是典型的管理信息系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用系统的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用系统功能完备、易使用等特点。超市进销存管理系统要实现的功能非常多,最重要的是对货物的管理,包括货物的买入(进货)、货物的卖出(销货)、货物的存储(库存)。本系统采用Java语言和SQL Server 2005数据库进行开发。利用Java语言进行设计,基本实现了对货物的管理工作,另外添加了一些很人性化的操作提示,例如用户可以通过点击帮助图标去查看帮助文档,里面附有详细的图表及文字说明。利用SQL Server 2005做后台数据库,不为数据量大所困,精密的权限控制,确保核心数据的万无一失。关键词:进销存管理;库存;MIS;数据库AbstractThe daily management work of supermarket is often very complex, very tedious, plus management categories of goods is numerous, therefore the supermarket management must realize computerized. The supermarket purchase-sell-stock management system is a technology with computer to manage goods, before computer has not been popular the inventory management is operated by staff manual in writing way, its easy to go wrong and can cause unnecessary losses. Now the general supermarkets use computer to manage, by using the computer as a management tool can help administrators more effectively and more efficient to manage the daily work of supermarket. Supermarket purchase-sell-stock management system is the typical information management system (MIS), its development mainly includes the setting and maintenance of database and the programming of the frontend application. The former required establish data consistency and integrality, data security good storehouse. For the latter requires a complete function of application program, easy to use, etc. Supermarket purchase-sell-stock management system can realize a lot of the functions, the most important of it is the management of goods, including goods purchase (stock), goods sell (sales), cargo storage (stock). Supermarket purchase-sell-stock management system mainly use the JAVA language and SQL Server 2005 database,first design the system use the JAVA language, basically achieved the management of goods and also achieved other functions,for example the help document. Use SQL Server 2005 database to operation the data, not for rapid and stable operation of large amount of data, precision trapped access control, ensure the safe of the core data.Key words : purchase-sell-stock managemant;stock;MIS;database目 录1 绪论11.1 研究背景11.2 研究意义11.3 可行性研究22 开发软件(技术)简介32.1 Java语言简介32.2 J2SE技术介绍32.3 工厂模式介绍32.4 JDBC简介32.5 开发环境及环境配置42.5.1 系统环境及Java环境配置42.5.2 C/S简介42.5.3 Eclipse简介52.5.4 数据库开发工具选择及配置52.5.5 对性能的一般规定62.5.6 其他专门要求62.5.7 对安全性的要求72.5.8 运行环境规定73 系统分析83.1 系统整体功能分析83.2 系统开发的特点83.3 系统需求分析94 数据库设计114.1 数据库的引入114.2 数据库概念设计E-R图124.2.1 实体与属性及实体之间的联系124.2.2 数据库的部分E-R图124.3 数据库的逻辑设计134.4 数据库的完整性和安全性154.4.1 数据库的完整性154.4.2 数据库的安全性165 详细设计175.1 设计思想175.2 设计语言185.3 数据库的连接195.4 系统设计215.4.1 商品管理功能模块215.4.2 进货管理功能模块255.4.3 销售管理功能模块255.4.4 库存管理功能模块265.4.5 员工管理功能模块275.4.6 登陆模块275.4.7 辅助模块306 总结32参考文献33致谢34附录351 绪论1.1 研究背景随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必不可少的。我国的超市在20世纪90年代初期形成,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着经济的快速发展,超市的经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售业的发展,这样就迫切地需要引入新的管理技术。超市形态具有种种优点,但在目前状况下,它仍存在零售业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。超市日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。超市进销存管理系统依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速对商品的进、销、存等状况和各种反馈信息进行分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。1.2 研究意义随着超市商品的大量增加,其管理难度越来越大。在计算机技术飞速发展的今天,将计算机这一信息处理器应用到超市的日常管理已是势在必然。于是,超市进销存管理系统便应运而生。这也为超市管理带来前所未有的改变,同时为企业带来意想不到的经济效益和社会效益。这主要体现在以下几个方面:(1) 极大的提高了超市工作人员的工作效率,避免了以往入出存流程繁琐、杂乱和周期长等弊端。(2) 超市进销存管理实现了操作自动化和信息电子化,全面提高了超市的管理水平。(3) 基于超市进销存管理的全面自动化,可以大大减少入库管理、出库管理及库存管理中的漏洞,可以节约大量管理开支,增加企业的收入。1.3 可行性研究 管理系统是一个信息化、智能化和先进管理理念的集合体。而管理是一个动态过程,在其运行过程中要采取多项措施。所以在管理中获得经济效益是一个综合效益,要对它进行直接定量的分析是比较困难的。一般新系统带来的经济效益是次要的,其最主要的表现就是减少了企业管理费用和人力开支。而其它一些繁琐的事务都通过新系统来加以分析解决,不仅节省了大量的时间,还为企业的各项决策提供了宝贵的资料,为企业带来巨大的经济效益。超市的管理基础工作和各项管理制度比较健全,执行严格,原始数据采集完整,保存良好。本系统开发仅需要计算机一台,系统本身对硬件和软件的要求都不高且系统兼容性很强,平台的移植性也很好。在外部条件上有同学的帮助,并且方便上网查找资料,同时还有老师的热心指导等,这也增加了我完成该系统的可能性。如今,各种进销存系统的开发已经相当成熟,出现了几大主流的开发语言和工具,都可以非常有效的支持开发这样一个系统。同时作为本系统,也有许多成功的进销存管理系统的经验可以借鉴,另外现在超市的经营者大多具备电脑基本操作知识,对于必要的专业操作经短期培训即可。所以从技术的角度来说,也是可行的。本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个超市管理系统采用最友好的交互界面,简洁明了,不需要对数据库进行深入的了解。综合以上方面的研究,无论是从经济上或者技术上还是操作上开发本系统都是可行的。2 开发软件(技术)简介2.1 Java语言简介Java语言是美国Sun公司于1995年推出的一种简单的、面向对象的、分布式的、可解释的、键壮的、安全的、结构的、中立的、可移植的、性能很优异的多线程的、动态的语言。其前身为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术。经过Sun公司的工程师的不懈努力以及全世界无数的编程爱好者的使用,Java终于发展成为今天这样一个集桌面(J2SE)、网络(J2EE)、移动平台(J2ME)应用为一体的功能强大的编程语言。目前Java由于其平台无关及分布式特性,最重要的应用是在网络应用上。2.2 J2SE技术介绍Java SE是Java平台标准版的简称(Java Platform, Standard Edition)(also known as Java 2 Platform) ,用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序。Java SE包括用于开发Java Web服务的类库,同时,Java SE为Java EE提供了基础。 Java SE(Java Platform, Standard Edition,Java标准版)就是基于JDK和JRE的。2.3 工厂模式介绍Java工厂模式主要分为三类:简单工厂模式、工厂方法模式和抽象工厂模式。这三种模式逐步抽象,并且更具一般性。工厂模式有三个参与者:抽象产品(Product)、工厂(Creator)和具体产品(ConcreteProduct)。工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a = new A(),工厂模式也是用来创建实例对象的,可能多做一些工作,但会给你的系统带来更大的可扩展性和尽量少的修改量,同时也减少了层之间的耦合性。2.4 JDBC简介JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。2.5 开发环境及环境配置2.5.1 系统环境及Java环境配置开发及测试的系统环境,我选择了Microsoft Windows XP。要开发C/S架构项目,首先必须要求有Java环境,我选择了jdk1.6.0_12。IDE工具则选择了Eclipse。各种软件和工具安装完成后,必须相应的配置Windows XP的系统环境变量。2.5.2 C/S简介C/S(Client/Server)即客户机/服务器,在客户机/服务器网络中,服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。使用计算机的人是计算机的“客户”(client),把运行服务器程序的机器称为server。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构。C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。C/S架构软件的优势与劣势如下:(1) 应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷轻。(2) 数据的存储管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用登陆后台数据库有一定的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限限制,编号不可以重复等必须有客户才能建立起来这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。(3) C/S架构的劣势是高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。2.5.3 Eclipse简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出新的编程语言插件。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。2.5.4 数据库开发工具选择及配置SQL Server 是一个关系数据库管理系统。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNIX 操作系统上的应SQL Server安装界面用。SQL Server 2005 通过在可伸缩性、数据集成、开发工具和强大的分析等方面的革新更好的确立了微软在BI领域的领导地位。SQL Server 2005 能够把关键的信息及时的传递到组织内员工的手中,从而实现了可伸缩的商业智能。从CEO 到信息工作者,员工可以快速的、容易的处理数据,以便更快更好的做出决策。SQL Server 2005全面的集成、分析和报表功能使企业能够提高他们已有的应用价值,即便这些应用是在不同的平台上。Microsoft SQL Server 2005是美国微软公司推出的使用相当广泛的数据库管理系统,包含一套图形工具,如服务器管理(用于启动和关闭数据库服务)、企业管理器(用于创建和修改数据库及备份数据库等)和查询分析器(用于交互执行Transact-SQL 语句和过程并提供图形查询分析功能)等。在高性能和企业级可伸缩性领域,SQL Server 2005 设计成利用 Windows 2003 对更多处理器、更大的系统内存的支持,最终达到支持 64 位硬件平台。在不断提升可用性的努力过程中,SQL Server 2005 采用 Windows 2003 四路群集,提供了大大改进的群集支持。SQL Server 7.0 已经在可管理性和易用性方面在行业内领先,SQL Server 2005 通过与 Windows 2003 活动目录紧密结合进一步改进了这些功能。而且,SQL Server 2005 还包含对现有管理工具和实用程序的重大改进,并引入更具自我调节和自我管理的引擎功能。SQL Server 2005 可以为大量的数据进行部署和维护,并且易于管理。在寻求一个支持超市进销存管理系统的数据库时,需要考虑的项目包括:可用性、性能、可管理性和价格。2.5.5 对性能的一般规定硬件服务器:硬件要求有一台可以满足日常工作的PC。2.5.6 其他专门要求超市进销存管理系统对数据库操作不是很频繁,可以使用SQL Server 2005、MYSQL、Oracle等做数据库服务器均可以满足用户的访问操作需求。2.5.7 对安全性的要求在配置服务器时会保障软、硬服务器的的相对安全性。超市进销存管理系统的使用者分为两种权限的级别(管理员和普通用户),在登陆系统时要验证用户的权限,根据不同的权限所能执行的操作是不同的,这样保证了后台数据的安全性。2.5.8 运行环境规定(1) 设备及分布处理器和内存:CPU P4以上/512M内存以上硬盘:80G硬盘以上 (2) 支撑软件操作系统版本:Windows2000/WindowsXP/Windows2k/WindowsNT/Linux/Unix数据库管理系统:服务器使用SQL Server 2005/ SQL Server 2008/MySql 3 系统分析在系统的开发前,首先要进行相应的系统分析,从中获得解决方案。本章就是先对系统的整体需求进行分析,然后在此基础上来划分系统的组成模块,完成系统的整体架构的设计。3.1 系统整体功能分析本系统根据其具体功能,设计其功能模块如图3-1所示。登陆界面主界面销售信息统计销售管理库存管理员工管理商品管理商品进货管理销售信息处理库存查询库存报警员工信息查询员工信息处理进货信息查询进货信息处理商品信息查询商品信息处理图3-1 系统功能模块图整个前台模块是本系统最重要的模块,它提供了超市管理平台的日常管理操作,可以满足普通用户和管理员对商品库存信息查询等的需求,而删除、修改信息则只有管理员权限操作,普通用户也不能进行用户管理操作。3.2 系统开发的特点本系统开发的目标是一个界面清晰、易理解、易使用的,能够满足用户对超市的日常管理工作。在以往系统开发经验的基础上,结合其他进销存管理系统的特点,对本系统应具有的功能特点总结如下:(1) 管理员可以对商品进行增删查改和对数据进行更新。(2) 具有很强的兼容性,可以在任何操作系统的电脑上使用。(3) 采用最新的编程技术,利用Java编程,使系统框架更完整,更容易更新。3.3 系统需求分析需求分析是对系统将要实现的功能的大致描述,能够把设计系统的基本思路都列出来,它在系统开发中起着重要的作用。下面分别介绍。(1) 销售管理功能模块此功能模块的主要功能是对商品销售信息进行管理。管理员可以借此更快的了解和掌握商品的销售信息。(2) 库存管理功能模块此功能模块可以帮助管理员进行商品库存的查看。管理员可以根据商品信息显示的颜色轻易的判断商品库存情况。 管理员还可以通过输入商品的编号进行有目的的查看商品库存信息。(3) 员工管理功能模块此功能模块主要是对可以使用此系统的用户进行管理,不同类别的用户权限不同。管理员可以查看、修改和删除具体某个员工的详细信息,而普通用户不可以进行此功能操作。(4) 商品进货管理功能模块此功能模块作用是:管理员可以进行商品进货信息进行查看、修改和删除,还可以对新增加的商品进行入库操作。(5) 商品管理功能模块此功能模块是对商品信息进行管理的,管理员可以通过输入商品编号或商品名称进行查询商品信息,还可以通过选择商品类别进行商品信息的查询,另外还可以对商品信息进行增加、删除和修改操作。(6) 报表导出功能模块此功能模块是方便超市管理人员对超市营业情况进行数据分析,可以把商品信息表、进货信息表和销售信息表进行导出,在Excel表格中更利于分析数据。(7) 登陆功能模块用户使用本系统要进行身份验证,验证成功后方可进入,系统登陆模块图如图3-2所示。登录界面用户密码是否正确是否进入主界面取消登录开始结束图3-2 管理员后台系统登陆流程图4 数据库设计4.1 数据库的引入数据库技术从60年代中期至今只有不到40年的历史,但其发展速度之快是其它技术所不及的。它已由第一代的层次型、网状型数据库,第二代的关系型数据库发展到今天以面向对象为主要模型的数据库,即第三代数据库。数据库技术和网络通信技术、面向对象编程技术、并行计算机技术、人工智能技术相互融合、相互渗透,促进了数据库技术的广泛应用。数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库应用程序。特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环境适应广泛,数据处理能力极强。数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。一个真正的、完整的系统是离不开数据库的,因为少量的数据,如角色类型等完全可以存储在文本文件中,但实际应用中,需要保存的数据远不止这一点点,而且这些数据之间往往还有关联,利用数据库来管理这些数据,可以很方便的查询和更新。可以说一个优秀的系统是离不开一个设计最优的数据库的。我们现在可以使用的数据库有很多种,如:Fox数据库(.dbf)、Access数据库(.mdb)、DB2、Informix、Oracle和SQL Server等等,在本次设计中,选择了SQL Server 2005作为后台数据库工具,因为它功能远比Access强大,又比Oracle、DB2数据库占资源少,并提供了许多标准的关系数据库管理功能的支持。4.2 数据库概念设计E-R图4.2.1 实体与属性及实体之间的联系E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。(1) 模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。(2) 属性是实体的性质。用椭圆框表示,与实体之间用一条线相连表的主码是关键属性。(3) 不同的实体集通过外键建立它们之间的联系。4.2.2 数据库的部分E-R图(1) 商品的实体图如下图4-1所示。商品编号商品名称商品数量商品单价商品类别进货日期商品建议零售价商品规格计量单位图4-1 商品实体图(2) 用户的实体图如下图4-2所示。用户编号用户名称用户密码角色编号用户QQ用户业绩备注用户图4-2 用户实体图(3) 销售单与用户之间的E-R图如下图4-3所示。销售单编号商品名称商品数量商品编号商品类别商品单位销售日期销售单管理用户密码用户名称用户编号角色编号用户用户QQ用户业绩备注图4-3 销售单与用户E-R图(4) 进货单的实体图如下图4-4所示进货单进货单编号商品名称商品编号商品数量进货日期商品单价进货人图4-4 进货单实体图4.3 数据库的逻辑设计根据上面的数据库概念设计,把相应的E-R图转化成与数据模型相符合的逻辑结构。本系统是以SQL Server 2005为后台数据库,在SQL Server 2005 上建立名为SuperMarket的数据库。其中包括以下表:t_Users, t_GoodsIn, t_Sale, t_Goods, t_Sort, t_Role。下面将具体介绍数据库中各个表的结构。用户表如表4-1所示。表4-1 用户表(t_Users)字段名称英文名字数据类型字段长度是否为空备注用户编号usersNoVarchar20否主键用户名称usersNameVarchar50否用户密码usersPwdchar否角色编号rolesNoint4否用户业绩usersGrademoney否用户QQusersQQvarchar50是备注remarkVarchar100是进货表如表4-2所示。表4-2 进货表(t_GoodsIn)字段名称英文名字数据类型字段长度是否为空备注进货单编号goodsInNoVarchar20否主键商品编号goodsNoVarchar20否商品名称goodNamevarchar50否商品数量goodsCountInt否商品单价goodPriceMoney否进货日期goodsInDateDatetime否进货人名称stockUserNamevarchar20否销售表如表4-3所示。表4-3 销售表(t_Sale)字段名称英文名字数据类型字段长度是否为空备注销售单编号salesNoVarchar20否主键商品编号goodsNoVarchar20否商品名称goodsNameVarchar50否商品类别goodsSortVarchar30否商品数量goodsCountInt否商品单价goodPriceMoney否用户编号usersNovarchar20否外键销售日期saleDateDatetime否类别表如表4-4所示。表4-3 类别表(t_Sort)字段名称英文名字数据类型字段长度是否为空备注类别编号sortNoVarchar20否主键类别名称sortNameVarchar50否角色表如表4-5所示。 表4-5 角色表(t_Roles)字段名称英文名字数据类型字段长度是否为空备注角色编号rolesNoint4否主键角色名称rolesNameVarchar50否角色描述rolesDescribeVarchar50是商品信息表如表4-6 所示。表4-6 商品表(t_Goods)字段名称英文名字数据类型字段长度是否为空备注商品编号goodsNoVarchar10否主键商品类别goodsSortVarchar20否商品名称goodsNameVarchar50否建议零售价retailPricemoney否计量单位unitchar否商品规格goodsStandardVarchar50是商品单价goodPriceMoney否商品数量goodsCountInt否进货日期goodsInDateDatetime否4.4 数据库的完整性和安全性4.4.1 数据库的完整性数据库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。本系统中通过定义表与表之间的外键联系有助于实现完整性规则,另外通过主键约束也实现了其完整性规则。4.4.2 数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。在数据库系统中,大量的数据集中存放,而且为许多用户直接共享,是宝贵的信息资源,系统的安全保护措施就显得更为重要,它保护数据库防止恶意的破坏和非法的存取。本系统采用鉴定用户的方法实现数据库的安全,在登录数据库时,系统让用户表示自己的身份,通过输入用户名和密码,系统进行核实,鉴别此用户员是否为合法用户,若是,系统进一步核实用户身份,通常要求用户选择角色,系统通过角色来鉴别用户身份,并且要选择正确的角色才允许用户登陆。5 详细设计5.1 设计思想常见的设计思想有两种:结构化和面向对象化,本系统采用的是面向对象的设计思想,下面简单介绍一下两者的不同以及面向对象程序设计的优点。传统的结构化开发过程包括软件目标的功能分解,以及使用正确的参数和返回值来创建函数。首先分析需求,确定功能,然后以函数的形式进行建模。在一个Java应用系统中很可能有上千个函数,这些函数能够不受限制的互相调用,因此在访问某个变量时,很难保证它不是正在被其他的函数访问或者修改。只使用Java代码而不使用任何Bean或自定义标记,在系统应用的规模比较小时还不会出现太多的问题,但是在应用的规模增大时就肯定会出现问题。这些代码也许能够满足功能上的需要,却不能达到非功能性的要求。在结构化开发方法面临问题的时候,使用面向对象的方法进行分析、设计和开发就可以解决一部分问题。面向对象的分析和设计方法源于现实生活中的模块化的思想。对象是提供一组相关功能的实体,对象之间互相作用从而完成一定的任务。开发方法包括对目标的模块化,以及用类的形式对数据和函数进行封装。面向对象方法主要有以下四个特征:(1) 抽象性抽象是对象建模参数的选择,这是进行分析后得到的结果。这意味着是由分析人员来选择一定的参数,以表示对象,这是对象模型化的第一步。(2) 封装性由于某些原因,类中的数据和方法不需要对其他的对象公开,我们可以将其隐藏在类的内部,这是对象模块化过程中很重要的一步。这个步骤将确保对象的行为以简单的接口出现,而复杂的执行过程都被隐藏了。比如,JavaBean就可以为Java开发人员提供一个简单的接口。(3) 继承性在一个现存对象的基础上创建一个新的对象,这个过程称为继承。这样我们可以不必重写所有的代码,只需在新对象中编写需要更新的代码就可以了。例如:IDAO里写的是接口,在DAO里要把IDAO里的方法全部重写,如果需要新的方法还可以增加。(4) 模块化为了减少独立工作小组之间的依赖性,软件系统中必须使用模块。比如,我们可以定义一个DAOFactory来处理应用程序的状态,这样做的优点是可以独立地对模块进行维护,这样就减少了代码之间的依赖性。5.2 设计语言针对超市超市进销存管理系统这个项目,在综合考虑了此项目的总体特点并对当前流行软件的实用性进行比较之后,我主要采用Java作为程序设计的开发语言。使用Java作为开发语言的主要原因在于利用Java技术可以建立健壮的、高性能的、安全的、跨平台的先进软件系统。Java技术在程序开发时的突出特点有以下几个:(1) Java语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。(2) Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。(3) Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。基于这些优点,从实际考虑,决定用Java作为开发语言来开发整个系统。5.3 数据库的连接在做数据库连接时,我使用的数据库是SQL Server 2005,数据库连接使用的是JDBC驱动,其中数据库名为:SuperMarket,用户名:sa ,密码为:sa ,端口为:1433 ,通过使用外部属性文件DB.properties存储数据库连接需要的参数,这样方便以后对数据库的更换操作。代码实现如下: driverName=com.microsoft.sqlserver.jdbc.SQLServerDriverdriverUrl=jdbc:sqlserver:/8:1433;DatabaseName=SuperMarketdriverUser=sadriverPswd=sa与数据库连接的部分代码如下:package com.supermarket.util;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.util.Properties;public class DBHelper private static String driverName = null;private static String driverUrl = null;private static String driverUser = null;private static String driverPswd = null;private static Connection con = null;staticProperties p = new Properties(); try p.load(new FileReader(DB.properties);driverName=p.getProperty(driverName);driverUrl=p.getProperty(driverUrl);driverUser=p.getProperty(driverUser);driverPswd=p.getProperty(driverPswd);Class.forName(driverName);con = DriverManager.getConnection(driverUrl,driverUser,driverPswd); catch (FileNotFoundException e) e.printStackTrace(); catch (IOException e) e.printStackTrace(); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();/获得数据库连接public static Connection getConnection()if(con!=null)return con;return null;/获得创建语句对象publ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论