您的当前位置:首页销售管理系统的设计与实现

销售管理系统的设计与实现

2023-06-07 来源:飒榕旅游知识分享网
长 春 大 学 课程设计纸

目录

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

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 开发环境

(1)运用已学过的知识进行应用系统的开发,掌握软件设计流程。 (2)通过课程设计,使用SSH技术、Java高级语言、SQL语言等开发应系 统,掌握基本的编程方法。

(3)通过课程设计掌握数据库的连接方法,及对数据的查询、修改、插入、 删除等操作。 1.2问题理解和分析

系统主要完成以下功能

(1)向使用者提供商品基本的录入,删除,编辑等基本功能。 (2)向使用者提供商品销售环节中的基本管理功能。 (3)向使用者提供基本的查询功能。 (4)提供打印功能。

共 20 页 第 1 页

长 春 大 学 课程设计纸

2 需求分析

2.1 需求描述

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

由于销售管理系统是一个用来帮助使用者管理商品销售流程的软件。使用

者通过对销售过程中所涉及到的商品,订单,销售商等资料的录入,便可以轻松实现商品销售流程的管理。所以,此系统必须向使用者提供一下一些具体功能:

(1)软件必须向使用者提供商品基本的录入,删除,编辑等基本功能 (2)鉴于商品的不同销售方式(分为订单销售和代理商销售两种形式),软件必须向使用者提供商品销售环节中的基本管理功能,因此必须有订单分销模块和代理商分销模块。

(3)软件必须向使用者提供基本的查询功。

(4)由于是销售管理软件,所以系统安全性必须是要考虑的问题。因此,必须实现以下两点:

A:系统操作员机制。对系统的使用者,按等级开放管理权限,这样可以在一定程度上保证数据库系统的安全性,避免数据被泄漏,非法更改等。

B:销售数据直接反映了一个销售单位的盈亏状况,鉴于销售数据的重要性,所以必须对这些数据加以保护,在系统崩溃时或者误操作等情况下,可以对数据进行恢复。这就需要系统提供备份功能。

(5)对于销售数据不能只存储在计算机中,而是需要导出步骤,最后以印刷品的形式出现在使用者面前,该软件设计的最终目的才能得以具体的实现。所以,打印功能是必不可少的系统功能之一。 2.2 系统运行环境

(1)硬件环境。本系统适用于那种Inter386以上计算机,内存容量为128M,应配备键盘、鼠标、显示器等外部设备。

(2)软件环境。本系统的设计采用MyEclipse8.5编写。在Windows7环境下测试通过。

共 20 页 第 2 页

长 春 大 学 课程设计纸

3 总体设计

3.1 功能模块图

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

功能模块图如图3-1所示。

商品销售管理系统 系统管理模块 销售管理模块 修改密码 用户管理 销售录入 销售查询 退货管理 进货录入 库存管理 供应商管理 数据库

3.2 结构设计

图3-1 功能模块图

系统总流程图如图3-2所示。

共 20 页 第 3 页

长 春 大 学 课程设计纸

登陆 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

判断是否合系统 信息查询 信息修改 查询条件 增加 修改 删除 错误提示信息 从数据库读取数据 更新 错误提示信息 更新到数据库

图3-2 系统流程图

共 20 页 第 4 页

长 春 大 学 课程设计纸

4 数据库设计

4.1 数据库概念结构设计

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

E-R模型图如图4-1所示。

密码 性别 权限 电话 代号 名称 地址 用户名 用户 管理 代理商 联系人 管理 管理 进退 商品 订单 编号 名称 数量 日期 型号 代号 单价 日期 名称 数量

图4-1 E-R模型图

4.2 数据库逻辑结构设计

表名:liyi (用户表)如表4-1所示。

共 20 页 第 5 页

长 春 大 学 课程设计纸

字段名 username Password Safety 数据类型 Varchar Varchar Char 表4-1 用户表 长度 16 16 8 是否允许空值 Not null Not null Not null 约束 Primary key ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

表名:Supplier(供应商表)如表4-2所示。

字段名 Sup_id Sup_name Sup_contact Sup_phone sup_address 数据类型 Char Varchar varChar varChar Varchar 表4-2 供应商表 长度 5 16 16 15 40 是否允许空值 Not null Not null Not null Not Null Not Null 约束 Primary key 表名:Purchase (进货表)如表4-3所示。

字段名 P_id P_name price number P_date sup_id 数据类型 Char Varchar Float int Varchar Char 表4-3 进货表 长度 5 20 16 5 是否允许空值 Not null Not null Not null Not null Not null Not null 约束 Primary key Primary key Foreigner key 表名:sale(销售表)如表4-4所示。

字段名 p_id price number total S_date 数据类型 Char float int float Varchar 表4-4 销售表 长度 5 16 是否允许空值 Not null Not null Not null Not null Not null 约束 Primary key Primary key 表名:Return (退货表)如表4-5所示。

