在线手机销售系统说明书.docx
- 文档编号:7660418
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:16
- 大小:169.13KB
在线手机销售系统说明书.docx
《在线手机销售系统说明书.docx》由会员分享,可在线阅读,更多相关《在线手机销售系统说明书.docx(16页珍藏版)》请在冰豆网上搜索。
在线手机销售系统说明书
在线手机销售系统说明书
一、系统概述
在线手机销售系统主要完成的功能如下。
1)客户界面部分:
●选购手机(可按厂商查找手机,或通过关键字进行查询)。
●可以查看热门手机和最优惠手机。
●购物车功能。
●查看手机详细情况。
●用户注册。
●用户登录。
●查看用户的订单信息。
●修改用户个人信息。
●找回密码功能。
●购物帮助功能。
2)管理界面部分:
●厂商维护:
增加、修改和删除厂商。
●现有手机管理:
修改,删除,查看。
●用户管理:
查看,修改,删除。
●订单管理:
查看订单清单,更新订单付款、出货状态,删除订单。
●添加新手机:
可以分别上传手机的小图片和大图片。
●维护购物帮助:
增加、修改和删除购物帮助。
二、系统设计
2.1系统设计思想
1.页面模块化
本实例把页面中一些常用的部分集成为模块,例如页面的头部、尾部和数据库连接文件,这样设计新的页面时如果有重复出现的部分,只需要拿现成的模块来组装就可以了。
在本系统中,将数据库连接存入conndb.asp文件中,当需要数据库连接时,只要用Include语句包含此文件即可。
另外系统页面结构定义在一个模板文件template.asp中,在这个文件中可以看到系统中基本的页面组成结构。
只要在此模板页面中的特定位置加上实现某种功能的页面代码,此页就会成为一个具有特定功能的完整的页面。
例如ProductDetail.asp文件是在template.asp文件中加入了下面一行代码而具备了显示手机详细信息的功能。
callShowProduct(RealString(Request.QueryString(“id")))
2.注重安全性
1)不要把Access数据库放在网站内部
不要把Access数据库文件放在网站结构内部,这样,当恶意人士获取数据库路径后,就可以轻易获取该数据库,进而肆意更改数据库内容。
比较好的做法是,使用SQLServer数据库或Oracle数据库,或者将Access数据库文件放在网站虚拟目录以外。
2)过滤字符串中的单引号
当用字符串来组织SQL语句时,最重要的一个问题就是过滤字符串中的单引号,因为SQL语句中的字符串是以单引号为分界符的,例如下面的语句,在执行时就会出错:
strName=¨I’mHacker¨
strSQL=”SELECT*FROMUserWHERE[Name]=’"&strName&”’”
conn.ExecutestrSQL
这样,在实际执行过程中的最终SQL语句如下:
SELECT*FROMUserWHERE[Name]=’I’mHacker’
由于在“I’mHacker”中包含一个单引号“’”,这样系统会认为在字母“I’’后面已经结束,但后面仍有字符,于是就会提示语法错误。
因此需要将单引号过滤掉,或者替换为两个单引号(在SQL语法中用两个单引号表示一个单引号),只要使用VBScript中的Replace函数就可以达到目的。
3.代码的复用
本系统中使用了很好的代码复用机制,即在开发中尽量使用本系统中已经使用过的代码,以及使用以前项目积累的代码,如分页功能、检查E-mail的函数和上传类。
4.使用数据库连接池和其他优化手段
在本例中,连接数据库采用OLEDB方式,并且在每页中显式地关闭连接,于是利用了IIS自带的数据库连接池特性,大大提高了数据库连接效率。
本系统中还使用了其他许多的优化措施,如使用OptionExplicit强制变量声明,使用Typelib声明ADO库,合理使用RecordSet和Request对象等。
2.2系统功能模块划分
根据上面的系统功能分析,可以画出系统的功能模块图,本例从客户界面、管理界面分别对功能模块图加以描述。
客户界面的系统功能模块图如下图所示:
管理界面的系统功能模块图如下图所示:
三、数据库设计
数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率及实现的效果产生影响。
合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。
设计数据库系统时应该首先充分了解用户在各个方面的需求,包括现有的及将来可能增加的需求。
数据库设计一般包括如下几个步骤:
●数据库需求分析。
●数据库概念结构设计。
●数据库逻辑结构设计。
3.1数据库需求分析
用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输出和输入。
收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。
通过上述系统功能分析,针对一般在线手机销售系统,总结出如下的需求信息:
●用户分一般用户、注册用户和管理员用户。
●一般用户和注册用户无需登录就可以看查看手机信息并购买。
●注册用户登录后可以维护自己的个人信息,并且在向网站发出订单时会自动填写自己的联系信息。
●手机按手机厂商来分类,每一个手机都对应一个厂商。
●订单分单张详细订单和总订单。
●一个用户可以购买多个或多种型号的手机。
●一个用户对应一张订单列表。
●一个订单列表对应多张订单详细信息。
●提供购物帮助功能。
关于订单列表与订单详细信息可以这样理解:
因为用户一次可以购买多种产品,则对每一种产品(即每一款型号的手机)生成一条订单详细信息记录,然后多个这样的订单详细信息组成一个订单列表。
每一个订单列表才与一个用户对应,在发货时以订单列表为单位,也即用户在操作时所看到的“订单”。
经过上述系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:
●管理员信息,包括数据项:
账号,姓名,密码。
●注册用户(会员),包括数据项,用户ID,用户名,密码等。
●手机,包括数据项:
手机编号,手机名称,分类编号等。
●手机分类,包括数据项:
分类编号,分类名称,上级分类编号(扩展,备用)。
●订单详细信息,包括数据项:
订单编号,订单列表编号,手机编号,购书数量。
●订单列表,包括数据项:
订单列表编号,用户编号,下单时间,联系方式等。
●购物帮助,包括数据项:
问题ID,问题标题,答案和点击次数。
3.2数据库概念结构设计
得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。
本实例根据上面的设计规划出的实体有:
管理员信息实体、注册用户(会员)信息实体、产品实体、产品类型实体、订单详细信息实体、订单列表实体和常见问题实体。
实体之间关系的E-R图如下图所示:
管理员信息实体E-R图如下图所示:
注册用户信息实体E-R图如下图所示:
手机实体E-R图如下图所示:
手机类型实体E-R图如下图所示:
订单详细信息实体E-R图如下图所示:
订单列表实体E-R图如下图所示:
常见问题实体E-R图如下图所示:
3.3数据库逻辑结构设计
数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
根据在线手机销售系统使用情况的不同,可以采用Access数据库或SQLServer数据库。
修改数据库的连接字符串和适当修改程序后即可转化为ASP+SQLServer模式的应用程序。
在线手机销售系统数据库中各个表的设计结果如表1~表7所示。
每个表格表示在数据库中的一个表,表1为管理员信息表,存储系统中的管理员信息。
表1管理员信息表(Admins)
列名
数据类型
字段大小
必填字段
默认值
说明
Account
文本
20
是
(无)
管理员账号(主键)
Name
文本
20
是
(无)
管理员姓名
Pwd
文本
20
是
(无)
管理员密码
表2为会员信息表,记录系统中注册用户的详细信息。
表2会员信息表(Member)
列名
数据类型
字段大小
必填字段
默认值
说明
MemberID
文本
20
是
(无)
会员账号(主键)
Name
文本
20
是
(无)
姓名
Sex
文本
2
是
‘男’
性别
Pwd
文本
20
是
(无)
密码
Question
文本
100
是
“”
忘记密码问题
Answer
文本
100
是
“”
忘记密码答案
文本
30
是
“”
Phone
文本
20
是
“”
电话
Address
文本
100
是
“”
地址
ZipCode
文本
10
是
“”
邮编
表3为产品信息表,记录系统中已有手机产品的信息。
表3产品信息表(Product)
列名
数据类型
字段大小
必填字段
默认值
说明
ID
自动编号
长整型
是
(无)
产品编号(主键)
ProductType
数字
长整型
是
(无)
产品类型编号
Name
文本
30
是
(无)
产品名称
Introduce
备注
是
“”
产品介绍
Remark
备注
是
“”
产品说明
MarketPrice
货币
是
0
市场价
MemberPrice
货币
是
0
会员价
smallImg
文本
100
是
“nothing”
小图片相对路径
bigImg
文本
100
是
“nothing”
大图片相对路径
hitNum
数字
长整型
是
0
点击数
buyNum
数字
长整型
是
0
购买次数
Recommend
数字
字节
是
0
是否推荐(是:
1;否:
0)
RecommendDate
日期/时间
是
Now()
设置为推荐的日期,用于在推荐产品中排序
表4为产品类型信息表,记录系统中的厂商信息。
表4产品类型信息表(ProductType)
列名
数据类型
字段大小
必填字段
默认值
说明
ID
自动编号
长整型
是
(无)
类型ID(主键)
SuperID
数字
长整型
是
0
上级类型ID(备用)
Name
文本
20
是
(无)
上级类型ID(备用)
表5为订单详细信息表,记录在客户的一个订单中,针对一件商品的订货信息。
表5订单详细信息表(OrderDetail)
列名
数据类型
字段大小
必填字段
默认值
说明
ID
自动编号
长整型
是
(无)
订单详细信息唯一标识
ordered
数字
长整型
是
(无)
订单列表ID
productID
数字
长整型
是
(无)
产品ID
productName
文本
30
是
“”
产品名称(以少量数据库冗余换取速度,而且当产品删除时仍有记录)
price
货币
是
0
产品单价
Quantity
数字
长整型
是
0
订购数量
表6为订单列表信息表,记录针对用户的一个订单的详细信息。
表6订单列表信息表(OrderList)
列名
数据类型
字段大小
必填字段
默认值
说明
ID
自动编号
长整型
是
(无)
订单列表编号(主键)
memberID
文本
20
是
“0”
会员ID,非会员为0
customerName
文本
20
是
(无)
客户姓名
Address
文本
100
是
(无)
详细地址(送货用)
ZipCode
文本
10
是
(无)
邮编
Phone
文本
20
是
(无)
联系电话
文本
30
是
(无)
电子邮件
Payment
文本
20
是
(无)
应付款项
Remark
备注
是
“”
备注
createDate
日期/时间
常规日期
是
Now()
下单时间
state
数字
字节
是
0
处理状态(未处理:
0,已处理:
1)
treatedDate
日期/时间
常规日期
否
(无)
送货日期
treatedRemark
备注
是
“”
送货备注
表7为常见问题表,记录系统中的常见问题,用于实现购物帮助功能。
表7常见问题表(FAQ)
列名
数据类型
字段大小
必填字段
默认值
说明
ID
自动编号
长整型
是
(无)
问题编号(主键)
Question
文本
100
是
(无)
问题标题
Answer
备注
是
(无)
答案
HitNum
数字
长整型
是
0
点击数,用于评价是否是热点问题
四、系统通用功能模块的编写
从此节开始,就正式进入了系统的编写过程。
在编写之前,对本系统的目录结构和各文件功能进行一个概览,便于从整体把握。
4.1系统结构概览
1.系统目录结构
如下图是从资源管理器中看到的系统目录结构,注意为了提高安全性,将数据库与Web应用程序分两个目录存放。
下面对各个目录的功能做一简单介绍。
●HandsetPro:
此项目的总目录,用来存放数据库和Web应用程序。
●database:
存放Access数据库文件。
●handset:
Web应用程序目录。
可以在“Intemet信息服务管理器”中映射虚拟目录到此文件夹,或者在调试阶段也可以将HandsetPro整个目录复制到网站的默认目录下。
●admin:
存放与后台管理相关的文件。
●admin/Include:
存放后台管理中用到的公共文件。
●bigimg:
存放上传的手机大图图片。
●images:
存放在设计Web应用程序界面时用到的图片。
●include:
存放整个Web应用程序用到的公共文件。
●samllimg:
存放上传的手机小图图片。
2.管理端用到的公共ASP页面
从上面的介绍中已经了解到,管理端用到的公共ASP页面包含在admin/Include目录下,有以下文件:
Øadminbase.asp:
与管理员基本操作相关的函数。
Øcheckuser.asp:
检查用户是否具有管理权限。
Øcommon.js:
用到的公共JavaScript函数。
Øconndb.asp:
连接数据库。
Øfoot.asp:
管理端页面尾。
Øhead.asp:
管理端页面头。
Ømain.css:
页面样式表。
Øpageguide.asp:
实现分页功能。
ØProductTypeBase.asp:
与商品类型(厂商)相关的基础函数。
Øupload-5xsoft.inc:
化境ASP无组件上传类V2.0。
3.管理端用到的其他ASP页面
管理端用到的其他页面存放在admin目录下,各文件的作用如下:
Ødefault.asp:
管理端默认页面,由框架组成,框架中默认的主页面是main.asp。
ØfaqAdd.asp:
添加常见问题。
ØfaqAddSave.asp:
保存添加的常见问题。
ØfaqDel.asp:
删除常见问题。
ØfaqList.asp:
常见问题列表。
ØfaqModi舭asp:
修改常见问题。
ØfaqModifySave.asp:
保存常见问题修改结果。
Ølogin.asp:
管理员登录。
Ølogout.asp:
管理员注销。
Ømain.asp:
框架中默认的主页面。
ØmanuAdd.asp:
添加厂商。
ØmanuAddSave.asp:
保存添加的厂商。
ØmanuDel.asp:
删除厂商。
ØmanuList.asp:
厂商列表。
ØmanuModifySave.asp:
保存厂商修改结果。
从上面列出的部分文件可以看出,每一个模块都是由几个页面来实现的,比如常见问题模块,包括faqAdd.asp、faqAddSave.asp、faqDel.asp、faqList.asp、faqModify.asp和faqModifySave.asp几个页面。
各个模块相关的文件名称都是由“模块名+功能名"组成的,由于命名规则相同,其他模块的文件就不在这里一一列出了,下面将这些文件名的前缀与对应的功能介绍如下:
Øfaq-:
常见问题管理模块。
Ømanu-:
厂商维护模块。
Ømem-:
会员管理模块。
Øorder-:
订单管理模块。
Øpro-:
产品(手机)管理模块。
Øtreated-:
订单处理(送货)管理模块。
Øuser-:
管理员管理模块。
4.客户端用到的公共ASP页面
客户端用到的公共ASP页面位于include目录下,各文件的作用如下:
Øcartbase.asp:
与购物车相关的基础函数。
Øcommon.is:
用到的公共JavaScript函数。
Øconfig.asp:
系统配置文件。
Øconndb.asp:
数据库连接文件。
Øfaqbase.asp:
与常见问题相关的公共函数。
Øfoot.asp:
客户端页面尾。
Øhead.asp:
客户端页面头。
Øleft.asp:
页面左侧。
Ømain.css:
样式表。
Ømemberbase.asp:
与会员相关的基本函数。
Øproductbase.asp:
与产品(手机)相关的基本函数。
ØProductSearchForm.asp:
显示手机搜索表单。
ØProductTypeList.asp:
显示产品类型(厂商)列表。
ØShowSpecialProduct.asp:
显示某些特定的产品,如销量最高的手机,最新加入的手机等。
5.客户端用到的其他ASP页面
客户端用到的其他页面直接存放在handset目录下,主要文件的名称和功能如下:
Ødefault.asp:
客户端首页。
Øfaq.asp:
常见问题列表。
ØfaqDetail.asp:
常见问题详细信息。
Øglobal.asa:
应用程序公共文件,在此文件中声明了对ADO的引用。
Ølogin.asp:
会员登录页面。
Ølogout.asp:
会员注销页面。
Øshopcart.asp:
查看购物车页面。
与管理端相似,每一个模块都是由几个页面来实现的,比如常见问题模块,包括faq.asp和faqDetail.asp两个页面。
文件名也采用“模块名+功能名’’的命名方式,所以其他模块的文件名就不在这里一一列出了,下面将这些文件名的前缀与对应的功能介绍如下:
Øfaq-:
查看常见问题信息模块。
ØfindPwd-:
找回密码模块。
Ømem-:
会员管理模块。
Øpay-:
提交订单模块。
Øproduct-:
产品(手机)信息查看模块。
Øreg-:
用户注册管理模块。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线 手机 销售 系统 说明书