电脑销售管理系统的设计与开发 毕业论文.doc

上传人:哈尼dd 文档编号:3964068 上传时间:2019-10-11 格式:DOC 页数:34 大小:246.52KB
返回 下载 相关 举报
电脑销售管理系统的设计与开发 毕业论文.doc_第1页
第1页 / 共34页
电脑销售管理系统的设计与开发 毕业论文.doc_第2页
第2页 / 共34页
电脑销售管理系统的设计与开发 毕业论文.doc_第3页
第3页 / 共34页
电脑销售管理系统的设计与开发 毕业论文.doc_第4页
第4页 / 共34页
电脑销售管理系统的设计与开发 毕业论文.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《电脑销售管理系统的设计与开发 毕业论文.doc》由会员分享,可在线阅读,更多相关《电脑销售管理系统的设计与开发 毕业论文.doc(34页珍藏版)》请在三一文库上搜索。

1、桂林航天工业学院毕业设计(论文)题 目: 系别: 信息工程系 专业: 姓名: 学号: 指导教师: 2013 年 6 月 10 日目 录引 言51 系统分析与设计61.1可行性分析62 需求分析72.1 系统需求72.2 功能需求73 总体设计83.1 基本设计概念和处理流程832 模块设计94数据库设计104.1 数据库的逻辑设计104.2 数据库的配置105 详细设计105.1 类模块设计105.2.欢迎界面115.3员工管理界面135.4商品管理185.5进货商管理235.5.1销售管理275.52供货商管理296系统维护306.1 调试运行30结论31致谢32参考文献33 摘 要一直以来

2、,电脑销售公司使用传统的人工方式管理计算机销售的日常工作。一个最典型的手工处理“电脑销售过程”就是:电脑销售公司与客户达成购买协议并签订销售订单后,由销售方的销售员亲自拿着订单去财务部交钱,然后再去仓库领货,最后才进行装机。 这种管理方式存在着许多缺点,如:效率低、保密性差、容易让底层员工混水摸鱼,并且直接迁涉到仓库的出入库管理,形成了双向物流。如果时间一长将产生大量的文件和发票、收据等数据,对于日后的查找更新和保管都带来了不少的困难。随着计算机技术的迅速发展,计算机信息管理系统已成为热门话题。本文以设计开发电脑销售系统为例,介绍了如何实现利用电脑来解决传统的手工方式管理计算机销售的日常工作。

3、关键词:销售;系统;数据库AbstractSince the computer sales company, using the traditional manual management of the daily work of computer sales. One of the most typical manual processing computer sales process is: computer sales company and customers to reach a purchase agreement and the signing of the sales ord

4、er, by sale salesman personally take the orders to the financial department to make money, and then go to the warehouse to receive the goods, and finally was installed. This management way has many shortcomings, such as: low efficiency, poor security, easy to let the employees fish in troubled water

5、, and direct migration to warehouse management, forming a two-way logistics. If a long time, will produce the massive documents and invoices, receipts and other data, for future searching update and storage have brought a lot of difficulties. With the rapid development of computer technology, comput

6、er information management system has become a hot topic. Based on the design and development of computer sales system as an example, introduces how to use a computer to solve the traditional manual management of computer sales daily work.Key word:Sales ;system;;database;引 言 随着 Internet 的不断发展与完善,人类进入

7、信息化社会的步伐在深度与广度各个方 面都大大加快。销售管理是企业管理的一个重要环节,随着经济和信息化的迅速发展,使用信息化管理工具对企业的销售物流进行全面管理是必须的,也是必然的。销售管理系统应能给企业决策者和管理者提供全方位的销售流程和实时的信息查询,并且可以统计出某段时间内的产品销售量,为企业提供一个全面的信息化平台,提高工作效率,加强对企业销售这一环节的全盘掌控,使决策者能够完全清楚和控制销售这一个和企业经济直接相关联的重要过程 1 系统分析与设计1.1可行性分析电脑销售管理系统的设计与开发,将从根本上解决商品销售整个业务流程效率低,处理能力差等手工操作过程中表现出的不足之处。方便电脑销

