企业销售采购管理系统课程设计.doc_第1页
企业销售采购管理系统课程设计.doc_第2页
企业销售采购管理系统课程设计.doc_第3页
企业销售采购管理系统课程设计.doc_第4页
企业销售采购管理系统课程设计.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录1.引言11.1 需求分析11.2可行性分析12. 系统分析22.1 业务流程分析22.2 数据流程分析32.3 数据字典43. 系统设计53.1 系统总体结构53.2 数据结构与数据库设计53.3 代码设计73.4 输入输出设计73.5系统的安全设计84. 系统实施94.1 系统实施94.2系统运行管理制度325. 结束语33 参考文献4645 / 471.引言1.1 需求分析随着电子产品创新性技术的迅速发展、人民生活水平的提高,电脑已成为人们追求娱乐不可或缺的生活用品。而对于销售这些产品的终端,无论是规模型的商场还是小的商店,都要求它们的采购业务能顺利、高效地进行。博宏电脑公司近年来的销售量激增,但是采购业务成为了它获取高效益的掣肘。该公司无论是高层领导还是员工,都希望能开发一个采购管理系统,对采购业务进行管理。 在该公司中,产品的采购管理是一项日常性的工作。电脑产品因其更新换代迅速,如果做不到使产品的采购量以及采购时间适应需求的变化,那么很容易造成商品积压或脱销,不仅影响商品的销售业绩,也会增加库存费以及采购环节不必要的支出,最终影响公司的效益。另外,该公司的商品种类非常繁多,采购量大且频繁,依靠传统的手工处理记录是很难对采购环节进行及时、正确地处理。所以开发并应用采购管理系统成为适应时代发展,使管理现代化的重要措施。采购管理系统体现了当今先进的企业管理思想,对提高企业的管理水平有着重要的意义。采购管理系统能够保证计划的准确性和采购的合理性,降低商品的运营成本,让利于消费者,提升该公司的竞争力。1.2可行性分析 可行性分析的任务是明确开发该采购管理系统的必要性和可行性。该公司的采购环节出现了制约商场发展的现象,利用计算机技术解决采购业务数据的处理迫在眉睫,公司的领导支持开发采购管理系统,管理人员、员工积极响应。因此开发采购管理系统的必要性与可行性是存在的。具体表现为:1)管理上的可行性:公司内部的采购环节的滞后让管理人员的日常管理工作难以顺利地进行,领导层也注意到当前落后的采购管理手段对商品的销售利润影响很大,公司上下都对采购管理系统的开发有很大的热情,迫切需要对其采购管理进行改革,开发采购管理系统的时机已成熟。2)技术上的可行性:由于该公司的办公室、采购部门、库存部门、销售部门和财务部门等都使用了电脑办公,公司员工的素质较高,员工的技术水平达到了采购管理系统所要求的水平。目前可视化开发技术及工具(如visual basic)和数据库技术(如access)很成熟,并且该采购管理系统在公司现有的硬软件资源基础上可以实施,因此技术上是可行的。3)经济上的可行性:该系统所需的硬件设备,如服务器、PC机、打印机以及网络配件等的市场价格不高,且目前主流的配置就能满足该系统的功能要求,设备费用的支出很小。该公司对于此次开发MIS的经济效益和费用支出进行了比较评价,回收期短。该公司经济效益好,现金流正常,为此次项目开发提供了充足的经费。由于该系统规模小,仅在公司内部运行,日常的维护量不大,所以运行费用低。但是由于采用了采购管理系统,减少了采购环节的人员作业,提高了工作效率,进而降低了商品的成本,这些费用的节省远大于该采购管理系统的开发和运行费用。2. 系统分析2.1 业务流程分析 图2.1为采购管理系统业务流程图:描述了系统内各单位、人员之间业务关系、作业顺序和管理业务流向的图表。供应商付款单退款单采购订单财务部采购员退货单采购开单收货单仓库管理员 图2.1 采购管理业务流程图2.2 数据流程分析根据数据流程图画出的业务流程图如图2.2和图2.3所示:数据流程图能全面地描述信息系统逻辑模型供应商提货单采购处理 采购订单 图2.2 采购管理的顶层数据流程图财务账簿财务 部 退货单数据 订 单 数 据采购订单审核处理采购部供应商 采购订单 订单数据 入 出 库 库 单 单销售部 收退货处理库存处理 销售报表 出、入库数据库存台账图2.3 采购管理系统的第二层数据流程图2.3 数据字典1)数据项的定义(以采购订单的单据编号为例) 数据项编号:I02-01 数据项名称:单据编号 别名:单据编号 简述:区别采购订单唯一性的代码 类型与长度:字符型,长度为11 取值范围:“20110101001”“21001231999” 2)数据结构的定义(以采购订单为例) 数据结构编号:DS02-01 数据结构名称:采购订单 简述:采购部门所填采购订单信息 数据结构组成:DS02-02 + DS02-03 + DS02-043)数据流的定义(以采购订单为例) 数据流编号:D02-02 数据流名称:合格的采购订单 简述:经审核批准的采购订单 数据流来源:采购订单审核处理模块 数据流去向:采购部门 数据项组成:单据编号+录单日期+商品编号+商品名称+型号+规格+单位+数量+单价+合计金额+供应商+到货日期+联系人+电话+业务员+摘要 数据流量:约30张/日 高峰流量:约50张/日 4)处理逻辑的定义(以采购订单审核为例) 处理逻辑编号:P02-01 处理逻辑名称:采购订单审核处理 简述:审核采购订单是否合格并给予批准或不批准 输入的数据流:采购订单 审核处理描述:审核采购部门送来的采购订单填写格式是否符合要求,单据上的信息是否符合采购计划,是否真实等。不合格的单据返回采购部门,合格的单据登记采购订单台账。输出的数据流:合格的采购订单,未批采购订单 处理频率:约30次/日5)数据存储的定义(以采购订单数据存储为例) 数据存储编号:F02-01 数据存储名称:采购订单台账 简述:存放采购订单信息 数据存储组成:单据编号+录单日期+商品编号+商品名称+型号+规格+单位+数量+单价+合计金额+预付账户+预付金额+供应商+到货日期+联系人+电话+业务员+摘要 关键字:单据编号 相关联的处理:P02-01 6)外部实体的定义(以供应商为例) 外部实体编号:S02-01 外部实体名称:供应商 简述:提供商品的供应商 输入的数据流:D02-02 输出的数据流:D02-013. 系统设计 3.1 系统总体结构 新系统的功能设计是以业务流程图和数据流程图为依据的。对该采购管理系统划分为系统设置、资料管理、采购订单、订单收货、采购开单、采购付款、采购退货、产品销售等功能模块。根据以上分析,该采购管理系统功能划分图如图3.1所示:采购管理系统系统设置采购管理产品销售采购退货采购付款采购开单订单收货采购订单修改密码权限管理添加用户 图3.1 采购管理系统功能结构图3.2 数据结构与数据库设计ER模型:概念模型的最常用的表示方法是实体-联系方法。商品名称型号商品编号订单号规格采购订单日期供应商名称交给联系人编号供应商电话名称日期交货商品数量商品名称仓库订单号数量采购开单单价商品名称商品编号 图3.2 采购管理系统E-R模型图 数据表的设计:这是根据数据流程图设计的数据表主键列名数据类型长度允许空*供应商代码char3*供应商名称文本4*产品代码char6*产品名称文本4图3.1 产品销售表主键列名数据类型长度允许空*商品编号char6*商品名称文本4*型号文本8*规格文本9*单位文本15*数量varchar15*单价char4*合计金额varchar19*单据编号varchar3*供应商文本4*入库日期datatime8*联系人文本3*电话char11*业务员文本3*摘要文本9表3.2 商品库存表3.3 代码设计 代码设计部分主要是采购订单号的设计。博宏公司的主要合作伙伴为其设计固定的编码。采购订单号是由供应商名和产品类别构成的。表3.3为采购订单编号表 :供应商代码*供应商名称产品代码产品名称001A经销商N-01联想电脑002B经销商N-02戴尔电脑003C经销商N-03索尼电脑004D经销商N-04华硕电脑005E经销商N-05宏基电脑006F经销商N-06三星电脑007G经销商N-07惠普电脑 表3.3 采购订单编号表 3.4 输入输出设计输出设计:输出设备:打印机、显示器 输出报告:输出设计书资料代码XS-01输出名称销售报表份数1报送库存部门项目号项目名称位数及编辑备注1商品编号X(4)2商品名称X(6)3型号X(6)4销售数量X(3) 表3.4 输出设计书输入设计: 对输入信息进行校验在登陆界面: 用户名及密码不能为空,如不填写两者或两者之一,则会弹出对话框提醒用户不存在,请从新输入!如果用户输入的密码不是密码管理表中的用户名及密码,则会弹出对话框提醒用户不存在,请从新输入!在产品销售中:商品编号不能为空,否则会弹出对话框提醒Sorry,未找到你所查询的数据,请查证后再试单据号规格数量录单日期单位单价商品编号到货日期合计金额商品名称业务员预付账户型号联系人预付金额供应商电话摘要 表3.5 产品销售单录入屏幕3.5系统的安全设计信息系统安全设计主要解决以下几个问题: 止带宽资源滥用 防止无关网络行为影响工作效率 管控外发信息,降低泄密风险 掌握组织动态、优化员工管理 为网络管理与优化提供决策依据,防止病毒木马等网络风险低成本且有效推行信息管理制度等4. 系统实施4.1 系统实施一、登录界面当输入的账号为:xiaolin密码为:xiaolin 时,焦点会自动落在确定上面,此时点击确定或按回车键即可以登入系统。若错误,则会弹出对话框提醒“此用户不存在,请重新输入!”并且它的输入密码为“*”,是在属性栏中的passwordchar设置“*”。用户名及密码不能为空,如不填写两者或两者之一,则会弹出对话框提醒此用户不存在,请从新输入!如果用户输入的密码不是密码管理表中的用户名及密码,则会弹出对话框提醒此用户不在,请从新输入!图4-1 登陆窗口它的具体代码为:Dim TIM As Integer 定义一个整型变量Dim myval As String 定义一个字符串变量Private Sub Form_Load() 连接access数据库 Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 采购管理系统.mdb;Persist Security Info=False Adodc1.RecordSource = select * from 用户 Adodc1.Refresh End SubPrivate Sub Command1_Click()Static itimes As Integer Form2.StatusBar1.Panels(4).Text = Text1.Text 验证用户名及密码 Adodc1.RecordSource = select * from 用户 where 用户名= + Text1.Text + Adodc1.RefreshIf Adodc1.Recordset.RecordCount 0 Then 如果记录数大于零 验证密码 If Text2.Text = Adodc1.Recordset.Fields(密码) Then Load Form2 Form2.Show Unload Me Else If Text2.Text Adodc1.Recordset.Fields(密码) Then MsgBox 密码错误,请重新输入!, vbCritical, 系统提示 itimes = itimes + 1 Text2.Text = Text2.SetFocus End If End If Else MsgBox 用户不存在,请重新输入!, vbCritical, 系统提示 itimes = itimes + 1 Text1.Text = Text2.Text = Text1.SetFocus End If If itimes = 3 Then 错误3次,退出系统 MyMsg = MsgBox(输入错误,请向管理员查询!, vbCritical, 系统提示) If MyMsg = vbOK Then End End IfEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub text2_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Command1_Click 按回车键进入End SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Text2.SetFocus 按回车键,text2获得焦点End Sub二、主界面主界面是登陆后最基础的一个界面,内容包括采购订单,订单收获,采购开单,采购付款,采购退货,产品销售。图4-2 主界面它的具体代码为:Private Sub Command1_Click()Form3.ShowForm2.Enabled = FalseEnd SubPrivate Sub 供应商资料_Click()Form21.ShowForm2.Enabled = FalseEnd SubPrivate Sub 库存查询_Click()Form8.ShowForm2.Enabled = FalseEnd SubPrivate Sub 权限管理_Click()Form91.ShowForm2.Enabled = FalseEnd SubPrivate Sub 添加用户_Click()Form9.ShowForm2.Enabled = FalseEnd SubPrivate Sub 退出系统_Click()EndEnd SubPrivate Sub 修改密码_Click()Form92.ShowForm2.Enabled = FalseEnd Sub三添加用户图4-3 添加用户它的具体代码为:Private Sub Form_Load() 自动识别数据库路径Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 采购管理系统.mdb;Persist Security Info=FalseAdodc1.RecordSource = select * from 权限设置Adodc1.RefreshAdodc2.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 采购管理系统.mdb;Persist Security Info=FalseAdodc2.RecordSource = select * from 用户Adodc2.RefreshEnd SubPrivate Sub Form_Activate() Text1.SetFocus text1获得焦点End SubPrivate Sub Form_Unload(Cancel As Integer) Form2.Enabled = TrueEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Text2.SetFocus 回车text2获得焦点End SubPrivate Sub text2_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Text3.SetFocus 回车text3获得焦点End SubPrivate Sub Text3_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Command1.SetFocus 回车Command1获得焦点End SubPrivate Sub Command1_Click() Dim yhm 保存用户名及密码 If Text1.Text Then Adodc1.RecordSource = select * from 用户 where 用户名= + Text1.Text + If Text1.Text = Adodc1.Recordset.Fields(用户名) Then MsgBox 已添加该用户,请重新添加, , 系统提示 Text1.Text = : Text2.Text = : Text3.Text = Text1.SetFocus ElseIf Text2.Text And Text3.Text And Text2.Text = Text3.Text Then adocon.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 采购管理系统.mdb;Persist Security Info=False adoRs.Open select * from 用户, adocon, adOpenKeyset, adLockOptimistic adoRs.AddNew adoRs.Fields(用户名) = Text1.Text adoRs.Fields(密码) = Text2.Text adoRs.Update adocon.Close adocon.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 采购管理系统.mdb;Persist Security Info=False adoRs.Open select * from 权限设置, adocon, adOpenKeyset, adLockOptimistic adoRs.AddNew adoRs.Fields(用户名) = Text1.Text adoRs.Fields(密码) = Text2.Text adoRs.Update adocon.Close Text1.Text = : Text2.Text = : Text3.Text = MsgBox 添加用户成功!, , 系统提示 ElseIf Text3.Text = Then MsgBox 请输入确认密码, , 系统提示 Text3.SetFocus ElseIf Text2.Text Text3.Text Then MsgBox 两次输入的密码不相同, , 系统提示 Text2.Text = Text3.Text = Text2.SetFocus End If Else MsgBox 请输入用户名!, , 系统提示 End IfEnd SubPrivate Sub Command2_Click() Text1.Text = : Text2.Text = : Text3.Text = End SubPrivate Sub Command3_Click() Unload Me Form2.Show Form2.Enabled = TrueEnd Sub四密码设置 本功能允许使用者对密码进行修改,取保系统的安全与方便。如果你是系统的用户,输入用户名可对自己的密码进行修改。图4-4 密码设置它的具体代码为:Private Sub Form_Load() Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 采购管理系统.mdb;Persist Security Info=False Adodc1.RecordSource = select * from 权限设置 Adodc1.RefreshEnd SubPrivate Sub Command1_Click() If Text1.Text = Or Text2.Text = Or Text3.Text = Then MsgBox 输入不能为空!, 48, 提示信息 Else Adodc1.RecordSource = select * from 权限设置 where 用户名= + Text1.Text + Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then If Text2.Text = Adodc1.Recordset.Fields(密码) Then adocon.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 采购管理系统.mdb;Persist Security Info=False Set adoRs = adocon.Execute(update 权限设置 set 密码= + Text3.Text + where 用户名= + Text1.Text + ) adocon.Close Dim rs1 As New ADODB.Recordset rs1.Open select * from 用户 where 用户名= + Text1.Text + , StrCnn, adOpenKeyset, adLockPessimistic If rs1.RecordCount 0 Then rs1.Fields(密码) = Text3.Text rs1.Update rs1.Close End If MsgBox 密码修改成功,退出密码设置!, , 系统提示 Form2.Enabled = True Unload Me Else MsgBox 原密码错误,请重新输入原密码!, , 系统提示 End If Else MsgBox 该用户不存在,请重新输入, , 系统提示 End IfEnd IfEnd SubPrivate Sub Form_Unload(Cancel As Integer) Form2.Enabled = TrueEnd SubPrivate Sub Command2_Click() Form2.Enabled = True Unload Me Form2.ShowEnd SubPrivate Sub Form_Activate() Text1.SetFocus 回车text1获得焦点End SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Text2.SetFocus 回车text2获得焦点End SubPrivate Sub text2_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then Text3.SetFocus 回车text3获得焦点End SubPrivate Sub Text3_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 13 Then Command1_ClickEnd Sub五权限管理: 图4.5详细的陈述了权限设置的内容,包括系统设置,资料管理,采购管理,库存管理和退货管理。图4-5 权限管理它的具体代码为:Private Sub Form_Load() Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 采购管理系统.mdb;Persist Security Info=False Adodc1.RecordSource = select * from 权限设置 Adodc1.Refresh Adodc2.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 采购管理系统.mdb;Persist Security Info=False Adodc2.RecordSource = select * from 权限设置 Adodc2.Refresh Set DataList1.RowSource = Adodc2End SubPrivate Sub Form_Unload(Cancel As Integer) Form2.Enabled = TrueEnd SubPrivate Sub Datalist1_Click() Adodc1.RecordSource = select * from 权限设置 where 用户名= & DataList1.BoundText & Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then For i = 0 To 11 If Adodc1.Recordset.Fields(i) = -1 Then Check1(i).Value = 1 Else Check1(i).Value = 0 Next i Else DataList1.BoundText = 0 End IfEnd SubPrivate Sub Command1_Click() 全选For i = 0 To 11 Check1(i).Value = 1Next iEnd SubPrivate Sub Command2_Click() 全不选 For i = 0 To 11 Check1(i).Value = 0 Next iEnd SubPrivate Sub Command3_Click() 为用户设置权限 If DataList1.BoundText Then Adodc1.RecordSource = select * from 权限设置 where 用户名= + DataList1.BoundText + Adodc1.Refresh If Adodc1.Recordset.RecordCount 0 Then For i = 0 To 11 If Check1(i).Value = 1 Then Adodc1.Recordset.Fields(i) = -1 Else Adodc1.Recordset.Fields(i) = 0 Next i Adodc1.Recordset.Update End If MsgBox 权限设置成功!, , 系统提示 End IfEnd SubPrivate Sub Command4_Click() Unload Me Form2.Enabled = True Form2.ShowEnd SubPrivate Sub Command5_Click() 删除用户 On Error Resume Next A = MsgBox(确认删除该用户?, 4, 系统提示) If A = vbYes Then Adodc1.Recordset.Delete Adodc1.Refresh Dim rs2 As New ADODB.Recordset rs2.Open select * from 用户 where 用户名 = + DataList1.BoundText + , StrCnn, adOpenKeyset, adLockPessimistic If rs2.RecordCount 0 Then rs2.Delete rs2.Update End If Unload Me Adodc1.Refresh Form91.Show End IfEnd Sub六采购订单企业向供应商订货物时,开据采购订单,以便供应商及时供货。在界面内填入相应的商品信息,点击添加则会将所输入的订单信息保存到采购订单中中。如果输入有误,且已保存,可以应用删除功能,将错误信息删除。订单号不能为空,否则会弹出对话框提醒请输入完整信息!在单价和数量中输入数字,金额项目会自动显示为两者乘积结果。 图4-6 采购商品信息的录入它的具体代码为:Private Sub Form_Load() 连接access数据库 Adodc1.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 采购管理系统.mdb;Persist Security Info=False Adodc1.RecordSource = select * from 采购订单 Adodc1.Refresh Adodc2.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 采购管理系统.mdb;Persist Security Info=False Adodc2.RecordSource = select * from 供应商资料 Adodc2.Refresh Combo1.Clear Combo1.AddItem Adodc2.Recordset.Fields(供应商名称) DTPicker1 = Date DTPicker2 = Date Adodc3.ConnectionString = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & 采购管理系统.mdb;Persist Security Info=False Adodc3.RecordSource = select * from 付款明细账 Adodc3.RefreshEnd SubPrivate Sub Command1_Click() If Text1.Text = Or Text6.Text = Then MsgBox 请输入单据编号和商品编号, , 系统提示 Else If Text1.Text = Adodc1.Recordset.Fields(单据编号) Or Text6.Text = Adodc1.Recordset.Fields(商品编号) Then MsgBox 单据编号和商品编号不能重复添加,请重新输入, , 系统提示 Text1.Text = Text2.Text = Text3.Text = Combo3.Text = Text5.Text = Text6.Text = Text7.Text = Text8.Text = Text9.Text = Text10.Text = Text11.Text = Text12.Text = Text13.Text = Text14.Text = Combo1.Text = Combo2.Text = Else Adodc1.Recordset.AddNew Adodc1.Recordset.Fields(单据编号) = Trim(Text1.Text) Adodc1.Recordset.Fields(录单日期) = Trim(DTPicker2.V

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论