jsp589仓库管理系统sqlserver论文_第1页
jsp589仓库管理系统sqlserver论文_第2页
jsp589仓库管理系统sqlserver论文_第3页
jsp589仓库管理系统sqlserver论文_第4页
jsp589仓库管理系统sqlserver论文_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

┊┆┆┊┆┆┆本科生毕业论文(设计)题目:学院/系专业年级学号作者姓名指导教师

摘要众所周知,食堂是一个企业或学校的重要资源,它包括生产与非生产的食堂。运用现代化信息技术手段加强企业或学校食堂的管理,可以大大地降低管理工作量,加快收集信息的速度,通过加强管理,保护企业或学校食堂完整无缺,充分挖掘潜力,不断改进企业或学校食堂利用情况。随着企业或学校规模的扩大,食堂管理系统将发挥越来越重要的作用。高效方便的食堂管理系统,可以为生产经营提供坚强的后盾和有力的支持。食堂管理系统主要提供一个食堂业务及其作业管理的信息存储和管理系统。通过商品入库管理、出库管理、报表生成管理、食堂人员管理、食堂设备报修管理等功能模块来实现食堂的综合管理。本论文以标准的食堂管理模式为蓝本,基于JavaEE开发出一个可以用于一般单位的食堂管理系统,实现了食堂管理的高效性与安全性。本系统可以方便快捷地实现库管理中的商品登记、出库入库、库房管理等操作,使企业或学校的食堂管理井井有条,为企业或学校的健康发展创造良好的条件。本文先从系统方案设计方面比较详细的介绍了本系统所采用的开发工具和开发技术。其次再从软件系统开发的一般流程,需求分析、系统设计、编码实现、软件测试方面详细而细致的描述了整个系统的设计方案及实现功能。最后总结了系统的不足之处,以便于将来更好的改进。本系统按实际需求设计,可以对企业或学校食堂进行增加,删除,修改,食堂维修等,更多的是对企业或学校食堂进行日常管理,可以有效得对企业或学校食堂进行管理,可以对企业或学校职工、公告信息管理等功能来提高企业或学校的整体管理水平。关键字:食堂管理系统;JavaEE;管理系统

AbstractAseveryoneknows,thecanteenisanimportantresourceofanenterpriseoraschool,itincludesproductionandnonproductionofthecanteen.Strengthentheenterpriseortheschoolcanteenmanagementbymoderninformationtechnology,cangreatlyreducetheworkloadmanagement,acceleratethespeedofinformationcollection,bystrengtheningthemanagement,protectionofenterpriseortheschoolcanteenintact,fullytappotential,improveenterpriseortheschoolcafeteriautilization.Withtheexpansionoftheenterpriseortheschoolscale,canteenmanagementsystemwillplayanincreasinglyimportantrole.Efficientandconvenientdiningroommanagementsystem,canprovideastrongbackingandstrongsupportfortheproductionandbusinessoperation.Canteenmanagementsystemmainlyprovidesacanteenbusinessandoperationsmanagementinformationstorageandmanagementsystem.Theintegratedmanagementbycommoditywarehousingmanagement,databasemanagement,reportgenerationmanagement,personnelmanagement,canteenequipmentrepairmanagementmoduletoachievethecanteen.Inthisthesis,astandardcanteenmanagementmodeasblueprint,JavaEEcanbeusedtodevelopacanteenmanagementsystembasedongeneralunit,toachievetheefficiencyandsecurityofthecanteenmanagement.Thesystemcanachievethemanagementofcommercialregistration,thelibrarystorage,warehousemanagement,operationconvenient,maketheenterpriseortheschoolcanteenmanagementbearrangedingoodorder,andcreategoodconditionsforthehealthydevelopmentoftheenterprisesandschools.Thispaperfirstdesignfromthesystemaspectintroducesindetailthedevelopmenttoolsandtechnologiesusedinthesystem.Second.Secondly,thegeneralprocessofsoftwaresystemdevelopment,needsanalysis,systemdesign,coding,softwaretestingisdetailedandmeticulousdescriptionofthesystem'sdesignandRealizationfunction.Finallysummeduptheinadequaciesofthesystem,inordertoimprovebetterinthefuture.Thissystemdesignedaccordingtoactualdemand,theenterpriseortheschoolcanteentoadd,delete,modify,repair,canteen,moreistoconductthedailymanagementofenterprisesortheschoolcanteen,caneffectivelycarryonthemanagementtotheenterpriseortheschoolcanteen,cantheenterpriseortheschoolstaff,bulletininformationmanagementandotherfunctionstoimprovetheoverallmanagementlevelenterpriseorschool.Keywords:Canteenmanagementsystem;JavaEE;managementsystem

