基于SSH和MySQL的婴幼儿产品销售系统的开发与设计

怪咖先生

发布日期: 2020-08-03 19:00:35 浏览量: 76
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

摘 要

科学技术日新月异的进步,让人类生活发生了巨大的变化,计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用。信息化时代的到来成为不可抗拒的潮流,人类文明正在进入一个崭新的时代。因此,网上购物也以方便、快捷、费用低的优点正慢慢地进入人们的生活,本系统的题目基于ssh的婴幼儿产品销售系统的设计与实现,通过这个平台,消费者足不出户就可以了解很多的商品信息,给消费者带来了极大的方便。

本系统采用了Browser/Server体系结构,JSP(Java Server Page)作为前台开发工具,MySQL作为后台数据库进行开发。最终系统实现的系统将分为管理员和会员两个角色,系统管理员部分的主要功能包括修改登录密码、会员信息管理、商品类别管理、商品信息管理以及订单信息管理,会员部分的功能主要有在线注册与登录、浏览商品信息、商品查询以及在线订购这个功能模块。

关键词:B/S;JSP;MySQL

Abstract

The progress of science and technology change rapidly, make human life has undergone tremendous changes, the rapid development of computer technology, the industries have been popularized and used widely in the aspects of computer technology application. The advent of the information age has become an irresistible trend, the human civilization is entering a new era. Therefore, online shopping is convenient, fast, with advantages of low cost is slowly into people’s lives, the system design and development based on the topic of mobile phone sales system JSP, through this platform, consumers remain within doors can understand a lot of commodity information, brought to consumer convenience.

The system uses the Browser/Server architecture, JSP (Java Server Page) as a development tool, MySQL as the backstage database development. System to achieve the final system will be divided into administrator and member of the two roles, the system administrator of its main functions include changing the password, member information management, category management, product information management, order information management, member with the main function of the online registration and login, browse commodity information, commodity inquiry, online ordering this function module.

Keywords: B/S; JSP; MySQL

1 引言

当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,计算机被广泛应用于B/S系统环境。计算机的好处在于它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了安全性。

对于复杂的信息管理,计算机能够充分发挥它的优越性[1]。计算机与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了婴幼儿用品商家对婴幼儿用品的网上销售管理而设计的。

1.1 课题研究意义及背景

随着国民经济的迅速发展以及科学技术的全面进步,计算机行业也是迅速发展,以计算机以及通信及时的为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的提高,人们对生活的质量以及工作的环境要求也是越来越高。现在企业或商家的信息管理[2],大部分都采用人工管理模式,这相对于规模比较小的公司来说,是可以应付日常的管理需要的。但是,随着各行各业竞争日益的激烈,商家必须提高信息管理的工作效率,而解决这些问题的途径之一,就是将信息管理系统引入到管理机制中来。

现今属于计算机的时代,任何信息都可以通过计算机来进行管理,计算机处理信息的高效性和准确性可以极大的提高人员办公的效率,同时还可以降低出错率,让诸多复杂繁琐的工作都由计算机来辅助完成。然而要想使用计算机来对婴幼儿用品管理就必须使用相应的婴幼儿用品管理系统[3],因此,开发这样的婴幼儿用品商城成为了很有必要的事情。本论文所介绍的便是一个婴幼儿用品商城的设计开发过程,以方便实现婴幼儿用品商家对销售信息管理的系统化,规范化以及自动化,从而达到提高婴幼儿用品管理效率的目的。

1.2 论文的目的及设计要求

婴幼儿用品商城主要目的是对婴幼儿用品商家所有的销售信息进行管理,并且合理管理好管理员发布新的商品信息、对商品信息进行维护、会员浏览查询商品以及完成订购的管理流程。提高婴幼儿用品管理的工作效率,降低管理的成本。其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发。前者要求建立起数据一致性各完整性强、数据安全性好的数据库。而后者则要求应用程序具有功能完备、易用等特点。因此本婴幼儿用品商城采用JSP技术和MySQL数据库进行系统的开发。

系统的设计将分为系统管理员和会员两个角色,系统管理员可以管理会员信息、商品类别信息、商品信息以及订单信息,会员可以在线查看所有的商品信息、根据商品名称和价格查询商品以及在线订购[4]。在实现这些功能的同时,还对本婴幼儿用品商城的操作界面进行了很好的设计,极力为用户提供一个友好的操作环境。我们主要从以下的三方面着手:可交互性、信息显示以及数据的输入。

1.3 开发工具及技术

1.3.1 开发工具

此次设计主要采用MyEclipse加Tomcat后台服务器进行,数据存储使用Oracle数据库进行管理,下面对MyEclipse、Tomcat及Oracle数据库进行简要介绍。

MyEclipse

MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, Spring,Hibernate,JSP, CSS, Javascript, SQL。

Tomcat

Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apahce服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

Oracle

Oracle数据库系统是美国Oracle公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了Oracle知识,便能在各种类型的机器上使用它。能在所有主流平台上运行(包括windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。

1.3.2 JSP

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。

Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。JSP技术的优点:

  • 一次编写,到处运行:除了系统之外,代码不用做任何更改

  • 系统的多平台支持:基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/.net的局限性是显而易见的

  • 强大的可伸缩性:从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力

  • 多样化和功能强大的开发工具支持:Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下

  • 支持服务器端组件:web应用需要强大的服务器端组件来支持,开发人员需要利用其他工具设计实现复杂功能的组件供web页面调用,以增强系统性能。JSP可以使用成熟的JAVA BEANS 组件来实现复杂商务功能

内部对象说明:request 客户端请求,此请求会包含来自GET/POST请求的参数; response网页传回客户端的响应;pageContext 网页的属性是在这里管理; session 与请求有关的会话; application servlet正在执行的内容;out 用来传送响应的输出流; config 代码片段配置对象;page JSP网页本身; exception 针对错误网页,未捕捉的例外。

1.3.3 JavaScript

JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript的一个重要功能就是面向对象的功能,通过基于对象的程序设计,可以用更直观、模块化和可重复使用的方式进行程序开发。在HTML基础上,使用JavaScript可以开发交互式Web网页。JavaScript的出现使得网页和用户之间实现了一种实时性的、动态的、交互性的关系,使网页包含更多活跃的元素和更加精彩的内容。在本系统中很多地方使用了javaScript技术,比如说,检验用户输入数据的有效性,是否重复,是否为空等等。

1.3.4 SSH

SSH 在J2EE项目中表示了3种框架,即 Spring + Struts +Hibernate。Struts对Model,View和Controller都提供了对应的组件。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,可以应用在任何使用JDBC的场合,可以在Servlet/JSP的Web应用中使用,也可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。它的优点有:

  • SSH把底层进行了很好的封装,开发人员可以更专注于业务处理,开发效率高,层次清晰,易于维护及扩展

  • SSH把数据库,实体,配置都进行了整合,封装了层次的结构,在框架的融合,代码的耦合有很好的优势,便于编程的持续化,扩展化,维护化

  • 实现MVC模式。结构清晰,使开发者只关注业务逻辑的实现。可以使用丰富的tag、Struts的标记库(Taglib),能大大提高开发效率。另外提供Exception处理机制;数据库链接池管理等

下面简单介绍一下SSH中各框架的含义。

Struts

Struts框架结构如图1.1所示。

Struts对Model,View和Controller都提供了对应的组件。

在上图中,ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。

Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。

Model部分由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。

JavaBean则封装了底层的业务逻辑,包括数据库访问等。

View部分采用JSP实现。

Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。

Controller组件有两个部分组成——系统核心控制器,业务逻辑控制器。系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用Model来完成处理。对应Action部分。

Spring

Spring的出现是为了解决企业应用开发的复杂性,它使用基本的JavaBean代替EJB,并提供了更多的企业应用功能,适用于任何Java应用。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

Spring从大小与开销两方面而言都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。Spring还提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计和事务管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑。它们并不负责其它的系统级关注点,例如日志或事务支持。

同时Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,可以配置你的每个bean如何被创建基于一个可配置原型,bean可以创建一个单独的实例或者每次需要时都生成一个新的实例,以及,它们是如何相互关联的。Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等)。所有Spring的这些特征保证更干净、更可管理、并且更易于测试的代码的编写。它们也为Spring中的各种模块提供了基础支持。

Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。

