收藏 分销(赏)

超市标准管理系统.doc

上传人:天**** 文档编号:2998997 上传时间:2024-06-12 格式:DOC 页数:69 大小:1.73MB
下载 相关 举报
超市标准管理系统.doc_第1页
第1页 / 共69页
超市标准管理系统.doc_第2页
第2页 / 共69页
超市标准管理系统.doc_第3页
第3页 / 共69页
超市标准管理系统.doc_第4页
第4页 / 共69页
超市标准管理系统.doc_第5页
第5页 / 共69页
点击查看更多>>
资源描述

1、软件工程课程设计报告( - 年度第 一 学期)课程名称: 软件工程课程设计 题 目: 小型超市管理系统 院 系:计算机与信息技术学院班 级: 软件工程 组 号: 组 长: 洛佳琪 组 员:刘雅、刘一清、王雪瑶指引教师: 杨陟卓 设计周数: 4周 小构成绩: 日期: 年 8月26日软件工程课程设计任务书一、目、规定通过软件开发实践训练,进一步掌握软件工程办法和技术,提高软件开发实际能力,培养工程设计能力和综合分析、解决问题能力。详细如下:l 学习和实践在分析和设计计算机应用系统所需要知识,涉及面向对象系统分析与设计,编码和测试方面知识;l 熟悉自动化软件开发工具Rational Rose 等,并

2、将其运用于软件开发全过程;l 进一步加强和提高软件工程文档编写能力;l 培养协作能力和团队精神。二、任务分派任务负责人参加人备注需求分析洛佳琪洛佳琪总体设计刘一清洛佳琪,刘雅,刘一清详细设计刘雅洛佳琪,刘雅系统实现与测试王雪瑶洛佳琪,王雪瑶三、设计成果规定l 建立系统分析与设计模型;l 初步建立系统原型,实现核心功能;l 编写课程设计报告。指引教师:杨陟卓 日 期: 年 8 月 26 日软件工程课程设计成绩评估一、指引教师评语二、成绩学号姓名成绩备注洛佳琪刘雅刘一清王雪瑶 指引教师: 杨陟卓 日 期: 年 8 月 26 日摘要:本系统实现一种超市管理系统基本功能,涉及营业员进行商品录入和收银业

3、务;超市经理对商品销售进行控制,管理进货事项和商品库存;管理员对员工信息进行增、删、改、查,管理员工操作权限,管理客户销售权限;顾客可以在销售系统里查询商品信息和会员积分。系统运用Java平台技术进行开发,实现超市管理系统动态管理,使得对信息管理更加及时、高效,提高了效率。同步还对系统开发原理、功能特点和设计方案进行了简介。核心词:超市管理 数据库 管理 Java1 课程设计目与规定通过软件开发实践训练,进一步掌握软件工程办法和技术,提高软件开发实际能力,培养工程设计能力和综合分析、解决问题能力。详细如下:(1) 学习和实践在分析和设计计算机应用系统所需要知识,涉及面向对象系统分析与设计,编码

4、和测试方面知识;(2) 熟悉自动化软件开发工具Rational Rose ,并将其运用于软件开发全过程;(3) 进一步加强和提高软件工程文档编写能力;(4) 培养协作能力和团队精神。2 设计正文2.1 概述2. 1.1 课题题目:小型超市管理系统2. 1.2 系统重要目的本系统目的是实现小型超市管理系统所需各种基本功能,涉及营业员商品录入和收银业务;超市经理商品销售控制、管理进货和商品库存;管理员对员工信息进行增、删、改、查,管理员工操作权限,管理客户销售权限;顾客可以在销售系统里查询商品信息和会员积分等功能。2. 1.3 系统开发环境及运营环境:操作系统: Windows XP Pro SP

