版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1基于QT的销售管理系统的设计与实现摘要随着计算机技能的急速进步,计算机需要在企业管理中使用应用的遍及,利用计算机完成商品销售信息的管理。对于大中型企业来说,支持利用电脑企业高效实行劳动商品处理常日交易,是顺应当代企业制度条件,科学化、典型企业劳动商品管理的必要条件。本销售系统采用QT技术结合MYSQL数据库进行销售管理系统的设计与开发,系统界面十分良好,操作比较简单。文章对系统的开发过程进行了详细的描述,主要通过系统的概述,设计、数据库设计、系统测试方法的这些部分。最后总结了整个系统的开发过程,通过销售管理系统提高了销售过程。实现了通过销售管理系统提升销售过程的透明管理,相比人工管理具有效率高,可追溯性强等优势。本课题以销售管理为主题,围绕销售的环节,检入、检出、管理和查询产品信息。对商品进行可追溯性管理,依据不同的管理要求建立相应的管理系统系统,能够提高商品管理水平、更好地为商家和客户服务,因而本课题的工作具有重要的实际意义和实用价值。关键词:销售管理系统,QT技术,MYSQL目录TOC\o"1-3"\u摘要 IAbstract II目录 1第1章绪论 31.1研究的目的及意义 31.2国内外研究现状 31.3研究目标 41.4研究内容 4第2章系统关键技术 52.1QT工具 52.2MySQL 52.3C++语言 6第3章系统分析 83.1可行性分析 83.1.1经济可行性 83.1.2技术可行性 83.1.3操作可行性 83.1.4总结 93.2本系统的优点 93.3功能需求分析 93.3.1基本信息模块 93.3.2查询统计模块 103.3.3商品销售模块 103.3.4系统设置模块 113.4系统流程分析 113.4.1登录流程 113.4.2修改用户密码流程 123.4.3增加用户基本信息流程 133.4.4商品入库流程 133.4.5商品出库流程 143.4.6销售统计流程 143.4.7商品查询流程 15第4章系统功能的实现 164.1登录界面 164.2增加供应商界面 174.3添加商品信息界面 184.4供应商信息管理界面 204.5商品信息管理界面 214.6商品查询界面 224.7商品销售排行榜界面 234.8进货订单查询界面 244.9商品销售界面 254.10进货界面 264.11修改密码界面 274.12个人资料界面 284.13QT操作MySQL 29第5章软件测试 335.1测试定义 335.2测试目的 335.3测试过程 345.4测试结论 35总结 36参考文献 37第1章绪论2第1章绪论1.1研究的目的及意义中国成立至今不断地发展,中国特色社会主义经济体系开始逐渐形成,经济相比于七八十年代有了质的飞跃,一带一路政策越来越完善,现在的人们生活变好,有房住,有车开,可见现在的祖国发展的越来越好,随着生活水平的提高,越来越多的人不在为吃穿愁而增加了更多的消费,娱乐等活动,不免产生大量的开支,在买各种东西方面消费尤为的高,普通的人为进行销售的统计越来越复杂,在慢慢积累之下就会造成销售混乱,统计不正确的情况,导致财产的流逝。如今社会已经是一个比较发达的信息化社会,随着科技的发展各种各样的消费电子产品越来越多,在电脑和手机不断地普及下,我们发现一些复杂的事情通过电子产品变得越来越简单,只需在手机上点一点就可完成很多事情,从前车马很慢,人与人之间的沟通往往是采用书信的方式,而现在在科技相对发达的情况下,我们现在只要有主要的手机,就能和遥远的家人和朋友取得联系。我们也不难发现各种各样的管理系统相继问世,给我们带来了很多方便,比如说:学生管理系统,车辆管理系统,这些系统对于生活和生产都带来了很大的益处。人们的买卖越来越多,而在传统的手工记账仍是大多小商店的选择,但是这种方式根本不方便各种信息的查找和统计,而且还会出现字迹不清,纸张破损或丢三落四找不到记账本的情况,当记录较多的时候还会出现遗漏,错误或冗余的情况。这些问题的出现将促使越来越多的销售行业开始追求销售管理系统的便捷化和统一化,在传统的零售工作中,往往采用手工盘点的方式来掌握仓库内现有的货物,而采用手工核算的方式来掌握货物的购销情况,这种处理方式对于数量较少、库存变动较少的销售来说是最好的。在目前的大中型零售行业中,通常要加工的商品数以千计,平时交易状况杂乱。若是要手工完成这套日志,管理数据,任务量会很大,容易犯错,造成经管错乱;更不必说需要对商品数据实行统计和分析,于是,一个好的商品销售管理系统是必不可少的。1.2国内外研究现状 随着科技信息的发展,数据处理和信息传输突破了时间和地域的限制,计算机化已成为不可阻挡的全球趋势,电子商务在世界范围内的迅速发展,不仅为计算机化增加了新的内容,而且以惊人的速度进入人们的日常生活,而且,正在推广到越来越宽泛的使用范畴。目前,我国企业的信息化水平还是很低,信息技能远远掉队于美国、日本等富强国度。依据相干材料,我国的电子商务进展很快。从20世纪90年头初开头,电子商务的概念初步在中国流转。1998年3月,中国初次网上业务告成,2007年近13000亿元营业额近13万亿元,此中B2B电子商务规模12500亿元,比2006年增加25.5%;C2CFOI业务规模为410亿4千万元,比昨年同期增进90%;B2C的总收入。网站规模为52亿2千万元,年增长33.5%。我国电子商务正进入敏捷进步时候,2007年我国电子商务总量抵达2.17万亿元,比上年增加90%。互联网用户规模的推广和电子商务技能的持续生长,为往后电子商务的兴盛奠定了优异的根底,中国电子商务生长的主力军正在从早期的IT企业转向守旧工业,慢慢产生了以大企业为根底的电子商务发育模式。因此,必须建立一套简单高效的销售管理体系。1.3研究目标随着现代信息技术的飞速发展,人们的生活越来越简单越来越快捷,计算机在人们的生活中不断地普及,各种各样的管理系统也越来越多,为了方便销售产品和对商品的管理,完成大量销售数据的统一管理和统计查询,以及系统界面的美观和友好,操作简单和方便,使得开发基于QT的销售管理系统成立必然基于QT的销售管理系统的研究目标如下:操作简单、界面友好:页面布局简单明了。销售人员可通过销售管理系统快速的查询,添加商品信息,添加厂商,商品统计,商品销售,增加员工,员工的管理,以及进货等功能。1.4研究内容在开发基于QT的销售管理系统之前实行需求理解,依据需求文档实行系统策画,实施系统功能,并在入手编写文档之前测试一些章节以借用所需书册,基于网络软件的功能设计,设计了自己的系统的功能结构,制作了必要的报告书,完成了系统的各功能模块的设计,最后制作了程序代码。系统完成后会进行测试和最终验收。这次写的论文中包含了6个部分。那个内容如下。第一章:文章重点从本课题的背景和探究方向讲述了建立这一系统的必要性。接下来介绍了本文的重点讨论内容和论文的总体框架。。第二章分系统关键技术:简单介绍系统实现所用到的技术与平台。第三章:针对该开发的系统,从可行性分析和功能需求分析等角度进行了综合研究。第四章:详细设计与系统实现。此章节从家庭资产管理系统的各个方面的详细设计进行说明以及系统实现的重要代码段和各种具体情况显示。第五章:系统测试。对于系统所需要的达到的各种功能实现和界面显示进行用例测试。结论:该章节主要总结了本系统对于销售管理研究的主要内容、完成的程度以及不足之处。第3章系统分析第2章系统关键技术2.1QT工具为了开发图形界面应用程序,1991年,Eirikeng和haavardnnor开发了fu,该公司于1994年3月4日正式成立,当时QT是第一个经商业授权的多平台开发库,2000年qiqicorporation未能在开源社区部署GPI许可的开源版本,简单来说在2000年前这个QT都是要钱的而且只用于商业,这也导致于直到现在QT的使用者都不是很广泛,也没有很大的普及,甚至于一些人根本不知道QT是什么,2008年,诺基亚收购了QT的LCPL准许模式,英特尔协同建立了新的QT-MeeGo智能手机系统,但由于微软特洛伊木马的大屠杀,诺基亚被迫退出。这款手机,从此诺基亚也逐渐的销声匿迹,虽然诺基亚手机在当时那个年代确实很受欢迎,但随着越来越多的智能手机,诺基亚那种半智能的手机逐渐被淘汰,现在市面上基本已经找不到诺基亚的身影。而QT已被诺基亚贩卖给芬兰IT服务公司Digia,QT建立中最关键的一步是,Digia于2014年9月宣告创设一个全盘职掌QT的公司,自立经管QT函式库的企业授权行为。Qt目前已经走上了促进移动平台和商业应用程序建造的准确路线。直到现在QT已历经了30年的开发,最终成为横切平台开发的最佳框架之一,在TEM-SIDO生活项目开发的各个领域得到广泛应用,像我们现在用的最多的Maya、谷歌地球和最常用的WPS办公软件是用QT开发的,1997年,QT也被用于开发Linux桌面KDE环境,并取得了成功,使QT成为Linux环境下C+++GUI的FATO标准。Qt往往当作建立图形界面应用程序的GUI库,但这不是Qt的完全。Qt可以绘制出控制、架构、交互等美丽的界面。2.2MySQLMySQL是典型的关系数据库系统。因为MySQL的源码开放,运行十分稳定,效率很高,并且可以降低开发软件的成本这些优点,在EM2018数据库中的使用率排名第二,仅次于迄今为止最成功的交易数据库Oracle,适合中小型Web项目的最佳数据库选择。MySQL的最大优势之一是免费USO,这也是您成功的关键。MySQL支持标准SQL数据库咨询语言。无论是个人、团队还是小型数据库需要开发软件或网站,MySQL是很合适的数据库管理系统。因为它是免费的,并且占用的内存小、执行的速度很快、成本也十分低廉,程序员容易安装和使用。而且其最重要的一点是开源,这使得MySQL数据库受到程序员的欢迎,也使得许多中小型开发数据库首选MySQL数据库。同时还提供了多种开发连接API,MySQL根据记录之间的关系将数据存储在不同的表中,减少了数据冗余,提高了程序员的工作效率,不需要在项目预算上多花钱,大幅降低整体开发成本。为此,MySQL数据库在中小型企业和独立开发人员中非常受欢迎。2.3C++语言C++,类是支持数据封装(即数据封装)以及通过创建自定义类和封装数据和函数来支持数据封装和隐藏的工具,定义为类的对象被形容为特定类的变量。给定类中的每个对象都包括该类指定的不同独占、公共和安全成员。一旦缔造了定义完好的类,就可以将该类视为整体封装的实例,并将其用作全数单元。定义USAm类的用户不应知晓该类的任务方法,而应知晓怎么应用该类。您可以申明一种基于nasc+类的新范例,这是一种承继和重用的思维,而通过承继和重用,我们可以更有用地布局程序,知道类之间的关联,新类是子类,成为派生类。父类的整体非独占属性和方式都可以作为本身的成员承继。多态性用于指定cada的行为多态性,产生由父类及其子类构成的树架构。树中的每个子类可以接收一个或多个同名的消息。当树中的类对象接收到消息时,对象将为子类对象动态定义消息USO。这种多态性功能允许高水平笼统。承继和多态性的结合可以很容易地形成很多相同但特别的对象。这些物体有很多雷同的特征。由于多态性,一个对象能够具有特别的表达式方式,另一个对象可以具有TEM。cplus程序源于其高效力而被编译。可是,在建立情况中,fin使调试情况可用于测试,也就是说,在建立进程中,通过声明指令来调试程序,最终执行代码作为编译和执行的开发环境生成。生成器是将源代码(c++语句)转换为可执行应用程序的过程。如果程序编写正确,请按功能键完成该过程。这个过程分为两个阶段。第3章系统分析3.1可行性分析可行性研究是为了让开发者提前了解并明白系统的价值所在,还可以提前确认系统是否能够完成,所以所在对系统开发之前,对系统进行可行性分析是非常重要的。3.1.1经济可行性经济可行性主要是对系统投入的费用成本和人力成本,系统使用的是QT5.5开发软件,是一款开放免费的编程软件,并且QT自带SQLLITE数据库功能,无须再次下载使用sqlserver数据库服务器,减少了一定量的人力成本,所以对于该系统的成本仅在于所需材料以及开发人力的投入,开发成本不高,而对于使用成本来讲基于QT的销售管理系统可以制作成一个EXE可执行文件,只需有这个文件就可以直接运行程序,操作简单,不需要多光的知识就可以进行操作,由此可见销售管理系统在经济方面是可行的。3.1.2技术可行性系统开发语言使用的是QT的开发语言,而QT是一款基于C++的界面编程软件,所有的功能实现都可以用C++语言实现,并在此基础上提高了自身对于数据库的支持能力,不仅自带SQLLITE,还支持mysql、ODBC等等数据库,这样进行数据存储时就可直接连接SQLLITE数据库完成数据的存储。自带界面设计,相对于其他语言,QT设计页面更加漂亮更加简单。因此销售管理系统在技术可行性上是可行的。3.1.3操作可行性基于QT的销售管理系统可以由销售岗位来进行销售,产品入库,出库管理以及销售分协和统计等功能,并且每一个功能都有自己独特的界面进行显示和操作,用户操作上显得比较简单,用户可以轻松的使用销售管理系统来管理销售产品,在操作上没有困难,是可行的。3.1.4总结因此,通过对销售管理系统开发能力和性能方法的调查和分析,确定了系统的总体结构,利用USAR的QT数据库开发了一个界面友好的CDM销售管理软件,易于理解,该系统是应用基于通用设想理念的Ping快速原型(RPP)建立的,准许您依据根本用户要求采取一些重要子系统当作底子原型,而后慢慢将原型增加到整个系统的其他方面,以完成系统建立目标,最终获得整个系统,这种方法强调用户至上的原则,需要高级用户的参与指导,与目前用户的组织结构、管理模式和管理方法冲突较少。另外,用户逐渐接受系统,容易接受,所以成功率高。3.2本系统的优点快速原型方法可以缩短、加快和缩短系统开发时间,高效和高效地分配工作,整合开发优势和管理系统,并在整个开发过程中促进对系统功能的接受和理解更容易,有利于操作,由于快速原型法以用户为中心,系统开发满足用户的实际需求,因此系统开发成功率高,系统的可扩展性,由于quickprototype方法以用户为中心,系统开发满足用户的实际需要,系统开发成功率高,系统可扩展性高,因此由于缺少初始详细信息,系统在原型应用过程中不断进行修改和完善。更灵活的功能。3.3功能需求分析3.3.1基本信息模块此功能用于销售人员对销售产品信息的管理,用户在使用销售系统的软件时需要添加商品的基本信息以及添加厂商的信息,可对产品依据不同的属性进行查询操作,也可以进行删除修改等工作。基本信息模块用例图如图3.1所示增加供应商销售管理系统基本信息模块增加供应商增加商品信息增加商品信息供应商信息管理 供应商信息管理商品信息管理销售人员商品信息管理图3.1基本信息模块用例图3.3.2查询统计模块查询统计模块用于查询商品和供应商的基本情况,并将所有信息展示在界面上,通过商品属性进行模糊查询或者精确查询,用户可以清楚的了解各个商品的基本情况。统计用于商品的销售情况,将所有的商品信息进行排序,并展示出来,并用报表展示出来。查询统计模块用例图3.2所示商品销售查询销售管理系统查询统计模块商品销售查询商品销售排行榜商品销售排行榜进货订单查询 进货订单查询销售利润查询销售人员销售利润查询报表 报表3.2查询统计模块用例图3.3.3商品销售模块商品销售模块用于商品的销售以及进货功能,商品销售模块用例图如图3.3所示。商品销售销售管理系统商品销售模块商品销售进货进货 销售人3.3商品销售模块用例图3.3.4系统设置模块系统设置模块主要用于已登录用户修改密码,添加个人资料以及数据备份和还原数据,突出系统等功能。系统设置模块用例图如图3.4所示修改密码销售管理系统查系统设置模块修改密码个人资料个人资料退出登录 退出登录数据备份销售人员数据备份还原数据 还原数据图3.4系统设置模块用例图3.4系统流程分析3.4.1登录流程登录模块主要用于登录销售管理系统,用户登录流程图如图3.5所示图3.5登录流程图3.4.2修改用户密码流程用于修改员工的账号密码,已登录用户通过输入新的密码进行妈妈的修改,修改员工信息流程图如图3.6所示。图3.6修改员工信息流程图3.4.3增加用户基本信息流程用于增加用户的个人基本信息,增加用户基本信息流程图如图3.7所示图3.7增加用户基本信息流程图3.4.4商品入库流程用于管理入库商品,需填商品写产地,品种,报价。数量,自动计算所需金额,剩余商品数量增加,商品入库流程图如图3.8所示图3.8入库流程图3.4.5商品出库流程用于管理出库商品,商品出库流程图如图3.9所示图3.9商品出库流程3.4.6销售统计流程用于统计销售数量,按产地进行销售统计,销售统计流程图如图3.10所示3.10销售统计流程图3.4.7商品查询流程用于对商品的查询,可根据编号,商品名,类型对商品进行查询,商品流程图如图3.11所示图3.11商品查询流程图第4章系统功能的实现第4章系统功能的实现4.1登录界面由用户输入账号和密码,验证账号是否存在,在验证密码是否正确,若正确就进入主系统,若不正确需重新输入正确密码,并给出友好的提示用户你的账号或密码错误请重新输入。界面如图4.1所示。主要核心代码:voidlogin1Dialog::on_pushButton_clicked(){QStringUserName=ui->lineEdit->text();QStringUserPwd=ui->lineEdit_2->text();QSqlTableModelmodel;model.setTable("用户信息表");model.setFilter(QObject::tr("账号='%1'and密码='%2'")//.arg(UserName).arg(UserPwd));model.select();if(model.rowCount()==1){login1Dialog::CurrentUserName=UserName;login1Dialog::CurrentUserPwd=UserPwd;accept();}else{QMessageBox::warning(this,"警告","账号或密码错误",QMessageBox::Yes);ui->lineEdit->clear();ui->lineEdit_2->clear();ui->lineEdit->setFocus();}}4.2增加供应商界面已登录的销售人员进行添加供应商的操作,添加时须填写商家编号、商家名称、电话、地址、商家信息的内容,填写完成点击添加,即可完成操作,添加成功提示:添加成功,添加失败:提示添加失败。供应商界面如图4.2所示。图4.2添加供应商界面核心代码:voidWidget::on_pushButton_20_clicked(){QStringa=ui->lineEdit->text();QStringb=ui->lineEdit_2->text();QStringc=ui->lineEdit_4->text();QStringd=ui->textEdit->toPlainText();QStringe=ui->textEdit_2->toPlainText();QSqlQueryquery;boolok=query.prepare("INSERTINTO供应商表VALUES(:1,:2,:3,:4,:5)");query.bindValue(":1",a);query.bindValue(":2",b);query.bindValue(":3",c);query.bindValue(":4",d);query.bindValue(":5",e);query.setForwardOnly(true);query.exec();if(ok){this->InitForm();QMessageBox::information(this,"消息","添加成功!");ui->lineEdit->clear();ui->lineEdit_2->clear();ui->lineEdit_4->clear();ui->textEdit->clear();ui->textEdit_2->clear();ui->lineEdit->setFocus();}elseQMessageBox::information(this,"消息","添加失败!");4.3添加商品信息界面用于用户添加商品的基本信息,添加时须填写商品编号、商品名称、商品信息、商品进货价、销售价格、供应商名称可进行选择选择已有的供应商、填写库存量、报警数量、折扣率和备注等信息,填写完成后点击添加。添加商品信息界面如图4.3所示。图4.3添加商品信息界面核心代码:QStringa=ui->lineEdit_7->text();QStringb=ui->lineEdit_3->text();QStringc=ui->lineEdit_8->text();QStringd=ui->lineEdit_5->text();QStringe=ui->lineEdit_15->text();QStringf=ui->comboBox_2->currentText();QStringg=ui->lineEdit_6->text();QStringh=ui->lineEdit_9->text();QStringi=ui->textEdit_3->toPlainText();QStringj=ui->lineEdit_28->text();QSqlQueryquery2;QStringsql2="select供应商编号from供应商表where供应商名称='"+f+"'";query2.exec(sql2);query2.next();QStringid2=query2.value(0).toString();QSqlQueryquery;if(ok){QMessageBox::information(this,"消息","添加成功!");}elseQMessageBox::information(this,"消息","添加失败!");}4.4供应商信息管理界面主要用于查找供应商可按商家编号、商家名称、电话、地址、商品信息进行查找,选中某一条记录可进行对供应商信息的修改,确认修改将修改信息,撤销修改将不进行修改操作,可进行添加供应商,和删除供应商信息等功能。供应商信息管理界面如图4.4所示图4.4供应商管理界面核心代码:voidWidget::on_pushButton_12_clicked(){ui->stackedWidget_2->setCurrentIndex(4);model=newQSqlTableModel;model->setTable("供应商表");model->select();model->setEditStrategy(QSqlTableModel::OnManualSubmit);ui->tableView_3->setModel(model);}voidWidget::on_pushButton_47_clicked(){model->database().transaction();if(model->submitAll())model->database().commit();else{model->database().rollback();}}voidWidget::on_pushButton_48_clicked(){model->revertAll();}"));4.5商品信息管理界面主要用于查找供应商可按商品编号、商品名称、商品信息、商品进货价、销售价格、供货商名称进行查找,选中某一条记录可进行对供应商信息的修改,确认修改将修改信息,撤销修改将不进行修改操作,可进行添加和删除商品基本信息等功能。商品信息管理界面如图4.5所示图4.5商品信息管理界面核心代码:QStringa=ui->comboBox_4->currentText();QStringb=ui->lineEdit_10->text();model->setFilter(QString("%1='%2'").arg(a).arg(b));ui->lineEdit_10->clear();}voidWidget::initform(){QRegExprxPhone("\\d{2}$");QRegExprxIdcard("\\d{2}$");QRegExpValidator*regPhone=newQRegExpValidator(rxPhone,this);QRegExpValidator*regIdcard=newQRegExpValidator(rxIdcard,this);//ui->lineEdit->setValidator(regPhone);//ui->lineEdit_2->setValidator(regIdcard);4.6商品查询界面对商品进行查询操作可按日期查询、订单号查询、销售员查询,商品销售查询界面如图4.6所示图4.6商品销售查询界面核心代码:voidWidget::on_pushButton_38_clicked(){QSqlQueryModel*model=newQSqlQueryModel;QStringa=ui->dateEdit_2->text();//QMessageBox::information(this,"消息",a);QStringsql="select销售单号,商品名称,销售数量,商品销售表.商品单价,(商品销售表.商品单价*销售数量)as总计,销售日期,用户名as销售员from用户信息表,商品销售表,商品信息表where账号=办理人and商品销售表.商品编号=商品信息表.商品编号and销售日期between'"+a+"'and'"+a+"23:59:59'";model->setQuery(sql);ui->tableView->setModel(model);}4.7商品销售排行榜界面对销售商品的销量进行排序可按销量升序和降序,商品销售排行界面如图4.7所示图4.7商品销售排行界面4.8进货订单查询界面对商品进货订单进行查询,可查询全部,也可按订单编号和订单日期进行查询界面如图4.8所示图4.8进货订单查询界面核心代码:voidWidget::on_pushButton_36_clicked(){QSqlQueryModel*model=newQSqlQueryModel;QStringa=ui->lineEdit_21->text();//QMessageBox::information(this,"消息",a);QStringsql="select*from进货订单表where进货订单='"+a+"'";model->setQuery(sql);ui->tableView_7->setModel(model);4.9商品销售界面对商品进行销售,销售单号自动生成,须填写商品编号,销售数量。销售单价。办理人自动生成,可获取当前日期,销售总额自动计算。商品销售界面如图4.9所示图4.9商品销售界面核心代码:QSqlQueryquery2;QStringsql2="select账号from用户信息表where用户名='"+g+"'";if(ok){QMessageBox::information(this,"消息","添加成功!");QSqlQueryquery3;QStringsql="update商品信息表SET库存量=库存量-'"+c+"'where商品编号='"+g+"'";query3.exec(sql);ui->lineEdit_25->clear();ui->lineEdit_26->clear();ui->label_20->clear();ui->lineEdit_25->setFocus();}elseQMessageBox::information(this,"消息","添加失败!");}4.10进货界面对商品进行进货,进货单号自动生成可刷新单号,商品名称可进行选择,选择收货日期,填写进货数量,获取订单日期,点击确认订单,完成进货操作。进货界面如图4.10所示图4.10进货界面核心代码:voidWidget::on_pushButton_55_clicked(){ui->stackedWidget_2->setCurrentIndex(6);model=newQSqlTableModel;model->setTable("进货订单表");model->select();model->setEditStrategy(QSqlTableModel::OnManualSubmit);ui->tableView_7->setModel(model);}}4.11修改密码界面已登录用户输入原密码、新密码、再确认密码即可完成操作,验证新密码和确认密码是否一致,一致则修改成功。修改密码界面如图4.10所示图4.11修改密码界面核心代码:QSqlTableModelmodel;model.setTable("用户信息表");model.setFilter(QObject::tr("账号='%1'and密码='%2'").arg(UseroldrName).arg(oldpwd));model.select();if(model.rowCount()==1){QSqlQueryquery3;query3.exec(sql);}else{QMessageBox::information(this,"消息","账号或密码错误!");}QMessageBox::information(this,"消息","修改成功!");4.12个人资料界面已登录用户对个人资料的修改,须填写用户名,账号、联系方式、性别、出生年、地址,点击修改个人资料即可完成操作。个人资料界面如图4.12所示。图4.12个人资料界面核心代码:QStringsql1="update用户信息表set用户信息表where账号='"+a+"'";boolok=query.prepare("UPDATE用户信息表set用户名=:1,账号=:2,电话=:3,性别=:4,出生年月=:5,地址=:6where账号='"+i+"'");query.bindValue(":1",a);query.bindValue(":2",b);query.bindValue(":3",c);query.bindValue(":4",d);query.bindValue(":5",f);query.bindValue(":6",g);query.setForwardOnly(true);query.exec();if(ok){QMessageBox::information(this,"消息","添加成功!");}elseQMessageBox::information(this,"消息","添加失败!");}4.13QT操作MySQL(1)用户信息表用于存放用户的账号密码以及基本信息如图表4.1所示。表4.1用户信息表列名数据类型长度账号varchar20密码varchar20用户名varchar20电话varchar20性别varchar4出生年月Date地址varchar20(2)供应商表用于存放供应商的基本信息如图表4.2所示。表4.2供应商表列名数据类型长度商家编号int11商家名称varchar20电话varchar20地址varchar20商品信息varchar4(3)进货订单表用于存放订单信息如图表4.3所示。表4.3进货订单表列名数据类型长度进货单号varchar20商家名称varchar20收货地址varchar20进货数量varchar20办理人varchar20订单日期date(4)商品销售表用于存放销售商品信息如图表4.4所示。表4.4供应商表表列名数据类型长度销售单号varchar20商品编号int20销售单价float销售数量int10会员卡号varchar20销售日期date(5)商品信息表用于存放商品的基本信息如图表4.5所示。表4.5商品信息表列名数据类型长度商品编号int10商品名称varchar20商品信息varchar50商品进货价float商品价格float供应商名称varchar20库存量int11报警数量int11折扣率备注varchar50第5章软件测试第5章软件测试5.1测试定义软件测试随同着软件的生成。在软件建立的早期阶段,软件的规模、纷乱性、软件建立进程纷乱烦扰,十分自由,测试的意义对比狭隘。很少放在测试中,甚而测试的干涉很慢,经常在代码形成之前,基本完成后测试产品。20世纪80年代初,软件和IT行业进入了一个伟大的发展阶段。该软件的设计规模大,复杂性高。软件质量越来越重要。至此,软件测试的一些基本理论和实践技术已开始为软件开发各种管理流程和方法。软件开发的次序也渐渐从凌乱无序的开发历程变更为架构化的开发历程,其特性是构造化的解析和计划、架构化的概述、构造化的编程和结构化的测试人们还引入了的质量概念,变更了软件测试的定义。测试不光是一个挖掘差池的历程,它作为软件质量保障(SQA)的重要功能,包涵着软件质量评价的内容。BillHetzel在《软件测试完全指南》(CompleteGuideofSoftwareTesting)一书中指出的测试是对软件质量的度数。这个定义至今仍被引用。软件开发人员和测试人员坐在一起开始讨论软件项目和测试问题。5.2测试目的从用户的角度来看,通常最好实行软件测试,以展示软件的错误和缺陷,并确定用户是否能够接受产品。对于软件开发人员来说,测试是软件产品无阻滞的过程。该软件正确满足了用户需求,建立了公众对软件质量的信任。因此,他们选择程序故障概率小的测试用例,避免了容易发现程序错误的测试用例。同时,不得进行有意向的试验。排除程序中包含的副作用。显然,这种测试对软件质量的改进和提高没有价值。程序中有许多意想不到的问题,可能会被忽略。许多隐藏的错误只能在某些情况下暴露。如果您不专注于这些点,则无法测试隐藏的错误和缺陷,它们仍会保留在运行时。从用户的角度来看,我认为测试活动的目标应该与曝光程序的错误相匹配。选择测试用例时,请从不同的角度考虑一些测试数据和用例,这些数据和用例很容易被程序错误发现。5.3测试过程(1)基本信息模块测试用例如表5.1所示。表5.1基本信息模块测试用例测试行为预测结果实际结果从登录界面进入主页面显示主界面及功能与预测结果相同点击增加供应商按钮显示增加供应商界面与预测结果相同在增加供应商界面输入相应信息点击添加相应的供应商信息添加成功与预测结果相同点击增加商品信息按钮显示增加商品信息页面与预测结果相同在增加商品信息界面输入相应信息点击添加相应的商品信息添加成功与预测结果相同点击供应商管理按钮显示供应商管理界面与预测结果相同选择供应商属性,输入名称点击查找按照对应的供应商属性进行查找与预测结果相同选择某一条供应商信息进行修改,点击提交修改对应的供应商信息修改成功与预测结果相同选择某一条供应商信息进行修改,点击撤销修改放弃对应的信息修改与预测结果相同选择添加供应商在记录尾部插入一条新的供应商信息与预测结果相同点击显示全部显示所有供应商信息与预测结果相同点击商品信息管理按钮显示商品信息管理界面与预测结果相同选择商品信息属性,输入名称点击查找按照对应的商品属性进行查找与预测结果相同选择某一条商品信息进行修改,点击提交修改对应的商品信息修改成功与预测结果相同选择某一条商品信息进行修改,点击撤销修改放弃对应的信息修改与预测结果相同选择添加商品在记录尾部插入一条新的商品信息与预测结果相同点击显示全部显示所有商品信息与预测结果相同(2)查询统计模块测试用例如表5.2所示。表5.2查询统计模块测试用例表测试行为预期结果实际结果点击查询统计按钮显示查询统计页面及功能按钮与预期结果相同点击商品销售排行榜显示商品销售排行榜与预期结果相同点击按升序排序按照销量升序显示排行与预期结果相同点击按降序排序按照销量降序显示排行与预期结果相同点击进货订单查询显示进货订单查询页面与预期结果相同点击商品销售查询显示商品销售查询页面与预期结果相同选择日期查询显示当天销售商品信息与预期结果相同选择订单号查询显示该订单商品信息与预期结果相同点击销售利润查询显示销售利润查询页面与预期结果相同(3)商品销售模块测试用例如表5.3所示。表5.3商品销售模块测试用例测试行为预期结果实际结果点击商品销售显示商品销售界面通过输入商品相应信息点击确认订单销售成功通过点击进货进入进货界面通过输入进货信息点击确认进货成功通过(4)系统设置测试用例如表5.4示。表5.4统设置模块测试用例测试行为预期结果实际结果点击系统设置显示系统设置界面通过点击修改密码显示修改密码界面与预期结果相同输入正确的密码点击确认修改修改
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单位管理制度呈现大全【员工管理】十篇
- 《物业管理服务业》课件
- 三年级数学数学广角课件
- 2024年农业综合开发和扶贫开发工作总结
- 2024年公司劳动社保科上半年的工作总结
- 空调机运输协议三篇
- 农业产品销售主管工作总结
- 通信科技前台工作总结
- 家政服务前台工作总结
- 机电装备话务员工作总结
- 动物生理学第十二章 泌乳课件
- 史记·秦始皇本纪课件
- 化妆品产品召回模拟演练记录表格
- 痤疮示意图课件
- 机电拆除及施工方案0829
- 综合管理部负责人(部长)岗位职责
- 肿瘤放射治疗技术-总论课件
- 人才培养方案汇报课件
- 检验科15项质量控制指标(检验科质控小组活动记录)
- 5S评分基准模板
- 外研社小学英语三起点五年级上册(中英文对照)
评论
0/150
提交评论