1.4 软硬件需求

  • 硬件需求

    • CPU:Pentium以上计算机
    • 内存: 512M以上
  • 软件需求

    • 操作系统版本:Windows XP /vista/Win7
    • 开发工具:MyEclipse 8.5
    • 后台服务器:Apache Tomcat 6.0
    • 开发语言:Java
    • 浏览器:IE、猎豹、Google Chrome浏览器

2 可行性分析

开发任何一个系统,都会受到时间和资源上的限制。因此,在每一个项目开发之前,都要进行可行性分析,可以减少项目的开发风险,避免人力、物力和财力的浪费。下面就技术、经济、操作和法律四个方面来介绍。

2.1 技术可行性

本系统开发工具是MyEclipse和Oracle数据库,开发语言是Java,主要使用了J2EE的技术,java是一种面向对象编程语言,简单易学而且灵活方便。大三时就学习了java课程,大四期间也系统的了解了J2EE的知识,本系统总体上开发难度不高,数据库的设计和操作是本系统设计的核心。在大学期间学习过软件工程,软件测试,UML统一建模语言等课程,每个学期也会完成对应的课程设计,具备一定的系统分析、设计和测试能力。因此,完成系统实现在技术上完全具有可行性。

2.2 经济可行性

本系统所用的软件都是开源的,为开发软件节省了大量的金钱和时间,达到降低成本,提高开发效率的目的,本系统对计算机配置的要求不高,开发过程中使用个人笔记本电脑完全可以满足要求,在经济上具有绝对的可行性。

2.3 操作可行性

本系统操作简单,输入信息页面大多数都是采用文本框形式,只需根据自己的语言习惯将内容风格保持一致即可,无其他条件;在很多页面还采取了下拉框的选择形式,某些地方信息甚至可以自动生成,无需输入;时间的输入也是用的日历控件,操作简便;文件上传也是通用易懂的操作形式,对操作人员的要求很低。对WINDOWS操作熟练的人员只需对本系统的操作稍加培训即可工作,而且本系统可视性非常好,在技术上基本无难度。

2.4 法律可行性

本婴幼儿产品销售系统是自行开发的网上购物系统,是很有实际意义的系统,开发环境软件和使用的数据库都是开源代码,系统实现上使用的网络上一些开源的代码块,在使用到的部分都会注明出处,不存在侵权等问题,即法律上是可行的。

3 研究现状及设计目标

3.1 购物商城的现状

一直以来一般的婴幼儿用品商家都是使用传统的人工方式管理婴幼儿用品的日常工作,在计算机尚未在信息管理中广泛使用之前,销售信息的管理[5]主要依靠手工,手工过程的不足之处显而易见,因此管理起来效率比较低并且容易出现错误。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力,方便对所有销售信息进行精准的管理。

3.2 购物商城优缺点分析

  • 优点

    • 采用易于维护的B/S模式
    • 采用高性能的关系型数据库来存储信息资源
    • 信息更新及时,界面方便用户操作
  • 缺点

    • 软件稳定性有待提高
      现在很多的网站或者系统都是基于B/S模式,由于B/S模式存在并发性操作,不健全的设计和代码会大大影响软件的稳定性。并且软件提供商为了满足会员的需求,对软件进行多次修改,易造成系统的不稳定,为后期的维护工作带来了巨大的困难
  • 存在安全隐患
    0 B/S模式系统是基于浏览器实现会员端操作的,由于浏览器常采用脚本模式,而脚本语言本身并不是十分安全完善的,所以存在一些安全隐患

3.3 现行研究存在的问题及解决方法

3.3.1 现行研究存在的问题

  • 数据库选择问题:选择一个功能强大,移植性强的关系型数据库可以有效的与其它数据库结合,减少程序对特定数据库的依赖,增加系统的移植性[6]

  • 可扩展性:为了满足会员需求的不断增多,程序难免会经常修改和升级,因此要求程序应具备良好的可扩展性

  • 开发平台和语言:好的平台和语言能够减少开发成本,延长软件的生命周期

3.3.2 解决办法

鉴于目前婴幼儿用品商城的需求与实际情况,解决上述问题应具备以下几方面的要求:

  • 选用MySQL数据库[7],可以更为持久的存放数据,当存储设备改变时,不用重写程序代码便能很好的移植到其它数据库系统

  • 系统采用MVC模式,程序的实现过程采用模块化,把业务信息按照应用功能模块拆分开:业务逻辑与数据库服务器分开,用户界面与业务逻辑分开,任一方的改变都不会过多影响对方

  • 在开发平台和语言上,使用My Eclipse开发平台[8],并使用JSP语言作为主要的开发语言,JSP语言一次编写随处运行以及强大的可伸缩性等优点更方便系统的开发以及维护

3.4 本课题要达到的设计目标

本课题采用B/S模式,面向婴幼儿用品商家而开发的婴幼儿用品商城[9],系统将可以分为系统管理员和会员两种用户登录,登录时需要对身份进行验证,登录以后每个权限用户只能使用自己权限范围内的功能,其各角色功能如下:

  • 系统管理员

    • 具有会员管理功能,实现了对所有会员的管理操作,已经设置添加的会员才可以使用自己的账号密码登录系统进行相关的商品信息浏览、查询及订购等功能
    • 具有商品类别管理功能,对所有类别信息进行增删改查的管理操作
    • 具有商品信息管理功能,对所有商品信息进行增删改查的管理操作
    • 具有订单信息管理功能,对所有订单信息进行查看、受理和删除的管理操作
  • 会员

    • 具有浏览商品功能,可以浏览系统中所有商品信息
    • 具有查询商品功能,根据商品名称和价格进行查询,返回相关商品信息
    • 具有订购商品功能,可以选择需要的商品进行订购
    • 具有查看订单功能,可以查看自己已经有的订单信息

