ImageVerifierCode 换一换
格式:DOCX , 页数:97 ,大小:4.90MB ,
资源ID:4866178      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4866178.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(超市管理系统java程序设计报告图文完整.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

超市管理系统java程序设计报告图文完整.docx

1、超市管理系统java程序设计报告图文完整xx学院程序设计课程设计(C)报告项目名称:超市项目管理系统学生姓名: xxx学 号: xxx班 级: xxx指导老师: xxx日 期: xxx1、项目描述超市收银管理系统是一个辅助超市收银员统计商品以及辅助管理员统计货物情况和收益情况的实用性工具。根据超市的日常管理需要,超市收银系统应该包括基本档案管理、商品库存管理、会员管理、交易管理等四大功能,其中基本档案管理包括收银员信息管理和商品信息管理;商品库存管理包括商品入库管理和商品出库管理;会员管理包括会员信息管理和积分管理;交易管理包括交易信息管理和销售信息管理。2、需求分析 (1) 界面需求软件的操

2、作界面是图形界面还是字符界面,以简洁清晰、操作方便为首要目标。基于超市收银的基本业务分析,和必须解决的两大难题,针对性地制定出所要设计小型超市收银管理系统所需要的系统功能,如下七点:(1)设计软件提供用户登陆界面,为用户提供账号密码管理工具,具体为添加用户、删除用户、修改用户名、密码。(2)设计软件将对单个商品进库产品进行管理,对进库清单进行录入、修改、查询和统计,也提供出库功能,对出库清单进行录入和查询。(3)设计软件将能对商品信息情况进行修改操作和查询操作,能设置库存商品单价,能对库存商品总值进行统计。(4)设计软件能对超市会员信息进行管理,具体为添加会员信息、删除员工信息、修改会员信息操

3、作、查询会员信息操作。(5)设计软件能对每单生意信息进行管理,具体为每单生意信息的添加、查询、修改。(2) 数据需求需要输入什么类型的数据、什么值的数据,即数据模型的建立。是由项目内容及软件设计者决定的。以数据描述的清晰、数据意义的完整为目标。出库表:入库表:收银员表:商品信息表:会员表:(3) 功能需求系统应该具有哪些功能,与项目描述以及设计者的理解直接相关。对一般的管理软件来说,必须包括数据的输入输出、增删改查、排序、统计等功能。请按实际项目需求填写用例。一般按 动作(动词) 结果(名词)的形式书写。1、登录功能:Action1:输入库里存有的用户和密码,输入正确,登录成功,输入错误,登录

4、失败;Action2:点击重置按钮,刷新用户名和密码。2、主窗体菜单功能Action1:下拉菜单模块,菜单模块里面有子菜单。分为,收银员信息、收银员信息管理;商品、商品信息管理;商品出入库管理,商品交易管理;会员信息菜单、会员信息管理菜单;设置菜单、联系我们选项、退出系统选项。 3、收银员添加信息功能Action1:填入收银员的编号、姓名、密码,信息入库,并可做登录名和密码。4、收银员信息排列Action1:可以列出收银员名单、点击表格某一行,可以显示对于的信息填入对应的文本里。5、收银员的信息查询Action1:可以通过对姓名的模糊查询,查询到收银员。6、收银员信息的修改Action1:通过

5、修改对应得文本框,然后点击修改按钮完成信息修改。7、商品添加信息功能Action1:填入商品的编号、名称等,信息入库,并可做登录名和密码。8、商品信息排列Action1:可以列出商品名单、点击表格某一行,可以显示对于的信息填入对应的文本里。9、商品的信息查询Action1:可以通过对商品名称的模糊查询,查询到商品。10、商品信息的修改Action1:通过修改对应得文本框,然后点击修改按钮完成信息修改。11、商品交易添加信息功能Action1: 可以通过商品的编号确认商品,然后输入交易数量,自动生成价格收益等。Action2:商品的库存会相对应的减少。12、商品交易信息排列Action1:可以列

6、出商品名单、点击表格某一行,可以显示对于的信息填入对应的文本里。3、概要设计(总体设计)3.1功能模块设计:超市收银管理系统是为辅助超市收银员日常管理而设计,本系统功能结果图如下:本系统共包括四大模块,分别是基本档案管理模块、商品库存管理模块、会员管理模块、交易管理模块。每个模块的功能如下:1. 基本档案管理模块功能:(1)实现收银员信息的查询、增加、删除、修改功能。(2)实现商品信息的查询,包括增加、删除、修改功能。2.商品库存管理模块功能:(1)实现销售商品入库信息的增加、删除、修改。(2)实现销售商品出库信息的增加、删除、修改。3.会员管理模块功能:(1)实现会员信息的查询、增加、删除、

7、修改功能。(2)实现会员积分信息的查询、增加、删除、修改功能。4.交易管理模块功能:(1)实现每笔交易信息的查询、增加、删除、修改功能。(模拟购物)3.2数据库设计:1、把收银员信息当做一个实体的话,其属性关系有收银员编号、收银员姓名。2、把商品信息当做一个实体的话,其属性关系有商品编号、商品名称、商品类别、商品数量、商品进价、商品售价。3、把商品出库信息当做一个实体的话,其属性关系有出库交易单编号、商品出货数量、会员卡编号、收银员编号、商品编号、总收入。4、把商品入库信息当做一个实体的话,其属性关系有入库交易单编号、入库商品编号、入库商品数量、总支出。5、把会员信息当做一个实体的话,其属性关

8、系有会员卡ID、会员姓名、会员消费数量、会员积分。总体的E-R图如下:4、详细设计以概要设计为基础,每个功能模块用一个或多个函数来实现,书写每个函数的算法,规划各函数之间的调用关系。 详情请见数据库构成图以及功能分析模块。5、程序编辑和调试严格按照详细设计中的算法,编写各函数的代码,同时进行单个函数的编译、链接、运行、修改;集成编译、链接、运行、修改。这一阶段,学生可能认为是最重要、最漫长的,实则不然。真正重要的是前面的概要设计和详细设计,若它们的设计不完善、不准确,将导致编码、编译、调试的漏洞百出、顾此失彼。本人采用的是java swing构图工具,虽然减少了许多的代码量,但也带来了一些问题

9、,如,功能按钮的代码生成后与自己的编程习惯不同,导致静态函数调用问题一直报错。6、测试软件测试的目的在于检验程序是否正确、能否达到预期的目的;是尽可能地发现程序中存在的错误并改正,不是也不可能发现程序中存在的所有错误。必然需要一定量的数据作为测试的试验品。叫测试用例。测试用例是一组条件或变量(输入数据和期望结果的集合),测试者根据它来确定应用软件或软件系统是否正确工作。测试用例是通过实验达到引起构件失效和发现构件故障的目的。确定软件程序或系统是否通过测试的方法叫做测试准则。一个测试用例有5个属性:名称、可执行的路径全称、输入数据、测试预言(期望的测试结果与输出结果的比较)和日志(测试产生的输出

10、)。测试用例常从以下几方面来选择:数据类型的验证,数据的边界值、非法值,选择结构中各分支的都要执行到的数据、循环的初终值等。测试活动技术主要包括:构件检查、可用性测试、单元测试、集成测试和系统测试。构件检查是通过对源代码的手工检查发现单个构件中的故障。可用性测试用于找出现实系统做了什么和用户的期望值之间的差异。单元测试通过测试单个单元的方法以发现故障。集成测试通过集成多个单元来查找故障。系统测试关注整个系统、系统的功能和非功能需求以及目标环境等。此处填写程序测试的测试用例。程序中哪些地方需要完善。登录界面:输入用户名和密码。主界面:登录成功,进入主界面。主界面菜单显示:输入收银员编号、姓名、密

11、码,进行注册。信息添加成功(注册成功)收银员信息查询界面:点击菜单中的信息,会进行自动填充到输入栏中,方便修改。为了避免误操作,修改会进行提示。修改成功!通过名字可以进行模糊查询商品基本信息填写界面:信息添加成功!商品查询,同样是按商品名称进行模糊查询。作者信息介绍窗口。会员的信息添加。商品入库。入库成功,列表值修改。商品出库,但由于输入出库数量超过库存,所以异常。自动算出商品交易的总额,自动显示库存量。商品列表库存值修改成功退出商品,同样,为了避免误操作,退出系统会有相应的提示。7、总结介绍和总结在课程设计阶段学习的得失、感悟、后续工作。此次只设计了短短的两周。虽说时间很短,但其中的每一天都

12、使我收获很大、受益匪浅,它不但极大地加深了我对一些理论知识的理解,不仅使我在理论上对Java有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,更学到了很多做人的道理,对我来说受益非浅。这也是第一次让我亲身感受到理论与实际的相结合,让我大开眼界。也是对以前所学知识的一个初审吧!这次实训对于我以后学习、找工作也是受益菲浅的,在短短的三周中相信这些宝贵的经验会成为我今后成功的重要的基石;这对于我的学业,乃至我以后人生的影响无疑是极其深远的。这次完成较为完善的小项目虽然是我们的第一次,不过大家的表现都不错,由此看来,我们在进入大学的这几个月里学到了不少的专业知识,只是自己感觉不到而已。对

13、于所学专业,我们不能过于自卑和担忧,否则会妨碍自己学习。对于我来说,这两周是学习的重要环节,有利于我们巩固专业知识、掌握工作技能,提高就业筹码。我把本次为期两周的课程设计看作是“理论与实践相结合的桥梁”。通过这周的实训和学习,我知道了此次实训的目的,也清楚目前自己的不足,那就是缺乏相应的知识与经验,对所学的专业知识不能够很好地运用于实践操作。正所谓“百闻不如一见”,经过这次自身的切身实践,我才深切地理会到了“走出课堂,投身实践”的必要性。平时,我们只能在课堂上与老师一起纸上谈兵,思维的认识基本上只是局限于课本的范围之内,也许就是这个原因就导致我们对专业知识认识的片面性,使得我们只知所以然,而不

14、知其之所以然!限制了我们网络知识水平的提高。但是课本上所学到的理论知识是为我们的实际操作指明了方向、提供相应的方法,真正的职业技巧是要我们从以后的实际工作中慢慢汲取的。而针对实际操作中遇到的一些特殊的问题,我们不能拘泥于课本,不可纯粹地“以本为本”。在这次课程设计中我得到了许多收获,我第一次体会到软件工程师的工作是什么样子的,也发现了很多不曾注意到的细节,在实训的演示过程中,我对作为一名软件工程师注意的事项应该从小事做起、从基本做起。把职业能力训练与职业素质有机的结合起来。相信这对我接下来学习专业知识会起到很有效的帮助,在接下来的几个月里,我会以作为一名职业人的身份在这几个方面要求自己,严格自

15、我,向软件工程师靠近。而经过这次实训,让我明白如果是一个完整项目的开发,必须需要他人的帮助来完成。因此不管在工作中还是在生活中要和老师、同学保持良好的关系是很重要的。做事首先要学做人,要明白做人的道理,如何与人相处是现代社会的做人的一个最基本的问题。对于自己这样一个即将步入社会的人来说,需要学习的东西很多,他们就是最好的老师,正所谓“三人行,必有我师”,我们可以向他们学习很多知识、道理。实训结束了感觉虽然辛苦,但很充实。我想这就是Java工程师的工作。我也体会到软件工程师成功地完成一个任务的那种兴奋,那种小有成就的感觉是只有置身其中的人才能体会的。总之,这次实训为我提供了与众不同的学习方法和学

16、习体会,从书本中面对现实,为我将来走上社会打下了扎实的基础。作为在校计算机专业的学生,现在我能做的就是吸取知识,提高自身的综合素质,提高自己的职业技能,自己有了能力,到时候才会是“车到山前必有路”。我相信在不久的未来,会有属于我自己的一片天空。8、附件: com.dao包package com.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import com.model.Cashier;/* * 收银员登录验证。 * author csp-pc * */pu

17、blic class CashierDao public Cashier logon(Connection con, Cashier cashier) throws Exception Cashier resultCashier = null; String sql = select * from cashier where name=? and password=? ;/查询收银员的姓名和密码 PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setString(1, cashier.getName(); pstmt.set

18、String(2, cashier.getPassword(); ResultSet rs = pstmt.executeQuery(); if (rs.next() resultCashier = new Cashier(sql, sql); resultCashier.setName(rs.getString(name); resultCashier.setPassword(rs.getString(password);/得到姓名和密码 else return resultCashier; package com.dao;import java.sql.*;import com.model

19、.*;import com.util.StringUtil;/* * 收银员信息的dao * author csp-pc * */public class CashierinforDao public int cashierinforAdd(Connection con,Cashierinfor cashierinfor) throws Exception String sql=insert into cashier value(?,?,?); PreparedStatement pstmt=con.prepareStatement(sql); pstmt.setInt(1, cashieri

20、nfor.getNumber();/这个数据类型需要再考虑考虑。 pstmt.setString(2, cashierinfor.getName(); pstmt.setString(3, cashierinfor.getPassword(); return pstmt.executeUpdate(); public ResultSet CashierinforList(Connection con,Cashierinfor cashierinfor) throws Exception StringBuffer sb=new StringBuffer(select * from cashier

21、); if (StringUtil.isNotEmpty(cashierinfor.getName() sb.append( and name like %+cashierinfor.getName()+%); PreparedStatement pstmt=con.prepareStatement(sb.toString().replaceFirst(and, where); / 经典的消息查询算法。 return pstmt.executeQuery(); public int cashierinfordelete(Connection con,String number) throws

22、Exception String sql=delete from cashier where number=?; PreparedStatement pstmt=con.prepareStatement(sql); pstmt.setString(1, number); return pstmt.executeUpdate(); public int cashierinformodify(Connection con, Cashierinfor cashierinfor) throws Exception String sql=update cashier set name=?,passwor

23、d=? where number=? ; PreparedStatement pstmt=con.prepareStatement(sql); pstmt.setString(1, cashierinfor.getName(); pstmt.setString(2, cashierinfor.getPassword(); pstmt.setInt(3, cashierinfor.getNumber(); return pstmt.executeUpdate(); package com.dao;import java.sql.*;import com.model.Cashierinfor;im

24、port com.model.Goods;import com.util.StringUtil;/* * 该类实现商品的添加、修改、查找、删除的dao。 * author csp-pc * */public class GoodsDao public int goodsAdd(Connection con,Goods goods) throws Exception String sql=insert into goods value(?,?,?,?,?,?);/数据库插入商品信息 PreparedStatement pstmt=con.prepareStatement(sql); pstmt.

25、setInt(1, goods.getNumber(); pstmt.setString(2, goods.getName(); pstmt.setString(3, goods.getKind(); pstmt.setInt(4, goods.getAmount(); pstmt.setInt(5, goods.getWprice(); pstmt.setInt(6, goods.getRprice(); return pstmt.executeUpdate(); public ResultSet GoodsList(Connection con,Goods goods) throws Ex

26、ception StringBuffer sb=new StringBuffer(select * from goods);/查询 if (StringUtil.isNotEmpty(goods.getName() sb.append( and name like %+goods.getName()+%);/按商品名进行模糊查询 PreparedStatement pstmt=con.prepareStatement(sb.toString().replaceFirst(and, where); return pstmt.executeQuery(); public int goodsdele

27、te(Connection con,String number) throws Exception String sql=delete from goods where number=?; PreparedStatement pstmt=con.prepareStatement(sql); pstmt.setString(1, number);/删除商品信息 return pstmt.executeUpdate(); public int goodsmodify(Connection con, Goods goods) throws Exception String sql=update go

28、ods set name=?,kind=?,amount=?,wholesale_price=?,retail_price=? where number=? ; /修改商品信息 PreparedStatement pstmt=con.prepareStatement(sql); pstmt.setString(1, goods.getName(); pstmt.setString(2, goods.getKind(); pstmt.setInt(3, goods.getAmount(); pstmt.setInt(4, goods.getWprice(); pstmt.setInt(5, go

29、ods.getRprice(); pstmt.setInt(6, goods.getNumber(); return pstmt.executeUpdate(); public ResultSet Goodsid(Connection con,Goods goods)throws Exception String sql=select * from goods where number=?;/通过id查找所在商品对应的行,确定具体商品 PreparedStatement pstmt=con.prepareStatement(sql); if(StringUtil.isNotEmpty(Inte

30、ger.toString(goods.getNumber() pstmt.setInt(1, goods.getNumber(); return pstmt.executeQuery(); package com.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import com.model.Businessout;/* * 出货dao类 * author csp-pc * */public class BusinessDao public int b_outAdd1(Connection con,Business

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1