收藏 分享(赏)

实训报告商场信息管理系统.doc

上传人:精品资料 文档编号:8252798 上传时间:2019-06-16 格式:DOC 页数:23 大小:325.19KB
下载 相关 举报
实训报告商场信息管理系统.doc_第1页
第1页 / 共23页
实训报告商场信息管理系统.doc_第2页
第2页 / 共23页
实训报告商场信息管理系统.doc_第3页
第3页 / 共23页
实训报告商场信息管理系统.doc_第4页
第4页 / 共23页
实训报告商场信息管理系统.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、郑州轻工业学院实 训 报 告实训名称: 商场信息管理系统 姓 名: 院 (系): 软件学院 专业班级: 软件技术 学 号: 指导教师: 成 绩: 时间:2015 年 6 月 15 日至 2015 年 6 月 27 日1目录一、学生实训任务书 .1二、实训进度日历 .4三、实训报告正文 .61、实训目的 62、实训内容 62.1 需求分析 .62.2 概要设计 .72.2.1 项目总体结构和构成 .72.2.2 数据库设计 .82.3 项目实现 .102.3.1 登录界面 .102.3.2 主功能界面 .123、实训总结与心得 212学生实训任务书一、题目“商场信息管理系统”设计与实现二、学生信

2、息专业 软件技术14-01 学号 621413530159 姓名 赵志宇 三、用户需求及约束条件1、功能需求:实现丹尼商场信息管理系统功能,总体需求模块如下:登录管理:本系统为丹尼商场信息管理系统,具有一定的保密性,必须先登录才能使用本系统。登录之后进入系统的主界面,在主界面可以选择用户想要执行的功能模块。商品信息录入:在维护本系统时,要不断更新系统的数据。其中商品的信息是在不断增加的,当新进商品时,要保证商品信息的同步更新。本模块可将新进商品的信息录入保存在系统的数据库中。商品信息查询:可以查询商品的详细信息,以及库存情况、进货渠道等。VIP 信息管理:VIP 用户信息、消费情况信息查询管理

3、。VIP 购物登记:当 VIP 购物时,要对其所购物品进行登记,以便以后对其进行统计。人事管理系统:本模块负责管理商场中的所有工作人员。2、性能需求:应用程序要提供友好的图形用户界面。应用程序具备健壮性、稳定性和好的移植性。业面要为用户提供方便的导航。3、应用程序开发要求:选用技术: Java 语言;MySQL、SQL Server 或者 Access 数据库;软件集成开发环境(IDE): NetBeans、MyEclipse、Eclipse 等。3四、设计要求、技术参数及设计规格1、图形用户界面设计:用 Java 语言设计商场信息管理系统的界面。2、功能实现:根据自己需求对商场信息管理系统进

4、行改进或者进行模拟。3、设计规格:请根据 Java 语言规范编写。五、工作量天/日期 任务描述 通过标准第 1 天 完成“需求分析说明书” 、 “概要设计说明书” 需求分析说明书、概要设计说明书提交第 2 天 完成数据库设计 数据库设计完成第 3 天 登录模块界面的设计与功能的实现 登录界面和功能的实现第 4 天 应用程序主窗口界面的实现 应用程序主窗口界面的实现第 5 天 商品信息录入功能的实现 商品信息录入功能的实现第 6 天 商品信息查询功能的实现 商品信息查询功能的实现第 7 天 VIP 信息管理功能的实现 VIP 信息管理功能的实现第 8 天 VIP 购物登记功能的实现 VIP 购物

5、登记功能的实现第 9 天 人事管理功能的实现 人事管理功能的实现第 10 天 个人详情、帮助等功能的实现 个人详情、帮助等功能实现第 11 天 系统测试,撰写实训报告 系统测试,撰写实训报告第 12 天 项目验收与总结 项目验收与总结 六、考核形式、考核指标及成绩评定1、实训结束前以名为“学号后两位_姓名”的压缩包形式提交实训成果,内容包括:(1)商场信息管理系统项目文件夹。(2)实训报告文档2、实训报告要求按以下顺序装订: 封面 简单目录 任务书 实训进度日历 实训报告正文 实训感想3、成绩评定:考勤(20%)+作品(50%)+实训报告(30%)完 成 期 限:2015 年 6月 27日4指