3.5 经济效益分析

本校婴幼儿用品商城是针对婴幼儿用品商家而开发的,一方面系统中友好的人机界面和更强劲的功能支持,会让使用本系统的人员的工作效率进一步提高,从而节省人力、物力,进而提高经济效益;另一方面系统开发成本低,现有PC机即可提供该系统开发工作需要的所有硬件设备环境,对于开发的成本要求也比较低。

4 关键问题及分析

婴幼儿用品商城在设计与实现过程中,对系统安全性和稳定性要求较高,系统采用前台显示和后台数据处理分离的方式来解决这一问题。考虑系统管理员和会员进入系统后功能需求的不同,需要对各用户类型的不同功能做详细分析。

4.1 研究设计中要解决的问题

在研究设计中,还存在着诸多有待解决的问题与困难,会用到许多以前未学过的难点去学习与攻破。现将研究设计中要解决的问题总结如下:

4.1.1 数据表间联系

婴幼儿用品商城所涉及的数据信息复杂,更具有复杂的业务逻辑关系,设计的表与表之间需要通过外键联系起来。外键的联系保证在婴幼儿用品管理过程中业务操作稳定的关键。数据库设计的好坏将直接影响到前台页面的稳定运行[10~12]。

由于婴幼儿用品商城涉及到了具体的管理员发布商品、会员查看商品以及订购商品的功能操作,数据库中的数据不能随意删除,以防出现商品或订单信息丢失的问题。若表间的联系建立的不够完善,当程序实际运行时就会出现很多问题和漏洞,结果造成的损失将无法弥补,程序也不便于维护。

4.1.2 系统安全性

由于本婴幼儿用品商城是基于Web的,所有用户都可以通过浏览器来登录本系统,因此要对用户的身份进行严格的验证以确保整个系统信息的安全。在系统设计过程中,用户登录时只有输入正确的用户名以及密码才可以成功的登录到系统中,并且根据不同的用户角色分配不同的功能权限。同时在每个页面中都要添加用户登录状态以及权限的验证,即每次进入指定的功能页面,都需要验证用户是否正常的登录系统,并且验证用户是否有权限进入这个功能页面,这样可以防止用户通过非法途径进入到系统中。

4.2 具体实现中采用的关键技术

一个程序的开发采用什么样的关键性技术是至关重要的。技术的好坏将直接影响着系统的运行速度,兼容性,稳定性等。本婴幼儿用品商城将主要采用JSP技术,在开发过程中采用分层开发的方法,其具体描述如下:

4.2.1 J2EE技术

文献[14]介绍了J2EE 技术,这种开发技术是属于SUN公司的,并且它是在Java 2的平台基础上进行发展完善,并且它具有Java语言所具有的多个优点,包括:语言方便,可移植性高等等,还能够对多种技术提供支持帮助,包括:EJB,JSP、API等技术,从这几方面来使得应用系统的开发变得简单易行,复杂度在一定程度上有所降低,还能够为现在的应用系统体系提供帮助。

J2EE技术一般分为四个层级。如下图2-1所示。

文献[15]介绍了J2EE优势:

  • 跨平台性:Java在使用的时候,对平台没有特别要求,在多种操作平台上都能够使用,包括Windows、Linux等等平台

  • 稳定性:基于J2EE技术而开发的应用系统都拥有一定的稳定可靠性,一般能够满足用户的全年24小时式的不间断使用条件,避免应用系统的崩盘死机

4.2.2 JDBC技术

文献[16]介绍了JDBC是一种较为常见的数据库链接 ,通过该链接可以让程序更快更好的访问到所需要访问的数据库 。他是广大程序员的结晶 ,他的出现让开发人员能够编写数据库应用程序 ,可以构建更高级的工具和接口 。

JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据。JDBC代表Java数据库连接。

JDBC库中所包含的API任务通常与数据库使用:

  • 连接到数据库

  • 创建SQL或MySQL语句

  • 在数据库中执行SQL或MySQL查询

  • 查看和修改记录

Java是简洁明了,方便使用,易于编写数据库应用程序的杰出语言。

4.2.3 MVC编程模式

在JAVAWEB程序的设计时,通常用适当的设计方法。好的设计方法是比开发和维护简单的多的。

文献[17]介绍了MVC技术就是一种比较科学合理的设计模式结构,其模型结构分为三个层次,包括: 模型层、视图层以及控制层,通过这三个层次能够对整个系统的各方面功能起到系统化的实现作用,并且将业务流程以及数据输入分别进行表述存储,降低了后续维护的难度。

  • 视图层:在视图层可以对相关数据进行展示。 用户可以通过计算机显示端直观的开到运行的画面,称之为视图。通过视图用户可以查看到系统中的数据,并且可以向系统中输入数据,除此之外并无其他功能提供实现,只能做到信息共享的功能。视图层能够在整个系统中进行数据的搜索以及数据对应的信息进行实时描述,从而使得用户的界面能够不断进行数据的更新显示,具有时效性,但是不能对其整体模型构架进行更新改变

  • 模型层:该层次就是整个应用系统体系的主要组成成分,在系统中的数据发生实时更新之后,其将会告知系统业务层和视图层,这就是一对多的系统工作模型,可以提高系统的整体利用率,减少代码的多次重复编写,并且能够降低系统的后续维护复杂度

  • 控制层:这一层次就是能够对数据进行计算分析处理,并且对视图层的数据进行相应的模式显示,并对模型层发出的一些请求进行相应的处理。简单点来说,就是当系统发送接收某种特定的请求时,控制层将这些请求按照要求发送到与请求对应的模型层次中去,以此来完成请求命令,最后显示返回用户需要的数据

MVC模式具有非常多优秀的特点,文献[18]介绍了在创建展示性系统时其优点非常明显。

  • 该模式结构可用于多种条件要求的系统中,无论是维护方面还是系统扩展方面都能够加以完成,比如电子商务应用系统、ERP应用系统等等

  • 该模式能够很方便地以视图的方式展示多方面的数据,以此来使得系统能够较简单的对其他客户端提供支持

  • 该模式能够很好地对用户与系统的交互模式进行表达,方面模式构建

从设计者的方面来说,文献[19]介绍了MVC模式就是将逻辑计算控制和数据独立开来,从而使得整个开发过程简明易懂,让开发者能够各自负责对应的模块,比如:前台就是对视图层进行关注维护,而后台就是要对系统内部的逻辑运算进行维护,通过这中分类维护的方式,能够大大提高系统开发与维护的效率。

