资源描述
毕 业 论 文手机在线销售系统的设计与实现作 者 姓 名: 学科、 专业: 学 号: 指 导 教 师: 完 成 日 期: 辽宁公安司法管理干部学院辽宁公安司法管理干部学院毕业论文摘 要随着移动通信技术日新月异地发展,手机已经逐步成为人们日常生活中不可或缺的工具,多元化的销售模式更让手机市场的竞争变得尤为激烈。用户在消费购买手机产品之前有必要也有权利了解更多自己所关注产品的相关信息,手机以及其他数码产品的信息和行情应该受到广泛关注,包括价格、性能、使用体会等相关信息。因此,一个信息多元、交流方便的手机在线销售系统,在帮助消费者方便的了解更多更准的行情信息的同时,可以让用户便捷安全的在线购买喜爱的手机产品,让用户体验到电子商务给我们生活带来的快捷和便利。关键字:手机;导购;销售;ASP- I -目 录摘 要I1 绪论41.1 问题的提出41.2 系统的开发背景41.3 主要开发内容51.4 论文的组织结构52 需求分析62.1可行性分析62.2 业务流程分析72.3 用例分析72.3.1系统总体说明72.3.2参与者及其描述82.3.3用例的总体描述102.3.4基本用例描述112.4 补充需求203 总体设计213.1 系统层次213.2 数据库设计224 详细设计234.1 数据库详细设计234.2主要程序流程图264.2.1用户注册模块264.2.2产品比较功能模块264.2.3在线交易功能模块284.3网站文件结构285 系统实现305.1 数据访问组件设计305.2系统功能模块315.2.1新闻列表315.2.2产品显示315.2.3产品比较335.2.4搜索功能335.2.5用户注册335.2.6管理员登陆345.2.7后台数据库管理345.3页面制作346 测试与调试367 总结与展望387.1 总结387.2 展望39参 考 文 献40致 谢41- III -手机在线销售系统的设计与实现1 绪论1.1 问题的提出随着科学技术的发展,移动通信技术的发展浪潮日益高涨,手机已经渗透到社会的方方面面,使人们的学习、生活和工作等方面都发生了深刻的变化。手机市场的骤然升温,带来了国内外各大手机厂商的激烈竞争。为了在手机市场占有自己的一席之地,在摩托罗拉、诺基亚等老牌生产商不断升级技术的同时,一些新兴厂商却把自己的目标定位在产品更加低廉的价格上。于是市场上如雨后春笋般出现了无数品牌、无数型号的手机产品。无论在价格、质量还是售后服务上都是参差不齐,甚至有些产品是鱼目混珠。这就给消费者带来了一个相当大的难题,选择一款自己称心如意的产品似乎变得很困难。于是,建立起一个能够让消费者方便的了解各类手机的相关信息,并提供在线销售功能的手机在线销售系统十分必要。本文首先介绍了目前手机在线销售网站的现状、相关背景和技术。之后对本网站的业务流程和需求进行分析,提出使用MS Active Server Page作为开发平台,MS Access作为后台数据库,开发一套功能实用、操作简便、安全稳定的手机在线销售网站系统。通过分析现有手机在线销售网站的业务流程及特点,对本手机在线销售系统流程进行了详细设计和模块划分,根据实际需求,合理的构建了数据库,并利用了目前主流的WEB开发技术ASP+Access,采用三层结构思想和B/S开发模式来进行本系统的实施。最后通过编码实现该系统,最终实现了手机在线销售网站系统的各个主要功能模块,实现如下功能:新闻分类显示、产品分类显示、搜索、产品比较、产品报价、在线销售、后台数据管理等。最后对系统进行了测试。1.2 系统的开发背景目前国内外有不少类似的手机导购网站,类似太平洋电脑网、中关村在线、IT168等各类专业数码网站比比皆是,新浪、搜狐、网易等国内知名的门户网站也纷纷推出了自己的手机频道,发布各种手机产品的信息。这些功能齐全的大型数码频道包含了相当多的信息,更新速度也较快,但就易用性和专业性来说这些大型网站还比较欠缺。其中做得比较好的是太平洋电脑网的手机频道。它提供了相当多的信息,更新速度也比较快。大量的信息怎样合理组织、如何准确查询成为了关键,太平洋电脑网在信息的组织上条理清楚、易于查找浏览,参数全面,权威性强,美中不足是搜索的过程复杂,不利于查找。其他的数码相机网站也同样存在各自的长处和不足。为此,需要设计建设一个更加快速、易用、权威、安全的手机在线销售网站来弥补以上所提到的各个网站的缺点,让用户在电子商务快速发展的今天可以享受科技进步带给我们的便利与实惠。1.3 主要开发内容根据消费者在购买前的不同需求,构建一个方便、实用、快捷、安全的在线销售平台,为消费者在购物前提供全面权威的导购信息和安全快捷的网上交易。该网站的设计主要需完成以下内容:新闻分类显示,搜索产品,手机详细参数性能显示及比较,手机报价,在线销售,前后台管理,数据库的设计和连接等。1.4 论文的组织结构论文一共分为七个部分,各部分的基本内容如下:(1)绪论主要描述开发手机在线销售网站的背景和当前国内外的现状,分析此次开发主要完成的内容。(2)需求分析需求分析从几个角度分析了系统可行性。阐述了系统在实际应用中的价值,并肯定了该系统开发的可行性。介绍了此网站的业务流程。从系统的总体说明,Actor和用例及其之间关系几个方面对本系统进行了用例分析。描述了系统的非功能性方面的约束。(3)总体设计首先分析网站开发的架构模式,接着阐述本网站系统的层次结构,以E-R图的形式介绍数据库的设计,以类图的形式介绍类之间关系,并交代系统的开发环境和关键技术。(4)系统详细设计本章首先描述网站的目录结构,并介绍了各个页面的功能与特点。详细描述了数据库设计中的表结构和在系统中类的具体内容和功能,并对功能模块的流程图进行举例。(5)系统实现描述了系统页面的编码实现的过程,并展示本网站系统的各个功能。(6)系统测试描述了选取的测试策略和一些典型的测试用例。(7)结论对毕业设计的全过程进行粗略的总结,分析了系统的一些主要的优缺点,开发此系统过程中所遇到的困难,以及系统还存在的有待完善的地方。最后对系统进行了展望。2 需求分析 2.1可行性分析 手机在线销售系统是为不同的消费者在购买数码相机之前提供全面翔实的导购信息并可在线购买的的电子商务平台。可行性研究的核心任务是在现有系统或组织进行调查分析的基础之上,对用户的要求做出分析,同时考虑项目开发所受到的各种制约条件,研究开发项目的意义和可行性1。因此数码相机在线导购系统的可行性也同样从下面三个方面进行研究。(1)技术可行性分析技术可行性的分析主要分析现有技术条件能否顺利完成开发工作,硬件和软件能否满足开发者的需要。同时也包括各类技术和信息的获得等。手机在线销售系统是在商家和消费者之间架起一座坚实的桥梁,使其能够相互交换信息和处理信息。这一特点非常适合现代计算机,通过现有的广泛应用的Internet网络和Windows平台,充分发挥计算机的信息传输速度快、准确度高的优势。微软公司推出的Active Server Page和Microsoft Office Access就完全可以开发这样的系统。(2)经济的可行性分析经济可行性分析主要包括:“成本收益”分析和“短期长远利益”分析。成本主要有:系统计划期费用(如:做市场调查、可行性分析、需求分析的交际费用),系统开发期费用(如:电脑、网络等开发所需要硬件环境,水电费,打印复印费,资料费,买操作系统、数据库、软件开发工具等购买系统软件的费用)和系统维护期费用(用来支持网站维护升级)。开发这个系统,需要企业有一定的投入,以补充软件的开发需要,完善相关的硬件设备,进行网站的宣传,以及人员的培训费用;网站的收益主要来自系统的销售额(短期利益)以及网站的广告位出租(长远利益)。就成本和收入的关系来看,收入将会大于成本,所以此网站的建设就经济方面来讲是可行的。(3)社会可行性分析社会可行性也称为操作可行性,指的是在实现统后,所需要的配合的手工操作是否可行,以及系统对组织机构的影响,现有人员和机构、设施、环境等对系统的适应性以及进行人员培训补充计划的可行性2。手机在线销售系统网站的设计目标是安全、简单、易用和权威,游客可以根据页面上的提示方便地进行各种操作;后台管理员只需要有基础的计算机知识就可以胜任。由于数码相机的市场主要面向更加追求时尚、追求生活质量的人群,而此系统可以让准备购买手机的“准消费者”在进行市场调研的时候感觉更加方便、快捷,更加符合这部分人的心理,这些准消费者一旦确定购买哪款手机,此网站可以方便的提供在线交易功能,让消费者足不出户完成购买。综合以上的可行性分析得出的结论意见是可以着手设计建立手机在线销售系统网站。2.2 业务流程分析根据需求分析,对手机在线销售系统网站的业务流程简要归纳如下:游客可以匿名完成前台页面提供的浏览功能;注册用户可以创建订单、管理订单,以及个人信息的管理;管理员可以操作后台数据库,以完成对系统数据的更新和维护。前台功能包括新闻的分类浏览,通过厂商列表察看具体厂商的某一款手机产品的详细参数,也可以通过关键字搜索到符合要求的若干手机产品,并可以选中的多款手机进行横向的参数比较。游客还可以通过注册,成为网站的注册用户,用户登陆之后可以创建手机购买订单,并可以跟踪订单状态,直到交易完成,同时用户还可以随时修改个人的注册信息。后台系统包括管理员登陆系统和管理系统。管理员登陆之后可以操作的管理模块包括新闻管理、新闻类别管理、产品管理、厂商管理、用户管理等九个管理模块。不同权限的管理员可以进行不同的操作,比如新闻管理员可以对新闻进行管理和分类、产品管理员进行对产品信息的维护等。2.3 用例分析2.3.1系统总体说明系统总体说明主要是对手机在线销售系统网站所要实现的功能的大致描述。网站的功能大致可以归纳为四类:浏览功能、注册功能、购买功能、数据管理功能,如图2-2所示。这个粗粒度的总体描述有助于理清思路。其中浏览功能包括新闻浏览、厂商浏览、产品浏览;还包括对新闻和产品的搜索、产品的横向比较等;注册功能指的是游客可以通过注册成为网站的注册用户;注册用户通过登陆可以使用购买功能,包括个人信息修改、创建手机购买订单、跟踪订单状态等;数据管理功能是后台的功能,包括新闻管理、新闻类别管理、厂商管理、产品管理、报价管理、图片管理、权限管理、用户管理、订单管理等。图2-1 系统的操作流程图图2-2 系统的总体说明2.3.2参与者及其描述参与者(Actor)是与系统、子系统或类发生交互作用的外部用户、进程或其他系统的理想化概念。作为外部用户与系统发生交互作用,这是参与者的特征3。在系统的实际运作中,一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。每个参与者可以参与一个或多个用例。它通过交换信息与用例发生交互作用(因此也与用例所在的系统或类发生了交互作用),而参与者的内部实现与用例是不相关的,参与者可以被一组定义它的状态的属性描述。参与者可以通过泛化关系来定义,在这种泛化关系中,一个参与者的抽象描述可以被一个或多个具体的参与者所共享。参与者可以是人、另一个计算机系统或一些可运行的进程。在图中,参与者用一个名字写在下面的小人表示。可能是实际的人,也可能是其他的系统,一个参与者往往代表了系统中的一个身份,与实际环境中的人不一定是一一对应的关系。比如,现实中的同一个人可能在不同情况下扮演“管理员”和“游客”;又例如,同一位已经注册过的管理员,如果成功登陆后台系统,则代表“管理员”,相反,如果没有登陆,则是以“游客”的身份访问前台系统(尽管他拥有管理员的登陆账号和密码)。通过对系统的分析,可以得出参与者分别是游客、注册用户、管理员和系统,如图2-3所示。图2.3 手机在线销售系统中的参与者(1)游客在此系统中,“游客”是指那些没有被确认身份的网站访问者,游客可以使用前台系统的各种功能,包括新闻分类浏览、产品分类浏览、新闻搜索、产品搜索、产品横向比较、用户注册等功能。(2)注册用户该参与者继承自游客,注册用户登录以后,便可以对账户进行充值,修改个人信息,创建手机购买订单,跟踪订单状态等。(3)管理员管理员主要对网站进行管理和维护。同时管理员可以更改注册用户创建的订单,并对其进行跟踪。(4)系统系统是该网站的潜在参与者,通过系统进行“新机Top排行”与“首页新闻”的统计并提交给用户。2.3.3用例的总体描述用例是外部可见的一个系统功能单元,这些功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。每个用例的执行独立于其他用例,虽然在具体执行一个用例功能时由于用例之间共享对象的缘故可能会造成本用例与其他用例之间有这样或那样的隐含的依赖关系。每一个用例都是一个纵向的功能块,这个功能块的执行会和其他用例的执行发生混杂。用例表示整个系统对外部用户可见的行为。一个用例就像外部用户可使用的系统操作。然而,它又与操作不同,用例可以在执行过程中持续接受参与者的输入信息。用例也可以被像子系统和独立类这样的小单元所应用。一个内部用例表示了系统的一部分对另一部分呈现出的行为。例如,某个类的用例表示了一个连贯的功能,这个功能是该类提供给系统内其他有特殊作用的类的4。一个类可以有多个用例。通过对本系统的用例分析,可以得到用例的总体描述,如图2-3所示。其中,后台数据管理功能用例的详细描述如图2-4所示。图2-4 用例的总体描述图2-5 数据管理功能的用例图2.3.4基本用例描述用例文档是描述用例的一种有效的方式,它包含用例的参与者、触发条件、前置条件、基本路径、后置条件和非功能性需求等内容,能准确地对用例进行描述。(1)新闻浏览新闻浏览用例是游客在前台通过点击新闻列表的链接看到特定新闻内容的处理过程,它的用例文档如表2-1所示。表2-1新闻浏览用例表用例编号Uc1用例名称新闻浏览用例描述用户通过选择查看分类新闻。主要参与者游客次要参与者无简要描述此用例描述了一个游客如何查看自己感兴趣的新闻。触发条件点击“新闻列表”的新闻标题进入新闻全文。前置条件基本路径 (1)进入系统主页。 (2)点击新闻分类,进入不同的新闻二级页。 (3)点击分类新闻列表的新闻链接。 (4)显示特定新闻。扩展点后置条件非功能性需求(2)厂商浏览厂商浏览用例是游客在前台通过点击厂商列表的链接看到所有的手机生产厂商内容的处理过程,用例文档如表2-2所示。表2-2 厂商浏览用例文档用例编号Uc2用例名称厂商浏览用例描述用户通过点击查看所有厂商的列表。主要参与者游客次要参与者无简要描述此用例描述了一个游客如何查看所有手机厂商的列表。触发条件点击“厂商大全”的链接进入厂商列表页面。前置条件基本路径(1)进入系统主页。(2)点击厂商大全,进入厂商列表。扩展点后置条件非功能性需求(3)产品浏览产品浏览是用户通过点击产品列表上的手机型号链接进入产品页面的过程,用例文档如表2-3所示。表2-3 产品浏览的用例文档用例编号Uc3用例名称产品浏览用例描述用户通过选择查看产品详细参数和报价。主要参与者游客次要参与者无简要描述此用例描述了一个游客如何查看产品的各项参数及报价。触发条件点击”产品列表”的手机型号进入产品页。前置条件基本路径(1)进入系统主页。(2)点击“手机大全”按钮,进入产品列表。(3)点击具体手机型号。(4)显示产品参数及报价。扩展点后置条件非功能性需求(4)产品比较产品比较是用户通过点击产品页面上的”添加比较”按钮将此产品添加到比较页面的过程,用例文档如表2-4所示。表2-4 产品比较的用例文档用例编号Uc4用例名称产品比较用例描述用户对感兴趣的多个产品进行参数的横向比较。主要参与者游客次要参与者无简要描述此用例描述了一个游客如何对感兴趣的多个产品进行产品各项参数的横向比较。触发条件点击产品信息页面上的“添加比较”按钮。前置条件基本路径(1)游客浏览产品详细信息。(2)点击“添加比较”按钮。(3)系统显示产品横向比较页面。扩展点游客可以在比较页面继续添加比较产品,也可以删除页面现有的产品。后置条件非功能性需求(5)新闻搜索新闻搜索是游客根据关键字搜索新闻标题的过程,其用例文档如表2-5所示。表2-5 新闻搜索的用例文档用例编号Uc5用例名称新闻搜索用例描述游客通过关键字搜索新闻标题主要参与者游客次要参与者无简要描述此用例描述了一个游客根据关键字搜索新闻标题的过程触发条件点击搜索按钮前置条件输入搜索关键字。基本路径(1)进入系统首页。(2)游客输入要查询的关键字。(3)游客点击“搜索”按钮。(4)系统显示游客要求的新闻标题列表。扩展点后置条件点击新闻列表中的链接,进入新闻内容页。非功能性需求(6)产品搜索产品搜索是游客根据关键字搜索产品的过程,其用例文档如表2-6所示。表2-6 产品搜索的用例文档用例编号Uc6用例名称产品搜索用例描述游客通过关键字搜索产品主要参与者游客次要参与者无简要描述此用例描述了一个游客根据关键字搜索产品的过程触发条件点击搜索按钮前置条件输入搜索关键字。基本路径(1)进入系统首页。(2)游客输入要查询的关键字。(3)游客点击“搜索”按钮。(4)系统显示游客要求的手机型号列表。扩展点后置条件点击产品列表中的链接,进入产品详细信息页。非功能性需求(7)用户注册用户注册是游客申请成为注册用户的过程,其用例文档如表2-7所示。表2-7 用户注册的用例文档用例编号Uc7用例名称用户注册用例描述游客通过申请成为注册用户。主要参与者游客次要参与者无简要描述此用例描述了一个游客通过申请成为注册用户的过程触发条件用户点击”注册”按钮前置条件基本路径(1)游客进入系统首页,点击”注册”按钮。(2)游客填写注册信息。(3)点击“提交”按钮。扩展点后置条件系统将提交的注册信息写入数据库非功能性需求(8)用户登录用户登录用例是注册用户登录前台用户系统的处理过程,它的用例文档如表2-8所示。表2-8 用户登录用例表用例编号Uc8用例名称用户登录用例描述用户填写用户名和密码登录前台用户系统。主要参与者注册用户次要参与者无简要描述此用例描述了一个注册用户如何登录系统。触发条件在首页的登录模块填写用户名和密码。前置条件用户已注册。基本路径(1)填写用户名和密码,点击“登录”按钮。(2)系统根据用户名获取密码,并与用户填写的密码进行比较。(3)显示用户菜单。扩展点用户名不存在或者密码输入有误将提示“用户名不存在或密码错误!”。后置条件登录成功,显示用户菜单。非功能性需求(9)创建订单创建订单用例是注册用户创建订单购买产品的处理过程,它的用例文档如表2-9所示。表2-9 创建订单用例表用例编号Uc9用例名称创建订单用例描述注册用户创建订单购买产品。主要参与者注册用户次要参与者无简要描述此用例描述了一个注册用户如何填写订单购买产品的过程。触发条件用户在产品页点击”我要买”按钮。前置条件用户已登录,并且账户余额充足。基本路径(1)用户在产品页点击”我要买”按钮。(2)系统生成订单编号。(3)用户填写订单信息并提交订单。(4)系统将订单写入数据库。扩展点用户可以更改个人信息。后置条件非功能性需求(10)跟踪订单跟踪订单用例是注册用户跟踪查看订单状态的处理过程,用例文档如表2-10所示。表2-10 跟踪订单用例表用例编号Uc10用例名称跟踪订单用例描述用户提交订单之后查看订单状态的。主要参与者注册用户次要参与者无简要描述此用例描述了一个注册用户在创建提交订单之后,跟踪订单状态的过程。触发条件用户在订单管理页面点击订单编号。前置条件用户已创建订单。基本路径(1)用户进入订单管理页面。(2)用户点击订单编号。(3)系统显示订单状态。扩展点后置条件非功能性需求(11)后台登录后台登录用例是管理员登录后台数据管理系统的处理过程,它的用例文档如表2-11所示。表2-11 后台登录用例表用例编号Uc11用例名称后台登录用例描述管理员填写账号和密码登录后台数据管理系统。主要参与者管理员次要参与者无简要描述此用例描述了一个管理员如何登录后台数据管理系统。触发条件在管理员登录页面填写用户名和密码。前置条件管理员账号已存在。基本路径(1)填写管理员账号和密码,点击“登录”按钮。(2)系统根据管理员账号获取密码,并与填写的密码进行比较。(3)系统根据管理员权限显示菜单。扩展点管理员不存在或者密码输入有误将提示“账号不存在或密码错误!”。后置条件登录成功,显示管理员菜单。非功能性需求(12)数据管理数据管理用例是管理员管理网站数据的处理过程,它的用例文档如表2-12所示。表2-12 数据管理用例表用例编号Uc12用例名称数据管理用例描述管理员后台管理网站数据。主要参与者管理员次要参与者无简要描述此用例描述了一个管理员如何管理网站数据的过程。触发条件管理员进入后台管理系统。前置条件管理员已登录基本路径(1)管理员登录后台管理系统。(2)系统根据管理员权限显示不同管理菜单。扩展点后置条件非功能性需求2.3.5用例间关系的描述虽然每个用例的实例是独立的,但是一个用例可以用其他的更简单的用例来描述。这有点像一个类可以通过继承它的超类并增加附加描述来定义。一个用例可以简单地包含其他用例所具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。一个用例也可以被定义为基用例的增量扩展,这叫做扩展关系。包含和扩展关系可以用含有关键字和的带箭头的虚线表示。包含关系箭头指向被包含的用例,扩展关系箭头指向被扩展的用例。一个用例也可以被特别列举为一个或多个子用例,这被称做用例泛化。当父用例能够被使用时,任何子用例也可以被使用。用例泛化与其他泛化关系的表示法相同,都用一个三角箭头从子用例指向父用例5。以下选取数据管理和产品比较两个比较有代表性的用例加以说明。图2-6 管理员数据管理用例关系图所有的数据管理都要先查询将要进行操作的数据表,当找到要进行管理的数据时,管理员可以选择将要进行的操作,如添加、编辑和删除等。游客可以通过点击添加比较产品来比较多个产品的详细参数,同时也可以从比较列表中删除某种产品。如图2-7示。图2-7 产品比较用例关系图2.4 补充需求根据实际情况,本系统选用Microsoft公司的Active Server Page作为开发工具,IIS作为发布工具,Microsoft Office Access 2003作为后台数据库,使用Windows XP作为开发、测试和运行的平台,硬件配置为:P4 2.40GHz,512MB内存,80G硬盘等。Microsoft Active Server Page即我们所称的ASP,是一套微软开发的服务器端脚本环境,ASP内含于IIS之中,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。ASP的所有程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户服务器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。由于此系统没有使用存储过程,所以选择了微软公司出品的Access数据库。Access系统小巧灵活、容易调试和控制,适合中小型的数据系统。3 总体设计 3.1 系统层次图3-1统层次图图3-1和表3-1以不同的形式分别描述了本网站重要功能模块的功能和作用,并说明了每个功能模块的操作流程。表3-1 功能模块表功能名称简要说明新闻搜索游客通过关键字搜索新闻标题。新闻发布以列表的方式显示新闻标题,这样可以在页面显示大量的新闻信息同时可以提供更多的浏览方式,如分类浏览,最新新闻等。产品搜索游客通过关键字搜索产品名。产品发布显示数码相机的各项性能参数和报价。产品比较游客找到需要了解的产品时,可以将该产品加入到产品比较,然后可以继续寻找其他的产品,产品比较页面储存欲比较的产品。用户功能用户登录系统之后可以给账户充值、更改个人信息,帐户余额充足的情况下可以创建购买订单。数据管理管理员登陆以后,根据权限的不同可以管理新闻、管理厂商、管理产品和报价、管理管理员权限、管理用户、管理订单、发货等。3.2 数据库设计本系统数据库中有九个数据表,他们分别是新闻表news、新闻分类表type、产品表product、厂商表manufactory、报价表price、图片表pics、订单表orders、用户信息表users、管理员权限表admin。图3-3 数据库逻辑关系图4 详细设计4.1 数据库详细设计表4-1 管理员表 admin编号字段名说明数据类型字段大小关键字1admin_id管理员编号自动编号长整型主键2admin_name管理员登录名文本503admin_password登陆密码文本504admin_news新闻管理权限是/否5admin_product产品管理权限是/否6admin_user用户管理权限是/否7admin_admin管理员权限管理是/否8admin_price报价管理权限是/否9admin_pics图片管理权限是/否10admin_order订单管理权限是/否表4-2 厂商表 manufacturer编号字段名说明数据类型字段大小关键字1manufacturer_id厂商编号自动编号长整形主键2manufacturer_name厂商名称文本503manufacturer_name_cn厂商中文名文本504manufacturer_area厂商所属地区文本505manufacturer_time添加时间日期/时间表4-3 新闻表 news 字段名说明数据类型字段大小关键字1news_id新闻编号自动编号长整形主键2type_id新闻类型编号数字长整形外键3news_title新闻标题文本504news_author作者文本505news_time新闻添加时间日期/时间6news_origin文章出处文本507news_content正文备注8news_del_mark删除标记是/否表4-4 订单表 orders编号字段名说明数据类型字段大小关键字1order_id订单编号自动编号长整形主键2order_name订单名文本503status订单状态数字长整形4user_name买家ID文本505start_time订单生成时间日期/时间6finish_time交易完成时间日期/时间7product_id产品ID数字长整形外键8price价格数字长整形9quantity数量数字长整形10postage邮费数字长整形11post_mode邮寄方式文本5012express快递公司名文本5013logistics物流订单号文本5014zip邮编数字长整形15name收货人姓名文本5016phone收货人电话文本5017delivery_time发货时间日期/时间表4-5 图片表 pics编号字段名说明数据类型字段大小关键字1pic_id图片编号自动编号长整形主键2pic_name图片名文本503product_id产品ID数字长整形外键4pic_text图片说明文本505pic_type图片类型文本50表4-6 报价表 price编号字段名说明数据类型字段大小关键字1price_id报价信息编号自动编号长整形主键2product_id产品编号数字长整形外键3admin_id管理员编号数字长整形外键4introduction报价说明备注5price报价数字长整形6price_time录入日期日期/时间表4-7 产品表 product编号字段名说明数据类型字段大小关键字1product_id产品ID自动编号长整形主键2product_model产品型号文本503product_manufacturer_id厂商编号数字长整形外键4Time_to_market上市时间文本505其他参数其他参数表4-8 新闻类别表 type编号字段名说明数据类型字段大小关键字1type_id类别编号自动编号长整形主键2type_name类别名称文本503type_time类别添加时间时间/日期表4-9 用户表 users编号字段名说明数据类型字段大小关键字1user_id用户编号自动编号长整形主键2user_name登录名文本503user_password登录密码文本504real_name真实姓名文本505account账户余额数字长整形6in_transit在途余额数字长整形7e_mail电邮文本508post_number邮编文本509address地址文本5010phone电话文本504.2主要程序流程图4.2.1用户注册模块用户注册是用户提交注册表单的过程。用户首先填写注册信息,系统验证合格后写入后台数据库。如图4-1。图4-1用户注册操作流程图4.2.2产品比较功能模块用户可以在浏览产品详细信息的同时,点击页面上的“添加比较”按钮,将正在浏览的产品添加到比较页面。在产品比较页面还可以继续选择增加需要比较的产品,也可以从产品比较页面删除正在比较的产品。如图4-2。图4-2 产品比较操作流程图图4-3 产品比较操作流程图4.2.3在线交易功能模块用户交易功能是用户从创建订单到交易完成的过程。如图4-3。4.3网站文件结构Admin文件夹:存放管理员所有功能文件。Conn文件夹:存放conn.asp文件,用来连接数据库。Css文件夹:存放网站所需样式表文件,包括lightbox所用样式文件。Database文件夹:存放数据库文件。eWebEditor文件夹:eWebEditot插件所在文件夹。Images文件夹:存放lightbox插件所需要的图片。Img文件夹:储存网站页面所需各种图片。Js文件夹:存放lightbox插件的js文件。Pages文件夹:存放前台功能的所有页面。Pics文件夹:上传的产品图片存放在此文件夹下。Default.asp文件:网站首页文件。5 系统实现5.1 数据访问组件设计ActiveX数据对象(ADO)是一种既易于使用又可扩充的技术,用来将数据库访问添加到web页。可以使用ADO编写简洁和可升级的脚本以连接到与OLE DB兼容的数据源,如数据库、电子表格、顺序数据文件或电子邮件目录。OLE DB是一个系统级的编程接口,它提供一套标准的COM接口,用来展示数据库管理系统的功能。使用ADO的对象模型,可以轻松的访问这些接口,并将数据库功能添加到您的Web应用程序中。另外,还可以使用ADO访问与开放式数据库互联(ODBC)兼容的数据库。ADO的命令语法很简单,而且容易使用,ADO还提供可升级的对各种数据源的高性能访问。创建Web应用程序的第一步是给ADO提供一种定位并识别数据源的方法。这是通过“连接字符串”来完成的,连接字符串是一系列用分号分隔的参数,用来定义诸如数据源提供者和数据源位置等参数。ADO使用连接字符串来识别OLE DB“提供者”并将提供者指向数据源。提供者是一个组件,用来描述数据源并以行集合的形式将信息展示给应用程序。此系统由conn.asp文件完成访问MS Access数据库的操作:db_path = database/demo.mdb 将数据库的相对路径赋到一个变量上,以方便下面继续调用。Set conn= Server.CreateObject(ADODB.Connection) 建立一个ADO连接,并用对象conn来接受。connstr = Provider=Microsoft.Jet.OLEDB.4.0;Data Source=&Server.MapPath(db_path) 连接字符串,包括打开数据库的驱动方法OLEDB,以及打开数据库的路径。conn.Open connstr 最后通过对象conn通过连接字符串connstr打开数据库的连接。 页面访问数据库时,使用语句调用conn.asp。ADO组件除了Connection连接以外,还有Recordset绑定记录集,rs可以想象成数据库表中的一行Set rs = Server.CreateObject(“ADODB.Recordset”)。使用标准的sql结构化查询语言sql = “Select * from news”,建立数据库连接,绑定数据集。之后使用语句rs.Open sql,conn,1,1打开数据库中记录集。使用Loop循环语句显示具体的信息。Do Until rs.EOF .Rs.MoveNextLoop每次循环只能显示数据库中的一行,使用rs.MoveNext继续读取下一行,直到rs.EOF,即得到数据库最后一行。具体显示记录集中的特定字段使用rs(“title”)。本系统中所有数据库操作都基于以上方法,包括新闻显示和产品显示等等,本文不再赘述。5.2系统功能模块5.2.1新闻列表新闻列表页以列表的形式显示数据库内所有新闻,新闻标题前显示新闻类别,用户可以点击新闻类别的链接,以查看所选类别的新闻。新闻类别以get方式提交,系统根据提交的类别编号访问数据库,请求特定类别的新闻内容。sql = Select * from news, type where news.type_id = & request.querystring(type_id) & and news.type_id = type.type_id order by news_time desc若用户不点击新闻类别,则显示所有新闻。sql = Select * from news, type where news.type_id = type.type_id order by news_time desc新闻列表采取分页显示的方式,方便用户浏览。5.2.2产品显示产品页面主要显示手机产品的详细参数、手机报价以及手机图片。通过产品列表页,手机编号以get方式传到产品页,通过Request.querystring(id)获取前个页面传来的参数,查询数据库语句如下:sql = Select * from product,manufacturer where product_id = & Request.querystring(id) & and product_manufacturer_id = manufacturer_id查询涉及产品表和厂商表,通过两张表中的厂商编号关联。同理,手机报价通过手机编号从报价表中读取相应数据。手机的图片显示使用了lightbox特效。效果如图5-1。图5-1 lightbox效果图使用lightbox特效只需要把如下代码复制到product.asp的head区,以调用相关的js脚本以及css样式。页面中只要列出图片的链接,用户点击就会出现如上图的效果,用户还可以通过点击图片的左半部或右半部实现查看上一张或者下一张图片,效果绚丽、使用方便。response.write( & i & )5.2.3产品比较用户可以在产品页上点击“比较”按钮,将正在浏览的产品添加到比较页,同其他手机产品进行参数的横向比较。产品页上的“比较”按钮以get方式向比较页提交产品编号,产品编号储存在session数组。if isempty(session(ProArray) thenDim ProArray()Redim MyArray(3)MyArray(0)=MyArray(1)=MyArray(2)=session(ProArray)=MyArrayArrayFull=Falseend if该session数组取得手机编号以后,分别读取数据库,取得手机产品的详细参数。之后使用table同时显示出来,制作出多款手机比较的效果。产品比较页面还使用ajax制作级联下拉菜单。页面自动加载所有厂商列表,用户在选择手机厂商之后页面自动加载该厂商的所有手机型号供用户选择。在用户注册模块也用到了ajax。5.2.4搜索功能搜索功能出现在前台每个页面上,用户可以选择搜索新闻或者搜索手机产品,系统通过用户提交的关键字搜索新闻标题或者手机型号。 document.search.keyword.focus(); 用户鼠标经过文本框时,js脚本运行全选文本框里边的文字,方便用户输入。用户点击搜索按钮,系统以post方式提交关键字到search.asp,访问数据库,读取相关信息,以列表形式显示。实现较为简单,同显示新闻列表类似,不再赘述。5.2.5用户注册用户登录就是用户添加用户名密码等个人信息到数据库的过程。为了检测用户名是否被注册过,这里再次使用ajax来验证。当用户填写完用户名的时候,js脚本自动运行onChange=callServer();,ajax发送用户名到register_test.asp页,访问数据库,若该用户名存在则在不刷新页面的情况下实时返回“已被注册”,提示用户更改注册用户名。在用户填写完密码以后再次运行js脚本onChange=testPassword(),以检测用户两次输入的密码是否一致,当用户填完所有标单“注册”按钮变为可用。5.2.6管理员登陆管理员登录是提交用户名密码,系统进行验证的过程,用户登录也是相同原理。如果用户名或者密码错误,系统会提示用户名不存在或者密码错误。若用户名密码通过验证,则定义一个session对象,用来表示管理员或者用户已登陆的状态,用户或管理员退出系统的时候清空该session对象。此session对象的值不为空的时候才显示用户或管理员的功能菜单。另外管理员会根据管理权限的不同显示不同的管理菜单。5.2.7后台数据库管理管理员可以对新闻和产品等进行添加、删除和修改等操作。使用rs.open conn,sql,3,2访问数据库,使用rs.addnew、rs.update和rs.delete语句执行插入、更新、删除等SQL语句,实现比较简单,不再详细介绍。在新闻添加页面使用eWebEditor在线编辑器,可以像Office word一样轻松编辑新闻内容。调用eWebEditor方法如下:后台数据管理还包括图片上传的功能。这里我们直接使用网上广泛使用的化境无组件上传的源码。5.3页面制作此网站的定位在电子商务网站,网站可以提供在线交易功能,同时网站也提供用户购买之前的导购服务。于是此网站的风格不宜过于花哨,不宜使用过多颜色。简洁大方的风格更能让消费者或者潜在的消费者更专注于对产品的关注,而不被网站的样式或者风格所影响。基于以上原因,网站采用div+css布局的方式,既可以提高网站性能加快响应速度,又可以符合网页标准,是当今极为流行的布局方式。图5-2 网站首页截图6 测试与调试系统测试包括包括单元测试和集成测试。单元测试属于编码与单元测试阶段的任务,而集成测试则是系统集成阶段的任务。在测试开始之前,应该编制测试计划和设计测试案例。测试案例系指测试输入数据及对应的输出,其设计依赖与所采用的测试方法:白盒测试与黑盒测试。由于毕业设计提交的系统只是为需求服务的原型,因此其系统测试相对简单。采用的是软件工程中的白盒测试与黑盒测试相结合的方式。即首先进行黑盒测试,出现错误后再进行白盒测试,检验程序中出错的程序段或查出没有考虑到的情况10。白盒测试:将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否相符。黑盒测试又称功能测试,它把程序看成一个黑盒子,不考虑程序的内部逻辑结构和处理过程,只着眼于程序的外部特性。也就是说黑盒测试法是在程序的接口上进行测试,检查它是否满足功能要求,输入能否被正确接受,输出结果是否正确,以及外加倍息(如:数据库成文件)的完整性能否保持11。下面是本系统中部分采用黑盒测试的测试用例文档。表6-1 用户帐户添加测试用例文档用例名称用户帐户添加测试用例idC-01基本描述用户帐户添加的实质就是向数据库Users表中添加一条记录。由于与数据库交互且会员名具有唯一性等特点,对此功能进行测试。测试方案分别添加相同的和不同的用户名进行测试,从而查看系统给出的反馈信息是否符合预期的系统功能。
展开阅读全文