超市销售管理系统设计与实现毕业设计论文_第1页
超市销售管理系统设计与实现毕业设计论文_第2页
超市销售管理系统设计与实现毕业设计论文_第3页
超市销售管理系统设计与实现毕业设计论文_第4页
超市销售管理系统设计与实现毕业设计论文_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

超市销售管理系统设计与实现页绪论随着人们生活水平的不断提高,消费的日益增长,越来越多的人选择了方便快捷的超市购物,超市的信息量也不断增长,所以作为超市的管理人员就需要有一个自动化、智能化的管理系统来完成这些信息的处理。由此我们设计开发超市销售管理系统。目前市场上的超市销售管理系统,大部分为基于分布式数据库的网络管理系统,对于规模较小的超市没有必要花巨资来购买这样功能全面的管理系统。此外,对于那样功能齐全的管理系统也需要花大精力来维护。基于这种情况,我们用所学的知识,可以开发一种既能节约资金,又能完成超市日常的销售管理任务的系统。本系统所包括的功能模块主要有:用户登录模块,它是系统的初始界面,用户必须登录才可以进行相应操作,登录时系统会自动根据用户的权限给予相应的管理主界面。财务管理模块,此模块可以根据用户设定的时间段查询超市的总体营业状况及销售、进货等方面的运作状况。商品销售模块,此模块可以销售商品和盘点当日销售情况。商品进货模块,此模块可以进购商品和盘点当日进货情况。商品库存模块,此模块可以查看库存信息,进行库存商品的损溢操作等。系统管理模块,此模块可以设置系统信息,设置商品、供货商、用户等基础信息,还可以查看系统日志等。在系统的安全性方面,超级管理员可以登录到任何一个管理模块,能够添加和删除其他账户,改变任意一个账户的密码,设定账户的操作权限。普通用户只能根据自己的权限进入相应的管理模块进行对应的操作。通过这样的权限限制就可以方便的控制系统的安全性。总之,超市销售管理系统是一个经济、实用的应用软件,适合小规模的商店和超市。操作难度小,易学易用。可以大大地提高超市的运作效率。1系统概述1.1系统背景介绍超市形式在我国于20世纪90年代初期起步,现在已经成为我国零售业的一种重要形态。随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售业的发展,这样就迫切地需要引入新的管理技术。超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。随着超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。在这样的背景下,只有依靠现代化的计算机信息处理技术来管理超市,从而节省出大量的人力、物力,改善员工的工作条件,减轻劳动强度,快速反映出商品的进、销、存等状况和各种反馈信息的分析,才能够使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。1.2系统功能概述针对行业的发展现状,综合应用所学知识,设计超市销售管理系统。本系统可以实现销售、采购、仓储等超市基本业务的综合销售管理,还可以实现财务的综合统计,为超市的现代化管理提供便利、可靠的保障。根据不同的业务流程,将系统进行不同的功能模块划分,每个模块各司其职,完成各自的业务管理任务。如商品销售模块可以进行商品的销售和盘点当日的销售信息等,财务管理模块可以查询超市的综合营业状况,查询销售和进货的状况等。它们互相之间共享营业数据,各自又有不同的展现和用户接口形式。体现了功能的灵活实现。1.3系统开发环境1.3.1开发环境介绍本系统使用MyEclipse作为开发工具,使用Tomcat为服务器,使用Firefox为默认浏览器。开发前需要首先安装JDK以支持环境的搭建。因为系统要使用ExtJS这个JS框架,开发前首先在MyEclipse中安装插件Spket,以更好的支持ExtJS开发。在Firefox中安装组件Firebug调试工具,它在开发调试JavaScript过程中十分便利。1.3.2开发环境搭建(1)安装JDK以支持Java开发环境,整合MyEclipse和Tomcat服务器,有一个统一便利的集成开发环境。(2)在MyEclipse中安装插件Spket,它是一款全面支持JavaScript的免费开发工具,其体积小巧,它就像是为EXT量身定做的一样。插件Spket安装后默认没有提供对EXT的支持,我们需要将EXT库添加到列表中,并将其设为默认。这样在开发ExtJS的时候可以有相应提示。(3)浏览器Firefox对ExtJS的支持很好,我们使用它作为默认浏览器。Firebug是它的一个组件,它用于调试JavaScript相当方便,它可以显示动态生成的DOM,甚至可以在Firebug里直接对DOM进行修改,而这些修改会反映到显示页面上。Firebug可以查看Ajax方式发送和接收的各种信息,还可以查看发送的参数以及返回的状态和信息。Firebug安装相当简单,在Firefox中搜索,在网页中点击安装即可。1.3.3系统实现模式本系统采用B/S结构,使用JSP/Servlet技术,前台使用RIA富客户端的ExtJS框架,整体上采用MVC模式来实现。下面详细介绍这些概念。(1)在网络程序中,有C/S结构和B/S结构之分,其中C/S是客户端(Client)/服务器(Server)模式,这种模式的客户端中需要安装一个客户端软件,客户端软件负责与服务器进行数据交换。B/S是浏览器(Browser)/服务器(Server)模式,客户端只要有一款浏览器就可以和服务器实现数据交互,Web应用程序就是B/S模式。(2)JSP全称是JavaServerPages,是由SunMicrosystems公司倡导、众多公司参与开发建立的一种动态网页技术标准。JSP技术以Java语言作为脚本语言(Java是一种成熟的跨平台的程序设计语言)。JSP具有非常突出的开放性、跨平台性和高效性。Servlet是一种Java编程语言类,用来扩展通过响应-请求编程模型服务应用程序访问的服务器功能。尽管Servlet能够响应任何类型的请求,但是它们一般用来扩展由服务器支持的应用程序。(3)ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。其无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。本系统使用ExtJS实现了OnePage,OneApplication即一个页面就是一个应用。(4)本系统采用MVC结构设计模式。MVC架构是"Model–View-Controller"的缩写,中文翻译为"模型-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。模型是应用程序的主体部分,表示业务数据和业务逻辑。数据模型主要指实体对象的数据保存(持续化)。业务模型实现应用程序的业务逻辑,比如将一张订单保存到数据库,从数据库获取订单。一个模型能为多个视图提供数据。视图是用户看到并与之交互的界面,向用户显示有关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型,它还能接收模型发出的数据更新事件,从而对用户界面进行同步更新。控制器接受用户的输入并调用模型和视图去完成用户的需求。如当用户单击页面中的提交按钮来发送表单内容时,控制器接受请求并调用相应的模型组件去处理请求,然后更新相应视图来显示模型返回的数据。控制层在数据和应用客户之间担当一个调节者,它实现了业务逻辑的控制,并且响应客户端和数据层之间的交换,它接受客户端的请求,将请求转发到系统服务,并把系统服务返回的结果返回到客户端。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。2可行性分析和需求分析2.1可行性研究可行性研究(FeasibilityStudy),是指在调查的基础上,通过市场分析、技术分析、财务分析和国民经济分析,对各种投资项目的技术可行性与经济合理性进行的综合评价。2.1.1经济可行性作为超市的销售管理系统,由于其数据量相对较小,并且在数据处理上不是很复杂,所以从项目开发的角度来说其开发周期会比较短,它的开发成本不会很高。由于系统数据量相对较少,从系统运行的角度来看,对计算机的性能要求相对来说也不是很高,所以在其管理上所需费用要相对较少。从本系统的投入费用、收益、投资回报周期等方面来看,本系统都是可行的。2.1.2技术可行性随着互联网的迅速发展,基于Internet的B/S架构应用程序逐渐被人们所关注。基于JAVAEE规范的系统设计实现已经非常成熟。能够很好的实现B/S架构的软件。无论是从经济方面还是从技术方面分析的情况上都可以看出,开发超市销售管理系统,实现超市销售管理的计算机化是非常必要的,也是可行的。因为使用计算机化的超市销售管理系统可以很好的改变目前超市销售管理工作的现状,能够提高工作效率。2.2系统需求分析所谓“需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么”。2.2.1功能需求分析根据超市的实际运营情况进行分析,通常它们没有独立的仓库,进货和销售商品都是在同一场所完成,在此,我们即按照这一实际的情况进行系统设计。超市的基本业务状况有销售、进货、库存等,此外系统中还要设置商品、用户、权限等必要的系统信息,还可以查看超市运行财务状况。根据超市的业务流程,必须要设计实现的模块有商品销售模块,以实现商品销售的基本业务。采购进货模块,以实现商品采购进货的基本业务。库存管理模块,实现商品的综合管理业务。此外可以添加辅助功能模块,系统管理和财务管理,分别实现对系统的维护和超市营业状况的分析查询。2.2.2系统性能需求实用性:方便可快捷的实现商品在销售、采购和库存等方面的信息操作。整个系统实现商品信息的统一编码,并由系统管理员集中管理,可以促进系统管理员的工作效率,并有效减少成本和繁琐的工作量。易操作性:本系统在销售、商品管理等重要环节,不需输入任何复杂的信息,管理员只需通过浏览器便可进行数据的录入、查询和修改等工作。适应性:该系统对于软硬件要求并不是趋于高档,能实现广泛应用。本系统是B/S模式,可以实现同时让多个用户访问和操作。同时支持动态添加基本信息,增加的商品供货商等都可以随时添加。易维护性:可以方便的维护系统,可以使用工具导出数据库数据,清空阶段性数据。实现系统数据处理的轻负荷。安全性:系统采用不同的权限级别,不同的用户有不同的操作权限,实现了很好的安全认证。3系统设计3.1系统功能设计超市系统功能的设计首先进行总体设计说明系统功能设计的设计思想和设计原则,在根据总体设计做详细的功能模块设计。实现一体化的设计思路。3.1.1总体设计(1)设计思想:(1)系统分成几个相对独立的模块,但这些模块都进行集中式管理。每个模块都可以完成自己特定的功能,如财务、销售、进货等等。(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。如程序中操作数据库时,在Util层中获取数据库连接,在DAO层中操作数据库完成CRUD操作。这样使程序层次结构分明,便于维护拓展。(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。(2)设计原则:为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循如下原则:(1)合法性原则:依据小型超市实际的工作情况,进行诸如商品进货、销售等工作。(2)实用性原则:适合商品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。(3)准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,长度不超限等)。(4)易操作原则:要求设计的系统功能齐全,接口友好,操作方便,必要的地方进行提示。(5)安全性原则:该系统的管理员具有可设置登录账户,修改密码的权限,不同的用户类型有不同的操作权限。3.1.2详细设计本系统除了登录模块外,主页中共实现五个完整的功能模块,分别是财务管理、商品销售管理、商品进货管理、商品库存管理和系统管理。系统根据不同的用户角色又有不同的功能模块体现,其中销售人员的功能结构图如图3-1所示:图3-1销售人员功能结构图管理员的对应的系统功能结构图,如图3-2所示。图3-2系统功能结构图财务管理模块包括营业综合统计、收银报表查询、结账单据查询、进货报表查询、进货单据查询。财务管理模块中可以根据设定的时间段,查询对应的营业信息。商品销售模块包括销售商品、今日盘点。商品销售模块中系统自动将所有商品按照类别分类显示,销售人员可以选定商品或直接输入商品编号进行销售操作,此外还可以查看当日盘点信息。商品进货模块包括采购进货、今日盘点。商品进货模块中也会自动显示所有商品,采购人员可以选定商品进行采购操作,还可查看当日进货盘点信息。商品库存模块包括库存预警、库存信息查询、损溢处理、损益查询。商品库存模块中可以查看库存预警,查看库存的详细信息。进行库存的损溢操作,查看损益信息等。基于超市运营的实际情况并不设置商品出库的功能。系统管理模块包括用户设置、商品管理、供货商管理、商品类别管理、员工管理、权限管理、登录日志、系统信息。系统管理模块中可以设置用户信息,商品、商品类别、供货商等信息。可以添加员工并设置员工的权限。系统会自动查询出登录日志和设定的系统信息并做出相应展现。管理员可以添加账户类型,并设置相应的权限。3.2系统用例分析对系统做角色用例分析,这样可以很好地体现系统各个模块的设计思路,体现系统功能模块设计的必要性。3.2.1用例分析用例分析是干什么用的呢?要说明这个问题,我们看看下面几个概念。角色(Actor)是与系统交互的人或事。所谓与“系统交互”指的是角色向系统发送消息、从系统中接收信息,以及在系统中的信息交换。使用用例与系统互相交流的任何人或事都是角色。比如,某人使用系统中提供的用例,则该人就是角色。用例是对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生可观察到的系列结果。我们可以这样通俗的理解,用例是参与者想要系统做的某件事情。根据用例和角色的概念,通过对超市销售管理系统需求的了解,可以得到如图3-3所示的分析结果:图3-3系统用例图在图3-3中像人一样的图形就是角色,通过对超市销售管理系统的需求分析可知系统默认有管理员角色,管理员拥有所有系统权限,它可以添加其他用户和设置其权限;图中椭圆代表的是用例(这里分析的是系统整体上的功能);中间的箭头将角色与用例连接起来,代表的是对应的角色可以使用的用例,有一个箭头就代表对应的角色可以使用用例,没有箭头则表示对应的角色不能使用该用例。3.2.2用例详细说明光有用例分析是不够的,用例只是程序的功能界定,需求概述也仅仅对每个功能提了个名字,想要实现系统的功能还必须知道每个功能的详细内容,深入了解用户在完成系统的某个功能时需要做些什么事。下面就让我们来看看图中用例的详细说明。(1)系统登录所有的用户都可以登录,系统会自动加载与其权限对应的主界面。(2)财务管理可以根据设定的时间段查看超市整体的营业状况,查看这一时间内销售或进货的报表,查看某一结账单据的详细等等。(3)商品销售可以输入商品编号或商品树中选择商品,进行销售商品的操作,盘点当日的销售状况。(4)采购进货可以输入商品编号或商品树中选择商品,进行采购商品的操作,盘点当日的采购状况。(5)商品库存查看库存预警,商品少于一定数量则自动显示在预警页面中。查看库存详细信息。进行库存商品的损溢操作,查看损溢信息等。(6)系统管理设置系统运行的必要信息,添加商品、商品类别,供货商信息,添加员工设置权限,查看登录日志,查看系统信息等。3.3数据库需求分析数据库在一个系统中占有非常重要的地位,数据设计的优劣将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存取效率,保证数据完整性和一致性,从而有利于程序的实现。设计数据库系统时应该首先充分了解系统需求的各个方面的需求,包括现有的和将来可能增加的需求。目前商业应用中最主要的是关系数据库。Oracle、DB2、Sybase、MSSQLServer、MySQL等都是关系数据库。本系统选用MySQL数据库。MySQL是当前应用最广泛的开源数据库软件,在非商业用途下可免费使用。MySQL精小但是执行效率高,运行稳定,深受欢迎。需求具体体现在各种信息的提供、保存、更新和查询上,这就要求数据库结构能充分满足各种信息的输出和输入。通过收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据词典,为后面的具体设计打下基础。在仔细分析和调查系统的基础上,针对超市销售管理系统的需求,通过对超市运营的流程和数据进行分析,设计如下所示的数据项和数据结构:用户信息:包括用户名称、系统启用时间、用户地址、联系电话、营业时间。其对应的实体属性图如图3-4所示:图3-4用户信息实体属性图权限信息:包括用户类型编号、用户类型名称、财务管理权限、商品销售权限、商品进货权限、商品库存管理权限、系统管理权限。(其中TRUE=1和FALSE=0)其对应的实体属性图如图3-5所示:图3-5权限信息实体属性图员工信息:包括员工工号、员工姓名、员工密码、用户类型。其对应的实体属性图如图3-6所示:图3-6员工信息实体属性图日志信息:包括日志编号、员工工号、登录时间、退出时间、登录IP。其对应的实体属性图如图3-7所示:图3-7日志信息实体属性图供货商信息:包括供货商编号、供货商名称、联系人、联系电话、联系地址。其对应的实体属性图如图3-8所示:图3-8供货商信息实体属性图商品类别信息:包括类别编号、类别名称、类别说明。其对应的实体属性图如图3-9所示:图3-9商品类别信息实体属性图商品信息:包括商品编号、商品名称、单位、类别、成本价、单价。其对应的实体属性图如图3-10所示:图3-10商品信息实体属性图商品库存信息:包括商品编号、库存数量。其对应的实体属性图如图3-11所示:图3-11商品库存信息实体属性图损溢信息:包括损溢编号、商品编号、供货商、损溢数量、损溢标注、损溢说明、损溢日期、操作员。其对应的实体属性图如图3-12所示:图3-12损溢信息实体属性图销售商品信息:包括账单号、商品编号、销售数量、应收金额、折扣率、实收金额、销售日期、操作员。其对应的实体属性图如图3-13所示:图3-13销售商品信息实体属性图采购商品信息:包括帐单号、商品编号、供货商、进货数量、支付金额、进货日期、操作员。其对应的实体属性图如图3-14所示:图3-14采购商品信息实体属性图3.4创建数据库我们选用MySQL数据库,首先创建超市销售管理系统数据库market,创建数据库的SQL语句为:createdatabasemarketdefaultcharactersetutf8;,并使用当前数据库“usemarket”开始创建表:其中,用户信息表如表3-1所示,表名user,主键user_name。表3-1用户信息表字段名字段类型长度主/外键约束对应中文名user_namevarchar40PNOTNULL用户名称sys_use_timedatetimeNOTNULL系统启用时间user_addrvarchar40--NOTNULL用户地址user_phonevarchar20--NOTNULL联系电话open_timevarchar20--NOTNULL营业时间用户信息表中存储系统超市名称、地址、联系电话等信息。设定后它会自动加载到主页的系统信息上,每次登录时会自动显示出来。权限信息表如表3-2所示,表名userlimit,主键user_type_id。表3-2权限信息表字段名字段类型长度主/外键约束对应中文名user_type_idint--P(auto)NOTNULL用户类型编号user_type_namevarchar20--NOTNULL用户类型名称cw_ctrlintNOTNULL财务管理权限sell_ctrlintNOTNULL商品销售权限buy_ctrlintNOTNULL商品进货权限stock_ctrlintNOTNULL库存管理权限sys_ctrlintNOTNULL系统管理权限权限表中拥有某个权限TRUE=1,没有权限FALSE=0,向权限表中加入初始数据,定义用户类型“admin”管理员拥有所有权限,SQL语句为“insertintouserlimitvalues(null,'admin',1,1,1,1,1);”。员工信息表如表3-3所示,表名person,主键per_id。表3-3员工信息表字段名字段类型长度主/外键约束对应中文名per_idint--PNOTNULL员工工号per_namevarchar20--NOTNULL员工姓名per_passwordvarchar20--NOTNULL员工密码user_type_idint--F(userlimit)NOTNULL用户类型系统默认使用员工工号进行登录,管理员可以添加员工设定其工号和密码,并设置其权限类型。这里向员工表中加入初始数据,加入管理员账户其SQL语句为“insertintopersonvalues(1111,'admin','1111',1);”,即管理员工号:1111,密码:1111。这样启用系统后便可以使用此账户进行系统初始化操作了。员工使用其工号登录时,系统会自动根据其用户类型确定其权限,并加载对应的UI。日志信息表如表3-4所示,表名log,主键log_id。表3-4日志信息表字段名字段类型长度主/外键约束对应中文名log_idint--P(auto)NOTNULL日志编号per_idint--F(person)NOTNULL员工工号login_timedatetimeNOTNULL登录时间logout_timedatetimeNOTNULL退出时间login_ipvarchar20--NOTNULL登录IP用户登录时系统会自动记录登录员工的工号和其登录时间、登录IP地址等信息,当用户退出时系统会自动记录其时间并更新对应记录。供货商信息表如表3-5所示,表名provider,主键pv_id。表3-5供货商信息表字段名字段类型长度主/外键约束对应中文名pv_idint--P(auto)NOTNULL供货商编号pv_namevarchar20--NOTNULL供货商名称pv_pervarchar20--NOTNULL联系人pv_addrvarchar40--NOTNULL联系电话pv_phonevarchar20--NOTNULL联系地址设定供货商信息,在采购进货时会加载供用户选择,每笔订单中的记录都可以设定各自的供货商信息。商品类别信息表如表3-6所示,表名category,主键cg_id。表3-6商品类别信息表字段名字段类型长度主/外键约束对应中文名cg_idint--P(auto)NOTNULL类别编号cg_namevarchar20--NOTNULL类别名称cg_statevarchar40--NOTNULL类别说明设定商品类别后,添加商品的时候便可以根据商品类别添加,系统也会按照商品类别分类显示。商品信息表如表3-7所示,表名sp,主键sp_id。表3-7商品信息表字段名字段类型长度主/外键约束对应中文名sp_idint--P(auto)NOTNULL商品编号sp_namevarchar20--NOTNULL商品名称sp_unitvarchar20单位cg_idint--F(category)NOTNULL类别sp_costdoubleNOTNULL成本价sp_pricedoubleNOTNULL单价添加商品后,进行进货、销售、损溢等操作时系统会自动将所有商品按照商品类别分类展示出来,供用户选择使用。商品库存信息表如表3-8所示,表名stock,主键sp_id。表3-8商品库存信息表字段名字段类型长度主/外键约束对应中文名sp_idint--P(auto)F(sp)NOTNULL商品编号stock_countintNOTNULL库存数量通过查询商品库存表可以查看库存预警信息和详细的库存信息。表中没有的冗余字段查询的时候使用表的联合查询来实现。损益信息表如表3-9所示,表名sy,主键sy_id。表3-9损溢信息表字段名字段类型长度主/外键约束对应中文名sy_idint--P(auto)NOTNULL损溢编号sp_idint--F(sp)NOTNULL商品编号pv_idint--F(provider)NOTNULL供货商sy_countintNOTNULL损溢数量sy_bzintNOTNULL损溢标注sy_statevarchar40损溢说明sy_timedatetimeNOTNULL损溢日期per_idint--F(person)NOTNULL操作员库存商品会有损溢情况,这里设置这个表,产生商品损溢时进行记录同时更新商品库存表。销售商品信息表如表3-10所示,表名sell,主键s_bill,sp_id。表3-10销售商品信息表字段名字段类型长度主/外键约束对应中文名s_billvarchar20PNOTNULL账单号sp_idint--P/F(sp)NOTNULL商品编号s_countintNOTNULL销售数量s_ysdoubleNOTNULL应收金额s_ratedouble折扣率s_ssdoubleNOTNULL实收金额s_timedatetimeNOTNULL销售日期per_idint--F(person)NOTNULL操作员销售商品信息表使用联合主键“primarykey(s_bill,sp_id)”,通过账单号和商品ID可以确定这个表中的一条记录。通过这个表可以查询销售记录,形成财务销售信息,借此以辅助提高超市的决策水平。采购商品信息表如表3-11所示,表名buy,主键b_bill,sp_id。表3-11采购商品信息表字段名字段类型长度主/外键约束对应中文名b_billvarchar20PNOTNULL账单号sp_idint--P/F(sp)NOTNULL商品编号pv_idint--F(provider)NOTNULL供货商b_countintNOTNULL进货数量b_zfdoubleNOTNULL支付金额b_timedatetimeNOTNULL进货日期per_idint--F(person)NOTNULL操作员采购商品信息表使用联合主键“primarykey(b_bill,sp_id)”,通过账单号和商品ID可以确定这个表中的一条记录。通过这个表可以查询采购记录,形成财务进货信息,借此以辅助提高超市的决策水平。4系统实现根据前面的分析和设计,以功能模块为单位逐个进行编码实现,这里以不同用户角色进入系统(这里以销售人员和系统管理员为例进行分析说明),分析其对应的各个功能模块的实现方法,展示其实现效果。4.1销售员功能模块实现销售人员只是负责商品的销售工作,他们可以登录系统,并进行商品的销售和销售的盘点工作。这里便介绍登录模块和商品销售模块。4.1.1登录模块的实现登录页面是系统的初始界面,用户只有登录成功才会出现系统主界面,可以进行相应操作。它是系统的门户,登录后实现了用户的权限区分。实现的登录界面和信息验证如图4-1所示:图4-1登录界面用户登录模块会自动校验用户输入的信息,符合要求后才可以提交。登录成功自动进入系统主界面(系统根据用户类型对应的用户权限,向用户展示出对应的操作主界面),登录失败会有相应提示。登录模块实现的流程如图4-2所示:图4-2登录模块实现流程图本模块遵循MVC模式使用ExtJS实现其前台使用Servlet处理后台逻辑。修改项目中web.xml配置,将欢迎界面改为login.jsp,在项目中创建login.jsp登录页面,引入EXT,使用ExtJS创建登录界面。创建login.js文件,使用EXT实现登录界面和登录信息校验,及Ajax提交登录信息。系统后台接收登录请求信息并加以处理,ServletLogin.java接收请求并交由业务处理类LoginBean.java进行处理,它调用DAO层各个类,实现登录信息的验证,并将验证结果返回。其源代码如下: publicbooleanaction(HttpServletRequestrequest){ booleanmsg=false; inttypeid=0; intper_id=Integer.parseInt(request.getParameter("per_id")); Stringpw=request.getParameter("per_password"); PersonDAOpDAO=PersonDAOFactory.getPersonDAOInstance(); try{ typeid=pDAO.queryId(per_id,pw); }catch(Exceptione){e.printStackTrace();} if(typeid==0){//登录验证失败 returnmsg;}else{//登录成功 perid=String.valueOf(per_id); UserlimitDAOulDAO=UserlimitDAOFactory.getUserlimitDAOInstance(); try{ Userlimitul=ulDAO.query(typeid);//获取用户权限 ulstr=ul.toCtrl(); }catch(Exceptione1){e1.printStackTrace();} LogDAOlDAO=LogDAOFactory.getLogDAOInstance(); Logl=newLog(); l.setPer_id(per_id); l.setLogin_time(newjava.text.SimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(newDate())); l.setLogout_time(newjava.text.SimpleDateFormat("yyyy-MM-ddHH:mm:ss").format(newDate())); l.setLogin_ip(request.getRemoteAddr());//获取客户端IP try{logid=lDAO.insert(l);//设定登录日志 }catch(Exceptione){msg=false; e.printStackTrace();} msg=true;}returnmsg;}…//get/set方法}完成功能代码后,便可实现系统的整个登录过程。4.1.2商品销售模块的实现超市系统的一个重要功能就是商品销售,本系统提供一个简易的商品销售接口,更加接近实际。同时商品销售模块中提供今日盘点功能,随时查看销售信息。这里以商品销售为例,介绍其具体实现。创建商品销售的JS文件sellsp.js,其中实现了商品信息的加载提示(商品树),添加商品时信息的校验,账单中商品的查看,账单的提交等功能。其中添加商品的表单和商品树以及账单商品的表格之间实现了交互。首先前台界面的运行效果如图4-3所示:图4-3商品销售管理-商品销售界面销售商品时点击左侧商品树并选择所需商品,其编号会自动加载到添加商品的表单中,或直接填写商品编号也可,再填写商品数量设定折扣率等信息后点击添加按钮,商品会自动添加上方的账单中,添加完毕点击提交账单来完成结算。销售商品的实现流程如图4-4所示:图4-4商品销售管理-销售商品实现流程图使用ExtJS实现前台界面,实现了前台的界面后,添加后台代码实现Servlet和业务数据操作。控制器Servlet会调用Model层的业务实现类SellspBean.java,其中编码前需要加入处理Json数据的jar包。其源代码如下:publicclassSellspBean{ publicbooleanaction(HttpServletRequestrequest){ Stringdata=request.getParameter("jsonData"); booleanmsg=true; List<Sell>sl=newArrayList<Sell>(); JSONArrayja=JSONArray.fromObject(data);//处理Json数据 Stringbill=TheBill.getBillInstance(); for(inti=0;i<ja.size();i++){ JSONObjectjo=ja.getJSONObject(i); Sells=newSell(); s.setS_bill(bill); s.setSp_id((Integer)jo.get("sp_id")); s.setS_count((Integer)jo.get("s_count")); s.setS_ys(Double.parseDouble((String)jo.get("s_ys"))); s.setS_rate(Double.parseDouble(String.valueOf(jo.get("s_rate")))); s.setS_ss(Double.parseDouble((String)jo.get("s_ss"))); s.setS_time((String)jo.get("s_time")); s.setPer_id(Integer.parseInt((String)request.getSession().getAttribute("per_id"))); sl.add(s); } SellDAOsDAO=SellDAOFactory.getSellDAOInstance(); try{ sDAO.insert(sl);//添加销售信息 }catch(Exceptione){ msg=false; e.printStackTrace(); } returnmsg; }}实现了控制器Controller和业务模型Model后,便可以实现销售商品的功能模块了。4.2管理员功能模块实现管理员拥有系统的所有权限,首先登录系统,登录后可以操作所有的功能模块。管理员的登录模块和商品销售模块和普通销售人员的模块是相同的,实现方式相同,这里便不再赘述,只做其他模块的介绍。4.2.1系统管理模块的实现用户登录成功后,可以进行各种操作。这时系统中要有数据,系统管理模块中各个功能项用来初始化系统数据,如设定用户信息,添加商品,设置账户和权限等等。此模块中各个功能项使用相同的实现模式,这里以权限管理为例,介绍其具体实现。首先介绍系统主页,本系统是OnePage,OneApplication模式,各个页面使用ExtJS实现,只要创建各个页面的JS文件并在主页index.jsp中引入即可。界面的布局和显示效果都是由ExtJS来实现。创建主页后引入各个主页布局的JS文件(如:index.js、index.tab.js、index.tree.js等),使用它们实现的主页界面如图4-5所示:图4-5超市销售管理系统主界面系统管理中的权限管理实现流程如图4-6所示:图4-6系统设置-权限管理实现流程图创建系统管理中权限管理的JS文件sysqx.js实现权限管理的界面。其中包含了信息校验,Ajax提交信息,自动加载信息等实现。权限的CRUD等请求提交到控制器ServletSysqx.java这个Servlet中,它会调用Model层各个处理类加以处理并返回处理结果,显示到页面中。ServletSysqx的源代码如下: publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{ request.setCharacterEncoding("UTF-8"); SysqxBeansqx=newSysqxBean();//调用Model层业务处理类 booleanmsg=sqx.action(request); response.setCharacterEncoding("UTF-8"); if(sqx.getIs().equals("qey")){ response.setContentType("text/javascript;application/x-json"); if(msg){ response.getWriter().print("{success:true,root:"+sqx.getUll().toString()+"}"); }else{ response.getWriter().print("{success:false}"); } }elseif(sqx.getIs().equals("add")){ if(msg){ response.getWriter().print("{success:true,msg:'添加成功!'}"); }else{ response.getWriter().print("{success:false}"); } }…//实现同上完成权限处理的代码后,就可实现权限管理的功能。可以实现了用户类型设定并指定其权限,实现的效果如图4-7所示:图4-7系统管理-权限管理界面4.2.2商品进货模块的实现超市系统采购进货是一个必须的功能,本系统提供商品进货模块,实现采购进货。此模块和商品销售模块实现的功能类似,有采购进货和今日盘点,并且他们的实现模式也是类似的,这里以采购进货的今日盘点为例,介绍其具体实现。在进货模块中点击今日盘点,系统自动将今日进货的信息取出展示出来。采购进货模块今日盘点的运行效果如图4-8所示:图4-8商品进货管理-今日盘点界面商品进货今日盘点实现流程如图4-9所示:图4-9商品进货管理-今日盘点实现流程图创建JS文件buypd.js实现今日盘点的界面和数据请求,其源代码如下:Espace("buypd");buypd.panel=function(){… vargrid=newExt.grid.GridPanel({ title:'今日盘点', loadMask:true, closable:true, store:store, cm:columns, sm:newExt.grid.RowSelectionModel({singleSelect:true}), height:20,region:'center',viewConfig:{forceFit:true},tbar:newExt.Toolbar(['-',{ id:'thesum', text:summsg, xtype:'tbtext'},'-']),bbar:newExt.PagingToolbar({pageSize:10,store:store,displayInfo:true,displayMsg:'{0}-{1}共{2}',emptyMsg:"没有记录",listeners:{ 'change':function(){ summsg='当前页支出总计:'+acount(); Ext.get('thesum').update(summsg); }}}) }); returngrid;};4.2.3商品库存模块的实现本系统中提供库存管理的模块,其中可以查看库存预警,库存详细信息,进行库存商品的损溢操作和查询损溢信息。他们都是对库存信息表的操作,实现模式类似,这里以库存信息查询为例,介绍其具体实现。首先创建前台的JS文件stockcx.js,实现界面布局和数据请求,这里商品信息按照商品类别分类显示,实现了UI页面后运行效果如图4-10所示:图4-10商品库存管理-库存信息查询界面点击库存信息查询系统自动将库存商品的信息查询出来展示给用户。流程如图4-11所示:图4-11商品库存管理-库存信息查询实现流程图实现后台业务的代码和上边各个模块的实现类似,处理库存信息的类StockBean.java其核心代码如下:publicbooleanaction(HttpServletRequestrequest){ StockDAOsDAO=StockDAOFactory.getStockDAOInstance(); is=request.getParameter("is"); booleanmsg=true; if(is!=null&&is.trim().equals("yj")){ intstart=Integer.parseInt(request.getParameter("start")); intlimit=Integer.parseInt(request.getParameter("limit")); try{ ms=sDAO.yjquery(start,limit); }catch(Exceptione){ msg=false; e.printStackTrace(); } Iteratori=ms.entrySet().iterator(); if(i.hasNext()){ me=(Map.Entry)i.next(); } }elseif(is!=null&&is.trim().equals("cx")){ intstart=Integer.parseInt(request.getParameter("start")); intlimit=Integer.parseInt(request.getParameter("limit")); try{ ms=sDAO.query(start,limit); }catch(Exceptione){ msg=false; e.printStackTrace(); } Iteratori=ms.entrySet().iterator(); if(i.hasNext()){ me=(Map.Entry)i.next(); } } returnmsg; }4.2.4财务管理模块的实现在超市销售管理系统中加入财务管理的模块,用户可以查询销售和进货的报表或某一个具体的账单,还可以进行综合查询了解当前的营业状况,以辅助决策营销策略。这几个功能项的实现模式类似,这里以收银报表查询为例,进行具体介绍。首先创建前台的JS文件cwsybb.js,实现页面布局和Ajax请求数据。其实现和前面各个UI的实现类似,收银报表查询实现后其运行效果如图4-12所示:图4-12财务管理-收银报表查询界面用户在上方工具条上点击时间日期选择按钮,选择出相应的时间段,开始时间要早于结束时间,系统会自动校验。选择完成点击查询按钮,系统将会把请求的数据展示出来。其中收银报表的实现流程如图4-13所示:图4-13财务管理-收银报表查询实现流程图实现了前台的UI后,后台添加处理业务逻辑的代码,其业务实现类CwsybbBean.java的源代码如下: publicbooleanaction(HttpServletRequestrequest){ SellDAOsDAO=SellDAOFactory.getSellDAOInstance(); booleanmsg=true; is=request.getParameter("is"); if(is!=null&&is.trim().equals("jzdj")){//查询结账单据 intstart=Integer.parseInt(request.getParameter("start")); intlimit=Integer.parseInt(request.getParameter("limit")); Stringbill=request.getParameter("bill"); try{ Map<List<Sell>,Integer>ms=sDAO.jzdjquery(start,limit,bill); Iteratori=ms.entrySet().iterator(); if(i.hasNext()){ me=(Map.Entry)i.next();} }catch(Exceptione){ msg=false; e.printStackTrace();} }else{//查询收银报表 intstart=Integer.parseInt(request.getParameter("start")); intlimit=Integer.parseInt(request.getParameter("limit")); Stringst=request.getParameter("st"); Stringet=request.getParameter("et"); try{ Map<List<Sell>,Integer>ms=sDAO.cwsybbquery(start,limit,st,et); Iteratori=ms.entrySet().iterator(); if(i.hasNext()){ me=(Map.Entry)i.next(); } }catch(Exceptione){ msg=false; e.printStackTrace(); } List<Sell>sl=(List<Sell>)me.getKey(); data+="["; for(intj=0;j<sl.size();j++){ Sells=sl.get(j); data=data+s.tosybb()+","; } data=data.substring(0,data.length()-1)+"]"; } returnmsg; } …//get/set方法}5系统测试软件测试应追溯到用户需求做全面的测试,穷尽测试是不可能的应尽早和不断地测试,并具有良好的测试态度。软件测试按照是否需要查看代码分类可以分为白盒测试和黑盒测试。针对本系统采用以下测试方案。5.1测试方案系统测试是软件开发结束后进行的软件质量检验活动。它来验证软件产品是否符合预期的各项要求,查找到系统存在的bug并加以修正。本超市销售管理系统,属于小型的Web应用。由于设计的功能不是那么复杂,并且对系统的性能要求不是十分严格,所以决定采用本地访问的方式进行测试,即在本地访问本地运行的服务器。测试旨在测试系统的性能,找到系统的瓶颈,以优化系统,从而达到系统的基本要求,并且计划进行多次测试以确保测试结果的准确性。测试中需要将各个模块中个每个功能都进行测试,鉴于每个功能模块的测试方法基本相同,这里便以商品销售模块中的销售商品功能为例介绍其测试。5.2测试用例5.2.1测试环境硬件环境:CPU3.0GHz硬盘500G内存4GB。软件环境:MicrosoftWindows7ultimateversionServicePack1测试软件:Tomcat7.0.25和Firefox11.0(Firebug)。数据库服务器:MySQL.2测试方案根据本系统设计的特点,我们采取单体测试和集成测试相结合的测试方案。测试的重点分为数据库CURD测试和前台UI界面兼容性布局合理性测试及Model层业务类debug测试。测试商品销售模块中的销售商品功能,首先打开UI界面查看界面是否友好,布局是否合理。接下来在销售商品的窗口中添加一些商品,点击保存账单,然后到数据库中查看结果,如果插入了记录则表示数据操作成功,如果没有插入记录则表示数据库操作失败。使用MyEclipse进行debug测试,设置断点查看程序每一步运行的流程,监控其运行状态,查看有无明显bug。5.3测试结果以销售商品的功能为例进行说明,其UI界面布局合理美观,Model层无明显bug,并且数据库测试通过无误。经过以不同侧重点进行的测试和以不同用户身份的使用测试,系统已经达到预期的效果。结束语在指导老师的帮助下,经过本人的不懈努力,完成了从系统设计到实现的全过程,切身体会了系统开发的全过程,真是受益匪浅。本系统设计的五个功能模块财务管理、商品销售管理、商品进货管理、商品库存管理、系统管理比较全面的涵盖了小型超市运营的流程,可以实现对超市的智能化,现代化管理,可以使超市运作更加高效,并辅助加强了其决策水平。使用现代化管理软件不仅可以加速业务流程,而且使整个流程更加的规范化。每一处的业务信息都收录其中,方便随时查看,形成宝贵的营业数据,系统通过分析营业数据将小型超市业务的各个方面以不同的角度展示给管理者,以达到快速高效的管理水准。另一方面如果一个管理系统没有较高的安全性,营业数据丢失或泄露将造成很严重的后果。本系统分为不同的权限级别,从安全性方面考虑,都实现了很好的保障。软件设计是一个精细漫长的过程。在整个过程中,都需要周密的计划和安排,每一步骤,都需要按照软件工程标准来完成。在设计中,始终坚持理论指导实践原则,并通过实践来加强理论的学习,通过锻炼,我熟悉了软件开发的一般过程,加强了对实际问题的处理能力。实践证明,在高科技突飞猛进的时代,光靠课堂所学的知识是远远不够的,必须依靠实践去不断的深化认识,尤其是计算机科学,操作性和实践性很强,只有加强实际的动手能力,才能更好的掌握这一现代化工具。由于个人能力有限,在系统开发过程中仍存在许多不足,例如在设计上仍有和实际情况不符合的地方,在系统性能上也不够完善,希望在以后的学习实践中可以继续研究改进。致谢本次毕业设计的选题、设计方法及报告的撰写均是在我的指导教师:xxx的细心指导下进行的。设计中离不开老师细心的帮助,没有老师的细心指导,就没有我的设计成果。xxx老师在面向对象设计方面有很多的实践经验,使得我在设计时遇到的困难都能够迎刃而解,在我面对问题的时候对我细心的指导和帮助及其严谨的工作态度、创新的精神,都使我受益匪浅,在此特别向老师表示深深的感谢和由衷的敬意。另外,还要感谢学校给我们提供了此次毕业设计的机会,不仅使我们所学的知识得以应用到实际中,也使我们开阔了视野,拓宽了思路,增长了学识,而且为我们今后的工作和学习打下了牢固的基础,也增强了我们对计算机的兴趣。在此次毕业设计中所学到的在以后的学习,工作,乃至生活上都将是我们宝贵的财富。最后,再一次衷心的感谢给予我的帮助与支持的老师和同学们,谢谢你们!参考文献[1]朱仲杰.《JAVASE6全方位学习》.机械工业出版社,2008-06,20-35[2]卜炟.《21天学通JavaWeb开发》.电子工业出版社,2009-04,29-36[3]刘京华.《JavaWeb整合开发王者归来》.清华大学出版社,2010-0120-98[4]徐会生,康爱媛,何启伟.《深入浅出ExtJS》第二版.人民邮电出版社,2010-05,56-195[5]陶国荣.《JQuery权威指南》.机械工业出版社,2011-10,15-30[6]张红实,何桂兰.《JavaWeb应用软件开发》.电子工业出版社,2010-08,26-29[7](美)埃克尔.《Java编程思想》第四版.机械工业出版社,2007-06,20-200[8]大漠穷秋.《Ext江湖》.电子工业出版社,2012-01,66-350[9]耿祥义,张跃平,《Java2实用教程(第三版)》清华大学出版社,2006,25-66[10]张小波,曾锡山《Java程序设计实训教程》冶金工业出版社,2006,36-55[11]孙一林,彭波,《Java数据库编程实例》,清华大学出版社,2003,66-95[12]严桂兰,刘甲耀,刘波,《Java编程模式与范例》,机械工业出版社,2002,66-78[13]美WayS.Horstmann著.《最新Java2核心技术卷工:原理》,机械工业出版社,2002-02,25-68[14]美2ScottOaks著.林琪译.《JavaTM安全》第二版),中国电力出版社,2002-4,35-46[15]美GeorgeReese著.石永薪,宋隆译.《JDBC与Java数据库编程》,中国电力出版社,2002-3,36-99附录资料:不需要的可以自行删除电脑故障集错误与非法篇电脑故障集1(1~14)错误及非法篇一、注册错误信息ERROR:BadLoginNameformatERRORbc:BadLogin0这表示你的用户名错误或不存在。在客户端你看到的提示是:"EithertheAccountnameorPasswordyouprovidedwereincorrect.Ifthisisanewaccount,youraccountmaynotbeactiveyet.pleasetryagainshortly"(如果客户端没有输入名字或密码,会得到同样的提示)ERRORbc:BadLogin。1.这表示你的用户名正在被使用,比如已经有人用该用户名登录或者非正常断线的用户没有被服务器释放ERRORbc:BadLogin2.此信息表示该用户名已经被系统管理员封锁(blocked),通常是在游戏中GM使用了/KICK命令造成的。用户可以写邮件给管理员查询ERRORbc:BadLogin。3.次信息表示你输入的密码错误(注意:服务器控制窗口将显示错误和正确的密码)。客户端将得到如下信息:"Youraccountcredentialsareinvalid.CheckyouruserIDandpasswordandtryagain."ERRORc0:BadLogin。4.通常这个信息表示服务器端与客户端的版本不匹配,升级客户端版本可以解决此问题。客户端得到的信息提示为:"ThereissomeproblemcommunicatingwithOrigin.PleaserestartUltimaOnlineandtryagain"GeneralErrorMessages二、基本错误信息BadSpawnpointuid=040006380,id=0此信息指示了一个错误的重生点设置,UID指物品创建的定义标识符,ID#则表示该物品的对应描述小节。你可以参照UID的代码(#)使用/GOUIDUID#命令找到该物件并移除它。注意并非立即生效ERROR:Improperlyscripteditem####ERROR:CreateBaseinvaliditem0####这表示服务器试图使某些物品重生时未能在脚本文件中找到它的相关描述小节。你可以从TUSdefs.scp中找出#对应的对象并且校正它们。ERRORNewWalkCount1!=65535上面所表示的数字可能有所不同,但表示的是同一个意思。这表示服务器和客户端未能保持及时地同步,你完全可以忽略这一诬害信息。ERRORa4:Unrequestedtargetinfo?此错误发生于多种下,在正常状态下发生于鼠标点击对象的错误动作,比方说对这门施法术;另外一些情况发生于在错误的时间里取消鼠标的指向动作。在/INFO窗口中的一些物品会导致此错误的发生。ERROR:CWorld.ClockEndofWorldtime.Recycle这种情况会在服务器运行了50天后发生一次。Whatisunsureisifthetimerresetsonaservershutdownorifitholdsit'stimersetting(maybeintheworldfile)andrestartsfromthereonnextstartupERROR:10Lostitemsdeleted在服务器储存期间,如果某件物品与一个不存在的容器相关联,服务器会标识并删除它们。ERROR:ProfailERRORbc:BadMsg01Eat5bytes这表示服务器想要显示的错误文本信息并不存在。ERROR:CreateBaseinvaliditem00通常此信息指示一个错误的重生或重生位置。但同样也会发生于这种情况:玩家创建/制造的物品并不存在,或者GM做了同样的动作。通灵术同样会产生此错误信息。WARNING:Didnotfindscript'xxxxxx.scp'section'XXXXX'这条错误信息告诉你没有找到脚本文件中的定义物品例子:WARNING:Didnotfindscript'tustables.scp'section'SKILL50'技能的定义到[SKILL49]为止,服务器没有找到[SKILL50],因为它没有被编写到脚本文件中去。此错误可以被忽略,但可以用来帮助你判断错误的根源所在。WARNING:can'tfinddefinitionfor'??'!此信息表明你有一个编写错误的trigger。三、电脑自检响铃代码和错误信息POST(PowerOnSelfTest,加电自测试)是电脑开机自检程序,当硬件出现问题时,它能给我们一些提示,从而可以确定错误产生的部件和找出解决的方法。BIOS自检响铃及其意义1、AMI的BIOS1短:内存错误2短:内存校验错误3短:基本内存错误4短:系统时钟错误5短:处理器错误6短:键盘控制器错误7短:实模式错误8短:显示内存错误9短:ROMBIOS校验错误1长3短:内存错误1长8短:显示测试错误。2、Award的BIOS1短:系统启动正常1长1短:内存或主板出错1长2短:显示错误(显示器或显示卡)1长9短:主板FlashROM或EPROM错误(BIOS损坏)不停地响(长):内存损坏或接触不良不停地响(短):电源、显示器或显示卡接触不良重复地响(短):电源3、Phoenix的BIOS1短:系统启动正常3短:系统加电初始化失败.四、综合类错误信息及其故障部位(或原因)103、131:主板104:硬盘201:RAM24XX:显示卡301:键盘601:软驱1701:硬盘1801:扩展设备BASIC:驱动器ParityCheck?:RAM,电源MemoryParityErroratxxxx:内存的xxxx地址奇偶校验错误I/OCardParityErroratxxxx:输入/输出设备的xxxx地址奇偶校验错误DMABusTime-out:设备的总线驱动超过了7。8微秒8042GateA-20Error:键盘控制器(8042)中的GateA20开关AddressLineShort:主板的地址解码线路CacheMemoryBadDoNotEnableCache:Cache出错C:DriveFailure:C盘出错CH-2TimerError:主板上的第2时钟CMOSBatteryStateLow:主板电池没电CMOSChecksumFailure:CMOSRAM和正常值不符CMOSDisplayTypeMismatch:显示类型和CMOS设定值不符CMOSMemorySizeMismatch:内存容量和CMOS设定值不符CMOSSystemOptionsNotSet:CMOS设置被破坏或不存在CMOSTimeandDateNotSet:进入CMOS设置时间和日期DisketteBootFailure:启动盘失效,不能引导,换其它启动盘重启DisplaySwitchNotProper:关掉机器,设置主板上关于显示卡器的跳线DMAError:DMA控制器出错DMA#1Error:第1个DMA控制器出错DMA#2Error:第2个DMA控制器出错FDDControllerFailure:BIOS不能和软驱控制器通信,检查一下软驱的连线TableBad:FAT(文件分配表)被破坏GeneralFailureReadingDriveC:C盘有一般性读错误HDDControllerFailure:BIOS不能和硬盘控制器通信,检查一下硬盘的连线INTR#1Error:在POST时第一个中断通道出错INTR#2Error:在POST时第二个中断通道出错InvalidBootDiskette:BIOS不能读A驱的盘,换一只试试KeyboardisLocked:UnlockIt键盘被锁,必须开锁才能继续系统引导KeyboardError:键盘时钟有问题,在CMOS中重新设置成NotInstalled来跳过POSTKB/InterfaceError:键盘控制器出错OffBoardParityError:在扩展内存卡上的xxxx地址发生奇偶校验错误OnBoardParityError:主内存的xxxx地址发生奇偶校验错误ParityError:内存中的不明地址发生奇偶校验错误TimerNotOperational:计时器出错五、13种BIOS报错信息及排

温馨提示

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

评论

0/150

提交评论