8、售商对商品资料、客户资料、销售业绩等进行高效的管理。使用该程序之后,管理层可以及时查询商品、管理商品、管理员工、还可以对当前销售业绩、销售财务进行一些统计,给出统计表格,以便全面掌握商品的销售情况。 利用计算机来处理无疑会极大程度地提高效率和处理能力。销售员工不需再为整个销售过程忙碌,工作人员出错的概率也会减少,工作效率自然就会提高。 2 需求分析 2.1 系统需求 本系统是基于B/S模式的管理系统,实若在本地运行,则需要先安装IIS,操作过程很简单,是完全可以实现的。对操作系统的要求是Window XP系统,还要有Microsoft Visual Studio 2005和SQL Server

9、 2005, 在这之前还需要安装Microsoft .NET Framework SDK v2.0,这些软件都可以从网上或其他途径达到要求。2.技术可行性在Microsoft Visual Studio 2005中使用的是C#语言,控件的代码可以直接拖动自动生成,在此基础之上对其进行属性设置。对数据库的操作是使用SQL语句进行更改,为了使界面更加美观,需用PS对图片进行处理,虽然存在困难,但经过不断的学习可以实现。所以不存在技术上无法解决的问题。经济可行性该系统适用于中小型学校,整体数据容量不大,管理的用户根据该学校的学生人数而决定,而且对数据的存储量不大,对以往的借书、还书记录没有备份的功能

10、,更节省了开销,没有经济方面需要多加关注的问题2.2 功能需求 基于以上开发背景分析及目标定位,将“电脑销售管理系统”划分成基本信息管理、产品信息管理、库存操作管理、库存警示管理和统计查询管理 5 大模块各模块所完成的子功能如图1 所示 电脑销售系统基本信息管理产品信息管理供货商管理进货表管理员工管理 3 总体设计3.1 基本设计概念和处理流程 用户在运行本系统时,首先应出现一个“身份验证”框,对用户身份进行确认,然后才能进入到相应的管理模块,如图2 所示。 对于客户(消费者)来说,首先应了解客户的相关资料,然后根据客户的购买类型,从系统中调出原来录入的资料(入库),并生成订单(出库)。 开始

11、 用户登录 读取用户类型 基本信息管理 产品信息管理 库存警示管理 统计查询管理 失败三次 管理自己和变通用户的信息 管理自己的用户信息 退出程序 失败 否 是 admin 用户 普通用户业务流程图 对于公司工作人员来说,当新进一批设备时,应将其分类(产品类目管理)后输入设备的相关信息(入库);当用户购买此设备时,又进入到设备的出库管理;当出库数量大于库存数量时,系统将报告警示信息;每隔一段时间进行设备盘点。 对于公司老总来说,需了解每天的销售情况(统计查询管理),同时对公司工作人员相关资料进行管理(用户信息管理)。32 模块设计 1. 基本信息管理 包括客户信息管理、仓库信息管理、用户信息管

12、理等。客户信息管理完成客户的分类查询和添加、修改、删除;仓库信息管理完成仓库的建立、查询、修改、删除;用户信息管理限定操作员的权限,添加、修改、删除操作员等。 2. 产品信息管理 包括产品类目管理和产品信息管理。产品类目管理完成类目创建及类目中的下级类目创建和分类,也可查询、修改、删除类目信息;产品信息管理完成产品基本信息的录入、查询、修改和删除。 3. 库存操作管理 包括入库、出库和仓库盘点管理。在入库操作中用填写入库单的形式来完成产品的入库行为,在出库操作中用填写出库单形式来完成产品的出库行为,当出库数据大于库存数量时,系统将报告警示信息;库存盘点用于显示仓库中所有产品的库存信息。 4.