目录1绪论 11.1选题背景 11.2管理信息系统简介 11.3计算机信息系统的发展 11.4管理信息系统的发展现状 11.5可行性分析 22开发环境 32.1软件工程介绍 32.2开发环境及工具 32.1.1选择Jsp作为页面视图显示 32.2.3选择SQLSERVER作为后台数据库 42.3数据库技术介绍 42.3.1.JDBC开发数据库 42.3.2.BDE开发数据库 52.4体系结构 62.4.1系统体系机构的一般阐述 62.4.2C/S模式与B/S模式的比较分析 62.4.3B/S模式的优势 72.5开发方法整体选择 73系统分析 83.1模块设计 83.2功能模块图 83.3数据库设计概述 93.4数据库设计周期 93.5SQL查询语言及使用 93.6系统E-R图分析 93.7数据表设计 134详细设计 164.1用户登录界面 164.2添加食堂商品信息 204.3食堂商品信息管理 214.4管理员设置 224.5食堂入库管理 224.6采购信息管理 245系统调试与测试 265.1软件测试的意义 265.2程序的测试 275.2.1测试的重要性及目的 275.2.2测试的步骤 285.2.3测试的主要内容 285.3白盒测试 285.3.1集成测试 295.4黑盒测试 295.4.1主页登录测试 295.4.2站内搜索测试 305.5测试结果分析 306结论 31致谢 32参考文献 33PAGE331绪论1.1选题背景随着企业或学校规模的扩大,管理信息系统也发挥越来越重要的作用。采用食堂管理系统将使企业或学校改变其传统的手工记录模式,应用数据库技术使海量数据的存储与处理成为很方便的事情,这样可大幅缩短主要业务流程的处理时间,提高对市场的响应能力。食堂管理系统是通过入库业务、出库业务、库存管理、库存调整等实时库存管理等功能综合运用的管理系统,实现完善的企业或学校食堂信息管理。提高了办事效率,节省了费用,而且还避免了不必要的业务纠纷,维护了企业或学校长期与用户建立的良好信誉。1.2管理信息系统简介在21世纪,人类将步入知识经济时代,知识经济时代是日新月异和知识、信息呈爆炸膨胀的时代。计算机的出现解决了这个问题,由于计算机迅速、准确为信息收集、加工、使用、查询提供可能。随着以计算机技术、的飞跃发展,人类正在从工业时代向信息时代迈进,人们越来越重视信息资源的开发和利用,“信息化”已成为一个国家经济和社会发展的关键环节,信息化水平的高低已成为衡量一个国家现代化水平和综合国力的重要标志。1.3计算机信息系统的发展计算机尤其是微型计算机逐渐普及,从开始4位微处理器的微型机到现今32位高档微机,主频速度越来越快。随着硬件的发展,软件也不断更新,由2进制代码到机器语言汇编语言、高级程序语言,软件自动完成,这给软件开发人员带来及大的便利。软件开发人员不必化大多时间和精力在描述程序的具体细节上,提高效率误差。计算机的应用也由原先单纯的数的自动控制、人工智能,可以说渗透到生产生活的各个领域的应用提高了效率,降低了成本,节省人力物力。但要发挥其巨大作用,还需提高人们的应用水平。1.4管理信息系统的发展现状电子计算机适应现代社会管理信息量迅速增长,信息寿命短,要求及时转换的问题。信息系统由电子数据处理,当今社会现代信息技术广泛迅速的渗透到社会生活的各领域但目前在管理信息系统应用还很不完善,属于起步阶段。计算机对管理工作的支持,不仅是数据处理、而且是辅助决策的工具,相关的决策分析,甚至可和管理者交互对话,生成决策。目前各个行业的计算机处理信息管理,处在电子数据处理阶段,各单位由事务处理到过程控制办公自动化方面已有长足进步,但很不完善。要充分利用计算机处理信息,必须从目前情况入手,着眼于未来,开发适合本单位、行业的小型管理系统,甚至是其中一步分,如工资管理系统,然后逐步完善,不断扩充。1.5可行性分析食堂管理系统是作为毕业设计由我们自己开发的,在经济上的投入甚微,系统建成之后将为今后实现公司等食堂管理系统提供很大的方便,估算新系统的开发费用和今后的运行、维护费用,估计新系统将获得的效益,并将费用与效益进行比较,看是否有利。开发、运行和维护费用主要包括:购买和安装食堂的费用:计算机硬件、系统软件、机房、电源、空调等;软件开发费用:若由实习单位的技术人员开发,则该项费用可以计入下面的人员费用一项;技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。食堂管理系统用的是JAVA开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台和环境对系统的适应性及人员培训补充计划的可行性。当前我们公司信息化技术已经相当普及,所以在运行上是可行性的。根据新系统目标来衡量所需的技术是否具备,一般可从硬件、软件的性能要求、环境条件、技术人员水平和数量等方面去考虑和分析,其中开发人员的技术力量应首先考虑能力与水平,并考虑近期内可以培养和发展的技术人员。运行可行性对新系统运行后给现行系统带来的影响(包括组织机构、管理方式、工作环境等)和后果进行估计和评价。同时还应考虑现有员工用户的培训、补充,分析在给定时间里能否完成预定的系统开发任务等。

