实习报告1.docx
- 文档编号:12963473
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:26
- 大小:358.78KB
实习报告1.docx
《实习报告1.docx》由会员分享,可在线阅读,更多相关《实习报告1.docx(26页珍藏版)》请在冰豆网上搜索。
实习报告1
成绩:
西安建筑科技大学
认识与生产实习报告
院(系):
专业班级:
实习单位:
实习时间:
学生姓名:
学号:
指导教师:
目录
1.实习内容简介3
2.实习单位简介3
3.专题内容分析4
3.1需求分析4
3.1.1项目背景4
3.1.2项目目的5
3.1.3开发环境5
3.1.4功能要求5
3.1.5技术总支持5
3.2总体设计6
3.2.1系统需求概述6
3.2.2术语定义6
3.2.2参考资料6
3.2.4基本设计概念和处理流程6
3.2.5系统功能结构图8
3.2.6数据流图8
3.2.7数据字典9
3.3数据库设计11
3.3.1数据库概念结构设计11
3.3.2数据库逻辑结构设计11
3.3.3数据库物理结构设计12
3.4详细设计13
3.4.1总体功能概述13
3.4.2总体设计14
3.4.3总体结构14
3.4.4代码实现15
4.实习收获体会22
1.实习内容简介
本次实习在恒智集团西安分公司,从2016年8月8日至2016年9月2日,历时26天。
在实习期间,由冯老师作为我们的指导老师。
实习刚开始进行了实习动员大会,并且对我们进行了测试,了解我们对Java基础知识的掌握情况。
进过这次测试我觉得我对基础知识还比较欠缺,在实习期间我自己也看了相关的书籍。
在上课期间,冯老师针对我们完成测试的情况,给我们讲了Java部分的基础知识。
讲完Java基础之后,主要讲的是JavaWeb所涉及的知识,包括前端技术、服务器端技术、数据库连接。
其中网页前端设计的技术包括HTML、CSS、Javascript等,服务器端技术包括JSP、Servlet、JavaBean、过滤器等,数据库连接主要是JDBC,在讲这些知识点的同时,不断地上机练习,加深我们对知识点的理解,提高我们的动手能力。
在上课两周后,冯老师给我们大致分析了本次实习所要做项目,我们也开始准备着手做实习的项目,我们小组做的项目是网上书城。
在我们开始做项目之前,我们小组在网上也找了不少类似的网上书城开发文档,了解网上书城项目应达到的目的,一起讨论确定需求,并完成需求分析文档的撰写。
在需求分析完成后,开始分析数据库设计和概要设计,确定了表结构和项目模块的划分,完成概要设计文档的编写。
接下来是详细设计,采用面向接口的编程方法,为每一个模块定义统一的接口,编写详细设计文档,为小组的成员分配合适的模块,开始进行编码。
在完成各个模块的编码后,模块联调,修正程序中存在的问题,设计测试用例,完成测试,编写测试文档。
我主要负责的模块是生成订单和历史订单查询,在编码期间我也遇到了不少的问题,我不断地查看在上课期间上机练习的例子,尽自己最大的努力编写代码。
有的问题自己实在不能解决,请教了同学和老师。
在老师和同学的帮助下最终完成了自己所负责的模块,并对模块进行了单元测试,确保模块的正确性。
2.实习单位简介
恒智集团,总部位于古城西安,成立于2009年,是一家专注教育辅导近十年的企业,是集教育投资、教育培训、出版发行、商学教育、远程教育、高考报考、IT教育、网络教育、渠道营销、文化传媒、环保能源等多领域、一体式的大型综合教育研究集团。
经过多年潜心发展,恒智集团已设立了13家教育品牌,累计培养学员百余万人,拥有面授、在线、图书、影像等多位一体的全程权威辅导体系,为社会各行各业提供源源不断的高质量人才和技术输出,深得学员的信赖和企业的好评。
旗下恒智IT学院作为创新型人才孵化基地,打造以智力输出为核心的综合教育机构,是西北本土一站式教育第一品牌。
我们提供云计算大数据产品服务、软件开发设计、系统运维及网络安全服务等。
与此同时,为了培养更多服务于社会企业、园区企业的高端专业人才,我们还提供专业的大数据分析工程师培训、系统运维调优工程师培训、Java软件开发工程师、云计算运维工程师、网络安全工程师等多项教学项目,为社会提供高质量的IT人才。
恒智IT通过多元化的产业结构,在大众创新、万物创业的国家使命下,能够为社会创新创业提供源源不断的高质量人才和技术输出,为政府、行业的相关政策执行和落实提供强有力的支持。
目前拥有九大课程:
Java软件开发工程师、网络营销师、系统运维工程师、Android开发工程师、WEB前端开发工程师、云计算架构师、CCNP、红帽LinuxRHCE、CCNA等。
3.专题内容分析
3.1需求分析
3.1.1项目背景
Internet最早在美国出现,如今各国纷纷加入到这个行列,使Internet成为全球化的国际网络。
随着用户的不断增加,其规模迅速扩大,她的领域也走向多元化。
除了原来的科学技术和教育外,Internet已进入了文化、经济、政治、新闻、体育、娱乐、商业和服务业。
可以预见,Internet将为我们构筑未来崭新的生活方式。
另外电子商务发展在世界范围内发展速度极为迅速,传统的商业模式正不断地被新的商业模式所替代,无论什么模式都不再具有固定性和成熟度。
对于任何国家来说,都有一个探索与创新的问题,这也为我国加快和跨越发展提供了难得的机遇。
网上书城就是Internet和电子商务发展的产物,近几年在我国发展迅猛,如同一些书店纷纷在各地开设分店以拉近书店与顾客间距离一样。
随着科学技术的飞速发展,Internet已经成了普通百姓都可以触及的大众性媒体传播手段。
21世纪是网络的时代、信息的时代,时间是非常宝贵的,人们由于只能各种原因没有时间到书店去,也不知道哪家书店有自己所需要的书籍,同时那些传统书店的经营者又没有什么好的方法让人们知道我这就有顾客所需要的书籍,这种买卖双方之间信息交流上的阻碍成为网上书城发展的源动力,网上书城的建立可以更好地解决这方面的问题。
3.1.2项目目的
作为BTC的网络平台的搭建与服务,让所有用户能够方便快速地买到种类繁多、价格低廉的图书,同时也可以节省大量的时间和金钱,让买家可以获得大量书籍的信息,让他们通过网络方便快捷地买到价格低廉的各类书籍;让买家在网上能以全新的模式销售图书,在有效控制成本的同时,大幅提升销售量,并且不受地域和时间的限制。
3.1.3开发环境
Tomcat6.0服务器、MyEclipse10、jdk1.6、MySQL、SQLyogEnt
3.1.4功能要求
网上书城是一种高质量、更快捷、更方便的购书方式。
网上书城用于图书的在线销售,售书的同时还具有购物车管理和订单查询。
根据系统的具体情况,系统的主要功能包括:
(1)用户:
用户注册、登录、注销;
(2)图书选购:
图书分页浏览、查看图书详情、模糊查询图书;
(3)购物车管理:
添加购物车、移除购物车;
(4)订单管理:
生成订单、查看订单详情、查看历史订单。
我主要负责的模块是订单管理,其中包括生成订单、查看订单明细和查看历史订单。
用户在把满意的图书加入购物车后,点击立即购买,生成订单和订单明细,购买后可以查看本次订单的详情;用户也可以登录个人账户后查看自己以往已完成的订单。
3.1.5技术总支持
(1)MVC框架:
全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
(2)采用面向对象实现功能开发:
根据需求将程序划分模块,定义每个模块统一的接口,为小组开发提供支持;
(3)采用Servlet实现业务逻辑控制;
(4)采用session保存用户和购物车信息;
(5)采用JDBC实现数据库访问;
(6)采用EL和JSTL简化页面布局,提高代码可读性。
3.2总体设计
3.2.1系统需求概述
本系统应到达的功能是:
用户在首次访问时,在本网站注册个人账户后,可登陆到本网站。
登录本网站可浏览所有的图书和每一本书的图书详情;用户可以将自己满意的图书添加到购物车,也可以将某些加入购物出的图书从购物车移除;加入购物车后,用户可直接购买,生成订单后可以查看本次订单的详情,也可以查看历史订单。
3.2.2术语定义
BTC:
BusinessToCustomer的缩写,电子商务按交易对象分类中的一种,即表示商业机构对消费者的电子商务。
3.2.2参考资料
[1]马建红.JSP应用与开发技术第二版.清华大学出版社2015.
[2]冯晓强,程晓昕.基于MVC模式的网上购物系统的设计与实现[J].现代计算机.2009.
[3]蒋海昌.网上书城系统设计与实现[J].中国知网.2013.
3.2.4基本设计概念和处理流程
订单管理模块中涉及订单生成、查看订单详情、历史订单查询。
如图3-1订单生成活动图、图3-2历史订单查询活动图:
图3-1订单生成活动图
图3-2历史订单查询活动图
3.2.5系统功能结构图
网上书城分为四个模块,系统功能结构图如图3-3系统功能结构图所示:
图3-3系统功能结构图
我负责的是订单管理模块,订单管理模块主要有生成订单、查看订单详情、查看历史订单,订单管理模块功能结构图如图3-4订单管理模块功能结构图所示:
图3-4订单管理模块功能结构图
3.2.6数据流图
用户在网站注册后,使用用户名和密码登录本网站,浏览查询图书,加入购物车购买,生成订单和订单详情,在本次交易结束后,可以查看订单的详情。
数据流图如图3-5:
图3-5生成订单数据流图
用户可以登录本系统后,从session中得到用户的用户名,根据用户名查询用户的历史订单。
数据流图如图3-6:
图3-6查看历史订单数据流图
3.2.7数据字典
数据字典是指对数据的数据项、数据结构、数据存储等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。
我负责的模块涉及的数据项有用户、图书、订单和订单详情。
(1)数据结构定义
①数据结构名称:
图书信息
含义说明:
是前台查看图书重要数据结构,定义了图书的详细相关信息。
组成:
图书编号、图书名称、作者、出版社、单价、库存、图片链接地址、图书简介。
②数据结构名称:
用户
含义说明:
用户是系统使用者,定义了用户的相关信息。
组成:
用户名、密码、email、收货地址。
③数据结构名称:
订单
含义说明:
订单是前台客户下单的重要数据结构,定义了订单的相关信息。
组成:
订单编号、用户名、消费总金额、下单日期、订单状态
④数据结构名称:
订单详情
含义说明:
订单详情是用户购买图书生成订单详情的重要数据结构,定义了详细的购买记录信息。
组成:
订单详情编号、订单号、图书编号、图书数量、购买时单价、购买消费金额。
(2)数据项定义
①图书,包括数据项:
图书编号、图书名称、作者、出版社、单价、库存、图片链接地址、图书简介。
②用户,包括的数据项:
用户名、密码、email、收货地址。
③订单,包括的数据项:
订单编号、用户名、消费总金额、下单日期、订单状态。
④订单详情,包括的数据项:
订单详情编号、订单号、图书编号、图书数量、购买时单价、购买消费金额。
(3)数据存储定义
①数据存储名称:
图书表
描述:
存储图书的详细信息
组成:
图书编号、图书名称、作者、出版社、单价、库存、图片链接地址、图书简介。
相关处理:
模糊查询、分页显示
②数据存储名称:
用户表
描述:
存储用户的详细信息
组成:
用户名、密码、email、收货地址。
相关处理:
新增,查询
③数据存储名称:
订单表
描述:
存储客户购买图书产生的信息
组成:
订单编号、用户名、消费总金额、下单日期、订单状态。
相关处理:
新增、查询
④数据存储名称:
订单明细表
描述:
存储客户每次添加图书产生的记录信息。
组成:
订单详情编号、订单号、图书编号、图书数量、购买时单价、购买消费金额。
相关处理:
新增、查询
3.3数据库设计
3.3.1数据库概念结构设计
网上书城的实体有:
用户信息实体、图书实体、订单实体、订单详情实体。
ER图如图3-7所示:
图3-7网上书城ER图
3.3.2数据库逻辑结构设计
按照实体-联系图转化为关系模式的规则,本系统的E-R图可转化为相应的关系模式。
对这些关系模式进行规范化,经分析关系中不存在部分函数依赖和传递函数依赖,已达到3NF。
(“__”代表主码)这些关系模式可以转换为如下的表:
用户表(用户名,密码,邮箱,收货地址)
图书表(图书编号,书名,出版社,作者,单价,图书简介,图书照片链接地址,图书库存量)
订单表(订单号,下单时间,用户名,总计金额,订单状态)
订单详情表(订单详情编号,订单号,图书编号,单本图书金额,单价,单本书购买数量)
3.3.3数据库物理结构设计
(1)数据库物理模型,如图3-8所示:
图3-8数据库物理模型
(2)数据库表结构
表3.1用户信息表
表名
属性名
字段
含义
数据
类型
允许NULL
是否
主键
是否
外键
User
Userid
用户名
Varchar(50)
否
是
是
password
密码
Varchar(50)
否
否
否
邮箱
Varchar(50)
否
否
否
address
收货地址
Varchar(50)
否
否
否
表3.2图书表
表名
属性名
字段
含义
数据
类型
允许NULL
是否
主键
是否
外键
book
bookid
图书号
Int(11)
否
是
是
bookname
书名
Varchar(50)
否
否
否
bookpubish
出版社
Varchar(50)
否
否
否
bookauthor
作者
Varchar(50)
否
否
否
price
定价
Double
否
否
否
content
简介
Varchar(100)
否
否
否
bookimg
图书照片
Varchar(300)
是
否
否
booksave
库存量
Int(11)
是
否
否
表3.3订单表
表名
属性名
字段
含义
数据
类型
允许
NULL
是否
主键
是否
外键
orders
oid
订单号
Int
否
是
是
date
下单时间
DateTime
否
否
否
user_name
用户名
Varchar(50)
否
否
否
state
总计金额
Double
否
否
否
totalmoney
订单状态
Int
否
否
否
表3.4订单详情表
表名
属性名
字段
含义
数据
类型
允许
NULL
是否
主键
是否
外键
items
itemid
详情编号
Int
否
是
否
o_id
订单号
Int
否
否
否
summoney
合计金额
Double
否
否
否
book_id
图书号
Int
否
否
否
singleprice
单价
Double
否
否
否
number
数量
Int
否
否
否
3.4详细设计
3.4.1总体功能概述
网上书城用于图书的在线销售,售书的同时还具有购物车管理和订单查询。
根据系统的具体情况,系统的主要功能包括:
(1)用户:
用户注册、登录、注销;
(2)图书选购:
图书分页浏览、查看图书详情、模糊查询图书;
(3)购物车管理:
添加购物车、移除购物车;
(4)订单管理:
生成订单、查看订单详情、查看历史订单。
根据系统的需求分析以及与用户的沟通,该系统应达到以下目标:
(1)界面设计友好、美观;
(2)信息存储安全、可靠;
(3)操作简单易用、界面清晰大方;
(4)开发技术先进、功能完备、扩展性强;
(5)占用资源少、对硬件要求低。
我主要负责的模块是订单管理,其中包括生成订单、查看订单明细和查看历史订单。
用户在把满意的图书加入购物车后,点击立即购买,生成订单和订单明细,购买后可以查看本次订单的详情;用户也可以登录个人账户后查看自己以往已完成的订单。
3.4.2总体设计
网上书城以MVC模式基于JSP+JavaBean+Servlet方式实现一个简单的在线销售图书的系统—网上书城。
整个系统中,JSP页面调用JavaBean执行业务逻辑;JavaBean执行业务逻辑时可以连接数据库,也可以作为值对象在Servlet和JSP之间传递数据;Servlet可以作为控制器或过滤器。
系统总设计如图3-9所示:
图3-9系统总设计
3.4.3总体结构
系统结构图如图所示。
由Servlet来担任控制器,客户端的请求送给控制器,再由控制器根据请求调用不同的事务逻辑,并将处理结果返回到合适的页面。
JavaBean提供了业务逻辑。
JSP的功能是专门负责视图的显示。
系统总体结构如图3-10所示:
图3-10系统总体结构
3.4.4代码实现
网上书城分为四个模块,包括用户管理、图书浏览查询、购物车管理和订单管理。
我负责的是订单管理模块,主要包括生成订单、订单详情展示、历史订单查询。
生成订单:
●类图
图3-11订单生成类图
●方法实现
表3.4生成订单接口定义表
数据抽象接口定义
IItemDAO
实现类
ItemsDAOImp
控制层接口定义
MyItemsServlet
实现类
MyItemsServlet
方法定义
实现说明
intaddNewOrder(Ordersorder)
在数据库中增加新的订单order记录,并且返回订单号
intinsertItem(List
在数据库中增加新的订单详情items记录,并且返回添加是否成功
voidcreateOrder(request,response)
调用数据抽象层方法,分页显示图书对象
●时序图
图3-12订单生成时序图
说明:
用户登录后将满意的图书添加到购物车,点击立即购买,请求UserServlet,UserServlet根据请求调用DAO层的createOrder()方法在数据库orders表中添加一条订单记录,返回订单编号;根据返回的订单编号,UserServlet再调用insertItem()方法在数据库items表中添加订单详情记录;完成后跳转到购物车添加成功界面。
订单详情展示:
●类图
图3-13订单详情展示类图
●方法实现
表3.5订单详情展示接口定义表
数据抽象接口定义
IItemDAO
实现类
ItemsDAOImp
控制层接口定义
MyItemsServlet
实现类
MyItemsServlet
方法定义
实现说明
ItemsOuttoitem(ResultSetrs)
在数据库中增加新的订单order记录,并且返回订单号
●时序图
图3-14订单详情展示方法类图
说明:
用户在购买成功后,点击查看订单详情,根据将此订单信息保存在items表中,从数据库中取到数据分页显示在界面上。
历史订单查询
●类图
图3-15历史订单查询类图
●实现方法
表3.6历史订单查询接口定义表
数据抽象接口定义
IItemDAO
实现类
ItemsDAOImp
控制层接口定义
MyItemsServlet
实现类
MyItemsServlet
方法定义
实现说明
voiddoPost(request,response)
根据当前session中的用户名从数据库orders表中得到订单编号,再根据订单编号从items表中获得订单详情显示
●时序图
图3-16历史订单查询时序图
说明:
用户在登录情况下,得到保存在session中的用户名,请求MyItemsServlet,MyItemsServlet响应请求调DAO层根据用户名从orders表中得到订单编号,最后根据得到的订单编号从items表中查到相关记录,将记录在orderlisthistory.jsp界面上显示。
4.实习收获体会
将近一个月的实习很快就结束了,能够和同学一起学习、一起进步我很高兴,也感受到很大的压力,随着项目的进展,我慢慢的找到了自己的位置,找到自己的目标,虽然自己与好的同学还有差距,这也给了我很大压力,但是我相信没有压力就没有动力,所以整个实习过程中我都在不断地努力。
实习期间让我学到很多东西,不仅在理论上让我对IT领域有了全新的认识,在实践能力上也得到了很大的提高,真正的学到了学以致用,更学到很多做人的道理,对我来说受益匪浅。
实习动员大会让我们了解IT领域一些新的发展动态以及一些领先的技术,让我意识到自己知识的缺少,这激励我在以后的学习、工作、生活中要不断了解信息技术发展动态以及信息发展中出现的新的技术。
除此之外,我还学到了如何与人相处,如何和人更好的交流,我们组成一个团队大家一起开发一个项目,大家的交流沟通显得尤为重要,如何将自己的想法清楚明白的告诉队友,如何提出自己想法的同时又不伤害其他的队友的面子,这些在我的实习过程中都有一些体会。
作为大三的学生,经过三年的在校学习,对程序设计有了一些基本的理性的认识和理解。
在校期间一直忙于理论的学习,没有机会也没有经验来参与我们项目的开发,所以在实习之前软件按开发对我来说是还是比较抽象的,一个完整的项目要怎么来分工以及完成该项目所需要的基本步骤也不明确。
经过这次实习让我明白一个完整项目的完成必须团队分工合作,并在每个阶段进行必要的总结和检查。
在我们项目的开发过程中主要的步骤:
需求分析、概要设计、详细设计、编码实现、测试。
在项目开发过程中我也深刻的体会到详细设计对一个项目开发有明确的指引作用,它可以使开发人员对这个项目所要实现的功能在总体上有具体的认识,并能减少在开发过程中出现不必要的脱节。
这次实习也让我深刻的了解到,不管在工作中还是在生活中要和老师、同学保持良好的关系是很重要的。
做事首先要先做人,要明白做人的道理,如何与人相处是现代社会的做认得一个最基本的问题,对于自己这样一个即将步入社会的人来说,需要学习的东西很多。
从一起做项目的同学身上我看到了谦虚谨慎、细心努力的态度,在以后我的生活中我还会留意身边同学的优点,从他们身上找寻我所缺少的品质,不断学习。
暑期的实习已经成为过去,可是在实习期间学到的东西会一直影响我以后的发展,突然想起鲁迅先生的一句话:
世上本没有路,走的人多了,便成路。
生活的路也是人走出来的,每个人一生总要去很多陌生的地方,然后熟悉,然后再走向另一个陌生的地方。
在不久的将来,就要踏上人生的另一段旅程,以后的路上有时不免会感到有些茫然、无助,但生活的路谁都无法预测,只能一步步摸索,但只要方向正确,只要我们向着目标不断努力,相信在不远的将来我们一定会有一片属于我们自己的天空。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实习 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)