• 基于SSH的网上拍卖系统的设计与实现(JavaWeb的拍卖商城系统)


    目录
    摘要 I
    Abstract II
    第1章 绪论 1
    1.1 选题背景 1
    1.2 项目的主要研究工作 2
    1.2.1 应用客户端程序及J2EE服务器 2
    1.2.2 WEB层组件 2
    1.2.3 客户层组件 2
    1.2.4 编写算法 2
    1.3 开发环境 2
    第2章 关键技术平台与理论介绍 3
    2.1 概念 3
    2.1.1 J2EE的概念 3
    2.1.2 JSP的概念及其特点 3
    2.1.3 Java Bean的概念 3
    2.1.4 Java Servlet的概念 3
    2.1.5 Session对象 4
    2.2 J2EE的结构 4
    2.3 J2EE的容器类型 4
    2.4 J2EE的体系与模式 4
    2.4.1 J2EE的体系(分布式计算) 4
    2.4.2 J2EE的模式 4
    2.5 JAVA三大框架 5
    2.5.1 Struts框架 5
    2.5.2 Spring框架 6
    2.5.3 Hibernate框架 6
    2.6 开发环境的搭建 7
    2.6.1 服务器配置 7
    2.6.2 Tomcat安装及配置 7
    2.6.3 数据库配置 8
    第3章 需求分析和可行性研究 11
    3.1 问题的定义 11
    3.2 需求分析 11
    3.2.1 需求分析的过程 11
    3.2.2 需求分析的方法 12
    3.2.3 本软件研究方法 12
    3.2.4 目标需求 13
    3.2.5 功能需求 14
    3.2.6 性能需求 16
    3.3 可行性分析 16
    3.3.1 经济可行性 16
    3.3.2 技术可行性 16
    3.3.3 操作可行性 17
    3.3.4 法律可行性 17
    第4章 系统总体设计 18
    4.1 系统需求 19
    4.1.1 系统需求描述 19
    4.2 系统功能 20
    第5章 系统设计与实现 21
    5.1 系统数据库设计 21
    5.1.1 系统E-R图 21
    5.1.2 数据库表设计 22
    5.2 前台页面管理 24
    5.2.1 注册与登录 25
    5.2.2 选择物品加入购物车 27
    5.3 后台管理 31
    5.3.1 修改密码 32
    5.3.2 商品管理 33
    5.3.3 订单管理 39
    5.3.4 留言管理 39
    第6章 系统测试与分析 40
    6.1 程序调试 40
    6.2 程序的测试 40
    6.2.1 测试的重要性及目的 40
    6.2.2 测试的步骤 41
    6.2.3 测试的主要内容 42
    第7章 安全性问题 44
    结论 45
    参考文献 47
    致谢 48
    附录一:英文文献原文 49
    附录二:中文译文 57
    第3章 需求分析和可行性研究
    需求分析通俗的来说就是对一般用户的需求进行分析处理,通过充分了解用户需求进而把目标系统大致架构出来。需求分析第一要务就是对实际要处理的对象进行全面的调查,要对所调查目标的对象进行充分的了解,了解之后才能真正确定下来用户所需要的也切合实际情况的系统,最终才能根据该情况确定系统所应该拥有的各种功能。本次设计的网上拍卖系统亦是如此。
    3.1 问题的定义
    问题定义是指从系统的方向来认识了解软件,确定对所开发系统的全部要求,并指出要实现这些需求所需要的条件,需求需要达到怎样的标准.这些需求是指:环境需求(如jdk、服务器等)、功能需求(要做什么),性能需求(要达到什么指标),可靠性需求(避免发生故障的能力), 用户界面需求,安全保密的需求,资源使用需求(软件运行是所需的内存,CPU等),软件资源损耗与开发进度需求,提前预计之后系统可以达成的目标。
    因此在进行项目开发之前,通过大量查询资料,我对网上拍卖系统进行了系统的研究,确定了开发该系统所需的环境需求,为充分满足用户需求所设计的多功能个性化的界面,为商户设计的多样化的商品陈列界面,并对日后项目开发所需时间进行预估,保证在验收项目之前提早完成该系统。
    3.2 需求分析
    3.2.1 需求分析的过程
    进行需求分析需要分为三个方面:分析与综合,制订规格说明,评审。
    分析与综合:一步一步将所有软件功能进行细化,找出系统元素间的相互联系,接口特性以及设计上的各种限制,判断他们是否满足需求,去掉不合理的部分,添加需要的部分。最后,整理成为系统的解决方案,以及将要开发的系统的详细逻辑模型(做什么的模型)。
    制订规格说明书:也就是编制文档,软件需求规格说明书就是描述需求的文档。注意需求规格说明书是需求分析阶段的成果,然后向下一阶段提交。
    评审:对功能的正确性,完整性和清晰性,以及其它方面的需求进行评价。评审通过才能进行下一个阶段的工作,不通过则需重新开始需求分析。
    3.2.2 需求分析的方法
    有很多进行需求分析的方法。现在我们只讨论原型化方法, 对结构化方法,动态分析法等别的的方法在此不进行分析。
    在需求分析的种种方法中原型化方法是非常重要的一种方法。原型的含义就是软件的早期可运行的某个版本,该版本实现了目标系统的一些甚至全部的功能。
    原型化方法就是为了缩短时间先建立一个相对不那么完善的简单系统,这样的的一个系统具有一些目标系统的某些或者所有的功能,但是因为比较粗糙在可靠性,界面友好性以及等等方面并不完全具备,有许多功能的短缺和缺点。我们建立这样的一个系统可以发现目标系统的某一方面是否真正可行,比如算法的可行性,是否拥有相关技术,是否满足用户真正的需求。举个例子来说,在研究是否满足客户真正需求的时候,可以快速建立一个简易的系统,该系统只有一个借口,通过用户实地操作后进行反馈,从而得到这方面的信息,继而基于原型系统进行目标系统的开发。
    有三种主要类型的原型:探索性,实验性,进化性,探索性:目标是确定目标系统的要求,确定可取的功能,并探讨多种方案的可行性。实验型:目的在于在大范围的开发和实现前,考核方案是否真的合适,规格说明是否真的可靠。进化型:它的目的不在于改进规格说明,而是在于将系统建造得更易于变化,在不断改进软件原型的过程中,一步一步将原型升级成为最终版本系统。
    运用两种不同的策略来进行原型化方法:废弃策略,追加策略。废弃策略是指先创建一个功能相对简单并且质量要求低的模型系统,然后对这个系统进行反复的修改,形成比较好的思想之后,由此设计出较为完善,精确,一致,稳固的最终系统。系统构造完成后,原来的模型系统就被废弃不再使用.探索型以及实验型都属于废弃策略。
    追加策略是指先建构一个功能不太复杂并且对质量的要求低的模型系统,作为最终要完成的系统的核心,进而通过不断地进行扩充与修改,渐次追加新的要求,继而发展成为最终的系统。进化型属于这种策略。
    3.2.3 本软件研究方法
    软件工程顾名思义,就是求解软件的一类工程,它运用计算机科学、数学和管理科学的原理,运用传统工程的原理和方法,建立软件,以提高质量,降低成本。在软件工程中,构造模型与算法通过计算机科学、数学来构造,而工程科学则用于制定规范、设计范型、评估成本以及确定权衡,管理科学则是用于对计划、资源、质量、成本等的管理。软件工程是一个工程类学科,对计算机软件的开发以及维护起到了指导作用。
    软件工程的模型是一个结构框架,包含了软件开发全部的过程、活动和任务。
    瀑布模型的内容及其特点:
      瀑布模型把软件生存周期中的各种活动规定为按照固有的顺序进行连接的软干阶段工作,是一种线性的模型。瀑布模型的各阶段的活动是:指出系统相关需求、指出软件相关需求、需求的分析、设计、编码、测试以及运行。各个开发的阶段具有以下的几项特征,将上一阶段接受本阶段的工作对象作为输入,对于上述输入从而进行本阶段的活动,将本阶段的工作成果作为输出传递到下一个阶段,评审该阶段的工作,如果该阶段工作被确认后,就开始进行下阶段的工作,不然的话返回前一阶段甚至更前面的某个阶段。瀑布模型有种种缺点但它最大的缺陷就是这个模型严重缺乏灵活性。
    演化模型的内容及其特点:
      部分软件开发不能够事先完整的定义相关的软件需求,这时候就需要用到演化模型,演化模型的开发过程通常是一开始的时候对核心系统进行开发,在投入运行核心系统之后,软件开发人员依据用户的返回的相关信息,实施进行开发的迭代过程,每进行一次迭代的过程均要进行需求、设计、编码、测试、集成等几个阶段,迭代过程进行到整个软件开发的结束。演化模型能够在部分程度上降低了软件开发活动的盲目性。
    螺旋模型的相关内容及其特点:
     这个模型是在瀑布模型以及演化模型的基础上出现的模型,但它是增加了这两个模型之前所没有的风险分析阶段从而在此基础上出现的一种新型的软件开发的模型。螺旋模型沿着顺时针的方向,渐次体现了以下几个方面的活动:制定计划、风险分析、实施工程以及客户评估。
    喷泉模型的相关内容及其特点:
    软件创建所固有的迭代和无间隙特征在喷泉模型上得到了体现,部分软件开发过程需要面向对象开发,这时候就需要使用喷泉模型。
    增量模型的相关内容及其特点:
    在完成了软件系统完整的体系结构的设计之后,开始完整的开发系统的一个初始子集,继之,根据这一子集,建造一个更加精细的版本,如此不断的进行系统的增量开发。
    瀑布模型、演化模型、螺旋模型之间的联系:这三者的相似的地方就是它们都可以分为多个阶段进行软件开发,而瀑布模型一次完成软件,演化模型分为多次完成,每次迭代完成软件的一个部分,螺旋模型也分为多次完成,每次完成软件的一个新原型,并考虑风险分析。
    3.2.4 目标需求
    本项目主要实现的功能是为为广大的消费者群体与商家之间提供网络交易的平台,实现该平台的创建需要实现一系列的功能。商品信息发布的功能,商家发布自己产品的相关信息;注册登录功能,游客通过注册成为用户后可以正式开始购物收藏等操作;商品购买功能,将商品加购物车后继而填写相关信息进行购买;秒杀功能,商家推出低价产品来进行推广或清仓,用户购买廉价商品;竞拍功能,本文转载自http://www.biyezuopin.vip/onews.asp?id=11174稀有产品通过竞拍价高者得;后台管理功能,通过后台管理对商品的增添,活动的开始关闭进行操作。
    首先进行总体的分析和设计,再将基本信息模块的具体内容设计完成,然后完成其它各个子模块的功能。并要重视作好笔记。本项目采用MySql进行数据库设计,开发工具采用eclipse。
    3.2.5 功能需求
    3.2.5.1 系统用例
    在这里插入图片描述

    后台代码:
    public View add(HttpServletRequest request,@Param("file")TempFile  file,
    					@Param("name")String name,
    					@Param("price")String price,
    					@Param("content")String content) throws IOException{
    		
    		
    修改操作:点击操作栏修改,跳转到修改商品信息,填写相应信息后,点击提交,提示修改成功。
    
    后台代码:
    public View update(HttpServletRequest request,@Param("file")TempFile  file,
    					@Param("name")String name,
    					@Param("price")String price,
    					@Param("content")String content,
    					@Param("id")String id) throws IOException{
    		
    		设置促销:点击操作栏设置促销,填写促销价格,点击提交,提示修改成功,设置促销成功。
    
    后台代码:
    public View szcx(HttpServletRequest request){
    		String id = request.getParameter("id");
    		String newprice = request.getParameter("newprice");
    		Product product = productService.findProductById(Integer.parseInt(id));
    		product.setNewprice(newprice);
    		product.setSfcx(1);
    取消促销:点击操作栏取消促销,提示修改成功,取消已促销的商品。
    后台代码:
    public View qxcx(HttpServletRequest request){
    		String id = request.getParameter("id");
    		Product product = productService.findProductById(Integer.parseInt(id));
    		product.setSfcx(0);
    		product.setNewprice(null);
    	
    
    删除商品:点击操作栏删除,提示删除成功,删除商品。
    后代代码:
    public View delete(HttpServletRequest request){
    		
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    javaFx DialogPane 对话框
    ouster-32激光雷达使用---雷达参数配置
    Flutter 3.3 之 SelectionArea 好不好用?用 “Bug” 带你全面了解它
    自监督学习的新前沿:大型模型在自然语言处理中的应用
    我是如何保护 70000 ETH 并赢得 600 万漏洞赏金的
    《元宇宙2086》亮相金鸡奖中国首部元宇宙概念院线电影启动
    Python百日进阶WEB开发】Day153 - 前端基础 之 JQuery(二)
    部署LVS-DR集群
    c++编程实例
    软件License授权原理
  • 原文地址:https://blog.csdn.net/newlw/article/details/127747539