在线手机销 售系统的说明书.docx_第1页
在线手机销 售系统的说明书.docx_第2页
在线手机销 售系统的说明书.docx_第3页
在线手机销 售系统的说明书.docx_第4页
在线手机销 售系统的说明书.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

在线手机销售系统说明书一、系统概述在线手机销售系统主要完成的功能如下。1)客户界面部分:l 选购手机(可按厂商查找手机,或通过关键字进行查询)。l 可以查看热门手机和最优惠手机。l 购物车功能。l 查看手机详细情况。l 用户注册。l 用户登录。l 查看用户的订单信息。l 修改用户个人信息。l 找回密码功能。l 购物帮助功能。2)管理界面部分:l 厂商维护:增加、修改和删除厂商。l 现有手机管理:修改,删除,查看。l 用户管理:查看,修改,删除。l 订单管理:查看订单清单,更新订单付款、出货状态,删除订单。l 添加新手机:可以分别上传手机的小图片和大图片。l 维护购物帮助:增加、修改和删除购物帮助。二、系统设计2.1系统设计思想1页面模块化本实例把页面中一些常用的部分集成为模块,例如页面的头部、尾部和数据库连接文件,这样设计新的页面时如果有重复出现的部分,只需要拿现成的模块来组装就可以了。在本系统中,将数据库连接存入conndb.asp文件中,当需要数据库连接时,只要用Include语句包含此文件即可。另外系统页面结构定义在一个模板文件template.asp中,在这个文件中可以看到系统中基本的页面组成结构。只要在此模板页面中的特定位置加上实现某种功能的页面代码,此页就会成为一个具有特定功能的完整的页面。例如ProductDetail.asp文件是在template.asp文件中加入了下面一行代码而具备了显示手机详细信息的功能。call ShowProduct(RealString(RequestQueryString(“id)2注重安全性1)不要把Access数据库放在网站内部不要把Access数据库文件放在网站结构内部,这样,当恶意人士获取数据库路径后,就可以轻易获取该数据库,进而肆意更改数据库内容。比较好的做法是,使用SQL Server数据库或Oracle数据库,或者将Access数据库文件放在网站虚拟目录以外。2)过滤字符串中的单引号当用字符串来组织SQL语句时,最重要的一个问题就是过滤字符串中的单引号,因为SQL语句中的字符串是以单引号为分界符的,例如下面的语句,在执行时就会出错:strName=Im HackerstrSQL=”SELECT * FROM User WHERE Name=strName”conn.Execute strSQL这样,在实际执行过程中的最终SQL语句如下:SELECT * FROM User WHERE Name=Im Hacker由于在“Im Hacker”中包含一个单引号“”,这样系统会认为在字母“I后面已经结束,但后面仍有字符,于是就会提示语法错误。因此需要将单引号过滤掉,或者替换为两个单引号(在SQL语法中用两个单引号表示一个单引号),只要使用VBScript中的Replace函数就可以达到目的。3代码的复用本系统中使用了很好的代码复用机制,即在开发中尽量使用本系统中已经使用过的代码,以及使用以前项目积累的代码,如分页功能、检查E-mail的函数和上传类。4使用数据库连接池和其他优化手段在本例中,连接数据库采用OLE DB方式,并且在每页中显式地关闭连接,于是利用了IIS自带的数据库连接池特性,大大提高了数据库连接效率。本系统中还使用了其他许多的优化措施,如使用Option Explicit强制变量声明,使用Typelib声明ADO库,合理使用RecordSet和Request对象等。2.2系统功能模块划分根据上面的系统功能分析,可以画出系统的功能模块图,本例从客户界面、管理界面分别对功能模块图加以描述。客户界面的系统功能模块图如下图所示:管理界面的系统功能模块图如下图所示:三、数据库设计数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。设计数据库系统时应该首先充分了解用户在各个方面的需求,包括现有的及将来可能增加的需求。数据库设计一般包括如下几个步骤:l 数据库需求分析。l 数据库概念结构设计。l 数据库逻辑结构设计。3.1数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。通过上述系统功能分析,针对一般在线手机销售系统,总结出如下的需求信息:l 用户分一般用户、注册用户和管理员用户。l 一般用户和注册用户无需登录就可以看查看手机信息并购买。l 注册用户登录后可以维护自己的个人信息,并且在向网站发出订单时会自动填写自己的联系信息。l 手机按手机厂商来分类,每一个手机都对应一个厂商。l 订单分单张详细订单和总订单。l 一个用户可以购买多个或多种型号的手机。l 一个用户对应一张订单列表。l 一个订单列表对应多张订单详细信息。l 提供购物帮助功能。关于订单列表与订单详细信息可以这样理解:因为用户一次可以购买多种产品,则对每一种产品(即每一款型号的手机)生成一条订单详细信息记录,然后多个这样的订单详细信息组成一个订单列表。每一个订单列表才与一个用户对应,在发货时以订单列表为单位,也即用户在操作时所看到的“订单”。经过上述系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:l 管理员信息,包括数据项:账号,姓名,密码。l 注册用户(会员),包括数据项,用户ID,用户名,密码等。l 手机,包括数据项:手机编号,手机名称,分类编号等。l 手机分类,包括数据项:分类编号,分类名称,上级分类编号(扩展,备用)。l 订单详细信息,包括数据项:订单编号,订单列表编号,手机编号,购书数量。l 订单列表,包括数据项:订单列表编号,用户编号,下单时间,联系方式等。l 购物帮助,包括数据项:问题ID,问题标题,答案和点击次数。3.2数据库概念结构设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。本实例根据上面的设计规划出的实体有:管理员信息实体、注册用户(会员)信息实体、产品实体、产品类型实体、订单详细信息实体、订单列表实体和常见问题实体。实体之间关系的E-R图如下图所示:管理员信息实体E-R图如下图所示:注册用户信息实体E-R图如下图所示:手机实体E-R图如下图所示:手机类型实体E-R图如下图所示:订单详细信息实体E-R图如下图所示:订单列表实体E-R图如下图所示:常见问题实体E-R图如下图所示:3.3数据库逻辑结构设计数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。根据在线手机销售系统使用情况的不同,可以采用Access数据库或SQL Server数据库。修改数据库的连接字符串和适当修改程序后即可转化为ASP+SQL Server模式的应用程序。在线手机销售系统数据库中各个表的设计结果如表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是“”忘记密码答案Email文本30是“”E-mailPhone文本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数字长整型是(无)订单列表IDproductID数字长整型是(无)产品IDproductName文本30是“”产品名称(以少量数据库冗余换取速度,而且当产品删除时仍有记录)price货币是0产品单价Quantity数字长整型是0订购数量表6为订单列表信息表,记录针对用户的一个订单的详细信息。表6 订单列表信息表(OrderList)列名数据类型字段大小必填字段默认值说明ID自动编号长整型是(无)订单列表编号(主键)memberID文本20是“0”会员ID,非会员为0customerName文本20是(无)客户姓名Address文本100是(无)详细地址(送货用)ZipCode文本10是(无)邮编Phone文本20是(无)联系电话Email文本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应用程序分两个目录存放。下面对各个目录的功能做一简单介绍。l HandsetPro:此项目的总目录,用来存放数据库和Web应用程序。l database:存放Access数据库文件。l handset:Web应用程序目录。可以在“Intemet信息服务管理器”中映射虚拟目录到此文件夹,或者在调试阶段也可以将HandsetPro整个目录复制到网站的默认目录下。l admin:存放与后台管理相关的文件。l adminInclude:存放后台管理中用到的公共文件。l bigimg:存放上传的手机大图图片。l images:存放在设计Web应用程序界面时用到的图片。l include:存放整个Web应用程序用到的公共文件。l 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.as

温馨提示

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

最新文档

评论

0/150

提交评论