6、 导 教 师 签 章 : 专业负责人签章: 教学院长签章: 2015年 6 月 14日实训进度日历题目商场信息管理系统指导教师 马军霞、刘育熙、谷培培、郑倩学生班级 软件技术 14-1、2 学年学期2014-2015 学年第二学期天 上午/下午 实训任务详细描述 教师实训任务的指导(解决方案、实现步骤、技术路线、难点提示) 通过标准上午 完成“需求分析说明书”查阅其他相关资料,了解系统的基本工作原理;书写需求分析说明书描述商店管理系统的功能需求、性能需求、运行需求、数据描述等。需求分析说明书提交第一天下午 完成“概要设计说明书”书写概要设计说明书描述商店管理系统的总体设计、接口设计、数据结构设

7、计、运行设计等。概要设计说明书提交上午 完成数据库设计 完成数据库表结构的设计第二天 下午 创建数据库 创建数据表,录入测试数据上午 完成登录模块界面的设计以及登录模块界面的设计与功能的实现第三天 下午 完成登录模块界面功能的实现完成登录模块界面的功能的实现上午 应用程序主窗口界面的实现应用程序主窗口界面的实现第四天 下午 应用程序主窗口界面的实现应用程序主窗口界面的实现5上午 商品信息录入功能的实现商品信息录入功能的实现第五天 下午 商品信息录入功能的实现商品信息录入功能的实现上午 商品信息查询功能的实现商品信息查询功能的实现第六天下午 商品信息查询功能的实现商品信息查询功能的实现上午 VI

8、P 信息管理功能的实现VIP 信息管理功能的实现第七天下午 VIP 信息管理功能的实现VIP 信息管理功能的实现上午 VIP 购物登记功能的实现VIP 购物登记功能的实现第八天下午 VIP 购物登记功能的实现VIP 购物登记功能的实现上午 人事管理功能的实现人事管理功能的实现第九天 下午 人事管理功能的实现人事管理功能的实现上午 个人详情功能的实现 个人详情功能的实现第十天下午 帮助功能的实现代码完善帮助功能的实现代码完善上午 系统测试撰写实训报告系统测试撰写实训报告第十一天下午 系统测试撰写实训报告系统测试撰写实训报告6上午 项目验收与总结 项目验收与总结第十二天下午 项目验收与总结以及撰写

9、实训报告的要求项目的综合验收以及讲解撰写实训报告的注意事项。学生撰写实训报告。附录一:商场信息管理系统截图制订教师:马军霞、刘育熙、谷培培、郑倩 实训报告正文1、实训目的进一步了解 Java 的相关知识,掌握 Java 开发的基本技术,丰富 Java 开发的实战经验。学习 SQL 的基础知识及正确的运用方法。2、实训内容使用 Java 语言编写一个模拟商场后台管理程序,要求程序运行后有一个图形用户界面,可供管理员管理商品、VIP、员工、和销售四个模块。 按照个体软件过程的规范要求,结合该程序的实际开发过程,来深入理解并运用个体软件过程的基本概念、方法与过程。2.1 需求分析本程序主要是后台管理

10、系统,用于管理商品、VIP 用户、员工、和销售这四个模块。具体分析以下两方面:1.登录模块:既然是后台管理就必须要登录才能够进行管理,所以登录模块是必不可少的,考虑7到管理后台的管理员一般很少,就不设置注册管理员的功能,真的需要添加管理员的时候可以通过数据库来添加。数据库方面创建的管理员账号表格中应该有 账号,密码,姓名,职务(例如管理员、超级管理员)还要考虑到的是设置一个找回密码的凭证,即超级密码。在登录界面应该有一个找回密码的选项,管理员若是忘记密码,可以通过超级密码来设置新密码。2.商品信息管理模:需求:对商品信息进行管理需求功能:浏览全部商品、查询商品、新进商品、新增商品、更新商品和删

