项目报告
基于WEB的网上购物系统的设计与实现
随着计算机网络技术的飞速发展和人们生活节奏的不断加快,电子商务技术已经逐渐融入了人们的日常生活当中,网上商城作为电子商务最普遍的一种形式,已被大众逐渐接受。因此开发一个网上商城系统,适合当今形势,更加方便人们在线购物。
本网上商城系统以MVC分层思想为原则,使用SSH框架进行整合开发。页面显示使用JSP和HTML,数据库使用MySQL,这些技术目前相对比较成熟,方便系统的维护与扩展。网上商城系统前台包括了用户注册、用户登录、商品查询、商品添加到购物车、删除商品等几大功能;后台管理功能则包括商品的修改、添加、删除、用户管理和订单管理等主要功能。本系统具有操作简单、页面友善、灵活性好、运行稳定等特点。
与其他使用ASP,PHP语言编写的网上商城系统相比,本系统使用的JSP语言更加方便快捷,开发更加效率。使用SSH框架和JSP相结合的方式,大大降低了系统的耦合度,增强了系统的可维护性、可移植性。本系统使用了数据库连接池技术,有效的防止了因连接数过大而引起系统崩溃局面的发生,并且使用了基于Annotation注解的方式进行开发,使网上商城系统的数据访问更加的快捷。
关键词:网上购物;MVC;SSH;MySQL
目 录
摘 要............................................................. i
Abstract.......................................................... ii
1 绪论............................................................ 1
1.1 系统开发背景.................................................. 1
1.2 开发意义...................................................... 1
1.3 国内外现状.................................................... 1
1.4 本系统设计的内容.............................................. 2
1.5 设计的步骤.................................................... 2
2 系统开发技术.................................................... 2
2.1 动态网页技术JSP.............................................. 2
2.2 框架SSH...................................................... 2
2.3 系统开发工具.................................................. 3
2.4 系统配置过程.................................................. 3
2.5 配置关键性问题的解决.......................................... 3
2.5.1 系统性能调整.............................................. 4
2.5.2 数据库编码................................................ 4
2.5.3 页面字符集................................................ 4
3 系统分析........................................................ 4
3.1 可行性分析.................................................... 4
3.1.1 技术可行性................................................ 4
3.1.2 经济可行性................................................ 5
3.1.3 可行性分析结论............................................ 5
3.2 需求分析...................................................... 5
3.2.1 开发意图.................................................. 5
3.2.2 功能需求.................................................. 5
3.2.3 数据流图.................................................. 5
3.2.4 数据字典.................................................. 8
4 系统设计....................................................... 11
4.1 系统的功能模块设计........................................... 11
4.2 系统的工作流程............................................... 12
4.3 系统模块详细设计............................................. 14
5 数据库设计..................................................... 20
5.1 数据库概念设计............................................... 20
5.1.1 实体属性的定义........................................... 20
5.2 数据库逻辑设计............................................... 22
6 系统实现....................................................... 25
6.1 系统主页面................................................... 25
6.2 非登录用户操作............................................... 25
6.2.1 用户注册................................................. 25
6.2.2 用户登录................................................. 26
6.2.3 找回密码................................................. 27
6.2.4 查看商品信息............................................. 28
6.2.5 搜索商品................................................. 29
6.3 登录用户操作................................................. 29
6.3.1 购物车................................................... 29
6.3.2 付款..................................................... 30
6.3.3 更新个人信息............................................. 31
6.4 后台管理..................................................... 31
6.4.1 后台登录................................................. 31
6.4.2 后台主页面............................................... 32
6.4.3 新增商品种类............................................. 32
6.4.4 商品种类列表............................................. 33
6.4.5 新增商品................................................. 33
6.4.6 商品列表................................................. 34
6.4.7 订单列表................................................. 34
6.4.8 订单条件查询............................................. 34
6.4.9 用户列表................................................. 35
7 系统压力测试................................................... 35
7.1 系统压力测试工具及环境....................................... 35
7.2 录制测试过程................................................. 36
7.2.1 建立线程组............................................... 36
7.2.2 建立HTTP请求默认值...................................... 36
7.2.3 设置代理服务器........................................... 37
7.3 测试设置及启动............................................... 38
7.3.1 设置登录参数............................................. 38
7.3.2 启动测试................................................ 39
7.4 测试结果..................................................... 39
7.4.1 系统压力测试聚合报告..................................... 39
7.4.2 系统压力测试图形结果..................................... 40
结 论............................................................ 41
参考文献.......................................................... 42
致 谢........................................................... 43
附录一:外文原文.................................................. 44
附录二:中文翻译.................................................. 48
1 绪论
1.1 系统开发背景
随着网络对人们生活和工作的影响日益增加,人们对网络的依赖是越来越强烈,不论是个人还是企业,都可以通过网络渠道来进行商品信息交流和买卖流通。网上商城由此产生,慢慢进入了人们的视线当中,越来越多的商家在网上建起在线商城,向消费者提供一种新型的购物方式。网上商城的出现,使消费者网上购物的过程变得简单、方便、快捷。网上商城是一种具有交互功能的商业信息系统,它在网络上建立一个虚拟的购物商城,使购物变得快捷又轻松,因此网上商城近年来发展的异常迅速,网上商城对人们生活的影响也会越来越大。
不可否认,网上商城将是企业发展和个人生活所不可缺少的重要组成部分,而且在网上商城购物会成为广大群众所能接受的最主要消费方式。
1.2 开发意义
从系统的开发背景来看,开发一个网上商城系统会有以下几项优势:
(1) 投资少,回收快。一项针对中国中小企业的情况调查显示,个人在网下启动销售公司需要大量的资金,而网上商城的成本非常小。在网上筹办一家商店投资费用很小,不用去租店面,不用囤积货品,所需资金不会很多。网上商城比同等规模的门面商铺“租金”要低得多,同时租金不会因为营业面积的增加而增加,商家也不用为延长营业时间而增付额外的费用。
(2) 基本不需要占压资金。传统商店的进货资金少则几千元,多则数万元,而网上商城则不需要积压太多的资金。
(3) 24小时营业。网上商城延长了传统商店的营业时间,一天24小时、一年365天不停业经营,而且不需要很多专门人员值班。
(4) 不受店面空间的限制。哪怕只是街边小店,在网上却可以拥有百货大楼那么大的店面,只要投资者愿意,可以摆上成千上万种商品。
(5) 不受地理位置影响。不管客户距离网上商城有多远,也不管顾客是国内还是国外,只要客户可以上网,在网上商城就可以很方便地找到并购买商品。
1.3 国内外现状
在美国、欧洲等信息化程度较高的国家,网上商城发展迅速,世界一流零售商,如沃尔玛、梅西百货、家得宝和萨克斯等纷纷跻身于网络销售行列。而在美国的家庭中,人们已经越来越习惯网上购物。网上购物已经成为美国、英国、日本等发达国家的一种消费习惯。
在我国,网上购物从无到有也不过十几年时间。而在最近几年时间,网上购物变得火热起来,网上购物迅速成为一种购物时尚。目前国内比较大型的网上购物商城如淘宝、京东、唯品会等,发展都是非常迅速,而随着国内计算机信息技术发展,网上购物会更加快速的发展起来,为消费者和商家都提供更加广阔的销售平台。因此,开发一个网上商城系统非常符合当今社会的发展趋势。
1.4 本系统设计的内容
本设计主要通过对现在网上商城发展形势进行分析,对开发工具进行简介,对系统的可行性进行分析、系统需求分析,然后进行系统的总体设计,设计数据库中表的关系和表结构,最后完成系统的总体实现,并对系统进行测试,从而完成整个系统。
1.5 设计的步骤
第一章:绪论,主要介绍系统的开发背景、研究意义、国内外现状及设计的内容。
第二章:开发技术,主要介绍了开发系统使用的技术及使用的工具。
第三章:系统分析,主要包括系统的可行性分析,系统的需求分析。
第四章:系统设计,主要对系统功能模块、工作流程和各模块设计进行介绍。
第五章:数据库设计,主要介绍系统所需的数据表信息及表之间联系。
第六章:系统实现,主要介绍了各个模块的实现及关键代码。
2 系统开发技术
2.1 动态网页技术JSP
JSP(Java Server Pages)是由Sun Microsystems公司(已经被Oracle收购)倡导、许多公司参与建立的一种动态网页技术标准。它在传统的网页HTML文件中插入Java程序段和JSP标记,从而形成JSP文件。JSP技术相比其他技术有以下优势:
(1) 仅编写一次,就可以在其他任何环境中运行。除了系统之外,代码不需要做任何更改。
(2) 系统具有多平台支持。JSP技术可以在众多平台上的环境中开发,在任意的环境中进行系统部署和扩展。
(3) 功能强大的开发工具支持。已经具有很多优秀的开发工具支持的JSP,其中许多都可以免费得到,并且许多工具可以顺利运行于多种平台下。
2.2 框架SSH
SSH是Struts+Hibernate+Spring的集成框架,SSH框架的特点有以下几点:
(1) Struts降低了系统的耦合度,使系统的逻辑结构更加清晰。
(2) Hibernate是一种开源的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使系统操纵数据库更加的方便。
(3) Spring框架中的IOC和AOP对系统进行最大程度解耦合,使系统的各层之间的耦合度减小,极大地提高了系统开发效率。
系统是集成SSH框架的,它的层次分别为:表示层、业务逻辑层和数据持久层。表示层采用JSP,Struts作为系统的整体基础架构,SSH框架各层次关系如图2-1所示。
表示层 |
Struts-MVC |
Struts Action个 |
JSP,XML等 |
业务层 |
Spring-IOC |
Spring-AOP |
|
DateBase 数据库 |
持久化层 |
Hibernate Template |
HibernateDAO |
图2-1 SSH框架层次图
2.3 系统开发工具
系统主要开发工具如下:
(1) MyEclipse:它是一个十分优秀的用于开发Java的Eclipse插件集合,它的功能丰富,并且完全支持JSP、HTML、Struts、Spring、CSS、JS、SQL 、Hibernate,它的9.0版本已经支持了JavaEE6,因此选用MyEclipse9.0进行开发非常的合适。
(2) Tomcat:它是一种具有运行时占用系统资源小,扩展性好,支持负载平衡等功能优点的轻量级应用服务器。它的7.0版本实现了对JSP2.2的支持,而且增加了Web应用内存溢出侦测和预防功能,因此选用Tomcat7.0作为系统服务器。
(3) MySQL:它是一个关系型数据库管理系统,将数据保存到不同的表中,提高了访问速度并提高了灵活性。MySQL数据库速度快、体积小、移植性能好,而且它是开源的,选用MySQL数据库对系统的各方面都有很大好处。MySQL5.7版本提高了MySQL的性能、可用性、可扩展性,因此选用MySQL5.7进行系统的数据库管理。
2.4 系统配置过程
系统配置详细过程:
(1) 在MyEclipse中配置安装好的的Java开发包和Tomcat服务器;
(2) 安装MySQL5.7,设置账号密码,用于数据库连接,然后安装Navicat for MySQL,使得数据库可以在图形页面下进行操作;
(3) 在MyEclipse中新建Web Project项目,项目名为webShopping;
(4) 导入Struts2包,Spring包,Hibernate包,其中Struts2的配置文件为Struts.xml,Spring的配置文件为bean.xml,使用bean.xml文件进行数据库连接池的配置;
(5) 导入外部的MySQL驱动包,用于数据库连接。
2.5 配置关键性问题的解决
上述配置正确后,仅仅可以成功连接,所以还需要解决一些关键问题才能更好的运行程序。
2.5.1 系统性能调整
在对系统性能进行调整后才能更加快速稳定运行系统。主要内容如下:
(1) 禁止Tomcat的自动重载
为了节约开发时间,在开发阶段Tomcat容器提供自动重载功能,方便在修改Java代码后不需要重新启动服务。但是,在生产环境下面,却占用了大量开销,因为进行了完全没有必要的重新载入操作,所以带来了很不好的性能影响。同时,在部分类载入,部分类载入的时候也可能带来各种难以处理的冲突。因此在J2EE的生产环境下关闭自动载入功能可以得到更好的性能。
(2) 控制HttpSession
在默认情况下,不要在JSP页面中创建HttpSessions对象,JSP页面默认会自动创建HttpSessions,如果JSP页面中不需要HttpSessions,为了节省一些性能,使用下面的页面指令避免自动创建HttpSessions对象: <%@ page session="false"%>。
2.5.2 数据库编码
为了处理乱码,数据库应和页面统一使用UTF-8编码处理。在使用Navicat新建数据库时,使用的字符集一项选择:utf8 -- UTF-8 Unicode。
在进行数据库连接时,需要使用参数characterEncoding,参数值为UTF-8,例如连接的数据库为WebShopping,那么在配置数据库连接时,使用的URL应该为: jdbc:mysql://localhost:3306/webShopping?useUnicode=true&characterEncoding=UTF-8。
2.5.3 页面字符集
在每个JSP页面中,都要声明使用UTF-8这一字符集,在每个JSP页面的最上都要加上这一句:<%@ page language="java" contentType="text/html;charset=UTF-8"%>,这样才能够保证每个JSP页面中的中文显示正常不出现乱码。
3 系统分析
3.1 可行性分析
开发任何一个基于计算机的系统,都会受到时间和资源上的限制。因此,在接受项目之前,必须根据客户可能提供的时间和资源条件进行可行性研究。这样就可以避免人力、物力、财力上的浪费。项目风险越大,开发高质量软件的可行性就越小。
3.1.1 技术可行性
硬件、软件要求不高,目前市场上的一般计算机软硬件都能满足系统开发要求。运用的编程软件主要有MyEclipse9.0,使用JSP和SSH框架技术,数据库采用MySQL。
(1) 当前JSP是一种应用广泛的技术,实现了Html和Java的集成;SSH框架是Struts + Hibernate + Spring的集成框架,是目前流行的一种Web应用程序开源框架。
(2) 用JSP开发的Web应用是跨平台的,既可以在Linux下运行,也可以在其他操作系统上运行。
(3) 维护工作方便,一般具有一定软件开发经验的人员,都可以在短时间内掌握维护工作。
3.1.2 经济可行性
网上商城系统的维护由程序人员即可完成,商家来进行对网上商城的订单、用户的信息来管理,不必使用大量的销售人员与客户面对面的交流,节约了人员工资开支的成本。而在销售业绩上,网上商城并不比实体商店的销售业绩差,因此在经济上是可行的。
3.1.3 可行性分析结论
经过以上对该项目进行各方面问题的分析,开发人员认为此项目的实现可以满足用户对商品的需要,方便用户与商家的交流,减少商家实体店面的开支,减少实体店铺对土地的浪费等,并且在技术和经济等方面均可行,确定本系统可以立项开发。
3.2 需求分析
需求分析指在建立一个新的系统时,确定系统的目的、范围、定义和功能时所要做的所用工作,需求分析是软件工程中的一个关键过程。需求分析阶段的任务是确定系统的功能。
3.2.1 开发意图
本系统适用于商家在网上进行商品销售,实现了商家的上架下架物品,修改商品信息,添加删除商品,用户管理功能等。极大地节省了商家对实体店铺的管理,物品的展示使用图片、视频信息便可。对客户而言,可以实现对商品的浏览,商品价格的了解、下单、购买等功能,方便了商家与客户之间的交流。
3.2.2 功能需求
在需求调查的基础上,结合网上商城系统的总体目标,对用户提出的需求从信息系统目标、业务功能、技术性能等方面分析,最终确定可行的、合理的系统功能需求。
根据以上分析,确定系统主要功能需求:
(1) 登录功能:用户输入用户名和密码,进行登录验证。
(2) 注册功能:可以查询用户名是否已经存在,对注册信息进行验证。
(3) 商品浏览:可以查询商品,显示商品详情,提供购买链接。
(4) 购物车管理:欲购买商品可以增添到购物车,也可以从购物车删除商品。
(5) 订单查询:用户登录后可以下订单,用户登录后也可以查看自己的订单。
(6) 商品种类管理:管理员可以对商品种类进行添加、删除操作。
(7) 商品管理:管理员可以添加商品、删除商品,查看所有商品。
(8) 订单管理:管理员登录后可以对订单进行管理。
(9) 用户管理:管理员可以管理注册用户信息。
3.2.3 数据流图
数据流图是描述系统中数据流程的图形工具。在本系统中,没有登录的用户提交注册信息、提交登录信息,登录后可以购买商品、提交订单、修改个人信息。管理员可以对商品信息、订单信息、用户信息进行管理。这其中涉及到了对各个数据库的信息处理。对本系统进行分析,可以得到以下几个数据流图:
(1) 网上商城系统顶层数据流图如图3-3所示。
用户 |
系统信息表 |
D0 |
管理员 |
P0 |
网上商城系统 |
管理 |
浏览 |
系统信息 |
图3-3 网上商城系统顶层数据流图
(2) 网上商城系统第一层数据流图如图3-4所示。
图3-4 网上商城系统第一层数据流图
(3) 用户信息管理数据流图如图3-5所示。
用户信息表 |
D1 |
P1.1 |
用户登录 |
用户 |
验证用户信息 |
更新用户信息 |
P1.2 |
用户注册 |
增加用户信息 |
P1.3 |
用户信息修改 |
登录 |
注册 |
修改信息 |
图3-5 用户管理数据流图
(4) 商品管理数据流图如图3-6所示。
商品信息表 |
D2 |
P6.1 |
添加商品 |
管理员 |
添加商品信息 |
查看商品信息 |
P6.2 |
删除商品 |
删除商品信息 |
P6.3 |
查看商品 |
添加商品 |
删除商品 |
商品列表 |
图3-6 商品管理数据流图
3.2.4 数据字典
数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典是数据流图上所有的成分的定义和解释的文字的集合,它最重要的用途是供人查询对不了解的条目的解释。
数据字典主要的组成有:数据项、数据流、数据结构、数据存储、处理过程。根据对本系统的数据流图的分析,本系统的数据字典的主要内容如下:
(1) 关键部分数据项(仅对关键数据项进行描述)。关键部分数据项如表3-1所示。
数据项名 | 数据项描述 |
用户ID | 用户的编号 |
用户名 | 用户登录账号 |
用户密码 | 用户登录密码 |
用户姓名 | 用户的姓名 |
邮寄地址 | 用户接收商品的地址 |
商品名称 | 商品的名称 |
商品种类 | 商品的种类 |
商城价格 | 商品在商城的售价 |
剩余数量 | 商品的剩余数量 |
商品图片 | 商品的图片地址 |
订单编号 | 订单的编号 |
是否付款 | 用户是否已经付款 |
是否发货 | 商城是否已经发货 |
表3-1 关键部分数据项
(2) 数据结构反映了数据之间的组合关系。本系统的主要数据结构如下所示:
① 用户信息的数据结构如下:
数据结构:用户
数据项说明:用户的各项信息
数据项组成:用户ID+用户名+用户姓名+用户密码+用户性别+用户电话+邮编+邮寄地址+电子邮件
② 商品信息的数据结构如下:
数据结构:商品
数据项说明:商品的各项信息
数据项组成: 商品编号+商品名称+商品图片+商品种类+商品描述+商品厂商+商品原价+商城价格+商品总量+剩余数量
③ 订单信息的数据结构如下:
数据结构:订单
数据项说明:订单的信息
数据项组成:订单编号+商品信息+用户名+用户备注+提交时间+总金额+是否付款+是否发货+发货时间+订单流水号
⑤ 管理员的数据结构如下:
数据结构:管理员
数据项说明:管理员的信息
数据项组成:管理员编号+管理员用户名+管理员密码
⑥ 商品种类的数据结构如下:
数据结构:商品种类
数据项说明:商品种类的信息
数据项组成:商品种类名称+商品种类编号
(3) 数据流是数据结构在系统内的传输路径。本系统的数据流主要有:
① 用户登录数据流如下:
数据流名称:用户登录
说明:用户登录输入的账号和密码
数据流来源:用户信息表
数据流去向:用户信息表
组成:用户
平均数据量:100次/每小时
高峰期流量:400次/每小时(商品优惠活动期间)
② 用户注册数据流如下:
数据流名称:用户注册
说明:用户注册信息
数据流来源:用户信息表
数据流去向:用户信息表
组成:用户
平均数据量:20次/每小时
高峰期流量:50次/每小时
③ 用户信息更新数据流如下
数据流名称:用户信息更新
说明:用户更新个人信息
数据流来源:用户信息表
数据流去向:用户信息表
组成:用户
平均数据量:10次/每小时
高峰期流量:20次/每小时(商品优惠活动期间)
④ 订单提交数据流如下:
数据流名称:提交订单
说明:用户提交订单信息
数据流来源:用户信息表
数据流去向:订单信息表
组成:订单
平均数据量:30次/每小时
高峰期流量:50次/每小时(商品优惠活动期间)
⑤ 添加商品数据流如下:
数据流名称:添加商品
说明:管理员添加商品信息
数据流来源:管理员信息表
数据流去向:商品信息表
组成:商品
平均数据量:20次/每天
高峰期流量:50次/每天(进货种类较多时)
4 系统设计
4.1 系统的功能模块设计
前台管理:该部分主要是用户对商品的查询等功能,用户没有注册可以实现商品的查询和商品信息的查看;用户注册后就可以进行添加商品到购物车、从购物车删除商品、订单提交、个人信息更新等操作。
后台管理:该部分主要对商城内的一些基础数据进行有效管理,包括商品管理、会员管理、订单管理等。
(1) 网上商城系统的前台系统框架图如图4-1所示。
图4-1 前台系统框架图
前台主要功能介绍:
① 搜索商品:用户不用登录可以输入商品的名称来查看需要查询的商品,而且可以查看商品的详细信息,如生产厂商、剩余数量、介绍等。
② 分类查询:用户可以按分类来查看该分类的商品。
③ 用户注册:用户可以输入注册信息来注册,用户可以检查用户名是否存在,用户注册信息没有错误则可正确注册(不要使用中文名称来注册)。
④ 用户登录:用户输入登录名和密码进行登录,如果用户名和密码错误则无法登录。
⑤ 更新信息:用户登录后可以查看个人信息并更新个人信息,还可以修改密码。
⑧ 购物车:用户登录后就可以购物,可以把商品加入到购物车,或者把商品从购物车删除,如果商品数量为0则无法加入到购物车。
⑨ 提交订单:用户把商品添加到购物车后即可提交订单,订单提交后用户可以进行付款(本系统为用户模拟了一个账户,用于用户购物,用户账户余额不足则无法付款)。
⑩ 查看订单:用户可以查看自己的订单。
(2) 网上商城系统的后台系统框架图如图4-2所示。
图4-2 后台系统框架图
后台主要功能介绍:
① 商品种类管理:管理登录后台后可以对商品种类进行添加、删除。添加时如果商品种类已经存在会提示添加错误。
② 商品管理:管理员对商品进行添加、删除操作,如果商品已经存在,添加时会提示商品已经存在。
③ 订单管理:管理员可以查询订单,查看所有订单信息。
④ 用户管理:管理员可以查询用户信息,管理用户信息。
⑥ 系统管理:管理员可以修改登录密码,安全退出。
4.2 系统的工作流程
(1) 网上商城系统前台的工作流程如图4-3所示。
用户是否登录 |
N |
Y |
用户登录 |
帐号有效 |
信息有效 |
N |
N |
Y |
Y |
信息修改 |
购买商品 |
订单查询 |
有无库存 |
N |
添加购物车 |
提交订单 |
Y |
商品浏览 |
查看商品信息 |
搜索商品 |
用户注册 |
信息有效 |
余额充足 |
N |
前台主页 |
信息有效 |
N |
付款 |
Y |
Y |
N |
结束 |
操作成功 |
Y |
图4-3 前台工作流程图
(2) 网上商城系统后台的工作流程如图4-4所示。
帐号有效 |
输入账号密码 |
N |
Y |
后台主页面 |
商品种类管理 |
商品管理 |
订单管理 |
用户管理 |
添加商品种类 |
删除商品 |
添加商品 |
删除商品种类 |
订单操作 |
用户删除 |
用户查询 |
订单查询 |
操作成功 |
后台登录 |
N |
Y |
存在 |
Y |
N |
系统管理 |
退出系统 |
修改登录密码 |
结束 |
存在 |
图4-4 后台工作流程图
4.3 系统模块详细设计
(1) 用户注册
用户注册是用户想要购买商品所必须进行的,用户注册需要填写正确的信息,用户账户一旦注册就不能修改,用户的其他信息可以修改。用户填写信息需要正确填写各项信息,如收货地址,用户下订单后用户的收货地址如果是错误的则无法正确发货的。用户注册后,使用用户名和密码登录系统,可以进行购物、下订单、提交留言操作。用户注册的流程图如图4-5所示。
输入注册信息 |
用户注册 |
注册成功 |
N |
N |
用户名是否存在 |
Y |
Y |
信息有效 |
图4-5 用户注册流程图
(2) 用户登录
用户登录时需要输入用户名和密码,系统对用户输入信息进行验证,如果用户输入信息错误则需要重新输入,用户输入正确则可以成功登录,跳转到首页,显示用户常用操作例如修改密码,修改信息,退出等。用户如果忘记密码可以通过查找密码来重新设置密码。用户登录流程图如图4-6所示。
输入登录信息 |
信息有效 |
用户登录 |
登录成功 |
N |
Y |
图4-6 用户登录流程图
(3) 用户信息修改
用户登录后可以修改个人信息,修改个人信息后需要重新登录才能查看到更新之后的信息。用户登录后可以修改密码,重新登录需要使用修改后的密码才能登录。用户信息修改流程图如图4-7所示。
输入修改信息 |
信息有效 |
用户信息修改 |
信息修改成功 |
N |
Y |
图4-7 用户信息修改流程图
用户修改密码流程图如图4-8所示。
输入新密码 |
密码有效 |
用户修改密码 |
密码修改成功 |
N |
Y |
图4-8 用户修改密码流程图
(4) 用户找回密码
用户如果忘记密码,可以通过输入注册时的信息来重设密码。如果输入的注册信息错误则无法重设密码,只有输入正确的注册信息才能进行密码重设。用户找回密码的流程图如图4-9所示。
输入注册信息 |
信息有效 |
用户找回密码 |
密码重置成功 |
Y |
N |
输入新密码 |
密码有效 |
Y |
N |
图4-9 用户找回密码流程图
(5) 用户查看商品
用户不需要登录就可以搜索商品,查看商品详细信息。用户可以通过搜索商品名称来搜索商品,或者商品分类来查看该种类的商品。用户查看商品流程图如图4-10所示。
查看商品种类 |
有无商品 |
前台首页 |
查看商品信息 |
Y |
N |
输入商品名称 |
有无信息 |
Y |
N |
图4-10 用户查看商品流程图
(6) 添加到购物车
用户登录后可以把商品添加到购物车,也可以对购物车商品进行删除。如果商品的剩余数量为0则无法把商品添加到购物车。添加到购物车流程如图4-11所示。
用户登录 |
添加到购物车 |
查看商品信息 |
添加到购物车成功 |
商品是否有货 |
用户是否登录 |
Y |
N |
N |
Y |
图4-11 添加到购物车流程图
(8) 管理商品
管理员登录后台后,可以对商品进行管理,添加、删除商品。添加时如果商品已经存在则无法添加。管理商品流程图如图4-13所示。
添加商品 |
管理员登录 |
操作成功 |
信息有效 |
N |
Y |
删除商品 |
已存在 |
Y |
N |
图4-13 管理商品流程图
(9) 管理商品种类
管理员登录后台后,可以对商品种类进行管理,添加和删除商品种类。如果添加时商品种类已经存在则无法添加。管理商品种类流程图如图4-14所示。
添加商品种类 |
管理员登录 |
操作成功 |
信息有效 |
删除商品种类 |
已存在 |
|
图4-14 管理商品种类流程图
(10) 系统管理
管理员登录后,可以修改登录密码、退出系统。系统管理流程图如图4-15所示。
修改密码 |
管理员登录 |
成功退出 |
信息有效 |
N |
Y |
退出 |
修改成功 |
确认退出 |
|
5 数据库设计
5.1 数据库概念设计
数据库概念设计是根据对系统的分析、系统设计,规划出系统中使用的数据库实体。描述概念模型的工具主要是E-R图。根据对本系统的分析,规划出本系统所需要的实体,具体有:用户、商品、商品种类、管理员、订单。
5.1.1 实体属性的定义
(1) 用户实体拥有的属性有用户ID、用户名、用户密码、性别、姓名、电话、邮寄地址和电子邮箱这八个属性。用户实体属性如图5-1所示。
图5-1 用户实体属性图
(2) 商品实体拥有的属性有商品ID、商品名称、商品种类、商品图片、商品描述、商品厂商、商城价格、商品原价、总数量和剩余数量这十个属性。商品实体属性如图5-2所示。
图5-2 商品实体属性图
(3) 商品种类实体拥有的属性有商品种类和商品种类名称这两个属性。商品种类实体属性如图5-3所示。
图5-3 商品种类实体属性图
(4) 订单实体拥有的属性有订单ID、订单用户名、商品、提交时间、发货时间、总金额、是否发货和是否付款这个八个属性。订单实体属性如图5-4所示。
图5-4 订单实体属性图
(5) 管理员实体拥有的属性有管理员ID、管理员用户名和管理员密码这三个属性。管理员实体属性如图5-5所示。
图5-5 管理员实体属性图
5.2 数据库逻辑设计
(1) 用户信息表(users)
用户信息表:用于记录用户ID、用户名、用户姓名、用户密码、用户性别、用户电话、商品邮寄地址和用户电子邮件等信息。用户信息表的内容如表6-1所示。
字段名 | 数据类型 | 约束条件 | 是否可空 | 默认值 | 注释 |
userId | int(20) | 主键 | 否 | 1 | 用户ID(自增) |
username | varchar(50) | 否 | 无 | 用户名 | |
password | varchar(50) | 否 | 无 | 用户密码 | |
name | varchar(50) | 否 | 无 | 用户姓名 | |
sex | varchar(50) | 否 | 无 | 用户性别 |
表6-1 用户信息表
(2) 商品信息表(commoditys)
商品信息表:用于记录商品编号、商品种类、商品名称、图片商品描述、商品厂商,商品原价格,商城出售价格,商品总数量和商品剩余数量等信息。商品信息表的内容如表6-2所示。
字段名 | 数据类型 | 约束条件 | 是否可空 | 默认值 | 注释 |
commodityId | int(20) | 主键 | 否 | 1 | 商品编号(自增) |
commodityClass | varchar(50) | 外键 | 否 | 无 | 商品种类 |
commodityName | varchar(50) | 否 | 无 | 商品名称 | |
manufacturer | varchar(50) | 否 | 无 | 商品厂商 | |
commodityDepict | varchar(255) | 否 | 无 | 商品描述 | |
commodityPrice | double(20) | 否 | 无 | 商品原价 | |
webShopPrice | double(20) | 否 | 无 | 商城价格 | |
commodityAmount | int(50) | 否 | 无 | 商品总量 | |
commodityLeaveNum | int(50) | 否 | 无 | 剩余数量 | |
image | varchar(255) | 否 | 无 | 商品图片 |
(3) 商品种类信息表(commodityclasses)
商品种类信息表:用于记录商品种类的编号,商品种类名称等信息。商品种类信息表的内容如表6-3所示。
表6-3商品种类信息表
字段名 | 数据类型 | 约束条件 | 是否可空 | 默认值 | 注释 |
commodityId | int(20) | 主键 | 否 | 1 | 商品种类编号(自增) |
commodityClass | varchar(50) | 否 | 无 | 商品种类名称 |
(4) 订单信息表(orderform)
订单信息表:用于记录订单的编号,用户信息,订单提交时间,发货时间,总金额,买家备注,买家是否付款,是否发货等信息。订单信息表的内容如表6-4所示。
表6-4 订单信息表
字段名 | 数据类型 | 约束条件 | 是否可空 | 默认值 | 注释 |
orderFormId | int(20) | 主键 | 否 | 1 | 订单编号(自增) |
username | varchar(20) | 外键 | 否 | 无 | 用户名 |
commodity | varchar(50) | 外键 | 否 | 无 | 商品信息 |
submitTime | varchar(50) | 否 | 无 | 提交时间 | |
consignmentTime | varchar(50) | 是 | 无 | 发货时间 | |
totalPrice | varchar(50) | 否 | 无 | 总金额 | |
remark | varchar(50) | 是 | 无 | 用户备注 | |
isPayoff | varchar(10) | 否 | 无 | 是否付款 | |
isConsignment | varchar(10) | 是 | 无 | 是否发货 | |
orderFormNum | bigint(20) | 否 | 无 | 订单流水号 |
(5) 管理员信息表(admins)
管理员信息表:用于记录管理员编号,管理员用户名,管理员密码等信息。管理员信息表内容如表6-5所示。
字段名 | 数据类型 | 约束条件 | 是否可空 | 默认值 | 注释 |
adminId | int(20) | 主键 | 否 | 1 | 管理员编号(自增) |
adminName | varchar(255) | 否 | 无 | 管理员用户名 | |
adminPassword | varchar(255) | 否 | 无 | 管理员密码 |
表6-5管理员信息表
6 系统实现
6.1 系统主页面
系统主要使用淡色调,颜色不会很刺眼,不会使客户感到反感。系统页面简洁,上方的导航则包括用户登录、用户注册、留言板等信息,下方显示商品种类列表、上架商品、商城公告、用户登录框等信息,用户可以通过左侧导航栏查询每个种类的商品,也可以通过搜索来查找商品。系统主页面如图6-1所示。
图6-1 系统主页面
系统主页的商品分类需要通过请求来获取商品种类列表。
获取商品种类列表的关键代码如下:
public String execute() throws Exception {
Map request = (Map) ActionContext.getContext().get("request");
commodityClasses = commodityClassService.findAllCommodityClasses();
request.put("listCommodityClasses", commodityClasses); //列表信息保存到listCommodityClasses中
6.2 非登录用户操作
6.2.1 用户注册
用户可通过注册成为商城会员,点击用户注册打开用户注册页面,用户注册包括用户名、密码、用户姓名、性别、电话、收货地址、电子邮箱等信息,用户点击每个输入框时后方会提示需填入的内容或注意事项。用户注册页面如图6-2所示。
图6-2 用户注册页面
用户提交注册信息后,若没有错误的信息,则会提示注册成功,跳转到登录页面。若用户注册信息有错误,则会提示注册失败,返回到注册页面,用户应重新注册。
用户注册关键代码如下:
public String execute() throws Exception {
String username= user.getUsername();
User user = service.findUserByName(username); //查询该用户名是否存在
if(user==null){
this.service.save(this.user);
return "success"; }
else{
return "error"; }
}
6.2.2 用户登录
用户可以通过右侧的登录框登录,也可通过上方的导航栏打开用户登录页面进行登录。用户登录页面如图6-3所示。
图6-3 用户登录页面
如果用户名和密码正确,则会提示登录成功,跳转到主页。如果用户名和密码不正确,则会提示登录失败,返回到登录页面,用户需要再次登录。用户登录后可以查看购物车中商品、提交留言、查看自己的订单等。用户可以点击退出按钮退出系统。用户登录成功后页面如图6-4所示。
图6-4 用户登录成功后页面
用户登录关键代码如下:
public String login(){
String username= user.getUsername();
String password=user.getPassword();
User user = service.getUserByLoginNameAndPassword(username,password);
//搜索是否存在该用户
if(user == null){
ActionContext.getContext().put("message", "用户名或密码错误");
return "login";
}else{
ActionContext.getContext().getSession().put("user", user);
return "index";
}
}
6.2.3 找回密码
如果用户已经注册过,但是密码输入不正确或者忘记密码,可以通过输入正确的注册信息来重新设置密码。输入找回密码信息页面如图6-5所示。
图6-5 输入找回密码信息页面
用户输入正确的信息后即可进入重新设置密码页面,进行秘密的重置。
找回密码关键代码如下:
public String findUser()
{ String username= user.getUsername();
String name= user.getName();
String sex= user.getSex();
String post= user.getPost();
String address= user.getAddress();
String phone= user.getPhone();
String email= user.getEmail();
User user=this.service.findUserByinfo(username, name,sex,phone, post, address, email); //查询是否有该用户信息
if(user==null){
ActionContext.getContext().put("findUsernull", "没有该用户信息!");
return "findUsernull";
}else{
ActionContext.getContext().getSession().put("findUser", user);
return "findUser";
}
6.2.4 查看商品信息
点击商品下的详细按钮,可以查看商品的详细信息,在商品的详细信息中可以看到商品的名称、商品编号、商品生产厂商、价格、数量、上架时间和商品的描述,这项操作用户没有登录也可以进行。商品信息页面如图6-6所示。
商品详细信息关键代码如下:
public String findCommodityById(){
int commId= commodity.getCommodityId();
Commodity commodity = this.service.findCommodityById(commId);
ActionContext.getContext().getSession().put("commodityById", commodity);
return "findCommodityById";
}
6.2.5 搜索商品
用户可以通过输入商品的部分关键字进行商品搜索,搜索商品后会显示搜索到的信息,如果没有相关信息会输出没有改商品信息。搜索商品信息结果页面如图6-7所示。
图6-7 搜索商品结果页面
搜索商品关键代码如下:
public String findCommodityByName(){
String commodityName= commodity.getCommodityName();
Map request = (Map) ActionContext.getContext().get("request");
request.put("commoditybyName",this.service.findCommodityByName(
commodityName)); //保存搜索的信息
ActionContext.getContext().getSession().put("searchnameMessage",
commodityName);
return "findCommodityByName";
}
6.3 登录用户操作
6.3.1 购物车
用户只有登录后才能把商品添加到购物车。在每件商品的下方都有添加到购物车按钮,点击添加就可以添加到购物车,添加一次商品,商品剩余数量就减少1,如果商品剩余数量为0,则无法添加到购物车,提示商品无供货。在购物车中可以查看购物车中的物品,商品的简单信息。在购物车中可以移除商品,移除商品时,商品剩余数量会增加1。用户可以在买家备注里输入备注信息,然后点击提交订单进行订单的提交,也可以点击继续购物继续浏览商品。购物车页面如图6-9所示。
图6-9 购物车页面
商品添加到购物车关键代码如下:
public String execute() throws Exception {
int commodityId= commodity.getCommodityId();
Map session =(Map) ActionContext.getContext().getSession();
Commodity commoditys = commodityService.findCommodityById (commodityId); //获得商品信息
if(commoditys.getCommodityLeaveNum()==0){
ActionContext.getContext().getSession().put("comnull","商品已无货!");
return "error";
}
else{
List<Commodity> car = null; //声明一个购物车
if(session.get("car") == null) { //如果session中不存在购物车
car = new ArrayList<Commodity>(); //新建一个ArrayList实例
}
else {
car = (List<Commodity>)session.get("car"); //取得购物车 }
}
commoditys.setCommodityLeaveNum(commoditys.getCommodityLeaveNum()-1);
commodityService.update(commoditys);
session.put("car", car);//将购物车保存在session中
return "success"; }
6.3.2 付款
用户点击提交订单按钮后,用户的订单就提交到了数据库,然后可以进行付款操作。用户付款时会检查用户金额,如果用户金额不足,会提示余额不足无法付款;用户余额足够才能付款成功。如果用户没有对订单进行付款,商家则不会发货。用户付款页面如图6-10所示。
图6-10 用户付款页面
6.3.3 更新个人信息
用户登录以后可以修改个人信息,修改个人信息时需要输入正确的信息,点击更新个人信息后即可更新个人信息,但是需要用户重新登录之后才会显示更新后的信息。用户也可以修改登录密码。用户更新个人信息页面如图6-12所示。
图6-12 更新个人信息页面
修改个人信息关键代码如下:
public String updateUser(){
this.service.update(user); //更新用户的信息
ActionContext.getContext().put("updatemessage", "您的信息已经更新!");
return "updateUser"; }
6.4 后台管理
6.4.1 后台登录
可以通过主页面下方的链接打开后台管理的登录页面,后台登录页面需要输入管理员账号和密码,如果用户名和密码错误则不能登录,只有输入正确的管理员账号和密码才能登录到后台主页面。后台登录页面如图6-13所示。
图6-13 后台登录页面
6.4.2 后台主页面
输入正确的管理员账号和密码后,打开后台关键的主页面,主页上主要显示此网上商城开发工具的介绍,左侧有快捷功能,上方有列表用于选择各个操作。点击退出即可退出后台管理页面返回登录页面。后台主页面如图6-14所示。
图6-14 后台管理主页面
6.4.3 新增商品种类
新增商品种类,填写商品种类名称,提交便可增加一种新的商品种类。新增商品种类页面如图6-15所示。
图6-15 新增商品种类页面
6.4.4 商品种类列表
管理员可以查看商品种类的列表。商品种类列表页面如图6-16所示。
图6-16 商品种类列表页面
6.4.5 新增商品
新增商品可以填写商品的名称、商品编号、选择商品种类、填写生产厂家、上传图片、添加商品描述、商品原价格、商城销售价格、商品总数量。新增商品页面如图6-17所示。
图6-17 新增商品页面
新增商品主要代码如下:
public String addCommodity(){
CommodityClass com= commodityClassService.findCommodityClassByName (commodity.getCommodityClass().getCommodityClassName()); //获得商品种类信息
commodity.setCommodityClass(com); //设置商品种类
List<Commodity> comFindname = this.service.findCommodityByName (commodity.getCommodityName()); //查询该商品是否存在
if(comFindname.size()==0){
this.service.save(this.commodity); //保存商品信息
ActionContext.getContext().put("addComessage", commodity.getCommodityName() +"添加成功"); }
else {
ActionContext.getContext().put("addComessage", commodity.getCommodity Name() +"已经存在,请重新填写商品信息!");
return "addCommodity";} }
6.4.6 商品列表
管理员可以查看商品的列表。商品列表页面如图6-18所示。
图6-18 商品列表页面
6.4.7 订单列表
管理员可以查看订单列表,显示的内容包括:订单编号、用户是否已经付款、是否已经发货、总金额、可以进行订单发货操作等。订单列表页面如图6-19所示.
图6-19 订单列表页面
6.4.8 订单条件查询
输入订单的条件可以查询订单,用于管理员来查询符合条件的订单信息。订单条件查询页面如图6-20所示。
图6-20 订单条件查询页面
6.4.9 用户列表
用户列表包括所有用户的信息,显示的内容有:用户的姓名、联系电话、住址、邮寄地址、删除用户等。用户列表页面如图6-21所示。
图6-21 用户列表页面
7 系统压力测试
7.1 系统压力测试工具及环境
本系统测试使用Apache Jmeter工具,这是由Apache组织开发的基于java的测试工具。Apache JMeter是开源而且免费的测试工具,它是可以对利用HTTP或FTP服务器的应用程序进行测试的工具,因此,选用Apache Jmeter作为网上商城系统的测试工具非常适合。下载Jmeter,打开bin目录的JMeter.jar,启动JMeter。JMeter主页面如图7-1所示。
图7-1 JMeter主页面
系统测试环境是系统在何种配置的服务器中进行的测试如表7-1所示。
表7-1 系统测试环境
操作系统: | Windows XP Professional SP3 |
处理器: | AMD Sempron(tm) M100 |
内存: | 2G |
测试工具: | Apache Jmeter |
7.2 录制测试过程
7.2.1 建立线程组
线程组用于指定运行的线程数和等候周期。每个线程模拟一个用户,而Ramp-Up Period(in-seconds)用于指定创建全部线程的时间。设置200个用户同时访问,在5秒之内全部访问登录页面,登录系统。循环次数则代表执行的次数。建立线程组页面如图7-2所示。
图7-2 建立线程组页面
7.2.2 建立HTTP请求默认值
在线程组下新建“HTTP请求默认值”同时配置其参数:服务器地址,端口号,访问协议。建立HTTP请求默认值页面如图7-3所示。
图7-3 建立HTTP请求默认值页面
7.2.3 设置代理服务器
在工作台下设置HTTP代理服务器,设置Global Settings(端口号),Test plan content(目标控制器)选择上面建立的线程组,添加排除模式,以免在录制过程中录制了不需要的图片,脚本等。工作台设置HTTP代理服务器页面如图7-4所示。
图7-4 工作台设置HTTP代理服务器页面
配置好以后,设置浏览器的HTTP访问代理,用于用户的访问。浏览器设置HTTP代理服务器页面如图7-5所示。
图7-5 浏览器设置HTTP代理服务器页面
浏览器端口号一定要与图8-4配置的端口号一致。启动JMeter的脚本录制。打开浏览器,进行一次登录退出操作。在线程组后会显示登录和退出所访问的action。录制完成页面如图7-6所示。
7.3 测试设置及启动
7.3.1 设置登录参数
在用户登录的action中,可以为用户名和密码进行参数化设置,测试的用户为testuser1到testuser201,测试之前请确认数据库中的用户表已经有这些用户名信息。用户名和密码进行参数化设置页面如图7-7所示。
图7-7 用户名和密码进行参数化设置页面
用户名和密码的数据是从本地f盘下的文件login.txt中读取的,用户名和密码格式如图7-8所示。
图7-8 用户名和密码格式
7.3.2 启动测试
在启动测试前,确认已经添加好监听器:聚合报告、用表格察看结果、图形报告和查看结果树,用于在测试结束后察看结果。然后点击运行按钮,启动测试,等待测试结束。
7.4 测试结果
7.4.1 系统压力测试聚合报告
聚合报告是整个测试过程中的数据反映。其中参数说明:Lable是测试项目名称,Samples是多少个访问实例,Average是平均相应时间,Median是相应时间中间值,90%Line指90%的实例的相应时间,Min最小响应时间,Max最大响应时间,Error%出错率,Throughput是每秒完成的实例也就是系统的吞吐量,最后一项为每秒传送的数据量。系统压力测试聚合报告页面如图7-9所示。
图7-9 系统压力测试聚合报告页面
7.4.2 系统压力测试图形结果
图形结果可以更加形象并且直观地看到测试的结果。主要参数有:样本数目是总共发送到服务器的请求数。最新样本是代表时间的数字,是服务器响应最后一个请求的时间。吞吐量是服务器每分钟处理的请求数。 平均值是总运行时间除以发送到服务器的请求数。中间值是代表时间的数字,有一半的服务器响应时间低于该值而另一半高于该值。偏离表示服务器响应时间变化、离散程度测量值的大小,也就是数据的分布。
在这些结果中可以看出,网上商城系统既可以满足一般商家的需要,又可以满足适量的用户同时登录,如果需要满足更多用户的登录,购物等操作,可以根据具体的需要对系统,服务器进行优化配置。总体上本系统是可以满足现有需求的。
结 论
这次的毕业设计是先对网络购物系统做需求分析,对需要做出来的功能和目标做了一个阐述,之后进行的设计,最后实现了一个简易的网络购物系统的设计。该设计已Java语言为主,用MyEclipse环境完成,MySQL作为我的数据库,同时用到了Tomcat服务器。这个设计分为两个部分,分别是前台用户模块和后台管理模块。前台用户可以操作的模块如下:查看商品,登录注册,购买商品,操作购物车,修改个人信息;后台管理员可以操作的模块如下:商品种类的增删改查,商品的增删改查,查询和更改用户信息。通过不断调试,运行和测试,系统现在可以正常的运行。因为这是我第一次独立完成开发,系统不免有些简易和不足,还需进一步的改善。
这个设计是利用网络来进行一些简单的交易,方便大家的生活。这次的毕业设计锻炼了我的实际操作的能力。让我对Java的应用和理解更加透彻。
1.在这次毕业设计中,我做了下面一些工作:
1)分析并且建设了网络购物系统,探讨了这个应用的背景和开发它的目的。
2)在软件开发的过程中完成一些开发必须的步骤,例如需求分析,总体设计、详细设计、系统测试等等。
3)在需求分析和总体设计完成后,决定使用什么技术,使用什么语言,使用哪种数据库等等多个问题,最后在制定一个合理的,简单有效的解决方案。此外还考虑到系统的可扩展性,实现整体的灵活性,为以后继续开发或完善提供便利。
4)在整个开发系统的过程当中,随着不断的深入,依稀相关的数据材料,技术材料也在不停的汇集整合,形成一个完整的资料库,对我以后的开发有很大的意义和影响。
2.通过完成这次毕业设计,我的各个方面都得到了很大的提升,自己也取得的很大的进步:
1)通过这次的毕业设计,我更加深入的了解了软件开发的重要性,对于软件开发有更近一步的认识。在整个软件开发的过程中,代码的编写不是最重要的,重要的是前期的一些过程,例如需求分析,总体设计,详细设计,系统测试等等,做好这些过程,程序编写的也就变得很容易了。
2)在网络购物系统开发过程中,我养成了一个做笔记的习惯,因为在整个的开发过程中,经常遇到一些问题,有的困难不容易解决,有的简单易出错,记下笔记后,那些简单的问题解决起来的变得的更加容易,而那些困难的问题解决起来就更有经验。这样解决了在开发的过程中遇到相似的问题,每次都要浪费时间的问题,大大的节省了时间,也更容易让我记住这些问题,避免下次再次出错。
3)在这次的软件开发的过程中,我认识到了软件编写时规范性的重要性,所以,代码编写要有一套规范的编写准则。软件的代码不仅是给自己的看的,很多时候,其他人也要看你编写的代码。所以代码的规范就很重要了,规范性的、可读性高的代码才更加可靠,容易被别人认可。
5)不仅是在毕业设计的研究中,而且在实际的开发中,都给了我很大的进步,这让我认识到想要提高自己开发软件的能力,就只有不断地实践和练习,只有在实践中锻炼的能力,才能真正的提升自己的能力。这次,本系统的开发已经完成,但是仍然可以继续完善和改进它。
[1] 程南希. 基于 SSH 架构的在线购物管理系统的设计与实现[D]. 电子科技大学, 2011.
[2] 萨师煊,王珊.多数据库系统概论[M].北京:高等教育出版社,2006.1-11.
[3] 王建明.计算机实验室管理系统的设计与实现[J].计算机与信息技术,2007,15(11):74-75.
[4] 李春葆.Visual Fox Pro 6.0 高级编程[M].北京: 科学出版社,2001.1-70.
[5] 刘湘晖.多高校计算机实验室综合信息管理系统设计与实现[J].计算机光盘软件与应用,2010,11(12):148.
[6] 杜波伊斯.MySQL技术内幕[M].第4版.人民邮电出版社,2011年07月.
[7] 杨海鹰,潘华.实验室信息管理系统[M].北京: 化学工业出版社,2006.1-70.
[8] AR Hevner,ST Marcb. The Information Systems Research Cycle[J]. IEEE Computer,2003,9 (11):111-113.
[9] R Sandhu,V Bhamidpati,Q Munawer. The ARBAC 97 model for role-based administration of roles[J]. ACM Transactions on Information and System Security,1999, 8(1):105.
[10] B Regnell,P Runeson,C Wohlin. Towards integration of use case modeling and
usage-based testing[J]. Journal of Systems and Software,2000,12 (2):117-130.
[11] Young Jin Yu.Backup Metadata As Data: DPC-To Ierance to Commodity File System. Journal of information science and engineering,2011, 27(4):13-15.
[12] Anonymous. Red Gate Software; Red Gate Software's SQL Backup 5 Named 2008
Editor's Best Award Winner by SQL Server Magazine,Computer Technology
Journal 2008, 16(5):22-24.
附录二:中文翻译
计算机应用
计算机应用系统分析和设计是计算机应用研究普遍需要解决的课题。应用系统分析在于系统地调查、分析应用环境的特点和要求,建立数学模型,按照一定的规范化形式描述它们,形成计算机应用系统的技术设计要求。应用系统设计包括系统配置设计、系统性能评价、应用软件总体设计以及其他工程设计,最终以系统产品的形式提供给用户。
发展方向:
1.巨型化
巨型化是指计算机的运算速度更高、存储容量更大、功能更强。目前正在研制的巨型计算机其运算速度可达每秒百亿次。
2.微型化
微型计算机已进入仪器、仪表、家用电器等小型仪器设备中,同时也作为工业控制过程的心脏,使仪器设备实现“智能化”。随着微电子技术的进一步发展,笔记本型、掌上型等微型计算机必将以更优的性能价格比受到人们的欢迎。
3.网络化
随着计算机应用的深入,特别是家用计算机越来越普及,一方面希望众多用户能共享信息资源,另一方面也希望各计算机之间能互相传递信息进行通信。 计算机网络是现代通信技术与计算机技术相结合的产物。计算机网络己在现代企业的管理中发挥着越来越重要的作用,如银行系统、商业系统、交通运输系统等。
4.智能化
计算机人工智能的研究是建立在现代科学基础之上。智能化是计算机发展的一个重要方向,新一代计算机,将可以模拟人的感觉行为和思维过程的机理,进行“看”、“听”、“说”、“想”、“做”,具有逻辑推理、学习与证明的能力。
意义:
计算机科学与技术的各门学科相结合,改进了研究工具和研究方法,促进了各门学科的发展。过去,人们主要通过实验和理论两种途径进行科学技术研究。现在,计算和模拟已成为研究工作的第三条途径。
计算机与有关的实验观测仪器相结合,可对实验数据进行现场记录、整理、加工、分析和绘制图表,显著地提高实验工作的质量和效率。计算机辅助设计已成为工程设计优质化、自动化的重要手段。在理论研究方面,计算机是人类大脑的延伸,可代替人脑的若干功能并加以强化。古老的数学靠纸和笔运算,现在计算机成了新的工具,数学定理证明之类的繁重脑力劳动,已可能由计算机来完成或部分完成。计算和模拟作为一种新的研究手段,常使一些学科衍生出新的分支学科。例如,空气动力学、气象学、弹性结构力学和应用分析等所面临的“计算障碍”,在有了高速计算机和有关的计算方法之后开始有所突破,并衍生出计算空气动力学、气象数值预报等边缘分支学科。利用计算机进行定量研究,不仅在自然科学中发挥了重大的作用,在社会科学和人文学科中也是如此。例如,在人口普查、社会调查和自然语言研究方面,计算机就是一种很得力的工具。
计算机在各行各业中的广泛应用,常常产生显著的经济效益和社会效益,从而引起产业结构、产品结构、经营管理和服务方式等方面的重大变革。在产业结构中已出观了计算机制造业和计算机服务业,以及知识产业等新的行业。
计算机应用,具备计算机硬件技术能力、软件技术能力、8位、32位嵌入式微计算机系统应用能力以及良好的工程技术能力的复合型人才。主要课程: C系列语言程序设计、计算机网络基础、电路与电子技术、单片机原理与应用、传感器技术、控制工程基础、可视化编程技术、Linux操作系统、接口技术等。学生毕业后可在工业测控装置制造企业,民用电子制造各类企业从事嵌入式系统的软、硬件开发工作,也可以从事工业测控装置,民用各类智能电器的维修工作。计算机还是人们的学习工具和生活工具。借助家用计算机、个人计算机、计算机网、数据库系统和各种终端设备,人们可以学习各种课程,获取各种情报和知识,处理各种生活事务(如订票、购物、存取款等),甚至可以居家办公。越来越多的人的工作、学习和生活中将与计算机发生直接的或间接的联系。普及计算机教育已成为一个重要的问题。
总之,计算机的发展和应用已不仅是一种科学的技术现象而且是一种政治、经济、军事和社会现象。
发展中存在的问题:
我国计算机应用水平低,企业信息化水平低,上网企业与上网家庭数量还较少,信息技术在企业与家庭中应用尚不够普及。与发达国家及发展中国家相比都有很大差距,据国家统计中心研究,我国信息化能力不仅远落后于美日等发达国家,也落后于新加坡、韩国、菲律宾、埃及、印度等发展中国家;网民占人口比例瑞典达67%,瑞士60%,德国49%,我国仅3.5%。国内计算机应用发展很不平衡,各地区信息化指数高低相差20多倍,互联网用户及计算机拥有量在东西部地区、大陆与台湾地区差距很大,台湾互联网用户有540万,网民占人口比例达26%,连网主机85万台,企业有50%己开展电子商务,大陆开展电子商务企业不到10%。我国信息产业尚不能完全满足信息化发展与计算机应用对软硬件产品的需求,国产化产品技术水平与市场占有率低,重大应用工程与大型应用系统所用的软硬件产品主要依靠国外公司,科技成果转化速度慢,系统集成,信息服务水平有待提高,计算机应用有关标准、规范既缺乏又不统一,急需加强。 计算机应用、信息化的市场经济和政策法律环境尚待完善,目前还缺乏有力的技术经济学政策推动信息技术广泛应用,信息化的组织领导与管理体制尚待完善与加强,有关市场管理的法律法规、社会信用体系尚未完全建立,电子商务的发展所需要的市场环境尚不完善。企业管理体制、机制、管理理念与组织机构尚不能适应市场经济的要求,博弈知识的缺乏,部分领导对信息技术应用的重要性、紧迫性认识不足。企业采用信息技术等高新技术尚缺少内在的动力、人力、财力与物力。基础工作薄弱,信息技术人才特别是既懂信息技术又懂行业业务技术的复合型人才更为缺少,广大职工信息意识与信息技术应用知识欠缺,职工文化素质急待提高。
发展前景:
“十.五”期间,北京,上海,广东等地信息化试点经验将进一步推广,在科学发展观的引领下,将建成若干信息化示范省市、地区、城市社区及乡镇,2010年全国各地区、中小城市信息化将会快速发展。社会公用事业,公共服务等公共领域信息化步伐加快。文教卫生,社会保险,社会治安,公共交通,供水供暖供电系统,社区服务等公共领域将广泛应用信息技术,金字系列重点应用工程与数字奥运会胜利完成,社会公共领域信息化水平将上一个新台阶,为人民群众衣食住行提供良好的环境和服务信息技术进入家庭,推进家庭信息化的发展。智能建筑、小区逐步推广,电话、手机、信息家电、家用电脑进一步普及,使信息技术大量进入家庭及个人生活,推动了家庭信息化的发展。全国家庭电脑普及率2005年将达8-10%,城市家庭电脑普及率达20-30%,2010全国家庭电脑普及率将达15-20%,城市家庭电脑普及率达40-50%,信息家电数字化、智能化、家庭影院、居家办公将逐步普及,家庭信息化的发展将大大提高生活质量。
参考资料:
基于jsp的网上购物系统毕业设计(项目报告+答辩PPT+源代码+数据库+截图+部署视频)https://download.csdn.net/download/dwf1354046363/87813607Java毕业设计174例,包含部署视频_易小侠的博客-CSDN博客
https://cv2022.blog.csdn.net/article/details/124463185?spm=1001.2014.3001.5502