5 需求分析

5.1 设计的基本思想

设计思想遵循以下几点:

  • 采用B/S模式进行开发,其优点是后台与前台处理层次分明,而且符合众多已经习惯网页搜索方式的用户

  • 采用面向对象的开发与设计理念。运用面向对象技术的前提是对整体系统的高度和准确抽象,通过它可以保证系统良好的框架,进而带来产品较强的稳定性和运行效率

  • 采用模块化设计。模块化设计要求将整个系统划分成基于小的模块,有利于代码的重载,简化设计和实现过程

  • 简单方便的系统界面。设计简单友好的系统界面,方便用户较快的适应系统的操作

  • 速度优先原则。由于此工具最重要的评测标准就是速度,因此在设计过程中,具体过程尽量做到资源占用少,速度快

  • 设计既要突出重点,又要细致周到。要符合设计需求,在有可能改进的地方进行扩充,使系统更适应用户的需要

5.2 功能模块需求分析

本系统最大的特点是使用操作简单、友好的提示信息。

本系统将实现以下基本功能:

  • 系统具有简洁大方的页面,使用简便

  • 管理员用户具有商品类别管理、商品信息管理、商品信息更新管理、订单管理、会员信息管理、系统管理功能

  • 普通用户具有浏览商品、商品查询、购买商品、修改个人信息等功能

  • 具有较强的安全性,避免用户的恶意操作

系统的功能分普通用户平台,管理员平台。系统的总体功能图如图3.1所示。

普通用户功能模块图说明:普通用户可以在线浏览商品,查询商品,如果要购买、下订单操作,首先需要注册一个个人账号,然后登陆到系统中,如功能图3.2所示。

管理员功能模块图说明:管理员是功能最多的一种用户角色。

  • 商品类别信息管理模块:在该模块中完成对商品类别信息的管理,包括类别录入、查询、修改、增加和删除等功能操作。其中类别信息包括类别名称、类别介绍等信息

  • 商品信息管理模块:在该模块中定义了商品信息的管理,其功能包括商品录入、查询、删除等操作

  • 会员管理模块:该模块中包括浏览会员信息和删除会员信息2个功能

  • 系统管理模块:在该模块中定义了系统日常维护的功能,包括公告信息的添加和查询,修改功能,以及系统用户管理和修改密码等功能

管理员用户功能模块图如图3.3所示。

5.3 系统用户用例图

5.3.1 普通用户用例图

出于安全性的考虑,普通用户对商品的操作只有浏览商品和商品查询、商品购买等功能,其他的删除修改功能都没有设计,因为普通用户最主要关心的就是商品信息的更新和查询等功能。而对于网站会员而言,对自己信息具有修改的权利是必须的,所以添加了用户修改个人信息的功能。普通用户用例图如图3.4所示。

5.3.2 管理员用例图

此次系统的实现里,没有设计商家自主添加商品的权限,而把添加商品的这些功能全部赋予了管理员,所以管理员是系统的核心用户。管理员涉及到六大功能模块,对系统的所有信息有着操作的权限,能够及时动态的更新系统的各项信息。管理员用户用例图如图3.5所示。

5.4 性能需求

5.4.1 系统的安全性

本商品交易系统在管理权限上要严格进行控制,具体要求如下:

  • 要想管理本系统的商品信息,必须先要凭用户名和密码登陆到系统中,没有权限的用户不能通过任何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全性

  • 在具体实现中设定不同权限,不同权限用户登录到系统后,不能越级操作,管理员可以使使用所有模块;普通用户只能在线浏览信息,比如,查询商品信息、在线购买、下订单、修改个人信息的功能

  • 使用线程的思想,登录用户超过一定时间未进行操作则自动退出

5.4.2 数据库的安全性

  • 数据库表结构设计定义主键,长度,字段类型,各种约束,保证数据库中数据的安全与统一

  • 使用JS校验页面录入数据,保证录入数据的安全性

5.5 界面需求

界面设计目前已经成为评价软件质量的一条重要指标,一个好的用户界面可以增加用户使用系统的信心和兴趣,提高工作效率,JSP技术是用JAVA语言作为脚本语言的,JSP网页为整个服务器端的JAVA库单元提供了一个接口来服务于HTTP的应用程序。 创建动态页面非常方便。用户界面是指软件系统与用户交互的接口,通常包括输出、输入、人-机对话的界面格式等。

5.5.1 输出设计

输出是由计算机对输入的原始信息进行加工处理,形成高质量的有效信息,并使之具有一定的格式,提供管理者使用,这是输出设计的主要职责和目标。

系统设计的过程正好和实施过程相反,并不是从输入设计到输出设计,而是从输出设计到输入设计,这是因为输出表格直接与使用者相联系,设计的出发点应当是保证输出表格方便地为使用者服务,正确及时反映和组成用于各部门的有用信息。输出设计的原则是考虑既要全面反映不同管理层的各项需要,又要言简意赅,不要将用户需要和不需要的都提供给用户。

5.5.2 输入设计

输入数据的收集和录入是比较费事的,需要大量的人力和一定设备,并且容易出错。如果输入系统的数据有错误,则处理后的输出将扩大这些错误,因此输入数据的正确性对于整个系统质量的好坏是具有决定性意义的。

输入设计的原则有如下几点:

  • 输入量应保持在能满足处理要求的最低限度。设计中可采用设置字段初值,下拉式数据窗口等方式尽量减少用户键盘输入量。输入量越少,错误率就越少,数据准备时间也减少

  • 输入的准备及输入过程应尽量容易进行,从而减少错误的发生

  • 应尽量早对输入数据进行检查(尽量接近原数据发生点),以便使错误及时得到更正

  • 输入数据尽早地用其处理所需的形式被记录,以避免数据由一种介质转移到另一种介质时需要转录而可能发生的错误

需求分析是软件开发过程中的重要阶段,其基本任务是回答“系统必须做什么及该怎样做”这个问题。随着市场经济的发展,信息管理系统已经逐渐走入了人们的生活,并在日常的信息统计管理中发挥着重要的作用,在这种形势的驱使下,为了满足婴幼儿用品商家的需求,婴幼儿用品商城被设计和开发。

5.6 USE-CASE用例图

婴幼儿用品商城分为系统管理员和会员两类用户角色[20]。整个系统的用例功能包括修改登录密码、类别信息管理、会员信息管理、商品信息管理、订单信息管理、浏览商品、查询商品以及订购商品,如图4.1所示为本系统的整体用例图。

5.7 系统主要业务流程

