![超市进销存管理系统论文12_第1页](http://file4.renrendoc.com/view/06b20ba5886f1f75db9a6cdc4461b8a9/06b20ba5886f1f75db9a6cdc4461b8a91.gif)
![超市进销存管理系统论文12_第2页](http://file4.renrendoc.com/view/06b20ba5886f1f75db9a6cdc4461b8a9/06b20ba5886f1f75db9a6cdc4461b8a92.gif)
![超市进销存管理系统论文12_第3页](http://file4.renrendoc.com/view/06b20ba5886f1f75db9a6cdc4461b8a9/06b20ba5886f1f75db9a6cdc4461b8a93.gif)
![超市进销存管理系统论文12_第4页](http://file4.renrendoc.com/view/06b20ba5886f1f75db9a6cdc4461b8a9/06b20ba5886f1f75db9a6cdc4461b8a94.gif)
![超市进销存管理系统论文12_第5页](http://file4.renrendoc.com/view/06b20ba5886f1f75db9a6cdc4461b8a9/06b20ba5886f1f75db9a6cdc4461b8a95.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要 III目 录TOC o 1-3 h z u HYPERLINK l _Toc382310860 1 绪论 PAGEREF _Toc382310860 h 1 HYPERLINK l _Toc382310861 1.1 研究背景 PAGEREF _Toc382310861 h 1 HYPERLINK l _Toc382310862 1.2 研究意义 PAGEREF _Toc382310862 h 1 HYPERLINK l _Toc382310863 1.3 可行性研究 PAGEREF _Toc382310863 h 2 HYPERLINK l _Toc382310864 2 开发软件(
2、技术)简介 PAGEREF _Toc382310864 h 3 HYPERLINK l _Toc382310865 2.1 Java语言简介 PAGEREF _Toc382310865 h 3 HYPERLINK l _Toc382310866 2.2 J2SE技术介绍 PAGEREF _Toc382310866 h 3 HYPERLINK l _Toc382310867 2.3 工厂模式介绍 PAGEREF _Toc382310867 h 3 HYPERLINK l _Toc382310868 2.4 JDBC简介 PAGEREF _Toc382310868 h 3 HYPERLINK l
3、_Toc382310869 2.5 开发环境及环境配置 PAGEREF _Toc382310869 h 4 HYPERLINK l _Toc382310870 2.5.1 系统环境及Java环境配置 PAGEREF _Toc382310870 h 4 HYPERLINK l _Toc382310871 2.5.2 C/S简介 PAGEREF _Toc382310871 h 4 HYPERLINK l _Toc382310872 2.5.3 MyEclipse简介 PAGEREF _Toc382310872 h 5 HYPERLINK l _Toc382310873 2.5.4 数据库开发工具选
4、择及配置 PAGEREF _Toc382310873 h 5 HYPERLINK l _Toc382310874 2.5.5 对性能的一般规定 PAGEREF _Toc382310874 h 6 HYPERLINK l _Toc382310875 2.5.6 其他专门要求 PAGEREF _Toc382310875 h 6 HYPERLINK l _Toc382310876 2.5.7 对安全性的要求 PAGEREF _Toc382310876 h 6 HYPERLINK l _Toc382310877 2.5.8 运行环境规定 PAGEREF _Toc382310877 h 6 HYPERL
5、INK l _Toc382310878 3 系统分析 PAGEREF _Toc382310878 h 8 HYPERLINK l _Toc382310879 3.1 系统整体功能分析 PAGEREF _Toc382310879 h 8 HYPERLINK l _Toc382310880 3.2 系统开发的特点 PAGEREF _Toc382310880 h 8 HYPERLINK l _Toc382310881 3.3 系统需求分析 PAGEREF _Toc382310881 h 9 HYPERLINK l _Toc382310882 4 数据库设计 PAGEREF _Toc382310882
6、 h 11 HYPERLINK l _Toc382310883 4.1 数据库的引入 PAGEREF _Toc382310883 h 11 HYPERLINK l _Toc382310884 4.2 数据库概念设计E-R图 PAGEREF _Toc382310884 h 12 HYPERLINK l _Toc382310885 4.2.1 实体与属性及实体之间的联系 PAGEREF _Toc382310885 h 12 HYPERLINK l _Toc382310886 4.2.2 数据库的部分E-R图 PAGEREF _Toc382310886 h 12 HYPERLINK l _Toc38
7、2310887 4.3 数据库的逻辑设计 PAGEREF _Toc382310887 h 13 HYPERLINK l _Toc382310888 4.4 数据库的完整性和安全性 PAGEREF _Toc382310888 h 15 HYPERLINK l _Toc382310889 4.4.1 数据库的完整性 PAGEREF _Toc382310889 h 15 HYPERLINK l _Toc382310890 4.4.2 数据库的安全性 PAGEREF _Toc382310890 h 16 HYPERLINK l _Toc382310891 5 详细设计 PAGEREF _Toc3823
8、10891 h 17 HYPERLINK l _Toc382310892 5.1 设计思想 PAGEREF _Toc382310892 h 17 HYPERLINK l _Toc382310893 5.2 设计语言 PAGEREF _Toc382310893 h 18 HYPERLINK l _Toc382310894 5.3 数据库的连接 PAGEREF _Toc382310894 h 19 HYPERLINK l _Toc382310895 5.4 系统设计 PAGEREF _Toc382310895 h 21 HYPERLINK l _Toc382310896 5.4.1 销售管理功能模
9、块 PAGEREF _Toc382310896 h 22 HYPERLINK l _Toc382310897 5.4.2 采购管理功能模块 PAGEREF _Toc382310897 h 24 HYPERLINK l _Toc382310898 5.4.3 仓库盘点功能模块 PAGEREF _Toc382310898 h 26 HYPERLINK l _Toc382310899 5.4.4 利润分析功能模块 PAGEREF _Toc382310899 h 28 HYPERLINK l _Toc382310900 5.4.5 登陆模块 PAGEREF _Toc382310900 h 28 HYP
10、ERLINK l _Toc382310901 5.4.6 员工管理功能模块 PAGEREF _Toc382310901 h 31 HYPERLINK l _Toc382310902 5.4.7 辅助模块 PAGEREF _Toc382310902 h 31 HYPERLINK l _Toc382310903 6 总结 PAGEREF _Toc382310903 h 32 HYPERLINK l _Toc382310904 综上所述,此系统能够完成预定功能,具有一定的安全性和健壮性,符合预期目标。 PAGEREF _Toc382310904 h 32 HYPERLINK l _Toc382310
11、905 参考文献 PAGEREF _Toc382310905 h 33 HYPERLINK l _Toc382310906 致谢 PAGEREF _Toc382310906 h 34绪 论PAGE 41 绪论1.1 研究背景随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源
12、管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必不可少的。我国的超市在20世纪90年代初期形成,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着经济的快速发展,超市的经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售业的发展,这样就迫切地需要引入新的管理技术。超市形态具有种种优点,但在目前状况下,它仍存在零售业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏
13、实时分析功能,管理人员对及时传递资料的要求始终得不到满足。超市日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。超市进销存管理系统依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速对商品的进、销、存等状况和各种反馈信息进行分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。1.2 研究意义随着超市商品的大量增加,其管理难度越来越大。在计算机技术飞速发展的今天,将计算机这一信息处理器应用到超市的日常管理已是势在必然。于是,超市进销存管理系统便应运而生。这也为
14、超市管理带来前所未有的改变,同时为企业带来意想不到的经济效益和社会效益。这主要体现在以下几个方面: 极大的提高了超市工作人员的工作效率,避免了以往入出存流程繁琐、杂乱和周期长等弊端。 超市进销存管理实现了操作自动化和信息电子化,全面提高了超市的管理水平。 基于超市进销存管理的全面自动化,可以大大减少入库管理、出库管理及库存管理中的漏洞,可以节约大量管理开支,增加企业的收入。1.3可行性研究管理系统是一个信息化、智能化和先进管理理念的集合体。而管理是一个动态过程,在其运行过程中要采取多项措施。所以在管理中获得经济效益是一个综合效益,要对它进行直接定量的分析是比较困难的。一般新系统带来的经济效益是
15、次要的,其最主要的表现就是减少了企业管理费用和人力开支。而其它一些繁琐的事务都通过新系统来加以分析解决,不仅节省了大量的时间,还为企业的各项决策提供了宝贵的资料,为企业带来巨大的经济效益。超市的管理基础工作和各项管理制度比较健全,执行严格,原始数据采集完整,保存良好。本系统开发仅需要计算机一台,系统本身对硬件和软件的要求都不高且系统兼容性很强,平台的移植性也很好。在外部条件上有同学的帮助,并且方便上网查找资料,同时还有老师的热心指导等,这也增加了我完成该系统的可能性。如今,各种进销存系统的开发已经相当成熟,出现了几大主流的开发语言和工具,都可以非常有效的支持开发这样一个系统。同时作为本系统,也
16、有许多成功的进销存管理系统的经验可以借鉴,另外现在超市的经营者大多具备电脑基本操作知识,对于必要的专业操作经短期培训即可。所以从技术的角度来说,也是可行的。本系统采用基于Windows的图形用户界面,而该系统是大家熟悉的操作系统,对于那些有一般的计算机知识的人员就可以轻松上手。而整个超市管理系统采用最友好的交互界面,简洁明了,不需要对数据库进行深入的了解。综合以上方面的研究,无论是从经济上或者技术上还是操作上开发本系统都是可行的。开发软件(技术)简介PAGE 11需求分析PAGE 42 开发软件(技术)简介2.1 Java语言简介Java语言是美国Sun公司于1995年推出的一种简单的、面向对
17、象的、分布式的、可解释的、键壮的、安全的、结构的、中立的、可移植的、性能很优异的多线程的、动态的语言。其前身为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术。经过Sun公司的工程师的不懈努力以及全世界无数的编程爱好者的使用,Java终于发展成为今天这样一个集桌面(J2SE)、网络(J2EE)、移动平台(J2ME)应用为一体的功能强大的编程语言。目前Java由于其平台无关及分布式特性,最重要的应用是在网络应用上。2.2 J2SE技术介绍Java SE是Java平台标准版的简称(Java Platform, Standard E
18、dition)(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)和具体产品(Concre
19、teProduct)。工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a = new A(),工厂模式也是用来创建实例对象的,可能多做一些工作,但会给你的系统带来更大的可扩展性和尽量少的修改量,同时也减少了层之间的耦合性。2.4 JDBC简介 HYPERLINK /view/25611.htm JDBC(Java Database Connectivity)提供连接各种关系 HYPERLINK /view/1088.htm 数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标
20、准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。MIS HYPERLINK /view/315045.htm 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同 HYPERLINK /view/68446.htm 数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到 HYPERLINK /view/899.htm 服务器上,随后任何人就都
21、可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。2.5 开发环境及环境配置2.5.1 系统环境及Java环境配置开发及测试的系统环境,我选择了Microsoft Windows XP。要开发C/S架构项目,首先必须要求有Java环境,我选择了jdk1.6.0_12。IDE工具则选择了Eclipse。各种软件和工具安装完成后,必须相应的配置Windows XP的系统环境变量。2.5.2C/S简介C/S( HYPERLINK /view/83263.htm Client/Server)即客户机/服务器,在客户机/服务器网络中,服务
22、器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的 HYPERLINK /view/21050.htm 网络资源,而服务器为客户机提供网络必须的资源。这里客户和服务器都是指通信中所涉及的两个应用进程( HYPERLINK /view/37.htm 软件)。使用计算机的人是计算机的“客户”(client),把运行服务器程序的机器称为server。它是软件 HYPERLINK /view/3928625.htm 系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client端和Server端来实现,降低了系统的通讯开销。目前大多数 HYPERLINK /view
23、/7886.htm 应用软件系统都是Client/Server形式的两层结构。C/S结构的优点是能充分发挥 HYPERLINK /view/930.htm 客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。C/S架构软件的优势与劣势如下:应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和 HYPERLINK /view/32944.htm 数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行
24、在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷轻。数据的存储管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用登陆后台数据库有一定的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限限制,编号不可以重复等必须有客户才能建立起来这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的
25、过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。C/S架构的劣势是高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的 HYPERLINK /view/3189918.htm 数据同步完全交由 HYPERLINK /view/7809.htm 数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,管理工作人员既要对服务器维护管理,又要
26、对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。2.5.3MyEclipse简介MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。2.5.4数据库开发工具选择及配置Oracle数据
27、库系统最早于1979年推出。1984年完成Oracle PC版。1997年发布Oracle8, 1999年推出Oracle8i。2001年,Oracle公司在Oracle8i数据库的基础上推出了新一代基于Internet电子商务构架的网络数据库解决方案Oracle9i。Oracle9i中的“i”是什么意思呢?Oracle将自己置身于Internet计算模型,这里的i其实可以简单理解成支持Internet。Oracle9i数据库服务器在群集技术、高可用性、商业智能、安全性、系统管理等方面都实现了新的突破,成为较完整的Internet数据库之一。Oracle9i应用服务器是Oracle Inter
28、net平台的一个重要组成部分,它同数据库服务器和开发工具套件结合在一起,为创建、提交和管理Internet应用提供了所需要的一切。Oracle9i开发工具套件紧密地同数据库服务器和应用服务器集成为一体,提供了一套完整的集成开发工具,使开发人员能够轻易、快速地创建Internet应用程序。主要包含三大类的软件:数据库服务器、应用服务器和开发工具套件。数据库服务器(Oracle 9i)包括企业版、标准版本和个人版本。企业版主要用于构建安全的、可靠的、大容量的互联网应用和数据仓库,面向企业级的应用;标准版本提供了能够通过Web浏览器进行管理的高性能数据服务,面向部门级应用;个人版是Oracle9i全
29、功能的单用户版本,面向开发技术人员。Oracle 9i应用服务器包括企业版和标准版。企业版主要用于构建互联网应用,可以用无线功能的组件进行功能扩充,面向企业应用;标准版,建立面向部门级的Web应用。开发工具套件主要包括一些开发的辅助工具。比如:JDeveloper、Report Developer和Sql *Plus等工具。2.5.5对性能的一般规定硬件服务器:硬件要求有一台可以满足日常工作的PC。2.5.6其他专门要求超市进销存管理系统对数据库操作不是很频繁,可以使用SQLServer2005、MYSQL、Oracle 10g等做数据库服务器均可以满足用户的访问操作需求。2.5.7 对安全性
30、的要求在配置服务器时会保障软、硬服务器的的相对安全性。超市进销存管理系统的使用者分为两种权限的级别(管理员和普通用户),在登陆系统时要验证用户的权限,根据不同的权限所能执行的操作是不同的,这样保证了后台数据的安全性。2.5.8运行环境规定设备及分布处理器和内存:CPU P4以上/512M内存以上硬盘:80G硬盘以上支撑软件操作系统版本:Windows2000/WindowsXP/Windows2k/WindowsNT/Linux/Unix数据库管理系统:服务器使用Oracle 10g/SQL Server 2005/SQL Server 2008/MySql系统分析3 系统分析在系统的开发前,
31、首先要进行相应的系统分析,从中获得解决方案。本章就是先对系统的整体需求进行分析,然后在此基础上来划分系统的组成模块,完成系统的整体架构的设计。3.1系统整体功能分析本系统根据其具体功能,设计其功能模块如图3-1所示。登陆界面登陆界面主界面商品浏览售出销售管理采购管理仓库管理员工管理利润分析管理销售查询采购记录查询种类厂商管理盘点信息查询查看仓库盘点查看分析记录商品分析员工显示修改员工添加图3-1 系统功能模块图整个前台模块是本系统最重要的模块,它提供了超市管理平台的日常管理操作,可以满足普通用户和管理员对商品库存信息查询等的需求,而删除、修改信息则只有管理员权限操作,普通用户也不能进行用户管理
32、操作。3.2 系统开发的特点本系统开发的目标是一个界面清晰、易理解、易使用的,能够满足用户对超市的日常管理工作。在以往系统开发经验的基础上,结合其他进销存管理系统的特点,对本系统应具有的功能特点总结如下:管理员可以对商品进行增删查改和对数据进行更新。具有很强的兼容性,可以在任何操作系统的电脑上使用。采用最新的编程技术,利用Java编程,使系统框架更完整,更容易更新。3.3 系统需求分析需求分析是对系统将要实现的功能的大致描述,能够把设计系统的基本思路都列出来,它在系统开发中起着重要的作用。下面分别介绍。销售管理功能模块此功能模块的主要功能是对商品销售信息进行管理。管理员可以借此更快的了解和掌握
33、商品的销售信息。库存管理功能模块此功能模块可以帮助管理员进行商品库存的查看。管理员可以根据商品信息显示的颜色轻易的判断商品库存情况。 管理员还可以通过输入商品的编号进行有目的的查看商品库存信息。员工管理功能模块此功能模块主要是对可以使用此系统的用户进行管理,不同类别的用户权限不同。管理员可以查看、修改和删除具体某个员工的详细信息,而普通用户不可以进行此功能操作。商品进货管理功能模块此功能模块作用是:管理员可以进行商品进货信息进行查看、修改和删除,还可以对新增加的商品进行入库操作。商品管理功能模块此功能模块是对商品信息进行管理的,管理员可以通过输入商品编号或商品名称进行查询商品信息,还可以通过选
34、择商品类别进行商品信息的查询,另外还可以对商品信息进行增加、删除和修改操作。报表导出功能模块此功能模块是方便超市管理人员对超市营业情况进行数据分析,可以把商品信息表、进货信息表和销售信息表进行导出,在Excel表格中更利于分析数据。登陆功能模块用户使用本系统要进行身份验证,验证成功后方可进入,系统登陆模块图如图3-2所示。登录界面登录界面用户密码是否正确是否进入主界面取消登录开始结束图3-2 管理员后台系统登陆流程图数据库设计PAGE 44概要设计PAGE 84 数据库设计4.1 数据库的引入数据库技术从60年代中期至今只有不到40年的历史,但其发展速度之快是其它技术所不及的。它已由第一代的层
35、次型、网状型数据库,第二代的关系型数据库发展到今天以面向对象为主要模型的数据库,即第三代数据库。数据库技术和网络通信技术、面向对象编程技术、并行计算机技术、人工智能技术相互融合、相互渗透,促进了数据库技术的广泛应用。数据库(Database),是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手段,使用户易于编写有关数据库应用程序。特别是近年来推出的计算机关系数据库管理系统,操作直观,使用灵活,编程方便,功能强大,环
36、境适应广泛,数据处理能力极强。数据库的设计是指对一个给定的应用环境,构造数据库模式,建立数据库及其应用系统,满足各种用户需求。作为信息资源开发、管理和服务的一种有效的手段,数据库技术的应用已越来越广泛,从小型的单项事务处理系统到大型的信息系统大都用先进的数据库技术来保持系统数据的安全性、完整性和共享性。对一个实际的系统来说,数据库表的设计在遵循数据库理论的同时,必须能用开发工具来实现用户在各方面提出的功能要求。一个真正的、完整的系统是离不开数据库的,因为少量的数据,如角色类型等完全可以存储在文本文件中,但实际应用中,需要保存的数据远不止这一点点,而且这些数据之间往往还有关联,利用数据库来管理这
37、些数据,可以很方便的查询和更新。可以说一个优秀的系统是离不开一个设计最优的数据库的。我们现在可以使用的数据库有很多种,如:Fox数据库(.dbf)、Access数据库(.mdb)、DB2、Informix、Oracle和SQLServer等等,在本次设计中,选择了Oracle 10g作为后台数据库工具,因为它功能远比Access强大,又比SQLServer 2005、DB2数据库占资源少,并提供了许多标准的关系数据库管理功能的支持。4.2 数据库概念设计E-R图4.2.1 实体与属性及实体之间的联系E-R模型的组成元素有:实体、属性、联系。E-R模型用E-R图表示。实体是用户工作环境中所涉及的
38、事务,属性是对实体特征的描述。模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。实体用矩形框表示,实体名称标注在矩形框内。用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。属性是实体的性质。用椭圆框表示,与实体之间用一条线相连表的主码是关键属性。不同的实体集通过外键建立它们之间的联系。4.2.2 数据库的部分E-R图商品的实体图如下图4-1所示。商品编号商品编号商品名称商品数量商品单价商品类别进货日期商品建议零售价商品规格计量单位图4-1商品实体图用户的实体图如下图4-2所示。用户编号用户编号用户名称用户密码角色编号用户QQ用
39、户业绩备注用户图4-2用户实体图销售单与用户之间的E-R图如下图4-3所示。销售单编号销售单编号商品名称商品数量商品编号商品类别商品单位销售日期销售单管理用户密码用户名称用户编号角色编号用户用户QQ用户业绩备注图4-3销售单与用户E-R图进货单的实体图如下图4-4所示进货单进货单进货单编号商品名称商品编号商品数量进货日期商品单价进货人图4-4 进货单实体图4.3 数据库的逻辑设计根据上面的数据库概念设计,把相应的E-R图转化成与数据模型相符合的逻辑结构。本系统是以Oracl 10g为后台数据库,在Oracl 10g 上建立名为SuperMarket的数据库。其中包括以下表:T_CHECK,T_
40、FIRM,T_FIRMGOODS,T_GOODS,T_KIND, T_MONEY,T_PURCHASE, T_RESERVE,T_SELL, T_USER。下面将具体介绍数据库中各个表的结构。用户表如表4-1所示。表4-1 用户表(t_Users)字段名称英文名字数据类型字段长度是否为空备注用户编号usersNoVarchar20否主键用户名称usersNameVarchar50否用户密码usersPwdchar否角色编号rolesNoint4否用户业绩usersGrademoney否用户QQusersQQvarchar50是备注remarkVarchar100是进货表如表4-2所示。表4-2
41、进货表(t_GoodsIn)字段名称英文名字数据类型字段长度是否为空备注进货单编号goodsInNoVarchar20否主键商品编号goodsNoVarchar20否商品名称goodNamevarchar50否商品数量goodsCountInt否商品单价goodPriceMoney否进货日期goodsInDateDatetime否进货人名称stockUserNamevarchar20否销售表如表4-3所示。表4-3销售表(t_Sale)字段名称英文名字数据类型字段长度是否为空备注销售单编号salesNoVarchar20否主键商品编号goodsNoVarchar20否商品名称goodsName
42、Varchar50否商品类别goodsSortVarchar30否商品数量goodsCountInt否商品单价goodPriceMoney否用户编号usersNovarchar20否外键销售日期saleDateDatetime否类别表如表4-4所示。表4-3 类别表(t_Sort)字段名称英文名字数据类型字段长度是否为空备注类别编号sortNoVarchar20否主键类别名称sortNameVarchar50否角色表如表4-5所示。表4-5 角色表(t_Roles)字段名称英文名字数据类型字段长度是否为空备注角色编号rolesNoint4否主键角色名称rolesNameVarchar50否角色
43、描述rolesDescribeVarchar50是商品信息表如表4-6 所示。表4-6 商品表(t_Goods)字段名称英文名字数据类型字段长度是否为空备注商品编号goodsNoVarchar10否主键商品类别goodsSortVarchar20否商品名称goodsNameVarchar50否建议零售价retailPricemoney否计量单位unitchar否商品规格goodsStandardVarchar50是商品单价goodPriceMoney否商品数量goodsCountInt否进货日期goodsInDateDatetime否4.4 数据库的完整性和安全性4.4.1 数据库的完整性数据
44、库的完整性是指数据的正确性和相容性。数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。本系统中通过定义表与表之间的外键联系有助于实现完整性规则,另外通过主键约束也实现了其完整性规则。4.4.2 数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。在数据库系统中,大量的数据集中存放,而且为许多用户直接共享,是宝贵的信息资源,系统的安全保护措施就显得更为重要,它保护数据库防止恶意的破坏和非法的存取。本系统采用鉴定用户的方法实现数据库的安全,在登录数据库时,系统
45、让用户表示自己的身份,通过输入用户名和密码,系统进行核实,鉴别此用户员是否为合法用户,若是,系统进一步核实用户身份,通常要求用户选择角色,系统通过角色来鉴别用户身份,并且要选择正确的角色才允许用户登陆。参考文献参考文献PAGE 355 详细设计5.1 设计思想常见的设计思想有两种:结构化和面向对象化,本系统采用的是面向对象的设计思想,下面简单介绍一下两者的不同以及面向对象程序设计的优点。传统的结构化开发过程包括软件目标的功能分解,以及使用正确的参数和返回值来创建函数。首先分析需求,确定功能,然后以函数的形式进行建模。在一个Java应用系统中很可能有上千个函数,这些函数能够不受限制的互相调用,因
46、此在访问某个变量时,很难保证它不是正在被其他的函数访问或者修改。只使用Java代码而不使用任何Bean或自定义标记,在系统应用的规模比较小时还不会出现太多的问题,但是在应用的规模增大时就肯定会出现问题。这些代码也许能够满足功能上的需要,却不能达到非功能性的要求。在结构化开发方法面临问题的时候,使用面向对象的方法进行分析、设计和开发就可以解决一部分问题。面向对象的分析和设计方法源于现实生活中的模块化的思想。对象是提供一组相关功能的实体,对象之间互相作用从而完成一定的任务。开发方法包括对目标的模块化,以及用类的形式对数据和函数进行封装。面向对象方法主要有以下四个特征:抽象性抽象是对象建模参数的选择
47、,这是进行分析后得到的结果。这意味着是由分析人员来选择一定的参数,以表示对象,这是对象模型化的第一步。封装性由于某些原因,类中的数据和方法不需要对其他的对象公开,我们可以将其隐藏在类的内部,这是对象模块化过程中很重要的一步。这个步骤将确保对象的行为以简单的接口出现,而复杂的执行过程都被隐藏了。比如,JavaBean就可以为Java开发人员提供一个简单的接口。继承性在一个现存对象的基础上创建一个新的对象,这个过程称为继承。这样我们可以不必重写所有的代码,只需在新对象中编写需要更新的代码就可以了。例如:IDAO里写的是接口,在DAO里要把IDAO里的方法全部重写,如果需要新的方法还可以增加。模块化
48、为了减少独立工作小组之间的依赖性,软件系统中必须使用模块。比如,我们可以定义一个DAOFactory来处理应用程序的状态,这样做的优点是可以独立地对模块进行维护,这样就减少了代码之间的依赖性。5.2 设计语言针对超市超市进销存管理系统这个项目,在综合考虑了此项目的总体特点并对当前流行软件的实用性进行比较之后,我主要采用Java作为程序设计的开发语言。使用Java作为开发语言的主要原因在于利用Java技术可以建立健壮的、高性能的、安全的、跨平台的先进软件系统。Java技术在程序开发时的突出特点有以下几个:Java语言是简单的。Java语言的语法与C语言和C+语言很接近,使得大多数 HYPERLI
49、NK /view/39175.htm 程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的 HYPERLINK /view/2886403.htm 强制类型转换。特别地,Java语言不使用 HYPERLINK /view/159417.htm 指针,并提供了自动的废料收集,使得程序员不必为 HYPERLINK /view/4541016.htm 内存管理而担忧。Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现
50、机制( HYPERLINK /view/390935.htm 关键字为implements)。Java语言全面支持动态绑定,而C+ 语言只对 HYPERLINK /view/161302.htm 虚函数使用动态绑定。总之,Java语言是一个纯的 HYPERLINK /view/249254.htm 面向对象程序设计语言。Java语言是健壮的。Java的 HYPERLINK /view/1792102.htm 强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。Java语言的优良特性使得Java应用
51、具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及 HYPERLINK /view/2622737.htm 电子商务应用系统提供了有关技术和丰富的类库。基于这些优点,从实际考虑,决定用Java作为开发语言来开发整个系统。5.3 数据库的连接在做数据库连接时,我使用的数据库是Oracle 10g,数据库连接使用
52、的是JDBC驱动,其中数据库名为:superMarket,用户名:changbao ,密码为:changbao ,端口为:1521 ,通过使用外部属性文件context.xml存储数据库连接需要的参数,这样方便以后对数据库的更换操作。代码实现如下: name=jdbc/oracle auth=Container type=javax.sql.DataSource driverClassName=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:localhost:1521:orcl username=scott password=orcl
53、 maxIdle=5 maxWait=5000 maxActive=10 与数据库连接的部分代码如下: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.SQL
54、Exception;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
55、.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 (FileNotFoundExcep
56、tion 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;/获得创建语句对象public static PreparedStatement getPs(
57、Connection con,String sql)PreparedStatement ps = null;try ps = con.prepareStatement(sql); catch (SQLException e) e.printStackTrace();return ps;/关闭连接,释放资源publicvoid close() try con.close(); catch (SQLException e) e.printStackTrace();5.4 系统设计前台客户使用的主页面一共由五个子页面构成:商品管理(GoodsUi)、进货管理(GoodsInMainFrame)、销售
58、管理 (SaleUi)、库存管理(StockUi)、员工管理(UsersUi),另外还有四个辅助功能模块,分别是:返回主页面、报表导出、用户切换和帮助。前台主页面如图5-1所示。图5-1 主界面图5.4.1销售管理功能模块销售管理功能模块的作用是对新进的商品浏览|售出|退货、销售查询、商品的标价。其运行界面如图5-2所示图5-2 商品管理主界面图点击“添加商品信息”按钮即可弹出界面如图5-3所示。图5-3 添加商品信息界面图更改商品信息界面如图5-4所示。图5-4 更改商品信息界面图实现商品管理功能的Java部分代码如下所示:private JButton getJButton_add() i
59、f (jButton_add = null) jButton_add = new JButton();jButton_add.setBounds(new Rectangle(157, 542, 112, 29);jButton_add.setText(添加商品信息);jButton_add.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) new AddGoods(null,true).setVisible(true);)
60、;return jButton_add;private JButton getJButton_update() if (jButton_update = null) jButton_update = new JButton();jButton_update.setBounds(new Rectangle(460, 542, 112, 29);jButton_update.setText(更改商品信息);jButton_update.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全球及中国石油和天然气行业用有机缓蚀剂行业头部企业市场占有率及排名调研报告
- 2025-2030全球桶形立铣刀行业调研及趋势分析报告
- 2025-2030全球轮胎式破碎机行业调研及趋势分析报告
- 2025-2030全球履带调节器行业调研及趋势分析报告
- 2025企业管理资料出国劳务居间合同有资质文档范本
- 临时聘用教师合同
- 2025新版工程合同样式
- 露天场地出租合同范本
- 日用品购销的合同范本
- 2025正规专业工程承包合同范本
- 安全生产网格员培训
- 小学数学分数四则混合运算300题带答案
- 林下野鸡养殖建设项目可行性研究报告
- 心肺复苏术课件2024新版
- 2024年内蒙古呼和浩特市中考文科综合试题卷(含答案)
- 大型商场招商招租方案(2篇)
- 2024年山东泰安市泰山财金投资集团有限公司招聘笔试参考题库含答案解析
- 医保按病种分值付费(DIP)院内培训
- 近五年重庆中考物理试题及答案2023
- 全科医医师的临床诊疗思维
- (七圣)七圣娘娘签诗
评论
0/150
提交评论