超市管理系统毕业论文.doc_第1页
超市管理系统毕业论文.doc_第2页
超市管理系统毕业论文.doc_第3页
超市管理系统毕业论文.doc_第4页
超市管理系统毕业论文.doc_第5页
免费预览已结束,剩余35页可下载查看

下载本文档

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

文档简介

扬 州 市 职 业 大 学毕 业 设 计 说 明 书设计(论文)题目: 博雅超市管理系统系 别: 信息工程学院 专 业: 软件技术 姓 名: 学 号: 指导教师: 完成时间: 2012-4-20 摘要摘要随着时代的发展,越来越多的人开起了小型超市,它可没有便利店那样好管理,因此便开发了博雅超市管理系统,此系统主要使用visualstudio2008开发平台,采用sql2005数据库和c#语言。博雅超市管理系统仅针对个体营业超市,此系统主要包括用户登录,前台收银,后台管理三大部分;后台管理主要包括用户信息管理、员工信息管理、供应商信息管理、商品管理、进货管理、退货管理和信息统计管理。博雅超市系统操作简单,能够减少超市的工作量,能够发挥社会经济效益。关键词 小型超市管理系统、前台收银、商品管理、进货管理管理、信息统计管理 目录目录第一章概述11.1系统开发的背景11.1.1社会背景11.1.2超市背景1第二章系统分析22.1可行性分析22.1.1技术可行性分析22.1.2经济可行性分析22.2系统的功能需求分析32.3系统业务流程分析42.4系统数据流程分析52.5系统的开发工具及数据库介绍5第三章系统概要设计73.1系统模块结构设计73.2系统数据库设计73.2.1.概念设计73.2.2.逻辑设计10第四章系统详细设计144.1用户登录144.2前台收银154.3后台管理174.3.1.用户信息管理174.3.2.员工信息管理184.3.3.供应商信息管理214.3.4.商品管理234.3.5.进货管理244.3.6.退货管理254.3.7.信息统计管理27第五章系统测试295.1测试原理与方法295.1.1测试原理295.1.2测试方法295.2测试过程30第六章系统使用与配置说明326.1系统使用326.2安装配置说明33结语34致谢35参考文献36第一章 概述第一章 概述1.1系统开发的背景1.1.1社会背景随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是internet技术的推广和信息高速公路的建立,使it产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对书数据库的进一步开发和利用显得尤为迫切。作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。1.1.2超市背景在我国超市形成在20世纪90年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。超市形态具有种种优点,但在目前状况下,它仍存在落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对及时传递资料的要求始终得不到满足。日常所需要处理的数据量也逐渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。为此,在选题过程中, 选择了博雅超市管理系统这个设计题目,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。36第二章 系统分析第二章 系统分析2.1可行性分析2.1.1技术可行性分析(1)硬件方面:cpu:2.8 ghz,硬盘大小:1g 以上(2)系统软件: windows xp/ win 7(3)应用软件:开发工具采用了visual studio 2008,它与其他软件相比具有良好的稳定性,而且更智能、更快捷、更简单和更便宜。数据库使用的sql server 2005数据库,该数据库速度快,总体成本低,开放源代码等特征。与其他大型数据库例如0racle、db2等相比,sql server自有它的不足之处,比如功能有限等,但是这些丝毫也没有减少它受欢迎的程度。对于一般的个体和小中型企业来说,sql server 提供的功能已经绰绰有余,而且sql server 是开放式软件,因此可以大大降低总体拥有成本。 (4)操作人员:该系统在开发过程中,本着简单易用的原则,尽可能地使用可视化开发工具(尽量少使用手工编码),以便在后期的运行维护中。该系统要求后期维护人员具有较强的数据库专业知识,能熟练地运用开发工具;而对使用者只要求了解基础的计算机操作知识,不需要进行特殊培训。2.1.2经济可行性分析1.此系统的投资分析:开发本系统的费用较低,主要包括:设备费用、开发费用、维护费用以及其他费用等。在设备上,本系统要求较低,一般的计算机都可以实现,甚至有些计算机配置已经远远高于开发系统所需配置。开发费用方面,因为开发技术已经成熟,所以成本较低,对于超市来讲,开发费用不成问题。维护费用以及其他费用绝大多数软件都同时存在的,由于技术的成熟性,维护起来并不困难,而其他费用,比如电费,网费之类的,一般的家庭用户都可以完全支付的起,因而,对于超市来讲,不成问题。此系统提高数据处理的及时性和准确性;降低了管理人员的劳动强度,提高了劳动效率;增强了同行业竞争的能力,取得了经济和社会效益。具体费用参考如下:表2.1经济可行性参考费用投入:第一年费用(元)第二年费用(元)第三年费用(元)计算机硬件设备1000010001000应用软件及维护300010001000开发费用1000040002000备用金500020002000 小计:42000元收益:第一年(元)第二年(元)第三年(元)软件销售金额600008000080000软件功能升级300020001000人力资源300030003000 小计:235000元 三年净收益193000元2.此系统的效益评估分析:提高数据处理的及时性和准确性;降低了管理人员的劳动强度,提高了劳动效率;使用信息更加方便,从而使决策更及时、准确;提高了企业的形象,增强了同行业竞争的能力;取得了其他经济和社会效益。2.2系统的功能需求分析用户登录:(1) 不同角色登录进入不同的操作模块,管理员登录进入管理模块,收银员登录进入收银模块同时在销售界面上要显示收银员信息(工号),老板登录进入信息统计模块;(2) 当密码与用户名不对应时,要有错误提示。前台收银:(1) 实现商品的添加功能;(2) 实现结算功能,当输入的实际金额小于应收金额时提示金额不足,当实际金额大于等于应收金额时提示购物成功。(3) 实现票据打印功能;后台管理:(1) 用户信息管理实现用户密码修改功能;(2) 员工信息管理实现新增员工信息、删除和修改员工信息的功能;(3) 供应商信息管理实现新增供应商信息、删除和修改供应商信息的功能;(4) 商品管理实现商品信息的增加、删除、查询和修改功能,同时在子菜单下维护商品品类和单位信息,实现增加和删除功能;(5) 进货管理实现商品的增加、删除和查询功能,新增和删除商品时库存要更新。(6) 退货管理记录客户退的商品,可以查询和删除退货商品信息,同时更新库存;(7) 信息统计管理库存统计:记录所有商品的库存量;营业额统计:统计一个营业员一天的营业金额;2.3系统业务流程分析博雅超市管理系统的简单的业务流程图如下:图2.1系统业务流程图2.4系统数据流程分析博雅超市管理系统的前台销售数据流程图如下:图2.2前台销售数据流程图2.5系统的开发工具及数据库介绍1.此系统的开发工具是microsoft visual studio 2008。visual studio 2008引入了250多个新特性,整合了对象、关系型数据、xml的访问方式,语言更加简洁。使用visual studio 2008可以高效开发windows应用程序。设计器中可以实时反映变更,xaml中智能感知功能可以提高开发效率。同时visual studio 2008支持项目模板、调试器和部署程序。visual studio 2008可以高效开发web应用,集成了ajax 1.0,包含ajax项目模板,它还可以高效开发office应用和mobile应用。2.此系统使用的数据库是microsoft sql server 2005。sql server 2005 通过在可伸缩性、数据集成、开发工具和强大的分析等方面的革新更好的确立了微软在bi领域的领导地位。sql server 2005 能够把关键的信息及时的传递到组织内员工的手中,从而实现了可伸缩的商业智能。从ceo 到信息工作者,员工可以快速的、容易的处理数据,以更快更好的做出决策。sql server 2005全面的集成、分析和报表功能使企业能够提高他们已有应用的价值,即便这些应用是在不同的平台上。第三章 系统概要设计第三章 系统概要设计3.1系统模块结构设计博雅超市管理系统分为三个模块,用户登录、收银、后台管理。系统功能结构图如下:图3.1系统功能结构图3.2系统数据库设计3.2.1.概念设计概念设计基础是完成需求分析后提供的需求说明书,用概念数据模型表示数据及其相互间的关系,这种数据模型是与dbms无关的、面向事实世界的、容易理解的数据模型,其独立于计算机的数据模型,独立于计算机的软件系统,与用户进行交流十分方便。概念设计中自顶向下的实体分析方法,即常用的实体联系模型(简称e-r模型),对具体数据进行抽象加工,将实体集合抽象成实体类型。用实体间联系反映现实世界事物间的内在联系。e-r模型是建立概念性数据模型的有力工具。博雅超市管理系统的e-r图如下:图3.2供应商信息e-r图图3.3商品信息e-r图图3.4员工信息e-r图图3.5进货单e-r图图3.6用户e-r图图3.7销售单e-r图图3.8退货单e-r图图3.9库存表e-r图图3.10关系e-r图3.2.2.逻辑设计通过e-r模型到关系模型的转换,可以得到如下关系模式:(1) 供应商信息表(供应商编号,名称,地址,联系电话,供货类型)(2) 商品表(商品编号,商品名称,品类,包装,单位,单价)(3) 品类表(品类编号,名称)(4) 单位表(单位编号,名称)(5) 库存表(商品编号,商品名称,库存数量)(6) 进货表(入库编号,商品编号,商品名称,单位,单价,进货数量,生产日期,入库日期)(7) 退货表(退货编号,商品编号,商品名称,退货数量,退货金额,退货日期,退货原因)(8) 销售表(单据编号,商品名称,商品编号,品类,包装,数量,单位,单价,总金额,日期,收银员,实收金额,找零)(9) 营业额表(日期,收银员,金额)(10) 员工信息表(员工编号,姓名,收银编号,年龄,性别,职务)(11) 用户表(用户名,密码,角色)数据库表结构如下:表3.1供应商表(manufacturer)字段名数据类型长度(字节)描述备注manuidnvarchar20供应商编号关键字namenvarchar20名称adrnvarchar50地址telnvarchar20联系电话typesnvarchar50供货类型表3.2商品表(goods)字段名数据类型长度(字节)描述备注goodsidnvarchar20商品编号(条形码)关键字goodsnamenvarchar50商品名称pinleinvarchar20品类baozhuangnvarchar20包装danweinvarchar20单位outpricedecimal18,2单价表3.3品类表(pinlei)字段名数据类型长度(字节)描述备注pinleiidnvarchar20品类编号关键字pinleinamenvarchar50名称表3.4单位表(danwei)字段名数据类型长度(字节)描述备注danweiidnvarchar20单位编号关键字danweinamenvarchar50名称表3.5库存表(stock)字段名数据类型长度(字节)描述备注goodsidnvarchar20商品编号(条形码)关键字goodsnamenvarchar50商品名称numint库存数量表3.6进货表(purchase1)字段名数据类型长度(字节)描述备注rukuidnvarchar20入库编号goodsidnvarchar20商品编号(条形码)关键字goodsnamenvarchar50商品名称danweinvarchar20单位inpricedecimal18,2进价numberint进货数量makedatedatetime生产日期rukudatedatetime入库日期表3.7退货表(tuihuo)字段名数据类型长度(字节)描述备注thidnvarchar20退货编号goodsidnvarchar20商品编号(条形码)关键字goodsnamenvarchar50商品名称thnumint退货数量thtotaldecimal18,2退货金额thdatedatetime退货日期resultnvarchar400退货原因表3.8销售表(sell)字段名数据类型长度(字节)描述备注documentnumnvarchar20单据编号goodsnamenvarchar50商品名称goodsidnvarchar20商品编号(条形码)关键字pinleinvarchar20品类baozhuangnvarchar20包装numbersint数量danweinvarchar20单位outpricedecimal18, 2单价totaldecimal18, 2总金额datedatetime日期cashiernvarchar20收银员shishoudecimal18, 2实收金额zhaolingdecimal18, 2找零表3.9营业额表(turnover)字段名数据类型长度(字节)描述备注datedatetime日期cashiernvarchar20收银员totaldecimal18, 2营业额表3.10员工表(employee)字段名数据类型长度(字节)描述备注employeeidnvarchar20员工编号关键字namenvarchar20姓名cashier_numnvarchar20收银编号agenvarchar10年龄sexchar(2)20性别postnvarchar20职务表3.11用户表(user)字段名数据类型长度(字节)描述备注usernamenvarchar20用户名passwordnvarchar10密码rolornvarchar20角色第四章 系统详细设计第四章 系统详细设计博雅超市管理系统的整个设计思路是采用“三层架构”的思想,三层架构具体如下:用户界面表示层(usl):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。业务逻辑层(bll):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。数据访问层(dal):该层所做事务直接操作数据库,针对数据的增、删、改、查。4.1用户登录1.操作过程:用户登录这个模块主要是实现不同用户的登录,然后在自己的模块操作。如图4.1所示,输入正确的用户名和密码便可以进入系统。图4.1用户登陆页面2.实现过程:在文本框中输入用户名和密码,在【确定】按钮的click事件下写代码,通过查询语句到用户表(users)中查询对应的数据,如果数据正确就能登陆成功,反之则失败。第四章 系统详细设计3.用户登录流程图如下:图4.2系统登录流程图4.2前台收银收银这个模块主要是实现超市商品的销售。1.操作过程:根据界面提示在文本框中输入商品编号,点击“增加”按钮,【总计】那就会显示所购买商品的价格,然后在【实收金额】那输入金额,最后点击“结算”按钮,购物过程完成。输入金额时,如果数值小于商品总价格,结算时会提示“您的金额不足!”,然后重新输入金额数在结算;如果数值大于等于总价格,则会提示“购物成功!”(如图4.4所示)并且进入“票据打印”页,但这里只是模拟票据打印,实际上就是把购物清单显示出来了。点击“票据打印”页右下角的“继续”按钮,就可以回到收银界面,继续销售操作,如果要结束操作也可以点击右上角的“退出”退回到用户登录页面。整个销售的界面图如下:图4.3销售界面图4.4提示对话框图4.5票据浏览图2实现过程:界面上收银员编号的显示主要是登录时从登陆页面用session传递参数;1)增加功能:通过查询语句sqlstr = select * from sell where goodsid= + textbox1.text.trim() + ;判断文本框中输入的商品编号是否存在于商品表(goods)中,如果存在的就通过商品编号(goodsid)读取这条记录,然后通过插入语句将这条记录的内容对应的插入到销售表(sell)中,最后通过查询sell表,将记录显示在页面上。金额总计是先查询出各个商品的金额然后通过sum函数求和,将求和得到的结果赋值给sell表中虚拟字段sum(total),最后查询并显示这个字段。售出商品的同时,库存是要更新的,售出多少件商品,库存中相应的商品就该减少多少件,主要使用update语句sqlstr = update stock set num= + (int.parse(g.rows0num.tostring() - 1) + where goodsid= + textbox1.text.trim() + ;来更新库存。2)结算功能:通过判断语句convert.todouble(textbox3.text) convert.todouble(textbox2.text) | convert.todouble(textbox3.text) = convert.todouble(textbox2.text)判断实收金额是否大于等于应收金额,如果大于等于就将两个文本框的数值相减,将结果显示在对应“找零”的文本中,提示购物成功,反之则提示金额不足。3)票据打印功能:当购物成功时,还会使用插入语句 sqlstr = insert into sell(documentnum,shishou,zhaoling,cashier) + values( + label2.text + , + textbox3.text + , + textbox4.text +, + label3.text + ); boolean i = db.updatedatabysql(sqlstr);将页面上的“单据编号”、“收银员”、“实收金额”和“找零”对应的数据插入到sell表中,最后通过查询sell表,将表中的记录在gridview中显示,便形成了购物票据。4.3后台管理后台管理分为七个模块,分别是用户信息管理、员工信息管理、供应商信息管理、商品管理、进货管理、退货管理和信息统计管理。4.3.1.用户信息管理1.操作过程:此模块界面主要就是显示管理员和老板的用户名和密码(如图4.6所示),点击“修改密码”按钮可以进入密码修改页(如图4.7所示),输入用户名、新密码和确认密码,最后点击确定。如果两次输入的密码不一样,点击“确定”时会提示出错,然后回到那页重新输入(如图4.8所示);如果输入正确,点击“确定”就会提示修改成功(如图4.9所示)。图4.6用户信息浏览页面图4.7密码修改页面 图4.8提示对话框图4.9提示对话框 2.实现过程:在“密码修改”按钮的click事件下写代码实现功能,在文本框中输入用户名,在users表中查询是否存在此用户名,若果存在,就通过更新语句将新密码的值赋给表中的密码字段,反之则不可修改密码;同时更新的前提还必须用条件语句if (textbox2.text = textbox3.text)先判断新密码和确认密码是否一致,如果一致才能修改密码成功。4.3.2.员工信息管理此模块主要是显示员工信息,实现新增、删除和修改员工信息功能(如图4.10所示)。(一)新增员工信息1.操作过程:根据界面上的信息提示输入新员工的信息,其中收银编号只有收银员要填,年龄填写真实的,其他几项也必须填写,填写结束点击“添加”按钮,则会提示“录入成功”(如图4.11所示);如果不小心录入有误,就会提示“录入失败”。运行效果图如下:图4.10员工注册页面图4.11提示对话框2.实现过程:在文本框中输入相关信息,然后通过读取出数据通过插入语句sqlstr = insert into employee(employeeid,name,cashier_num,age,sex,post)+ values( + textbox1.text + , + textbox2.text + ,+ textbox5.text+, + textbox3.text+, + radiobuttonlist1.selecteditem.text + , + textbox4.text + );,将其插入到员工信息表(employee)中,在通过查询语句查出表中的记录在gridview中显示。(二)删除员工信息1.操作过程:执行“删除”操作,然后根据提示是否删除记录(如图4.12所示),点击“确定”按钮,信息便成功删除了。图4.12提示对话框2.实现过程:在gridview中的rowdeleting事件中写代码,用datakeys作为查询条件查出employee表中的对应记录,然后使用删除语句将记录删除sqlstr = delete from employee where employeeid= + employeeid + ;。(三)修改员工信息1.操作过程:点击“修改”按钮在文本框中输入信息(如图4.13所示),其中【员工编号】必须是employee表中存在的,然后点击确定,则修改成功(如图4.14所示),反之修改失败。图4.13员工信息修改页面图4.14提示对话框2.实现过程:在“确定”按钮的click事件下写代码,通过员工编号这个唯一字段到employee表中查到对应信息,然后使用更新语句 sqlstr = update employee set cashier_num= + textbox5.text + ,age= + textbox3.text + ,post= + textbox4.text + where employeeid= + textbox1.text.trim() + ;将表中的记录更新,如果查不到信息则更新失败。4.3.3.供应商信息管理此模块主要是显示供应商信息,实现新增、删除和修改供应商信息功能(如图4.15所示)。(一)新增供应商信息1.操作过程:根据界面上的信息提示填写供应商信息,然后点击“添加”按钮,则录入成功。当供应商的记录多时,可以实现分页显示的。图4.15供应商注册页面2.实现过程:在文本框中输入相关信息,然后通过读取出数据通过插入语句sqlstr = insert into manufacturer(manuid,name,adr,tel,types) + values( + textbox1.text + , + textbox2.text + , + textbox3.text + ,+ textbox4.text+ , + textbox5.text + );,将其插入到供应商信息表(manufacturer)中,在通过查询语句查出表中的记录在gridview中显示。(二)删除供应商信息1.操作过程:执行“删除”操作,然后根据提示是否删除记录,点击“确定”按钮,信息便成功删除了。2.实现过程:在gridview中的rowdeleting事件中写代码,用datakeys作为查询条件查出manufacturer表中的对应记录,然后使用删除语句将记录删除sqlstr = delete from manufacturer where manuid= + manuid + ;。(三)修改供应商信息1.操作过程:点击“修改”按钮在文本框中输入信息(如图4.16所示),其中【供应商编号】必须是manufacturer表中存在的,然后点击确定,则修改成功(如图4.17所示),反之修改失败。图4.16供应商信息修改页面图4.17提示对话框2.实现过程:在“修改”按钮的click事件下写修改文本框visible属性的代码,将上面的文本框隐藏,下面的文本框显示,然后在文本框中输入信息。在“确定”按钮的click事件下写代码,通过供应商编号这个唯一字段到manufacturer表中查到对应信息,然后使用更新语句 sqlstr = update manufacturer set name= + textbox7.text.trim() + ,adr=+textbox8.text.trim()+,tel=+textbox9.text.trim()+,types=+textbox10.text.trim()+ where manuid= + textbox6.text.trim() + ;将表中的记录更新,如果查不到信息则更新失败。4.3.4.商品管理此模块主要是维护超市各种商品的信息,实现增加、删除、查询和修改的功能(如图4.18所示)。图4.18商品管理页面(一)新增商品信息:1.操作过程:根据页面上的信息提示输入商品的信息,然后点击“确定”,信息录入成功或失败都有提示的。2.实现过程:在文本框中输入相关信息,然后通过读取出数据通过插入语句将其插入到商品表(goods)中,在通过查询语句查出表中的记录在gridview中显示。(二)删除商品信息:1.操作过程:执行“删除”操作,然后根据提示是否删除记录,点击“确定”按钮,信息便成功删除了。2.实现过程:在gridview中的rowdeleting事件中写代码,用datakeys作为查询条件查出goods表中的对应记录,然后使用删除语句将记录删除sqlstr = delete from goods where goodsid= + goodsid + ;。(三)查询商品信息:1.操作过程:在商品编号或商品名称文本框中输入相关信息,然后点击“查询”按钮,所查的商品信息就gridview中显示出来了;若果输入的商品信息在goods表中不存在,就会提示没有此商品。2.实现过程:使用查询语句sqlstr = select * from goods where goodsid = + this.textbox1.text + ; sqlstr = select * from goods where goodsname like % + this.textbox2.text + %;到商品表(goods)中查找对应编号的商品,然后将这条记录在gridview中显示。(四)修改商品信息:1.操作过程:要修改信息,先查询出要修改的商品信息,然后在对应的文本框中输入新的内容,点击“修改”按钮,便修改成功了。2.实现过程:用查询语句到goods表中查到与文本框中输入的编号对应的商品,然后使用datakeynames作为条件使用更新语句 sqlstr = update goods set outprice= + textbox4.text.trim() + ,goodsname= + textbox2.text.trim() + ,baozhuang= + textbox3.text.trim() + ,pinlei= + dropdownlist1.text.trim() + ,danwei= + dropdownlist2.text.trim() + where goodsid= + textbox1.text.trim() + ;将文本框中的数值赋给goods表中的对应字段从而实现修改。在商品管理下还有两个子菜单,维护的是商品品类和商品单位,实现品类和单位信息的增加和删除,具体功能实现与商品信息增加方法一样。4.3.5.进货管理此模块主要是记录超市哪个时间进货了,进货的数量是多少等信息,主要是实现商品增加、删除和查询的功能如(图4.19所示)。图4.19进货管理页面(一)商品入库:1.操作过程:根据页面上的信息提示输入商品的信息,然后点击“入库”,信息录入成功或失败都有提示的。2.实现过程:实现过程:在文本框中输入相关信息,然后通过读取出数据通过插入语句sqlstr = insert into purchase1(rukuid,goodsid,goodsname,danwei,inprice,number,makedate,rukudate) + values( + textbox1.text + , + textbox2.text + , + textbox7.text + , + dropdownlist2.selecteditem.text + ,+ + textbox3.text + , + textbox4.text + ,+ textbox6.text + , + label1.text + );将其插入到进货表(purchase1)中,在通过查询语句查出表中的记录在gridview中显示。在入库成功的同时,还要更新库存,先到库存表(stock)查询是否存在该商品sqlstr = select * from stock where goodsid= + textbox2.text.trim() + ;然后再使用更新或插入语句sqlstr = update stock set num= + (int.parse(dt.rows0num.tostring() + int.parse(textbox4.text.trim() + where goodsid= + textbox2.text.trim() + ;(库存中有该商品时,只要更新数量);sqlstr = insert into stock(goodsid,goodsname,num) + values( + textbox2.text + , + textbox7.text + , + textbox4.text + );(库存中没有该商品时,就要添加一条记录)更新库存。(二)删除商品信息:1.操作过程:执行“删除”操作,然后根据提示是否删除记录,点击“确定”按钮,信息便成功删除了。2.实现过程:在gridview中的rowdeleting事件中写代码,用datakeys作为查询条件查出purchase1表中的对应记录,然后使用删除语句将记录删除。(三)查询商品库存信息:1.操作过程:在商品编号或商品名称文本框中输入相关信息,然后点击“查询”按钮,所查的商品信息就gridview中显示出来了;若果输入的商品信息在purchase1表中不存在,就会提示没有此商品。 2.实现过程:在商品编号或商品名称文本框中输入信息,通过条件查询语句sqlstr = select * from purchase1 where goodsname like % + this.textbox7.text + %;sqlstr = select * from purchase1 where goodsid = + this.textbox2.text + ;在purchase1表中查出记录,然后在gridview中显示。4.3.6.退货管理此模块主要是为了记录客户退的商品,主要就是增加、查询和删除功能(如图4.20所示)。图4.20退货管理页面(一)新增退货商品信息:1.操作过程:根据页面上的信息提示输入商品的信息,然后点击“确定”按钮,信息录入成功或失败都有提示的。2.实现过程:在文本框中输入相关信息,然后读取出数据通过插入语句 sqlstr = insert into purchase1(rukuid,goodsid,goodsname,danwei,inprice,number,makedate,rukudate) + values( + textbox1.text + , + textbox2.text + , + textbox7.text + , + dropdownlist2.selecteditem.text + , + + textbox3.text + , + textbox4.text + ,+ textbox6.text + , + label1.text + );将其插入到退货表(tuihuo)中,在通过查询语句查出表中的记录在gridview中显示。退货成功时,库存也要更新的。(二)查询退货商品信息:1.操作过程:输入商品编号,然后点击“查询”按钮便能查到所要信息。2.实现过程:使用查询语句sqlstr = select * from tuihuo where goodsid = + this.textbox2.text + ;到tuihuo表中查找对应编号的商品,然后将这条记录在gridview中显示。(三)删除退货商品信息:1.操作过程:执行“删除”操作,然后根据提示是否删除记录,点击“确定”按钮,信息便成功删除了。当存入的商品较多时就可以删除商品信息,减少数据库中的数据。2.实现过程:在gridview中的rowdeleting事件中写代码,用datakeys作为查询条件查出tuihuo表中的对应记录,然后使用删除语句将记录删除。4.3.7.信息统计管理此模块主要是对库存的管理和营业额的统计。一、库存管理这个模块主要是统计查询超市的商品库存(如图4.21所示)。图4.21库存管理图1.操作过程:在文本框中输入商品编号,然后点击“查询”按钮,便能查出信息。2.实现过程:使用查询语句sqlstr = select * from stock where goodsid = + this.textbox1.text + ;到库存表(stock)中查找对应编号的商品,然后将这条记录在gridview中显示。二、营业额统计这个模块主要是统计一天中这个收银员总共的营业额(如图4.22所示); 图4.22营业额统计图过程是通过购买商品结算时将总的商品金额,收银员,时间插入到营业额表(turnover)中,然后再将turnover表中某一行某一列的数据读取出来显示在对应的文本框中,sqlstr = select cashier from turnover; ds = db.getdatatablebysql(sqlstr); textbox2.text = ds.tables0.rows00.tostring(); sqlstr = select sum(total) from turnover; ds = db.getdatatablebysql(sqlstr); textbox3.text = ds.tables0.rows01.tostring();这边的文本框是不可编辑的,就是把文本框的enable属性改成了false。第五章 系统测试第五章 系统测试5.1测试原理与方法5.1.1测试原理a.什么是测试测试是为了发现程序中的缺陷而执行程序的过程;(缺陷是一种泛指,可以是功能错误,也可以是性能低下、易用性差等错误);测试是假定程序中存在错误,因而想通过测试来发现尽可能多的错误。b.测试的目标是为了尽可能多的发现程序中的缺陷。c.测试的真理测试只能证明缺陷存在,而不能证明缺陷不存在;5.1.2测试方法 单元测试:测试着重于每一个单独的模块,以确保每个模块都能正确地执行,大多采用白盒测试,一般开发人员自测。 集成测试:各个相关模块的组合测试,最终的目标是将整个系统正确的组合成功,没有明显的模块之间的匹配问题。大多黑盒测试,为保证大的分支,有时也要白盒测试,一般测试人员协助开发人员测试。 系统测试:由若干个不同测试组成,目的是充分运行系统,验证系统各部件是否都能正常工作并完成所赋予的任务。由测试人员完成,包含验证测试,功能测试,性能测试等等。 验收测试:由用户和测试人员共同执行。它的测试数据通常是系统测试的测试数据的子集。一般采用黑盒测试。功能测试重点在对业务、对需求、对被测系统的了解上。功能测试的方法有:1. 等价类划分方法 2. 边界值分析方法3. 错误推测方法 4. 因果图方法 5. 判定表驱动分析方法6. 场景法5.2测试过程这个系统的编码过程中的测试主要采用断点测试,找出错误的地方,然后分析处理bug。系统的功能测试,我主要描述用户登录和前台销售。一、用户登录:测试用例如下:表5.1测试用例操作结果不输入任何内容,点击“登录”按钮登录失败,提示请输入用户名和密码输入数据库中不存在的用户名和密码,点击“登录”按钮登录失败,提示请确认用户名和密码,文本框清空,光标在用户名处输入正确的用户名,错误的密码,点击“登录”按钮登录失败,提示请确认用户名和密码,文本框清空,光标在用户名处输入错误的用户名,正确的密码,点击“登录”按钮登录失败,提示请确认用户名和密码,文本框清空,光标在用户名处输入正确的用户名和密码,点击“登录”按钮登陆成功点击“退出”按钮文本框清空,任然在此页二、前台销售测试用例如下:表5.2测试用例操作结果在商品编号处输入数据库中不存在的编号,或不输入编号,点击“增加”按钮提示此商品还没有录入不输入任何东西,点击“结算”按钮提示欢迎购物在商品编号处输入数据库中存在的编

温馨提示

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

评论

0/150

提交评论