11、除商品。3.VIP 信息管理模块:需求:对 VIP 用户信息的管理。需求功能:浏览 VIP、购物记录、注册 VIP、查看修改 VIP 和注销 VIP 。3.商场人事管理模块:需求:对员工的信息管理。需求功能:浏览员工、查询员工、注册员工、修改员工和注销员工。4.商场销售管理模块:需求:对商场销售信息进行管理,应当有对销售信息不同的查询方式需求功能:单日、单月、单年查询、浏览全部、查询总利润。5.程序运行管理的方面例如注销用户、退出程序、查看管理员个人详情。6.备份模块对于管理信息的程序来说备份信息也是十分重要的,所以备份信息也是必不可少的。82.2 概要设计2.2.1 项目总体结构和构成登录模

12、块:图一登录界面设计的概要如图一所示。是一个特别简单的登录方式,并没有注册用户的功能。若真的需要增加管理员可通过数据库来添加。主功能模块:管理员商品信息 VIP 信息 商场人事 商品销售注销退出帮助备份管理员信息图二主功能模块的设计的概要如图二所示,没有太多复杂的地方,其中商品信息,VIP 信息,商场人事,商品销售这四个模块涉及到的功能一般为增删改查和浏览这几类。主要是牵管理员登录主功能界面忘记密码 找回密码 通过超级密码设置新密码9涉到连接数据库,用 SQL 语句操纵数据库的信息,和通过表格的形式来呈现数据库的信息。2.2.2 数据库设计数据库设计是此项目开发中非常重要的环节,一个良好的数据

13、库可以很好地实现系统的查询和管理,并且能够极大的提高系统的运行效率。本项目用的数据库为 SQL Server 2008 。通过具体分析,可以设计四个表。分别为管理员账号表, VIP 用户信息表,员工表,销售管理和商品表。表和表中的属性如下:商品表字段名称 字段类型 字段长度 说明编号 Int 商品编号厂商 Varchar 50 厂商进价 Money 商品进价数量 Int 商品数量售价 Money 商品的售价进货时间 Date 商品的进货时间总进价 Money 商品的总进价商品名称 Varchar 50 商品的名称VIP 用户表字段名称 字段类型 字段长度 说明账号 Varchar 50 用户的

14、账号姓名 Varchar 50 VIP 用户的姓名性别 Varchar 50 用户的性别住址 Varchar 50 用户的住址电话 Int 用户的电话折扣 Double 用户的折扣注册时间 Date 注册的时间10人事员工信息表字段名称 字段类型 字段长度 说明工号 Varchar 50 员工的工号姓名 Varchar 50 员工的姓名年龄 Int 员工的年龄部门 Varchar 50 员工的部门职务 Varchar 50 员工的职务电话 Varchar 50 员工的电话月薪 Money 员工的月薪注册时间 Date 员工的注册时间性别 Varchar 50 员工的性别管理员账号表字段名称 字

15、段类型 字段长度 说明账号 Varchar 50 管理员的账号密码 Varchar 50 管理员的密码超级密码 Varchar 50 管理员的超级密码姓名 Varchar 50 管理员的姓名职位 Varchar 50 管理员的职位由于数据库的设计比较简单,所以就必要设置外键,各个数据库之间几乎没有关联。也减少了程序的复杂性,另外数字符类型都设置成 varchar 的类型虽然会对运行速度有影响,但这样的小影响几乎可以忽略。同时能避免许多不必要的错误。2.3 项目实现本程序是由 NetBeans 来制作的,选用 NetBeans 的最大好处就是可以画图(虽然myeclipse 也可以但需要下载插件

16、) ,这样做界面不仅方便而且还美观。但不好的一点是11画图自动生成的代码比较难看懂,若是此程序移到其他的地方之后,不能通过画图来设计修改界面,想用代码来修改的话就比较麻烦了。对于此项目的实现我将从界面设计和功能代码两块来介绍2.3.1 登录界面2.3.1.1 界面设计本程序的登录界面设计的很大众化具体如下图没有注册的功能只有忘记密码这一项,当点击忘记密码的时候会弹出找回密码找回密码这一项中需要你的一个找回的凭证,也就是超级密码,超级密码正确才可以设置新的密码。122.3.1.2 代码实现登录界面中唯一有亮点的地方就是程序上边的标题图片不再是经典 java 咖啡图像而是这个我自己在网上找的一个图

