Java课程设计论文.doc_第1页
Java课程设计论文.doc_第2页
Java课程设计论文.doc_第3页
Java课程设计论文.doc_第4页
Java课程设计论文.doc_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

郑州科技学院Java课程设计 设计(论文)题目: 学生成绩管理系统 所 在 院: 信息工程学院 专 业 班 级: 10计算机科学与技术2班 学 生 姓 名: 李惠峰 学 号: 201015051 指 导 教 师: 杜远坤 2013年1月8日郑州科技学院课程设计(论文)任务书设计题目: 超市管理系统 专业班级: 10计算机科学与技术2班 学 号: 201015041 姓 名: 李惠峰 主要内容设计成绩管理信息管理系统,主要包含:登录管理,信息管理,信息查询。学生采用图形用户界面,通过菜单选择相应的操作,直观且操作简单。数据库选用MySQL;编辑平台选用Eclipse 。所用到的知识点有:类的基本构成,异常处理,图形用户界面,文件操作和数据库。基本要求: 设计一个学生成绩的数据库管理系统,数据库中要求包含学生的基本信息,课程基本信息,以及学生所学课程的考试成绩。按照内容要求,设计完整的学生成绩管理系统。调试通过,不存在漏洞,方便用户操作。完成期限: 2013年1月6日 指导教师签名: 评审小组负责人签名: 摘 要超市的日常管理工作往往是很复杂,很繁琐的,再加上管理的货物种类繁多,因此超市管理必须实现计算机化。超市进销存管理系统是用计算机对超市货物的库存和货物的进出进行管理的一种计算机应用技术,在计算机还未普及之前超市的库存管理都是由工作人员手工书写的方式来操作的,那样很容易出现差错而造成不必要的损失。现在一般的超市都采用计算机进行智能化管理,用计算机作为管理工具可以帮助管理员进行更有效、更快捷的超市库存管理工作。超市进销存管理系统是典型的管理信息系统,其开发主要包括后台数据库的建立和维护以及前端应用系统的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用系统功能完备、易使用等特点。超市进销存管理系统要实现的功能非常多,最重要的是对货物的管理,包括货物的买入(进货)、货物的卖出(销货)、货物的存储(库存)。本系统采用Java语言和MySql数据库进行开发。利用Java语言进行设计,基本实现了对货物的管理工作,另外添加了一些很人性化的操作提示,例如用户可以通过点击帮助图标去查看帮助文档,里面附有详细的图表及文字说明。利用MySql做后台数据库,不为数据量大所困。目 录摘 要 3目 录 4第一部分 前言 51.1 研究背景 51.2 研究意义 5第二部分 需求分析 6 2.1设计要求 6 2.2设计目的 6 2.3功能实现 6第三部分 总体设计 7第四部分 功能实现 8 4.1 商品新建 8 4.2 商品修改 22 4.2.1 修改商品信息 22 4.2.2 修改供货商信息 26第五部分 系统概要设计 325.1.1 系统设计思想 325.1.2 设计原则 325.1.3 业务流程操作 33第六部分 系统测试 346.1 系统登陆测试 346.2 测试汇总 34 第七部分 关键技术系统分析改进 35结论 36致谢 36参考文献 37第一部分 前 言1.1 研究背景随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。作为国内市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必不可少的。我国的超市在20世纪90年代初期形成,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着经济的快速发展,超市的经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售业的发展,这样就迫切地需要引入新的管理技术。1.2 研究意义随着超市商品的大量增加,其管理难度越来越大。在计算机技术飞速发展的今天,将计算机这一信息处理器应用到超市的日常管理已是势在必然。于是,超市进销存管理系统便应运而生。这也为超市管理带来前所未有的改变,同时为企业带来意想不到的经济效益和社会效益。这主要体现在以下几个方面: 极大的提高了超市工作人员的工作效率,避免了以往入出存流程繁琐、杂乱和周期长等弊端。 超市进销存管理实现了操作自动化和信息电子化,全面提高了超市的管理水平。 基于超市进销存管理的全面自动化,可以大大减少入库管理、出库管理及库存管理中的漏洞,可以节约大量管理开支,增加企业的收入。第二部分 需求分析需求分析是对系统将要实现的功能的大致描述,能够把设计系统的基本思路都列出来。它在系统开发中起着重要的作用,下面分别介绍。2.1 设计要求(1)修改个人信息:输入用户名后,可以更改新的密码。(2)查询:本模块分为两种查询,查询货物或者查询供应商。(3)新建:实现新货物的录入。包括商品的名称,单价,数量。供货商的联系电话,城市等。(4)修改:该模块将实现对商品基本信息更新功能。分为两个模块,有修改货品的信息,修改供货商的信息。(5)删除:该模块将实现对商品基本信息的删除功能。可以按货号或按商品名称两种方法来删除。2.2 设计目的 本系统的目的有1.用户可以注册来进入本系统并且建立商品的数据库,已经注册过的用户并且已经有商品的数据库则可进行相应的操作。2.实现货物的查询,可以查看货物的名称,价格,当市场的价格波动时可以改动商品的价格,提高效率。同时可以查看商品的数量,以便及时添加货物或者立马处理掉,以免因为市场变化,而滞销,给商户带来损失。用户可以删除不想卖的商品,或者添加新进来的商品。3.用户用此系统可以查到供货商的电话,以及所在的城市。方便商户与供货商直接交流,增加效率。2.3 功能实现通过各个模块的调用,设计出主函数。连接access 数据库,实现功能。第三部分 总体设计本系统根据其具体功能,设计其功能模块如图1.2所示。图1.2 系统功能模块图登陆界面主界面销售信息统计销售管理库存管理用户管理商品管理商品进/退货管理销售信息处理库存查询库存处理员工信息查询员工信息处理进/退货信息查询进/退货信息处理商品信息查询商品信息处理整个前台模块是本系统最重要的模块,它提供了超市管理平台的日常管理操作,可以满足普通用户和管理员对商品库存信息查询等的需求,而删除、修改信息则只有管理员权限操作,普通用户也不能进行用户管理操作。第四部分 功能实现 4.1商品新建 (1)当点击操作商品新建按钮图4.01后,显示商品添加的窗口如图4.02 图 4.01 图4.02(2)商品添加成功如图4.03 图4.03(3)程序代码import java.awt.Color;import java.awt.Font;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.JButton;import javax.swing.JFormattedTextField;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.border.TitledBorder;public class AddGoods extends JFrame private JTextField jtf城市域;private JTextField jtf联系电话域;private JTextField jtf数量域;private JTextField jtf供货商域;private JTextField jtf单价域;private JTextField jtf商品名称域;private JTextField jtf货号域;private JButton jbt添加;private JButton jbt取消;private JButton jbt确认添加; private JButton jbt返回; private String Uname = UserManagement.Uname;/* * Create the frame */public AddGoods() super();getContentPane().setLayout(null);setBounds(100, 100, 476, 375);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); Font font = new Font(SanSerif, Font.ITALIC + Font.BOLD, 16);final JLabel jl附加货品 = new JLabel();jl附加货品.setText(附加信息栏1);jl附加货品.setFont(font);jl附加货品.setForeground(Color.ORANGE);jl附加货品.setToolTipText(货品信息);jl附加货品.setBounds(35, 76, 95, 22);getContentPane().add(jl附加货品);final JLabel jl附加供货商 = new JLabel();jl附加供货商.setText(附加信息栏2);jl附加供货商.setFont(font);jl附加供货商.setForeground(Color.ORANGE);jl附加供货商.setToolTipText(供货商信息);jl附加供货商.setBounds(244, 76, 95, 22);getContentPane().add(jl附加供货商);/*/final JLabel jl货号 = new JLabel();jl货号.setText(货 号:);jl货号.setBounds(35, 39, 66, 18);getContentPane().add(jl货号);final JLabel jl供货商 = new JLabel();jl供货商.setText(供 货 商:);jl供货商.setBounds(244, 39, 66, 18);getContentPane().add(jl供货商);jtf货号域 = new JFormattedTextField();jtf货号域.setBounds(107, 37, 85, 22);getContentPane().add(jtf货号域);jtf供货商域 = new JTextField();jtf供货商域.setBounds(316, 37, 85, 22);getContentPane().add(jtf供货商域);/*/final JPanel jp附加1 = new JPanel();jp附加1.setLayout(null);jp附加1.setBounds(35, 108, 175, 144);jp附加1.setBorder(new TitledBorder( 系统提示时请填写 );getContentPane().add(jp附加1);final JLabel jl商品名称 = new JLabel();jl商品名称.setText(商品名称:);jl商品名称.setBounds(9, 41, 65, 18);jp附加1.add(jl商品名称);final JLabel jl单价 = new JLabel();jl单价.setBounds(10, 75, 66, 18);jp附加1.add(jl单价);jl单价.setText(单 价:);final JLabel jl数量 = new JLabel();jl数量.setBounds(10, 110, 66, 18);jp附加1.add(jl数量);jl数量.setText(数 量:);jtf商品名称域 = new JTextField();jtf商品名称域.setBounds(80, 39, 85, 22);jp附加1.add(jtf商品名称域);jtf单价域 = new JTextField();jtf单价域.setBounds(80, 75, 85, 22);jp附加1.add(jtf单价域);jtf单价域.setToolTipText(请输入数字);jtf单价域.addKeyListener(new KeyAdapter() public void keyTyped(KeyEvent event) char ch = event.getKeyChar(); if(ch 9) & ch != .) event.consume(); ); jtf数量域 = new JTextField();jtf数量域.setBounds(80, 110, 85, 22);jp附加1.add(jtf数量域);jtf数量域.setToolTipText(请输入数字);jtf数量域.addKeyListener(new KeyAdapter() public void keyTyped(KeyEvent event) char ch = event.getKeyChar(); if(ch 9) event.consume(); ); /*/final JPanel jp附加2 = new JPanel();jp附加2.setLayout(null);jp附加2.setBounds(244, 108, 181, 144);jp附加2.setBorder(new TitledBorder( 当系统提示时请填写 );getContentPane().add(jp附加2);final JLabel jl联系电话 = new JLabel();jl联系电话.setText(联系电话:);jl联系电话.setBounds(10, 43, 66, 18);jp附加2.add(jl联系电话);final JLabel jl城市 = new JLabel();jl城市.setText(城 市:);jl城市.setBounds(10, 105, 66, 18);jp附加2.add(jl城市);jtf联系电话域 = new JTextField();jtf联系电话域.setBounds(82, 41, 87, 22);jp附加2.add(jtf联系电话域);jtf城市域 = new JTextField();jtf城市域.setBounds(82, 103, 87, 22);jp附加2.add(jtf城市域);/*/jbt添加 = new JButton(添加);jbt添加.setBounds(125, 279, 85, 30);getContentPane().add(jbt添加);jbt添加.addMouseListener(new MouseAdapter() public void mouseClicked(final MouseEvent arg0) String Gno = jtf货号域.getText();String Sname = jtf供货商域.getText();if(Gno.equals() | Sname.equals() JOptionPane.showMessageDialog(null, 请先输入货号和供货商, 提示, JOptionPane.WARNING_MESSAGE);jtf货号域.requestFocus();else CheckKind(););jbt取消 = new JButton(取消);jbt取消.setBounds(244, 279, 85, 30);getContentPane().add(jbt取消);jbt取消.addMouseListener(new MouseAdapter() public void mouseClicked(final MouseEvent arg0) dispose(););jtf商品名称域.setEditable(false);jtf单价域.setEditable(false);jtf数量域.setEditable(false);jtf联系电话域.setEditable(false); jtf城市域.setEditable(false);public void CheckKind() getContentPane().remove(jbt添加);jbt确认添加 = new JButton(添加);jbt确认添加.setBounds(125, 279, 85, 30);getContentPane().add(jbt确认添加);jbt确认添加.addMouseListener(new MouseAdapter() public void mouseClicked(final MouseEvent arg0) String Gno = jtf货号域.getText();String Sname = jtf供货商域.getText();Register register = new Register();register.setGno(Gno);register.setSname(Sname);UserClient client = new UserClient();int flag = client.CheckAddKind(register, Uname);AddData(flag););public void AddData(int i) jtf货号域.setEditable(false);jtf供货商域.setEditable(false);switch(i) case 1:jtf数量域.setEditable(true);String Gno1 = jtf货号域.getText();String Sname1 = jtf供货商域.getText();String strQuantity1 = jtf数量域.getText();if(strQuantity1.equals() JOptionPane.showMessageDialog(null, 请填写附加信息栏1中的数量, 提示, JOptionPane.INFORMATION_MESSAGE);jtf数量域.requestFocus();else if(strQuantity1.startsWith(0) JOptionPane.showMessageDialog(null, 格式不正确,请重新填写数量!, 提示, JOptionPane.ERROR_MESSAGE);else int Quantity = Integer.parseInt(strQuantity1);Register reg1 = new Register();reg1.setGno(Gno1);reg1.setSname(Sname1);reg1.setQuantity(Quantity);UserClient client1 = new UserClient();int flag1 = client1.updateGS(reg1, Uname);if(flag1 = 1) JOptionPane.showMessageDialog(null, 添加数据成功, 提示, JOptionPane.INFORMATION_MESSAGE);init();else JOptionPane.showMessageDialog(null, 添加数据失败, 提示, JOptionPane.INFORMATION_MESSAGE);break;case 2:jtf联系电话域.setEditable(true);jtf城市域.setEditable(true);jtf数量域.setEditable(true);String Gno2 = jtf货号域.getText();String Sname2 = jtf供货商域.getText();String strQuantity2 = jtf数量域.getText();String Sphone2 = jtf联系电话域.getText();String Scity2 = jtf城市域.getText();if(strQuantity2.equals() | Sphone2.equals() | Scity2.equals() JOptionPane.showMessageDialog(null, 请填写附加信息栏1中的数量和附加信息栏2中的全部信息, 提示, JOptionPane.INFORMATION_MESSAGE);jtf数量域.requestFocus();else if(strQuantity2.startsWith(0) JOptionPane.showMessageDialog(null, 格式不正确,请重新填写数量!, 提示, JOptionPane.ERROR_MESSAGE);else int Quantity2 = Integer.parseInt(strQuantity2);Register reg2 = new Register();reg2.setGno(Gno2);reg2.setSname(Sname2);reg2.setSphone(Sphone2);reg2.setScity(Scity2);reg2.setQuantity(Quantity2);UserClient client2 = new UserClient();int flag2 = client2.AddSupplier(reg2, Uname) + client2.AddGS(reg2, Uname);if(flag2 = 2) JOptionPane.showMessageDialog(null, 添加数据成功, 提示, JOptionPane.INFORMATION_MESSAGE);init();else JOptionPane.showMessageDialog(null, 添加数据失败, 提示, JOptionPane.INFORMATION_MESSAGE);break;case 3:jtf商品名称域.setEditable(true);jtf单价域.setEditable(true);jtf数量域.setEditable(true);String Gno3 = jtf货号域.getText();String Sname3 = jtf供货商域.getText();String Gname3 = jtf商品名称域.getText();String Gup3 = jtf单价域.getText();String strQuantity3 = jtf数量域.getText();if(Gname3.equals() | Gup3.equals() | strQuantity3.equals() JOptionPane.showMessageDialog(null, 请填写附加信息栏1中的全部信息, 提示, JOptionPane.INFORMATION_MESSAGE);jtf商品名称域.requestFocus();else if(strQuantity3.startsWith(0) JOptionPane.showMessageDialog(null, 格式不正确,请重新填写数量!, 提示, JOptionPane.ERROR_MESSAGE);else int Quantity3 = Integer.parseInt(strQuantity3);Register reg3 = new Register();reg3.setGno(Gno3);reg3.setSname(Sname3);reg3.setGname(Gname3);reg3.setGup(Gup3);reg3.setQuantity(Quantity3);UserClient client3 = new UserClient();int flag3 = client3.AddGoods(reg3, Uname) + client3.AddGS(reg3, Uname);if(flag3 = 2) JOptionPane.showMessageDialog(null, 添加数据成功, 提示, JOptionPane.INFORMATION_MESSAGE);init();else JOptionPane.showMessageDialog(null, 添加数据失败, 提示, JOptionPane.INFORMATION_MESSAGE);break;case 4:jtf商品名称域.setEditable(true);jtf单价域.setEditable(true);jtf数量域.setEditable(true);jtf联系电话域.setEditable(true);jtf城市域.setEditable(true);String Gno4 = jtf货号域.getText();String Sname4 = jtf供货商域.getText();String Gname4 = jtf商品名称域.getText();String Gup4 = jtf单价域.getText();String strQuantity4 = jtf数量域.getText();String Sphone4 = jtf联系电话域.getText();String Scity4 = jtf城市域.getText();if(Gname4.equals() | Gup4.equals() | strQuantity4.equals() | Sphone4.equals() | Scity4.equals() JOptionPane.showMessageDialog(null, 请填写附加信息栏1和附加信息栏中的全部信息, 提示, JOptionPane.INFORMATION_MESSAGE);jtf商品名称域.requestFocus();else if(strQuantity4.startsWith(0) JOptionPane.showMessageDialog(null, 格式不正确,请重新填写数量!, 提示, JOptionPane.ERROR_MESSAGE);else int Quantity3 = Integer.parseInt(strQuantity4);Register reg4 = new Register();reg4.setGno(Gno4);reg4.setSname(Sname4);reg4.setGname(Gname4);reg4.setGup(Gup4);reg4.setQuantity(Quantity3);reg4.setSphone(Sphone4);reg4.setScity(Scity4);UserClient client4 = new UserClient();int flag4 = client4.AddGoods(reg4, Uname) + client4.AddSupplier(reg4, Uname) + client4.AddGS(reg4, Uname);if(flag4 = 3) JOptionPane.showMessageDialog(null, 添加数据成功, 提示, JOptionPane.INFORMATION_MESSAGE);init();else JOptionPane.showMessageDialog(null, 添加数据失败, 提示, JOptionPane.INFORMATION_MESSAGE);break;public void init() jtf货号域.setEditable(true);jtf供货商域.setEditable(true);jtf商品名称域.setEditable(false);jtf单价域.setEditable(false);jtf数量域.setEditable(false);jtf联系电话域.setEditable(false);jtf城市域.setEditable(false);jtf货号域.setText(null);jtf供货商域.setText(null);jtf商品名称域.setText(null);jtf单价域.setText(null);jtf数量域.setText(null);jtf联系电话域.setText(null);jtf城市域.setText(null);import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JTextField;public class AddSupplier extends JFrame private JTextField jtf城市域;private JTextField jtf联系电话域;private JTextField jtf供货商名域;private String Uname = UserManagement.Uname;/* * Create the frame */public AddSupplier() super();getContentPane().setLayout(null);setBounds(100, 100, 317, 298);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);final JLabel jl供货商 = new JLabel();jl供货商.setText(供货商名:);jl供货商.setBounds(60, 60, 66, 18);getContentPane().add(jl供货商);final JLabel jl联系电话 = new JLabel();jl联系电话.setText(联系电话:);jl联系电话.setBounds(60, 100, 66, 18);getContentPane().add(jl联系电话);final JLabel jl城市 = new JLabel();jl城市.setText(城 市:);jl城市.setBounds(60, 141, 66, 18);getContentPane().add(jl城市);jtf供货商名域 = new JTextField();jtf供货商名域.setBounds(132, 58, 110, 22);getContentPane().add(jtf供货商名域);jtf联系电话域 = new JTextField();jtf联系电话域.setBounds(132, 98, 110, 22);getContentPane().add(jtf联系电话域);jtf城市域 = new JTextField();jtf城市域.setBounds(132, 139, 110, 22);getContentPane().add(jtf城市域);final JButton button = new JButton();button.addActionListener(new ActionListener() public void actionPerformed(final ActionEvent arg0) AddData(););button.setText(确定);button.setBounds(60, 194, 72, 28);getContentPane().add(button);final JButton button_1 = new JButton();button_1.setText(取消);button_1.setBounds(170, 194, 72, 28);getContentPane().add(button_1);/public void AddData() String Sname = jtf供货商名域.getText();String Sphone = jtf联系电话域.getText();String Scity = jtf城市域.getText();if(Sname.equals() | Sphone.equals() | Scity.equals() JOptionPane.showMessageDialog(this, 请填写完整信息, 提示, JOptionPane.INFO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论