销售管理系统案例.doc

上传人:夺命阿水 文档编号:8602 上传时间:2022-06-22 格式:DOC 页数:25 大小:2.05MB
返回 下载 相关 举报
销售管理系统案例.doc_第1页
第1页 / 共25页
销售管理系统案例.doc_第2页
第2页 / 共25页
销售管理系统案例.doc_第3页
第3页 / 共25页
销售管理系统案例.doc_第4页
第4页 / 共25页
销售管理系统案例.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《销售管理系统案例.doc》由会员分享,可在线阅读,更多相关《销售管理系统案例.doc(25页珍藏版)》请在课桌文档上搜索。

1、-销售管理系统案例分析引言随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对书数据库的进一步开发和利用显得尤为迫切。作为国市场的一些中小型超市,它们在信息化过程中的步伐要落后于大中型超市,而对于这些企业的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。如何将计算机技术与超市管理有机地结合起来,把计算机技术应用于超市管理,更高

2、效地对超市的各种商品信息进行归类、划分、合理地组织,从而减少人们的劳动强度是很有必要的。本系统针对中小型超市管理特点和技术人员的实际水平,采用Windows易学易用的图形用户界面操作系统,用面向对象的Java语言开发技术和数据库技术,开发出贴近用户实际需求的系统。本系统抛弃了大型财务软件功能泛泛不实用的缺点,既简洁又能满足用户需求,既可以解决在销售过程中出现的问题,也能够用于对商品采购的需求。在减少工作量的基础上,提高超市管理者对企业的整体管理能力。一. 权限管理要求有主管和销售员两个角色。主管拥有管理雇佣的销售员、发放工资。也可以对商品进行添加、定价、制定折扣等权限。 销售人员拥有管理订单、

3、管理销售记录、处理退单、和开发票的权限。二.开发语言java、开发平台eclipse。三.功能需求3.1综合功能需求分析1、主管的基本信息:主管做为销售部门的最高值为人员,他可以管理他所雇用的人员。可以实现添加、删除、修改等功能。2、销售人员工作的基本信息:销售人员的基本工作就是将客户发来的订单进行记录,填写相关信息,并更新到数据库中,处理客户的退单以及开发销售票据等。3、主管处理产品的基本信息:主管可以通过本系统,实现对产品进行制定售价,制定折扣围,分配佣金提成以及查询产品信息等。4、主管对销售人员管理的基本信息:主管可以通过本系统,实现对销售人员的销售业绩进行查询,并对其分配佣金提成。5、

4、销售记录的基本信息:该系统的用户可以在该系统中所提供的产品销售信息的查询功能,。如果是市场分析人员需要数据时,就可以从这里得到。他们还可以根据销售记录来为员工制定工资还会涉及到奖金,罚款等多项,最终获得自己的目前工资。6、信息查询的基本情况:主管和销售人员都具备对信息的查询共能。主管与销售人员之间的查询信息的差别在于,销售人员不能查询所有销售人员的信息,只能查询自己的个人信息。7、信息管理的基本情况:在本系统中,只有管理员具备对系统中涉及到得信息(除登录用户的信息和其他管理员的信息以外的信息)进行修改功能。比如,销售员查询订单信息时,发现订单信息录入有误。他本身不具备修改数据库中的信息的功能,

5、则需上报管路员,经管理员核实再进行对数据库中的订单信息进行修改。3.2用户对系统的要求1、销售员A、信息要求:销售员能查询到相关信息,包括个人的信息、客户的基本信息、产品的基本信息、产品种类信息、订单的基本信息、销售信息。比如查询自己开的订单的信息,对于仓库中的商品的剩余量进行查询以及查询自己的信息等等。B、处理要求:对于销售员,可以实现开订单并将订单信息更新到数据库中。并且对订单等信息进行查询,如发现信息错误等情况,销售员无法实现修改,需要上报主管,主管进行核实,并修改。安全性与完整性要求。C、安全性要求:1、系统应设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身

6、份不被盗用;2、系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和容;3、系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(销售人员),主管。D、完整性要求:各种信息记录的完整性,信息记录容不能为空;各种数据间相互的联系的正确性;相同的数据在不同记录中的一致性。2、主管:A、信息要求:管理员所能查询的相关信息,包括个人的信息、客户的基本信息、产品的基本信息、产品种类信息、订单的基本信息、销售信息、销售人员的信息。B、处理要求:管理员可以实现查询信息的同时也可以对所能查询的信息的进行相关操作,如对信息的修改、删除、更新、添加等功能。C、安全性要求:1、系统应

7、设置访问用户的标识以鉴别是否是合法用户,并要求合法用户设置其密码,保证用户身份不被盗用;2、系统应对不同的数据设置不同的访问级别,限制访问用户可查询和处理数据的类别和容;3、系统应对不同用户设置不同的权限,区分不同的用户,如区分普通用户(销售员),管理员。四.系统功能的设计与划分根据如上得到的用户需求,我们将本系统按照所完成的功能分成以下几部分:4.1销售人员管理部分1、销售订单2、销售记录3、退单处理4、开发票据4.2主管管理部分1、制定售价2、制定折扣围3、分配佣金、提成4、查询各类信息5、对销售人员进行管理五.非功能性需求分析1.实用、易用原则。做到操作简单,维护方便。2.稳定性、安全性

8、原则:系统要保证了系统的稳定性。同时针对不同的人员实现不同的管理权限,具有安全防措施,从硬件、软件以及销售信息等方面严格管理,杜绝非法入侵,以保证系统能够长期稳定的不间断运行。六.功能结构图超市销售管理系统前台零售管理子系统后台销售管理子系统系统管理前台销售管理会员管理重新登录权限设置修改密码添加用户售后服务管理后台销售管理删除会员查询会员添加会员修改会员信息兑换积分商品录入结账打印小票购物查询 商品录入销售商品汇总删除商品销售商品查询商品信息修改打折促销七.用例图1.最高层用例图超市销售管理系统用例图2第2层用例图对最高层中的每个用例加以展开,得到各个用例的第2层用例图。1) 系统管理用例图

9、系统管理子系统用例图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_gaok

10、ai;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 jPa

11、nel1 = 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*tFi

12、eld 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 Data

13、base 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); jP

14、anel1.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); ); utt

15、on2.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); getContentP

16、ane().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); jPanel

17、1.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(

18、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*tFi

19、eld2.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,BuyerManufact

20、urer,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.*

21、;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 JLa

22、bel(); 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 utt

23、on 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*)

24、 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.ActionL

25、istener() 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

26、.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.a

27、wt.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,

28、 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 *YConstr

29、aints(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,

30、 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) testQue

31、ry = 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 ge

32、tBuyerStatus() 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.*;publi

33、c 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 =

34、 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(

35、); 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,

36、 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.setF

37、oreground(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.addActionLis

38、tener(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(n

39、ew 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); query

40、DataSet1.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.g

41、reen); 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,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号