5、2建模工具: Rational Rose 数据库系统:SQL Server开发工具: Eclipse2.2 系统需求分析小型超市管理系统重要满足来自四方面需求,这四个方面分别是营业员、超市经理、顾客和管理员,也即是四个对象。(1)营业员重要有商品录入和收银业务两某些功能。商品录入:依照超巿业务特点制定有关功能,可以通过输入唯一编号、扫描条形码、商品名称等来实现精准或模糊商品扫描录入。该扫描录入办法可以充分保证各种电脑操作水平层次人员均能精确迅速地进行商品扫描录入。收银业务:通过扫描条形码或者直接输入商品名称(对于同类多件商品采用一次录入加数量方式)自动计算本次交易总金额。在顾客付款后,自动计算

6、找零,同步打印交易清单(涉及交易流水账号、每类商品商品名、数量、该类商品总金额、交易时间、负责本次收银员工号)。如果顾客是本店会员并持有本人会员卡,则在交易前先扫描会员卡,并对所购物品所有实行95折优惠,并将所购物品总金额合计到该会员总消费金额中。 会员卡有效期限为一年,满一年未续卡者,该会员卡将被注销。(2)超市经理重要有商品销售控制,进货管理和库存管理三某些功能。销售管理: 商品正常销售、促销与限量、限期及禁止销售控制。 综合查询各种销售明细记录、各地收银员收银记录以及交结账状况等。 按各种方式记录生成销售排行榜,灵活察看和打印商品销售日、月、年报表。进货管理: 依照销售状况及库存状况,自

7、动制定进货筹划(亦可手工制定修改),可以避免盲目进货导致商品积压。 按筹划单有选取性地进行自动入库登记。 综合查询打印筹划进货与入库记录及金额。库存管理: 综合查询库存明细记录。 库存状态自动告警提示。如库存过剩、少货、缺货等。软件为您预警,避免库存商品积压损失和缺货。 库存自动盘点计算。(3)管理员重要有基本信息管理和员工操作权限管理三某些。基本信息管理:对员工、会员信息进行增、删、改、查。员工操作权限管理:普通员工只能登陆系统查看个人信息及签到,别的权限受限制;营业员还可以登陆收银系统。(4)会员重要有会员积分查询。会员积分查询:是会员顾客查询自己积分数并兑换相应礼物。2.1.1 用例图

8、图2-1 小型超市管理系统用例图用例图阐明:(1) 系统外部角色有:会员顾客、营业员顾客、员工顾客、超市经理和管理员。(2)系统重要用例文档描述:收银业务用例:营业员顾客和顾客顾客可见功能,包括了会员业务和结账两个用例功能。 员工操作权限管理用例:管理员顾客和员工顾客可见功能,这个用例进一步分为三个用例:签到权限用例、查询个人信息权限用例和登陆收银系统权限用例。基本信息管理用例:管理员顾客可见功能,实现员工、会员信息管理功能,包括了员工基本信息管理和会员基本信息管理两个用例。商品销售控制用例:超市经理顾客可见功能,实现商品销售控制功能,包括了正常销售控制、促销与限量、限期销售控制、禁止销售控制

9、和查询明细五个用例。进货管理用例:超市经理顾客可见功能,包括了自动制定进货筹划、自动入库登记、查询筹划进货和查询入库记录及金额四个用例。库存管理用例:超市经理顾客可见功能,包括了自动盘点计算、查询库存明细、库存状态自动报警三个用例。(3)系统用例之间关系:收银业务用例与会员业务、结账两用例之间是包括关系。员工操作权限管理用例与签到权限、查询个人信息权限和登陆收银系统权限三用例之间是包括关系。基本信息管理用例与员工基本信息管理、会员基本信息管理两个用例之间是包括关系。商品销售控制用例与正常销售控制、促销与限量、限期销售控制、禁止销售控制和查询明细五个用例之间是包括关系。进货管理用例与自动制定进货