13、库存警示管理 包括数量报警和失效报警。数量报警可选择在产品数量超过上限或数量低于下限的产品;失效报警即报告产品的有效期。以上两项信息都是在填写入库单时填写的。4. 库存警示管理 包括数量报警和失效报警。数量报警可选择在产品数量超过上限或数量低于下限的产品;失效报警即报告产品的有效期。以上两项信息都是在填写入库单时填写的。 5. 统计查询管理 包括产品入库统计表和库存产品物流统计表。此模块完成产品入库的所有信息,库存产品的物流信息,其查询、统计是全面的。4数据库设计 4.1 数据库的逻辑设计 分析流程图,这个系统需要使用数据库来存储相关的信息。数据库是整个系统的基础,只有将数据库框架搭建起来,才

14、能完成子模块的编辑、实施。为方便数据的维护及数据的有效扩充,我们采用的数据库开发工具是 Microsoft SQL Server 2000 ,4.2 数据库的配置因涉及到数据库的安全性问题,在首次运行本程序时,须正确配置数据源(DNS)。打开“ODBC 数据源管理器”,并添加一个用户数据源,选择数据源驱动程序为SQL Server ,数据源名称为stocks ,同时将系统默认的数据库更改为数据库文件stocks 。5 详细设计 5.1 类模块设计 打开Microsoft Visual Basic 6.0 中文版,新建一个“标准EXE”工程,并在工程中添加“类模块”,我们将为每个表创建一个类模块

15、,并把所有数据库表的操作封装在类模块中,类的成员变量大部分与表中的字段名相同。如:在工程中建立登录窗口,是程序运行的开始。具体登录窗口如图程序编写如下: Private Sub Command1_Click()Dim CN As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim sql As StringCN.ConnectionString = Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=diannaox

16、sCN.Opensql = select * from 管理员 where usera = & Trim(Text1.Text) & and pass = & Trim(Text2.Text) & rs.Open sql, CN, adOpenStatic, adLockOptimisticIf rs.EOF = True Then MsgBox 帐号或者密码错误,请重新输入!, vbOKOnly + vbExclamation, 警告 CN.CloseElse CN.Close Unload Me 总页面.ShowEnd IfEnd Sub5.2.欢迎界面欢迎界面是用于其他界面的链接,里面包

17、括员工管理、商品管理、进货商管理、销售管理、供货商管理功能.具体欢迎使用窗口如下图:代码实现如下:Private Sub Command1_Click()员工管理.Show总页面.HideEnd SubPrivate Sub Command2_Click()商品管理.Show总页面.HideEnd SubPrivate Sub Command3_Click()进货表管理.Show总页面.HideEnd SubPrivate Sub Command4_Click()销售表2006.Show总页面.HideEnd SubPrivate Sub Command5_Click()供货商管理.Show总