若要开发一个良好的系统,就要先明确其系统的业务流程,婴幼儿用品商城主要的业务就是实现商品信息的在线发布、浏览以及订购的功能。首先管理员可以发布新的商品信息,会员登录系统之后可以对所有的商品信息进行浏览查看,也可以订购商品,生成订单之后需要管理员对订单进行受理。根据这个商品发布、浏览、订购以及订单审批的流程绘制出其业务流程如下:

5.8 功能需求

  • 登录验证功能:为了保证婴幼儿用品商城信息的安全性,进入系统时需要对用户身份进行验证,如果验证无误可成功进入系统,如果用户名或者密码不正确将返回错误提示要求重新输入

  • 会员管理功能:该功能属系统管理员功能,实现了系统管理员对所有会员的管理操作,可以添加一个新的会员,也可以对已经添加的会员进行删除的操作。已经设置添加的会员才可以使用自己的账号密码登录系统进行相关的商品浏览、查询及订购等功能

  • 商品类别管理功能:该功能属系统管理员功能,其功能与会员管理功能类似,可以添加一个新的商品类别,也可以对已经添加的商品类别进行删除的操作

  • 商品信息管理功能:该功能属系统管理员功能,其功能与商品类别管理功能类似,可以添加一个新的商品信息,也可以对已经添加的商品信息进行删除的操作

  • 订单信息管理功能:该功能属系统管理员功能,可以对已经存在的订单信息进行查看、受理和删除的操作

  • 查询商品信息功能:该功能属于会员功能,会员可以根据商品名称和价格对商品信息进行查询

  • 商品订购功能:该功能属于会员功能,会员可以选择商品信息进行订购,生成订单

5.9 开发环境

  • 操作系统:Windows 7

  • 开发语言:JSP、Java语言

  • 数据库:MySQL

  • WEB服务器:Tomcat 6

  • 开发工具:Dreamweaver、MyEclipse6 8.6

  • 会员端浏览器:IE9

6 系统设计

婴幼儿用品商城设计的好坏将对系统的开发和维护起着至关重要的作用。系统的实现需要符合所有用户的要求,只有对用户的要求考虑的全面,才会开发出功能强大稳定的婴幼儿用品商城。

6.1 系统体系结构

本系统采用的是B/S的体系结构模式,系统界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是系统的主要事务逻辑在服务器端实现。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。用户通过浏览器向WEB服务器发出请求,WEB服务器将请求发送给数据库。数据库接到请求后将结果再返回到WEB服务器中,最后由WEB服务器传给浏览器显示给用户。

在浏览器/服务器(B/S)框架结构中,使用者可以通过个人终端上的浏览器对网络体系中的大对数服务器发送数据请求,并获取服务器返回的数据信息。该系统服务框架能够降低客户计算机的数据发送以及接收的运行工作量,因为在这种服务框架之下,只需要在客户终端上安装客户端的运行系统软件就可以实现对服务器数据的请求发送以及数据返回,在这个过程中将大量的工作量都让服务器去进行完成,包括:应用程序的运行操作以及对数据库中数据的调用及访问。

因为浏览器/服务器框架结构的不断完善,其在WWW技术支持下,使用较多类型的脚本语言,在浏览器中就可以完成以前需要特定软件才能完成的特定功能,这样既降低了计算机的工作量也降低了软件的开发成本。基于B/S架构软件的安装,修改,维修的需要在服务器端解决。使用该系统时,只需要一个浏览器用户可以运行所有的模块,从而实现了“零客户端”功能,很容易在运行时自动升级。B/S架构也提供了一个均质机,网上异构网络,异构应用服务的联机,统

6.2 系统功能结构

根据需求调研结果确定本婴幼儿用品商城的功能结构,系统管理员功能主要包括修改登录密码、会员信息管理、商品类别管理、商品信息管理以及订单信息管理,会员功能有个人信息管理、商品信息浏览、商品信息查询、商品订购以及会员查看订单这几个功能,如图5.1所示为本婴幼儿用品商城的功能结构图。

6.3 数据库的分析与设计

计算机信息系统以数据库为核心,在数据库管理系统的支持下,进行信息的收集、整理、存储、检索、更新、加工、统计和传播等操作。数据库已经成为现在信息系统等计算机系统的基础与核心部分。数据库设计的好坏直接影响到整个系统的质量和效率。

数据库的设计需要经过规划,一般分为需求分析、概念设计、逻辑设计、物理设计5个步骤。

6.3.1 数据库的概念结构设计

概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最后结果。

数据库的概念结构设计采用实体—联系(E-R)模型设计方法。E-R模型法的组成元素有:实体、属性、联系,E-R模型用E-R图表示,是提示用户工作环境中所涉及的事物,属性则是对实体特性的描述。

概念设计的目标是产生反映企业组织信息要求的数据库概念结构,即概念模式。概念模式是独立于数据库逻辑结构,独立于支持数据库的DBMS,不依赖于计算机系统的,

根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E-R模型图。

普通用户实体图,如图4.1所示。

商品类别实体图,如图4.2所示。

商品信息实体图,如图4.3所示。

管理员信息实体图,如图4.4所示。

订单信息实体图,如图4.5所示。

6.3.2 数据库的逻辑结构设计

我们知道,数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:

  • 每一个实体要转换成一个关系

  • 所有的主键必须定义非空(NOT NULL)

  • 对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键

根据对系统的主要功能的分析,婴幼儿用品商城的表有系统管理员表、会员信息表、商品类别表、商品信息表、订单信息表以及订单项信息表,各个表结构描述如下:

系统管理员表t_admin

系统管理员表里面存储了管理员信息。如表5.1:

列名 数据类型 长度 允许空 是否主键 说明
userId int 4 编号
userName varchar 50 用户名
userPw varchar 50 密码

会员信息表t_huiyuan

会员信息表里面存储了所有的会员信息。如表5.2:

列名 数据类型 长度 允许空 是否主键 说明
id int 4 自动编号
loginname varchar 50 账号
loginpw varchar 50 密码
xingming varchar 50 姓名
xingbie varchar 50 性别
nianling int 4 年龄
dianhua varchar 20 联系方式
address varchar 20 住址

商品类别表t_leibie

商品类别表是用于记录商品类别信息。如表5.3:

列名 数据类型 长度 允许空 是否主键 说明
id int 4 类别ID
Mingcheng varchar 50 类别名称

商品信息表t_goods

商品信息表里面存储了所有的商品信息。如表5.4:

列名 数据类型 长度 允许空 是否主键 说明
id Int 4 商品ID
leibieId Int 4 类别ID
mingcheng varchar 50 名称
jieshao varchar 50 介绍
fujian varchar 50 商品图片
jiage int 50 商品价格

订单信息表t_order

订单信息表存储了所有的订单信息。如表5.5:

列名 数据类型 长度 允许空 是否主键 说明
id int 4 自动编号
bianhao varchar 50 订单编号
xiadanshi varchar 50 下单时间
zt varchar 4 状态
songhuodizhi varchar 50 送货地址
fukuanfangshi varchar 50 付款方式
zongjia varchar 50 总金额
huiyuanId int 4 会员

