Web应用程序设计综合实验报告Word文档下载推荐.docx
《Web应用程序设计综合实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Web应用程序设计综合实验报告Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
1.2总体设计思路
本项目的主要研究对象是网上商城系统,研究网上商城一般的业务流程,还
有网上商城的结构和模块,各个模块的功能等等。
整个项目从如何来分析一个网上商城系统的业务流程和它的结构以及模块,再到对开发工具的选择,以及对前面分析出来的结果进行初步的设计(这里我们设计的是使用Java的web开发技术来实现这个网上商城系统),对网上商城系统分析和设计完成之后,就进入到实际的代码编写阶段,在这个阶段就可能对前面的设计进行一定的修改或是完善.在开发阶段,我将采用的是螺旋递增式的开发,每次只完成一部分功能,然后就立即对这些功能进行测试,接着进入下一个开发阶段,然后继续测试,直到所有的功能全部实现后,再对整个系统进行一个完整的测试,看其是否达到了先前的设计要求。
1.3设计目的及意义
与传统方式销售相比在线销售有很多的优点如下:
(1)检索便捷:
在线销售提供了多种检索途径,可以从分类、新品、特价等途径进行检索,快捷准确。
(2)信息量大
与传统销售方式相比,在线销售能够提供海量产品信息,并用数据库储蓄。
(3)成本低,风险小,无地域限制
网络销售最突出的优点是:
不再限制消费者的购买时段,扩大和巩固了客户群,从而增加了企业的核心竞争力,节省实际开店时需要投入的成本和租用费用。
2、系统分析与设计
2.1功能需求分析
2。
1。
1总体系统功能模块
2。
1.1。
1总体系统功能模块结构图
1.2系统划分的模块的划分及功能描述
随着计算机技术的发展和网络人口的增加,网络世界也越来越广播,也越来越来越丰富,网上商城已经成为网上购物的一股潮流。
在忙碌丰富的社会生活中,人们开始追求足不出户就能买到心仪的商品,是越来越多的上网爱好者实现购物的一种方式,对于企业来说,网络交易能大大提高交易速度、节约成本。
在这种形势下,传统的依靠管理人员人工传递信息和数据的管理方式就无法满足企业日益增长的业务需求,因而开发了这样一个具有前台后台的网上商城系统,以满足购物者和企业的需求.
因此这次毕业设计题目就以目前现有的网上商城系统为研究对象,研究一般的网上商城的业务流程,猜测其各个功能模块及其组合、连接方式,并分析其具体的实现方式,最后使用Java加web服务器和数据库完成一个网上商城系统的主要功能模块。
通过这样一个设计,可以提高自己Java编程的水准,也练习了怎样构建一个完整的系统,从系统的需求分析到设计,直至编码、测试并运行,熟悉并掌握一个完整的Web开发流程,为今后工作打下基础。
从以下几个方面实现网络商城的基本功能:
(2)浏览商品,实现用户可以在网络商店中随意浏览商品,商品按类别分类,方便用户查找不同类别的商品
(3)购物车管理,能实现添加商品、删除商品、更新商品的功能。
(1)修改管理员密码,修改管理员进入后台的登录密码.若果密码或用户错误,则系统会进行验证并提示错误。
(2)用户信息管理,能够查看所有用户的基本新信息,并可以对用户进行删除操作。
(3)商品管理:
可以添加以及删除商品的类别,并在不同的类别下添加或删除商品。
(4)订单管理,可以查看不同用户对应的订单信息,并可以对订单进行操作,包括查看订单明细、受理订单、删除订单。
有网上商城的结构和模块,各个模块的功能等等。
整个项目从如何来分析一个网上商城系统的业务流程和它的结构以及模块,再到对开发工具的选择,以及对前面分析出来的结果进行初步的设计(这里我们设计的是使用Java的web开发技术来实现这个网上商城系统),对网上商城系统分析和设计完成之后,就进入到实际的代码编写阶段,在这个阶段就可能对前面的设计进行一定的修改或是完善。
在开发阶段,我将采用的是螺旋递增式的开发,每次只完成一部分功能,然后就立即对这些功能进行测试,接着进入下一个开发阶段,然后继续测试,直到所有的功能全部实现后,再对整个系统进行一个完整的测试,看其是否达到了先前的设计要求。
(1)检索便捷:
在线销售提供了多种检索途径,可以从分类、新品、特价等途径进行检索,快捷准确。
与传统销售方式相比,在线销售能够提供海量产品信息,并用数据库储蓄.
(3)成本低,风险小,无地域限制
不再限制消费者的购买时段,扩大和巩固了客户群,从而增加了企业的核心竞争力,节省实际开店时需要投入的成本和租用费用.
1、用户模块分析
用户模块是为商城的前台展示所设计的,用户模块可以划分为如下子模块:
(1)用户注册模块
(2)用户登录模块
(3)用户信息修改模块
(3)商品展示模块
(4)购物车模块
(5)查看订单模块
2、管理员模块分析
管理员模块是为管理员管理商城事物所设计的,管理员模块又可以初步划分为以下子模块:
查看系统属性模块
商品类别管理
(3)商品管理模块
(5)订单处理模块
(6)管理员修改密码
(1)普通用户用例图
出于安全性的考虑,普通用户只有浏览商品和商品查询、商品购买等功能,其他的删除修改功能都没有设计,因为普通用户最主要关心的就是商品信息的更新和查询等功能,普通用户用例图如图2。
1所示:
普通用户
图2.1.2.1普通用户用例图
(2)管理员用例图
管理员是系统的核心用户,涉及到七大功能模块,管理员对系统的所有信息有着操作的权限,能够及时动态的更新系统的各项信本商品交易系统在管理权限上要严格进行控制,具体要求如下:
要想管理本系统的商品信息,必须先要凭用户名和密码登陆到系统中,没有权限的用户不能通过任何方式登录系统查看系统的任何信息和数据,以确保系统的严密性和安全性。
2。
在具体实现中设定不同权限,不同权限用户登录到系统后,不能越级操作,管理员可以使使用所有模块;
普通用户用户只能在线浏览信息,比如,查询商品信息、在线购买、下订单等功能。
2.1。
3系统用例图
有权限的管理人员会员管理
系统公告管理
系统管理
图2.1.2.2管理员用例图
2.2性能需求分析
2.1系统的安全性
2.2.2数据的完整性
1。
各种记录信息的完整性,信息记录内容不能为空
2.各种数据间相互联系的正确性
3.相同数据在不同记录中的一致性
2.3模块功能的完整性
系统分为两个模块:
用户模块和管理员模块,完成的系统应当按照需求分析和模块功能表的设计,将实现的功能进行对照,确保每个模块功能完整性。
3系统开发及运行环境
(1)客户端及服务器端的开发语言及工具如下表所示:
开发语言:
java语言
工具:
MyEclipse8.0
表2.3.2开发语言及工具
(2)在服务器端运行系统所需环境如下表所示:
软件环境:
JDK1.6.0_13
Tomcat6.0版本
MySQL5。
5数据库
硬件环境:
操作系统版本WindowsVista6。
1
表2.3。
2服务器端配置
(3)在客户端运行系统所需环境如下表所示:
软件环境:
Windows7
IE6。
0浏览器
表2。
3。
3客户端配置
2.4系统体系结构
利用MVC设计模式,主要三部分组成:
模型、视图、控制器。
视图简单定义为用户可以看到并且能和它交互的一种界面.模型可以为多个视图提供数据。
控制器是视图和模型的桥梁,控制器本身并不做处理,对于前台的命令它可以调用模型和视图去完成需求.
设计该系统基于SSH框架,SSH框架由三个部分组成:
struts,hibernate,spring
Structs是MVC的一种实现,通过标记可以让Servlet成为实现的一部分.在Structs中,承担MVC中Controller角色的ActionServlet.它是一个通用的控制组件,它截取并发送请求到相应的动作类(Action子类),动作类再把控制权传给JSP文件生成视图。
所有逻辑利用Sructs—config。
xml文件配置。
MVC三层体系结构图
2.5系统总体业务流程
下面的图是一个简单的业务流程图,大致描述了网站的购物流程.客户进入网站浏览商品,选择感兴趣的商品,了解详细的相关信息.用户可以将商品加入购物车,可以在购物车里对所有商品进行结算.在支付或者结算之前,如果用户没有登录,则需要登录,没有注册的用户则需要注册后再登录。
用户填写或修改收货人地址,选择付款方式,提交订单。
选择支付方式后进行支付,整个交易的支付过程就结束了。
图2。
5.1系统总体业务流程图
系统接口设计:
用户:
使用该系统的所有者.
注册:
把用户注册的信息写入服务器。
登录:
获取用户输入的信息,发送给服务器端。
服务器:
对登录模块传来的用户信息进行验证。
网上系统:
服务器对登录模块传来的用户信息验证成功。
注册成功获取用户信息,
注册用于验证
注册失败
验证信息
验证结果
验证成功,进入系统
图2.5.2系统接口设计
6数据库设计
6.1数据库逻辑结构设计
数据库概念模型独立于任何特定的数据库管理系统,因此,需要根据具体使用的数据库管理系统的特点进行转换。
即转化为按计算机观点处理的逻辑关系模型,E-R模型向关系数据库模型转换应遵循下列原则:
*每一个实体要转换成一个关系
*所有的主键必须定义非空(NOTNULL)
*对于二元联系应按照一对多、弱对实、一对一、多对多等联系来定义外键。
根据以上对数据库的需求分析,并结合系统概念模型的特点及建立方法,建立E—R模型图.
图2.6。
1.1普通用户E-R图
1.2商品类别信息实体E—R图
1.3商品信息实体E-R图
6。
4管理员信息实体E—R图
图2.6.1.5订单信息实体E-R图
根据E-R模型,普通用户公寓管理系统建立了以下逻辑数据结构,下面是各数据表的详细说明:
普通用户表主要是记录了普通用户基本信息。
表结构如表3.1所示。
列名
数据类型
长度
允许空
是否主键
说明
user_id
int
4
否
是
用户ID
user_name
varchar
50
用户名
user_pw
用户密码
user_realname
姓名
user_sex
性别
user_tel
20
联系方式
user_address
住址
表3.1普通用户表(t_user)
商品类别信息表主要是记录了商品类别的基本信息,表结构如表3.2所示。
catelog_id
4
否
是
类别ID
catelog_name
类别名称
catelog_miaoshu
类别介绍
表3.2商品类别信息表(t_catelog)
商品信息表主要是商品的相关信息,其中ID是主键,表结构如图3.3所示。
goods_id
Int
商品ID
goods_name
名称
goods_miaoshu
介绍
goods_pic
商品封皮
表3.3商品信息表(t_goods)
管理员信息表主要记录了管理员的账号信息,包括用户名和密码,表结构如
userId
编号
userName
用户名
userPw
密码
表3。
4管理员信息表(t_admin)
订单信息表主要记录的会员的订单的信息,包括订单编号、下单时间等,表
order_id
order_date
下单时间
order_zhuangtai
订单状态
songhuodizhi
送货地址
fukuanfangshi
付款方式
jine
总金额
会员ID
5订单信息表(t_order)
图1数据库关系图
3系统详细设计
本次我主要负责的部分是订单部分的处理,主要包括用户订单的生成,查看,以及管理员对于订单的查看和处理。
1页面设计
页名
功能说明
方法
Kahao.jsp
获得用户卡号信息
Html,Script,java
myOrder.jsp
我的订单部分的显示
orderDetial。
jsp
订单详情的展示
Html,Script,java
orderQuery。
订单确认时显示的部分
orderSubmit.jsp
订单提交成功后订单情况的显示
2模型
数据实体
数据访问
TOrder
TOrderDao
关于数据库的连接,保存删除查看等
TOrderIterm
TOrderItermDao
生成订单时订单对象
TOrderDao:
关于数据库的连接,
save()保存订单信息到数据库
Delete()从数据库删除订单信息
findById()通过Id查找订单
findByExample()通过订单实体查找订单
findByProperty()
indAll()查找所有的订单
merge()利用HibernateTemplate的merge()方法实现刷新的效果
attachClean()attachDirty()getFromApplicationContext()
3。
3截图及说明
用户购物车提交的订单信息
订单发货信息的填写
用户信息的显示
4.删除信息时显示的提示
5管理员查看订单情况
6后台管理员订单信息的管理,包括用户信息的查看,订单的删除,受理等
7。
管理员订单明细的查看
3.4代码
TOrderDAO:
protectedvoidinitDao();
publicvoidsave(TOrdertransientInstance);
publicvoiddelete(TOrderpersistentInstance);
publicTOrderfindById(java.lang。
Integerid);
publicListfindByExample(TOrderinstance)
publicListfindByProperty(StringpropertyName,Objectvalue)
publicListfindByOrderBianhao(ObjectorderBianhao)
publicListfindByOrderDate(ObjectorderDate)
publicListfindByOrderZhuangtai(ObjectorderZhuangtai)
publicListfindByOrderUserId(ObjectorderUserId)
publicListfindAll()
publicTOrdermerge(TOrderdetachedInstance)
publicvoidattachDirty(TOrderinstance)
publicvoidattachClean(TOrderinstance)
publicstaticTOrderDAOgetFromApplicationContext(ApplicationContextctx)
TOrderItemDAO:
protectedvoidinitDao()
publicvoidsave(TOrderItemtransientInstance)
publicvoiddelete(TOrderItempersistentInstance)
publicTOrderItemfindById(java。
lang.Integerid)
publicTOrderItemrmerge(TOrderdetachedInstance)
publicvoidattachDirty(TOrderIteminstance)
publicvoidattachClean(TOrderIteminstance)
publicstaticTOrderItemDAOgetFromApplicationContext(ApplicationContextctx)
4总结
这次实验,我们组员都很用心,虽然在开始的时候,有好多不会的东西,比如,MVC结构,model模式,ssh框架,等都很不理解,经过两周的研究跟学习,开始熟悉网页的设计,通过本次设计我锻炼了自己的自学、研究能力,也从中学到不少在学校在课堂上学不到的东西。
通过实践我也深刻的体会到软件开发的艰辛及问题解决后的喜悦心情,培养我的独立思考问题的能力,同时也增强了我的理论联系实际的能力,这为自己以后的工作奠定了良好的基础。
但是对于要做出精美的网站我们还是缺少经验的,对于页面的好多设计技巧还是不太懂,这次设计有借鉴别人的页面,进行完善,加入自己的想法,也可能是时间太少,希望自己能够在以后的空余时间能够完善这个网页设计,让它展现出自己的风格.
5参考文献
[3]陈轶。
姚晓昆编著。
Java程序设计实验指导.北京:
清华大学出版社,2006
[4]杨昭编著.二级Java语言程序设计教程。
北京:
中国水利水电出版社,2006
[5]赵文靖编著.Java程序设计基础与上机指导。
[6]柳西玲。
许斌编著.Java语言应用开发基础.北京:
清华大学出版社