18、页面.HideEnd SubPrivate Sub Command6_Click()EndEnd Sub5.3员工管理界面员工管理界面里面包含了员工的ID.姓名.性别.出生日期.所在部门.工作时间等相关信息。在系统里还增加了员工ID查询.部门员工查询.员工统计.ID与姓名查询.修改记录等功能.具体窗口如下图其中实现功能的代码如下图:rivate Sub Command1_Click()Dim m As Integer, ask As Integerask = MsgBox(请确定要增加文本框中的数据吗?, vbYesNo)If ask = 7 ThenGoTo notmElsem = Len(

19、Trim(YGID.Text)Adodc3.RecordSource = select * from 员工表 where 员工ID= & YGID & Adodc3.RefreshIf YGID.Text = ThenMsgBox 请输入员工ID!, vbOKOnly, 提示YGID.SetFocusElseIf Not IsNumeric(YGID) And m 5 ThenMsgBox 员工ID号为5位数字,请重新输入!, vbOKOnly, 提示YGID.SetFocusElseIf Adodc3.Recordset.EOF = False ThenMsgBox 该员工ID已经存在,请重

20、新输入!, vbOKOnly, 提示ElseIf XM.Text = ThenMsgBox 请选择姓名!, vbOKOnly, 提示XM.SetFocusElseIf XB.Text = ThenMsgBox 请选择性别!, vbOKOnly, 提示XB.SetFocusElseIf BM.Text = ThenMsgBox 请输入部门!, vbOKOnly, 提示BM.SetFocusElseIf RQ.Text = ThenMsgBox 请输入出生日期!, vbOKOnly, 提示RQ.SetFocusElseIf GZSJ.Text = ThenMsgBox 请输入工作时间!, vbOK

21、Only, 提示GZSJ.SetFocusElseAdodc2.Recordset.ActiveConnection.Execute = insert 员工表 (员工ID,姓名,性别,出生日期,部门,工作时间) values ( & YGID.Text & , & XM.Text & , & XB.Text & , & RQ.Text & , & BM.Text & , & GZSJ.Text & )Adodc2.RefreshAdodc1.RefreshEnd IfEnd Ifnotm:End SubPrivate Sub Command10_Click()Adodc1.RecordSour

22、ce = select * from 员工表Adodc1.RefreshEnd SubPrivate Sub Command11_Click()Adodc1.Recordset.MovePreviousIf Adodc1.Recordset.BOF = True Then Adodc1.Recordset.MoveFirstEnd IfAdodc2.Recordset.MovePreviousIf Adodc2.Recordset.BOF = True Then MsgBox 已经是记录集的开头 Adodc2.Recordset.MoveFirstEnd IfEnd SubPrivate Su

23、b Command12_Click()Adodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF = True Then Adodc1.Recordset.MoveLastEnd IfAdodc2.Recordset.MoveNextIf Adodc2.Recordset.EOF = True Then MsgBox 已经是记录集的结尾 Adodc2.Recordset.MoveLastEnd IfEnd SubPrivate Sub Command2_Click()Dim a As String, m As Integer, b As StringAdo

24、dc3.RecordSource = select * from 员工表 where 员工ID= & YGID & and 姓名= & XM & Adodc3.RefreshIf Adodc3.Recordset.EOF = True ThenMsgBox 没有此员工,请确定之后在操作!, vbOKOnly, 提示GoTo notmElseAdodc1.RecordSource = select * from 员工表 where 员工ID= & YGID & and 姓名= & XM & Adodc1.Refreshnotm:End IfEnd SubPrivate Sub Command3_

25、Click()Dim a As Integer, b As Stringa = MsgBox(是否要进行删除!, vbYesNo, 提示)If a = 6 Thenb = InputBox(请输入要删除的员工ID, vbYesNo, 提示)If Trim(b) = Then MsgBox 请输入员工IDAdodc3.RecordSource = select * from 员工表 where 员工ID= & b & Adodc3.RefreshIf Adodc3.Recordset.EOF = True ThenMsgBox 没有此员工ID,请确定之后在操作!, vbOKOnly, 提示Els

26、eAdodc2.Recordset.ActiveConnection.Execute = delete 员工表 where 员工ID= & b & MsgBox 删除成功End IfEnd IfAdodc2.RecordSource = select * from 员工表Adodc2.RefreshAdodc1.RefreshEnd SubPrivate Sub Command4_Click()YGID.Text = XM.Text = XB.Text = RQ.Text = BM.Text = GZSJ.Text = Command1.Visible = TrueEnd SubPrivate

27、 Sub Command5_Click()a = MsgBox(是否要进行修改!, vbYesNo, 提示)If a = 6 ThenAdodc2.Recordset.ActiveConnection.Execute = update 员工表 set 员工ID= & YGID & ,姓名= & XM & ,性别= & XB & ,部门= & BM & ,出生日期= & RQ & ,工作时间= & GZSJ & where 员工ID= & YGID & MsgBox 修改成功!, vbOKOnly, 提示Adodc2.RefreshAdodc1.RefreshElse: MsgBox 未修改成功

28、!, vbOKOnly, 提示End IfEnd SubPrivate Sub Command6_Click()Adodc3.RecordSource = select * from 员工表 where 员工ID= & YGID & Adodc3.RefreshIf Adodc3.Recordset.EOF = True ThenMsgBox 没有此员工ID,请确定之后在操作!, vbOKOnly, 提示GoTo notmElseAdodc1.RecordSource = select * from 员工表 where 员工ID= & YGID & Adodc1.RefreshAdodc2.R

29、ecordSource = select * from 员工表 where 员工ID= & YGID & Adodc2.Refreshnotm:End IfEnd SubPrivate Sub Command7_Click()总页面.Show员工管理.HideEnd SubPrivate Sub Command8_Click()Adodc1.RecordSource = select * from 员工表Adodc1.RefreshText1.Text = Adodc1.Recordset.RecordCountEnd SubPrivate Sub Command9_Click()Dim a

30、As Integer, b As Stringb = InputBox(请输入要查询的部门, vbYesNo, 提示)Adodc3.RecordSource = select * from 员工表 where 员工ID= & YGID & Adodc3.RefreshIf Adodc3.Recordset.EOF = True ThenMsgBox 此部门没有员工或者没有此部门请确定之后再查询!, vbOKOnly, 提示GoTo notmElseAdodc1.RecordSource = select * from 员工表 where 部门= & b & Adodc1.Refreshnotm

31、:End IfEnd SubPrivate Sub YGID_LostFocus()If YGID.Text = ThenMsgBox 员工ID不能为空Text1.SetFocusElseIf Not IsNumeric(YGID) ThenYGID = MsgBox 员工ID为位数字YGID.SetFocusEnd IfEnd SubPrivate Sub XM_LostFocus()If XM.Text = ThenMsgBox 姓名不能为空XM.SetFocusEnd IfEnd SubPrivate Sub BM_LostFocus()If BM.Text = ThenMsgBox 部

32、门不能为空Text5.SetFocusEnd IfEnd Sub5.4商品管理在商品管理中包含货号.规格.单位.商品进价.参考价格.在程序中包含的功能有货号查询.商品总个数.刷新表格.货号与货名查询.修改记录等功能的实现.具体窗口如下图;实现货号查询的代码如下图:Private Sub Command1_Click()hhText.Text = hmText.Text = ggText.Text = dwText.Text = pjText.Text = ckText.Text = kcText.Text = Command2.Visible = TrueEnd SubPrivate Sub

33、Command10_Click()Adodc1.Recordset.MovePreviousIf Adodc1.Recordset.BOF = True Then Adodc1.Recordset.MoveFirstEnd IfAdodc2.Recordset.MovePreviousIf Adodc2.Recordset.BOF = True Then MsgBox 已经是记录集的开头 Adodc2.Recordset.MoveFirstEnd IfEnd SubPrivate Sub Command11_Click()Adodc1.Recordset.MoveNextIf Adodc1.R

34、ecordset.EOF = True Then Adodc1.Recordset.MoveLastEnd IfAdodc2.Recordset.MoveNextIf Adodc2.Recordset.EOF = True Then MsgBox 已经是记录集的结尾 Adodc2.Recordset.MoveLast End IfEnd SubPrivate Sub Command2_Click()Dim m As Integer, ask As Integerask = MsgBox(请确定要增加文本框中的数据吗?, vbYesNo)If ask = 7 ThenGoTo notmElsem

35、 = Len(Trim(hhText.Text)Adodc3.RecordSource = select * from 商品一览表 where 货号= & hhText & Adodc3.RefreshIf hhText.Text = ThenMsgBox 请输入货号!, vbOKOnly, 提示hh.SetFocusElseIf Not IsNumeric(hhText) And m 4 ThenMsgBox 员工货号为4位数字,请重新输入!, vbOKOnly, 提示hh.SetFocusElseIf Adodc3.Recordset.EOF = False ThenMsgBox 该货号已

36、经存在,请重新输入!, vbOKOnly, 提示ElseIf hmText.Text = ThenMsgBox 请选择货名!, vbOKOnly, 提示hmText.SetFocusElseIf ggText.Text = ThenMsgBox 请选择规格!, vbOKOnly, 提示ggText.SetFocusElseIf dwText.Text = ThenMsgBox 请输入单位!, vbOKOnly, 提示dwText.SetFocusElseIf ckText.Text = ThenMsgBox 请输入参考价格!, vbOKOnly, 提示RQ.SetFocusElseIf kcT

37、ext.Text = ThenMsgBox 请输入库存量!, vbOKOnly, 提示GZSJ.SetFocusElseAdodc2.Recordset.ActiveConnection.Execute = insert 商品一览表 (货号,货名,规格,单位,平均进价,参考价格,库存量) values ( & hhText.Text & , & hmText.Text & , & ggText.Text & , & dwText.Text & ,convert(Money, & pjText & ),convert(Money, & ckText & ), & kcText.Text & )A

38、dodc2.RefreshAdodc1.RefreshEnd IfEnd Ifnotm:End SubPrivate Sub Command3_Click()Adodc3.RecordSource = select * from 商品一览表 where 货号= & hhText & Adodc3.RefreshIf Adodc3.Recordset.EOF = True ThenMsgBox 没有此货号,请确定之后在操作!, vbOKOnly, 提示GoTo notmElseAdodc1.RecordSource = select * from 商品一览表 where 货号= & hhText

39、 & Adodc1.RefreshAdodc2.RecordSource = select * from 商品一览表 where 货号= & hhText & Adodc2.Refreshnotm:End IfEnd SubPrivate Sub Command4_Click()Dim a As String, m As Integer, b As StringAdodc3.RecordSource = select * from 商品一览表 where 货号= & hhText & and 货名= & hmText & Adodc3.RefreshIf Adodc3.Recordset.EO

40、F = True ThenMsgBox 没有此商品,请确定之后在操作!, vbOKOnly, 提示GoTo notmElseAdodc1.RecordSource = select * from 商品一览表 where 货号= & hhText & and 货名= & hmText & Adodc1.Refreshnotm:End IfEnd SubPrivate Sub Command5_Click()a = MsgBox(是否要进行修改!, vbYesNo, 提示)If a = 6 ThenAdodc2.Recordset.ActiveConnection.Execute = update

41、 商品一览表 set 货号= & hhText & ,货名= & hmText & ,规格= & ggText & ,单位= & dwText & ,平均进价=convert(Money, & pjText & ),参考价格=convert(Money, & ckText & ),库存量= & kcText & where 货号= & hhText & MsgBox 修改成功!, vbOKOnly, 提示Adodc2.RefreshAdodc1.RefreshElse: MsgBox 未修改成功!, vbOKOnly, 提示End IfEnd SubPrivate Sub Command6_C

42、lick()Dim a As Integer, b As Stringa = MsgBox(是否要进行删除!, vbYesNo, 提示)If a = 6 Thenb = InputBox(请输入要删除的货号, vbYesNo, 提示)If Trim(b) = Then MsgBox 请输入货号Adodc3.RecordSource = select * from 商品一览表 where 货号= & b & Adodc3.RefreshIf Adodc3.Recordset.EOF = True ThenMsgBox 没有此货号,请确定之后在操作!, vbOKOnly, 提示ElseAdodc2

43、.Recordset.ActiveConnection.Execute = delete 商品一览表 where 货号= & b & MsgBox 删除成功End IfEnd IfAdodc2.RecordSource = select * from 商品一览表Adodc2.RefreshAdodc1.RefreshEnd SubEnd SubPrivate Sub Command7_Click()Adodc1.RefreshText1.Text = Adodc1.Recordset.RecordCountPrivate Sub Command7_Click()Adodc1.RecordSource = select * from 商品一览表End SubPrivate Sub Command8_Click()总页面.Show商品管理.HideEnd

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1