订单项信息表t_mingxi

订单明细表存储了订单中所有的订单项信息。如表5.6所示:

列名 数据类型 长度 允许空 是否主键 说明
id int 4 自动编号
orderId int 50 订单ID
goodsId int 50 商品ID
goodsShuliang int 50 数量

6.3.3 数据库的连接原理

采用Spring管理的下的Hibernate连接数据库的方式。

首先在web.xml中配置spring的监听。

  1. <!—配置Spring配置文件地址-->
  2. <context-param>
  3. <param-name>contextConfigLocation</param-name>
  4. <param-value>/WEB-INF/applicationContext.xml</param-value>
  5. </context-param>
  6. <!—配置Spring监听-->
  7. <listener>
  8. <listener-class>
  9. org.springframework.web.context.ContextLoaderListener
  10. </listener-class>
  11. </listener>
  12. (2)applationContext里配置映射驱动bean和映射文件地址
  13. <!—配置Oracle数据库驱动-->
  14. <bean id="dataSource"
  15. class="org.apache.commons.dbcp.BasicDataSource">
  16. <property name="driverClassName"
  17. value="oracle.jdbc.driver.OracleDriver">
  18. </property>
  19. <!—配置数据库Url地址-->
  20. <property name="url"
  21. value="jdbc:oracle:thin:@localhost:1521:XE">
  22. </property>
  23. <!—配置数据库用户名和密码-->
  24. <property name="username" value="anne"></property>
  25. <property name="password" value="anne"></property>
  26. </bean>
  27. <bean id="sessionFactory"
  28. class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  29. <property name="dataSource">
  30. <ref bean="dataSource" />
  31. </property>
  32. <!—配置数据库方言-->
  33. <property name="hibernateProperties">
  34. <props>
  35. <prop key="hibernate.dialect">
  36. org.hibernate.dialect.OracleDialect
  37. </prop>
  38. <!—显示sql语句-->
  39. <prop key="hibernate.show_sql">true</prop>
  40. <prop key="hibernate.hbm2ddl.auto">update</prop>
  41. </props>
  42. </property>
  43. <!—配置表映射地址-->
  44. <property name="mappingResources">
  45. <list>
  46. <value>com/model/TAdmin.hbm.xml</value>
  47. <value>com/model/TUser.hbm.xml</value>
  48. <value>com/model/TGoods.hbm.xml</value>
  49. <value>com/model/TOrderItem.hbm.xml</value>
  50. <value>com/model/TOrder.hbm.xml</value>
  51. </list>
  52. </property>
  53. </bean>

7 系统实现及测试

在系统分析和设计阶段,系统开发工作主要是集中在逻辑、功能和技术设计上。在管理信息系统的生命周期中,经过需求分析、系统设计等阶段,开始系统实施阶段。系统实施阶段继承此前面各个阶段的工作成果,将技术设计转化为物理实现,因此系统实施的成果是系统分析和设计阶段的结晶。

7.1 系统主要模块的实现

7.1.1 系统登录功能界面

进入系统之后首先要进入到系统的登录页面,在登录页面中将验证用户输入的用户名以及密码是否正确,输入正确的用户名及密码才可以成功的登录系统,如果用户名或者密码错误将返回错误提示,其实现页面如图6.1、6.2所示。

关键代码:

  1. <script type='text/javascript' src='/yytyp/dwr/interface/loginService.js'></script>
  2. <script type='text/javascript' src='/yytyp/dwr/engine.js'></script>
  3. <script type='text/javascript' src='/yytyp/dwr/util.js'></script>
  4. <script language="javascript">
  5. function ccc()
  6. {
  7. if(document.ThisForm.userName.value=="")
  8. {
  9. alert("请输入用户名");
  10. document.ThisForm.userName.focus();
  11. return false;
  12. }
  13. if(document.ThisForm.userPw.value=="")
  14. {
  15. alert("请输入密码");
  16. document.ThisForm.userPw.focus();
  17. return false;
  18. }
  19. loginService.login(document.ThisForm.userName.value,document.ThisForm.userPw.value,document.ThisForm.userType.value,callback);
  20. }
  21. function callback(data)
  22. {
  23. if(data=="no")
  24. {
  25. alert("用户名或密码错误");
  26. }
  27. if(data=="yes")
  28. {
  29. alert("通过验证,系统登录成功");
  30. window.location.href="/yytyp/admin/index.jsp";
  31. }
  32. }
  33. function qing()
  34. {
  35. document.ThisForm.userName.value="";
  36. document.ThisForm.userPw.value="";
  37. }
  38. </script>
  39. </head>

7.1.2 修改登录密码功能界面

管理员成功登录系统之后,点击导航栏菜单“修改登录密码”,系统跳转到修改登录密码子界面,在这里需要输入正确的原密码和设置新密码,才能实现修改操作,其实现页面如图6.3所示。

7.1.3 会员注册功能界面

用户在登录系统后点击导航栏的“注册会员”菜单,将跳转到会员注册页面。在这里需要填写会员帐号、密码以及姓名信息。游客访问该站点的时候,可以注册成为会员,管理员登陆后可以管理会员信息,点击左侧的“会员管理“,页面调转中后台的是java类userAction,在此类中,读取数据库中,提取会员的信息,绑定到request对象,再输出到相应的jsp显示页面页面。

其实现页面如图6.4所示。

7.1.4 会员管理功能界面

在会员管理页面中可以列表显示出所有的会员信息,并可以选择指定的会员信息进行删除的操作。其实现页面如图6.5所示。

会员管理关键代码:

  1. //删除用户信息
  2. public String userDel()
  3. {
  4. TUser user=userDAO.findById(userId);
  5. user.setUserDel("yes");
  6. userDAO.attachDirty(user);
  7. this.setMessage("删除成功");
  8. this.setPath("userMana.action");
  9. return "succeed";
  10. }
  11. public String userXinxi()
  12. {
  13. TUser user=userDAO.findById(userId);
  14. Map request=(Map)ServletActionContext.getContext().get("request");
  15. request.put("user", user);
  16. return ActionSupport.SUCCESS;
  17. }
  18. public String userMana()
  19. {
  20. List userList=userDAO.findAll();
  21. Map request=(Map)ServletActionContext.getContext().get("request");
  22. request.put("userList", userList);
  23. return ActionSupport.SUCCESS;
  24. }

7.1.5 商品类别管理功能界面

在商品类别信息管理页面中可以列表显示出所有的类别信息,并可以选择指定的类别进行删除的操作。其实现页面如图6.6所示。

如果需要添加类别信息,可以进入到类别添加页面,添加时系统会对必填项进行非空验证。其实现页面如图6.7所示。

流程图如下图所示

