销售管理系统的设计与实现.doc_第1页
销售管理系统的设计与实现.doc_第2页
销售管理系统的设计与实现.doc_第3页
销售管理系统的设计与实现.doc_第4页
销售管理系统的设计与实现.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

精选范本 目录目录 1 问题描述 1 1 1 开发环境 1 1 2 问题理解和分析 1 2 需求分析 2 2 1 需求描述 2 2 2 系统运行环境 2 3 总体设计 3 3 1 功能模块图 3 3 2 结构设计 3 4 数据库设计 5 4 1 数据库概念结构设计 5 4 2 数据库逻辑结构设计 5 5 系统的详细设计与实现 7 5 1 用户登录模块设计 7 5 2 销售系统主界面设计 8 5 3 商品销售录入模块设计 9 5 4 商品进货录入模块设计 12 5 5 库存管理模块设计 14 6 测试 16 6 1 登录测试用例 16 6 2 修改密码测试用例 16 6 3 添加商品信息测试用例 16 6 4 查询商品信息测试用例 17 6 5 修改商品信息测试用例 18 6 6 删除商品信息测试用例 18 7 结论 19 8 参考文献 20 精选范本 1 1 问题描述问题描述 1 11 1 开发环境开发环境 1 运用已学过的知识进行应用系统的开发 掌握软件设计流程 2 通过课程设计 使用 SSH 技术 Java 高级语言 SQL 语言等开发应 系 统 掌握基本的编程方法 3 通过课程设计掌握数据库的连接方法 及对数据的查询 修改 插 入 删除等操作 1 21 2 问题理解和分析问题理解和分析 系统主要完成以下功能 1 向使用者提供商品基本的录入 删除 编辑等基本功能 2 向使用者提供商品销售环节中的基本管理功能 3 向使用者提供基本的查询功能 4 提供打印功能 精选范本 2 2 需求分析需求分析 2 12 1 需求描述需求描述 由于销售管理系统是一个用来帮助使用者管理商品销售流程的软件 使 用者通过对销售过程中所涉及到的商品 订单 销售商等资料的录入 便可以 轻松实现商品销售流程的管理 所以 此系统必须向使用者提供一下一些具体 功能 1 软件必须向使用者提供商品基本的录入 删除 编辑等基本功能 2 鉴于商品的不同销售方式 分为订单销售和代理商销售两种形式 软件必须向使用者提供商品销售环节中的基本管理功能 因此必须有订单分销 模块和代理商分销模块 3 软件必须向使用者提供基本的查询功 4 由于是销售管理软件 所以系统安全性必须是要考虑的问题 因此 必须实现以下两点 A 系统操作员机制 对系统的使用者 按等级开放管理权限 这样可以 在一定程度上保证数据库系统的安全性 避免数据被泄漏 非法更改等 B 销售数据直接反映了一个销售单位的盈亏状况 鉴于销售数据的重要 性 所以必须对这些数据加以保护 在系统崩溃时或者误操作等情况下 可以 对数据进行恢复 这就需要系统提供备份功能 5 对于销售数据不能只存储在计算机中 而是需要导出步骤 最后以 印刷品的形式出现在使用者面前 该软件设计的最终目的才能得以具体的实现 所以 打印功能是必不可少的系统功能之一 2 22 2 系统运行环境系统运行环境 1 硬件环境 本系统适用于那种 Inter386 以上计算机 内存容量为 128M 应配备键盘 鼠标 显示器等外部设备 2 软件环境 本系统的设计采用 MyEclipse8 5 编写 在 Windows7 环 境下测试通过 精选范本 3 3 总体设计总体设计 3 13 1 功能模块图功能模块图 功能模块图如图 3 1 所示 图 3 1 功能模块图 3 23 2 结构设计结构设计 系统总流程图如图 3 2 所示 商品销售管理系统 系统管理模块销售管理模块 修 改 密 码 用 户 管 理 销 售 录 入 进 货 录 入 退 货 管 理 库 存 管 理 供 应 商 管 理 销 售 查 询 数据库 精选范本 图 3 2 系统流程图 登陆 判断是否合 法 系统 信息查 询 信息修 改 增加修改删除 更新 错误提 示信息 更新到 数据库 查询条件 错误提 示信息 从数据 库读取 数据 精选范本 4 4 数据库设计数据库设计 4 14 1 数据库概念结构设计数据库概念结构设计 E R 模型图如图 4 1 所示 图 4 1 E R 模型图 4 24 2 数据库逻辑结构设计数据库逻辑结构设计 表名 liyi 用户表 如表 4 1 所示 用户 代理商 商品 管理 管理 用户名 进退 代号 单价 数量 名称 性别 密码 权限 代号 名称 地址 联系人 订单 管理 编号 日期 型号 名称 数量 日期 电话 精选范本 表 4 1 用户表 字段名数据类型长度是否允许空值约束 usernameVarchar16Not nullPrimary key PasswordVarchar16Not null SafetyChar8Not null 表名 Supplier 供应商表 如表 4 2 所示 表 4 2 供应商表 字段名数据类型长度是否允许空值约束 Sup idChar5Not nullPrimary key Sup nameVarchar16Not null Sup contactvarChar16Not null Sup phonevarChar15Not Null sup addressVarchar40Not Null 表名 Purchase 进货表 如表 4 3 所示 表 4 3 进货表 字段名数据类型长度是否允许空值约束 P idChar5Not nullPrimary key P nameVarchar20Not null priceFloatNot null numberintNot null P dateVarchar16Not nullPrimary key sup idChar5Not nullForeigner key 表名 sale 销售表 如表 4 4 所示 表 4 4 销售表 字段名数据类型长度是否允许空值约束 p idChar5Not nullPrimary key pricefloatNot null numberintNot null totalfloatNot null S dateVarchar16Not nullPrimary key 表名 Return 退货表 如表 4 5 所示 表 4 5 退货表 字段名数据类型长度是否允许空值约束 p idChar5Not nullPrimary key numberintNot null r datevarchar16Not nullPrimary key reasonvarchar50yes 精选范本 5 5 系统的详细设计与实现系统的详细设计与实现 5 15 1 用户登录模块用户登录模块设计设计 用户登录模块如图 5 1 所示 图 5 1 用户登录窗口效果图 本窗体的任务是通过用户输入密码判断用户是否是合法的用户 它用于管 理员按照用户名和密码进行登录 以免不相关得人进入系统进行不良的操作 而对系统进行破坏 导致整个系统进行瘫痪 主要代码 public class LoginDialog extends JFrame private static final long serialVersionUID 1L private LoginPanel loginPanel null private JButton exitButton null private static String userStr private MainFrame mainFrame public LoginDialog try UIManager setLookAndFeel UIManager getSystemLookAndFeelClassName mainFrame new MainFrame initialize catch Exception e e printStackTrace private JButton getLoginButton if loginButton null loginButton new JButton loginButton setBounds new Rectangle 109 114 48 20 loginButton setIcon new ImageIcon getClass getResource res loginButton jpg loginButton addActionListener new ActionListener public void actionPerformed ActionEvent e 精选范本 try userStr userField getText StringpassStr new String passwordField getPassword if Dao checkLogin userStr passStr JOptionPane showMessageDialog LoginDialog this 用户名与密码无法登录 登录失败 JOptionPane ERROR MESSAGE return catch Exception e1 e1 printStackTrace MainFrame setDefaultCloseOperation JFrame EXIT ON CLOSE mainFrame setVisible true mainFrame getCzyStateLabel setText userStr setVisible false return loginButton 5 25 2 销售系统主界面销售系统主界面设计设计 销售系统主界面如图 5 2 所示 图 5 2 销售系统主界面窗口效果图 该窗体是本系统的统筹界面 它是系统的结构匡架 便于对整个系统的观 摩 管理 主要使用 Label 和 panl 以及 manu 等控件实现的 Image 控件 精选范本 使得界面得以美化 由于每次操作不一定会用到所有的数据库 所以没 有必要在每次运行时生成所有的数据库别名 Session 控件提供了动态生 成数据库别名的方法 使通过操作选择窗体进行优选择的别名生成成为可 能 主要代码 package com lzw import java awt import javax swing border BevelBorder import com lzw login LoginDialog public class MainFrame extends JFrame private static final long serialVersionUID 1L private JPanel frameContentPane null private ToolBar getJJToolBarBar if toolBar null toolBar new ToolBar getFrameMenuBar toolBar setCursor new Cursor Cursor HAND CURSOR return toolBar protected MenuBar getFrameMenuBar if frameMenuBar null frameMenuBar new MenuBar getDesktopPane getStateLabel return frameMenuBar private DesktopPanel getDesktopPane if desktopPane null desktopPane new DesktopPanel return desktopPane public JLabel getStateLabel if stateLabel null stateLabel new JLabel stateLabel setText 当前没有选定窗体 return stateLabel public MainFrame super initialize jve decl index 0 visual constraint 6 5 5 5 3 3 商品销售录入模块设计商品销售录入模块设计 商品销售录入模块如图 5 3 所示 精选范本 图 5 3 销售录入窗口效果图 该窗体以图形化的界面 简单直观的向使用者提供商品销售的录入功能 使用者可以快速的将销售记录录入系统 并进行保存 主要代码 package com lzw iframe import java awt import java awt event import com lzw public class XiaoShouDan extends JInternalFrame private final JTable table public XiaoShouDan super setMaximizable true setIconifiable true setClosable true getContentPane setLayout new GridBagLayout piaoHao setFocusable false setupComponet piaoHao 1 0 1 140 true setupComponet new JLabel 客户 2 0 1 0 false kehu setPreferredSize new Dimension 160 21 kehu addActionListener new ActionListener public void actionPerformed ActionEvent e doKhSelectAction setupComponet kehu 3 0 1 1 true sp new JComboBox 精选范本 sp addActionListener new ActionListener public void actionPerformed ActionEvent e TbSpinfo info TbSpinfo sp getSelectedItem if info null table new JTable table setAutoResizeMode JTable AUTO RESIZE OFF initTable tjButton addActionListener new ActionListener public void actionPerformed ActionEvent e initPiaoHao stopTableCellEditing for int i 0 i table getRowCount i TbSpinfo info TbSpinfo table getValueAt i 0 if table getValueAt i 0 null return DefaultTableModel model DefaultTableModel table getModel model addRow new Vector setupComponet tjButton 4 4 1 1 false JButton sellButton new JButton 销售 sellButton addActionListener new ActionListener if ysjlStr null ysjlStr isEmpty JOptionPane showMessageDialog XiaoShouDan this 填写验收结论 return if table getRowCount 0 JOptionPane showMessageDialog XiaoShouDan this 填加销售商品 return TbSellMain sellMain new TbSellMain id pzsStr jeStr ysjlStr kehuName rkDate czyStr jsrStr jsfsStr Set set sellMain getTbSellDetails int rows table getRowCount for int i 0 i rows i TbSpinfo spinfo TbSpinfo table getValueAt i 0 String djStr String table getValueAt i 6 String slStr String table getValueAt i 7 Double dj Double valueOf djStr Integer sl Integer valueOf slStr TbSellDetail detail new TbSellDetail detail setSpid spinfo getId detail setTbSellMain sellMain getSellId set add detail boolean rs Dao insertSellInfo sellMain 精选范本 if rs JOptionPane showMessageDialog XiaoShouDan this 销售完成 DefaultTableModel dftm new DefaultTableModel table setModel dftm initTable pzs setText 0 hpzs setText 0 hjje setText 0 setupComponet sellButton 5 4 1 1 false addInternalFrameListener new initTasks private void stopTableCellEditing TableCellEditor cellEditor table getCellEditor if cellEditor null cellEditor stopCellEditing 5 45 4 商品进货录入模块设计商品进货录入模块设计 商品进货录入模块如图 5 4 图 5 4 商品进货录入窗口效果图 该窗体以图形化的界面 简单直观的向使用者提供商品的查询功能 使用 者可以通过已知商品信息迅速查询到与此种商品相关的代理商信息 同时 也 精选范本 可用过代理商的信息反查处其代理的商品状况 主要代码 package com lzw iframe import java awt import java awt event import java beans PropertyChangeListener import java sql import java util private JComboBox gysComboBox null private JComboBox jsrComboBox null private Date jhsjDate new Date private JTextField getCzyField if czyField null czyField new JTextField czyField setEditable false czyField setText MainFrame getCzyStateLabel getText return czyField private JButton getRukuButton if rukuButton null rukuButton new JButton rukuButton setText 入库 rukuButton addActionListener new java awt event ActionListener public void actionPerformed java awt event ActionEvent e TbRukuMain ruMain new TbRukuMain id pzsStr jeStr ysjlStr gysName rkDate czyStr jsrStr jsfsStr Set set ruMain getTabRukuDetails int rows table getRowCount for int i 0 i 0 table setValueAt spinfo getPzwh row 9 table editCellAt row 6 5 55 5 库存管理模块设计库存管理模块设计 库存管理模块如图 5 5 所示 图 5 5 库存管理窗口效果图 精选范本 通过该窗口 可以直接明了地查看所有商品的库存状况 防止商品库存不 足 主要代码 package com lzw iframe import java awt import com lzw dao Dao import com lzw dao model TbSpinfo public class KuCunPanDian extends JInternalFrame private final JTable table private Date pdDate new Date private void initTable DefaultCellEditor readOnlyEditor new DefaultCellEditor readOnlyField for int i 0 i columnNames length i TableColumn column table getColumnModel getColumn i column setCellEditor readOnlyEditor TableColumn pdColumn table getColumnModel getColumn 9 TableColumn syColumn table getColumnModel getColumn 10 pdColumn setCellEditor pdEditor syColumn setCellEditor readOnlyEditor List kcInfos Dao getKucunInfos for int i 0 i kcInfos size i item setId String info get 0 item setName String info get 1 TbSpinfo spinfo Dao getSpInfo item Object row new Object columnNames length if spinfo getId null row 1 spinfo getId row 9 0 row 10 0 tableModel addRow row String pzsStr pzs getText int pzsInt Integer parseInt pzsStr pzsInt pzs setText pzsInt private class PanDianKeyAdapter extends KeyAdapter private final JTextField field private PanDianKeyAdapter JTextField field this field field public void keyTyped KeyEvent e if 0123456789 char 8 indexOf e getKeyChar 0 e consume field setEditable true 精选范本 6 6 测试测试 为了使开发出来的系统能够满足销售管理工作的需要 本人也对系统进行 了测试 测试结果良好 该系统界面友好 数据的录入 删除 保存功能均可 实现 并能够完成比较复杂的多条件查询 统计功能 是部分测试用例 6 16 1 登录测试用例登录测试用例 登录测试用例如表 6 1 所示 表 6 1 登录测试用例 输入 测试项 账号密码 输出结果 root123登录成功 ROOT123登陆成功 root3435用户名或密码错误 rOot123登录成功 空空请输入用户名 登录 空123请输入用户名 6 26 2 修改密码测试用例修改密码测试用例 修改密码测试用例如表 6 2 所示 表 6 2 修改密码测试用例 原密码新密码确认新密码结果结果分析 123 不 正确 原密码输入不正确 合格 12312341234原密码输入不正确 合格 12341234原密码输入不正确 合格 121新密码不能为空 合格 121123两次密码不一致 合格 1211231234两次密码不一致 合格 121125125修改成功 合格 125567567原密码输入不正确此处存在缺陷 6 36 3 添加商品信息测试用例添加商品信息测试用例 添加商品信息测试用例如表 6 3 所示 精选范本 表 6 3 添加商品信息测试用例 测试 用例 商品 名称 编码入库 数量 商品 单价 商品 成本 商品 利润 入库 日期 供应 商名 联系 方式 备 注 预计 输出 实际 输出 用例 1面包00110010552011 6 4 北京4562 342 香成功成功 用例 2 00110010552011 6 4 北京4562 342 香失败失败 用例 3面包 10010552011 6 4 北京4562 342 香失败失败 用例 4面包001 10552011 6 4 北京4562 342 香失败失败 6 46 4 查询商品信息测试用例查询商品信息测试用例 查询商品信息测试用例如表 6 4 所示 表 6 4 查询商品信息测试用例 按钮商品名查询商

温馨提示

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

评论

0/150

提交评论