毕业设计(论文)基于ASP的手机在线销售系统的设计与实现



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