字段名 p_id number r_date reason

数据类型 Char int varchar varchar 表4-5 退货表 长度 5 16 50 是否允许空值 Not null Not null Not null yes 约束 Primary key Primary key 共 20 页 第 6 页

长 春 大 学 课程设计纸

5 系统的详细设计与实现

5.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) {

共 20 页 第 7 页

长 春 大 学 课程设计纸

}

try { userStr = userField.getText();

String passStr = 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.2 销售系统主界面设计

销售系统主界面如图5-2所示。

图5-2 销售系统主界面窗口效果图

该窗体是本系统的统筹界面。它是系统的结构匡架,便于对整个系统的观摩、管理.主要使用Label和 panl以及manu等控件实现的。Image控件使

共 20 页 第 8 页

长 春 大 学 课程设计纸

得界面得以美化。 由于每次操作不一定会用到所有的数据库,所以没有必要在每次运行时生成所有的数据库别名。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.3商品销售录入模块设计

商品销售录入模块如图5-3所示。

共 20 页 第 9 页

长 春 大 学 课程设计纸

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

图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();

共 20 页 第 10 页

长 春 大 学 课程设计纸

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

sp.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { TbSpinfo info = (TbSpinfo) sp.getSelectedItem();

if (info != null && info.getId() != null) {

updateTable(); } } });

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);

共 20 页 第 11 页

长 春 大 学 课程设计纸

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.4商品进货录入模块设计

商品进货录入模块如图5-4

图5-4 商品进货录入窗口效果图

该窗体以图形化的界面,简单直观的向使用者提供商品的查询功能,使用者可以通过已知商品信息迅速查询到与此种商品相关的代理商信息,同时,也

共 20 页 第 12 页

长 春 大 学 课程设计纸

可用过代理商的信息反查处其代理的商品状况。

主要代码:

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

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 < rows; i++) { TbSpinfo spinfo = (TbSpinfo) table.getValueAt(i, 0); if (spinfo == null || spinfo.getId() == null || spinfo.getId().isEmpty())continue; String djStr = (String) table.getValueAt(i, 6); String slStr = (String) table.getValueAt(i, 7); Double dj = Double.valueOf(djStr); Integer sl = Integer.valueOf(slStr); TbRukuDetail detail = new TbRukuDetail(); detail.setTabSpinfo(spinfo.getId()); detail.setTabRukuMain(ruMain.getRkId()); detail.setDj(dj); detail.setSl(sl); set.add(detail); } boolean rs = Dao.insertRukuInfo(ruMain); if (rs) { JOptionPane.showMessageDialog(JinHuoDan_IFrame.this, \"入库完成\"); DefaultTableModel dftm = new DefaultTableModel();

共 20 页 第 13 页

长 春 大 学 课程设计纸

table.setModel(dftm); pzslField.setText(\"0\"); hpzsField.setText(\"0\"); hjjeField.setText(\"0\"); } } }); }

return rukuButton; }

private JScrollPane getTablePane() { if (tablePane == null) {

tablePane.setViewportView(getTable()); }

return tablePane; }

private synchronized void updateTable() {

TbSpinfo spinfo = (TbSpinfo) spComboBox.getSelectedItem(); int row = table.getSelectedRow(); if (row >= 0 && spinfo != null) { table.setValueAt(spinfo.getId(), row, 1); table.setValueAt(spinfo.getPzwh(), row, 9); table.editCellAt(row, 6); } }

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

5.5 库存管理模块设计

库存管理模块如图5-5所示。

图5-5库存管理窗口效果图

共 20 页 第 14 页

长 春 大 学 课程设计纸

通过该窗口,可以直接明了地查看所有商品的库存状况,防止商品库存不

足。

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

主要代码:

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 && !spinfo.getId().isEmpty()) { row[0] = spinfo.getSpname(); 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); }

共 20 页 第 15 页

长 春 大 学 课程设计纸

6 测试

为了使开发出来的系统能够满足销售管理工作的需要,本人也对系统进行

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

了测试,测试结果良好,该系统界面友好,数据的录入,删除,保存功能均可实现,并能够完成比较复杂的多条件查询、统计功能,是部分测试用例。 6.1登录测试用例

登录测试用例如表6-1所示。

测试项 表6-1 登录测试用例 输入 密码 123 123 3435 123 空 123 输出结果 登录成功 登陆成功 用户名或密码错误! 登录成功 请输入用户名! 请输入用户名! 登录 账号 root ROOT root rOot 空 空

6.2 修改密码测试用例

修改密码测试用例如表6-2所示。

表6-2 修改密码测试用例

