《本科毕业设计-商品销售管理系统.doc》由会员分享,可在线阅读,更多相关《本科毕业设计-商品销售管理系统.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.系统概述1.1 系统概要说明本系统是一个面向管理员的商品销售管理系统,可以为管理员提供方便快捷,清晰明白的管理功能,对商品以及客户的情况一目了然。管理员通过ID与密码的认证后便可登陆主界面,通过客户信息管理,商品销售管理,商品信息管理等可对系统和数据库进行更新和修改。 1.2 系统主要特点1. 采用ASP加ACCESS数据库开发,具有管理方便快捷,代码简单易懂的特点。2. 管理员可以完全通过网页登录管理系统,维护方便。3. 各种功能模块独立性强,模块与模块之间又紧密联系,方便管理。4. 支持所有Windows系列的操作系统,对运行环境的要求低,适应性强。5. 具有清新简洁的界面,简单易懂,
2、操作简单。6. 远程管理员可通过INTERNET来管理相应的客户信息,销售信息和产品信息。1.3系统基本功能介绍1.客户管理:可对客户信息进行添加,删除,修改和查询功能。2.销售管理:可对销售信息进行添加,删除,修改和查询功能。3.产品功能:可对产品信息进行添加,删除,修改和查询功能。4.其他功能:当添加/修改销售信息时,可对该产品的库存量进行自动修改;当添加/修改销售信息时,可对该产品的成本单价和销售单价进行比较,如果低于成本单价,则会弹出提示框,该销售被取消;可上传/修改产品的图片。2.系统运行与开发环境简介2.1系统运行配置环境简介操作系统:Windows 9X、Windows NT W
3、orkstation/Server 4.0以上、Windows 2000 Server/Professional、Windows XP Professional。CPU:只要能够顺利运行Windows系列操作系统就可以了。当然,CPU的处理速度越快,运行ASP代码的效率越高。内存:最低配置32MB,建议使用64MB以上内存,如果使用Windows 2000或Windows XP建议使用128MB以上内存。硬盘空间:至少需要50MB以上的硬盘空间来安装所需的组件。 2.2 ASP简介2.2.1 ASP的运行环境简介1.ASP的使用环境,就是IIS,ASP网页技术是一种需要服务器端支持的技术。它的
4、执行过程是:(1)浏览器端提出HTTP的请求送到服务器端,Web服务器先检查网页文件的类型,如果是.asp扩展名的文件,就提出ASP文件请求,Web确定读取并处理请求文件。(2)Web检查所要求的文件有没有被请求或有没有更新,以决定是否重新分析。IIS的工作是这样分工的:脚本代码是由默认的脚本编程引擎如VBScript完成,然后经引擎翻译转换成服务器能执行的命令,而IIS则进一步为送入的Active对象处理输入和输出,出错信息的输出也是有IIS产生的。2. IIS是如何工作的Web是基础的请求和响应系统。Web浏览器通过将URL发送给Web服务器请求信息。Web服务器通过返回超文本标记语言(H
5、TML)页面响应。3.安装IIS在Windows XP Professional版本中:(1)在控制面版中选择“添加/删除程序”。(2)点击“添加/删除Windows组件”。(3)确认只选中第一项Internet信息服务(IIS),然后点击下一步即可自行进行安装。(4)系统配置安装完成后,就会弹出一个安装“完成”的对话框来提示安装完成,只要点击“完成”即可。这样IIS安装完毕。2.2.2 简介ASP的内置对象ASP强大功能的实现离不开它的一下所示的内部对象:1. Request对象Request对象为脚本提供客户端在请求一个页面或传送一个窗体时提供的所有信息,这包括能够标识浏览器和用户的HTT
6、P变量,存储他们的浏览器对应于这个域的cookie,以及附在URL后面的值(查询字符串或页面中段中的HTML控件内的值)。它也给我们提供了通过Secure Socket Layer(SSL)或其他的加密通信协议访问证书的能力,并提供有助于管理连接的属性。2. Response对象Response对象用来访问所创建的并返回客户端的响应。它为脚本提供了标识服务器和性能的HTTP变量,发送给浏览器的信息内容和任何将在Cookie中存储的信息。它也提供了一系列用于创建输出页的方法,如无所不在的Response.Write方法。3 Application对象Application对象是在为响应一个ASP
7、页的首次请求而载入DLL时创建的,它提供了存储空间用来存放变量和对象的引用,可用于所有的页面,任何访问者都可以打开它们。4 Session对象Session对象是在每一位访问者从Web站点或Web应用程序中首次请求一个ASP页时创建的,它将保留到默认的期限结束(或者由脚本决定终止的期限)。它与Application对象一样提供一个空间用来存放变量和对象的引用,但只能供目前的访问者在会话的生命期中打开的页面使用。5 Server对象Server对象提供了一系列的方法和属性,在使用ASP编写脚本时是非常有用的。最常用的是Server.CreateObject方法,它允许我们在当前页的环境或会话中在
8、服务器上实例化其他COM对象。还有一些方法能够把字符串翻译成在URL和HTML中使用的正确格式,它通过把非法字符转换成为正确、合法的等价字符来实现。2.2.3 简介ASP的脚本语言1VBScript语言VBScript是一种脚本语言。这意味着这种语言比BASIC语言的成熟版本容易使用又难于使用。编制简单的程序时,脚本语言是容易使用的。脚本语言的句法比较简单。但是,简单的句法也使开发大的应用程序变得很困难。你可以在HTML文件中直接嵌入VBScript脚本。这使你能够扩展HTML,使它不仅仅是一种页面格式语言。带有VBScript脚本的网页在每次下载到浏览器时都可以是不同的,而且可以对用户的操作
9、作出反应。VBScript既可以作为客户端编程语言,也可以作为服务器端编程语言。客户端编程语言是可以由浏览器解释执行的语言。Java和Jscript/JavaScript也可以作为客户端编程语言。当一个以这些语言中的任意一种编制的程序被下载到一个兼容的浏览器中时,浏览器将自动执行该程序。客户端编程语言的优点是浏览器完成了所有的工作,这可以减轻服务器的负担。而且客户端程序运行起来比服务器端程序快得多。当一个浏览器的用户执行了一个操作时,不必通过网络对其作出响应,客户端程序就可以作出响应。2JavaScript语言JavaScript可以作为服务器端编程语言,也可以作为客户端编程语言。作为客户端编
10、程语言,可以使客户端的浏览器处理某些工作,从而减轻了服务器的负担,而且不用向服务器提交信息,也不需要从服务器获得信息,所以效率是很高的。大多数浏览器艘适用于JavaScript语言,可见,JavaScript是适合于多种操作系统的。JavaScript用作客户端编程语言是非常好的,与VBScript不同,JavaScript创建的客户端脚本能被现有的大部分浏览器识别。Netscape Navigator 和 Internet Explorer都可以解释和执行包括JavaScript 的HTML文件。然而,与VBScript相同,JavaScript 也是服务器端编程语言。服务器端编程语言在提供
11、网点服务的服务器上执行,而不是在接收网页的浏览器上执行。服务器端编程语言在你的网点计算机上完成所有这些工作,承受所有的负担。由于JavaScript不是ASP的默认脚本语言,所以要使用时必须事先声明。2.3系统开发工具Dreamweaver的简单介绍Macromedia Dreamweaver是建立Web站点和应用程序的专业工具。它将可视布局工具,应用程序开发功能和代码编辑支持组合成一个功能强大的工具,使每个级别的开发人员和设计人员都可利用它快速创建界面及站点应用程序。对于基于CSS的设计提供最好的支持到手动编码功能,Dreamweaver在一个集成和高效的环境中为专业人员提供所需的工具。开发
12、人员可以将服务器技术(例如CFML,ASP.NET,ASP,JSP和PHP)与Dreamweaver配合使用,建立连接到数据库,Web服务和旧式系统的强大Internet应用程序。在Dreamweaver中用户可以创建自己的对象和命令,修改快捷键,甚至编写JavaScript代码,用新的行为,属性检查器和站点报告来扩展Dreamweaver的功能。2.4系统数据库简介2.4.1 ACCESS数据库的简介Microsoft Access是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复,使用A
13、CCESS时,无需编写任何代码,只需通过直观的可视化操作就可以完成大部分的数据库任务。数据可里的表与表之间可以建立关系(或称关联,连接),以便查询相关联的信息。ACCESS数据库以文件形式保存,文件的扩展名是mdb。2.4.2 SQL语言简介以及常用的SQL语句1. SQL即结构化查询语言,它是关系型数据库的标准语言。在ASP中,无论用户要访问哪一种类型的数据库,都要使用SQL语言。SQL语言主要分三类:(1) 数据定义:主要通过数据定义语言DDL来实现。(2) 数据操纵:主要通过数据操纵语言DML来实现。(3) 数据控制:主要通过数据控制语言DCL来实现。2. 常用的SQL语句:(1)创建数
14、据语句:CREATE。(2)查询数据语句:SELECT。(3)插入数据语句:INSERT。(4)更改数据语句:UPDATE。(5)删除数据语句:DELETE。2.4.3 ASP与ACCESS数据库的访问方式1.ADO的使用使用Activex数据对象ADO可以对多种数据源进行读取和写入操作。Activex数据对象提供了以下对象:连接对象(Connection):代表与一个数据源的唯一连接。在ASP中建这个对象的语法是:Set Conn = Server.CreatObject(“ADODB.Connection”)记录集对象(RecordSet):代表来自一个数据源的一组记录。在ASP中建这个对
15、象的语法是: Set Rs = Server.CreatObject(“ADODB.RecordSet”)命令对象(Command):代表向数据源发出的命令,它可以是一段SQL语句,也可以是调用的存储过程的名字。在ASP中建这个对象的语法是: Set Cmd = Server.CreatObject(“ADODB.Command”)参数对象(Parameter):代表SQL存储过程或有查询中的一个参数,当存储过程需要以些参数时就可以通过参数对象来进行发送。错误对象(Error):代表ADO错误,即在进行数据操作时产生的错误。域对象(Field):代表记录集中的一个域。属性对象(Property
16、):代表数据提供者的具体属性。2.实现与ACCESS连接的数据访问页(在系统设计中会给出详细的数据库连接代码)3.系统需求分析3.1 开发背景随着我国经济的飞速发展,信息技术、Internet技术、数据库技术的不断完善,传统的管理方式也逐渐开始落后,使得企业的管理部门已经认识到Internet的优势,认识到借助网络和系统来实行管理远比传统的管理方式高效,于是网络上的管理系统就是在这样一个背景下被研发出来的。随着管理系统的不断成熟和不断改进,实现的功能也越来越强大,管理员可以通过一部电脑和Internet实行方便快捷的管理,甚至当一个公司要在外地开分公司,或者说管理员不在公司原地,但管理工作还是
17、不能停止的情况下,跨地区和跨地域的管理要是想能被实现,这就要求要有一个比较完善的管理系统,能通过Internet来实现相应的管理工作,而我的这个系统:商品销售管理系统,就是这其中的一个例子。3.2系统功能分析本系统主要功能如下:1.登陆:为了对后台数据库起到保护作用,管理员要通过ID和密码认证才能进入后台实现管理这一功能是必不可少的,进去以后就可以对客户信息,销售情况和产品信息进行管理了。2.查询商品的销售情况:可在以客户编号,产品编号,销售简介这三个选项组成的下拉框中选择其一作为查询的条件,也可以用部分的关键字作为查询条件。3.修改商品的销售情况:客户编号和产品编号也是以下拉框的形式提供选择
18、,销售简介不能为空,销售数量和销售单价只能为数字。4.添加商品的销售情况:客户编号和产品编号也是以下拉框的形式提供选择,编号不能重复,销售简介不能为空,销售数量和销售单价只能为数字。5.删除商品的销售情况:有一个删除确认的提示框,以免因为不小心而造成误删除的情况。6.查询商品的库存情况:可在以产品编号,产品名称这二个选项组成的下拉框中选择其一作为查询的条件,也可以用部分的关键字作为查询条件。7.添加商品的库存情况:产品编号不能重复,产品名称不能为空,产品数量和单价只能为数字,可上传或修改产品图片。8.修改商品的库存情况:产品单价和库存只能为数字,可在次添加或修改产品图片。9.删除商品的库存情况
19、:有一个删除确认的提示框,以免因为不小心而造成误删除的情况。10.查询客户的详细信息:可在以客户编号,客户姓名,城市这三个选项组成的下拉框中选择其一作为查询的条件,也可以用部分的关键字作为查询条件。11.修改客户的详细信息:客户编号不能与现有的客户编号相同。12.删除客户的详细信息:有一个删除确认的提示框,以免因为不小心而造成误删除的情况。13.添加客户的详细信息:客户编号不能与现有的客户编号相同,客户编号和客户名字不能为空。14. 其他功能:(1)当添加/修改销售信息时,可对该产品的库存量进行自动修改。(2)当添加/修改销售信息时,可对该产品的成本单价和销售单价进行比较,如果低于成本单价,则
20、会弹出提示框,该销售被取消。(3)当添加/修改销售信息和客户信息时,会出现哪些内容只能填数字,哪些不能信息重复,哪些信息不能为空等提示框。(4)可上传/修改/显示产品的图片。(5)当实现查询功能时,可根据商品或客户的某项信息来实现查找功能,也可通过该项信息的部分关键字来实现查找。4.系统设计4.1总体设计本系统由18个页面组成,系统页面的结构图如下: 图1 系统页面结构图公用页面的内容是被很多页面都引用的相应内容,所以这些页面定义成公用页面,其他页面要引用它时,需用以下的连接代码:各页面的功能如下:Default.asp:系统的首页,也是管理员登陆页。Main.asp:显示客户信息,销售信息和
21、产品信息的最新六条记录。Customer.asp:分页显示所有的客户信息,查询相关客户信息。Sale.asp:分页显示所有的销售信息,查询相关销售信息。Goods.asp:分页显示所有的产品信息,查询相关产品信息。AddCustomer.asp:添加客户信息。EditCustomer.asp:修改客户信息。ViewCustomer.asp:详细显示每一条客户信息。AddSale.asp:添加销售信息。EditSale.asp:修改销售信息。ViewSale.asp:详细显示每一条销售信息。AddGoods.asp:添加产品信息。EditGoods.asp:修改产品信息。ViewGoods.as
22、p:详细显示每一条产品信息。Delete.asp:删除对应的客户信息,销售信息和产品信息。adovbs.inc:上传组件。Conn.asp:数据库连接的基本信息。Function.asp:取得服务端相对图片路径,用Stream组件上传图片。4.2 数据库设计4.2.1逻辑结构设计分析后得知,数据库中应存储一下基本信息:(1) 管理员:帐号,密码。(2) 客户信息:客户编号,姓名,城市,电话,详细地址,所在单位,时间和备注。(3) 产品信息:产品编号,名称,单位,单价,库存,产品图片,时间和备注。(4) 销售信息:产品编号,客户编号,销售简介,销售单价,成本单价,销售数量,销售总额,利润总额,销
23、售时间所在年,销售时间所在月,销售时间所在日和备注。产品编号客户编号姓名城市。客户信息销售销售信息销售产品信息名称单价库存。产品编号客户编号销售简介。 图2 数据库E-R图管理员的表是一个单独的表,和其他的表格没有任何关系,所以在E-R图里没有显示出来。当然在实际运用中,客户信息表与销售信息表之间也可能出现多对一的关系,因为有可能是几个客户同时购买同一样产品,这样也构成了他们之间的多对一的关系。产品信息表与销售信息表也有可能出现多对一的关系,即在一次销售中同时销售了多个产品。4.2.2 物理结构设计1.以上E-R图可以转换成以下所示的关系模型:(1)管理员(admin):ID(自动编号),帐号
24、,密码。(2)客户信息表(customer):ID(自动编号),客户编号,姓名,所在城市,电话,详细地址,所在单位,时间和备注。(3)产品信息表(goods):ID(自动编号),产品编号,名称,单位,单价,库存,产品图片,时间和备注。(4)销售信息表(sale):ID(自动编号),产品编号,客户编号,销售简介,销售单价,成本单价,销售数量,销售总额,利润总额,销售时间所在年,销售时间所在月,销售时间所在日和备注。2.创建表和字段:(1)创建管理员(admin)表和其字段名:图3 管理员表结构图 字段类型 说明 id 自动编号(设为主键) 管理员id name 文本 管理帐号 pwd 文本 管理
25、员密码表1 admin表字段结构(2)创建客户信息表(customer)和其字段名:图4 客户信息表结构图字段名字段类型说 明id自动编号(设为主键)客户ID号customer_id文本客户编号name文本姓名city文本所在城市telephone文本电话address文本详细地址departmrnt文本所在单位time日期/时间时间memo备注备注表2 customer表字段结构(3)创建产品信息表(goods)和其字段名:图5 产品信息表结构图字段名字段类型说 明id自动编号(设为主键)产品ID号goods_id文本产品编号name文本名称 goods_unit文本单位price数字单价r
26、emain数字库存images文本产品图片time日期/时间时间memo备注备注表3 goods表字段结构(4)创建销售(sale)信息表和其字段名:图6 销售信息表结构图字段名字段类型说 明id自动编号(设为主键)销售ID号goods_id文本产品编号customer_id文本客户编号title文本销售简介price数字销售单价cost_price数字成本单价amount数字销售数量total数字销售总额profit_total数字利润总额year数字销售时间所在年month数字销售时间所在月day数字销售时间所在日memo备注备注表4 sale表字段结构4.3基本模块功能设计1.数据库连接
27、 (conn.asp):建立了一个全局的连接池Conn,定义好数据库来源,数据文件的指向等。2.为了防止用户的非法访问,用SESSION(“name“)作了判定:% If Session(name) Then % ElseResponse.Write 请不要非法登录本系统!End If %3.上传产品图片信息(Function.asp): %功能:取得服务端相对图片路径参数:客户端图片路径返回值:图片路径Function GetFileName(imagespath)If imagespath ThenGetFileName = GoodsPic/ & year(now)&month(now)
28、&day(now)&hour(now)&minute(now)&second(now)&Right(imagespath,4)ElseGetFileName =End IfEnd Function功能:用stream组件上传图片参数:客户端图片路径返回值:成功返回1,失败返回0Function upImages(imagespath)Set objStream = Server.CreateObject(ADODB.Stream)objStream.Type = 1 adTypeBinaryobjStream.OpenobjStream.LoadFromFile imagespathobjSt
29、ream.SaveToFile Server.MapPath(GetFileName(imagespath),adSaveCreateOverWriteobjStream.CloseIf ERR.number0 ThenupImages = 0 ElseupImages = 1End IfEnd Function%4.以下代码实现了添加客户信息的功能(AddCustomer.asp):添加客户信息 客户编号: * 客户姓名: * 城市: 电话: 地址: 单位: 备注: &nbs
30、p; 5.实现删除功能(delete.asp):删除相应客户信息: Sub DelCustomer()id = Request(id)Set Rs = Server.CreateObject(ADODB.RecordSet)Sql = Select * From customer Where id=&id Rs.Open Sql,conn,3,3 Rs.Delete Rs.Update Rs.CloseSet Rs = nothing Response.Redirect Customer.aspEnd Sub删除相应产品信息: Sub DelGoods()id = Request(
31、id)Set Rs = Server.CreateObject(ADODB.RecordSet)Sql = Select * From goods Where id=&id Rs.Open Sql,conn,3,3 Rs.Delete Rs.Update Rs.CloseSet Rs = nothing Response.Redirect Goods.aspEnd Sub删除相应客户信息: Sub DelSale()id = Request(id)Set Rs = Server.CreateObject(ADODB.RecordSet)Sql = Select * From sale Wher
32、e id=&id Rs.Open Sql,conn,3,3 Rs.Delete Rs.Update Rs.CloseSet Rs = nothing Response.Redirect Sale.aspEnd Sub以上是系统了主要功能的主要代码,下面列出系统主要页面的截图:图7 登录页面 图8 显示最新信息 图9 添加客户信息 图10 显示所有客户信息和下拉框实现查询功能 图11 显示商品详细信息 图12 删除商品信息 图13 销售信息分页显示 图14 上传图片信息 图15 已上传图片的商品详细信息显示页面5.总结本系统是一个基于WEB的网上商品销售管理系统,其功能基本符合管理员需求,能够完
33、成商品流通过程中所涉及到的客户信息,销售信息和商品信息的,输入,修改,查询,删除等动能。并提供部分系统维护功能,使用户方便进行用户名称和密码的更改,提高了软件的安全性和健壮性。此外,本软件对于数据的一致性的问题也通过程序进行了有效的解决。通过毕业设计我学到了很多知识,个人能力有很大的提高,最重要的是我深切的感受实践是检验真知的最好方法,实践比理论知识要来的深刻。在设计中经常遇到种种困难与挫折,几次陷入停顿状态,例如:在设计数据库时,到底要设计多少个表和字段,通过对系统功能的规划,就决定了现状的数量;很多页面都需要连接数据库,如果都写上连接数据库的代码就增加了代码的重用率,修改时候难度也大大增加了,后来就想到了专门建一个数据库连接的文件conn.asp,