类别管理关键代码:

  1. //查询出数据库中所有状态是为删除的商品
  2. public String catelogMana()
  3. {
  4. String sql="from TCatelog where catelogDel='no'";
  5. List cateLogList=catelogDAO.getHibernateTemplate().find(sql);
  6. Map request=(Map)ServletActionContext.getContext().get("request");
  7. request.put("cateLogList", cateLogList);
  8. return ActionSupport.SUCCESS;
  9. }
  10. //添加新类别
  11. public String catelogAdd()
  12. {
  13. TCatelog catelog=new TCatelog();
  14. catelog.setCatelogName(catelogName);
  15. catelog.setCatelogMiaoshu(catelogMiaoshu);
  16. catelog.setCatelogDel("no");
  17. catelogDAO.save(catelog);
  18. this.setMessage("操作成功");
  19. this.setPath("catelogMana.action");
  20. return "succeed";
  21. }
  22. //删除类别
  23. public String catelogDel()
  24. {
  25. String sql="from TGoods where goodsDel='no' and goodsCatelogId="+catelogId;
  26. List goodsList=goodsDAO.getHibernateTemplate().find(sql);
  27. if(goodsList.size()>0)//类别是商品表商品类别外键,需要验证
  28. {
  29. this.setMessage("请先删除此类别下的商品");
  30. this.setPath("catelogMana.action");
  31. }
  32. else
  33. {
  34. TCatelog catelog=catelogDAO.findById(catelogId);
  35. catelog.setCatelogDel("yes");//更改删除标记
  36. catelogDAO.attachDirty(catelog);
  37. this.setMessage("操作成功");
  38. this.setPath("catelogMana.action");
  39. }
  40. return "succeed";
  41. }

7.1.6 商品信息管理功能界面

商品信息管理页面功能是展示当前已经添加到系统当中的所有商品信息列表,可以选择指定的商品信息进行删除操作。其实现页面如图6.8中所示。

如果需要添加商品信息,可以进入到商品添加页面,添加时系统会对必填项进行非空验证,是否为空是通过form表单中的onsubmit=”return checkForm()来检查,checkForm()函数中是各种的校验输入数据的方式。其实现页面如图6.9所示。

在整个系统中所有涉及输入日期的地方都是采用的mydata97这个日历控件的方式来实现,要在工程中导入Calendar.js文件,在jsp页面开始引入:

  1. <script type="text/javascript" src="../js/calendar.js" ></script>

该js文件,在文本框的属性定义中定义方法onclick=”new Calendar().show(this);”即可。

上传功能使用com.util.upload方法,上传时调用即可。

文本框使用网上开源的fckeditor文本框,页面直接嵌入如下代码即可使用:

  1. <FCK:editor instanceName="goodsMiaoshu" basePath="/fckeditor" width="500" height="200" value="请输入内容" toolbarSet="Basic">
  2. </FCK:editor>

商品管理关键代码:

  1. //商品添加
  2. public String goodsNoTejiaAdd()
  3. {
  4. TGoods goods=new TGoods();
  5. goods.setGoodsCatelogId(goodsCatelogId);
  6. goods.setGoodsName(goodsName);
  7. goods.setGoodsYanse(goodsYanse);
  8. goods.setGoodsMiaoshu(goodsMiaoshu);
  9. goods.setGoodsPic(fujian);
  10. goods.setGoodsShichangjia(goodsShichangjia);
  11. goods.setGoodsDel("no");
  12. goodsDAO.save(goods);
  13. this.setMessage("操作成功");
  14. this.setPath("goodsManaNoTejia.action");
  15. return "succeed";
  16. }
  17. //商品删除
  18. public String goodsNoTejiaDel()
  19. {
  20. TGoods goods=goodsDAO.findById(goodsId);
  21. goods.setGoodsDel("yes");
  22. goodsDAO.attachDirty(goods);
  23. this.setMessage("操作成功");
  24. this.setPath("goodsManaNoTejia.action");
  25. return "succeed";
  26. }
  27. //商品删除后页面商品显示
  28. public String goodsDetailHou()
  29. {
  30. Map request=(Map)ServletActionContext.getContext().get("request");
  31. TGoods goods=goodsDAO.findById(goodsId);
  32. request.put("goods", goods);
  33. return ActionSupport.SUCCESS;
  34. }
  35. //页面初始状态商品信息
  36. public String goodsDetail()
  37. {
  38. Map request=(Map)ServletActionContext.getContext().get("request");
  39. TGoods goods=goodsDAO.findById(goodsId);
  40. request.put("goods", goods);
  41. return ActionSupport.SUCCESS;
  42. }

7.1.7 订单信息管理功能界面

订单信息管理页面功能是展示系统当中的所有订单信息列表,包括订单编号、、下单时间、订单状态、送货地址、付款方式以及总金额,点击明细按钮可以查看订单明细信息,可以选择指定的订单信息进行删除操作,也可以点击受理按钮进行受理。其实现页面如图6.10中所示。

7.1.8 浏览商品信息功能界面

会员登录系统之后可以在系统首页即可看到最新上家的商品信息,点击可查看详细内容。其实现页面如图6.11、6.12中所示。

浏览商品信息界面

商品详细内容界面

7.1.9 商品信息查询功能界面

会员登录系统之后可以按照商品名称和价格取件查询商品信息,在这里输入商品名称关键字和价格区间数字,将返回有关商品信息。

描述:普通用户点击导航栏的“查询”。调用后台的java类goodsAction的goodsSearch方法查询所有的类别信息,并绑定这些信息到request对象中,在显示层jsp展示出来,然后用户点击类别名称,即可显示该类别的信息。

其实现页面如图6.13所示。

7.1.10 订购商品功能界面

描述:登录用户可以将选中物品添加至购物车,可以在购物车页面看到选中商品信息。用户添加商品至购物车的流程图如图5.5所示。

会员在详细商品信息可以选择喜欢的商品进行订购,填好数量之后点击商品信息下的订购按钮,系统将跳转到购物车界面,在这里可以选择继续购物还是提交订单去收银台。其实现页面如图6.14、6.15、6.16所示。

购物车界面

提交订单界面

订单提交成功提示界面

7.1.11 订单信息查看功能界面

会员登录之后点击右上角我的订单可以查看自己所有的订单信息,在订单信息列表中点击明细可以查看订单明细内容。其实现页面如图6.17所示。

7.2 系统测试概述

7.2.1 软件测试

系统操作不止是对系统的结果进行判断分析是否正确,还要对系统内部的每一个模块进行细致化分析,确保每一个模块都能够有效的进行预订操作。在测试之前,要根据系统的结构层次,以及系统的类别制定科学有效的测试计划,并严格执行。为了最为真实的反应系统在真实环境下的使用情况,需要我们做到对环境进行现实的虚拟化,然后再对系统的相应时间,运行速度等等方面进行测试,然后根据测试结果再对系统进行进一步优化完善。

