课程设计说明书设计题目:物流管理信息系统之订单管理子系统设计专业:设计人:_____ ______山东科技大学2014年月日课程设计任务书学院机械电子工程学院专业班级2011-2 姓名一、课程设计题目:物流管理信息系统之订单管理子系统设计二、课程设计内容与要求:(1)设计一套订单管理系统,要求能完成基本的订单录入、修改、删除(2)系统分为管理员登录与用户登录两大方向_______________________ (3)可注册新用户,用户信息,管理员信息可修改___________________ ________________________________________________________________ 三、课程设计应解决主要问题:(1)主窗体与各个分窗体结构设计________ _______________________ (2)程序与数据库的连接_________________________________________ (3)各窗体具体代码编写_____________________________________ ___ ________________________________________________________________ 四、课程设计相关附件(如:图纸、软件等)(1)课程设计说明书一份(2)存有设计内容的光盘一张______________________________________ ________________________________________________________________ ________________________________________________________________ 五、任务发出日期:2013-12-23 _课程设计完成日期:2014-1-4指导教师签字:_______________ 系主任签字:_____________指导教师对课程设计的评语指导教师签字:_____年____月____日目录1.课题简介 (3)1.1 课题研究目的和意义 (3)1.2 课题主要研究内容 (3)2.系统分析 (4)2.1 业务流程图 (4)2.2 用户需求分析 (4)2.3 系统功能设计 (6)3.系统设计 (6)3.1 总体设计 (6)3.2 详细设计 (7)3.3 数据结构设计 (7)4.系统实施 (9)4.1 系统首界面 (9)4.2 登录界面 (11)4.3新用户注册界面 (13)4.4提示完善个人信息界面 (15)4.5用户完善个人信息界面 (17)4.6用户登录界面 (19)4.7用户查看个人信息界面 (24)4.8用户完善个人信息界面 (26)4.9管理员登录界面 (28)4.10 管理员信息修改界面 (33)4.11 管理员查看用户信息界面 (35)6.使用说明 (37)7.参考资料 (37)1.课题简介1.1课题研究目的和意义在科学技术日新月异的今天,计算机已逐步渗入各个领域,随着互联网的普及,我们进入了信息化的时代,人们只要在家中轻点几下鼠标就能轻松获得各种信息,并且能够购买到自己需要的商品,既摆脱了时间和空间的限制又节约了大量的时间。
商品销售订单管理系统正是在这种情况下诞生并逐渐发展起来的,它已成为我们进行商品交易中不可缺少的部分。
本系统是在分析了现行商品管理中存在的问题的基础上,结合信息管理系统开发的概念、结构及系统开发的基本原理和方法,开发的一套企业商品订单管理系统。
该系统目的在于同时满足销售方与用户进行订单管理,进而满足经营管理运作流程。
并且操作方便、功能强大,即便操作者对计算机知识一窍不通也可以熟练使用该系统,一用就会。
1.2 课题研究的主要内容企业订单管理系统主要完成的内容包括:系统登录控制。
必须使用用户名和密码登录后才能使用系统。
产品信息浏览。
浏览系统中所有的产品信息,可以使用指定的关键词查询相应的产品,并通过报表的形式将查询结果输出。
产品信息管理。
管理订单中所使用的产品信息,可以浏览、增加、修改和删除产品信息。
订单信息管理。
管理订单信息,可以浏览、增加、修改和删除订单信息,在增加订单时需要使用的产品信息和客户信息必须首先通过产品信息管理和客户信息管理功能添加。
客户信息浏览。
浏览系统中所有的客户信息,可以使用指定的关键字查询相应的客户,并且可以使用报表的形式将查询结果输出。
客户信息管理。
管理下订单时客户信息,可以浏览、增加、修改和删除客户信息。
用户权限管理。
本系统中实现了简单的用户权限管理,普通用户仅能修改密码,而管理员用户则可以添加、修改、删除用户。
利用系统分析和设计原理,采用面向对象的编程方法,通过用Visual Basic 6.0编写企业订单管理系统,用SQL Server 2000进行数据库建设与管理,实现了企业订单管理的自动化和信息化2.系统分析2.1业务流程图.2.2用户需求分析设计任何定制化产品都是一个“翻译”的过程。
我们需要把浮现在客户脑海中的模糊想法、愿望挖掘出来,并“翻译”成满足他们需求的现实产品。
这个“翻译”过程的第一步就是理解用户的需求。
设计最好的订单处理系统对于需要一个电路设计工具的客户来说毫无意义。
我们首先制定了一个计划,其中包含挖掘客户需求的一系列步骤。
遵循这些步骤能更好地理解客户需求,但在一些项目中我们不需要遵循所有的步骤。
举例来说,如果客户是单个人且需求很明确时,我们就不需要进行“搞清谁是谁”与“头脑风暴”了。
当客户的数据需要保密时,我们就不能“尝试客户的工作”了。
在另一些项目中,调整这些步骤的顺序会更为合适。
例如我们可能在去拜访客户和观察他们工作之前先进行“头脑风暴”。
我们需要思考,向客户问些什么问题可以帮助我们了解项目的目标和要求。
以下几个方面的问题可以作为起始点。
1)功能与目标。
(1).系统应该做些什么(2).为什么你想建这个系统(3).系统看上去应该是怎样的(4).需要些什么报表(5).用户需要自己定义新报表吗(6).系统的操作者会是谁2)数据需求:这些问题是为了弄清项目的数据需求。
(1).系统界面上需要展现哪些数据(2).这些数据应该由谁来提供(3).这些数据是如何关联的(4).这些工作现在是如何处理的?数据来自哪里?(5).数据完整性:3)数据库完整性约束。
(1).哪些数据是必须填写的(一条客户记录必须有电话信息吗)(2).数据的有效域是什么?(电话号码是否有格式规定?地址数据应有多长)(3).系统中是否必须在定义了客户之后才能下订单(4).系统要求多高的可用性等级(系统需要7×24的可用性吗?数据的备份频率要多高)4)安全性:这些问题能帮助我们了解客户对权限控制与审计方面的需求。
(1).是否每个用户都需要一个不同的密码(2).是否需要控制不同的用户所能访问的数据( 销售代表有权限看到客户的信用卡账号,但订单录入专员却不能)(3).存储在数据库中的数据是否需要加密(4).谁做了什么操作是否需要记录以便于审计( 记录销售代表提高客户级别的操作,在需要时可以追溯操作的原因)2.3系统功能设计主要功能就是给用户带来信息的沟通,交流的便捷。
订单管理系统的主要功能是通过统一订单提供用户整合的一站式员工供应链服务。
订单管理系统物流管理链条中的不可或缺的部分,通过对订单的管理和分配,使仓储管理和运输管理有机的结合,稳定有效地实现物流管理中各个环节充分发挥作用,使仓储、运输、订单成为一个有机整体,满足物流系统信息化的需求。
订单管理是对商户下达的各种指令进行管理、查询、修改、打印等功能,同时将业务部门处理信息反馈至商户。
订单管理系统一般包括:订单处理,订单确认等。
3.系统设计3.1总体设计该系统为了两大部分:用户登录后的界面,管理员登录后的界面。
3.2 详细设计class类:实现数据库的连接字符串Register类:实现用户注册Login 类:登录窗口类,用户登录时选择用户角色,进入员工操作界面。
管理员登录时则进入相应的界面进行订单信息操作。
main类:实现系统功能的类,实现各模块的功能。
如订单基本信息录入,订单提交,订单退订。
删除订单信息,修改订单信息,查看订单信息。
Main类:用户操作界面,在此用户可以查看订单的信息,且可以订单的提交和退订。
Adm 类:管理员操作页面,在此管理员可以查看和处理所有客户订单信息,可以查看客户基本信息以及个人信息。
UserInfo 类:显示用户信息、用于管理员对客户的信息查询和处理。
3.3数据结构设计用户表属性:用户表:商品表属性:商品表:管理员信息表属性:管理员信息表:订单信息表属性:订单信息表:4.程序实施4.1 主体窗口Private Sub MDIForm_Load() Dim X0 As LongDim Y0 As Long '让窗体居中 X0 = Screen.WidthY0 = Screen.HeightX0 = (X0 - Me.Width) / 2Y0 = (Y0 - Me.Height) / 2Me.Move X0, Y0End SubPrivate Sub mfdljm_Click()dljm.ShowUnload MeEnd SubPrivate Sub mfexit_Click()EndEnd Sub4.2登录界面Private Sub Command1_Click()Static micount As Integer '用于记录输入密码次数Dim sqlstr As Stringsqlstr = "select * from 用户信息表 where 用户名='" & Text1 & " '" Adodc1.RecordSource = sqlstrAdodc1.RefreshIf Adodc1.Recordset.BOF Then '若没有找到符合where条件的记录MsgBox "姓名错误,重新输入", vbExclamation, "警告"Text1.Text = ""Text1.SetFocus 'text1获得焦点ElseIf Adodc1.Recordset.Fields("密码") = Text2 Thenyhjm.ShowUnload MeElseMsgBox "密码错误,重新输入", vbExclamation, "警告"Text2.Text = ""Text2.SetFocusEnd Ifmicount = micount + 1If micount = 3 Then Unload MeEnd SubPrivate Sub cmdcancel_click()Unload MeEnd SubPrivate Sub Command2_Click()Static micount As Integer '用于记录输入密码次数Dim sqlstr As Stringsqlstr = "select * from 管理员信息表 where 管理员姓名='" & Text1 & " '" Adodc2.RecordSource = sqlstrAdodc2.RefreshIf Adodc2.Recordset.BOF Then '若没有找到符合where条件的记录MsgBox "用户名错误,重新输入", vbExclamation, "警告"Text1.Text = ""Text1.SetFocus 'text1获得焦点ElseIf Adodc2.Recordset.Fields("密码") = Text2 Thenglyjm.ShowUnload MeElseMsgBox "密码错误,重新输入", vbExclamation, "警告"Text2.Text = ""Text2.SetFocusEnd IfEnd Ifmicount = micount + 1If micount = 3 Then Unload MePrivate Sub Command3_Click()zcxyh.ShowEnd SubPrivate Sub Command4_Click()Dim x As Integerx = MsgBox("确认退出?", vbOKCancel, "提示") If x = vbOK ThenUnload MeMDIForm1.ShowElseIf x = vbCancel Thendljm.ShowEnd IfEnd Sub4.3.新用户注册界面Private Sub Command1_Click()Dim sqlstr As StringIf Text1 = " " ThenMsgBox "请输入用户名!", vbExclamation, "确认密码"Text1.SetFocusExit SubElsesqlstr = "select * from 用户信息表 where 用户名='" & Text1 & "'" Adodc1.RecordSource = sqlstrAdodc1.Refresh '判断用户名是否已存在If Adodc1.Recordset.EOF = False ThenMsgBox "用户已存在,请重新输入", vbExclamation, "检验用户名"Text1 = ""Text1.SetFocusExit SubEnd IfEnd If'判断两次密码是否一致If Text2 <> Text3 ThenMsgBox "两次输入密码不一致,请重新输入", vbExclamation, "检验密码" Text2 = "": Text3 = ""Text2.SetFocusExit SubElseIf Text2 = "" ThenMsgBox "密码不能为空", vbExclamation, "检验密码"Text2.SetFocusElseAdodc1.Recordset.AddNewAdodc1.Recordset.Fields("用户名") = Trim(Text1)Adodc1.Recordset.Fields("密码") = Trim(Text2) Adodc1.Recordset.UpdateMe.HideMsgBox "注册已成功,请尽快完善个人信息"tswsyhxx.ShowEnd IfEnd SubPrivate Sub Command2_Click()zcxyh.Hidedljm.ShowEnd Sub4.4.提示完善个人信息界面Private Sub Command1_Click()wsyhxx.ShowUnload MeEnd SubPrivate Sub Command2_Click()Dim x As Integerx = MsgBox("确认退出?", vbOKCancel, "提示") If x = vbOK ThenUnload Medljm.ShowElseIf x = vbCancel ThenUnload Metswsyhxx.ShowEnd IfEnd Sub4.5.用户完善个人信息界面Private Sub Command1_Click()Dim str As Stringstr = "Select 订单信息表.* From 订单信息表"str = str & " where 订单信息表.ID = '" & Text5 & "'"x = MsgBox("确定要修改当前记录吗?", vbYesNo + vbQuestion, "确定") If x = vbYes Thenwsyhxx.Adodc1.Recordset.Fields("性别") = Text1wsyhxx.Adodc1.Recordset.Fields("年龄") = Text2wsyhxx.Adodc1.Recordset.Fields("工作") = Text3wsyhxx.Adodc1.Recordset.Fields("联系电话") = Text4wsyhxx.Adodc1.Recordset.Fields("密码") = Text5wsyhxx.Adodc1.Recordset.Fields("用户名") = Text7wsyhxx.Adodc1.Recordset.Updatewsyhxx.Adodc1.RefreshEnd IfMsgBox "修改成功"End SubPrivate Sub Command2_Click()x = MsgBox("未完善信息,现在退出?", vbOKCancel + vbDefaultButton2, "提示")If x = vbOK ThenUnload wsyhxxElseIf x = Cancel Thenwsyhxx.ShowEnd IfExit SubEnd SubPrivate Sub Command3_Click()Dim str As Stringstr = "select 用户信息表.* From 用户信息表"str = str & " where 用户信息表.用户名 = '" & Text6 & "'" Adodc1.RecordSource = strAdodc1.RefreshEnd Sub4.6.用户登录界面Private Sub Command1_Click()Adodc2.Recordset.AddNewAdodc2.Recordset.Fields("用户名") = Text11.Text Adodc2.Recordset.Fields("商品号") = Text1.Text Adodc2.Recordset.Fields("数量") = Text2.TextAdodc2.Recordset.Fields("价格") = Text3.TextAdodc2.Recordset.Fields("ID") = Text10.TextAdodc2.Recordset.Fields("订单号") = Text12.Text Adodc2.Recordset.Fields("联系电话") = Text4.Text Adodc2.RefreshMsgBox ("订单已经成功添加")End SubPrivate Sub Command2_Click()Dim str As Stringstr = "select 订单信息表.* From 订单信息表"str = str & " where 订单信息表.ID = '" & Text9 & "'" Adodc2.RecordSource = strAdodc2.RefreshEnd SubPrivate Sub Command3_Click()Text11.Text = ""Text1.Text = ""Text2.Text = ""Text3.Text = ""Text10.Text = ""Text12.Text = ""Text4.Text = ""End SubPrivate Sub Command4_Click()If Adodc2.Recordset.EOF = True Or Adodc2.Recordset.BOF = True Then MsgBox "请选择要修改的行"Exit SubEnd IfDim str As Stringstr = "Select 订单信息表.* From 订单信息表"str = str & " where 订单信息表.ID = '" & Text9 & "'"If x = vbYes Thenyhjm.Adodc2.Recordset.Fields("用户名") = Text11.Text yhjm.Adodc2.Recordset.Fields("商品号") = Text1.Text yhjm.Adodc2.Recordset.Fields("数量") = Text2.Textyhjm.Adodc2.Recordset.Fields("价格") = Text3.Textyhjm.Adodc2.Recordset.Fields("ID") = Text10.Textyhjm.Adodc2.Recordset.Fields("订单号") = Text12.Text yhjm.Adodc2.Recordset.Fields("联系电话") = Text4.Text yhjm.Adodc2.Recordset.Updateyhjm.Adodc2.RefreshMsgBox "成功修改数据!!"End IfEnd SubPrivate Sub Command5_Click()Dim str As Stringstr = "Select 订单信息表.* From 订单信息表"str = str & " where 订单信息表.ID = '" & Text9 & "'"If x = vbYes ThenAdodc2.Recordset.DeleteAdodc2.Recordset.MoveNextElseIf Adodc2.Recordset.EOF ThenAdodc2.Recordset.MoveLastElseAdodc2.RefreshMsgBox ("订单已经成功删除")End IfEnd SubPrivate Sub Command6_Click()cxyhxx.ShowEnd SubPrivate Sub Command7_Click()Dim x As Integerx = MsgBox("确认退出?", vbOKCancel, "提示") If x = vbOK Thendljm.ShowUnload yhjmElseIf x = vbCancel Thenyhjm.ShowEnd IfEnd Sub4.7.用户查看个人信息界面Private Sub Command1_Click()Dim str As Stringstr = "Select 用户信息表.* From 用户信息表"str = str & " where 用户信息表.用户名 = '" & Text1 & "'"Adodc1.RecordSource = strAdodc1.RefreshEnd SubPrivate Sub Command2_Click()Dim x As Integerx = MsgBox("确认退出?", vbOKCancel, "提示") If x = vbOK Thenyhjm.ShowUnload MeElseIf x = vbCancel Thencxyhxx.ShowEnd IfEnd SubPrivate Sub Command3_Click()xgyhxx.ShowEnd Sub4.8.用户完善个人信息界面Private Sub Command1_Click()Dim str As Stringstr = "Select 订单信息表.* From 订单信息表"str = str & " where 订单信息表.ID = '" & Text5 & "'"x = MsgBox("确定要修改当前记录吗?", vbYesNo + vbQuestion, "确定") If x = vbYes Thenwsyhxx.Adodc1.Recordset.Fields("性别") = Text1wsyhxx.Adodc1.Recordset.Fields("年龄") = Text2wsyhxx.Adodc1.Recordset.Fields("工作") = Text3wsyhxx.Adodc1.Recordset.Fields("联系电话") = Text4 wsyhxx.Adodc1.Recordset.Fields("密码") = Text5wsyhxx.Adodc1.Recordset.Updatewsyhxx.Adodc1.RefreshEnd IfMsgBox "修改成功"End SubPrivate Sub Command2_Click()x = MsgBox("修改未成功", 0, "提示")Unload xgyhxxExit SubEnd SubPrivate Sub Command3_Click()Dim str As Stringstr = "select 用户信息表.* From 用户信息表"str = str & " where 用户信息表.用户名 = '" & Text6 & "'"Adodc1.RecordSource = strAdodc1.RefreshEnd Sub4.9.管理员登录界面Private Sub Command1_Click()Dim str As Stringstr = "select 订单信息表.* From 订单信息表"str = str & " where 订单信息表.ID = '" & Text1 & "'" Adodc1.RecordSource = strAdodc1.RefreshEnd SubPrivate Sub Command2_Click()Dim str As Stringstr = "Select 订单信息表.* From 订单信息表"str = str & " where 订单信息表.ID = '" & Text1 & "'"x = MsgBox("确实要删除当前记录吗?", vbYesNo + vbQuestion, "确定") If x = vbYes ThenAdodc1.Recordset.DeleteAdodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF ThenAdodc1.Recordset.MoveLastEnd IfElseAdodc1.RefreshMsgBox ("订单已经成功删除")End IfEnd SubPrivate Sub Command3_Click()Dim x As Integerx = MsgBox("确认退出?", vbOKCancel, "提示")If x = vbOK Thendljm.ShowUnload glyjmElseIf x = vbCancel Thenglyjm.ShowEnd IfEnd SubPrivate Sub Command4_Click()yhxxcx.ShowEnd SubPrivate Sub Command5_Click()If Adodc1.Recordset.EOF = True Or Adodc1.Recordset.BOF = True Then MsgBox "请选择要修改的行"Exit SubEnd IfDim str As Stringstr = "Select 订单信息表.* From 订单信息表"str = str & " where 订单信息表.ID = '" & Text5 & "'"x = MsgBox("确定要修改当前记录吗?", vbYesNo + vbQuestion, "确定") If x = vbYes Thenglyjm.Adodc1.Recordset.Fields("用户名") = Text2.Textglyjm.Adodc1.Recordset.Fields("商品号") = Text3.Textglyjm.Adodc1.Recordset.Fields("数量") = Text4.Textglyjm.Adodc1.Recordset.Fields("价格") = Text5.Textglyjm.Adodc1.Recordset.Fields("ID") = Text6.Textglyjm.Adodc1.Recordset.Fields("订单号") = Text7.Textglyjm.Adodc1.Recordset.Fields("联系电话") = Text8.Textglyjm.Adodc1.Recordset.Updateglyjm.Adodc1.RefreshMsgBox "成功修改数据!!"End IfEnd SubPrivate Sub Command6_Click()Adodc1.Recordset.AddNewAdodc1.Recordset.Fields("用户名") = Text2.Text Adodc1.Recordset.Fields("商品号") = Text3.Text Adodc1.Recordset.Fields("数量") = Text4.Text Adodc1.Recordset.Fields("价格") = Text5.Text Adodc1.Recordset.Fields("ID") = Text6.Text Adodc1.Recordset.Fields("订单号") = Text7.Text Adodc1.Recordset.Fields("联系电话") = Text8.Text Adodc1.Recordset.UpdateAdodc1.RefreshMsgBox ("订单已经成功添加")End SubPrivate Sub Command7_Click()Text2 = ""Text3 = ""Text4 = ""Text5 = ""Text6 = ""Text7 = ""Text8 = ""End SubPrivate Sub Command8_Click()xgglyxx.ShowEnd Sub4.10.管理员信息修改界面Private Sub Command1_Click()Dim str As Stringstr = "Select 订单信息表.* From 订单信息表"str = str & " where 订单信息表.ID = '" & Text5 & "'"x = MsgBox("确定要修改当前记录吗?", vbYesNo + vbQuestion, "确定") If x = vbYes ThenAdodc1.Recordset.Fields("性别") = Text1Adodc1.Recordset.Fields("年龄") = Text2Adodc1.Recordset.Fields("工作") = Text3Adodc1.Recordset.Fields("联系电话") = Text4Adodc1.Recordset.Fields("密码") = Text5Adodc1.Recordset.UpdateAdodc1.RefreshEnd IfEnd SubPrivate Sub Command2_Click()Dim x As Integerx = MsgBox("确认退出?", vbOKCancel, "提示")If x = vbOK Thenglyjm.ShowUnload MeElseIf x = vbCancel Thenxgglyxx.ShowEnd IfEnd SubPrivate Sub Command3_Click()Dim str As Stringstr = "select 管理员信息表.* From 管理员信息表"str = str & " where 管理员信息表.ID = '" & Text6 & "'"Adodc1.RecordSource = strAdodc1.RefreshEnd SubPrivate Sub Command4_Click()Text2 = ""Text3 = ""Text4 = ""Text5 = ""Text1 = ""End Sub4.11.管理员查看用户信息界面Private Sub Command1_Click()Dim str As Stringstr = "Select 用户信息表.* From 用户信息表"str = str & " where 用户信息表.用户名 = '" & Text1 & "'" Adodc1.RecordSource = strAdodc1.RefreshEnd SubPrivate Sub Command2_Click()Dim x As Integerx = MsgBox("确认退出?", vbOKCancel, "提示") If x = vbOK Thenglyjm.ShowUnload MeElseIf x = vbCancel Thenyhxxcx.ShowEnd IfEnd SubPrivate Sub Form_Load()Dim X0 As LongDim Y0 As Long '让窗体居中X0 = Screen.WidthY0 = Screen.HeightX0 = (X0 - Me.Width) / 2Y0 = (Y0 - Me.Height) / 2Me.Move X0, Y0End Sub5.使用说明该系统在安全性方面的控制管理员登陆窗口,必须使用合法密码才能进入系统,使非管理人员不能进入,从而保证了系统的安全性。