超市管理系统.docx
- 文档编号:9000175
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:33
- 大小:81.64KB
超市管理系统.docx
《超市管理系统.docx》由会员分享,可在线阅读,更多相关《超市管理系统.docx(33页珍藏版)》请在冰豆网上搜索。
超市管理系统
院系:
计算机科学学院
专业:
计算机科学与技术
年级:
05级
课程名称:
超市管理系统
指导教师:
王飚严千钧陈聪
学号姓名:
05061215李畅
学号姓名:
05061200杨帆
学号姓名:
05061207文杰
学号姓名:
04061348胡学辉
分数:
2008年11月10日
超市管理系统
1.项目目标
超市管理系统作为一个超市信息管理平台,应该包括一下功能
1.超市商品展示功能
这个功能是超市广利系统的基本功能,通过这个功能,客户可以了解产品的相关信息,最终做出购买产品的决定
2订单处理功能
对于一个超市管理系统而言,这个功能是一个最重要的功能,通过对客户订单的统计和整理,可以及时的统计出一份顾客订单资料,及时的将客户订购的货物送到目的地。
3合同管理功能
这个功能也是一个超市管理系统的主要功能,记录超市的订单信息,统计超市的各种业务信息,为超市产品计划的制定提供服务。
4解决方案设计
一个超市管理系统的较色是各种客户,各种货物信息(包括货物的名字,生产厂家,产品的批号,产品登记信息等),超市的合同信息,超市管理系统维护员和具体的货物售货员。
顾客和超市人员是超市管理系统的用户,而维护超市管理系统的是系统管理员,因此他是系统的管理者。
虽然系统管理员也是一名普通的超市员工,但是这并不影响奔系统的功能,可以据此设计出优秀的超市管理体统。
通过上述的分析,运用面向对象的方法对此超市管理系统的需求进行仔细的分析,可以得出此超市管理系统的实现主要依靠以下10个用例来完成
1)超市管理系统登陆用例(login)
2)系统管理员维护系统用例(maintainSystem)
3)客户购买产品用例(buy-good)
4)超市员工处理客户订单用例(paper)
5)客户填写订单用例(weite)
6)产品信息管理用例(maingood)
7)货物查询用例(qury0
8)货物展示用例(usher)
9)统计合同订单用例(paper)
10)客户信息整理汇总用例(customerinfo)
由上可知,超市管理系统主要有以上10个用例完成,但每个不同的用例又可以有多个不同的子用例来构成。
整个系统界面的实现采用JAVA中的application来完成,其他一些分支功能界面的设计也采用JAVA中的application来完成,在具体的接卖弄布局和买花中我们采用JAVA中的frame技术来实现。
5数据库需求分析
数据库需求分析是系统开发周期中的一个重要阶段,也是工作量比较大的一项活动,其质量对系统的影响很大。
因此要慎重处理。
在开发超市管理系统时,可以用E-R图来分析,然后对表格字段进行分析,从而对奔系统此阿勇的数据库有一个清晰的了解。
1)对于实体Good,主要用来统计超市产品的详细信息,包括产品的ID号,数量和价格等详细信息。
对应的实体属性
2)实体Customer来讲,主要用来统计超市顾客的详细信息,包括顾客的电话,姓名,购买的商品的ID号和订单号等详细信息。
对于实体Ware,主要用来统计超市仓库信息,包括仓库的名称,ID和存放的产品ID号等详细信息
对于实体Worker来讲,主要用来实现超市相应超市人员的详细信息,包括超市人员的姓名,超市的订单的ID,超市商品的ID和员工的ID等详细信息
N:
11:
1
N:
11:
1
1:
N1:
1
6数据表设计
1)产品信息表
表Good主要用来统计超市商品详细信息,包括商品的ID号,名称,数量和价格等详细信息。
名称
数据类型
大小
默认值
可否为空
主键
ID号
自动长整型
8
无
否
是
名称
字符
15
无
是
数量
自动长整型
5
是
价格
整型
5
是
2)顾客属性表
表Customer主要用来统计超市guke的详细信息,包括顾客的电话,姓名,购买的商品ID号和订单等详细信息
字段名称
数据类型
大小
默认值
可否为空
主键
电话
自动长整型
8
无
是
否
姓名
字符
15
无
是
否
3)仓库属性表
表Ware主要用来统计超市仓库信息,包括仓库的名称,ID号,存放的商品的ID号等详细信息
字段名称
数据类型
大小
默认值
可否为空
主键
名称
字符
15
无
是
否
ID号
自动长整型
8
无
否
是
产品ID
自动长整型
8
无
是
否
4)小订单属性表
表LittlePaper主要用来统计超市顾客的小型订单系统,包括订单的ID号,购买的商品的ID,购买的数量和总计的金额等一些信息
字段名称
数据类型
大小
默认值
可否为空
主键
订单ID号
自动长整型
8
无
否
是
数量
字符
15
无
是
否
产品ID号
自动长整型
8
无
是
否
总计金额
整型
5
无
是
否
5)合同订单属性表
表Paper主要用来统计超市大客户的合同订单系统,包括订单的ID号,购买的商品的ID号,购买的数量合总计金额等一些信息
字段名称
数据类型
大小
默认值
可否为空
主键
订单ID号
自动长整型
8
无
否
是
数量
字符
15
无
否
否
产品ID号
自动长整型
8
无
是
否
总计金额
整型
15
无
是
否
6)超市员工信息表
表Worke主要用来统计超市相应超市人员的详细信息,包括超市人员的姓名,订单的ID号,商品的ID号和员工ID号等详细信息
字段名称
数据类型
大小
默认值
可否为空
主键
姓名
字符
15
无
是
是
订单ID号
自动长整型
8
无
否
否
产品ID号
自动长整型
8
无
是
是
员工ID号
自动长整型
8
无
否
否
7)功能块的实现
1)登陆界面的实现
packageuml_gaokai;
importjava.awt.*;
importjavax.swing.*;
importcom.borland.jbcl.layout.*;
importjava.awt.event.*;
importcom.borland.dx.sql.dataset.*;
importjava.sql.*;
importjavax.swing.border.*;
/**
●
Title:
●
Description:
●
Copyright:
Copyright©2003
●
Company:
●@authorunascribed
●@version1.0
*/
publicclassLogincsextendsJDialogimplementsActionListener{
privateJPanelpanel1=newJPanel();
privateBorderLayoutborderLayout1=newBorderLayout();
privateJPaneljPanel1=newJPanel();
privateXYLayoutxYLayout1=newXYLayout();
privateJLabeljLabel1=newJLabel();
privateJLabeljLabel2=newJLabel();
privateJTextFieldjTextField1=newJTextField();
privateJButtonjButton1=newJButton();
privateJButtonjButton2=newJButton();
privateJPasswordFieldjPasswordField1=newJPasswordField();
privateDatabasedatabase1=newDatabase();
privateQueryDataSetqueryDataSet1=newQueryDataSet();
privateJLabeljLabel3=newJLabel();
privateJLabeljLabel4=newJLabel();
privateJLabeljLabel5=newJLabel();
privateTitledBordertitledBorder1;
privateTitledBordertitledBorder2;
privateJLabeljLabel6=newJLabel();
publicLogincs(Frameframe,Stringtitle,booleanmodal){
super(frame,title,modal);
try{
jbInit();
pack();
}
catch(Exceptionex){
ex.printStackTrace();
}
}
publicLogincs(){
this(null,“”,false);
}
privatevoidjbInit()throwsException{
titledBorder1=newTitledBorder(“”);
titledBorder2=newTitledBorder(“”);
panel1.setLayout(borderLayout1);
jPanel1.setLayout(xYLayout1);
jLabel1.setForeground(Color.blue);//标签控件的字体颜色
jLabel1.setText(“用户名”);//标签标题
jLabel2.setForeground(Color.blue);
jLabel2.setText(“密码”);
jButton1.setForeground(UIManager.getColor(“List.selectionBackground”));//按钮控件字体颜色
jButton1.setBorder(BorderFactory.createRaisedBevelBorder());//按钮外观
jButton1.setText(“登录”);//按钮标题
jButton1.addActionListener(this);//加入按钮事件
jButton2.setForeground(UIManager.getColor(“Menu.selectionBackground”));
jButton2.setBorder(BorderFactory.createRaisedBevelBorder());
jButton2.setToolTipText(“”);
jButton2.setText(“取消”);
jButton2.addActionListener(this);
jPanel1.setBorder(BorderFactory.createEtchedBorder());
jPanel1.setMinimumSize(newDimension(600,600));//设置面板大小
jPanel1.setPreferredSize(newDimension(400,300));
jPasswordField1.setBorder(titledBorder1);
jPasswordField1.setToolTipText(“”);
database1.setConnection(newcom.borland.dx.sql.dataset.ConnectionDescriptor(“jdbc:
odbc:
gaokaiSQL”,“sa”,“”,false,“sun.jdbc.odbc.JdbcOdbcDriver”));
queryDataSet1.setQuery(newcom.borland.dx.sql.dataset.QueryDescriptor(database1,“SELECT[user].userName,[user].userPassword,[user].userAuthority\n”+
“FROM[UML_CS].[dbo].[user]”,null,true,Load.ALL));
this.setResizable(false);
this.setTitle(“Login”);
jLabel3.setBackground(Color.white);//标签背景颜色
jLabel3.setForeground(Color.green);
jLabel3.setBorder(BorderFactory.createEtchedBorder());
jLabel3.setText(“小型超市管理系统”);
jLabel4.setBorder(BorderFactory.createEtchedBorder());
jLabel4.setText(“—制作人:
高凯”);
jLabel5.setBorder(BorderFactory.createEtchedBorder());
jLabel5.setToolTipText(“”);
jLabel5.setText(“—版本号:
1.1”);
jTextField1.setBorder(titledBorder2);
jLabel6.setBorder(BorderFactory.createEtchedBorder());
getContentPane().add(panel1);
panel1.add(jPanel1,BorderLayout.WEST);
jPanel1.add(jLabel3,newXYConstraints(-1,0,395,30));
jPanel1.add(jLabel5,newXYConstraints(274,30,121,32));
jPanel1.add(jLabel4,newXYConstraints(127,32,143,30));
jPanel1.add(jPasswordField1,newXYConstraints(143,196,132,24));
jPanel1.add(jTextField1,newXYConstraints(143,136,132,24));
jPanel1.add(jLabel2,newXYConstraints(23,195,60,25));
jPanel1.add(jLabel1,newXYConstraints(23,134,60,25));
jPanel1.add(jLabel6,newXYConstraints(-2,65,396,191));
jPanel1.add(jButton1,newXYConstraints(90,274,68,28));
jPanel1.add(jButton2,newXYConstraints(193,275,69,28));
}
publicvoidactionPerformed(ActionEvente){
//theuserlogin
if(e.getSource()==jButton1)//得到界面单击事件
{
try{
StringuserAuthority=null;
StringuserName=null;
StringuserPassword=null;
StringtestName=jTextField1.getText().toString();//从jTextField1中得到用户名
StringtestPassword=String.valueOf(jPasswordField1.getPassword());//从jPassword中得到用户密码
Statementsql=database1.createStatement();//打开Statement对象
ResultSetrs=sql.executeQuery(“SELECTuserName,userPassword,userAuthorityFROM[UML_CS].[dbo].[user]WHEREuserName=‘”+testName+”’”);
//执行SQL语句,从数据库当中选择用户名,密码,和权限。
while(rs.next())//
{
userName=rs.getString(“userName”);//从数据库当中得到用户名
userPassword=rs.getString(“userPassword”);//从数据库当中得到密码
userAuthority=rs.getString(“userAuthority”);//从数据库当中得到权限
}
verifyUser(userName,userPassword,testPassword,userAuthority);//调用verifyUser方法
cancel();//退出
}
catch(SQLExceptionex){ex.printStackTrace();}
}
//exittheSystem
elseif(e.getSource()==jButton2){
cancel();
}
}
voidcancel()
{
dispose();
}
//验证用户名以及密码
voidverifyUser(StringuserName,StringuserPassword,StringtestPassword,StringuserAuthority)
{
if(userName==null)//判断用户名是否为空
{
JOptionPane.showMessageDialog(null,”用户名不存在,请先注册”,”verifyuser”,JOptionPane.DEFAULT_OPTION);
//抛出对话框
}
else
{
if(userPassword.equals(testPassword)==false)//判断密码是否相等
{
JOptionPane.showMessageDialog(null,”您输入的密码不正确,请重试”,”verifypassword”,JOptionPane.DEFAULT_OPTION);
//抛出对话框
}
else{
JOptionPane.showMessageDialog(null,”success”,””,JOptionPane.DEFAULT_OPTION);
//
verifyUserAuthority(userAuthority);//进行权限判断
}
}
}
//验证用户权限
voidverifyUserAuthority(StringuserAuthority){
if(userAuthority.equals(“admin”))//如果用户为admin,则弹出管理员界面
{
AdminWindowadminWindow=newAdminWindow();
//设置对话框
DimensiondlgSize=adminWindow.getPreferredSize();
DimensionfrmSize=getSize();
Pointloc=getLocation();
adminWindow.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);
adminWindow.setModal(true);
adminWindow.pack();
adminWindow.show();
}
elseif(userAuthority.equals(“customer”)){
CustomerWindowcustomerWindow=newCustomerWindow();
DimensiondlgSize=customerWindow.getPreferredSize();
DimensionfrmSize=getSize();
Pointloc=getLocation();
customerWindow.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);
customerWindow.setModal(true);
customerWindow.pack();
customerWindow.show();
}
elseif(userAuthority.equals(“buyer”)){
BuyerWindowbuyerWindow=newBuyerWindow();
DimensiondlgSize=buyerWindow.getPreferredSize();
DimensionfrmSize=getSize();
Pointloc=getLocation();
buyerWindow.setLocation((frmSize.width-dlgSize.width)/2+loc.x,(frmSize.height-dlgSize.height)/2+loc.y);
buyerWindow.setModal(true);
buyerWindow.pack();
buyerWindow.show();
}
elseif(userAuthority.equals(“saler”)){
SalesWindowsalesWindow=newSalesWindow();
DimensiondlgSize=salesWindow.getPreferredSize();
DimensionfrmSize=getSize();
Pointloc=getLocation();
salesWindow.setLoca
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 管理 系统