原密码 123(不正确) 123 121 121 121 121 125 新密码 1234 1234 123 123 125 567 确认新密码 1234 1234 1234 125 567 结果 原密码输入不正确 原密码输入不正确 原密码输入不正确 新密码不能为空 两次密码不一致 两次密码不一致 修改成功 原密码输入不正确 结果分析 合格 合格 合格 合格 合格 合格 合格 此处存在缺陷 6.3 添加商品信息测试用例

添加商品信息测试用例如表6-3所示。

共 20 页 第 16 页

长 春 大 学 课程设计纸

表6-3 添加商品信息测试用例 测试用例 商品名称 编码 入库商品商品商品入库供应联系备预计实际数量 单价 成本 利润 日期 商名 方式 注 输出 输出 香 成功 成功

用例1 面包 001 100 10 5 5 2011北京 4562

/6/4 342 ┊ ┊ 用例2 ○ 001 100 10 5 5 2011北京 4562┊

/6/4 342 ┊

┊ 用例3 面包 ○ 100 10 5 5 2011北京 4562┊

/6/4 342 ┊

用例4 面包 001 ○ 10 5 5 2011北京 4562┊

┊ /6/4 342 ┊ ┊

6.4查询商品信息测试用例 ┊

查询商品信息测试用例如表6-4所示。 ┊

表6-4 查询商品信息测试用例 ┊

┊ 商品名查询 商品编码查询 供应商名查询 ┊ 按钮 ┊ 订 代码 ○1 ○2 ○3 ┊ 商品名称 商品编码 生产厂家 ┊ 条件 ┊ ○5 ○6 ○7 ┊ 代码 ┊ 测试方案 预计结果 实际结果 线 测试用例 ┊ 用例1 ○1○5 成功 成功 ┊ ┊ 用例2 ○1○6 失败 失败 ┊ ┊ 用例3 ○1○7 失败 失败 ┊ ┊ 用例4 ○1○8 失败 失败 ┊ ○2○5 失败 失败 ┊ 用例5 ┊ ○2○6 成功 成功 ┊ 用例6 ┊ 用例7 ○3○6 失败 失败 ┊ 用例8 ○3○7 成功 成功 用例9 ○3○8 失败 失败 香 失败 失败 香 失败 失败 香 失败 失败 入库时间查询 ○4 入库时间 ○8 备注 只有输入相应的查询条件再点击相应的查询按钮才会查出商品信息,查询条件必须是商品信息表中存在的信息 共 20 页 第 17 页

长 春 大 学 课程设计纸

6.5修改商品信息测试用例

修改商品信息测试用例如表6-5所示。

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

表6-5 修改商品信息测试用例 测试项 商品名称 测试用例 结果 纸巾 003 500 3 5 结果分析 测试用例 结果 纸巾 003 ww ww ww 结果分析 测试用例 结果 纸巾 003 结果分析 测试用例 毛笔003 400 1 4 3 刘伟 114 无 2011-6-14 2 正常 刘伟 114 无 2011-6-14 2 正常 刘伟 114 无 2011-6-14 2 正常 编码 数量 成本 单价 利润 供应商 刘伟 联系方式 114 无 2011-6-14 备注 日期 修改成功 修改失败 修改失败 (无) 结果 修改失败 结果分析 正常 6.6删除商品信息测试用例

删除商品信息测试用例如表6-6所示

表6-6 删除商品信息测试用例 测试项 删除 删除 删除 商品名称 纸巾 铅笔 毛笔(无) 结果 删除成功 删除成功 无提示信息 结果分析 正常 正常 此处有缺陷应加以相应的提示信息如无此类商品 删除 无提示信息 此处有缺陷应加以相应的提示信息如请输入商品名称 共 20 页 第 18 页

长 春 大 学 课程设计纸

7 结论

经过几周的设计和开发,商品销售管理系统基本开发完毕。其功能基本符合用户需求,能够完成商品销售过程中所涉及到的基本信息的、输入、修改,查询等动能。此外用户可以方便进行用户名称和密码的更改,提高了软件的安全性和灵活性。本软件对于数据的一致性的问题也通过程序进行了有效的解决。

但现实中的商品交易形式是多种多样的,由于设计时间较短,需求分析做得不够完善,另外,该系统还有许多不尽如人意的地方。比如功能不是很完善、用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

共 20 页 第 19 页

长 春 大 学 课程设计纸

8 参考文献

[1]王薇.董迎红 java 程序设计与实践教程.清华大学出版社 2011.8

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

[2]王鹏.java Swing 图形几面开发与案例详解[M].清华大学出版社.2008.12 [3] 孙涌.现代软件工程[M].北京:希望电子出版社,2002.10. [4] 杨文龙.软件工程[M].北京:科学技术文献出版社, 1989.9.

[5] 王志伟、黄超.企业经营管理系统开发实例导航[M].人民邮电出版社,1997.9.

共 20 页 第 20 页

因篇幅问题不能全部显示,请点此查看更多更全内容