第一篇:小型超市管理系统可行性报告
《小型超市管理系统》可行性报告 曹剑涛李成军 目录
一、前言...................................................................................................................................3
二、系统建立的背景及意义:...............................................................................................3
三、项目开发目标、系统功能...............................................................................................4
1.开发目标:............................................................................................................................4 2.系统功能................................................................................................................................4
四、ER图................................................................................................................................5
五、数据流程图.......................................................................................................................5
六、系统可行性分析...............................................................................................................6
(1)可行性研究.....................................................................................................................6(2)系统实施运行的可行性:.............................................................................................7(3)、技术可行性分析...........................................................................................................7(4)、社会可行性、法律可行性分析...................................................................................7(5)、用户操作可行性...........................................................................................................7(6)、经济可行性分析...........................................................................................................8
七、结论意见...........................................................................................................................8
一、前言
如今我们的生活越来越离不开超市,超市已经是我们的生活的一部分。超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。让管理人员对超市的进货情况、销售情况和库存情况了如指掌,进而能更好的对商品进行调度。可以加大人力工作的效率和商品的进出货效率并且可以减轻使用者繁杂的工作。
可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。再经过对此项目进行详细调查研究,初步拟定系统的实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排。明确开发风险及其所带来的经济效益。通过可行性研究,该计划是否应该执行,便显而易见。
二、系统建立的背景及意义:
超市是一个我们很熟悉的词语,在我们生活中经常可以看到,21世纪,全球市场经济和现代信息技术的不断发展,人民的生活不断提高,以及人们消费需求的不断丰富,商品种类多样化日渐增多。消费水平提高,超市这样的零售商之间的竞争也日益激烈,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。技术的提升和管理的升级是超市业的竞争核心。商家不断采取各种销售手段吸引顾客眼球,也因而工作量增大,增多。在价格悬殊不大,商品种类类似,规模实力等同的情况下,高效率,高质量,低成本,低损失等等则成为了竞争的优势。而超市的进货、销售、存货、数量、种类、商品出库以及员工等等都是影响这些的重要因素。然后,这些信息,量大而复杂,想要得到合理安排处理需要有很大的工作量,靠传统的人工管理方式效率低,而且容易出错,并且经常会导致重复工作,浪费时间,在人力资源上来说也是一种浪费。影响了超市的工作效率,错误率高,浪费成本。在此情况下如何使用现代化的工具,使企业和经营者个人在最小的投入下获取最大的回报。成为每一个人的梦想。因此,在超市管理中引进现代化的办公软件,就成为时下最好的解决办法。超市销售管理信息系统的开发和应用是非常必要的,它能够简便快速的记录仓库存货、销售以及进货情况;及时了解库存商品种类、数量,和所售商品种类、价格、数量;它还可以统计核算日常的不断变化的数据,并登记有关文件;在当天汇总时修改相应文件,如总金额、总数量等;并且可以根据日常统计,制作月统计,并制作月报表;并且利用它,我们可以了解人员的调配使用状况,避免人员闲置或者人员紧张的状况;另外可以通过它合理安排商品出库顺序及日期,避免商品过期浪费的情况发生。这一切都大大提高超市的经济效益。
三、项目开发目标、系统功能
1.开发目标:
为超市提供方便,快捷的结账体系;
为超市提供准确,高效的库存和财务管理系统;
为超市管理人员提供强大的管理和统计商品,资金的功能。
2.系统功能
A功能
① 记录仓库存货、销售以及进货情况
② 了解超市进货渠道、商品单价、数量
③ 了解库存商品种类数量,所售商品种类、价格、数量 ④ 统计核算日常的不断变化的数据,并登记有关文件
⑤ 分项显示销售商品后开出的发票的内容,并且详细显示商品价格数额 ⑥ 在当天汇总时修改相应文件,如总金额、总数量 ⑦ 根据日常统计,制作月统计,并制作月报表
四、ER图
用户名密码商品总额销售价格商品名称员工销售日期销售顾客商品编号销售数量库存管理供货价格销售价格库存数量商品名称商品进货供应商商品编号进货价格商品编号商品名称供应商电话供应商编号供应商名称
五、数据流程图
预售商品付款订货单供货单小型超市管理系统与订货单不符的供货单购货款顾客商品发票供货厂商
六、系统可行性分析
(1)可行性研究
超市需要一套管理信息系统,能够从进货开始,实现进货,上架,销售,库存,财务,人力资源等等一系列信息的全面管理。通过系统实现各部门的分工合作,信息共享。是原来管理更加系统,更全面,更快捷。
根据超市的状况,迫切需要一套超市销售管理系统。主要有两个选择: 1.购置商品化的系统
2.根据自身实际情况,自行开发软(2)系统实施运行的可行性:
各部门人员都已熟练掌握计算机的基本使用方法和操作技能,可以对新的系统进行管理,和操作。
(3)、技术可行性分析
1.信息系统开发方法。在开发小组中有熟练掌握面向对象开发软件系统的资深系统分析员和程序员,在信息系统开发方法上不存在任何问题。
2.网络和通讯技术开发小组有专门的网络技术人员,有N年的大型网络组网经验。3.C/S结构规划和设计技术开发小组有丰富的C/S开发经验。4.数据库技术有专业开发数据库的团队。
5.Java开发技术开发小组的所有成员均可熟练使用Java编程。综上,在技术方面本系统开发完全可行。
(4)、社会可行性、法律可行性分析
本团队开发的超市管理信息系统符合社会需求,社会的发展也需要超市管理的现代化和信息化。且本团队开发的系统与国家的法律法规不存在任何的抵触之处。且符合工作人员的操作习惯。
(5)、用户操作可行性
超市的经营者大多具备电脑基本操作知识,对于必要的专业操作经短期培训即可;管理基础工作和各项管理制度比较健全,执行严格,原始数据采集完整,保存良好。
● 操作简单:简单的操作规则使操作人员能轻松掌握。● 查询方便:用户可设定任意条件和任意的查询项目进行检索。
● 统计灵活:任意条件下任意项目的产品入库时间、数量等的统计及查询项目均可进行交叉统计。(6)、经济可行性分析
传统的人工管理方式效率低,而且容易出错,并且经常会导致重复工作,浪费时间,在人力资源上来说也是一种浪费。影响了超市的工作效率,错误率高,浪费成本。在此情况下使用超市管理系统,超市管理系统的投入,能够提高工作效率,减少工作人员,从而减少人力资本的投入,使企业和经营者个人在最小的投入下获取最大的回报,小型超市网络设施健全,各部门电脑配置齐全,硬件投入不需要很大,只需要在技术上投资。大型连锁超市的资金雄厚,总部积极支持系统开发,由此可见,在超市使用此系统所获得的收入远大于项目开发所需要的费用,也就是超市盈利远大于开发费用,以最小的代价获得最高的收益。,从经济角度来说,本系统开发完全必要,在经济上可行。
七、结论意见
经过一系列的各个不同方面的可行性分析,从经济,操作,技术,和社会等各方面的可行性分析,可以确定本系统是完全有必要的,且是可行的,应当立项开发。
第二篇:小型超市管理系统可行性分析报告
1引言
1.1编写目的1
1.2背景
1.3定义
1.4参考资料
2可行性研究的前提
2.1要求
2.2目标
2.3条件、假定和限制
2.4进行可行性研究的方法
2.5评价尺度
3对现有系统的分析
4所建议的系统
4.1对所建议系统的说明
4.2处理流程和数据流程
4.3影响
4.4局限性
5可选择的其他系统方案
6投资及效益分析
7社会因素方面的可行性
7.1经济方面的可行性
7.2法律方面的可行性
7.3技术方面的可行性
7.4管理方面的可行性
8结论
GB8567——88
小型超市管理系统可行性分析报告
1引言
1.1编写目的本报告是为了说明开发项目----超市管理系统的实现在技术、经济和社会条件方面的可行性;并评述为了合理地达到开发目标而可能选择的各种方案。在该项目中,超市工作人员可以实时并准确的控制销售情况,提高运营效率,为管理人员提供了较大方便。通过组员的一定范围的调查分析和相关项目学习了解,拟写此可行性研究报告,对软件开发过程中可能面临的问题和风险进行研究与分析,以避免人力、物力以及财力上的浪费。
1.2背景
①软件系统名称:小型超市管理系统
②项目委托单位:西安电子科技大学
通信工程学院
001011班
开发小组:组长:
刘欣
03111303
组员:
金玮
03111302
杜炜
03111306
杨佳宇
03111307
张园
03111308
韩琳旖
03111309
③该软件系统同其他系统或其他机构的基本的相互来往关系:计算机技术的发展,为各行各业提供的方便。作为人们日常生活所不可或缺的超市,由于商品数量的增加,相关信息量也成倍增长,对信息的统计分析难度也随之提高。如果仍然采用传统方式进行人工管理,将耗费大量人力物力,且风险较大。因此,超市的信息化进程是不可避免的。
因此我们选择了小型超市管理系统项目。该软件能够增加删除修改商品信息,并完成商品数目的统计等功能。从而节省了大量的人力物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品状况和各种反馈信息分析,有利于管理人员对瞬息千变的市场做出相应决策。
1.3定义
(1)商品编码:每种商品具有唯一的编码,据情况自定义。
(2)消费清单:包括消费单的序列号、每件商品的名称、代码编号、数量、单价和总价。
(3)库存:系统包括超市不同商品的库存,有关每个查询经理都应该能够看到具体情况。为了支持库存管理,在每一件商品售出时,该商品的库存数就会下降。也应该支持雇员在有新货到达时能够更新库存。
1.4参考资料
《软件工程——理论与实践》,高等教育出版社,Shair
Lawrence
Pfleeger及Jhanne
M.Atlee编著
2可行性研究的前提
2.1要求
功能要求:能增加删除修改统计商品信息等,为超市管理人员提供方便,提高工作效率,满足顾客需求。
性能要求:操作方便,简单易学,界面美观,查询快速。
输出要求:数据完整详细。
输入要求:包括数据的来源、类型、数量、数据的组织以及提供的频度;
安全要求:有一定保密性与可靠性。
完成期限:2012年12月
2.2目标
减少超市人力与设备的使用。
超市运行效率和信息准确度得到一定的提高。
改进超市的管理和服务。
2.3条件、假定和限制
所建议系统的运行寿命的最小值:三年
进行系统方案选择比较的时间:8天
经费、投资方面的来源和限制:待定
法律和政策方面的限制:无
硬件条件:PC机
软件条件:WINDOWS7系统,OFFICE软件,devC++编译软件
可利用的信息和资源:图书馆、网络资料
系统投入使用的最晚时间:2012年12月
2.4进行可行性研究的方法
本组成员对超市进行了全面的深入的了解和调查,在此基础上,通过市场分析、技术分析和经济分析,对该超市系统项目的可行性进行了综合评价。
2.5评价尺度
费用多少、各项功能优先次序、开发时间长短及使用难易程度。
3对现有系统的分析
通过调查,现有超市系统能够完成商品的销售以及货物的存储和管理,操作较为简便。但成本较高。
4所建议的系统
4.1对所建议系统的说明
该小型超市管理系统有增加删除修改商品信息,统计货物数目等功能。并支持管理者与售货员对系统的不同要求。
4.2处理流程和数据流程
4.3影响
使用该系统能够降低超市管理成本,提高工作效率。有利于超市管理人员及时获取商品信息,做出正确决策。
4.4局限性
说明所建议系统尚存在的局限性以及这些问题未能消除的原因。待定。需根据成品决定。
5可选择的其他系统方案
略。没有供选择的系统方案可考虑。
6投资及效益分析
略。详见(7)经济可行性分析。
7社会因素方面的可行性
7.1经济方面的可行性
对实验性质的编程而言,设计和开发都不需要过多经费,但是系统投入运行以后,硬件维护和损耗所造成的耗费是必须的。经分析可知:使用该小型超市管理系统,能够减少人力成本,提高工作效率,从而节省开支。并能够及时获取信息,做出决策,以及能有效减少库存积压,有利于超市的运营。因此系统投入使用一段时间后,能完全收回投资,从长远看,在经济角度上,有开发此系统的必要。
7.2法律方面的可行性
本系统设计所用数据来自实地考察,真实有效,具备合法性。且属于自主开发,不涉及侵犯产权等行为。引用资料均有备注,无侵权行为。
7.3技术方面的可行性
硬件:个人计算进
软件:操作系统(windows7等)开发工具(C++,java等)
管理系统开发方法:用结构化分析,设计方法进行研究。
编程、数据库技术。
7.4管理方面的可行性
超市管理员一般具备一定的文化基础和相应的电脑技术知识,简单培训后应当即可掌握该软件系统的操作方法。且超市行政管理制度健全,工作要求严格。故管理上可行。
8结论
该拟开发系统操作简单方便,便于学习使用。能有效的提高超市的工作效率,有利于管理和决策。从经济、技术、社会、管理等方面都具备可行性。因此可以确定此开发完全必要,可以立项开发。
—
END
—
第三篇:小型超市管理系统可行性分析报告
1引言...............................................................................................................................................1 1.1编写目的.................................................................................................................................1 1.2背景.........................................................................................................................................1 1.3定义.........................................................................................................................................2 1.4参考资料.................................................................................................................................2 2可行性研究的前提.......................................................................................................................2 2.1要求.........................................................................................................................................2 2.2目标.........................................................................................................................................3 2.3条件、假定和限制.................................................................................................................3 2.4进行可行性研究的方法.........................................................................................................3 2.5评价尺度.................................................................................................................................3 3对现有系统的分析.......................................................................................................................3 4所建议的系统...............................................................................................................................3 4.1对所建议系统的说明.............................................................................................................4 4.2处理流程和数据流程.............................................................................................................4 4.3影响.........................................................................................................................................4 4.4局限性.....................................................................................................................................4 5可选择的其他系统方案................................................................................................................5 6投资及效益分析...........................................................................................................................5 7社会因素方面的可行性................................................................................................................5 7.1经济方面的可行性.................................................................................................................5 7.2法律方面的可行性.................................................................................................................5 7.3技术方面的可行性.................................................................................................................5 7.4管理方面的可行性.................................................................................................................5 8结论...............................................................................................................................................6
GB8567——88 小型超市管理系统可行性分析报告 1引言
1.1编写目的
本报告是为了说明开发项目----超市管理系统的实现在技术、经济和社会条件方面的可行性;并评述为了合理地达到开发目标而可能选择的各种方案。在该项目中,超市工作人员可以实时并准确的控制销售情况,提高运营效率,为管理人员提供了较大方便。通过组员的一定范围的调查分析和相关项目学习了解,拟写此可行性研究报告,对软件开发过程中可能面临的问题和风险进行研究与分析,以避免人力、物力以及财力上的浪费。
1.2背景
①软件系统名称:小型超市管理系统
②项目委托单位:西安电子科技大学 通信工程学院 001011班 开发小组:组长:
刘欣 03111303
组员: 金玮 03111302 杜炜 03111306 杨佳宇 03111307
张园 03111308 韩琳旖 03111309 ③该软件系统同其他系统或其他机构的基本的相互来往关系:计算机技术的发展,为各行各业提供的方便。作为人们日常生活所不可或缺的超市,由于商品数量的增加,相关信息量也成倍增长,对信息的统计分析难度也随之提高。如果仍然采用传统方式进行人工管理,将耗费大量人力物力,且风险较大。因此,超市的信息化进程是不可避免的。
因此我们选择了小型超市管理系统项目。该软件能够增加删除修改商品信息,并完成商品数目的统计等功能。从而节省了大量的人力物力, 改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品状况和各种反馈信息分析,有利于管理人员对瞬息千变的市场做出相应决策。
1.3定义
(1)商品编码:每种商品具有唯一的编码,据情况自定义。
(2)消费清单:包括消费单的序列号、每件商品的名称、代码编号、数量、单价和总价。
(3)库存:系统包括超市不同商品的库存,有关每个查询经理都应该能够看到具体情况。为了支持库存管理,在每一件商品售出时,该商品的库存数就会下降。也应该支持雇员在有新货到达时能够更新库存。
1.4参考资料
《软件工程——理论与实践》,高等教育出版社,Shair Lawrence Pfleeger及Jhanne M.Atlee编著
2可行性研究的前提
2.1要求
功能要求:能增加删除修改统计商品信息等,为超市管理人员提供方便,提高工作效率,满足顾客需求。
性能要求:操作方便,简单易学,界面美观,查询快速。输出要求:数据完整详细。
输入要求:包括数据的来源、类型、数量、数据的组织以及提供的频度; 安全要求:有一定保密性与可靠性。完成期限:2012年12月
2.2目标
减少超市人力与设备的使用。
超市运行效率和信息准确度得到一定的提高。改进超市的管理和服务。
2.3条件、假定和限制
所建议系统的运行寿命的最小值:三年 进行系统方案选择比较的时间:8天 经费、投资方面的来源和限制:待定 法律和政策方面的限制:无 硬件条件:PC机
软件条件:WINDOWS7系统,OFFICE软件,devC++编译软件 可利用的信息和资源:图书馆、网络资料 系统投入使用的最晚时间:2012年12月
2.4进行可行性研究的方法
本组成员对超市进行了全面的深入的了解和调查,在此基础上,通过市场分析、技术分析和经济分析,对该超市系统项目的可行性进行了综合评价。
2.5评价尺度
费用多少、各项功能优先次序、开发时间长短及使用难易程度。
3对现有系统的分析
通过调查,现有超市系统能够完成商品的销售以及货物的存储和管理,操作较为简便。但成本较高。
4所建议的系统
4.1对所建议系统的说明
该小型超市管理系统有增加删除修改商品信息,统计货物数目等功能。并支持管理者与售货员对系统的不同要求。
4.2处理流程和数据流程
4.3影响
使用该系统能够降低超市管理成本,提高工作效率。有利于超市管理人员及时获取商品信息,做出正确决策。
4.4局限性
说明所建议系统尚存在的局限性以及这些问题未能消除的原因。待定。需根据成品决定。
5可选择的其他系统方案
略。没有供选择的系统方案可考虑。
6投资及效益分析
略。详见(7)经济可行性分析。
7社会因素方面的可行性
7.1经济方面的可行性
对实验性质的编程而言,设计和开发都不需要过多经费,但是系统投入运行以后,硬件维护和损耗所造成的耗费是必须的。经分析可知:使用该小型超市管理系统,能够减少人力成本,提高工作效率,从而节省开支。并能够及时获取信息,做出决策,以及能有效减少库存积压,有利于超市的运营。因此系统投入使用一段时间后,能完全收回投资,从长远看,在经济角度上,有开发此系统的必要。
7.2法律方面的可行性
本系统设计所用数据来自实地考察,真实有效,具备合法性。且属于自主开发,不涉及侵犯产权等行为。引用资料均有备注,无侵权行为。
7.3技术方面的可行性
硬件:个人计算进
软件:操作系统(windows7等)开发工具(C++,java等)管理系统开发方法:用结构化分析,设计方法进行研究。编程、数据库技术。
7.4管理方面的可行性
超市管理员一般具备一定的文化基础和相应的电脑技术知识,简单培训后应当即可掌握该软件系统的操作方法。且超市行政管理制度健全,工作要求严格。故管理上可行。
8结论
该拟开发系统操作简单方便,便于学习使用。能有效的提高超市的工作效率,有利于管理和决策。从经济、技术、社会、管理等方面都具备可行性。因此可以确定此开发完全必要,可以立项开发。
第四篇:小型超市管理系统
小型超市管理系统一:需求分析
1.超市信息管理系统是一个面向超市用来进行超市日常信息处理的管理信息系统(MIS)。该信息系统能够方便的为超市的售货员提供各种日常售货功能,也能够为超市的管理者提供各种管理功能,如进货、统计商品等。
(1)超市信息管理系统能够支持售货员日常售货功能。每一个售货员通过自己的用户名称和密码登录到售货系统中,为顾客提供服务。在售货员为顾客提供售货服务时,售货员接收顾客购买商品,根据系统的定价计算出商品的总价,顾客付款并接受售货员打印的货物清单,系统自动保存顾客购买商品记录。
(2)超市信息管理系统能够为超市的管理者提供管理功能。超市的管理包括库存管理、订货管理、报表管理和售货人员管理和系统维护等。库存管理员负责超市的库存管理;订货员负责超市的订货管理;统计分析员负责超市的统计分析管理;系统管理员负责超市的售货人员管理和系统维护。每种管理者都通过自己的用户名称和密码登录到各自的管理系统中。
(3)库存管理包括商品入库管理、处理盘点信息、处理报销商品信息和一些信息的管理设置信息。这些设置信息包括供应商信息、商品信息和特殊商品信息。库存管理员每天对商品进行一次盘点,当发现库存商品有损坏时,及时处理报损信息。当商品到货时,库存管理员检查商品是否合格后并将合格的商品进行入库。当商品进入卖场时,商品进行出库处理。
(4)订货管理是对超市所缺货物进行的订货处理,包括统计订货商品和制作订单等步骤。当订货员发现库存商品低于库存下限时,根据系统供应商信息,制作订单进行商品订货处理。
(5)统计分析管理包括查询商品信息、查询销售信息、查询供应商信息、查询缺货信息、查询报表信息和查询特殊商品信息,并制作报表。统计分析员使用系统的统计分析功能,了解商品信息、销售信息、供应商信息、库存信息和特殊商品信息,以便能够制定出合理的销售计划。
(6)系统管理包括维护员工信息、维护会员信息和系统维护。系统管理员通过系统管理功能,能够了解公司员工信息、会员信息,还能够对系统进行维护工作。二:创建系统用例模型 1.员工用例图
员工是超市售货员和超市管理者的抽象,它所包含的行为是超市售货员和超市管理者共同的行为。员工在本系统中通过合法的身份验证;能够修改自身信息和密码。
2.售货员用例图
售货员能够通过该系统进行销售商品活动。当售货员销售商品时,首先获取商品信息,然后将销售信息更新,如果顾客需要打印购物清单,则需要打印购物清单,在购物清单中需要对商品信息进行计价处理。
3.库存管理员用例图
库存管理员能够通过该系统进行如下活动:
(1)处理盘点。超市库存管理员每天需要对超市商品信息进行盘点。(2)处理报销。超市库存管理员对超市损坏商品进行报销处理。(3)商品入库。当商品到货时,库存管理员检查商品是否合格后并将合格的商品进行入库。
(4)商品出库。当商品进入卖场时,商品进行出库处理。(5)管理设置。库存管理员负责供应商信息、商品基本信息和特殊商品信息的管理设置。
4.订货员用例图
订货员能够通过该系统进行订货管理活动。订货员首先根据商品缺货信息统计订货商品,根据需要订货商品信息制定出订单。
5.统计分析员用例图
统计分析员负责超市的统计分析管理,它能够通过该系统进行如下活动:
(1)查询基本信息。统计分析员能够查询商品的基本信息,根据商品的基本信息,制定出相应的方案。
(2)查询销售信息。统计分析员根据销售情况,制定合理的销售方案。
(3)查询供应商信息。统计分析员能够查询供应商信息。
(4)查询缺货信息。统计分析员能够查询缺货信息。
(5)查询报损信息。统计分析员能够查询报损信息。
(6)查询特殊商品信息。统计分析员能够查询特殊商品信息
6.系统管理员用例图
系统管理员能够通过该系统进行如下活动:
(1)维护会员信息。系统管理员能够维护超市会员的信息,如添加会员、删除会员和修改会员信息等。
(2)维护员工信息。系统管理员能够维护超市员工的信息,如添加员工、删除员工和修改员工信息等。
(3)系统设置。系统管理员能够根据一些需要进行必要的系统设置。
三:创建系统静态模型
在获得系统的基本需求用例模型以后,我们通过考察系统对象的各种属性,创建系统静态模型。
(1)首先,我们先确定系统的参与者的属性。每一个超市员工在登录系统时,都需要提供员工的用户名称和密码,因此每一个超市员工应该拥有用户名称和密码属性。超市员工还拥有在超市中的唯一标识——员工编号。此外,员工属性中还包含员工的年龄、头衔和照片等信息。超市的售货员和管理者都继承自员工,拥有员工的属性。在系统中记录的顾客包括顾客的名称、顾客的编号、顾客地址、顾客级别和顾客的总消费金额等记录。
(2)其次,我们确定在系统中的主要业务实体类,这些类通常需要在数据库中进行存储。例如,我们需要存储商品的信息,因此需要一个商品类,同样,根据供应商信息我们可以确定供应商类。(2)其次,我们确定在系统中的主要业务实体类,这些类通常需要在数据库中进行存储。例如,我们需要存储商品的信息,因此需要一个商品类,同样,根据供应商信息我们可以确定供应商类。
四:创建系统动态模型
1.售货员销售商品序列图和交互图 工作流程如下:
(1)顾客希望通过售货员购买商品,售货员希望通过售货管理子系统处理商品销售。
(2)顾客将购买商品提交给售货员。
(3)售货员通过销售管理子系统中的管理商品界面获取商品信息。
(4)管理商品界面根据商品的编号将商品类实例化并请求该商品信息。
(5)商品类实例化对象根据商品的编号加载商品信息并提供给管理商品界面。(6)管理商品界面对商品进行计价处理。
(7)管理商品界面更新销售商品信息。
(8)管理商品界面显示处理商品。
(9)售货员将货物提交给顾客。
2.统计分析员查询商品信息序列图和交互图 工作流程如下:
(1)统计分析员希望通过统计分析子系统查询商品信息。
(2)统计分析员通过统计分析子系统中的查询商品信息界面获取商品信息。
(3)查询商品信息界面根据商品的属性或特征将商品类实例化并请求该类商品信息。
(4)商品类实例化对象加载商品信息,并提供给管理商品界面。
(5)查询商品信息界面显示该类商品信息。
(6)统计分析员请求查询商品信息界面制定出该类商品报表。
(7)查询商品信息界面制定该类商品报表。
(8)查询商品信息界面将该类商品报表显示给统计分析员。
3.库存管理员处理商品入库
工作流程如下:
(1)库存管理员希望通过库存管理子系统将购买的货物处理入库(2)库存管理员通过库存管理子系统中的商品入库界面获取商品信息。
(3)商品入库界面根据商品的编号将商品类实例化并请求该类商品信息。
(4)商品类实例化对象根据商品的编号加载商品信息并提供给商品入库界面。
(5)库存管理员通过商品入库界面增加商品数目。(6)商品入库界面通过商品类实例化对象修改商品信息。(7)商品类实例化对象向商品入库界面返回修改信息。(8)商品入库界面向库存管理员显示添加成功信息。
4.订货员进行订货管理 工作流程如下:
(1)订货员希望通过订货管理子系统处理商品订货管理。(2)订货员通过订货管理子系统中的订货管理界面获取待订货商品信息。
(3)订货管理界面将商品类实例化并根据商品的数量应当满足的条件请求有关商品信息。
(4)商品类实例化对象根据商品的数量应当满足的条件加载商品信息并提供给订货管理界面。
(5)订货员通过订货管理子系统中的订货管理界面获取待订货厂商信息。
(6)订货管理界面将供应商类实例化并根据商品的类型请求有关供应商信息。
(7)供应商类实例化对象加载供应商信息并提供给订货管理界面。(8)订货员通过订货管理子系统中的订货管理界面制作相关订单。(9)订货管理界面制作相关订单并显示给订货员。
5.商品状态图
在超市信息管理系统中,我们将有明确状态转换的类进行描述,以下我们以商品的状态图为例,简单进行说明。 商品包含以下的状态:刚被购买还未入库后的商品、被添加能够出售的商品、商品被出售、商品被回收。它们之间的转化规则是:
(1)刚被购买后的商品可以通过库存管理员添加成为入库的商品。(2)当入库商品被出售,商品处于被销售状态。(3)当商品由于过期、损坏等因素造成的不合格时,商品被剔除。
6.员工验证登录活动图
在利用系统的活动图来描述在超市信息管理系统中的参与者如何协同工作时,我们还可以建立相关参与者的活动图进行说明。以下我们以员工验证密码为例进行说明。 我们可以通过以下的方式描述员工验证登录的活动:(1)员工需要通过身份验证后进入相关子系统才能够进行相关操作。
(2)首先,系统运行后系统进入初始化登录界面。(3)员工输入自己的用户名称和密码。
(4)登录界面对用户输入的用户名称和密码进行判断。(5)如果是合法的用户,则系统对用户的权限进行判断,员工进入相关的管理界面,登录成功。
(6)如果是非法的用户,系统提示用户名称或密码错误,登录失败。
五:创建系统部署模型 1.系统构件图
在超市信息管理系统中,我们通过构件映射到系统的实现类中,说明该构件物理实现的逻辑类。例如,在超市信息管理系统中,我们可以对商品类和供应商类分别创建对应的构件进行映射。
2.系统部署图
在超市信息管理系统中,系统包括四种节点,分别是:前台售货节点,售货员使用,负责货物销售;库存管理节点,库存管理员通过该节点进行库存管理和维护;订货管理节点,订货管理员通过该节点进行订货管理;统计分析节点,统计分析员通过该节点进行统计分析;系统管理节点,系统管理员通过该节点进行系统维护和员工信息维护。
第五篇:基于java小型超市管理系统
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Arrays;import java.util.Scanner;
public class Mytest { static int sign=0;//goodname数组第一个空下标号
static int sign1=0;//cname数组第一个空下标号
static String[] cpass=new String[20];//存放售货员名称
static String[] cname=new String[20];//存放售货员登入密码
static String[] goodname=new String[20];//存放商品名称
static double[] goodprice=new double[20];//存放商品价格
static int[] goodout=new int[20];//存放商品销售量
static int[] goodnum=new int[20];//存放商品数量
public static void main(String[] args)throws Exception { cname[0]=“ZhouTian”;//初始的售货员名称
cpass[0]=“723”;//初始的售货员密码 createArrays();readArrays(“goodname”);//将文件中的内容读入到相应的数组里
readArrays(“goodprice”);readArrays(“goodnum”);readArrays(“cname”);readArrays(“cpass”);readArrays(“goodout”);menu();//登入之后加载的主菜单
} /** * 加载登入菜单
*/ private static void menu(){
Scanner scan = new Scanner(System.in);
System.out.println(“ttt欢迎使用商超购物管理系统 n”);
System.out.println(“tttt1.登录系统n”);
System.out.println(“tttt2.退出 ”);
System.out.println(“*************************************************”);
System.out.println(“请选择,输入数字: ”);
int a = scan.nextInt();
switch(a){
case 0:
System.out.println(“退出!”);//按0不登入
case 1:
System.out.println(“请输入用户名:”);// 查找售货员姓名是否存在,与所对应的密码是否匹配
String name = scan.next();
System.out.println(“请输入密码:”);
String pass = scan.next();
int flage = 0;
int ff = 0;
for(int i = 0;i < cname.length;i++){
if(name.equals(cname[i])){
flage = 1;//售货员的名称匹配flage=1;
ff = i;
break;
}
}
if(flage == 1){//名称匹配之后再匹配密码
if(pass.equals(cpass[ff])){
loadmenu1();//密码也匹配之后再允许登入
} else {
System.out.println(“密码错误!”);
}
} else {
System.out.println(“该用户名不具有权限”);
}
break;
case 2:
System.out.println(“谢谢您的使用!”);
break;
default:
break;
} }
/** * ,创建文件,将数组信息存入到各文件中, */ static void createArrays(){
BufferedWriter bw = null;
try {
File file1 = new File(“d:gname.txt”);
if(!file1.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gname.txt”));
String content1 = strToString(goodname);//数组内容转换成字符串
bw.write(content1);//写入
bw.close();
}
File file2 = new File(“d:gprice.txt”);
if(!file2.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gprice.txt”));
String content2 = doubleToString(goodprice);//数组内容转换成字符串
bw.write(content2);//写入
bw.close();
}
File file3 = new File(“d:gnum.txt”);
if(!file3.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gnum.txt”));
String content3 = intToString(goodnum);//数组内容转换成字符串
bw.write(content3);//写入
bw.close();
}
File file4 = new File(“d:cname.txt”);
if(!file4.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:cname.txt”));
String content4 = strToString(cname);//数组内容转换成字符串
bw.write(content4);//写入
bw.close();
}
File file5 = new File(“d:cpass.txt”);
if(!file5.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:cpass.txt”));
String content5 = strToString(cpass);//数组内容转换成字符串
bw.write(content5);//写入
bw.close();
}
File file6 = new File(“d:gout.txt”);
if(!file6.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gout.txt”));
String content5 = intToString(goodout);//数组内容转换成字符串
bw.write(content5);//写入
bw.close();
}
} catch(IOException e){
e.printStackTrace();
}
}
/** * 登入之后加载商超购物管理系统
*/ static void loadmenu1(){
System.out.println(“欢迎进入商超购物管理系统!”);
System.out.println(“tttt商超购物管理系统”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.商品维护”);
System.out.println(“tttt2.前台收银”);
System.out.println(“tttt3.商品管理”);
System.out.println(“tttt4.退出”);
System.out.println(“********************************************************************************”);
System.out.println(“请选择,输入数字或按0退出:”);
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
switch(a){
case 0:
System.out.println(“谢谢您的使用!”);
break;
case 1:
System.out.println(“执行显示商品维护菜单”);
loadmenu2();
break;
case 2:
System.out.println(“执行前台收银”);
loadmenu6();
break;
case 3:
System.out.println(“执行商品管理”);
loadmenu7();
break;
default:
break;
} } /* * 在商超购物管理系统中按1键时 */ static void loadmenu2(){
System.out.println(“tttt商超购物管理系统 商品维护”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.添加商品t”);
System.out.println(“tttt2.更改商品t”);
System.out.println(“tttt3.删除商品t”);
System.out.println(“tttt4.显示所有商品t”);
System.out.println(“tttt5.查询商品t”);
System.out
.println(“********************************************************************************”);
System.out.println(“请选择,输入数字或按0返回上一级菜单:”);
Scanner scan = new Scanner(System.in);
int b = scan.nextInt();
switch(b){
case 0:
loadmenu1();
break;
case 1:
addgoods();
break;
case 2:
System.out.println(“执行更改商品操作”);
loadmenu3();// 修改商品
break;
case 3:
System.out.println(“执行商品删除操作”);
loadmenu4();// 商品删除
break;
case 4:
System.out.println(“显示所有商品”);
System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt”
+ “备注”);
showgoods();
break;
case 5:
System.out.println(“执行查询商品操作”);
loadmenu5();
break;
default:
break;
} } /* * 在商超购物管理系统中按2键时
*/ static void loadmenu6(){
System.out.println(“tttt商超购物管理系统 前台收银”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.购物结算”);
Scanner scan = new Scanner(System.in);
int ch = scan.nextInt();
switch(ch){
case 0:
loadmenu1();
break;
case 1:
pay();
break;
default:
break;
}
} /* * 在商超购物管理系统中按3键时
*/ static void loadmenu7(){
Scanner scan = new Scanner(System.in);
System.out.println(“ttt商超购物管理系统 商品管理”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.库存查询”);
System.out.println(“tttt2.已出售商品”);
System.out.println(“tttt3.售货员管理”);
System.out.println(“请选择,输入数字或按0返回上一级菜单:”);
int ch = scan.nextInt();
switch(ch){
case 0: loadmenu1();
break;
case 1:
System.out.println(“执行库存查询操作:”);
kusear();
break;
case 2:
System.out.println(“执行已出售商品查询操作”);
besold();
break;
case 3:
System.out.println(“执行售货员管理操作”);
salesman();
break;
default:
break;
}
} /* * 对售货员信息的增添,修改 */ static void salesman()
{
Scanner scan = new Scanner(System.in);
System.out.println(“
1、添加售货员”);
System.out.println(“
2、修改售货员信息”);
System.out.println(“请选择,输入数字或按0返回上一级菜单:”);
int b = scan.nextInt();
switch(b){
case 0:
loadmenu7();//返回上一级
break;
case 1:
addsale();//选择1键,添加售货员
break;
case 2:
modifysale();//更改售货员的信息
break;
default:
break;
} } /* 添加售货员 * */ static void addsale(){
Scanner scan = new Scanner(System.in);
String f;
// sign1 = sign1 + 1;
do {
System.out.println(“添加售货员姓名:”);
String addname = scan.next();
add(cname, addname, sign1);//将新信息添加到相应数组中
System.out.println(“添加售货员登陆密码:”);
String addpass = scan.next();
add(cpass, addpass, sign1);//将新信息添加到相应数组中
// writeArray();
sign1++;//新信息添加后数组下标加1
writeArray();
System.out.println(“是否继续(y/n)”);
f = scan.next();
// writeArray();
} while(f.equals(“y”));
salesman();} /* * 更改售货员的信息 */ static void modifysale(){
String f;
Scanner scan = new Scanner(System.in);
System.out.println(“输入更改员工名称:”);
String newname = scan.next();
int k = searmember(newname);//查询需要改的售货员的信息,并返回其在数组中的下标
if(k >= 0){//判断售货员是否存在
System.out.println(“员工姓名” + “ttt密码”);
System.out.println(cname[k] + “ttt” + cpass[k]);
System.out.println(“选择您要更改的内容:”);
System.out.println(“
1、更改员工姓名:”);
System.out.println(“
2、更改登录密码:”);
int kk = scan.nextInt();
switch(kk){
case 1:
System.out.println(“请输入已更改员工姓名:”);
String newnname = scan.next();
cname[k] = newnname;
writeArray();
System.out.println(“是否继续(y/n)”);
f = scan.next();
if(f.equals(“y”)){
modifysale();
} else {
salesman();
}
break;
case 2:
System.out.println(“请输入已更改密码:”);
String newpass = scan.next();
cpass[k] = newpass;
writeArray();
System.out.println(“是否继续(y/n)”);
// System.out.println(“是否继续(y/n)”);
f = scan.next();
if(f.equals(“y”)){
modifysale();
}
salesman();
break;
default:
break;
}
} } /* * 查询ename姓名的售货员在数组中的下标 */ static int searmember(String ename){
for(int i = 0;i < cname.length;i++){
if(cname[i].equals(ename)){
return i;
}
}
return-1;// 不存在时
} /* * 查询已出售的商品信息 */ static void besold()
{
System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt” + “备注”);
for(int i = 0;i < goodout.length;i++){
if(goodout[i]!= 0){
System.out.println(goodname[i] + “ttt” + goodprice[i]
+ “ttt” + goodout[i]);
}
}
loadmenu7();} /* * 查询库存中售的商品信息
*/ static void kusear(){
Scanner scan = new Scanner(System.in);
String f;
do {
System.out.println(“输入要查询的商品名称:”);
String sname = scan.next();
int t = ndimsear(sname);//按确切的商品名称进行查询,即非模糊查询,找出商品名称信息的下标
if(t >= 0){
System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt”
+ “备注”);
System.out.println(goodname[t] + “ttt” + goodprice[t]
+ “ttt” + goodnum[t] + “ttt”);//按下标输出商品相应的信息
} else {
System.out.println(“没有此商品”);
}
System.out.println(“是否继续(y/n)”);
f = scan.next();
} while(f.equals(“y”));
loadmenu7();
} /* * 按确切的商品名称进行查询,即非模糊查询,找出商品名称信息的下标
*/ static int ndimsear(String s){
for(int i = 0;i < goodname.length;i++){
if(goodname[i].equals(s)){
return i;
}
}
return-1;//没查询到时
}
/* * 商品结算
*/ static void pay(){
Scanner scan = new Scanner(System.in);
double sum = 0;
String f;
do {
dimsearch1();//按关键字进行模糊查询,查找可能需要的商品
System.out.println(“请选择商品:”);
String bnam = scan.next();//按查询到的相关商品中选择要购买的商品
System.out.println(“请输入购买数量:”);
int bnum = scan.nextInt();
int fl = seargood(bnam);
System.out.println(bnam + “ttt” + goodprice[fl] + “ttt”
+ “购买数量” + bnum + “ttt” + bnum * goodprice[fl]);
goodnum[fl] = goodnum[fl]sum));
writeArray();//将对数组的更改写入到文件中
loadmenu1();//结束购买返回
} /* * 查找商品返回下标 */ static int seargood(String bbnam){
for(int i = 0;i <= goodname.length;i++){
if(goodname[i].equals(bbnam)){
return i;
}
}
return-1;}
/* * 对商品进行各种查找
*/
static void loadmenu5(){
Scanner scan = new Scanner(System.in);
System.out.println(“
1、按商品数量升序查询”);
System.out.println(“
2、按商品价格升序查询”);
System.out.println(“
3、输入关键字查询商品”);
System.out.println(“请选择,输入数字或按0返回上一级菜单:”);
int choice = scan.nextInt();
switch(choice){
case 0:
loadmenu2();//返回上一级
break;
case 1:
numshenxu();//按商品数量升序进行查找
break;
case 2:
priceshenxu();//按商品价格升序进行查找
break;
case 3:
dimsearch();//按商品的关键字进行查找
break;
default:
break;
}
}
static void dimsearch1(){
int[] k;
Scanner scan = new Scanner(System.in);
System.out.println(“输入商品关键字:”);
String sear = scan.next();
k = Arrays.copyOf(index(sear), index(sear).length);
System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt” + “备注”);
if(k!= null){
for(int i = 0;i < k.length;i++){
System.out.println(goodname[k[i]] + “ttt” goodprice[k[i]]
+ “ttt” + goodnum[k[i]] + “ttt”);
}
}
} /* * 按商品的关键字进行查找
*/ static void dimsearch()
+ {
String f;
do {
int[] k;
Scanner scan = new Scanner(System.in);
System.out.println(“输入商品关键字:”);
String sear = scan.next();
k = Arrays.copyOf(index(sear), index(sear).length);
System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt”
+ “备注”);
if(k!= null){
for(int i = 0;i < k.length;i++){
System.out.println(goodname[k[i]] + “ttt”
+ goodnum[k[i]]
+ “ttt”);
}
goodprice[k[i]]
+
“ttt”
+
}
System.out.println(“是否继续(y/n)”);
f = scan.next();} while(f.equals(“y”));loadmenu2();} static int[] index(String ss){ int countt = 0;int counttt = 0;for(int i = 0;i < goodname.length;i++){
if(goodname[i].indexOf(ss)>= 0){
countt++;
} } int[] location = new int[countt];for(int i = 0;i < goodname.length;i++){
if(goodname[i].indexOf(ss)>= 0){
location[counttt] = i;
counttt++;
}
}
return location;} /* * 按商品数量升序进行查找
*/ static void numshenxu(){
int[] newnum = Arrays.copyOf(goodnum, goodnum.length);
double[]
newprice
=
Arrays.copyOf(goodprice, goodprice.length);
String[] goodname.length);
for(int i = 0;i < newnum.lengthi1;i++){
for(int j = 0;j < newprice.length1;j++){
if(newprice[j] < newprice[j + 1]){
int temp = newnum[j];
newnum[j] = newnum[j + 1];
newnum[j + 1] = temp;
double temp1 = newprice[j];
newprice[j] = newprice[j + 1];
newprice[j + 1] = temp1;
String temp2 = newname[j];
newname[j] = newname[j + 1];
newname[j + 1] = temp2;//相应的下标在不同的数
newname
=
Arrays.copyOf(goodname, 组里进行挑换,商品的信息才能保持一致
}
}
}
System.out.println(“商品名称ttt” + “商品价格ttt” + “商品数量ttt” + “备注”);
for(int k = 0;k < newnum.length;k++){
if(newprice[k]!= 0){
System.out.println(newname[k] + “ttt” + newprice[k]
+ “ttt” + newnum[k] + “ttt”);
}
}
loadmenu5();} /* *更改商品信息的操作
*/ static void loadmenu3(){
Scanner scan = new Scanner(System.in);
System.out.println(“输入更改商品名称:”);
String nam = scan.next();
int b = showflage(nam);
print(b);
System.out.println(“选择您要更改的内容:”);
System.out.println(“
1、更改商品名称::”);
System.out.println(“
2、更改商品价格:”);
System.out.println(“
3、更改商品数量:”);
int ch = scan.nextInt();
switch(ch){
case 0:
break;
case 1:
int counnt = 0;
String f = “y”;
while(f.equals(“y”)){
if(counnt!= 0){
// Scanner scan = new Scanner(System.in);
System.out.println(“输入更改商品名称:”);
nam = scan.next();
b = showflage(nam);//查找需要更改商品的下标
print(b);//输出这个商品的各种信息
}
System.out.println(“请输入已更改商品名称”);
String cname = scan.next();
goodname[b] = cname;//更改名称
System.out.println(“是否继续(y/n)”);
f = scan.next();
counnt++;
writeArray();
}
loadmenu2();
break;
case 2:
counnt = 0;
f = “y”;
while(f.equals(“y”)){
if(counnt!= 0){
// Scanner scan = new Scanner(System.in);
System.out.println(“输入更改商品名称”);
nam = scan.next();
b = showflage(nam);
print(b);
}
System.out.println(“请输入已更改商品价格”);
double cprice = scan.nextDouble();
goodprice[b] = cprice;//新价格写入数组
System.out.println(“是否继续(y/n)”);
f = scan.next();
counnt++;
writeArray();
}
loadmenu2();
break;
case 3:
counnt = 0;
f = “y”;
while(f.equals(“y”)){
if(counnt!= 0){
// Scanner scan = new Scanner(System.in);
System.out.println(“输入更改商品名称”);
nam = scan.next();
b = showflage(nam);
print(b);
}
System.out.println(“请输入已更改商品数量”);
int cnum = scan.nextInt();
goodnum[b] = cnum;
counnt++;
writeArray();
System.out.println(“是否继续(y/n)”);
f = scan.next();
}
loadmenu2();
break;
default:
break;
}
} /* * 查询nama这个商品在goodname中的下标
*/ static int showflage(String nama){
int flag = 0;
for(int i = 0;i < goodname.length;i++){
if(goodname[i].equals(nama)){
flag = i;
break;
}
}
return flag;}
static void print(int b){
System.out.println(“商品名称 tt” + “商品价格 tt” + “商品数量 tt” + “备注”);
System.out.println(goodname[b] + “tt” + goodprice[b] + “tt”
+ goodnum[b] + “ tt”);
} /* * 删除商品菜单
*/ static void loadmenu4(){
String f;
int d;
do {
Scanner scan = new Scanner(System.in);
System.out.println(“请输入要删除的商品名称:
String dname = scan.next();
d = showflage(dname);
delete(d);
System.out.println(”是否继续(y/n)“);
f = scan.next();
writeArray();//删除之后重新写入文件
} while(f.equals(”y“));
loadmenu2();}
”);/* * 删除商品 */ static void delete(int dd){
for(int i = dd;i < goodname.length1] = null;
goodprice[goodprice.length1] = 0;
} /* * 查询所有商品
*/ static void showgoods(){
int i = 0;
while(goodprice[i]!= 0){
System.out.print(goodname[i] +
“ttt” goodprice[i] + “ttt”
+
+ goodnum[i] + “ttt”);
if(goodnum[i] < 10){
System.out.println(“ttt*该商品已不足10件!”);
}
System.out.println();
i++;
}
loadmenu2();
} /* * 商品添加操作 */ static void addgoods(){
System.out.println(“执行添加商品操作:t”);
String a;
do {
Scanner scan = new Scanner(System.in);
System.out.println(“输入商品名称:”);
String na = scan.next();
add(goodname, na, sign);
System.out.println(“输入添加商品价格:”);
double pr = scan.nextDouble();
add(goodprice, pr, sign);
System.out.println(“输入添加商品数量:”);
int c = scan.nextInt();
add(goodnum, c, sign);
sign++;
System.out.println(“是否继续(y/n)”);
a = scan.next();
writeArray();
} while(a.equals(“y”));
loadmenu2();
} /* * 将数组信息写入到相应的文件里,启动程序时就要调用这个函数 */ static void writeArray(){
BufferedWriter bw = null;
try {
bw
=
new
BufferedWriter(new FileWriter(“d:gname.txt”));
String content1 = strToString(goodname);
bw.write(content1);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:gprice.txt”));
String content2 = doubleToString(goodprice);
bw.write(content2);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:gnum.txt”));
String content3 = intToString(goodnum);
bw.write(content3);
bw.close();
bw = new BufferedWriter(new FileWriter(“d:cname.txt”));
String content4 = strToString(cname);
bw.write(content4);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:cpass.txt”));
String content5 = strToString(cpass);
bw.write(content5);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:gout.txt”));
String content6 = intToString(goodout);
bw.write(content6);
bw.close();
} catch(IOException e){
e.printStackTrace();
} } /* * 添加商品名称 */ static void add(String[] aa, String n, int b){
if(b == aa.length){
aa =(String[])Arrays.copyOf(aa, aa.length * 2);
}
aa[b] = n;} /* * 添加商品价格
*/ static void add(double[] aa, double pr, int b){
if(b == aa.length){
aa =(double[])Arrays.copyOf(aa, aa.length * 2);
}
aa[b] = pr;} /* * 添加商品数量
*/ static void add(int[] aa, int cc, int b){
if(b == aa.length){
aa =(int[])Arrays.copyOf(aa, aa.length * 2);
}
aa[b] = cc;
}
/** * 从文件中读取信息到相应的数组里
*/ static void readArrays(String name)throws Exception {
BufferedReader br = null;
try {
if(“goodname”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:gname.txt”));
String content1 = br.readLine();
String[] arr = strToString(content1);
goodname arr.length);
for(int i = 0;i < goodname.length;i++){
if(!goodname[i].equals(“null”)){
sign++;
=
(String[])
Arrays.copyOf(arr,}
}
} else if(“goodprice”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:gprice.txt”));
String content2 = br.readLine();
double[] arr = doubleToString(content2);
goodprice arr.length);
} else if(“goodnum”.equals(name)){
br
=
new
BufferedReader(new
=
(double[])
Arrays.copyOf(arr, FileReader(“d:gnum.txt”));
String content3 = br.readLine();
int[] arr = intToString(content3);
goodnum =(int[])Arrays.copyOf(arr, arr.length);
} else if(“cname”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:cname.txt”));
String content4 = br.readLine();
String[] arr = strToString(content4);
cname arr.length);
=(String[])Arrays.copyOf(arr,for(int i = 0;i < cname.length;i++){
if(!cname[i].equals(“null”)){
sign1++;
}
}
} else if(“cpass”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:cpass.txt”));
String content5 = br.readLine();
String[] arr = strToString(content5);
cpass arr.length);
} else {
br
=
new
BufferedReader(new
=
(String[])
Arrays.copyOf(arr, FileReader(“d:gout.txt”));
String content6 = br.readLine();
int[] arr = intToString(content6);
goodout =(int[])Arrays.copyOf(arr, arr.length);
}
} catch(FileNotFoundException e){
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
}
} /* * 将字符串转换成字符串数组 */ static String strToString(String[] arry){
// String arrys=“";
// for(int i=0;i // { // arrys=arry+arry[i]+”,“; // } // //arrys=arrys+arry[arry.length-1]; // System.out.println(arrys); // return arrys; StringBuilder sb = new StringBuilder(); for(int i = 0;i < arry.length;i++){ sb.append(arry[i]).append(”,“); } sb.deleteCharAt(sb.length()-1); // System.out.println(sb.toString()); return sb.toString();} /* * 将字符串转换成字符串数组 */ static String[] strToString(String ar){ String[] arry = ar.split(”,“);return arry;} /* * 将int型数组转换成字符串 */ static String intToString(int[] arrr){ String ss = ”“; ss = Arrays.toString(arrr); String sss = ss.replace(”[“,”“).replace(”]“, ”“).replace(” “, ”");