按上述三方面进行可行性分析、研究后,就可整理并编制出新系统开发的可行性报告,它是总体规划工作的阶段性成果。

2开发环境2.1软件工程介绍软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。它涉及计算机科学、工程科学、管理科学、数学等领域,计算机科学着重于原理和理论,而软件工程着重于如何建造一个软件系统。软件工程在软件开发过程中占有不可动摇的重要地位,一个软件从开始计划起,到废弃不用止,称为软件生存周期。计划时期的主要任务是分析用户要求,分析新系统的主要目标以及开发该系统的可行性。开发时期要完成设计和实现两大任务具体。具体分为需求分析、概要设计、详细设计、编码、测试。其中编码和测试是软件开发期的最后两个阶段。运行时期是软件生存周期的最后一个时期,软件人员在这一时期的工作,主要是做好软件维护。2.2开发环境及工具2.1.1选择Jsp作为页面视图显示JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP技术的强势:1.一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。

2.系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。

3.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。4.多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。2.2.3选择SQLSERVER作为后台数据库SQL是StructuredLanguage(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。2.3数据库技术介绍2.3.1.JDBC开发数据库JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。

有了JDBC,向各种关系数易的事。换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问IAPI写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库接口模型。作为API,数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之有简单、严格类型定义且高性能实现的接口。

JDBC扩展了Java的功能。例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信企业或学校也可以用JDBC始使用Java编程语言,对从Java中便捷地访问数据库的要求也在日益增加。MIS管理员们都喜欢Java和JDBC的结合,因为它使信息传播变得容易和库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,Java和JDBC可为外部客户提供获取信息更新的更好方法。2.3.2.BDE开发数据库BDE是负责用户和数据库交流的中间媒介。事实上,应用程序是通过数据访问组件和BDE连接,再由BDE去访问并非直接操作BDE。这样用户只需关心JSP中的数据组件即可,不用直接和BDE打交道。数据库组件主要分为两类:“数据访问组件”和“数据控制组件”,它们和数据库的关系如图2-1所示:图2-1数据库组件与数据库关系图其中,数据访问组件在JSP组件面板的DataSQL组件“数据集组件”,用于和数据库连接。这些组件功能如下:1.DataSource控件是数据集组件和数据控制组件的连接媒介。数有控件才能和数据集组件连接,从而对数据进行显示、修改、维护等操作。2.Table控件是通过数据库引擎——BDE来存取数据库中的数据的。通过BDE将用户对数据库的操作(如添加、删除、修改等)传递给数据库。3.Query控件是利用它只是采用了SQL来实现。4.Storedproc控件是通过BDE对服务器数据库进行操作的,常用于客户/服务器(C/S)结构的数据库应用程序。5.DataBase控件一般用于建立远程户/服务器结构的数据库应用程序和数据库之间的连接。6.Session控件是用于控制数据库应用程主要用于复杂功能的实现,例如:多线程数据库程序设计。而数据控制组件也可以称为数组件。它们的主要功能是与数据访问组件相配合,提供给用户一个对数据进行浏览、编辑等操作的界面。数据控制组件在组件板上的页上。2.4体系结构2.4.1系统体系机构的一般阐述MIS系统平台结构模式大体上分为4种:主机终端模式、文件服务器模式、客户机/服务器模式(Clint/S而文件服务器模式由于硬件选择有限,硬件投资得不到保证,已被逐步淘汰。而文件服务器模式只适合多,数据量大的情况就会产生网络瓶颈,特别是在互联网上不能满足用户要求。因此,现代企业或学校级平台结构模式应主要考虑C/S模式和B/S模式。2.4.2C/S模式与B/S模式的比较分析C/S系统又被称作分布式计算系统不像通常在基于小型机或基于主机的计算机系统(终端方式)中那样在单个的计算机上发生,而是把程序的不同部分在多台计算和显示逻辑)存在于客户端桌面计算机上。客户/服务器系连接相互通信模户端通过网络向服务器发送SQL语句,服务器返回客户端结果集。对于Client/Server模式而言,其主要特点为:1.具有成熟的设计开发方法和工具。经过多年的研究和积累,各种可是化工具和编程语言来支持它的开发。相对而言,目前的基于Browse/Server模式的应用及其开发方法仍然处于发展阶段。2.交互性强,界面友好。各个Client机上用户和任务设计,同时具有在线帮助和出错提示等辅助功能。这些优势是Browse/Server模式所不具备的。3.数据通信量小,安全性高。Client/Server模式中前后台传递的仅仅是查询请求SQL语言或查询结果,Client/Server模式一般采用基于局域网点对点式的结构和安全性较好的网络协议,而Browse/Server是一种开放式的结构,面向众多的用户,其防火墙技术并不能完全屏蔽网络黑客和内部人员对系统的恶意侵袭。C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。B/S模式即Brower/Server结构模式,是基于Internet/Intranet的结构模式,分为三层,第一层为表示层,用二层为具有ODBC接口要利用服务器完成客户的应用功能。第三层为数据层,根据客户的请求独立地进行各种运算。其主要特点为:1.其在逻辑上采用了3层结构,它加了一层WebServer层,所有的应用程序模块都安装在它上面,在Browse上只需安装一个通用的浏览器软件,因此,这种模式简化了客户端,使用户的操作更加方便。2.开放性好,Intranet/Internet完全兼容。3.扩展性好,根据发展需要,可对系统随时进行扩展,降低了系统的开发和维护的开销2.4.3B/S模式的优势首先它简化了客户端。它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用层是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使MIS系统维护的限制因素更少。鉴于B/S相对于C/S的先进性,B/S方案,基于Web的财务系统、基于Web的ERP。一些企业或学校已经领先一步开始使用它,并且收到了一定的成效。B/S模式的新颖流行,和在某改进,使B/S成了MIS系统平台的首选,也使人忽略了B/S不成熟的一面,以及C/S所固有的一些优点。下面让我们来看C/S相对于B/S的一些优势。2.5开发方法整体选择根据用户的实际情况和需要,最终决定使用JSP+SQL开发,采用B/S结构,使用JDBC连接数据库。这样的好处是:1.使用JSP+SQL灵活方便,可扩充性、可移植性较好。2.JDBC与SQL同为微软开发,兼容性好,同时存取效率高,且较成熟,目前许多数据库应用系统都采用这种方式。3.采用B/S结构是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。OLEDBJDBCApplication/BrowserJDBCOLEDBJDBCApplication/BrowserJDBCSQLDATA3系统分析3.1模块设计该系统平台从功能模块上分为:员工信息管理、商品管理模块、报废申请管理、商品入库模块、出库模块、库存管理等,员工用户可以使用这个系统进行食堂的入库、出库、库存等信息进行全面的管理。3.2功能模块图本题要开发的食堂管理系统的主要功能模块如图3-1所示:系统功能系统功能商品管理库存管理员工商品出库管理商品入库管理商品入库管理设备报废申请库存管理商品出库管理商品采购管理商品采购管理报废申请管理系统退出员工信息管理管理员设备报废申请管理修改密码图3-1食堂管理系统功能模块图3.3数据库设计概述计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库设计是指对于一个给定的应用环境,提供一个确定最优数据模型与处理模式的逻辑设计,以及一个确定数据库存储结构与存取方法的物理设计,建立起既能反映现实世界信息和信息联系,满足用户数据要求和加工要求,又能被某个数据库管理系统所接受,同时能实现系统目标,并有效存取数据的数据库。3.4数据库设计周期根据软件工程的思想,数据库设计的周期可以划分为六个阶段:规划阶段:确定开发的总目标,给出计划开发的软件系统的功能、性能以及可靠性等方面的设想。需求分析阶段:认真细致地了解用户对数据的加工要求,确定系统的功能与边界。本阶段的最终结果能够提供一个可作为设计基础的系统说明书,包括对软硬件环境的要求和一整套完善的数据流程图。设计阶段:把需求分析阶段所确定的功能细化,主要工作是概念设计阶段、逻辑设计阶段、物理设计阶段,然后,对每个阶段内部设计详细的流程。程序编制阶段:以一种或几种特定的程序设计语言表达上一阶段确定的各模块控制流程。程序编制时应遵循结构化程序设计方法。调试阶段:对已编好的程序进行单元调试(分调),整体调试(联调)和系统测试(验收)。3.5SQL查询语言及使用JSP中的数据库操作对象都提供了对SQL语句的支持。其一般的用法是以JSP的各种控件接收用户对数据库访问的请求,在事件响应程序代码中将其转换成对数据库的SQL查询语句,并以字符串的形式存在,然后将其传递给相应的数据库操作对象,最终完成对数据库的访问。3.6系统E-R图分析E-R图是识别功能模型与数据模型间关联关系的,在主题数据库的抽取和规范化的过程中,采用的是简化的E-R图表示方法,从而避免过繁过细的E-R图表示影响规划的直观和可用性。构成E-R图的基本要素是实体型、属性以及联系,其表示方法为:实体型:用矩形表示,矩形框内写明实体名;属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边的旁边标上联系的类型。针对本系统特点,通过对食堂管理系统的分析,可以得出该系统涉及三个实体:管理员、食堂、员工。通过对各实体数据关系的整理,我们可以画出如下E-R图如图3-2所示:库存库存入库出库入库出库生产生产管理员管理员图3-2系统整体E-R图系统中各个E-R图如下所示:系统中详细的E-R图如下所示:(1)t_admin管理员实体图图3-3管理员实体图(2)t_caigou采购实体图图3-4采购实体图(3)t_chuku出库实体图图3-5出库实体图(4)t_goods食堂商品实体图图3-6食堂商品实体图(5)t_ruku入库实体图图3-7入库实体图(6)t_baofeishenqing报废申请实体图图3-8报废申请实体图(7)t_yuangong员工实体图图3-9员工实体图3.7数据表设计表的设计是这次设计的一个核心内容。根据前面对系统站各个权限用户模块的功能分析和对数据库中实体关系的设计,可以看到系统站中所用到的数据信息基本包括:管理员表、员工表表、出库表、入库表等。具体表信息如下:(1)t_admin管理员表管理员表主要存储用户id、用户名、密码信息,如表3-1所示:名称数据类型备注userIdint用户iduserNamevarchar(50)用户名userPwvarchar(50)密码(2)t_caigou采购表采购表主要存储食堂id、时间、数量、单价、总价格、经手人、备注、类型等信息,具体如表3-2所示:名称数据类型备注idint主键goodsIdint食堂idshijianvarchar(50)时间shuliangint数量danjiaint单价zongjiageint总价格jingshourenvarchar(50)经手人beizhuvarchar(5000)备注typevarchar(50)类型(3)t_chuku出库表出库表主要存储出库时间、出库数量、总金额、经手人等信息,如表3-3所示:名称数据类型备注idint主键goodsIdint食堂商品idshijianvarchar(50)出库时间shuliangint出库数量zongjiageint总金额jingshourenvarchar(50)经手人beizhuvarchar(50)备注delvarchar(50)是否删除(4)t_goods食堂表食堂表主要存储食堂名称、产地、单位、规格、备注等信息,如表3-4所示:名称数据类型备注idint主键namevarchar(50)食堂名称chandivarchar(50)产地danweivarchar(50)单位guigevarchar(50)规格beizhuvarchar(50)备注delvarchar(50)是否删除(5)t_ruku入库表入库表主要存储食堂id、入库时间、入库数量、总金额、经手人等信息,如表3-5所示:名称数据类型备注idint主键goodsIdint食堂idshijianvarchar(50)入库时间shuliangint入库数量zongjiageint总金额jingshourenvarchar(50)经手人beizhuvarchar(50)备注delvarchar(50)是否删除(6)t_baofeishenqing报废申请表报废申请表主要存储食堂id、损坏原因、状态信息,如表3-6所示:名称数据类型备注idint主键goodsIdint食堂设备idyuanyinchar(10)损坏原因zhuangtaivarchar(50)状态(7)t_yuangong员工表员工表主要存储员工姓名、性别、年龄、电话、住址、职位、权限等信息,如表3-7所示:名称数据类型备注idint主键namevarchar(50)员工姓名sexvarchar(50)性别agevarchar(50)年龄telvarchar(50)电话addressvarchar(50)住址zhiweivarchar(50)职位quanxianint权限loginNamevarchar(50)登录名loginPwvarchar(50)密码delvarchar(50)是否删除以上是系统中主要E-R和数据库表。

4详细设计4.1用户登录界面当系统登陆时,首先出现的是一个用户权限登陆的界面,权限设置主要是维护系统的安全性和完整性。拥有管理员权限的操作员能对其他操作员进行相应的权限设置,没有权限的操作员不能对相应的窗口进行操作。如图4-1所示:图4-1登录主界面这是进入系统时的身份验证,用户首先要从软件开发者那里申请用户名和密码,才可以进入。该过程的流程图如图4-2所示:输入姓名及口令输入姓名及口令记录在口令表吗中进入主界面继续吗结束开始提示信息NYN图4-2登录界面流程图主要代码如下: if(userType==0)//系统管理员登陆 { Stringsql="select*fromt_adminwhereuserName=?anduserPw=?"; Object[]params={userName,md5.md5s(userPw)}; DBmydb=newDB(); mydb.doPstm(sql,params); try { ResultSetrs=mydb.getRs(); booleanmark=(rs==null||!rs.next()?false:true); if(mark==false) { result="no"; } else { result="yes"; TAdminadmin=newTAdmin(); admin.setUserId(rs.getInt("userId")); admin.setUserName(rs.getString("userName")); admin.setUserPw(userPw);//数据库的密码是加密的。。这个地方不能用。用的话在后来的密码修改不好实现 WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); session.setAttribute("userType",0); session.setAttribute("admin",admin); } rs.close(); } catch(SQLExceptione) { System.out.println("登录失败!"); e.printStackTrace(); } finally { mydb.closed(); } } if(userType==1) { Stringsql="select*fromt_yuangongwhereloginName=?andloginPw=?"; Object[]params={userName,userPw}; DBmydb=newDB(); mydb.doPstm(sql,params); try { ResultSetrs=mydb.getRs(); booleanmark=(rs==null||!rs.next()?false:true); if(mark==false) { result="no"; } else { result="yes"; Yuangongyuangong=newYuangong(); yuangong.setId(rs.getInt("id")); yuangong.setName(rs.getString("name")); yuangong.setSex(rs.getString("sex")); yuangong.setAge(rs.getString("age")); yuangong.setTel(rs.getString("tel")); yuangong.setAddress(rs.getString("address")); yuangong.setZhiwei(rs.getString("zhiwei")); yuangong.setQuanxian(rs.getInt("quanxian")); yuangong.setLoginName(rs.getString("loginName")); yuangong.setLoginPw(rs.getString("loginPw")); WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); session.setAttribute("userType",1); session.setAttribute("yuangong",yuangong); } rs.close(); } catch(SQLExceptione) { System.out.println("登录失败!"); e.printStackTrace(); } finally { mydb.closed(); } } if(userType==2) { } returnresult;4.2添加食堂商品信息身份验证通过以后,点击可以使用系统的添加食堂信息管理界面,这是管理员主要的输入信息部分,它即可以对数据进行输入。填写好各项信息后,单击保存按钮,系统将对这些信息进行处理。界面如图4-3所示:图4-3添加食堂商品信息界面主要代码如下: /** *食堂商品信息添加 *@authorAdministrator * */ publicvoidgoodsAdd(HttpServletRequestreq,HttpServletResponseres) { Stringname=req.getParameter("name"); Stringchandi=req.getParameter("chandi"); Stringdanwei=req.getParameter("danwei"); Stringguige=req.getParameter("guige"); Stringbeizhu=req.getParameter("beizhu"); Stringsql="insertintot_goodsvalues(?,?,?,?,?,?)"; Object[]params={name,chandi,danwei,guige,beizhu,"no"}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","goods?type=goodsMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); }4.3食堂商品信息管理点击可以使用系统的食堂信息管理界面,这是管理员主要的输入信息部分,它即可以对数据进行输入。填写好各项信息后,单击保存按钮,系统将对这些信息进行处理。界面如图4-4所示:图4-4食堂商品信息管理界面主要代码如下: /** *食堂商品信息管理 *@authorAdministrator * */ publicvoidgoodsMana(HttpServletRequestreq,HttpServletResponseres)throwsServletException,IOException { ListgoodsList=newArrayList(); Stringsql="select*fromt_goodswheredel='no'"; Object[]params={}; DBmydb=newDB(); try { mydb.doPstm(sql,params); ResultSetrs=mydb.getRs(); while(rs.next()) { Tgoodsgoods=newTgoods(); goods.setId(rs.getInt("id")); goods.setName(rs.getString("name")); goods.setBeizhu(rs.getString("beizhu")); goods.setChandi(rs.getString("chandi")); goods.setDanwei(rs.getString("danwei")); goods.setGuige(rs.getString("guige")); goodsList.add(goods); } rs.close(); } catch(Exceptione) { e.printStackTrace(); } mydb.closed(); req.setAttribute("goodsList",goodsList); req.getRequestDispatcher("admin/goods/goodsMana.jsp").forward(req,res); }4.4管理员设置本系统增加系统管理员以及修改当前管理员密码等功能。管理员密码修改功能如图4-5所示:图4-5管理员密码修改界面主要代码如下: { result="yes"; TAdminadmin=newTAdmin(); admin.setUserId(rs.getInt("userId")); admin.setUserName(rs.getString("userName")); admin.setUserPw(userPw);//数据库的密码是加密的。。这个地方不能用。用的话在后来的密码修改不好实现 WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); session.setAttribute("userType",0); session.setAttribute("admin",admin); }4.5食堂入库管理点击可以使用系统的食堂入库信息管理界面,这是管理员主要的输入信息部分,它即可以对数据进行输入。填写好各项信息后,单击保存按钮,系统将对这些信息进行处理。界面如图4-6所示:图4-6食堂入库记录界面主要代码如下: /** *入库信息添加 *@authorAdministrator * */ publicvoidrukuAdd(HttpServletRequestreq,HttpServletResponseres) { intgoodsId=Integer.parseInt(req.getParameter("goodsId")); Stringshijian=req.getParameter("shijian"); intshuliang=Integer.parseInt(req.getParameter("shuliang")); intzongjiage=Integer.parseInt(req.getParameter("zongjiage")); Stringjingshouren=req.getParameter("jingshouren"); Stringbeizhu=req.getParameter("beizhu"); Stringsql="insertintot_rukuvalues(?,?,?,?,?,?,?)"; Object[]params={goodsId,shijian,shuliang,zongjiage,jingshouren,beizhu,"no"}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","ruku?type=rukuMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res);4.6采购信息管理这是采购信息管理页面。界面如图4-7所示:图4-7采购信息管理界面主要代码如下: /** *采购录入 *@authorAdministrator * */ publicvoidcaigouAdd(HttpServletRequestreq,HttpServletResponseres) { intgoodsId=Integer.parseInt(req.getParameter("goodsId")); Stringshijian=req.getParameter("shijian"); intshuliang=Integer.parseInt(req.getParameter("shuliang")); Stringdanjia=req.getParameter("danjia"); intzongjiage=Integer.parseInt(req.getParameter("zongjiage")); Stringjingshouren=req.getParameter("jingshouren"); Stringbeizhu=req.getParameter("beizhu"); Stringtype="caigou"; Stringsql="insertintot_caigouvalues(?,?,?,?,?,?,?,?)"; Object[]params={goodsId,shijian,shuliang,danjia,zongjiage,jingshouren,beizhu,type}; DBmydb=newDB(); mydb.doPstm(sql,params); mydb.closed(); req.setAttribute("message","操作成功"); req.setAttribute("path","caigou?type=caigouMana"); StringtargetURL="/common/success.jsp"; dispatch(targetURL,req,res); }

5系统调试与测试测测试用例的合理性对于软件的测试与评估具有关键作用,而如何使设计的用例、合理并且典型有效并不容易。有针对性地研究实际操作环境并加以描述,形成合理的测试用例集。另一方面,软件运行环境的复杂程度对软件评估具有重要作用,所以应产生尽量逼真的运行背景以便于研究。软件测试的周期如图6.1所示。需求分析需求分析系统设计编制程序单元测试集成测试系统测试确认测试使用维护测试阶段开发阶段图6.1软件测试周期示意图5.1软件测试的意义由于人们对于软件质量的重视程度越来越高,就导致了测试在软件开发中的地位越来越重要。测试已经不仅仅局限于软件开发中的一个阶段,它已经开始贯穿于整个软件开发过程,人们已经开始认识到:测试开始的时间越早,测试执行越频繁,所带来的整个软件开发成本的下降就会越多。极限编程(ExtremeProgramming,即XP)更是把测试推到了极限的位置,一切软件开发活动都要首先从编写测试代码开始。5.2程序的测试5.2.1测试的重要性及目的测试的重要性:软件的测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。是软件开发的重要部分。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,如果把维护阶段也考虑在内,讨论整个软件生存期时,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。在实践中,软件测试的困难常常使人望而却步或敷衍了事,这是由于对测试仍然存在一些不正确的看法和错误的态度,这包括:1.认为测试工作不如设计和试人员某种成就感;2.以发现软件错误为目标的测试是非建设性的,甚至是破坏性的,测试中发现错位是对责任者工作的一种否定;3.测试工作枯燥无味,不能引起人们的兴趣;4.测试工作是艰苦而细致的工作;5.对自己编写的程序盲目自信,在发现错误后,顾虑别人对自己的开发能力的看法。这些观点对软件测试工作是极为不利的,必须澄清认识、端正态度,才可能提高软件产品的质量。测试的目的:如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。1.软件测试是为了发现错误而执行程序的过程;2.测试是为了证明程序有错,而不是证明程序无错误;首先,测试并不仅仅是为了要找出错误。可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。改善测试的有效性。其次,没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。5.2.2测试的步骤与开发过程类似每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成。因此,大型软件系统的测试基本上由下述几个步骤组成:1.模块测试在这个测试步骤中所发现的往往是编码和详细设计的错误。2.系统测试在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。3.验收测试在这个测试步骤中发现的往往是系统需求说明书中的错误。5.2.3测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。1.单元测试单元测试集中在检查软件设计的最小单位—模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。2.集成测试集成测试是将模块按照设计要求组装起来同时进行测试。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;全程数据结构可能有错误等。3.确认测试确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。接口错误也已经基本排除了,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。5.3白盒测试可通过测试来检测程序内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等。5.3.1集成测试集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。5.3.2功能测试(1)链接测试链接是Web应用系统的一个主要特征,链接测试可分为三个方面。首先,测试所有链接是否按指示的那样确实链接到了该

温馨提示

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

评论

0/150

提交评论