17、标。具体的代码为:setIconImage(Toolkit.getDefaultToolkit().getImage(“1.jpg“);这段代码可以设置图标。代码方面最重要的就是与数据库的驱动连接,并从数据库中得到账号表中的数据与自己所输入的账号密码一一对比代码如下:连接数据库的主要代码:Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver“);Connection con = DriverManager.getConnection(url, user,password);Statement stmt=con.createSta

18、tement();对数据库的操作代码为:rs=stmt.executeQuery(“select * from zhanghao“); 用输入的信息同数据库的信息进行对比的代码为:while(rs.next() String st1=rs.getString(“账号 “);String st2=rs.getString(“密码“); if(jTextField1.getText().equals(st1)/进入主界面其他的一些代码,例如判断是否有输入数据,和各种提示框以及关闭数据库等,这些都13不在一一赘述。2.3.2 主功能界面2.3.2.1 界面的设计主功能界面:值得一说的是界面的布局首先

19、需要添加两个面板下面的面板如下功能下边的面板较为复杂14首先需要添加一个标签化窗格然后往里面一个一个加面板,每一个标签就可以对应一个面板。标签对应的面板先设置为边框式布局,在左边和右边另外加上一个面板其中右边的面板不能再像之前设置布局管理器时直接右键设置,而需要自己通过代码写设置。具体代码为:public static CardLayout c= new CardLayout();/实例化一个公共的静态的卡片式布局以便于以后直接在面板上添加。jPanel6.setLayout(c);/把面板 16 设置为卡片式布局之后便是在左边面板上添加一个按钮,然后通过按钮的监听来显示出不同的面板例如添加一

20、个浏览商品的按钮 :jPanel6.add(new 浏览商品 (),“b“);c.show(jPanel6, “b“);关于界面其它地方都是拖拉一些组件。2.3.2.2 功能代码的实现功能方面分两块一个是15另一块是第一块的功能中系统备份,个人详情还有时间值得一说。其中系统备份是从网上找的一些 poi 类这些类的功能相当强大可以使得信息备份成 excel 表非常的方便,其中的代码也是死格式。只需修改一些参数即可。本程序的系统备份为这个样子点击想要备份的信息便可以 excel 表的形式备份到程序的文件夹里边。16其中的核心代码如下:/ 创建 Excel 文档 HSSFWorkbook hwb =

21、 new HSSFWorkbook(); / sheet 对应一个工作页 HSSFSheet sheet = hwb.createSheet(“VIP 信息表“); HSSFRow firstrow = sheet.createRow(0); / 下标为 0 的行开始 HSSFCell firstcell = new HSSFCell7; String names = new String7; names0 = “账号 “; for (int j = 0; j 7; j+) firstcellj = firstrow.createCell(j); firstcellj.setCellValue

22、(new HSSFRichTextString(namesj); for (int i = 0; i hangshu i+) / 创建一行 HSSFRow row = sheet.createRow(i + 1); / 得到要插入的每一条记录 for (int colu = 0; colu hangshu; colu+) / 在一行内循环 HSSFCell 账号 = row.createCell(0); 账号.setCellValue(rs.getString(“账号“); System.out.println(hangshu);/ 创建文件输出流,准备输出电子表格 17OutputStrea

23、m out = new FileOutputStream(“d:VIP 信息表.xls“); hwb.write(out); out.close(); 个人详情的功能也很简单,在点开个人详情的时候会传一个参数,也就是现在登录的管理员的账号通过这个参数可以限制从数据库中账号表查询的信息。 ,在把此管理员的信息对应到每一个标签上面。新超级密码也是通过连接数据库执行更新语句。将原超级密码更新。当然限制的条件也是传进来的账号参数。时间的显示是写了一个显示时间的方法,然后再在对应的标签上面显示。代码如下:/日期设置public void setTimer(JLabel time) final JLabe

24、l varTime = time; Timer timeAction = new Timer(1000, new ActionListener() public void actionPerformed(ActionEvent e) long timemillis = System.currentTimeMillis(); /转换日期显示格式 SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss“); varTime.setText(df.format(new Date(timemillis); ); timeActio

25、n.start(); /日期设置结束 18下边一大块面板就是此程序的主要功能,对商品,VIP,销售和员工这四方面的管理。主要用到的就是增删改查。首先是浏览全部。浏览全部就是从数据库中得到数据,将数据复制到二维数组里边,创建一个表头也就是一个一维字符数组,然后实例化一个表的对象,将存有信息的二维数组和表头加到表里边。最后再把这个表放在事先声明在此面板上的滚动面板上边。核心代码如下:rs=stmt.executeQuery(“select * from 商品“);/从表中查信息Object object1=new Objectk8;/将数据复制到二位数组里边for(int i=0;iki+)Sta

26、temen taba=con.createStatement();double q=Double.parseDouble(rs.getString(“进价“)*Double.parseDouble(rs.getString(“数量“);object1i0=rs.getString(“编号“);object1i1=rs.getString(“商品“);object1i2=rs.getString(“厂商“);object1i3=rs.getString(“进价“);19object1i4=rs.getString(“数量“);object1i5=rs.getString(“售价“);object

27、1i6=rs.getString(“进货时间“); String tou = new String “编号“, “商品“, “厂商“, “ 进价“,“数量“,“ 售价“,“进货时间“,“总进价“ ;/表头JTable jTable1 = new javax.swing.JTable();/声明表jTable1.setModel(new javax.swing.table.DefaultTableModel(object1,tou);/将数据加入表中jScrollPane1.setViewportView(jTable1);/将表加入到滚动面板上下面是程序的功能显示。20新增商品中有几项值得一说

28、。总进价设置为了一个按钮里边加了监听可以计算总进价。减少了管理员计算输入的麻烦,并且登记时间是随电脑上时间走得,人为不得修改,编号这一属性在数据库中设置为了标识符列。所以不能人为的输入。更新商品中,设置了一个组合框,可以选择输入商品的名称,和商品的编号,选择不同的选项传出去的参数也不一样,从而能够实现,不同的方式查询更新。21点进去后是主要的修改选项(包括删除商品的选项) ,点开之后会弹出框用来修改数据库里边的信息。剩下的几个 VIP,商场人事,和商场销售模块的功能都大差不差,只是改了几个参数和名字而已,就不过多的赘述了。3、实训总结与心得通过此次实训确实受益匪浅,让我对独立程序项目设计有了些

29、许的了解,虽说这次实训并不是特别难,主要练习了图形界面的制作,以及对数据库信息的一些增删改查,和一些表格的设计添加,时间的显示、还有各个类之间的联系,都让我对 java 和工具NetBeans 更为熟练。在具体写代码的过程中也是遇到过各种小的问题,也学会了许多找小 BUG 的方法,对于图形界面也有了大致的了解。这些收获是不做项目不能得到的。当然我也看到了我的许多不足,以及对 java 编程思想的缺乏。Java 几个比较明显的优点是封装继承多态,对于这几点特别是继承一点都没有用到,每次需要数据库操作的时候都重复书写数据库连接的代码,并且这四个模块的增删改查也没有封装成类,写后边几个模块的时候都是从前边复制代码,没有体现 java 的优点。写到一半的时候也想要用到继承,但是由于最初并没有这样的想法。导致无从下手,只好将前边的代码一段一段的复制。程序中不足的地方也有许多。比如电话号码可以输入字符、为了方便把大多数表22的属性定义为 varchar(50 ) 并且表之间的联系太少。对于这些不足之处在以后的学习中会更加注意。也很感谢班里学得比较好的同学的帮助。当然更感谢老师对我程序的指导和帮助。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报