7.2.2 软件工具

软件测试工具就是在降低人工的工作量的同时,对软件进行科学有效的功能测试的各个工具。

该方法能够提高在软件测试方面的工作效率,一般采用以下几种工具来对软件进行测试。

用户使用软件典型的测试工具分别为:

  • 开源测试管理工具:Bugfree、Bugzilla、TestLink、mantis

  • 自动化功能操作测试工具开源:Watir、Selenium、MaxQ、WebInject

  • 开源自动化测试工具的性能:Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator

  • TestDirector:测试工具所在的公司,是初次审判管理系统程序基于javaWeb产业的公司

  • 质量中心:对于Web网页进行测试管理的软件工具,能够科学的对各个测试阶段进行有效的管理

  • QuickTest Professional:主要用来构建功能的运行以及数据的回归式检测

  • LoadRunner:预测系统和负载测试工具性能的行为

  • 其他工具与自动化测试框架:Rational Functional Tester、Borland Silk系列工具、WinRunner、Robot等

7.2.3 功能测试

从用户的角度来看,功能测试就是对系统提供的各种功能进行测试,主要是黑盒测试。它是将系统作为一个黑盒子,系统的内部结构不考虑P [ 3 ] P的具体方法和系统通过逐项检查系统的各种功能是否完善,输入正确的数据能够得到所期望的输出,以及输入错误信息时,系统也能够进行处理。

7.2.4 性能测试

性能测试就是对各个功能运行时的峰值负载条件进行模拟化测试。并且负载测试以及压力测试都属于性能测试的一部分,这二者能够进行互补式的结合运用。使用负载测试能够检测在不同环境下的系统工作能力,主要目的就是判断系统在不同的荷载之下的工作运行情况。而压力测试则是通过系统的条件边界进行测试系统,这样是为了模拟出系统在环境条件下能够正常运行的最高边界限制。

7.3 测试环境与测试条件

测试环境是在Windows7系统下,WEB服务器采用Tomcat6.0版本,开发语言采用JSP、Java语言,数据库应用的是MySQL,开发工具采用MyEclipse8.6,会员端浏览器要求在IE6.0及以上版本。

测试条件是程序环境配置好,正常运行MyEclipse和MySQL数据库正常运行的条件下测试的。

7.4 实例测试表格

对主要模块进行黑盒测试,测试结果如下表6.1所示:

测试项 验证过程 预期结果 实际结果 结论
系统管理员 登录 系统管理员登录时输入 账号:admin密码:admin 进入系统管理主界面 进入系统管理主界面 通过
会员 登录 会员登录时输入 账号:liusan密码:000000 进入系统首页 进入系统首页 通过
会员查看 进入会员管理页面 成功显示所有会员列表 成功显示所有会员列表 通过
会员删除 进入会员管理页面,点击删除按钮 删除成功,出现删除成功的提示 删除成功,出现删除成功的提示 通过
商品类别查看 进入商品类别管理页面 成功显示所有商品类别列表 成功显示所有商品类别列表 通过
新商品类别添加 进入商品类别添加页面输入 名称:名称1 添加成功,出现添加成功的提示 添加成功,出现添加成功的提示 通过
商品类别删除 进入商品类别管理页面,点击删除按钮 删除成功,出现删除成功的提示 删除成功,出现删除成功的提示 通过
商品查看 进入商品管理页面 成功显示所有商品列表 成功显示所有商品列表 通过
新商品添加 进入商品添加页面 选择类别:类别1 输入编号:001 输入名称:名称1 输入介绍:介绍1 输入价格:10 上传图片 添加成功,出现添加成功的提示 添加成功,出现添加成功的提示 通过
商品删除 进入商品管理页面,点击删除按钮 删除成功,出现删除成功的提示 删除成功,出现删除成功的提示 通过
订单查看 进入订单管理页面 成功显示所有订单列表 成功显示所有订单列表 通过
订单删除 进入订单管理页面,点击删除按钮 删除成功,出现删除成功的提示 删除成功,出现删除成功的提示 通过
订单受理 进入订单管理页面,点击受理按钮 受理成功,出现受理成功的提示 受理成功,出现受理成功的提示 通过
在线注册会员 进入会员注册页面,按提示输入会员信息 注册成功,出现注册成功的提示 注册成功,出现注册成功的提示 通过

参考文献

[1] 唐友国,湛洪波.JSP网站开发详解,北京:电子工业出版社,2008

[2] 冯艳奎,赵德奎.JSP实用案例教程,清华大学出版社,2004

[3] 姜 仲,李绪成.Java语言程序设计,东北大学出版社,2007

[4] 史嘉权.数据库系统概论,清华大学出版社,2006

[5] 许令波. 深入分析Java Web技术内幕 [M],北京:电子工业出版社,2012

[6] 张峋,杨三成. 关键技术 JSP与JDBC应用详解 [M],北京:中国铁道出版社,2010

[7] 林信良. JSP & Servlet学习笔记 [M],北京:清华大学出版社,2012

[8] Hector Garcia-Molina. Database System Implementation [M].北京:机械工业出版社.2010

[9] 沈镛. 软件开发中SSH框架技术研究与应用[J]. 福建电脑,2010(6)

[10] 刘哲. 基于SSH的电子产品企业网站的框架设计[A]. 天津工业大学,2011

[11] 胡宾,汪伟. 论电子商务网站的设计与管理[J]. 科技经济市场,2007(4)

[12] 周丽娟,王华. 软件工程实用教程[M]. 北京:清华大学出版社,2012

[13] 刘兰娟. 电子商务网站开发[M]. 上海:上海财经大学出版社,2011

[14] 曹静. 软件开发生命周期与统一建模语言UML[M]. 北京:中国水利水电出版社,2008

[15] 谭云杰. 大象:Thinking in UML[M]. 北京:中国水利水电出版社,2009

[16] 张永常. Java程序设计实用教程[M]. 北京:电子工业出版社,2010

[17] 易禹,廖年东. 软件测试简明教程[M]. 武汉:武汉大学出版社,2012[10]

[18] Li,Zhang,Weixi,Zhang.Design of tourism e-business system based on JavaEE
multi-pattern[J]. Lecture Notes in Electrical Engineering,2012.417-424

[19] Oracle Forms Develops And Oracle Forms Server[OL]. http://www.Oracle.com,2000

[20] Galina Bogdanova,Todor Todorov,Dimitar Blagoev. Use of dynamic technologies
for web-enabled database management systems[J]. Computer systems and technologies,2003.202-207

上传的附件 cloud_download 基于SSH的婴幼儿产品销售系统的开发与设计.zip ( 17.08mb, 1次下载 )
error_outline 下载需要14点积分

发送私信

21
文章数
1
评论数
最近文章
eject