10、筹划、自动入库登记、查询筹划进货和查询入库记录及金额四个用例之间是包括关系。库存管理用例与自动盘点计算、查询库存明细、库存状态自动报警三个用例之间是包括关系。(4) 系统核心用例正常事件流图和异常事件流图 表2-1 结账用例正常事件流图和异常事件流图用例名称结账参加者营业员、顾客描述营业员、顾客结账启动点击“结账”按钮前置条件商品录入完毕主事件流顾客系统1.系统自动计算出商品价格2.顾客付款3.系统将价款和货款比对后找零4.系统将实际收到价款打入超市账户中异常流异常流货款无法进入超市账户系统货款无法成功转入超市账户,系统给出提示,规定重新进行转入或规定管理员维修系统异常网络连接超时或系统功能损

11、坏 表2-2 进货管理用例正常事件流图和异常事件流图用例名称进货管理用例参加者超市经理顾客描述超市经理管理进货事项启动进入进货管理界面前置条件顾客成功登录后置条件如果该用例成功,数据库中将增长商品信息。否则,系统维持现状主事件流顾客系统1.顾客进入界面,登陆成功2.依照销售状况单及库存状况单,自动制定进货筹划3.按筹划有选取性地进行自动入库登记4.系统综合查询打印筹划进货与入库记录及金额异常流异常流制定进货筹划失败系统销售状况单及库存状况单错误,系统给出错误提示,并规定进行修改后重新给出 2.2.2 类图图2-2 小型超市管理系统类图类图阐明:(1)BaseUser类是一种系统角色顾客基类,重

12、要办法有两个:modifyPWD() 用于修改顾客密码;loginCheck() 用于顾客登录验证。(2)Admin类继承自BaseUser类。(3)Staff类继承自BaseUser类,重要办法有:STAdd() 用于添加员工;STDel() 用于删除员工;STUpdate() 用于更新员工信息;STSel() 用于查询员工信息。(4)manager类继承自BaseUser类,重要办法有:MAAdd() 用于添加经理;MADel() 用于删除经理;MAUpdate() 用于更新经理信息;MASel() 用于查询经理信息。(5)VIP Member类继承自BaseUser类,重要办法有:VIP

13、Add() 用于添加经理;VIPDel() 用于删除经理;VIPUpdate() 用于更新经理信息;VIPSel() 用于查询经理信息。(6)Good类是一种商品类,重要办法有:GOAdd() 用于增长商品;GODel() 用于删除商品。(7) Sell类是一种销售类,重要办法有:GODel() 用于删除商品。 (8)Replenish类是一种进货类,重要办法有: GOAdd() 用于增长商品。 (9)Stock类是一种库存类,重要办法有: StockAdd()用于增长库存量; StockDel()用于减少库存量; StockSel()用于查询库存量; StockUpdate()用于更新库存量

14、。 2.2.3 时序图 (1) 营业员管理睬员时序图 图2-3 营业员管理睬员时序图(2)超市经理管理员工时序图 图2-4 超市经理管理员工时序图2.2.3 协作图 (1) 营业员管理睬员协作图 图2-5 营业员管理睬员协作图(2)超市经理管理员工协作图 图2-6 超市经理管理员工协作图2.3 系统总体设计2.3.1 设计问题域子系统本系统目的是实现小型超市管理系统所需各种基本功能,分为前台和后台,共有五大模块,分别为:营业员模块,顾客模块,超市经理模块,管理员模块和公有模块。这五个模块包括了营业员进行商品录入和收银业务;超市经理对商品销售进行控制,管理进货事项和商品库存;管理员对员工信息进行

15、增、删、改、查,管理员工操作权限,管理客户销售权限;顾客可以在销售系统里查询商品信息和会员积分等基本功能。(1) 总体设计图小型超市管理系统总体设计图(2)各模块功能功能模块包括子功能模块功能管理员模块客户管理子模块删除,添加,更改顾客及顾客信息员工管理子模块删除,添加,更改员工及员工信息超市经理模块商品价格更改,管理进货事项和商品库存营业员模块商品录入和收银业务会员模块查询会员积分,管理个人信息公共模块登陆界面,公司简介及超市活动信息2.3.2 设计数据管理子系统(1)数据库表序号数据库表数据表存储内容1staff存储员工信息2member存储会员信息3commodity存储商品信息4sup

