小型自选商场商品管理课设报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉工业学院《数据库系统》课程设计说明书

设计题目:小型自选商场商品管理

姓名:周翔

学院:数学与计算机学院

专业:计算机大类1003班

学号:100511310

指导教师:林菁

2012 年6 月8 日

一、读书笔记

Jigloo:Eclipse 的GUI 构造器

Jigloo 是一个Eclipse 插件,使您可以快速构建在Java™ 平台上运行的复杂图形用户界面(GUI)。它可用于构建基于Swing 的应用程序和基于Standard Widget Toolkit (SWT) 的应用程序。它是一个易于使用的可视化编辑器,因此您可以为桌面应用程序快速创建UI。在本教程中,将构建一个简单的工作流应用程序并将使用Jigloo 创建它的UI。了解开始使用Jigloo 并进而使用其高级功能(例如可视化继承)是多么轻松。

如果您以前开发过Swing 或SWT 应用程序,则可能熟悉多种可用的布局管理器。布局管理器一直都是Java GUI 应用程序的强大功能。对GUI 布局时,布局管理器将允许应用各种算法。Java 的座右铭一直都是“编写一次,可在任何位置运行”,并且这些布局算法都是与这个座右铭一致的。不管显示GUI 的屏幕或窗口的几何尺寸如何,这些布局算法都允许GUI 应用程序的布局正常运行。

这些布局算法惟一的弊端是它们向开发人员呈现一种学习曲线,尤其是那些曾经使用绝对定位元素的其他平台的开发人员。使用绝对定位,您只需将组件放置在屏幕上的所需位置,并且那就是它将在的位置。此类布局的问题在于当屏幕尺寸发生改变时它会被“破坏”。

Jigloo可以帮助你快速开发UI界面,当你用在Jigloo设计框中画出你想要的界面时,后台会自动生成相应的代码,在本次试验中,我负责前台界面的开发与制作,Jigloo工具给我提供了很大的方便。

二.设计要求

对小型自选商场的商品进货、销售、库存等环节进行管理

三.需求分析

3.1信息要求

本系统包含商场库存基本信息,供应商基本信息,进货单记录信息,销售单记录信息以及操作员权限信息等。

3.2功能要求

本系统要求能对小型自选商场的商品进货、销售、库存等环节进行管理。主要有:

1)能记录每一笔进货,查询商品的进货记录,并能按月进行统计。

2)能记录每一笔售货,查询商品的销售情况,并能进行日盘存、月盘存。

3)在记录进货及售货的同时,必须动态刷新库存。

4)能查询某个厂商或供应商的信息。

5)设计收银台程序,能根据输入的商品编号、数量,显示某顾客所购商品的清单,并显示收付款情况。

3.3可行性分析

系统数据库采用目前比较流行的MySQL,开发本地数据库。该数据库系统在安全行、准确性、运行速度方面有绝对的优势,并且处理数据库量大,效率高;开发工具采用eclipse。Eclipse中的GUI可以快速创建界面。本次开发我用了eclipse中的一个插件Jigloo开发界面,手动画出需要的界面,代码自动生成。

1.设计模式:

○1人员表(职工编号、密码、职工姓名、职位、工资)

○2进货表(顺序码、条形码、进价、采购数量、采购日期、职工编号)

○3售货表(顺序码、条形码、数量、零售价、销售日期、职工编号、一次交易每

种商品总价)

○4库存表(条形码、商品名称、库存量、生产厂商、商品规格、零售价)

2.E-R图:

总体功能图:

四.各功能模块详细设计

1)用MySQL可视化工具分别创建雇员表(employee)、进货表

(in_goods)、售货表(sale)、库存表(storage)四张表,并建立各种约束条件。

建立的个如下图:

雇员表(employee):

进货表(in_goods):

售货表(sale):

库存表(storage):

五.前台界面的设计与实现

在这个模块中,主要有两个操作:“登陆”和“退出”。

1) 登录模块

“登陆”主要是将输入的编号、密码和数据库中的数据进行校验,如果数据库中存在则允许登陆,否则不能登陆。主要代码如下:

q.initSQLLink(null, null, null);

q.setRs(q.getStmt().executeQuery("select * from employee"));

while(q.getRs().next()){

if(jTextField_id.getText().equals(q.getRs().getString("eid")) && pwd.equals(q.getRs().getString("pwd"))){

setVisible(false);

if(q.getRs().getString("job").equals("saler")){

JFrame_saler jf_s = new JFrame_saler();

jf_s.setLog_eid(jTextField_id.getText());

}else if(q.getRs().getString("job").equals("buyer")){ NewJFrame_buyer njb = new NewJFrame_buyer();

njb.setLog_eid(jTextField_id.getText());

}else if(q.getRs().getString("job").equals("administrator")){ NewJFrame_adm nja = new NewJFrame_adm();

nja.setLog_eid(jTextField_id.getText());

}

dispose();//关闭本窗口

System.gc();//建议垃圾回收机制回收本窗口

flag = false;

}

}

if(flag){

JOptionPane.showMessageDialog(null, "您输入的编号与密码有误,请您重新输入!");

jTextField_id.setText("");

jTextField_password.setText("");

flag = true;

相关文档
最新文档