已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档目录一、课程设计概述3二、系统的需求分析3三、系统总体设计6四、详细设计7五、 系统实现11六、系统测试18七、课程设计总结21八、参考文献21一、课程设计概述系统的主要目标减轻收银时计算商品总价的复杂度系统的开发环境及运行环境操作系统:Windos7Java版本:5IDE:myeclipse 2017 CI二、系统的需求分析1.系统可行性分析技术复杂度相对简单投入资金小对于社会普遍存在的收银时计算问题得到良好解决人员投入1人2. 系统功能需求分析商品销售统计系统的完整功能如下:2.1输入商品信息管理对于输入的商品,可以进行数量上的修改,以及商品的删除2.2销售统计管理对已输入的商品进行总价统计,并能在商品数量多的时候进行分页显示3. 系统功能描述此系统的主要功能就是把人们从繁琐的收钱计费中解脱出来,通过计算机来计算出所应收取的钱数。4. 系统的数据流图商品销售统计系统是基于pc上的系统,通过数据库里的商品单价来进行计算总价操作。商品销售统计系统的基本数据流图如图1所示。图 1分析商品销售统计系统的功能需求,得到功能级数据流图如图2。图 25. 系统UML建模设计:6. 系统的用例分析7. 系统的状态图8. 系统的UML类图三、系统总体设计系统结构方框图各模块功能详细的UML类图设计数据管理子系统:数据库只有一张图表故省略掉E-R图、数据表之间的关系、数据库表结构数据库表设计人机交互子系统四、详细设计各模块的流程图主模块结算商品输入商品修改商品删除商品查询商品5、 系统实现想使用工厂模式来进行事务的调用,又因为种种因素而没直接使用,而直接装进了主调用功能类中各模块、各个类的具体实现 (包括截图)对应与Mybatis的接口statisticsModel 模型类SetXXX . getXXX .int id;String name;int mea;float price;double amount; / 考虑计量单位的不同double total; /单类商品 的总价格Overridepublic String toString() String str;if(mea=0)str=件;return 编号:+id+, 商品名称: + name + , 计量单位: +str+ , 价格: + price + /+str+, 数量:+ amount+ 件, 合计:+total+;elsestr=kg;return 编号:+id+, 商品名称: + name + , 计量单位: +str+ , 价格: + price + /+str+, 重量:+ amount+ kg, 合计:+total+;重点功能的实现statisticsUtil 商品查询功能类package com.util;import java.io.IOException;import java.io.Reader;import java.util.List;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import com.impl.statisticsOperation;import com.model.statisticsModel;public class statisticsUtil private static SqlSessionFactory sqlSessionFactory;private static Reader reader;statictry reader=Resources.getResourceAsReader(com/conf/dbconf.xml);sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();public void all_select()SqlSession sqlSession=sqlSessionFactory.openSession();List query_msg=null;try statisticsOperation statisticsOperation=sqlSession.getMapper(statisticsOperation.class);query_msg=statisticsOperation.all_select(); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();finally sqlSession.close();for(int j=0;jquery_msg.size();j+)System.out.println(query_msg:+query_msg.get(j);/查找商品public statisticsModel statistics_select(int id)SqlSession sqlSession=sqlSessionFactory.openSession();statisticsModel myModel=null;List query_msg=null;try statisticsOperation statisticsOperation=sqlSession.getMapper(statisticsOperation.class);query_msg=statisticsOperation.statistics_select(id); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();finally sqlSession.close();for(int j=0;jquery_msg.size();j+)myModel=(statisticsModel)query_msg.get(j);System.out.println(query_msg:+query_msg.get(j);return myModel;主功能类 testpackage com.serv;import java.util.ArrayList;import java.util.List;import java.util.Scanner;import com.model.statisticsModel;import com.util.statisticsUtil;public class test public static statisticsUtil statisticsUtil = new statisticsUtil();public static void main(String args) List sale = new ArrayList();statisticsModel temp = null;double total = 0;boolean flag = true;/ TODO Auto-generated method stubSystem.out.println(欢迎进入商品销售管理系统);System.out.println(请输入相应的数字执行对应的操作:);Scanner scanner = new Scanner(System.in);String key = ;while (flag) System.out.println(1.输入商品 2.修改商品数量 3.删除商品 4.查看总价统计 0.重新计算 其他.退出系统);System.out.println(-我是可爱的分隔符-);try key = scanner.nextLine(); catch (Exception e) / TODO: handle exceptione.printStackTrace();switch (key) case 1:statisticsUtil.all_select();while (true) System.out.println(请输入商品编号:(非数字结束输入);int number;try number = scanner.nextInt(); catch (Exception e1) / TODO Auto-generated catch blockbreak;try temp = statisticsUtil.statistics_select(number);if (temp = null) System.out.println(无此商品);continue;if(temp.getMea()=0)System.out.println(清输入数量:);else if(temp.getMea()=1)System.out.println(请输入重量 单位kg);double amount = scanner.nextDouble();System.out.println(amount);temp.setAmount(amount);temp.setTotal();sale.add(temp); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();scanner.nextLine();break;case 2:System.out.println(请输入要修改的行号:);try int index = scanner.nextInt();temp = (statisticsModel) sale.get(index);System.out.println(请输入要修改的数量:);double number = scanner.nextDouble();temp.setAmount(number);temp.setTotal();sale.set(index, temp);scanner.nextLine();System.out.println(修改成功!); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();break;case 3:System.out.println(请输入要删除的行号:);try int index = scanner.nextInt();sale.remove(index);scanner.nextLine();System.out.println(删除成功!); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();break;case 4:for (int i = 0; i sale.size(); i+) System.out.println(i + . + sale.get(i);total += (statisticsModel) sale.get(i).getTotal();System.out.println(共计: + total + 元);total = 0;break;case 0:sale.clear();break;default:flag = false;break;System.out.println(再见);六、系统测试测试用例测试结果TC1TC2TC3TC4TC5TC6TC7七、课程设计总结实际编程中出现了scanner的nextInt与nextDouble的不读取n换行符出现nextLine被假跳过的问题。在设计的时候对大体设计图上存在理解的模糊处理,在测试用例方面存在数据不足不知道该用什么用例来测试。对于结构化的图标绘制还无法熟络的掌握。八、参考文献/ein3614/article/details/50128327java里为什么使用nextLine();没有等我输入就“跳过了”?/question/91971366.htmljava中使用ArrayList如何
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 岳职面试必-备资料历年职业规划与面试技巧
- (完整版)物理人教八年级下册期末模拟真题真题
- (完整版)苏教六年级下册期末数学重点中学试卷经典套题解析
- 工业产品质量监控策略与案例分析
- 工业设计师用户体验研究方案
- 2025年库存运营面试题及答案
- 赣州旅游投资集团2025年第一批社会公开招聘背景调查人员笔试历年参考题库附带答案详解
- 2025辽宁沈阳盛京金控投资集团有限公司所属三级企业沈阳联合产权交易所有限责任公司招聘3人笔试历年参考题库附带答案详解
- 2025福建福州市鼓楼区城投集团招聘9人笔试历年参考题库附带答案详解
- 康复科护理实践指南与常见问题解答
- 【基于STM32的火灾预警系统设计与实现12000字】
- 2025广西玉林市福绵区退役军人事务局招聘编外人员3人笔试考试参考题库及答案解析
- 2025年测绘工程专升本模拟考试试卷(含答案)
- 医院聘请专家协议书
- 2025国家电网公司(第二批)招聘北京电力医院易考易错模拟试题(共500题)试卷后附参考答案
- 工程交接验收流程与注意事项
- 2025年1月辽宁省普通高中学业水平合格性考试数学试题+答案
- 卫生间改造施工组织方案
- 2025年医务工作者岗位招聘面试参考题库及参考答案
- 城市轨道交通票务管理 城市轨道交通票务系统概述 课件演示模板
- 2025年云南交投集团下属云岭建设公司生产人员社会招聘(26人)笔试考试参考试题及答案解析
评论
0/150
提交评论