16、plier存储供应商信息5storage存储仓库信息6manufacturer存储厂商信息7product存储生产信息8supply存储供应信息9procure存储采购信息10store存储存储信息11purchase存储购买信息(2) 数据表之间关系 数据表之间关系图(3) 数据库表构造 1)员工表Staff详细数据字段:Staff员工信息表序号字段名字段类型阐明备注1sta.noChar员工编号核心字2sta.nameChar员工姓名3sta.sexChar员工性别4sta.addChar员工住址5sta.telChar员工电话6sta.wagChar员工工资7sta.IDChar员工身份

17、证号 2)会员表member详细数据字段:Member会员信息表序号字段名字段类型阐明备注1mem.noChar会员卡号核心字2mem.nameChar会员姓名3mem.sexChar会员性别4mem.IDChar会员身份证号5mem.addDate会员地址6mem.telDate会员电话 3)商品表commodity详细数据字段 commodity 商品员信息表序号字段名字段类型阐明备注1com.noChar商品编号核心字2com.nameChar商品名称3com.numChar商品单位4com.priChar商品价格com.typeChar商品种类 4)供应商supplier详细数据字段s

18、upplier供应商信息表序号字段名字段类型阐明备注1sup.noChar供应商编号核心字2sup.nameChar供应商名称3sup.telChar供应商电话4sup.addChar供应商地址5sup.posChar供应商邮编6sup.manChar供应商联系人 5)仓库storage详细数据字段Storage仓库信息表序号字段名字段类型阐明备注1sto.noChar仓库编号核心字2sto.areaChar仓库面积3sto.typeChar仓库类别4sto.addChar仓库地址 6)厂商manufacturer详细字段manufacturer厂商信息表序号字段名字段类型阐明备注1man.n

19、oChar厂商编号核心字2man.nameChar厂商名称3man.telChar厂商电话4man.posChar厂商邮编5man.addChar厂商地址6man.manChar厂商联系人 2.3.3 设计人机交互子系统(1)顾客分类本系统顾客可分为四类:1)管理员顾客;2)会员顾客;3)员工顾客;4)超市经理顾客。(2)顾客描述1)管理员顾客描述:管理员顾客在整个小型超市管理系统中起到管理和维护作用,对会员和员工信息进行管理和维护等职责。2)会员顾客描述:会员顾客在本系统中具备管理自己信息权限,查看自己积分状况及超市会员优惠权限。3)员工顾客描述:员工在本系统中具备修改自己信息,查看商品价格

20、及库存状况权限。 4)超市经理顾客描述: 超市经理有商品销售控制,进货管理和库存管理权限,她可以管理库 存,控制进货,更改商品价格等。(3)设计命令层次1)系统人机交互子系统内容和准则:本小型超市管理系统人机交互子系统在依照不同顾客身份登陆到不同页面,然后按照不同顾客只能进行顾客权限内操作,其构造图如下:2)通过采用树形构造,细化命令组织方式,如下:2.4 详细设计小型超市管理系统是实现管理员管理员工与会员基本信息、员工登陆系统以及超市经理管理进货、库存、商品销售一种平台,整个学生选课系统共分为5个大模块:管理员模块,会员模块,员工模块,超市经理模块和公有模块,其中复杂办法和模块详细设计流程图

21、如下。 (1) 系统顾客登录流程图 图4-1 系统顾客登录流程图(2)营业员收银业务流程图 图4-2 营业员收银业务流程图(3)管理员添加员工流程图 图4-3管理员添加员工流程图(4)超市经理控制限量销售流程图 图4-4 超市经理控制限量销售流程图(5)超市经理管理进货流程图 图4-5 超市经理管理进货流程图(6)超市经理管理库存流程图 图4-6 超市经理管理库存流程图2.5 系统实现本系统采用了三层架构来实现,即分为顾客界面层(UI)、业务逻辑层(BLL)和数据访问层(DAL),顾客界面层是展示给顾客界面,以便顾客与系统进行交互;业务逻辑层是对系统业务实体封装,完毕系统业务功能;数据访问层直

