




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
装订线安徽工业大学工商学院 毕业设计(论文)说明书摘 要由于超市行业的竞争越来越强,超市规模的发展不断扩大,商品数量和种类急剧增加,有关商品的信息量也随之增长。超市随时都需要对商品各种信息进行统计分析。超市销售管理系统是基于j2ee的技术架构,使用jsp构建动态网页和servlet组件,使用tomcat作为web服务器, 用jdbc连接的mysql数据库作为存储对象,在设计和完成的过程中加深对数据库查询方法的理解,也进一步的了解mvc的设计模式。系统主要实现的功能:管理员信息的管理、销售管理、员工管理、供应商管理。通过上述功能实现对进货、销售及员工等基本的信息采集和处理,辅助提高超市的决策水平;使用该系统,可以提升超市的管理水平和运作效率,降低经营成本, 提高管理人员的效益,增强超市扩张力。关键词: j2ee;servlet;jsp;mysql;销售管理abstractwith the competition between supermarkets becoming stronger and stronger, supermarkets themselves becoming larger and larger, and the quantity as well as the varieties of merchandise increasing sharply, the quantity of information about merchandise is becoming larger, too. the supermarket needs to be ready to make statistical analysis of all the information about the merchandise all the time. this system is based on the technological architecture of java 2 platform enterprise edition, use of jsp construction of dynamic pages and servlet as its components,using tomcat as a web server, using the mysql database as a storage object and visiting to the database are through module jdbc link, in the design and complete the process of deepening the understanding of the database query methods, but also a better understanding of the mvc design pattern.the system compromises the following modules: user right management, sales management, staff management and supplier management, hence managing the recording and inquiring of the information about purchases, sales and employees. supermarkets may make better decisions by collecting and processing some basic information. through this system, the management and operational efficiency can be improved, the operating cost can be reduced, the efficiency of the staff members can be promoted and the supermarkets expandability can become stronger.key words: j2ee;servlet;jsp;mysql;sales management ii 目录1绪论12开发环境及开发工具的介绍22.1关于web22.2j2ee的优势22.3jsp语言和html语言32.4关于servlet32.5mysql数据库42.5.1mysql的优势42.6tomcat服务器52.6.1tomcat 服务器简介52.6.2tomcat的优势53需求分析和可行性分析73.1系统用户及其功能分析73.2系统的模块划分73.3系统运行环境83.4技术可行性83.5操作可行性84系统总体设计94.1设计思想94.2系统功能模块图104.3实体关系图104.4数据库设计144.5系统的用例图184.6系统登录时序图215系统的详细设计225.1系统模块的划分225.2模块流程和具体实现225.2.1用户登录模块225.2.2商品的销售管理模块245.2.3员工管理模块285.2.4供应商管理模块295.2.5管理员信息管理模块316系统测试346.1模块测试34结束语36致 谢37参考文献38附录 部分源代码39装订线安徽工业大学工商学院 毕业设计(论文)说明书1 绪论随着现代科学技术的迅猛发展,计算机技术已经渗透到商业领域,成为各行业必不可少的工具,特别是internet技术的推广和信息高速公路的建立,使it产业在市场竞争中越发显示出其独特的优势。超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,对于超市的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。原始的人工管理已无法应对这复杂的市场。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,提高了员工的工作效率,减轻了劳动强度,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。通过这个系统的开发,我将细致的分析如何基于j2ee协议,运用servlet,jdbc,mysql等技术实现一个超市销售管理系统的。这次设计,基本上实现了超市管理所必需的几个功能,例如管理员模块中,设有超级管理员和普通管理员,管理员的权限不同,超级管理员有管理普通管理员的权限。在系统设计过程中,我尽量采用易懂易读的人机界面,使用户可以在短期内完全掌握,力求数据的完整和处理的正确性。在此基础上优化程序代码,加速系统运行和减少对系统资源的占用。2 开发环境及开发工具的介绍2.1 关于webweb是一组原则:互联网作为其唯一的平台,利用集体智慧,数据,没有软件发布周期,轻量级编程。web的主要特点就是用户可以通过浏览器从web系统上获取信息,用户既是web系统的消费者(信息获取者),同时也是这个系统的内容制造者。web还有一个很重要的特点就是其是动态的,表现在交互性上,它实现了超连接,用户的浏览顺序和所到站点完全由用户自己决定。另外用户通过填写表单(form)的形式向服务器提交请求,服务器可以根据用户的请求返回相应信息。在web2.0中,用户的角色则被提高到了一个不同的位置,它更加重视用户的交互作用。web拥有一个被称为无状态的协议,这是因为服务器在发送给客户机应答信息后便遗忘了此次交互。在有状态的协议中客户机与服务器要记住许多关于彼此和它们的各种请求与应答信息。2.2 j2ee的优势j2ee(java 2 platform enterprise edition)是使用java技术开发企业级应用的一种事实上的工业标准,它是java技术不断适应和促进企业级应用过程的产物(目前,java平台有三个版本:适用于小型设备和智能卡的j2me(java 2 platform micro edition)、适用于桌面系统的j2se(java 2 platform standard edition)和适用于企业级应用的j2ee(java 2 platform enterprise edition))。j2ee是一个标准,而不是一个现成的产品。各个平台开发商根据j2ee规范分别开发了不同的j2ee应用服务器,j2ee应用服务器是j2ee企业级应用的部署平台。因此,使用j2ee技术开发的企业级应用可以部署在各种j2ee应用服务器上。采用j2ee的目的是为了克服传统client/server模式的弊病,迎合browser/server架构的潮流,为了应用java技术开发服务器端应用提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。其主要的优点是:高效的开发,持续性服务,支持异构环境,可伸缩性,稳定的可用性。由于j2ee的这些优点使得采用j2ee应用架构系统具备可扩充性,当系统平台发生变化时,系统能够和新平台很好的融合在一起,这样使得系统具有很好的伸缩性。为了推广并规范化使用j2ee架构企业级应用的体系架构,sun同时给出了一个建议性的j2ee应用设计模型:j2ee blueprints。j2ee blueprints提供了实施j2ee企业级应用的体系架构、设计模式和相关的代码,通过应用j2ee blueprints所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。2.3 jsp语言和html语言html(hyper text markup language 超文本标记语言)是一种用来制作超文本文档的简单标记语言。html文档,它能独立于各种操作系统平台;其通过利用各种标记(tags)来标识文档的结构以及标识超链接(hyperlink)的信息,能描述了文档的结构格式,但并不能精确地定义文档信息必须如何显示和排列,而只是建议web浏览器(如mosiac,netscape等)应该如何显示和排列这些信息,最终在用户面前的显示结果取决于web浏览器本身的显示风格及其对标记的解释能力。 而jsp语言是一种建立动态网页的技术标准,在传统的html语言中插入java程序段(scriptlet)和jsp标记(tag),从而形成jsp文件(*.jsp)。jsp技术使用java编程语言编写类xml的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。jsp将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于web的应用程序的开发变得迅速和容易。 web服务器在遇到访问jsp网页的请求时,首先执行其中的程序段,然后将执行结果连同jsp文件中的html代码一起返回给客户。插入的java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 jsp与servlet一样,是在服务器端执行的,通常返回该客户端的就是一个html文本,因此客户端只要有浏览器就能浏览。服务器在页面被客户端请求以后对这些java代码进行处理,然后将生成的html页面返回给客户端的浏览器。servlet 是jsp的技术基础,而且大型的web应用程序的开发需要java servlet和jsp配合才能完成。jsp具备了java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2.4 关于servletservlet是基于http协议的, 运行在web服务器中的程序,与传统的从命令行启动的java应用程序不同。servlet是运行在web容器中,这个web容器可以控制servlet对象的生命周期,控制请求由servlet对象处理。servlet可以用来生成动态的web页面,可以针对不同的请求作出不同的响应,可以实现页面的流转,servlet可以充当mvc模式中的controller模块,他可以控制信息的流向。servlet由web服务器进行加载,该web服务器必须包含servlet的java虚拟机。servlet,是接受来自网络的请求(form表单,以及其他的请求),并对不同请求作出不同的响应。mvc即model-view-controller的缩写,是一种常用的设计模式。mvc 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化,mvc可以让整个逻辑很清晰,这种思想和思维和人的思维很接近,很容易被理解。在本系统中承担mvc中controller角色的是一个servlet。jsp完成view的角色,javabean是框架中的model。mvc框架图如图2-1所示: controller 连接了模型和视图,判断请求交给哪个模型,调用视图显示模型处理用户请求结果 model封装了用户数据和处理数据的业务逻辑 view提供了用户界面,将用户输入数据传递给控制器或将模型数据显示给用户用户请求业务请求状态改变状态查询图2-1 mvc框架图2.5 mysql数据库数据库(database)是一系列信息资源的集合。对于任何一个项目来讲数据库是必不可少的,因为一个项目对应着的大量数据的不可能存在价格昂贵且不安全的内存中在中。一个数据库中,与一个项目有关的所有信息都可以叫做一条记录(record)。每一条记录都是由一系列的字段(field)组成的。一系列记录的集合就构成了数据表格,及我们常说的表(table)。对于一个简单的“平面文件”的数据库来说,它仅包含了一个数据表格,而对一个“关系型”数据库来说,它却包含两个或两个以上的数据表格,表格的各字段之间存在这一种或多种关系通常可以把这种关系叫做“链接”。2.5.1 mysql的优势mysql作为一种开放源码数据库,以其简单易用的特点广泛被广大用户采用,mysql虽然是免费的,但同oracle, sybase, informix, db2等商业数据库一样,具有数据库系统的通用性: 1) 数据库管理系统。我们知道,所谓的数据库就是一些结构化的数据的联合体,要提供对这些数据的存取、增加、修改、删除或更加复杂的数据抽取等操作,需要有一个支撑系统,这就是数据库管理系统(dbms),mysql完全具有这方面的功能。 2) 关系型数据库管理系统。在数据库的发展历程中,曾出现过多种不同形式的数据库系统,但关系型数据库管理系统(rdbms)以其优越性而被广为采用,象现在几种广泛使用的数据库全为关系型数据库。同样,mysql也是关系型的数据库系统,支持标准的结构化查询语言(structured query language)。 3) 开放源码数据库。同商业性的数据库相比,这是mysql最大的特点。mysql的源码是公开的,这就意味着任何人,只要遵守gpl的规则都可以对mysql的源码使用、修改以符合自己特殊的需求。4) 技术特点。mysql是c/s架构的服务器,服务器端是多线程的,为客户端提供了不同的程序接口和链接库,如c、c+、java、perl、php、tcl等,也提供了简单的管理工具,如mysqladmin,mysql等。mysql有如此多的特点,又由于其免费的特点,这就给许多的中小应用提供了不错的选择。 尤其是对一些中小企业,无论是从降低成本,还是从性能方面,采用mysql作为其数据支 撑系统,都是一种可行的方案。但也应当注意,采用mysql作为应用数据库,就意味着所有的问题都需要自己解决,要承担一定的风险。2.6 tomcat服务器2.6.1 tomcat 服务器简介tomcat是web服务器的一种,那么它就有web服务器的基本功能:1.接受请求2.请求的合法性检查,包括安全性屏蔽3.针对请求获取并制作数据,包括java脚本和程序、cgi脚本和程序、为文件设置适当的mime类型来对数据进行前期处理和后期处理4.把信息发送给提出请求的客户机tomcat是一个免费的开源的serlvet容器,最新的servlet和jsp规范总能在tomcat中得到体现。tomcat中采用了servlet容器:catalina,完整的实现了servlet2.3和jsp1.2规范。由于java的跨平台特性,基于java的tomcat也具有跨平台性。2.6.2 tomcat的优势tomcat不仅仅是一个servlet容器,它也具有传统的web服务器的功能:处理html页面。但是,它的处理静态html的能力与apache相比就不尽人意。故可以将tomcat和apache集成到一块,让apache处理静态html,而tomcat处理jsp和servlet.这种集成只需要修改一下apache和tomcat的配置文件即可。tomcat服务器的安装和配置在开始安装之前,要先安装jdk,安装好后设置环境变量,步骤为:右击“我的电脑”=属性=高级=环境变量=新建; 在系统环境变量中增加一个环境变量,变量名为java_home,其值为jdk的安装路径。验证有没有安成功的方法是在dos窗口中输入命令javac,根据返回信息判断。 然后再安装tomcat。安装完后,也在系统环境变量中增加一个环境变量,变量名为catalina_home,变量值为tomcat的安装路径,不需到bin目录,如:catalina_home=d:tomcat 5.0;最后还要在系统变量名classpath的之后加上“;%catalina_home%commonlib”,这是一定要注意的。这些都完成后,打开tomcat服务器,启动浏览器,在地址栏上输入:http:/localhost:8080,若出现以下界面说明安装成功。在tomcat中,应用程序的部署很简单,只需将应用程序放到tomcat的webapp目录下,tomcat会自动检测到这个文件。在浏览器中访问这个应用的jsp时,通常第一次会很慢,因为tomcat要将jsp转化为servlet文件,然后编译。编译以后,访问将会很快。3 需求分析和可行性分析3.1 系统用户及其功能分析为了便于超市的管理,超市管理员的权限必须有所差异。系统用户主要分为两种:超级管理员和普通管理员。超级管理员就是超市的总经理,普通管理员对应超市各部门的管理员。超级管理员和普通管理员都有修改自己信息的权限,但是普通管理员不能自己修改其用户名和其所在部门,若需要修该或发生调到,必须由超级管理员来修改。其他权限一样,都可以进行销售管理,员工管理,供应商的管理,管理的操作都会记录下来。3.2 系统的模块划分本系统实现一个超市后台管理所具有的基本功能,包括商品的进货管理,查看进货表单;商品的库存管理,操作商品的上架数;对上架商品的模糊查询和关键字查询;对商品信息进行增删改查,设置商品的上架价格,数量;商品销售量信息查询的实现;部门的增加和修改;普通员工信息的查询、增加和删除;管理员的登录,管理员个人资料修改,超级管理员可以对普通管理员进行增删改查,对于登录的不同管理员进行的操作做相应的记录;供应商信息的增加、删除和修改。主要模块划分如下:1. 供应商管理:实现供应商信息的增加、修改和删除,按选择条件的精确查找和模糊查找。2.销售管理:实现商品的进货,其中涉及到到供货商,若没有供应商不能完成进货;同一批进货对应同一个进货单号。进货表单的查询,记录下商品进货时的初始信息,和实施该操作的管理员信息。进完货后,到库存管理,库存的管理就是实现库存量的查询,实现商品的上架;对已上架商品的管理主要实现已上架商品信息的模糊和关键字查询;信息的修改,其中包括商品的上架数的修改和价格的修改,商品的删除;商品销售信息的统计查询,包括已售出数量,库存量,进货量。3.员工管理:普通员工的模糊查找和精确查找、增加、删除和修改普通员工信息;增加部门和修改部门信息,得到该部门的总体人数,部门信息发生变化时,相应的员工信息发生变化,员工转向其他部门时,相应的部门的总人数发生变化。为信息的安全考虑,管理员的信息不在普通员工信息列表。4. 权限管理:不管是超级管理员还是普通管理员都可以对自己的信息进行修改;作为超级管理员可以对普通管理员的信息进行修改,删除和添加普通管理员的权限;若普通管理员所在部门发生改变,则部门的信息相应的发生变化。3.3 系统运行环境硬件需求: 硬盘20g/内存256m及以上配置,要求为销售分配足够的数据库磁盘空间推荐配置:硬盘40g/内存512m操作系统需求: windows2000及以上操作系统 ( 推荐 ) ,也可以使用 sun solaris 等 linux 操作系统数据库软件需求: mysql数据库(推荐)中间件软件需求:tomcat系列服务器。3.4 技术可行性超市销售管理系统,可以基于j2ee平台,采用java语言 ,数据量小,任何一个数据库都可以满足要求。实现过程中可以用jdbc,hibernate等连接数据库,并可以使用sql语句进行查询、插入、删除、更新等操作,功能实现不复杂。已经学习过数据库、软件工程等相关课程,而语言基本思想大致是一样的,java语言掌握起来应该没有问题。再者,网上信息特别丰富,可以上网查找有关资料,在技术方面有指导老师可以进行指导,还可以上网查询相关资料。因此,在技术方面实现本系统是不存在问题的。3.5 操作可行性 由于本系统是基于java语言开发的,它具有跨平台性,可以运行在linux和windows下。软件操作界面简洁,软件的操作简单、易学易用,非计算机专业人士都能熟练使用。由技术可行性、操作可行性的研究,可以得出结论,超市销售管理系统的开发是完全可行的。4 系统总体设计4.1 设计思想由于考虑到c/s架构的种种弊端,如在数据库应用中,数据的储存管理功能是“透明”的,没有对底层的数据库操作进行封装,都是在应用程序中,造成了扩展性,安全性方面不是很好;c/s之间的协议不一定是web协议,造成了平台的独立性;c/s架构中有很多服务层的功能是在客户端实现的,客户端要处理大量数据,这样造成服务器的负重过轻; 重要的是c/s架构高昂的维护成本且投资大,因为c/s架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。 而且针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在java这样的跨平台语言出现之后,b/s架构更是猛烈冲击c/s,并对其形成威胁和挑战。 故本系统采用基于b/s架构下的多层结构应用系统总的来说,采用分层结构的设计思想,可以让每个层由一组相关的类或组件构成,共同完成特定的功能。层与层之间存在自上而下的依赖关系,上层组件会依赖下层组件的api,而下层组件则不依赖于上层组件。例如:表述层依赖于业务逻辑层,而业务逻辑层依赖于数据库层。并且每个层对对上层公开api,但具体的实现细节对外透明。当某一层发生变化,只要api不变,不会影响其他层的实现。系统的分层结构图如下所示:b/s结构简单的说就是三层,分别为客户机软件(即浏览器)、应用程序服务器和数据库服务器,用户的所有请求都由应用程序服务器来处理。系统的整体架构如下图4-1: jsp页面servlet业务逻辑dao层mysql数据库数据持久化支持服务数据访问服务业务逻辑服务务显示图4-1 系统架构图dao层实现对数据库的各种操作,主要是sql语句执行的数据更新、插入和删除,其中用jdbc实现对数据库的连接。业务逻辑层实现的是对dao层的调用,实现该有的业务逻辑。表述层用jsp组件实现。4.2 系统功能模块图根据需求分析,系统主要分为四个主要功能模块,功能模块图如下:超市销售管理系统销 售 管 理员 工 管 理供 应 商 管 理权 限 管 理进货管理货存管理商品销售信息部门管理普通员工管理修改 个人信息管理员信息上架商品管理供应商信息图 4-2 功能模块图4.3 实体关系图1. 管理员:为了区分管理员的权限,用权限属性来表示。密码是用来管理员登录该系统时验证合法性的,部门名称表示管理员所属的部门,名字对应的是管理员名字。其中编号是标识管理员唯一性的属性,完全与业务逻辑无关,在数据库表中设置编号为顺序自动增加的。其他对应的都是管理员的基本信息,比如说住址,名字、性别、年龄。联系电话。和实体部门之间是多对一的关系,一个部门可以设定对个管理员。管理员实体对应的e-r图如下:管理员电话密码性别部门名称编号名字年龄权限地址 图 4-3 管理员e-r图2.部门:部门有三个属性,部门名,部门编号和部门总人数,部门编号作为一个部门的唯一标识。每当增加一个普通员工或普通管理员时,都要选择所在部门,对应的就是该部门的总人数要发生改变,当部门名发生变化时,对应的原来是该部门的员工的信息也要发生变化。部门实体对应的e-r图如下:部门编号部门名部门部门人数 图 4-4 部门e-r图3员工:部门名称表示的是员工所属的部门,和部门实体关系是多对一的关系,一个部门有多个员工。员工的唯一标识属性就是员工编号,其中属性工作时间表示的是员工的参加工作时间,这是手动输入的,便于修改。员工名表示员工的姓名。超市可以有相同名字的员工。实体对应的e-r图如下:员工员工编号员工名性别年龄工作时间电话部门名称员工住址图 4-5 员工e-r图4.供应商:属性供应商编号,是供应商的唯一性标识。其中很重要的属性有供应商供货的类型以及供货日期,供应商每次供货后,在对应的进货表单中要显示交易的日期即供货日期和供应商品的类型,便于进货的管理。其他对应的是供货商名称,联系电话和地址。供货商实体对应的e-r图如下: 供应商供货日期供应商编号名字联系电话地址供货类型图 4-6 供应商e-r图5.商品:由于商品对应的信息很多,有进货信息,库存信息,销售信息。进货涉及到属性比较多,其中要记录所进货的商品信息和提供商品的供应商信息,其属性有进货单编号,每次进货会有不同的商品,那么不同的商品对应同一个进货单编号,表示这些商品是同一次的进货。操作员对应该次进货的负责人即当前的系统的操作员。商品编号、商品类型、商品名称、进货量、价格分别描述的是进货商品的编号,商品是属于食品、电器等中的哪一种类型,商品名,该商品的进货量和进货价格。供货商编号表示提供商品的供应商编号,若输入供应商编号不存在,则不能完成该次进货。进货商品信息对应的e-r图如下:进货商品信息 进货日期供应商编号操作员名字进货单编号价格进货量商品编号商品类型商品名称图 4-7 进货商品信息e-r图再就是库存,库存反映的是某一种商品在库存中的数量,商品编号用来标识商品,库存量表示该类商品在仓库中的剩余量。当进货同一种商品时,库存中该商品编号对应的库存量发生变化。商品类型、商品名称和进货商品信息中的属性表示的意思是一样的。库存实体对应的e-r图如下:库存商品信息商品编号库存量商品类型商品名称 图 4-8 库存商品信息e-r图已上架商品信息表示的是已经从库存中到柜台上卖的商品信息,属性商品编号是商品的唯一标识,上架数表示的是商品拿到柜台上卖的商品数。销售价表示的是商品卖出去的价格,库存量表示商品在库存中的剩余量。已上架商品信息实体e-r图如下:上架商品信息商品编号上架数销售价库存量图 4-9 上架商品信息e-r图新增上架商品信息表示在库存中有但还未拿到柜台上卖的商品信息,包含五种属性:商品编号,商品名称,商品类型,上架数和售价。其中上架数和售价分别表示的是新商品要拿到柜台上卖的数量和价格。 新增上架商品信息商品编号商品类型商品名称上架数售价图 4-10 新增上架商品信息e-r图6.实体之间存在依赖关系。一个部门对应多个员工,并且一个部门还存在一个或多个管理员。但一个系统的超级管理员只有一位。管理员和商品间的关系是管理员从供应商那里进货,对商品上架。供应商编号建立供应商和进货之间的关系。实体之间的关系图如下:管理员上架1已上架商品信息n增加1进货商品信息n部门编号部门1n部门编号员工1n商品编号库存商品信息n1新增上架商品信息n图 4-11实体间e-r图4.4 数据库设计 数据库对于数据存储的实现通过表的形势,总体上一个实体对应一个数据库表,实体之间存在的依赖关系,那么体现在数据库中就是数据库表的关联关系。在程序设计中dao层中充分的应用这种关系的是sql语句,sql语句实现表之间的链接。其中涉及到非空性和字段长度的限制。下面介绍该系统用到的数据库表。1. 进货表用来存储进货商品具体信息,设计出stock表如下:表 4-1 stock表主要字段数据类型长度属性描述id字符型6非空进货单号 cargo_id 字符型6非空商品编号 stock_num整型8非空进货量 stock_price浮点型总的8位,小数点后3位非空进价 stock_date日期型格式为xxxx-xx-xx非空进价日期 pro_id 字符型6非空供应商编号 mana_name字符串型15非空管理员名对应于mysql数据库的进货表的建表语句如下:create table stock( id char(6) not null, cargo_id char(6) not null, stock_num int(8) not null, stock_price double(8,3) not null, stock_date date not null, pro_id char(6) not null, mana_name varchar(15) not null) set default charset=utf8;2. 库存表专门用来存放商品的编号和库存量,设计出的storage表如下:表4-2 storage表主要字段数据类型长度属性描述cargo_id字符型6主键商品编号storage_num整型6非空库存量其对应于mysql数据库的建表语句为: create table storage( cargo_id char(6) not null, storage_num int(8) not null, primary key (cargo_id) set default charset=utf8;3. 商品信息表是为了提高数据库中数据的存储效率和减少数据库表的数据冗余,专门用来存储商品的详细信息,设计出的cargo表如下:表4-3 cargo表主要字段数据类型长度属性描述cargo_id字符型6主键商品编号cargo_name字符串型50非空商品名称cargo_type字符串型20非空商品类型其对应mysql数据库的建表语句为:create table cargo ( cargo_id char(6) not null, cargo_name varchar(50) not null, cargo_type varchar(20) not null, primary key (cargo_id) set default charset=utf8;4. 销售表用来存储上架商品的信息,设计的sell表如下:表4-4 sell表主要字段数据类型长度属性描述cargo_id字符型6主键商品编号sell_num整型8非空商品上架数sell_price总的8位,小数点后3位8非空售价其对应mysql数据库的建表语句为:create table sell(cargo_id char(6) not null,sell_num int(8) not null,sell_price double(8,3) not null,primary key (cargo_id) set default charset=utf8;5. 供应商表记录提供商品的商家的具体信息,provider表的设计如下:表4-5 provider表主要字段数据类型长度属性描述pro_id字符型6主键供应商编号pro_name字符串型20非空供应商名pro_tel字符串型11非空供应商联系电话pro_address字符串型50非空供应商地址cargo_type字符型20非空商品类型pro_date日期型格式为xxxx-xx-xx非空供货日期实体对应于mysql数据库的建表语句为:create table provider ( pro_id char(6) not null, pro_name varchar(20) not null, pro_tel varchar(11) not null, pro_address varchar(50) not null, cargo_type char(20) not null, pro_date date not null, primary key (pro_id) set default charset=utf8;6. 部门表用来记录部门信息,department表设计对应如下:表4-6 department表主要字段数据类型长度属性描述dep_id字符型4主键部门编号dep_name字符串型10非空部门名称emp_num整型4默认值为0部门员工数对应于mysql数据库的其建表语句为:create table department( dep_id char(4) not null, dep_name varchar(10) not null, emp_num int(4) default value=0, primary key (dep_id) set default charset=utf8;7. 员工表用来记录员工的具体信息,employee表的设计如下:表4-7 employees表主要字段数据类型长度属性描述emp_id整型4主键员工编号emp_name字符串型15非空员工姓名emp_sex字符型2非空性别emp_age整型3非空年龄emp_date日期型格式为xxxx-xx-xx非空开始工作日期emp_address字符串型50非空地址emp_tel字符串型11非空联系电话dep_name字符型10非空所属部门名该实体对应于mysql数据库的建表语句为:create table employee ( emp_id int(4) not null auto_increment, emp_name varchar(15) not null, emp_sex char(2) not null, emp_age int(3) not null, emp_date date not null, emp_address varchar(50) not null, emp_tel varchar(11) not null, dep_name char(10) not null, primary key (emp_id) set default charset=utf8; emp_id字段采用顺序自动增加,默认情况下为1。8. 管理员表存储管理的具体信息,manager表的设计如下:表4-8 manager表主要字段数据类型长度属性描述mana_id整型4主键管理员编号mana_name字符串型15非空管理员名字mana_pwd字符串型10非空管理员密码popedom字符串型2非空权限mana_sex字符串型2非空性别mana_age字符串型3非空年龄mana_dep字符串型10非空所属部门mana_tel字符串型11非空联系电话mana_address字符串型50非空地址对应于mysql数据库的管理员实体的建表语句为:create table manager(mana_id int(4) not null auto_increment, mana_name varchar(15) not null, mana_pwd varchar(10) not null, popedom varchar(2) not null, mana_sex varchar(2) not null, mana_age varchar(3) not null, mana_dep varchar(10) not null, mana_tel varchar(11) not null, mana_address varchar(50) not null, primary key (mana_id) set default charset=utf8;mana_id字段采用顺序自动增加; popedom表示管理员的权限,0表示超级管理员,1表示普通管理员; mana_dep是部门表中对应的部门名,两表之间的关系是多对多的关系。4.5 系统的用例图下面是系统的用例图,通过图我们可以看到,管理员登陆系统后可以进行权限管理,进货管理,供应商管理,库存管理等。管理员是有权限之分的,超级管理员可以添加普通管理员,可以修改普通管理员信息,比如修改普通管理员的权限密码。对于一个超级管理员,他具有最大权限,在管理员管理中,它可以对普通管理员进行增删改查。图 4-12 管理员用例图超级管理员的用例图:图 4-13 超级管理员用例图权限管理部分:图 4-14 权限管理用例图销售管理部分:图 4-15 销售管理用例图供应商管理部分:图 4-16 供应商管理用例图员工管理部分:图 4-17 员工管理用例图普通管理员的用例图和超级管理员的用例图除了在权限管理的部分有些不同,基本上相同,以下是普通管理在权限管理部分的用例图:图 4-18 普通管理员用例图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版二年级下册第4课 漂亮的包装纸教案配套
- 九年级历史上册 第七单元 工业革命、马克思主义的诞生与反殖民斗争 第19课 马克思主义的诞生教学设计 川教版
- 2024中建港航局海洋工程研究院招聘笔试参考题库附带答案详解
- 工程建设项目流程培训
- 车载充电机国内外研究现状培训
- 人教部编版 (五四制)一年级上册语文园地二教学设计及反思
- 五年级上册心理健康教案-4《了解自己的情绪》 北师大版
- 单位新闻摄影培训大纲
- 妇产科新护士培训计划
- 计算机大一上期末复习测试附答案
- 地质勘查单位安全标准化体系汇编
- 华北理工选矿学课件01破碎与磨矿
- 激光雷达技术原理第一章
- 安全生产风险管控信息台账(清单)
- 责任制整体护理PPT演示课件
- 锤击钢筋混凝土预制桩施工记录表
- GB/T 8110-2008气体保护电弧焊用碳钢、低合金钢焊丝
- GB/T 38615-2020超声波物位计通用技术条件
- GB/T 16925-1997混凝土及其制品耐磨性试验方法(滚珠轴承法)
- GB/T 15849-1995密封放射源的泄漏检验方法
- 卫生院疾病证明书 糖尿病
评论
0/150
提交评论