潍坊设计网站建设,重庆网站制作一般需要多少钱,最近时政新闻,公示专家的定义#x1f64a;作者简介#xff1a;拥有多年开发工作经验#xff0c;分享技术代码帮助学生学习#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。#x1f339;赠送计算机毕业设计600个选题excel文件#xff0c;帮助大学选题。赠送开题报告模板#xff… 作者简介拥有多年开发工作经验分享技术代码帮助学生学习独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。赠送计算机毕业设计600个选题excel文件帮助大学选题。赠送开题报告模板帮助书写开题报告。 作者完整代码目录供你选择 《Springboot网站项目》400套《ssm网站项目》800套《小程序项目》300套《App项目》500套《python网站项目》600套 ⚡感兴趣大家可以点点关注收藏后续更新更多项目资料。⚡ 项目演示 摘 要
使用旧方法对超市收银系统的信息进行系统化管理已经不再让人们信赖了把现在的网络信息技术运用在超市收银系统的管理上面可以解决许多信息管理上面的难题比如处理数据时间很长数据存在错误不能及时纠正等问题。这次开发的超市收银系统对商品,收银,出入库,供应商,公告,客户等进行集中化处理。经过前面自己查阅的网络知识加上自己在学校课堂上学习的知识决定开发系统选择小程序模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问采用的主流的Java语言这种面向对象的语言进行超市收银系统程序的开发在数据库的选择上面选择功能强大的Mysql数据库进行数据的存放操作。超市收银系统的开发让用户查看商品信息变得容易让管理员高效管理商品信息。 关键词超市收银系统商品信息公告自助资讯 1 绪论
1.1 研究背景
现在大家正处于互联网加的时代这个时代它就是一个信息内容无比丰富信息处理与管理变得越加高效的网络化的时代这个时代让大家的生活不仅变得更加地便利化也让时间变得更加地宝贵化因为每天的每分钟每秒钟这些时间都能让人们处理大批量的日常事务这些场景是之前的手工模式无法与之相抗衡的。对于商品信息的管理来说传统的通过纸质文档记录信息的方式已经落后了依靠手工管理商品信息不仅花费较长的工作时间在对记录各种信息的文档进行信息查询以及信息核对操作时也不能及时保证信息的准确性基于这样的办公低效率环境下对于商品信息的处理就要提出新的解决方案。因为这个时代的信息一直都在高速发展要是不抱着发展的观念看待事情极有可能被这个市场快速遗忘甚至被无情地淘汰掉。所以尽早开发一款超市收银系统进行信息的快速处理既跟上了时代的发展脚步也能让自己的核心竞争力有所提升。
1.2目的和意义
互联网加的时代一方面是加快信息的发展另一方面也是对传统行业进行筛选能够继续发展的肯定是那些能够充分运用互联网技术进行自身升级改革的行业。那些停步不前的行业只能就此结束进而被大家所遗忘。这次设计出来的超市收银系统它不仅能够让管理人员在信息增加信息的编辑等事务处理上节省很多的时间也会砍掉一部分的人工成本节省不必要开支的资金。另外此系统的操作界面是可视化的界面管理人员无需付费培训就能尽快上手。超市收银系统的开发意义如下
1、管理人员再也不用在查询信息上花费大量宝贵的时间了通过信息关键词字段就可以在几秒内获取需要的信息在各种突发事件面前管理人员也不用慌张可以从容淡定地处理各种相关信息。
2、该系统在每天的24小时期间都是不会停止服务的只要有信息操作的需要管理人员都能使用常用的360浏览器或者百度浏览器或者谷歌浏览器2345浏览器等大众浏览器都能登录系统然后操作对应的功能。
3、有了这款信息管理类操作软件所有需要进行处理的数据不用在纸质版本的文档上进行记载而是基于电脑进行信息录入。
4、商品方面的信息都是通过网站进行显示其实质是这些信息都保存在网站对应的数据库里面。只要操作员不去恶意删除信息那么这些信息将会永久保存。
1.3 论文结构安排
编写超市收银系统相对应的论文其实就是对开发完成的程序进行再次解读的过程。本论文从七个方面的内容讲解了开发的程序具体内容如下
第一个部分就是论文的绪论这个部分就是介绍在什么样的背景下开发的程序以及这个程序开发出来具有什么意义等内容。
第二个部分就是介绍开发这个程序使用了什么技术使用什么数据库保存程序的数据信息程序开发的语言是使用的什么语言等内容。
第三个部分就是介绍这个程序开发在现实生活的可行性问题也讲述了程序开发需要设置什么功能等内容。
第四个部分就是已经知晓程序的大致功能需要对程序的功能进行更为严格的细分也需要出具相应的功能结构图同时也要设计程序对应的数据库包括数据库里面的数据表的设计等内容。
第五个部分就是在系统的编码阶段需要使用编程语言完成程序的功能完成程序的界面设计最终以界面实现的效果图展示设计成果等内容。
第六个部分就是程序已经完成了开发的前提之下需要检测程序的各个模块是否衔接正常程序各个功能能否在网络等一切外部条件正常的情况下运行这期间要是出现任何错误都需要及时记录并在后期进行修补完善。
第七个部分就是论文最后的总结部分描述遇到的问题采用的解决思路等内容。
2 相关技术
2.1 VUE介绍
Vue (读音 /vjuː/类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层不仅易于上手还便于与第三方库或既有项目整合。另一方面当与现代化的工具链以及各种支持类库结合使用时Vue 也完全能够为复杂的单页应用提供驱动。
2.2 Mysql数据库介绍
有了程序功能的操作也需要对程序操作的各个功能所产生的数据信息存放在一个固定的仓库里面这个所谓的仓库就是大家最熟悉的程序开发需要使用的数据库了数据库能够发展到至今的模样其实也是经历了很多的变化历程的在最开始由于数据信息处理的需要开始推出最低级的数据管理这个阶段也是数据库早期的人工管理的阶段后来也经历了文件管理的阶段这个阶段的数据管理因为信息不能够进行共享加上管理的数据对配套的程序产生了较强的依赖性在数据信息管理上也存在很多数据的重复记载造成数据冗余等问题。所以为了解决上述一系列文件管理阶段所产生的数据管理的问题对数据管理方式进行了全方位的升级改造也就让数据管理进入了一个全新的阶段——数据库系统的阶段。这个阶段也是数据库管理数据的一个全新的相当高级的阶段。
说到数据库也不得不说数据库的模型数据库拥有的数据模型有网状还有层次以及关系型这三样数据库模型。网状的结构就是把记录的每条信息都比喻成一个点点跟点之间也有联系最终就形成了一个像网一样的结构就是所谓的网状数据模型。也有对数据记录使用树状结构的方式进行数据保存这个就是层次数据模型关系数据库模型运用在现在市面上常见的数据库当中了像本系统开发使用的MySQL数据库还有安装过程比较复杂的Sqlserver数据库也有一些比较小巧的关系型数据库像Access数据库FoxPro数据库等数据库。这样的关系型数据库将数据表里面的行还有列进行相互关联形成一个二维矩阵的方式来保存程序所产生的数据信息。
本次之所以选择MySQL数据库来当程序数据存放的仓库则是因为此数据库安装不用费时也不需要各种百度信息去解决安装过程中出现的任何问题而且由于自己的电脑内存比较小才4个G为了更好的开发项目程序针对低配置的电脑选择MySQL数据库也是情理之中。图2.3展示了数据列设计中需要使用的列类型。 图2.3数据列类型图
2.3 JAVA语言介绍
在1995年这一年的5月份著名的Sun Microsystems公司在程序开发设计上面郑重推出一种面向对象开发的程序设计语言——Java最开始的时候Java是由詹姆斯.高斯林这位伟大的JAVA之父来进行主导但是在后来由于各种原因让甲骨文公司这个针对商业程序创建了oracle大型数据库的公司收购了Java。Java的平台总共算下来有3个分别为javaME和javaSE以及javaEE这3个java平台。下面将对其进行分别介绍。
1.在电脑桌面程序的开发上面需要选择JavaME这个用得也比较多。
2.企业也会根据工作以及业务需要开发各种软件那么就会选用JavcEE这个支持企业版软件的开发的Java平台JavcEE主攻运用在企业领域上面的web应用JavcEE也在javaSE的基础上获得了比如jsp技术 Servlet技术等程序开发技术的支持。
3.现在生活中手机的普及化也使得手机端这样的移动设备的软件的兴起JavaME这个迷你版java平台就能运用于移动端的软件开发操作。图2.4就是 Java技术原理图。
图2.4 Java技术原理图 3 系统分析
3.1系统可行性分析
需要使用大部分精力开发的超市收银系统为了充分降低开发风险特意在开发之前进行可行性分析这个验证系统开发是否可行的步骤。本文就会从技术角度经济角度还有用户使用的程序的运行角度进行综合阐述。
3.1.1 技术可行性分析
开发程序选择的是面向对象的功能强大的简单易用的Java程序设计语言数据库的开发工具使用到了Mysql数据库由于自己之前接触过一些简单的程序开发方面的设计作品所以对Myeclipse工具的使用比较熟练对于数据库的操作技巧也有一定的积累。另外程序开发需要在自己电脑上安装的软件并不多在win7操作系统的大环境下能够完全搭建好程序开发的操作环境比如Myeclipse工具Mysql数据库工具游览器以及处理程序图片的Photoshop工具等都能安装在自己的电脑上。总的说来开发这个程序在技术上是可以实现的。
3.1.2 经济可行性分析
开发出来的程序并不是朝着商业程序的方向进行设计开发的它只是作为一个毕业设计项目进行开发主要用于检验学生在学校所学知识的一个检验也锻炼学生运用网络图书等工具进行自学的能力。所以开发这个程序软件并不会涉及到经济上面的开销在开发软件的选择上也不会额外付费安装软件在开发软件的官网上面就可以下载需要的软件并根据提示的安装步骤安装软件到自己的电脑上面。总的说来开发这个程序在经济上也不存在经费支出。
3.1.3 运行可行性分析
因为这个程序软件从开始开发到开发截止都是根据用户的需求进行定制考虑到此程序软件是面向广大普通操作用户鉴于他们的知识文化水平特意开发出一个可操作性强的能够很容易让使用用户上手的具有可视化操作界面的一个程序软件。总的说来这个程序站在用户运行程序的角度上分析是不存在操作难的问题的。用户只要打开程序就可以免去专人培训进行程序功能操作。
经过上面从技术的角度从经济的角度从程序运行的角度这三个角度分析现打算开发的程序可以得出该程序软件是可以进行开发操作的。
3.2系统性能分析
3.2.1 系统安全性
程序在使用中是不允许其他访问者随意窃取程序里面的隐秘信息也不允许其他操作者越权操作其他管理用户操作的功能要真正杜绝这些现象就必须在程序开发之前把程序的安全性给考虑进去。
比如现在很多程序都会把用户注册的功能给考虑进去让用户在注册页面功能区填写自己的个人信息这些数据信息涵盖了用户本人的姓名用户对程序登录设置的密码用户经常使用的邮箱用户的常用联系方式还有用户的所住地址等信息这些信息都是设计到用户本人的隐私那么这些信息在传输给程序后台时是需要进行管理并保存至对应的数据库文件里面。要是有人恶意窃取程序的数据信息也就会让那些注册了此程序软件的用户的个人隐秘信息都会遭到泄露。这些信息落入其他不法分子手里他们极有可能根据用户的隐私信息去骚扰用户并把这些信息用于各种商业用途谋取其他非法的利益。所以数据安全性是一个系统能不能使用的首要标准。
3.2.2 数据完整性
数据完整性是确保数据信息是否具有可靠性是否具有参考价值的一个重要因素数据信息只描述一部分或者必有的数据信息反而为空等现象都是代表着这个数据信息不完整有数据缺陷这是个很严肃的问题因为这样的数据信息跟垃圾信息没什么两样。
说到数据完整性不得不提最常用的程序表单功能。这些表单主要就是提取广大用户的数据信息的需要广大用户根据表单上的要求填写自己的姓名信息以及自己的联系方式信息有些也会有额外的信息填写要求有必须要填的选项也有不需要必填的选项。假如广大用户为了保护自己的隐私或者不想受到其他人的骚扰不填写必填项等信息广大用户在最后提交此表单的时候往往都是提交不了的。
数据完整性不仅仅限于登记的数据要完整它也需要程序里面的所有数据信息之间存在关联而且这种联系也是要求不能出差错的。
由于数据表之间也会存在一定的联系所以同一个数据也会出现在另一个表格里面那么这两个表格记录的同一个数据应该是一样的。不能够是同样的数据信息在不同表中不一样。
3.2.3系统可扩展性
一切事物都是一直在发展程序员开发软件也需要带着发展的思维去进行软件开发操作这样的话开发出来的程序在应对管理所需时也会相对应的进行程序升级与更新。不论是功能完善还是数据库升级都能在原来的基础上对原有程序进行迭代升级。让开发出来的程序能够走得越来越远。这也是广大用户对程序软件的使用要求。
3.3系统流程分析
管理员假如要操作系统提供的功能那么管理员就要在系统的登录界面填写管理员登录的账号信息填写相应的密码信息管理员需要保证这两者能够验证身份的账号以及密码信息的正确性这样管理员就可以通过登录界面进入系统后台操作界面。图3.1就是开发的程序软件超市收银系统它的操作流程图。
图3.1 系统操作流程图
3.3.1系统登录流程
超市收银系统的登录流程针对的角色就是操作员的操作角色。在登录界面需要的必填信息就是账号信息配上登录的密码信息就能登录超市收银系统需要注意的就是必填的账号信息和登录密码信息都需要进行验证系统会判断账号还有填写的密码信息的正确性只有这两者信息都正确了就能成功登录超市收银系统了。系统登录流程图如下图。
图3.2 系统登录流程图
3.3.2信息添加流程
用户在添加信息的界面填写的任何数据信息也是需要验证的系统会判断用户填写信息的格式还有数据信息是不是合法信息如果用户填写的信息是合法内容系统就会在数据库对应的数据表里面添加信息。添加信息流程如下图。
图3.3 添加信息流程图
3.3.3信息删除流程
对于那些已经失效的信息需要用户及时进行删除这样有利于腾出空间存放其他信息。删除信息也是先从数据库对应数据表里面删除数据接着就是更新数据表的信息。这样删除的数据在用户操作界面就查看不到了。信息删除流程如下图所示。
图3.4 信息删除流程图
3.4系统功能分析
超市收银系统具有管理员角色用户角色这几个操作权限。
超市收银系统针对管理员设置的功能有添加并管理各种类型信息管理用户账户信息管理商品信息管理公告信息等内容。
超市收银系统针对用户设置的功能有查看并修改个人信息查看商品信息查看公告信息等内容。
4 系统设计
4.1系统概要设计
超市收银系统并没有使用C/S结构而是基于网络浏览器的方式去访问服务器进而获取需要的数据信息这种依靠浏览器进行数据访问的模式就是现在用得比较广泛的适用于广域网并且没有网速限制要求的小程序结构图4.1就是开发出来的程序工作原理图。
图4.1 程序工作的原理图
4.2系统功能结构设计
超市收银系统针对管理员设置的功能有添加并管理各种类型信息管理用户账户信息管理商品信息管理公告信息等内容。
超市收银系统针对用户设置的功能有查看并修改个人信息查看商品信息查看公告信息等内容。
4.3数据库设计
4.3.1数据库E-R图设计
程序设计是离不开对应数据库的设计操作的这样的做法就是减少数据对程序的依赖性所以数据库的设计也是需要花费大量的日常时间来进行设计的在设计中对程序开发需要存储的数据信息进行实体划分先确认实体然后设计实体的属性等操作这种设计就是数据库设计里面不能少的必须有的E-R模型设计。为了降低程序设计的对应的数据库设计难度开发人员也可以使用相应的工具来进行E-R模型设计现在市面上设计E-R模型的工具有PowerDesigner建模工具Navicat制作工具还有微软的Visio绘图工具。为了简便起见本程序在设计E-R模型的时候就选用了微软的Visio这款功能强大操作便利的绘图工具。
1下图是出入库详情实体和其具备的属性。
出入库详情实体属性图
2下图是商品实体和其具备的属性。
商品实体属性图
3下图是公告实体和其具备的属性。
公告实体属性图
4下图是出入库实体和其具备的属性。
出入库实体属性图
5下图是供应商信息实体和其具备的属性。
供应商信息实体属性图
6下图是收银实体和其具备的属性。
收银实体属性图
7下图是收银详情实体和其具备的属性。
收银详情实体属性图
8下图是客户实体和其具备的属性。
客户实体属性图 4.3.2 数据库表结构设计
本次程序开发选用的数据库管理工具是Mysql数据管理工具使用它存放数据也需要创建程序对应的数据库文件并命名刚创建的数据库文件有了数据库也需要创建各种数据表来充实数据库在数据表的创建中不仅需要对数据表命名也需要对数据表的字段进行设计包括每个数据表里面需要设置的字段名称字段对应的数据类型信息字段的主键设置这个也是不可缺少的因为每个数据表里面的主键就是标记着这个数据表跟其他数据表相区分的唯一标志。就相当于生活中的每个人都有姓名但是上网搜索自己的名字会发现全国上下有很多人的名字跟自己的名字一模一样包括姓氏以及名字区分每个人的唯一信息就是每个人的身份证号信息主键在数据表里面也是起着这样的重要作用。下面就介绍本次开发的程序超市收银系统的数据表结构信息。
表4.1字典表 序号 列名 数据类型 说明 允许空 1 Id Int id 否 2 dic_code String 字段 是 3 dic_name String 字段名 是 4 code_index Integer 编码 是 5 index_name String 编码名字 是 6 super_id Integer 父字段id 是 7 beizhu String 备注 是 8 create_time Date 创建时间 是
表4.2公告表 序号 列名 数据类型 说明 允许空 1 Id Int id 否 2 gonggao_name String 公告名称 是 3 gonggao_types Integer 公告类型 是 4 insert_time Date 公告发布时间 是 5 gonggao_content String 公告详情 是 6 create_time Date 创建时间 是
表4.3供应商信息表 序号 列名 数据类型 说明 允许空 1 Id Int id 否 2 gongyingshang_name String 供应商名称 是 3 lianxiren_name String 联系人姓名 是 4 lianxiren_phone String 联系人手机号 是 5 lianxiren_address String 地址 是 6 gongyingshang_types Integer 供应商类型 是 7 gongyingshang_xinyongdengji_types Integer 信用等级 是 8 gongyingshang_content String 供应商详情 是 9 create_time Date 创建时间 是
表4.4客户表 序号 列名 数据类型 说明 允许空 1 Id Int id 否 2 kehu_name String 客户姓名 是 3 kehu_phone String 客户手机号 是 4 kehu_id_number String 客户身份证号 是 5 kehu_photo String 客户头像 是 6 kehu_email String 客户邮箱 是 7 create_time Date 创建时间 是
表4.5商品表 序号 列名 数据类型 说明 允许空 1 Id Int id 否 2 gongyingshang_id Integer 供应商 是 3 shangpin_name String 商品名称 是 4 shangpin_uuid_number String 商品编号 是 5 shangpin_photo String 商品照片 是 6 shangpin_danwei String 单位 是 7 shangpin_types Integer 商品类型 是 8 shangpin_kucun_number Integer 商品库存 是 9 shangpin_old_money BigDecimal 商品进价 是 10 shangpin_new_money BigDecimal 销售价 是 11 shangpin_cangku String 所属仓库 是 12 shangpin_content String 商品介绍 是 13 insert_time Date 录入时间 是 14 create_time Date 创建时间 是
表4.6出入库表 序号 列名 数据类型 说明 允许空 1 Id Int id 否 2 shangpin_churu_inout_uuid_number String 出入库流水号 是 3 shangpin_churu_inout_types Integer 出入库类型 是 4 shangpin_churu_inout_content String 备注 是 5 insert_time Date 添加时间 是 6 create_time Date 创建时间 是
表4.7出入库详情表 序号 列名 数据类型 说明 允许空 1 Id Int id 否 2 shangpin_churu_inout_id Integer 出入库 是 3 shangpin_id Integer 商品 是 4 shangpin_churu_inout_list_number Integer 操作数量 是 5 insert_time Date 操作时间 是 6 create_time Date 创建时间 是
表4.8收银表 序号 列名 数据类型 说明 允许空 1 Id Int id 否 2 shangpin_shouyin_uuid_number String 收银流水号 是 3 kehu_id Integer 客户 是 4 shangpin_shouyin_true_price BigDecimal 实付金额 是 5 shangpin_shouyin_types Integer 收银类型 是 6 shangpin_shouyin_content String 备注 是 7 insert_time Date 购买时间 是 8 create_time Date 创建时间 是
表4.9收银详情表 序号 列名 数据类型 说明 允许空 1 Id Int id 否 2 shangpin_shouyin_id Integer 收银 是 3 shangpin_id Integer 商品 是 4 shangpin_shouyin_list_number Integer 购买数量 是 5 insert_time Date 购买时间 是 6 create_time Date 创建时间 是
表4.10管理员表 序号 列名 数据类型 说明 允许空 1 Id Int id 否 2 username String 员工名 是 3 password String 密码 是 4 role String 角色 是 5 addtime Date 新增时间 是 5 系统实现
5.1管理员功能介绍
5.1.1管理员登录
系统登录功能是程序必不可少的功能在登录页面必填的数据有两项一项就是账号另一项数据就是密码当管理员正确填写并提交这二者数据之后管理员就可以进入系统后台功能操作区。下图就是管理员登录页面。
图5.1 管理员登录页面
5.1.2 商品管理
项目管理页面提供的功能操作有查看商品删除商品操作新增商品操作修改商品操作。下图就是商品管理页面。
图5.2 商品管理页面
5.1.3 公告信息管理
公告信息管理页面提供的功能操作有新增公告修改公告删除公告操作。下图就是公告信息管理页面。
图5.3 公告信息管理页面
5.1.4公告类型管理
公告类型管理页面显示所有公告类型在此页面既可以让管理员添加新的公告信息类型也能对已有的公告类型信息执行编辑更新失效的公告类型信息也能让管理员快速删除。下图就是公告类型管理页面。
图5.4 公告类型列表页面 5.1.5 供应商管理
如图5.5显示的就是供应商管理页面此页面提供给管理员的功能有新增供应商,修改供应商,删除供应商。
图5.5供应商管理页面
5.1.6 供应商类型管理
如图5.6显示的就是供应商类型管理页面此页面提供给管理员的功能有新增供应商类型,修改供应商类型,删除供应商类型。
图5.6 供应商类型管理页面 6系统测试
为了保证所开发出来的系统质量过关让所开发出来的系统具备可靠性并能够投入运行使用这就需要进行系统开发的最后一个关键步骤那就是系统测试。可以说系统测试就是对系统开发前面的步骤比如系统分析与设计等进行复查。尽管在程序开发期间人们一直很注意避免系统出错但这样还是会让很多的潜在的系统缺陷不容易被人们肉眼察觉只有经过反复不断地测试才能及时暴露系统的运行问题这个时候进行系统问题的纠正就能真正避免财产损失截止到目前市面上还没有从根本上解决开发出的程序的正确性证明。所以发现系统的错误以及缺陷的重要手段还是要依赖于系统测试。
6.1 本系统测试
本系统的测试结合了计算机的软件以及硬件系统对程序的全部功能还有程序的运行稳定性等性能上进行了测试测试过程中也再次对程序配套数据库的连接问题进行了系统化地测试操作。接下来就选取系统的一些功能进行测试演示。
6.1.1 登录功能测试
系统的登录功能主要起到一个验证身份的作用目的就是防止外人恶意攻击系统窃取系统的相关数据信息系统的登录功能验证的信息有两项一个是用户名另一个就是密码信息。任何一个数据出现问题系统就会提示。当然用户也不能进入系统。测试数据信息见下表。
表6.1 登录功能测试数据 测试项目 测试数据 期望结果 测试结果 填写数据库里面的用户名密码 用户名a1 密码123456 登录通过 登录通过 填写的用户名密码在数据库中并不存在 用户名a1 密码aaaaa 登录不通过 登录不通过 填写数据库的用户名但填写密码有误 用户名a1 密码aaaaa 登录不通过 登录不通过 填写的用户名在数据库里面没有但填写的密码无误 用户名a111 密码123456 登录不通过 登录不通过
6.1.2 注册功能测试
游客需要注册来获取账号密码信息游客要是曾经进行过注册再次填写同样的账号信息时系统也会提示数据库已有相同账号信息游客就不能注册成功了。测试结果详细见下表。
表6.2 注册功能测试数据 测试项目 测试数据 期望结果 测试结果 填写的用户名密码在数据库里面已经存在 用户名a1 密码123456 不能注册 不能注册 填写的用户名密码在数据库里面没有 用户名a99 密码123456 注册通过 注册通过
6.2测试结果分析
经过了程序开发的最后一个测试环节对开发的程序软件超市收银系统也下了定论在测试期间程序的功能能够跟最开始的用户需求文档保持一致性程序的界面设计以及数据库设计也都是参照用户的需求完成设计的。另外程序开发也充分解决了系统的升级以及长时间保持稳定运行的问题说明该程序软件还是挺可靠的进行验收上交也是达标的。总的说来截止到目前该超市收银系统功能可靠有着简单的操作流程能够从一定程度上解决数据信息操作方面出现的各种问题。
结 论
开发超市收银系统是作为毕设作品进行设计的这个毕设作品是我在校进行知识学习的一个毕业考核项目也是检验我通过网络工具图书工具等学习工具进行自学的能力水平让我在根据程序开发的需求分析初步完成程序功能之外还接触了程序的测试过程了解程序测试的具体的过程以及遇到问题怎么去寻找相应的解决办法等等毕业作品的制作以及设计才是学校对我真正的考验。
在程序软件没能进行开发之前我去了学校的图书馆借了有关数据库操作的书籍在查看了sqlserver和mysql两种数据库的相关知识之后我最后选择了我比较熟悉的mysql数据库。在编程语言的抉择上由于自己之前接触过Java程序的开发所以为了让我尽快在短时间内完成程序制作我确定用Java编程语言进行程序编程。另外我从百度上下载了很多的有关信息增加信息删除等操作的源代码并通过不断调试以及完成配套的数据库的设计开始完成程序的各个部分的功能。每当我粗心大意致使我深陷程序开发困扰不能自拔之时值得庆幸的是我就会得到老师还有我的寝室同学的耐心指导。
历经长达几个月的毕业作品制作我凭借自己的知识技能还有大家的指导帮助能够在学校规定的时间段之内提交毕业作品。虽然已经算是完成了毕业作品但是付出了这么多心血还是想把这个作品做得更加完美一点。针对我的毕业作品超市收银系统我觉得还有很多方面需要完善第一就是界面上需要细微调整比如色彩搭配有点违背广众的审美需要细微调整还有系统里面的字体大小也需要调大一点太小的字体看起来有些费眼。然后在程序的功能上因为自己的入门开发水平的影响所以目前只能做到这个境界这个系统相比其他类似系统来说功能很简单逻辑结构设计得也比较合理。
自己一个人完成程序的开发我不仅亲自体验了程序的开发流程体验到了程序开发的各种不易。这种体验也还加深了我对知识的尊重。学海无涯知识不是大学短短四年就能学完的在大学学到的知识在最终经历检验时才会深深地明白自己的知识积累原来还很浅薄。所以今后不管身在何处自己的学习心态一定要时刻体现出来要深刻明白知识学到手里就是自己的。同时自己也不必过多抱怨学到的知识没有用处相信学到的知识总会有派上用处的那天。不要等到需要用时再去学习知识那样就会导致自己错失很多本该属于自己的机遇。
参考文献
[1]张孝祥,徐明华.JAVA基础与案例开发详解[M].清华大学出版社,2012.
[2]康牧.JSP动态网站开发实用教程[M].清华大学出版社,2011.
[3]刘亚宾.精通Eclipse--JAVA技术大系[M].电子工业出版社,2015.
[4]张知青.基于关系数据库的查询方法及优化技术分析[J].煤炭技术,2012,31(05):218-220.
[5]赵钢.JSP ServletEJB的Web模式应用研究[J].电子设计工程,2013,21(13):47-49
[6]肖英.解决Servlet开发中的中文乱码问题[J].科技传播,2011,(1)11-25
[7]卫红春.信息系统分析与设计[M].北京清华大学出版社,2009.
[8]于万波.网站开发与应用案例教程[M].清华大学出版社2009.
[9]黎连业,王华,李淑春.软件测试与测试技术[M].清华大学出版社2009.
[10]宋丽娜.基于JSP的Web开发中文乱码问题的研究与解决[J].电子技术,2013,42(11):5-7.
[11]汪君宇.基于JSP的Web应用软件开发技术分析[J].科技创新与应用,2018(16):158-160.
[12]王建国.数据库设计在网站开发中的应用[J].山东农业工程学院学报,2017,34(04):158-159164.
[13]曾志明.网站开发技术的比较研究[J].电脑知识与技术,2010,6(05):1075-1078.
[14]朱钧.基于角色的jsp通用权限系统设计与实现[D].山东大学,2014.
[15]陈志誉. Java工具及其调度方法研究[D].华南理工大学,2018.
[16]熊培伶.网站界面优化[J].通讯世界,2018(08):84-85.
[17]白胜,赵亚楠,拓昱晓,张颖姣,康奇,郭小燕.基于BS架构的网站平台的设计与实现[J].电脑知识与技术,2018,14(34):48-5061.
[18]Xin-hua YOU. Brief Discuss the Application of Object-oriented in Java Language Programming Course[A]. Advanced Science and Industry Research Center.Proceedings of 2018 3rd International Conference on Automation, Mechanical and Electrical Engineering (AMEE 2018)[C].Advanced Science and Industry Research Center:Science and Engineering Research Center,2018:5.
[19]Menglin Liu. Design and Research of Batch Query System Based on Java[A]. Research Institute of Management Science and Industrial Engineering.Proceedings of 2018 4th World Conference on Control, Electronics and Computer Engineering (WCCECE 2018)[C].Research Institute of Management Science and Industrial Engineering:计算机科学与电子技术国际学会(Computer Science and Electronic Technology International Society),2018:5. 致 谢
在这个毕业设计即将完成的最后的时刻我很想对我的老师还有我周边的朋友以及我的同班同学们表示我的谢意谢谢你们在毕业设计的制作阶段对我提供的各种帮助我的指导老师给我的毕业设计提供了许多种指导方案包括论文大纲的安排程序功能结构的设计以及程序的亮点等部分都很有耐心的进行了及时地指导让我的毕业设计能够达到学院验收的水平。另外还有陪伴我的同学们以及朋友们我们在这几个月一起泡图书馆一起讨论以及制作毕业设计让我在进行毕设作品创作中一直很有动力。特别是在我进行程序文档的编写过程中的时候有很多格式问题还有文档内容的问题都是你们一一指出并纠正让我少走了很多弯路。
最后的时刻我要感谢我的大学感谢所有学校的领导还有老师们正因为有你们我才能够在大学这几年学到很多有用的知识才能更好地成长起来相信我在毕业之后步入社会我也能把学校所学到的知识进行灵活运用我也会注重在社会上进行学习让自己步入一个更高的台阶遇到更好的自己
核心代码展示
/*** 公告通知* 后端接口* author * email * date 2021-03-09 11:33:59*/
RestController
RequestMapping(/news)
public class NewsController {Autowiredprivate NewsService newsService;/*** 后端列表*/RequestMapping(/page)public R page(RequestParam MapString, Object params,NewsEntity news, HttpServletRequest request){EntityWrapperNewsEntity ew new EntityWrapperNewsEntity();PageUtils page newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));return R.ok().put(data, page);}/*** 前端列表*/IgnoreAuthRequestMapping(/list)public R list(RequestParam MapString, Object params,NewsEntity news, HttpServletRequest request){EntityWrapperNewsEntity ew new EntityWrapperNewsEntity();PageUtils page newsService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, news), params), params));return R.ok().put(data, page);}/*** 列表*/RequestMapping(/lists)public R list( NewsEntity news){EntityWrapperNewsEntity ew new EntityWrapperNewsEntity();ew.allEq(MPUtil.allEQMapPre( news, news)); return R.ok().put(data, newsService.selectListView(ew));}/*** 查询*/RequestMapping(/query)public R query(NewsEntity news){EntityWrapper NewsEntity ew new EntityWrapper NewsEntity();ew.allEq(MPUtil.allEQMapPre( news, news)); NewsView newsView newsService.selectView(ew);return R.ok(查询公告通知成功).put(data, newsView);}/*** 后端详情*/RequestMapping(/info/{id})public R info(PathVariable(id) Long id){NewsEntity news newsService.selectById(id);return R.ok().put(data, news);}/*** 前端详情*/IgnoreAuthRequestMapping(/detail/{id})public R detail(PathVariable(id) Long id){NewsEntity news newsService.selectById(id);return R.ok().put(data, news);}/*** 后端保存*/RequestMapping(/save)public R save(RequestBody NewsEntity news, HttpServletRequest request){news.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(news);newsService.insert(news);return R.ok();}/*** 前端保存*/RequestMapping(/add)public R add(RequestBody NewsEntity news, HttpServletRequest request){news.setId(new Date().getTime()new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(news);newsService.insert(news);return R.ok();}/*** 修改*/RequestMapping(/update)public R update(RequestBody NewsEntity news, HttpServletRequest request){//ValidatorUtils.validateEntity(news);newsService.updateById(news);//全部更新return R.ok();}/*** 删除*/RequestMapping(/delete)public R delete(RequestBody Long[] ids){newsService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/RequestMapping(/remind/{columnName}/{type})public R remindCount(PathVariable(columnName) String columnName, HttpServletRequest request, PathVariable(type) String type,RequestParam MapString, Object map) {map.put(column, columnName);map.put(type, type);if(type.equals(2)) {SimpleDateFormat sdf new SimpleDateFormat(yyyy-MM-dd);Calendar c Calendar.getInstance();Date remindStartDate null;Date remindEndDate null;if(map.get(remindstart)!null) {Integer remindStart Integer.parseInt(map.get(remindstart).toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate c.getTime();map.put(remindstart, sdf.format(remindStartDate));}if(map.get(remindend)!null) {Integer remindEnd Integer.parseInt(map.get(remindend).toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate c.getTime();map.put(remindend, sdf.format(remindEndDate));}}WrapperNewsEntity wrapper new EntityWrapperNewsEntity();if(map.get(remindstart)!null) {wrapper.ge(columnName, map.get(remindstart));}if(map.get(remindend)!null) {wrapper.le(columnName, map.get(remindend));}int count newsService.selectCount(wrapper);return R.ok().put(count, count);}}