22、接与数据库打交道,为业务逻辑层提供底层数据库操作。 登录功能实现登录界面是使用者在使用此软件时需要输入自已账号和密码,从而使用自已权限来管理超市运营。小超市登录界面如4-1所示。 图4-1 小超市管理系统登录界面模块核心代码:public class Login extends Frame implements ActionListener,WindowListener /登陆界面 public int screanWidth,screanHeight; String idin=null; String keyin=null; String passwordD=null; public sta

23、tic String persontyD=null; MenuBar menubar; Menu menu; MenuItem quet,help; Label id,key; TextField idtf,keytf; Box boxV1,boxV2,boxV3,baseBox,boxx; Button enterB; Login() setTitle(超市管理系统登陆界面); Toolkit tool=getToolkit(); Dimension dim=tool.getScreenSize(); screanWidth=dim.width; screanHeight=dim.heigh

24、t; setBounds(dim.width/3,dim.height/3,320,215); menubar=new MenuBar(); menu=new Menu(功能); help=new MenuItem(协助); quet=new MenuItem(退出); quet.setShortcut(new MenuShortcut(KeyEvent.VK_E); quet.addActionListener(new ActionListener() /匿名类实例控制public void actionPerformed(ActionEvent p)System.exit(0); ); m

25、enu.add(help); menu.add(quet); menubar.add(menu); setMenuBar(menubar); id=new Label(请输入帐号:,Label.RIGHT); key=new Label(请输入密码:,Label.RIGHT); idtf=new TextField(10); keytf=new TextField(10); keytf.setEchoChar(*); enterB=new Button(登陆); boxV1=Box.createVerticalBox(); boxV1.add(Box.createVerticalStrut(3

26、5); boxV1.add(id); boxV1.add(Box.createVerticalStrut(15); boxV1.add(key); boxV1.add(Box.createVerticalStrut(15); boxV2=Box.createVerticalBox(); boxV2.add(Box.createVerticalStrut(35); boxV2.add(idtf); boxV2.add(Box.createVerticalStrut(15); boxV2.add(keytf); boxV2.add(Box.createVerticalStrut(15); base

27、Box=Box.createHorizontalBox(); baseBox.add(Box.createHorizontalStrut(25); baseBox.add(boxV1); baseBox.add(Box.createHorizontalStrut(5); baseBox.add(boxV2); baseBox.add(Box.createHorizontalStrut(70); boxV3=Box.createHorizontalBox(); boxV3.add(Box.createHorizontalStrut(125); boxV3.add(enterB); boxV3.a

28、dd(Box.createHorizontalStrut(125); boxx=Box.createVerticalBox(); boxx.add(baseBox); boxx.add(Box.createVerticalStrut(15); boxx.add(boxV3); boxx.add(Box.createVerticalStrut(70); add(boxx); enterB.addActionListener(this); addWindowListener(this); setResizable(false); setVisible(true);public void actio

29、nPerformed(ActionEvent e)Connection con;Statement sql;ResultSet rs;if (e.getSource()=enterB)idin=idtf.getText();keyin=keytf.getText(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException f) System.out.println(+f); trycon=DriverManager.getConnection(jdbc:odbc:q,);sql=con.cr

30、eateStatement();rs=sql.executeQuery(SELECT * FROM password where ID=+idin+);while(rs.next()passwordD=rs.getString(2);persontyD=rs.getString(3);con.close();catch (SQLException g)System.out.println(g); if (keyin.equals(passwordD) View2 frame=new View2(); this.setVisible(false); else JOptionPane.showMe

31、ssageDialog(this, 帐户或密码错误n 请重新输入,提示,JOptionPane.WARNING_MESSAGE);public void windowActivated(WindowEvent o)validate();public void windowDeactivated(WindowEvent o)setBounds(screanWidth/3,screanHeight/3,320,215);validate();public void windowClosing(WindowEvent o)dispose();public void windowClosed(Wind

32、owEvent o)System.exit(0);public void windowIconified(WindowEvent o)public void windowDeiconified(WindowEvent o)setBounds(screanWidth/3,screanHeight/3,320,215); validate();public void windowOpened(WindowEvent o)4.2 销售界面功能简介该功能是此系统最核心模块,是消费者直接使用功能。消费者可以依照已看到商,在搜索栏中打入商品编号,进行查询商品信息,然后可以依椐自已需要购买。最后单击提交,购

33、买商品就记录到系统数据库中。销售主界面如图4-2所示:图 4-2 销售主界面4.2.1 搜索商品信息 消费者可依照自已所需要商品编号,在销售功能中搜索,查看商品信息无误后,拟定与否购买。如搜索001号商品,查看它信息,如图4-3所示。图4-3 搜索001号商品信息4.2.2 购买商品在拟定自已需要商品后,然后就是购买商品,消费者可以按“购买”键进行购买物品,购买一份就单击一次“购买”键,购买物品信息显示在购物信息框中,最后单击“提交”,消费者所购买物品就作为一种账单号存储在数据库中。如购买004、005、006、008、010和011号商品时,购买信息如图4-4下: 图4-4 购买信息当购买人

34、不想购买这些商品时,可以点击窗口左下角清除按钮,来清除刚才购买商品,数据库中也不会有此记录。此外,本系统是每购买一件商品向数据库提交一次记录,当未点击提交按钮之前,若要结束此窗口进程,咱们在代码中嵌入了一段删除当前帐单数据库记录代码,以达到没有误提交操作。4.2.3 模块核心代码 销售界面实现public class View2 extends JFrame implements ActionListener /销售界面String num=null,name=null,time=null,add=null,t1=null,t2=null,t3=null;int price=0;int n1,

35、n2,ap,n3; private JPanel sM=new JPanel();/supermarket面板private JButton pS=new JButton(销售界面),new JButton(销售管理), new JButton(商品管理),new JButton(权限管理);/personty 按钮 private JTextArea goodsShow=new JTextArea(),searchShow=new JTextArea(); /文本区 private JScrollPane jsp=new JScrollPane(goodsShow); /滚动区域 设定内容为

36、 商品显示文本区private JTextField numSearch=new JTextField(),showGoods=new JTextField(); /商品查询/显示商品 private JButton searchGoods=new JButton(搜索),buyGoods=new JButton(购买), clean=new JButton(清空),ok=new JButton(提交),print=new JButton(打印并提交); /查询按钮private JLabel goodsInformation=new JLabel(商品编码,JLabel.CENTER),ne

37、w JLabel(商品名称,JLabel.CENTER), new JLabel(商品价格,JLabel.CENTER),new JLabel(生产日期,JLabel.CENTER),new JLabel(生产地,JLabel.CENTER) ;private JLabel goodsI=new JLabel(商品编码,JLabel.CENTER),new JLabel(商品名称,JLabel.CENTER), new JLabel(商品价格,JLabel.CENTER),new JLabel(生产日期,JLabel.CENTER),new JLabel(生产地,JLabel.CENTER)

38、; private JLabel allPrice=new JLabel(商品总价:n ,JLabel.LEFT),label1=new JLabel(商品信息 ,JLabel.RIGHT),label2=new JLabel(购物信息 ,JLabel.RIGHT); public View2()sM.setLayout(null);for(int i=0;i4;i+)pSi.setBounds(550+i*110,50,100,22);sM.add(pSi);pSi.addActionListener(this); jsp.setBounds(100,180,800,500); goodsShow.setLineWrap(true) numSearch.setBounds(100,50,150,22); searchGoods.setBounds(260,50,60,22); searchGoods.addActionListener(this); buyGoods.setBounds(330,50,60,22); buyGoods.addActionListener(this); showGoods.setBounds(100,120,800,22); for (int b=0;b5 ;b+ ) goodsInformation

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服