目 录
前 言................................................... 1
第1章 系统研发背景及意义................................. 2
第1。1节 选题背景......................................... 2
第1.2节 基于Web的网上购物商城的研究现状................... 2
第1。3节 课题背景及开展研究的意义.......................... 5
第1.4节 研究方法、研究内容及其预期目的..................... 7
第2章 系统开发技术简介及运行环境的搭建................... 8
第2.1节 Struts技术与MySql技术............................ 8
第2。2节 运行环境的搭建.................................. 11
第3章 系统性能需求及数据描述........................... 13
第3。1节 需求分析........................................ 13
第3。2节 可行性研究...................................... 14
第3。3节 系统分析及数据描述.............................. 15
第4章 系统总体设计..................................... 22
第4。1节 概述............................................ 22
第4。2节 功能模块设计.................................... 22
第4。3节 系统功能描述.................................... 23
第5章 系统数据库设计.................................... 25
第5.1节 实体E-R图....................................... 25
第5。2节 数据库设计...................................... 28
第6章 系统详细设计..................................... 32
第6.1节 程序流程图....................................... 32
第6。2节 网上购物系统的实施.............................. 32
第6.3节 系统界面设计..................................... 33
第7章 系统测试与维护................................... 43
第7.1节 测试的任务及目标................................. 43
第7。2节 测试方案........................................ 43
第7。3节 系统维护........................................ 45
结 论.................................................. 46
附 录.................................................. 47
前 言
近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来。网上购物系统作为B2B,B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。尤其是购物商城的出现,为新一代的购物形式提供了一种全新的购物平台。本文主要考虑的是如何建设B2C的网上购物系统.
网络的日益普及和迅猛的发展,市场竞争日益激烈,利用网络进行服务和管理已经成为一种趋势.网络的发展给用户带来了很大的方便, 风起云涌的网站在炒足了”概念”之后,都纷纷转向了”务实”,而”务实”比较鲜明的特点之一:是绝大多数的网站都在试图做实实在在的”网上交易",所谓网上交易就是利用计算机技术、网络技术和远程通信技术,实现整个商务(买卖)过程中的电子化、数字化和网络化,
网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源.所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。
本论文研究一种基于MVC三层架构的Struts Jsp等软件设上购物系统,其开发主要包括后台数据库的建立、后台管理以及前台页面的Web设计。系统使用Sun公司开发的Myeclipse,tomcat,Mysql等开发工具,利用Windows Xp,tomcat,Myeclipse 建立运行环境,再结合Mysql建立数据连接关系。利用其提供的各种组件,在短时间内建立数据库,对数据库进行分析与建JSP页面,不断改进,直到功能基本实现的可行系统。系统主要分为该系统分为用户管理、商品展示、购物车管理、订单管理4个主要模块,用户管理实现用户的注册、登陆、安全退出等功能;商品展示实现了分页显示商品、商品选购、商品详细信息等功能;购物车管理实现查看商品、修改数量、删除商品、恢复商品等功能;订单管理实现订单填写、自动回填订单信息、订单生成、返回订单号等功能。因为系统采用MVC三层架构设计思想,使得系统的可移植性非常强,只需修改配置文件就能在在不同服务器上运行。
第1。1节 选题背景
随着Internet的快速发展,人们已经进入了信息时代,Web已经对商业、工业、银行、财政、教育、政府、娱乐和信息产业及人们的工作、生活产生了深远的影响.许多传统的信息和数据库系统正在被移植到互联网上,人们获得信息的来源已经不再只是报纸、电视、广播等传统媒体,一个新的信息传送媒体逐渐被人们所青睐。范围广泛的,复杂的分布式应用正在Web环境中出现。网上购物系统就相继的出现,网上购物不仅给人们带来了不少的方便快捷,而且还提供了种类繁多的商品,代替了传统的购物形式,提供了方便快捷,安全可靠,价格低廉的各种商品,因此网上购物系统正在快速向前发展。
第1.2节 基于Web的网上购物商城的研究现状
1。2.1网上购物系统的基本框架
基于Web的网上购物商城的设计与实现采用MVC架构设计思想,MVC架构是一种非常好的架构,它具有很好的移植性,只要需改配置文件就可以在任何的服务器上运行。在设计中使用了Struts2框架和JSP,结合服务器端来实现Web的功能.Struts2是一个基于Action的MVC Web的框架。它是随着Web的技术发展起来的,它是对传统的MVC框架的一种改进,通过JSP技术把用户发送的请求(Request)传送给控制器端,从而避免了大量的代码出现在网页脚本中,减轻了服务器端的负担.
在设计中我使用了JSP技术,它能更好的实现网站的功能,使网站更加的美观,美化了界面.JSP是一种网站开发技术,即Java Server Page,JSP(Java Server Pages)是由Sun Microsystems公司倡导,许多公司参与一起建立的一种动态网页技术.就是普通网页文件中插入Java程序和JSP标记,就形成了JSP文件。它可以在Servlet和JavaBean的支持下,完成功能强大的Web应用程序。
1。2。2国内网上购物系统的发展
随着社会的不断进步及网络经济时代的蓬勃发展,互联网已逐步深入人心,人们不再满足于传统的购物方式,“网上购物"这种新型的购物方式已经为更多的人所接受。我国的计算机技术起步较晚,而近几年随着经济的发展,计算机价格的下降和人们生活水平的提高,计算机技术在我国已经得到了普及,不论单位还是家庭都拥有了计算机,计算机已成为人们工作和生活的重要组成部分。所以传统的购物已经不能满足人们的需要,而网络购物的商品的种类多样性,价格的低廉,恰好为网上购物提供了良好的基础,另外我国国内的网络的快速发展和良好的群众基础为网上购物这种新的购买形式提供了良好的群众基础。所以网上购物方式日益被大家所接受。
在最近一段时间里,我也查了一些关于网上购物的信息。有60.4%的网站属于企业网站,可见如今企业都将网站作为推广自己的重要手段。其次是个人网站.而政府部门的网站占到4.4%。但是,另有调查显示,将近75%的企业的网站每天的点击率在200次以下,更有51.5%的企业网站的点击率不足50次,仅有8。6%的企业网站的点击率每天超过1000次。这说明,做好一个网站,做出网站的特色也企业信息与新闻相结合来吸引人观看是一个非常重要的问题。
另外,作为信息、新闻传播的传统模式的报刊业也将目光和精力投入到网络网站上来。毫无疑问,高速,海量的信息传输对报刊业也是巨大的刺激。此外,随着电子时代的迅速发展,MP3等电子产品已受到广大的消费群体高度的关注。生产制造MP3的厂商作为新时代产业的一个主要部分,当然也会紧随着时代的发展来使自己在市场与行业中更具竞争力。利用电子商务的模式,在介绍推广自己的同时,以新的一种渠道销售自己的产品,也愈发被关注。因此,设计一个具有电子商务功能的企业网站具有非常好的开发与应用前景。
1.2.3国外网上购物系统的发展
伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们不再满足于信息的浏览和发布,而是充分的享受网上购物所带来的便利,人们足不出户就可以买到自己所喜欢的商品,这真是网络给人们的生活所带来的巨大好处。因为网络起源于国外,而我国的网络起步较晚,国外的网上购物已经是那些国家人们生活的密不可分的一部分,而且国外一些网上商家利用先进的技术为顾客提供了全息的图像,人们可以更好的亲身体验自己所钟爱的商品.
正因为上述的原因,我在网上查看了一些的资料。了解了一些国家现在网上购物系统的发展,在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特,家庭仓储、科罗格、J.C培尼等纷纷挤身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从网上购物。
所以,我国局限自己现在的技术和社会发展的条件,还有很大的差距。
1。2.4数据库系统研究现状
本设计使用的MySql,MySql是一款很好的数据库,是目前主流的数据库产品,是一款开源的数据库,适合企业网站的实用。MySQL是一种关联数据库管理系统,将数据保存在不同的表中,因此增加了速度并提高了灵活性。MySQL使用SQL“结构化查询语言”,多种操作系统的支持,为多种编程语言提供了API,支持多线程,优化的SQL查询算法,可以处理大型数据库,支持多种存储引擎等,成本低、速度快、体积小和开放源码,由于它拥有这么多优点,所以许多中小型网站都采用MySQL作为网站的数据库.
数据库系统发展经过了四个阶段:
(一)20世纪60年代,采用的是层次关系型数据库系统.
(二)到了70年代,采用的是网状型数据库。
(三)到了80年代,采用的是关系型数据库系统,1970 年,Codd 博士首先提出关系模型.目前,几乎所有数据库系统全都是建立在关系模型上的.1979年推出的Oracle V2是最早的商业关系型数据库系统.
(四)到了90年代末期,提出了对象关系型数据库系统,允许定义数据方法和数据类型,通过方法对对象进行操作.
1。2.5 实现开发语言的研究现状
Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface,简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行.现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行.Java应用编程接口已经从1。1x版发展到1。2版。目前常用的Java平台基于Java1。5,最近版本为Java1.7.
Java分为三个体系JavaSE(Java2 Platform Standard Edition,Java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,Java 平台企业版),JavaME(Java 2 Platform Micro Edition,Java平台微型版) 。
Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响:
(一)软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用.这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求.
(二)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。在此基础上形成了Java2平台和。NET平台两大派系,推动了整个IT业的发展。
(三)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商、构件提供商、服务器软件以及咨询服务商出现。企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长、新的商机、新的管理。
(四)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念、协作、创作、责任、诚信是人才的基本素质。
总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。
第1.3节 课题背景及开展研究的意义
1。3.1网上购物系统研究背景
随着社会的不断进步及网络经济时代的蓬勃发展,互联网已逐步深入人心,人们不再满足于传统的购物方式,“网上购物"这种新型的购物方式已经为更多的人所接受。信息技术飞速发展,网上销售和管理水平也随之提高,逐步实现信息化,缩减中间渠道,形成网上直销,免去时间和空间的限制,在传统购物的过程中,这些中间环节是不可能避免的,要想买到自己所需要的商品,就必须去实体店,也就是人们所说的商场,如果网上商城开发成熟,人们就可以坐在家里,或者是任何一个地方,只要有一台联网的电脑,就能买到自己需要和想要的商品,极大的方便了人们的生活,节省了很多时间,此外网上的商品种类齐全,对一些特殊商品的需求也能得到满足,由于网上购物可以减少很多中间环节,大大的节省了成本,只需很少的运费就能送到家,所以再价钱上也占很大的优势。
在设计上,该系统采用Struts2经典的MVC模式,实现WEB的功能,满足一些小型网上商家的需要,不可能把所有的功能都完善,随着客户需求的增加,后期的升级与改进是很必要的,这种开发模式将显示模式与设计模式相分离,对于后期的开发人员来说,是一件极大的好事,只需增加相应的代码,提供相应的接口就可以了,而不必过多的考虑系统的整体情况,当然,如果是大型的网站,就必须运用一些架构等,但对于这样的小型网站来说,这种模式就足够了。
1。3。2网上购物系统开展研究的意义
互联网的快速发展,为改变传统的商业运作模式提供了一种技术上可行性的方案
利用Internet的技术和协议,建立各种企业内部网(Intranet),企业外部网(Extranet),互联网将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为电子商务。 当今比较流行的网上购物系统国外有“淘宝(www.taobao。com)”,国内有“当当(www.dangdang。com)".它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。
设计和完成一个电子商务网站的,将会牵涉到许多技术上的问题,如:动态网页制作技术的,后台数据库的设计和管理。这些都是需要注意的实际问题,为更好的提高一个企业的核心竞争力,为顾客提供良好的体验是一个网站必须具备的条件,所以研究网上购物系统是电子商务公司必须面对的问题。
第1.4节 研究方法、研究内容及其预期目的
1。4.1研究方法
设计是在 Windows 系统下采取基于Web使用Strut2框架的MVC模式来实现网上购物平台的功能,以MyEclipse为开发平台,MySql为后台数据库,Tomcat为服务器,从结构和功能上,系统主要是以后台管理模块为主.设计中分析了一些购物网站的相关功能,如:当当网。结合本次毕业设计的相关要求写出需求分析;其次,综合运用以前所学的相关知识(包括计算机网络技术、相关协议、信息安全、JSP等相关知识等),选择所熟悉的开发工具进行本毕业设计的开发;在设计中以需求分析为基础,写出系统开发计划、实现流程及相关问题的实现方法。
1。4。2研究内容
本设计通过实际网上购物平台的功能,与一些在线购物平台网站的功能进行比较,解决了一些网站不能为顾客提供良好体验的一些问题和购买功能的问题。如:正在搞活动的商品,商家推荐的商品,分类商品以及相关内容。当用户选中某款商品时可以进行登录购买,如果不是本站会员也可以进行注册,然后再继续购买,与传统购物流程相似,但操作更为简单,实现了随时随地只要在电脑前就可以购物的愿望。不同的用户有不同的权限,如果是管理员,可以实现商品的添加与商品信息和用户信息的删改、商品的管理、对违法用户的删除,订单的查看与管理等功能,如果是普通用户则只能对自己信息的修改,自己订单的查询等操作。
1。4。3预期目的
网上购物系统是一个用户和商家相互交互的在线购物的系统。网上购物平台主要是对后台管理和前台操作.后台管理是管理员对本网站的维护,通过商品资料(商品添加、商品修改)会员管理(会员审查)网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)等功能达到对网站的管理。前台操作是用户登录到本网站,可以进行用户注册,通过网站的精品推荐或商品搜索功能,找到自己想要买的商品,装入购物车,提交定单进行购买.网上购物平台的特点是客户和电子商品信息量很大,管理员需要整理的信息很多,为让管理员轻松、方便、快捷的管理,该平台采用符合购买电子商品基本的原则,满足广大客户的日益增长的数量,并达到操作过程中的直观、方便、实用、安全等要求.
第2。1节 Struts技术与MySql技术
Struts2框架是目前比较成熟的框架,Struts2是在Struts1和WebWork的基础上发展起来的。在Struts2还没有成熟之前,Struts1已经成为了高度成熟的框架,不管是稳定性还是可靠性,都得到了广泛的证明。但是由于它“太老"了,一些设计上的缺陷成为它的硬伤,面对大量新的MVC框架蓬勃的星期,Struts1也开始了血液的更新,Struts2的体系与Struts1体系的差别非常的大,因为Struts2使用了WebWork的设计核心,而不是实用Struts1的设计核心。Struts2大量的使用拦截器来处理用户的请求,从而允许用户的业务逻辑与ServletAPI分离.Struts的框架结构与WebWork相差不大,Struts2的体系如以下的结构(图1。1)。
图 1.1 Struts2的结构图
Struts2框架的基本处理流程:
(一) 浏览器发送请求。例如:/mypage。action
(二)核心处理器FilterDispatcher根据请求决定调用适用Action
(三)WebWork的拦截器链自动对请求应用通用功能.例如:workflow , validation或文件的上传功能.
(四)回调Action的execute方法,该execute方法先获取用户请求参数,然后执行某种数据库操作,既可以是将数据保存到数据库,也可以从数据库中检索信息.实际是因为Action只是一个控制器,它将调用业务逻辑组件来处理用户的请求。
(五)Action的execute方法处理结果将被输出到浏览器中。
MySQL是目前最流行的开放源代码的数据库管理系统,这个管理系统可以在Internet上使用,提供了很多最小性能损失方面的特性,并且以它可靠性及运行的速度,能在各种应用环境中成功使用。MySQL是一个高性能,多线程,多用户,建立在客户--—服务器上的RDBMS( 数据库)。MySQL始于1979年,最初是Michael “Monty” Widenius为瑞典的TcX公司创建,在以后的几年中,Widenius决定创建一个洗的,符合自己特殊需求的数据库系统.1996年5月,这个系统完成并且发布给了一小部分人,成为我们今天所知的MySQL的最初版本。几个月后MySQL 3。11作为Solaris的二进制版本公布于世.不久MySQL的源代码和二进制的源代码版本开始发行。MySQL以源代码和二进制代码两种形式适用于多种平台。
MySQL最具有竞争力的特性:
(一)可靠性
在大多数情况下,高级数据库的性能是以降低可靠性为代价的,然而MySQL不是这样,它提供了最大可靠性和正常运行时间,并且在大量要求严格的应用系统中已得到测试和验证。MySQL巨大的用户基础有助于快速查找和解决存在的缺陷,并且能在各种环境中测试软件,这种方法,早就了几乎完全没有缺陷的软件。
(二)容易使用
MySQL易于使用,有很多的详细的操作手册,以及大量的书籍.当大多数与MySQL服务器交互的功能通过命令行界面发生时,许多基于浏览器和其他方式的图形工具还能够简化用于控制和管理MySQL数据库服务器的任务。最后,与具有数百个可以调整参数的专用系统不同,MySQL非常容易调整和优化。
(三)多用户支持
MySQL是一个完全多用户系统,这就意味着多个用户,可以同时访问和使用一个(或多个)的MySQL数据库。在基于网络的应用程序(要求支持多个远程客户同时建立连接)的发展期间,这是具有特殊意义的.MySQL也包括一个强有力的,灵活的权限系统,它允许管理者使用基于用户的基于主机的认证方案的组合来限制对敏感数据的访问。
(四)可扩展性
没有很多性能的下降,MySQL就可以处理非常巨大和复杂的数据库。包含几十万条记录,几十亿个字节的表是常见的,MySQL网站本身就要求使用包含5000玩条记录的数据库,MySQL有效地满足了50到1000个并发用户的访问。并且在超过600个用户的限度的情况下,MySQL的性能并没有明显的下降。像SAP,Yahoo ,NASA和Tesas Instruments这样的商业集团;大容量网站。如Google,政府组织,如美国人口普查局和罗德岛州政府都是用MySQL来加强他们的系统,可见MySQL数据库系统是非常的稳定的.
(五)可移植性
MySQL对UNIX和非UNIX操作系统都非常的适用,如Linux ,Windows 95/ 98 /2000 /XP和NT,它可以在一系列体系结构上运行,包括Itenl x86 , Alpha ,
SPARC , PowerPC和IA64;它还支持从抵挡的386系列到高档的Pentium及其和IBM zSeries大型机等很多的硬件配置。
(六)遵循现有标准
MySQL的发展工作组视图使MySQL尽量的适应标准。MySQL 4。0支持ANSI SQL -99标准的大部分重要的特性,而且支持在未来版本中希望增加的标准。另外MySQL使用自定义扩展函数和能够改善可移植性和给用户提供强大功能的数据库类型,扩展了ANSI标准。
(七)国际化
MySQL作为一个全球很多国家百万人使用的系统,如果没有包括对各种用语言和字符集的支持,将是不正确的.MySQL 4.0 支持很多重要的字符集合(包括拉丁语,汉语和欧洲字符集).从版本4。0开始,支持Unicode字符集。
(八)广泛的应用程序支持
MySQL应用程序编程接口API面向很多汇编语言,因此用自己的语言写出数据库驱动的应用程序是可能的。当前MySQL与C,C++,Java等都有接口.
(九)开放源代码
MySQL的开发者MySQL AB是开放源代码的坚定支持者,并且MySQL软件可在GPL下流畅的使用。用户可以免费下载和修改符合他们需要的应用程序的源代码,并且可以免费的使用他来增强自己的应用程序.通过在全世界数百万装置上大规模的测试软件的可靠性和不断扩展软件引擎,以保持领先于最新技术和最新的发展,让MySQL走在了竞争者的前面。
第2.2节 运行环境的搭建
2.2.1JDK的安装与环境变量的配置
使用JDK1。5.0。08(windows版)双击“jdk-1_5_0_08-windows-i586—p.exe"安装文件,开始安装JDK,安装步骤按默认即可。
系统环境变量配置:
右键单击“我的电脑”,然后选择“属性”,在打开的对话框中,选择“高级”选项卡,然后单击下面的“环境变量”按钮,在弹出的环境变量对话框中,看下面的“系统变量”块,单击“新建”按钮,弹出“新建系统变量”对话框,然后创建变量名为“JAVA_HOME”的变量,变量值为“C:\Program Files\Java\jdk1.5。0.08\”(即安装JDK时所选的安装JDK的根目录)。然后再在系统环境变量中选择“Path”变量,单击“编辑"按钮,弹出编辑系统变量对话框,在“变量值"的后面添加“;%JAVA_HOME%bin”。 2。2。2Tomcat安装与环境变量的配置
使用Tomcat-5。0。28版本,解压“jakarta-tomcat-5。0.28。zip”文件,到指定目录即可。当用户配置完环境变量后,就可以运行MyEclipse,在MyEclipse工具栏上点击“window”à选择“showtime”à选择“Serves”在serves里面把你的工程名称加载进去,在“Tomcat 5。x”上单击右键,选择“Run”运行即可。
Tomcat 的环境变量的配置:
右键单击“我的电脑”,然后选择“属性”,在打开的对话框中,选择“高级"选项卡,然后单击下面的“环境变量”按钮,在弹出的环境变量对话框中,看下面的“系统变量”块,单击“新建”按钮,弹出“新建系统变量”对话框,然后创建变量名为“TOMCAT_HOME”的变量,变量值为“C:\Program Files\Apache Software Foundation\Tomcat 5.0.28\"(即解压Tomcat时所选的Tomcat的根目录),然后再在系统环境变量中选择“Path”变量,单击“编辑"按钮,弹出编辑系统变量对话框,在“变量值”的后面添加“;%TOMCAT_HOME%bin”。
2。2.3MyEclipse6。0安装
使用MyEclipse6。0版本, MyEclipse 的安装:首先安装 ECLIPSE 到“F:\eclipse”路径下 ,按照默认的安装配置,点击“下一步”完成安装,之后安装 MYECLIPSE ,按照默认配置点击“下一步” ,选择“F:\eclipse” 路径,点击“下一步” ,按照默认配置点击“下一步” ,完成 MyEclipse安装后打开MyEclipse,选择工程需要存放的路径(随意)后进入MyEclipse操作平台上。另外,还要载入相应的jar包,如Hibernate—lib、Jdbc-lib、Struts—lib等包。
2。2.4 MySQL 的安装
MySQL源代码和二进制两种形式对Windows XP都是可用的。安装的步骤如下:
(一)以管理员的身份登录,并且解压缩文件,把它保存在一个临时的目录中,保存以后可以看见stetup。exe文件
(二)双击setup.exe文件开始安装过程,会看见一个欢迎界面,双击Next按钮
(三)点击Browse按钮选择安装MySQL的目录,然后点击Next按钮
(四)选择要求安装的类型,点击Next按钮,通常选择经典安装,如果想改变默认的设置,可以自定义安装,然后点击Next按钮。
(五)点击Next按钮,MySQL现在开始安装导系统上。
(六)安装完成以后,点击Finish按钮即可完成安装。
第3.1节 需求分析
3。1.1系统需要解决的主要问题
本系统是以业务需求为基础,网站需要完成的以下任务:网站需要让供应商、客户以及浏览者能看到商城的信息及动态,另一个重要的内容就是能够显示出该商城现有的各类型商品及其详细信息;由于消费者的需求在增长和变化,商城在面对面销售的基础上也要随之发展出相应的服务,如在线订购等技术。另外,企业营销商除了能与普通客户一样浏览网站之外,还需要对网站进行管理。企业需要定期更新现有商品的详细信息、商城动态和联系方式,必要时还要对企业的介绍做更改.对于消费者通过网站提交的各种订单能够进行处理以方便销售。
3。1。2系统具备的基本功能
根据上面的需求,需要设计出网站的前台和后台。用户在前台所浏览的内容,网站的后台需要能相应的做出更新或修改。根据以上的想法,设计出网站的功能:
前台用户相关功能主要包括:
用户注册、登录;
购物车;
订单查询;
分类浏览;
编辑推荐;
热销图书;
最新上架;
后台管理相关功能主要包括:
添加商品;
处理订单;
查询用户信息;
将以上这些功能制作成网页以后,在其中分别互相建立连接,基本完成商城及用户对网站的要求。
第3。2节 可行性研究
可行性分析是在全面调查基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、运行的方面进行分析和研究,以避免投资失误,保证新系统开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决.这部分将从以下四个方面进行研究:技术可行性、经济可行性、操作可行性和调度可行性。
(一)技术可行性
因为计算机硬件的发展已经越来越快,现在PC机的性能已经可以胜任普通网站的web服务器。购买一台高性能PC机作为企业的网站对于这个营销商来说并不是问题.
本设计使用Struts2框架和JSP应用技术 ,JSP可以和各种Java技术完好的结合在一起从而实现非常复杂的应用。因此得到了广泛的支持和承认,成为一种非常流行的网站开发技术.利用JSP技术可以建立先进、安全和跨平台的动态网站。鉴于JSP技术的成熟与广泛的使用,加以指导老师的帮助可以得到很多的技术支持。鉴于MySQL数据库技术的简单方便性,所以设计使用MySQL数据库作为数据库的后台。
(二)经济可行性
根据调查的资料,现在聘用一支团队设计并建设企业商务型网站的费用为5300元左右,另外每年交纳600元占用网站空间和网站维护费。为了使网站建成后能达到增加企业经济效益的效果,寻找一支创新与技术优秀的团队最多需要增加3000元的一次性投资。这样看来一个成功的网站建成后为这个营销商带来的效益将会远大于成本。但架设好一个网络中的服务器,以满足互联网中浏览者对速度的需求,这样每年服务器与网络线路和设备的维护费用将是企业不得不重点考虑的因素。如何做好经济可行性分析,需要通过仔细的调查与投资和行业方面的专业人士分析。
(三)操作可行性
如今,计算机与网络已经非常地普及。特别是在企业信息化高需求与快速发展的时代,计算机应用已经成为企业员工必备的技能。由于这个课题是以PC机作为服务器的网站,营销商可以自己对网站进行操作和管理。
第3.3节 系统分析及数据描述
3。3业务流程分析
将上面的需求分析进行归纳。得出网站的两个业务主角,即用户与管理员。然后制定他们的相关活动.对应网站的功能可以确定,用户活动对应网站前台业务流程;管理员活动对应网站的后台业务流程.在对业务流程分析中,尽量把业务主角的活动考虑全面,使系统的功能尽量完整。
3。3.1前台业务流程分析
前台业务主要是面向客户,用户可以浏览网页内的商品信息。前台业务的流程图如图3。1所示。
图3。1 前台业务流程图
3.3。2后台业务流程分析
在网站设计中,管理员完成对网站的维护与管理的工作。使用数据库中权限的功能对管理员设置权限,管理员可以对商品及商品分类的信息进行新增,修改及删除,也可以对订单信息进行查看、撤销、发货、完成等处理,同时管理员也可以对用户信息进行管理。后台业务流程图如图3。2所示。
析
在分析了系统的业务流程之后,就要分析系统的数据流,为后面设计网站的数据库做好基础。这里主要利用数据流程图来说明数据流程。数据流程图是一个图示工
具,容易理解,容易在开发和用户方之间进行交流,以及在开发组织内部交流.因此数据流程图作为一种模型工具已经广泛使用在软件工程的实践中。数据流图简称DFD图,数据流图有四种成分:源点或终点、处理、数据存储表和数据流。根据前台业务流程,可以将用户的活动分为两类.用户浏览所使用到的数据归纳为站内信息,如商品信息等。而用户提交的订单则作为网站的订单数据。相应的,根据后台业务流程,管理员对网站内容的添加、更新和删除等所操作的数据定义为商城信息.
数据流图的图例如表3.3所示。.它只是将网站的数据流进行了一下分类.例如将商城信息分为了商品信息、分类信息和用户信息。在零级图的基础上还可以将每一个处理的细节描述出来,从而画出细节图。
3。3。4数据字典
数据字典是关于数据的信息的集合,也就是对数据中包含的所有元素的定义的集合,数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息.一般说来,数据字典应该由下列四类元素构成:数据元素、数据流、数据存储和数据处理。它为软件开发人员提供数据库设计的参考,并为用户了解系统时作为一个必有工具。
(1)数据流表3.1 用户注册信息
数据流名称:用户注册信息 来源:用户注册 去向:用户信息表 组成:用户名+密码+邮件+地址+联系号码+邮编+身份证+QQ号+密码找回问题+密码找回答案 |
表3。1 用户注册信息
(2)数据流表3。2 购物车信息
数据流名称:购物车信息 来源:商品信息表 去向:订单信息表 组成:商品编号+商品名称+商品数量+购买总价 |
表3.2 购物车信息
(3)数据存储表3。3商品信息
数据存储名称:商品信息表 来源:商品管理 去向:商品统计表 组成:商品编号+商品名称+商品单价+商品型号+商品等级+商品状态+商品库存+商品图片+商品简介+商品详细信息+商品备注 存储方式:顺序 |
表3。3 商品信息表
(4)数据表订单表3.4 订单信息表
数据存储名称:订单信息表 来源:结账 去向:订单统计表 组成:订单ID+订单号+用户真实姓名+下单时间+用户邮箱+邮寄地址+邮编+支付方式+用户联系方式+收货方式+处理状态+备注 存储方式:顺序 |
表3.4 订单信息表
(5)数据加工表3.5 产生订单
数据加工名称:提交订单 来源:用户结账 去向:订单信息表 加工逻辑:将订单信息填写完整后,把订单信息输入到订单信息表 |
表3。5 产生订单
(6)数据审核用表3.6 审核用户登录
数据加工名称:审核用户登录 来源:用户名和密码 去向:用户信息表 加工逻辑:将用户登录时输入的用户名和密码与用户信息表中的用户名和密码进行对比,对比正确后,提示用户登录成功 |
表3。6 审核用户登录
(7)数据订单表3。7 订单查询
数据加工名称:订单查询 来源:用户输入的订单号 去向:订单信息表 加工逻辑:对会员输入的订单号,在订单信息表中进行查询,发现有该订单号,将订单信息从订单信息表中输出 |
表3。7 订单查询
3。3。5数据存储
数据存储是数据结构停留或保存的地方.也是数据流的来源和去向之一,可以是手工文档或手工凭单,也可以是计算及文档。一般而言,应包括如下内容:数据存储名、说明、编号、输入的数据流、输出的数据流、组成(数据结构)、数据量、存取频度、存取方式.
3。3.6 数据流
数据流是数据结构在系统内传输的路径。对数据流的描述通常包括如下内容:数据流名、说明、编号、数据流来源、数据流去向、组成(数据结构)。
3。3.7 数据处理
处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:处理过程名、说明、输入数据流、输出数据流、处理
第4章 系统总体设计
第4。1节 概述
根据业务流程,需要将网站划分为前台、后台和数据库.前台中,客户在登录网站主页后即可链接查看到商品等信息,还可以做订购商品等活动.为了提高客户对感兴趣的商品信息的了解,所以主界面的图书都做了非常好的分类。数据库将要作为网站后台重要的组成部分,管理员的主要操作几乎全部围绕数据库,最后将更新的数据要显示给前台。
前台是一个比较大的功能群,它所包含的信息不仅数量多,而且种类不同。将它设计成比较优化的结构形式能组织好网站的信息内容并将其归类,方便用户获得所需要的信息。其中每一部分都以尽量少的内容显示,以免浏览者看的眼花缭乱而失去耐心。除了这些作用外,设计好前台的结构形式,也是为后面程序的编写做出了框架.在为系统划分功能模块,并以模块为单位来实现设计时也是以这个结构为根基的。
系统的后台要对整个网站的信息和数据进行维护。网站前台所显示的信息在后台都应该有对应的维护。这样,除了设计后台的各个管理界面外,为了方便管理员的工作,可以将各个管理的界面结合到一个页面中。因此,各个管理的界面会作为主管理界面的分支。在设计好网站前台与后台的结构以后,就将数据库加入到结构中.后台将更新的数据写入到数据库中,前台再将数据库中的信息取出来并显示。
第4.2节 功能模块设计
层次模块结构是将系统划分为若干子系统,子系统下再划分为若干的模块.而模块是指具备有输入输出、逻辑功能、运行程序和内部数据四种属性的一组程序。在结构化系统设计中,模块一般都是按功能划分的,通常称为功能模块.合理的功能模块的划分能够极大限度地减少重复劳动、提高开发工作的效率并增大系统的可维护性.
模块化设计是把大型软件按照一定的原则划分成一个较小的相对功能独立又相关联的模块,每个模块完成一个特定的子功能,把这些模块结合起来组成一个整体,完成指定的功能,满足问题的要求。采用模块化原理的优点在于可以使软件结构清晰,容易测试和调试,从而提高软件的可靠性,可修改性,有助于软件开发的组织管理。
以前面的系统分析为基础,将系统分为两大模块,即前台模块和后台模块。网上商城的功能结构如图4。1所示。
图4。1 网上商城的功能结构图
第4。3节 系统功能描述
4。3。1 前台模块的功能模块设计描述
前台模块主要为登陆网上商城的用户提供商品和服务的信息,填写并提交订单的服务.这样,将前台模块再细分为用户管理模块、订单查询模块、购物车模块、填写送货地址模块。顾名思义,这些模块的名称基本概括了它们的功能。下面详细说明一下这些功能模块的设计:
(1)用户管理模块:
为了方便于网站的管理,必须由一套完整的用户管理体系。该网站用户管理模块主要实现用户的注册、登录、找回密码3方面功能。
(2)购物车模块:
在超市购物,可以根据自己的需要将很多种商品挑选至购物车或购物篮中,然后到收银台结款。而在网上虚拟的商城中,当然没有办法使用真正的购物工具,因此,通常都会采用一种被称为“购物车"的技术来模拟现实生活。在网上商城中,所选商品须通过购物车进行暂存,然后生产订单。这种技术使用起来十分方便,不但可以随时添加、查看、修改、清空购物车中的内容,还可以随时去收银台结款.
(3)订单管理模块:
用户提交订单后,通过产生的订单号查询订单信息及执行状态。用户可以浏览自己购买商品的数量,商品ID及购买总价等信息。
(4)填写送货地址模块:
当用户购买完成商品在购物车中结算以后,可以填写自己的地址已确定购买的商品的寄送。在填写送货地址栏中可以修改自己的地址及联系方式,这样确保商品的准确送货。这样,子模块各自的内容基本设计好。下面可以设计如何将这些模块组织在一起,构成一个结构比较合理的前台了。除了在主页中建立面向其他模块的链接外,也要在其他模块中建立返回主页面的链接。另外各个模块间也应该互相链接起来.
4。3。2后台管理模块的功能模块设计描述
后台管理模块的功能是对站内的资源进行管理和维护。以后台的业务流程分析和前台各个模块的设计为基础、根据用户的需求分析来确定后台管理模块应具有的功能。后台管理模块的各个子功能模块如下:
管理员身份验证模块:为合法用户提供一个后台入口。该模块的功能是对管理员身份进行能够验证。用户输入登录ID和密码后,系统将判断登录ID及密码的有效性,如果通过验证则状态后台主页,反之则提示错误.
商品管理模块:向商品表插入前台首页展示的商品信息,也就是添加商品信息。
处理订单模块:网站管理者对用户订单的执行和编辑状态.
用户信息管理模块:查询注册所有用户,对一些非法或失信用户进行删除操作 。
第5。1节 实体E—R图
E-R图是一种概念模型。概念模型实际上是现实世界到机器世界的一个中间层次.概念模型用于信息世界的建模,是显示世界到信息世界的第一层抽象,使数据库设计人员进行数据库设计的有利工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接的表达应该用众的各种语义知识,另一方面他还应该简单、清晰并且易于用户理解.
E-R图是直观表示概念模型的工具,它有三个基本成分:
矩形框:表示实体类型(考虑问题的对象)。菱形框:表示联系类型(实体间的联系)。
椭圆形框:表示实体的属性。
根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础.
- 商品信息表d_Product的实体图图5.1
图5.1商品信息表d_Product的实体图
图5.2 用户信息表d_User的实体图
第5.2节 数据库设计
本系统采用的数据库管理系统是MySQL数据库。该数据库不仅能够满足最大的数据处理系统和商业 Web 站点存储数据的需要,还能为个人或小企业提供易于使用的数据存储服务。表的设计是这次设计的一个核心内容.根据前面对网站前台与后台功能模块的分析和对数据库中实体关系的设计,可以看到网站中所用到的数据信息基本包括:商品信息、用户信息、订单信息等。本系统的数据库的名字为dangdang,在本数据库中包括如下几个表:
(1)商品信息表d_Product
商品信息表d_Product用来保存商品的基础信息。结构如表5。1.1所示。
表5.1.1 商品信息表
字段名称 | 数据类型 | 长度 | 是否允许为空 | 是否为主键 | 字段描述 |
Id | int | 12 | no | YES | 商品编号 |
Product_name | varchar | 100 | NO | NO | 商品名称 |
Description | varchar | 100 | YES | NO | 商品描述 |
Add_time | bigint | 20 | YES | NO | 上架时间 |
Fxed_price | double | 20 | NO | NO | 出厂价格 |
Recommend_code | double | 20 | NO | NO | 是否推荐 |
Dang_price | double | 20 | NO | NO | 商家价格 |
Hot_code | double | 20 | NO | NO | 热销程度 |
Keywords | varchar | 200 | YES | NO | 商品关键字 |
Has_deleted | int | 1 | NO | NO | 是否删除 |
Product_pic | varchar | 200 | YES | NO | 商品图片 |
(2)用户信息表d_User用户信息表d_User用来保存用户信息。表tb_User的结构如表5.1.2下.
表5.1。2 用户信息表
字段名称 | 数据类型 | 长度 | 是否允许为空 | 是否为主键 | 字段描述 |
id | int | 12 | NO | YES | 用户ID |
| varchar | 50 | NO | NO | 用户邮箱 |
nickname | varchar | 50 | YES | NO | 用户昵称 |
User_integral | varchar | 50 | NO | NO | 用户字段 |
Is_email_verify | int | 12 | NO | NO | 是否验证 |
Last_login_time | char | 3 | YES | NO | 最后登录时间 |
Email_verify_code | varchar | 50 | YES | NO | 邮箱验证 |
password | bigint | 50 | YES | NO | 密码 |
Last_login_ip | varchar | 15 | YES | NO | 最后登录IP |
(3)订单生成表d_Order
订单生成表d_Order用来记录新生成的订单。表d_Order的结构如表5.1.3所示
表5。1。3 生成订单表
字段名称 | 数据类型 | 长度 | 是否允许为空 | 是否为主键 | 字段描述 |
id | Int | 10 | NO | YES | 订单编号 |
User_id | int | 12 | NO | NO | 用户ID |
status | int | 12 | NO | NO | 订单状态 |
Order_desc | bigint | 24 | YES | NO | 订单描述 |
Total_price | varchar | 100 | NO | NO | 总共价格 |
Receive_name | varchar | 200 | YES | NO | 收货人姓名 |
Postal_code | varchar | 5 | YES | NO | 商家价格 |
mobile | varchar | 4 | YES | NO | 手机号码 |
phone | varchar | 45 | YES | NO | 座机号码 |
Order_time | varchar | 55 | YES | NO | 订单时间 |
Full_address | varchar | 44 | NO | NO | 收货人地址 |
- 订单商品表d_Item订单商品表d_Item用来记录某一订单中所定购的商品的详细信息。表d_Item的结构如表5.1。4所示。
表5。1.4 生成订单商品表
字段名称 | 数据类型 | 长度 | 是否允许为空 | 是否为主键 | 字段描述 |
id | int | 10 | NO | YES | 订单ID |
Order_id | int | 10 | NO | NO | 生成订单ID |
Product_id | int | 10 | NO | NO | 商品ID |
Product_name | varchar | 100 | NO | NO | 商品名称 |
Dang_price | double | 12 | NO | NO | 商场价格 |
Product_num | int | 10 | NO | NO | 商品数量 |
amount | double | 35 | NO | NO | 总共数量 |
第6。1节 程序流程图
前面重讨论了系统各个模块功能的设计,并详细分析了每一个模块的功能.在本章将具体讨论如何实现功能模块,最终实现整个系统。经过这个阶段的设计工作,应该得出对目标系统的描述。系统的页面设计决定了网站的风格, 制作好的网站不仅提供给营销商,更多的要供浏览者浏览。所以整个网站系统应注重的是:易导航性、易操作性和友好的交互界面。因此,网站的设计最好要简洁、明了、格调清新、实用、易于使用和维护。
第6.2节 网上购物系统的实施
虽然系统是从顾客和商家的角度开始设计的,但是用户管理信息等,数据是从管理员录入的.系统首先面对的用户就是管理者。用户的需求实际上是系统需求的一部分,更重要的是应先解决管理者对系统管理的需求。在做好后台管理系统的基础上,再做前台系统,由于数据库里有了各种实际的资料,会更加直观。
管理员子系统主要是为管理员服务的,主要由4个模块组成,用户注册、用户登录、订单查询模块、购物车模块。
6。2。1前台功能模块的实现
整个系统分为了前台功能模块和后台功能模块。下面详细讨论主要的几个功能模块的程序实现。在每个模块的介绍中,将具体说明一些涉及要点.
前台功能模块分为用户注册、用户登录、订单查询模块、购物车模块4个部分.前台首页主要有以下几个部分:
(一)网站导航:主要用户显示网站的旗帜广告、各功能模块导航;
(二)用户登录:用户在此注册、登录;
(三)销售排行榜:按照商品的销售数量显示销售排行信息;
(四)商品展示区:按后台添加商品的时间顺序展示商品;
第6。3节 系统界面设计
首页运行结果如图6.1所示。
图6.1 网上购物商城运行的首页
用户管理模块主要实现用户的注册、登录等功能.
(一)用户注册
当用户第一次登录时首先要在网站上注册,成为会员用户才可以在网站上购物,注册页面必须填写一些用户的基本信息,如用户名、密码、联系电话等信息。要注意的是,在用户注册页面中用户自定义JavaScript检验用户注册信息不允许为空。
用户注册页面如图6.2所示
图6.2 用户注册
为了便于网站对用户的管理,在用户注册页面接收到的注册信息要经过严格的过滤,保证注册用户名的唯一性,在提交表单后需要对数据表中的数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示此用户已被占用请重新注册。
用户注册的流程图如下图6.3:
图6。3 用户注册流程图
(二) 用户登录
用户登录窗口设置在首页上,主要用来接收用户录入的邮箱及密码。单击“注册"按钮时,会提交到注册页面执行;单击“登录"按钮时,系统将对输入的邮箱和密码进行验证,如果数据表中邮箱和密码存在就显示登陆成功,否则弹出错误提示信息。
用户登录界面如图6.4所示。
图6。4 用户登录界面
用户登录的流程图如下图6。4。1:
购物车模块中,主要包含以下几个功能,即:添加购物车、修改商品数量、生成订单和清空购物车。
购物车的运行界面如图6。5和购物车的流程图图6.6
(a)添加购物车
添加购物车就是把用户选中的商品暂时存放在购物车中,当用户在前台首页中单击商品展示区的“购买”按钮时,便可以将该商品放入购物车中。
添加商品的代码流程是从session中读取shop对象,如果为空则说明还没有进行购物或者已经清空了购物车,需要新建购物车对象;将商品名称与购物车列表中的商品名称对比,如果已经存在,则再次购买时会提示已经购买了.
在这段代码流程中,还使用了集合类型。集合类型在Java中又称为向量,是一元集合,可以加入重复数据,它的作用和数组相同,可以保存一系列数据,但集合类型也有它独特的优点,就是可以方便地对集合内的数据进行查找、增加、删除和修改等操作。
(b)查看购物车
为了方便用户随时查看购物情况,在网站的首页加入了购物车的链接,通过它可以将用户所有选中的商品信息放入购物车中显示出来.在程序中使用了一组文本框记录用户购买的商品数量,用户可以在文本框中输入想要购买的数量然购单击“修改”按钮。如果欲删除该商品,可以直接点击删除按钮.
系统每次只会将1个商品放入购物车中,如果用户需要多个同种商品,可以通过修改商品信息右侧相应文本框的值来完成。操作完成后需要通过单击“修改”按钮来保存操作。
(c)生成订单
生成订单时网上购物商城的最终目的,前面所有功能的实现都是为最后生成一个用户满意的订单作基础,在此要生成一个可供用户随时查询的订单号,还要保存用户订单中所购买的商品信息。当用户确认对购物车不再改变以后,就可以到收银台结帐并生成订单。结帐的流程为:从购物车中读取商品名称,商品数量,商品价格信息,生成一个唯一的订单号,同时也把用户注册的基本信息读取出来,形成一个完整的订单写入数据库.
在生成订单模块中主要使用了调出用户信息并生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用session对象把登录后的用户名保存起来,在订单生成时把保存的用户名从数据库的用户标中取出即可;生成唯一订单号方法有很多,只要确保订单号码的唯一性及方便用户记录以便于查询自己订单的执行状态即可.订单生成后,用户单击“提交”按钮,便可以将录入的订单信息保存到数据库中。
(d)清空购物车
清空购物车是指当用户订单生成后,倘若还想继续购物一定要清空购物车再进行选购商品,这样防止重复购物,其实清空购物车实现起来非常简单,只需要将session中存储的shop对象清空即可。
(e)恢复商品
恢复商品就是当用户点击恢复按钮即可,原理就是把session对象
图6.6 购物车的流程图
用户提交订单点击结算以后,系统将根据用户购买商品的的订单号在数据表中查询处对应的货品信息并转到订单查询显示页面将货品信息显示出来.订单查询模块流程图如图6。7和图6。8订单的流程图
第7。1节 测试的任务及目标
7。1.1测试的任务
在购物平台投入到商业活动之前,尽可能多地发现软件中的不足和一些的错误. 这样可以减少系统后期的维护的麻烦,更加的让用户的体验度提高。
7.1.2测试的目标
(一)测试的目的是为了减少平台的运行错误和提高系统运行的性能.
(二)好的测试方案能让一个系统以后的维护更加的方便,减少以后不必要的麻烦。
(三)成功的测试是发现了到今为止尚未发现的错误的测试.
第7.2节 测试方案
7。2。1 系统测试原理及测试原则
在完成某一个模块之后都要进行测试,测试是完成设计的一个非常关键的过程,在测试某一个模块的目的是完成的模块是否能够完成预计的功能,以便为整个的系统功能能够完整无误的运行.
7。2。1。1 系统测试原理
测试主要依据是被试系统的研制任务书和技术规格书,是对软件雄体功能和性能的综合测试与评估。测试原理是软件测试活动的理论基础,测试方法是铡试原理的实际应用和获得测试数据的手段。基于软件的共性,对于软件的测试要遵循一般软件的测试原理和方法。同时,针对软件的特性,必须找到合适的测试方法。测试用例的合理性对于软件的测试与评估具有关键作用,而如何使设计的用例、合理并且典型有效并不容易。所以应该与软件的研制人员以及最终用户一起,有针对性地研究实际操作环境并加以描述,形成合理的测试用例集.另一方面,软件运行环境的复杂程度对软件评估具有重要作用,所以应产生尽量逼真的运行背景以便于研究。软件测试的周期如图7.2.1:
图7.2。1 软件测试周期
7。2。1。2 系统测试的方法
软件测试的方法和技术是多种多样的。对于软件测试技术,可以从不同的角度加以分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试。从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。
(1)黑盒测试
黑盒测试也称功能测试或数据驱动测试或基于规范的测试,它是在己知产品所应具有的功能的前提下,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者对程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等。“黑盒"法着眼于程序外部结构,不考虑内部逻辑结构,只是针对软件的界面和软件需求规格说明中规定的功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。
(2)白盒测试
白盒测试也称结构测试或逻辑驱动测试或基于实现的测试,它是知道产品内部工作过程。可通过测试来检测产品内部动作是否按照规格说明书的规定止常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都能按预定要求正确工作。白盒测试的主要方法有程序逻辑驱动测试、基本路径测试和数据流测试等。“白盒"法需要全面了解程序的内部逻辑结构、对所有逻辑路径进行测试。因此,白盒”法是穷举路径测试。但即使每条路径都测试了仍然可能有错误.第一,穷举路径测试不能查出程序违反了设计规范,即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误.
第7。3节 系统维护
软件维护是软件完成以后的一个非常重要的一部分,处于系统投入生产性运行以后的时期中,所谓软件维护就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程。软件的维护有适应性维护,完善性维护,改正性维护,预防性维护。
本系统为适应维护的需要,采用如下措施:
(一)软件配置程序源代码。
(二)开发过程文档齐全。
(三)设计过程中各模块均考虑或预留完整性和可维护性接口等部分。
(四)详细设计的文档,源代码内部的文档有详细说明,注释均可提高可维护性.
的关心、支持和鼓励是分不开的。