欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOC文档下载  

    销售管理系统案例.doc

    • 资源ID:8602       资源大小:2.05MB        全文页数:25页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    销售管理系统案例.doc

    -销售管理系统案例分析引言 随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对书数据库的进一步开发和利用显得尤为迫切。作为国市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。如何将计算机技术与超市管理有机地结合起来,把计算机技术应用于超市管理,更高效地对超市的各种商品信息进行归类、划分、合理地组织,从而减少人们的劳动强度是很有必要的。本系统针对中小型超市管理特点和技术人员的实际水平,采用Windows易学易用的图形用户界面操作系统,用面向对象的Java语言开发技术和数据库技术,开发出贴近用户实际需求的系统。本系统抛弃了大型财务软件功能泛泛不实用的缺点,既简洁又能满足用户需求,既可以解决在销售过程中出现的问题,也能够用于对商品采购的需求。在减少工作量的基础上,提高超市管理者对企业的整体管理能力。一. 权限管理要求有主管和销售员两个角色。主管拥有管理雇佣的销售员、发放工资。也可以对商品进行添加 、定价、制定折扣等权限。 销售人员拥有管理订单、管理销售记录、处理退单、和开发票的权限。二.开发语言java、开发平台eclipse。三.功能需求  3.1综合功能需求 分析1、主管的基本信息: 主管做为销售部门的最高值为人员,他可以管理他所雇用的人员。可以实现添加、删除、修改等功能。   2、销售人员工作的基本信息: 销售人员的基本工作就是将客户发来的订单进行记录,填写相关信息,并更新到数据库中,处理客户的退单以及开发销售票据等。  3、主管处理产品的基本信息: 主管可以通过本系统,实现对产品进行制定售价,制定折扣围,分配佣金提成以及查询产品信息等。   4、主管对销售人员管理的基本信息: 主管可以通过本系统,实现对销售人员的销售业绩进行查询,并对其分配佣金提成。  5、销售记录的基本信息: 该系统的用户可以在该系统中所提供的产品销售信息的查询功能,。如果是市场分析人员需要数据时,就可以从这里得到。他们还可以根据销售记录来为员工制定工资还会涉及到奖金,罚款等多项,最终获得自己的目前工资。   6、信息查询的基本情况: 主管和销售人员都具备对信息的查询共能。主管与销售人员之间的查询信息的差别在于,销售人员不能查询所有销售人员的信息,只能查询自己的个人信息。  7、信息管理的基本情况: 在本系统中,只有管理员具备对系统中涉及到得信息(除登录用户的信息和其他管理员的信息以外的信息)进行修改功能。比如,销售员查询订单信息时,发现订单信息录入有误。他本身不具备修改数据库中的信息的功能,则需上报管路员,经管理员核实再进行对数据库中的订单信息进行修改。 3.2用户对系统的要求 1、销售员A、信息要求:   销售员能查询到相关信息,包括个人的信息、客户的基本信息、产品的基本信息、产品种类信息、订单的基本信息、销售信息。比如查询自己开的订单的信息,对于仓库中的商品的剩余量进行查询以及查询自己的信息 等等。 B、处理要求:    对于销售员,可以实现开订单并将订单信息更新到数据库中。并且对订单等信息进行查询,如发现信息错误等情况,销售员无法实现修改,需要上报主管,主管进行核实,并修改。安全性与完整性要求。 C、安全性要求:   1、系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;   2、系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和容;   3、系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(销售人员),主管。 D、完整性要求:   各种信息记录的完整性,信息记录容不能为空;   各种数据间相互的联系的正确性;   相同的数据在不同记录中的一致性。2、主管: A、信息要求:   管理员所能查询的相关信息,包括个人的信息、客户的基本信息、产品的基本信息、产品种类信息、订单的基本信息、销售信息、销售人员的信息。 B、处理要求:   管理员可以实现查询信息的同时也可以对所能查询的信息的进行相关操作,如对信息的修改、删除、更新、添加等功能。 C、安全性要求:   1、系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;   2、系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和容;   3、系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(销售员),管理员。四.系统功能的设计与划分 根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分: 4.1销售人员管理部分 1、销售订单     2、销售记录  3、退单处理    4 、开发票据 4.2主管管理部分   1、制定售价  2、制定折扣围   3、分配佣金、提成     4 、查询各类信息 5 、对销售人员进行管理五.非功能性需求分析1.实用、易用原则。做到操作简单,维护方便。2.稳定性、安全性原则:系统要保证了系统的稳定性。同时针对不同的人员实现不同的管理权限,具有安全防措施,从硬件、软件以及销售信息等方面严格管理,杜绝非法入侵,以保证系统能够长期稳定的不间断运行。六.功能结构图超市销售管理系统前台零售管理子系统后台销售管理子系统系统管理前台销售管理会员管理重新登录权限设置修改密码添加用户售后服务管理后台销售管理删除会员查询会员添加会员修改会员信息兑换积分商品录入结账打印小票购物查询 商品录入销售商品汇总删除商品销售商品查询商品信息修改打折促销七.用例图1.最高层用例图超市销售管理系统用例图2第2层用例图对最高层中的每个用例加以展开,得到各个用例的第2层用例图。1) 系统管理用例图系统管理子系统用例图2)前台零售管理子系统用例图前台零售管理系统用例图3)后台销售管理子系统用例图图2-5后台管理系系统用例图3.第3层用例图1)第2层零售前台管理子系统展开得到前台销售管理子系统和会员管理子系统。图2-6 前台销售管理子系统用例图图2-7 会员管理子系统用例图2)第2层后台销售管理子系统展开得到后台销售子系统图2-7 后台销售子系统用例图七.类图类图及其之间关系八.顺序图1. 顾客购买商品顺序图2顾客查询购物情况顺序图3.超市经理查询商品销售情况顺序图4.顾客办理会员顺序图5.添加商品顺序图6.修改商品信息顺序图7.删除商品顺序图九.部分源代码package uml_gaokai;import java.awt.*;import java*.swing.*;import .borland.cl.layout.*;import .borland.d*.sql.dataset.*;import java.awt.event.*;import java.sql.*;public class AddOrderForm e*tends JDialog private JPanel panel1 = new JPanel(); private BorderLayout borderLayout1 = new BorderLayout(); private JPanel jPanel1 = new JPanel(); private *YLayout *YLayout1 = new *YLayout(); private JLabel jLabel1 = new JLabel(); private JTe*tField jTe*tField1 = new JTe*tField(); private JLabel jLabel2 = new JLabel(); private JTe*tField jTe*tField2 = new JTe*tField(); private JLabel jLabel3 = new JLabel(); private JTe*tField jTe*tField3 = new JTe*tField(); private JLabel jLabel4 = new JLabel(); private JTe*tField jTe*tField4 = new JTe*tField(); private JLabel jLabel5 = new JLabel(); private JTe*tField jTe*tField5 = new JTe*tField(); private utton utton1 = new utton(); private utton utton2 = new utton(); private Database database1 = new Database(); public AddOrderForm(Frame frame, String title, boolean modal) super(frame, title, modal); try Init(); pack(); catch(E*ception e*) e*.printStackTrace(); public AddOrderForm() this(null, "", false); private void Init() throws E*ception panel1.setLayout(borderLayout1); jPanel1.setLayout(*YLayout1); jLabel1.setTe*t("商品名称"); jLabel2.setTe*t("订货数量"); jLabel3.setTe*t("订货厂商"); jLabel4.setTe*t("订货日期"); jLabel5.setTe*t("订货状态"); utton1.setTe*t("确定"); utton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) utton1_actionPerformed(e); ); utton2.setTe*t("取消"); utton2.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) utton2_actionPerformed(e); ); database1.setConnection(new .borland.d*.sql.dataset.ConnectionDescriptor("jdbc:odbc:gaokaiSQL", "sa", "", false, "sun.jdbc.odbc.JdbcOdbcDriver"); getContentPane().add(panel1); panel1.add(jPanel1, BorderLayout.NORTH); jPanel1.add(jLabel1, new *YConstraints(11, 24, 81, 20); jPanel1.add(jTe*tField1, new *YConstraints(93, 23, 133, 23); jPanel1.add(jLabel2, new *YConstraints(11, 68, 78, 22); jPanel1.add(jTe*tField2, new *YConstraints(93, 67, 133, 25); jPanel1.add(jLabel3, new *YConstraints(11, 113, 79, 23); jPanel1.add(jTe*tField3, new *YConstraints(93, 113, 132, 24); jPanel1.add(jLabel4, new *YConstraints(11, 155, 66, 24); jPanel1.add(jTe*tField4, new *YConstraints(93, 152, 134, 26); jPanel1.add(jLabel5, new *YConstraints(8, 200, 76, 26); jPanel1.add(jTe*tField5, new *YConstraints(93, 198, 136, 25); jPanel1.add(utton1, new *YConstraints(317, 140, 83, 24); jPanel1.add(utton2, new *YConstraints(316, 191, 84, 24); /增加订货信息 void utton1_actionPerformed(ActionEvent e) try String BuyerGoodsName = jTe*tField1.getTe*t() ; String BuyerGoodsNumber = jTe*tField2.getTe*t() ; String BuyerManufacturer = jTe*tField3.getTe*t() ; String BuyerDate = jTe*tField4.getTe*t() ; String BuyerStatus = jTe*tField5.getTe*t() ; Statement sql = database1.createStatement() ; sql.e*ecuteUpdate("INSERT INTO UML_CS.dbo.Buyer_TABLE(BuyerGoodsName,BuyerGoodsNumber,BuyerManufacturer,BuyerDate,BuyerStatus) VALUES ('"+BuyerGoodsName+"','"+BuyerGoodsNumber+"','"+BuyerManufacturer+"','"+BuyerDate+"','"+BuyerStatus+"')") ; dispose() ; catch(SQLE*ception ) .printStackTrace(); void utton2_actionPerformed(ActionEvent e) dispose() ; 2. QueryOrderForm.javapackage uml_gaokai;/download by import java.awt.*;import java*.swing.*;import .borland.cl.layout.*;import java.awt.event.*;public class QueryOrderForm e*tends JDialog private int testQuery =0 ; private JPanel jPanel1 = new JPanel(); private *YLayout *YLayout1 = new *YLayout(); private JLabel jLabel1 = new JLabel(); private JLabel jLabel2 = new JLabel(); private JLabel jLabel3 = new JLabel(); private JLabel jLabel4 = new JLabel(); private JTe*tField jTe*tField1 = new JTe*tField(); private JTe*tField jTe*tField2 = new JTe*tField(); private JTe*tField jTe*tField3 = new JTe*tField(); private JTe*tField jTe*tField4 = new JTe*tField(); private utton utton1 = new utton(); private utton utton2 = new utton(); private utton utton3 = new utton(); private utton utton4 = new utton(); private utton utton5 = new utton(); public QueryOrderForm(Frame frame, String title, boolean modal) super(frame, title, modal); try Init(); pack(); catch(E*ception e*) e*.printStackTrace(); public QueryOrderForm() this(null, "", false); private void Init() throws E*ception jPanel1.setLayout(*YLayout1); jLabel1.setTe*t("订货商品名称"); jLabel2.setTe*t("订货厂商"); jLabel3.setTe*t("订货日期"); jLabel4.setTe*t("订货状态"); utton1.setTe*t("查询"); utton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) utton1_actionPerformed(e); ); utton2.setTe*t("查询"); utton2.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) utton2_actionPerformed(e); ); utton3.setTe*t("查询"); utton3.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) utton3_actionPerformed(e); ); utton4.setTe*t("查询"); utton4.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) utton4_actionPerformed(e); ); utton5.setTe*t("退出"); utton5.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) utton5_actionPerformed(e); ); this.getContentPane().add(jPanel1, BorderLayout.CENTER); jPanel1.add(jTe*tField1, new *YConstraints(122, 20, 110, 24); jPanel1.add(jTe*tField4, new *YConstraints(122, 156, 109, 25); jPanel1.add(utton1, new *YConstraints(281, 20, 61, 23); jPanel1.add(utton3, new *YConstraints(282, 112, 60, 21); jPanel1.add(utton4, new *YConstraints(283, 156, 60, 21); jPanel1.add(utton2, new *YConstraints(281, 65, 61, 22); jPanel1.add(jLabel1, new *YConstraints(28, 20, 92, 24); jPanel1.add(jTe*tField2, new *YConstraints(122, 65, 111, 25); jPanel1.add(jLabel3, new *YConstraints(28, 112, 92, 24); jPanel1.add(jTe*tField3, new *YConstraints(122, 112, 111, 25); jPanel1.add(jLabel4, new *YConstraints(28, 156, 96, 24); jPanel1.add(jLabel2, new *YConstraints(28, 65, 95, 26); jPanel1.add(utton5, new *YConstraints(291, 205, 75, 22); public void cancel() dispose() ; void utton1_actionPerformed(ActionEvent e) testQuery = 1 ; cancel() ; /cancel void utton5_actionPerformed(ActionEvent e) cancel() ; void utton2_actionPerformed(ActionEvent e) testQuery = 2 ; cancel() ; void utton3_actionPerformed(ActionEvent e) testQuery = 3 ; cancel() ; void utton4_actionPerformed(ActionEvent e) testQuery = 4 ; cancel() ; public String getBuyerGoodsName() return jTe*tField1.getTe*t( ) ; public String getBuyerManufacturer() return jTe*tField2.getTe*t() ; public String getBuyerDate() return jTe*tField3.getTe*t() ; public String getBuyerStatus() return jTe*tField4.getTe*t() ; public int gettestQuery() return testQuery ; 1. Logincs.javapackage uml_gaokai;import java.awt.*;import java*.swing.*;import .borland.cl.layout.*;import java.awt.event.*;import .borland.d*.sql.dataset.*;import java.sql.*;import java*.swing.border.*;public class Logincs e*tends JDialog implements ActionListener private JPanel panel1 = new JPanel(); private BorderLayout borderLayout1 = new BorderLayout(); private JPanel jPanel1 = new JPanel(); private *YLayout *YLayout1 = new *YLayout(); private JLabel jLabel1 = new JLabel(); private JLabel jLabel2 = new JLabel(); private JTe*tField jTe*tField1 = new JTe*tField(); private utton utton1 = new utton(); private utton utton2 = new utton(); private JPasswordField jPasswordField1 = new JPasswordField(); private Database database1 = new Database(); private QueryDataSet queryDataSet1 = new QueryDataSet(); private JLabel jLabel3 = new JLabel(); private JLabel jLabel4 = new JLabel(); private JLabel jLabel5 = new JLabel(); private TitledBorder titledBorder1; private TitledBorder titledBorder2; private JLabel jLabel6 = new JLabel(); public Logincs(Frame frame, String title, boolean modal) super(frame, title, modal); try Init(); pack(); catch(E*ception e*) e*.printStackTrace(); public Logincs() this(null, "", false); private void Init() throws E*ception titledBorder1 = new TitledBorder(""); titledBorder2 = new TitledBorder(""); panel1.setLayout(borderLayout1); jPanel1.setLayout(*YLayout1); jLabel1.setForeground(Color.blue);/标签控件的字体颜色 jLabel1.setTe*t("用户名"); /标签标题 jLabel2.setForeground(Color.blue); jLabel2.setTe*t("密码"); utton1.setForeground(UIManager.getColor("List.selectionBackground");/按钮控件字体颜色 utton1.setBorder(BorderFactory.createRaisedBevelBorder();/按钮外观 utton1.setTe*t("登录");/按钮标题 utton1.addActionListener(this);/加入按钮事件 utton2.setForeground(UIManager.getColor("Menu.selectionBackground"); utton2.setBorder(BorderFactory.createRaisedBevelBorder(); utton2.setToolTipTe*t(""); utton2.setTe*t("取消"); utton2.addActionListener(this); jPanel1.setBorder(BorderFactory.createEtchedBorder(); jPanel1.setMinimumSize(new Dimension(600, 600);/设置面板大小 jPanel1.setPreferredSize(new Dimension(400, 300); jPasswordField1.setBorder(titledBorder1); jPasswordField1.setToolTipTe*t(""); database1.setConnection(new .borland.d*.sql.dataset.ConnectionDescriptor("jdbc:odbc:gaokaiSQL", "sa", "", false, "sun.jdbc.odbc.JdbcOdbcDriver"); queryDataSet1.setQuery(new .borland.d*.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.setTe*t(" 小型超市管理系统");jLabel4.setBorder(BorderFactory.createEtchedBorder(); jLabel4.setTe*t(" 制作人:高凯"); jLabel5.setBorder(BorderFactory.createEtchedBorder(); jLabel5.setToolTipTe*t(""); jLabel5.setTe*t("版本号: 1.1"); jTe*tField1.setBorder(titledBorder2); jLabel6.setBorder(BorderFactory.createEtchedBorder(); getContentPane().add(panel1); panel1.add(jPanel1, BorderLayout.WEST); jPanel1.add(jLabel3, new *YConstraints(-1, 0, 395, 30); jPanel1.add(jLabel5, new *YConstraints(274, 30, 121, 32); jPanel1.add(jLabel4,

    注意事项

    本文(销售管理系统案例.doc)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开