计算机专业毕业实习报告.docx
- 文档编号:24624754
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:20
- 大小:87.28KB
计算机专业毕业实习报告.docx
《计算机专业毕业实习报告.docx》由会员分享,可在线阅读,更多相关《计算机专业毕业实习报告.docx(20页珍藏版)》请在冰豆网上搜索。
计算机专业毕业实习报告
实习报告
实习性质:
顶岗实习
学生:
科
专业班级:
计算机网络工程132班
指导教师:
顺立、坤、方涛
实习时间:
2016年2月29日-2016年5月13日
实习地点:
普软件科技
工程职业技术学院
学生
专业班级
指导教师
科
计算机网络132班
方涛、坤、顺立
实习时间
2016年2月29日-2016年5月13日
实习地点
普软件科技
实习名称
顶岗实习
自我总结
实习是每一个大学生必须拥有的一段经历,它使我们在实践中了解社会、在实践中巩固知识;实习又是对每一位大学毕业生专业知识的一种检验,它让我们学到了很多在课堂上根本学不到的知识。
既开阔了视野,又增长了见识,为我们以后进一步走向社会打下坚实的基础,也是我们走向工作岗位的第一步。
此次的实习我学习了弱电工程上的一系列东西,例如如何做工程预算,如何安装调试各种设备,如何管理好一个工程项目等。
在做这些事情的时候,一开始十分的紧也很胆怯,因为第一次做这些,怕做得不好导致影响全部的工程进度;但是在后来的工作过程中,通过我的不断积累与不断的探索和询问,绝大多数的工程问题我都能够应付自如。
除了工程方面的东西,我还去了公司的售后服务部以及IT外包事业部。
都学习到了不错的社会经验,以及工作经历。
我相信通过的努力我会学到更多,做得更好。
指导教师
意见
实习单位
意见并盖章
(院实习由系签署)
考核等级
1.前言
作为还没有踏入社会的大学生,面对自己未来的生活与工作,我们心中是有很多疑问的,我们特别需要到真正的工作环境中去感受一下自己几年后会所从事的工作。
因此在刚开学的两周时间里,学校为我们安排了生产实习,主要是让我们较深层次接触社会,运用所学的专业知识认识企业实践活动,了解企业运行环境,认识企业管理业务流程,为将来走上工作岗位打下基础。
2.实习目的
1、加强和巩固理论知识,发现问题并运用所学知识分析问题和解决问题的能力。
2、锻炼自己的实习工作能力,适应社会能力和自我管理的能力。
3、了解实习单位的计算机技术的应用情况、需求情况和发展方向及前景。
4、亲身参与项目的实际完成工作,了解计算机专业软件开发的具体流程。
5、通过实习来认识了解自己,发现不足,提前做好自己的职业规划。
3.实习单位简介
杰普软件科技(BriupTechnology,Inc.)是一家专注于高端IT培训、软件外包、研发咨询的高新技术企业。
公司核心成员由海外留学人员和来自Sybase、亚信、Sun等国际大公司的资深技术人员组成,在电信、金融、电子商务等方面有着丰富的专业开发、管理和培训经验。
公司全面致力于开展以面向外企、电信、金融等行业为主的中高级软件人才培训及人才外包业务。
公司经过多年运营,先后为浦东软件园、徐汇软件园、漕河泾软件园、天地软件园、雨花软件园等提供数千名软件开发人员,同时成为全国首家专业软件外包园区---龙软园区最为紧密的合作伙伴,为园区专业提供软件外包人才。
紧缺人才办公室指定的高端IT培训基地2007年度获得“促进信息化建设奖”2007年度、2008年度最受网友推崇的IT培训品牌百家高校指定的专业实习孵化基地首家与“211工程”大学联合培养软件工程硕士的培训机构首家提出“优质就业”理念的IT培训机构国首家面向大学生提供免费JAVA集训的IT公司。
公司业务:
IT培训:
A)DPS人才培训项目:
高级JAVA软件开发实训/职业规划及入职培训。
B)企业培训项目:
企业客户定制开发课程/软件开发/项目管理
软件外包:
提供软件开发服务和人力资源外包服务。
研发咨询:
提供专业的研发管理咨询服务
公司文化:
诚信、专业、和谐、创新
公司资质:
公司成立于2006年,注册资金100万人民币,是市人事局许可的高级人才培训中心。
同时也是市紧缺人才办公室培训基地。
4.实习任务
基于B/S架构下的网络聊天室系统。
4.1相关技术简介
B/S结构
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器,如NetscapeNavigator或InternetExplorer,服务器安装SQLServer、Oracle、MYSQL等数据库。
浏览器通过WebServer同数据库进行数据交互。
MySQL
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
由于MySQL是开放源代码的,因此任何人都可以在GeneralPublicLicense的许可下下载并根据个性化的需要对其进行修改。
MySQL因为其速度、可靠性和适应性而备受关注。
大多数人都认为在不需要事务化处理的情况下,MySQL是管理容最好的选择。
MySQL这个名字,起源不是很明确。
一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQLAB创始人之一的MontyWidenius的女儿也叫My。
这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在也不知道。
MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。
获胜的名字是由来自非洲斯威士兰的开源软件开发者AmbroseTwebaze提供。
根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。
MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。
它的历史也富有传奇性。
2.4.2MyEclipse
MyEclipse,是在eclipse基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、JavaEE以及移动应用的开发。
MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
MyEclipse打开,新建项目,保证mysql和tomcat服务能够正常启动,项目才可以正常运行。
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
MyEclipse是一个十分优秀的用于开发Java,J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse可以支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,E3,JDBC数据库工具等多项功能。
可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
5.实习容
基于B/S架构下的网络聊天室系统。
需求分析:
系统功能需求根据用户对象的不同分为普通会员功能的需求和管理员对功能的需求两部分。
●普通会员对功能的需求:
新用户注册
取回密码
在线发送消息
修改个人基本信息
离开聊天室
●管理员对功能的需求:
用户管理
浏览所有用户信息
查找用户
用户权限分配
删除不合法用户
踢人
5.1数据逻辑设计
图1聊天室系统数据表关系图
5.2数据表结构
表1chat表
表头
类型
长度
是否允许为空
是否主键
描述
ID
bigint
20
否
是
用户编号
ChatRoom
varchar
50
是
否
聊天室
ChatFrom
varchar
50
是
否
聊天信息发送人
ChatTo
varchar
50
是
否
聊天信息接收人
ChatTime
datetime
-
是
否
信息发送时间
ChatAction
varchar
50
是
否
聊天表情
ChatContent
varchar
200
是
否
聊天信息容
Secret
tinyint
1
是
否
悄悄话
表2users表
表头
类型
长度
是否允许为空
是否主键
描述
ID
bigint
20
否
是
用户编号
UserName
varchar
50
是
否
用户名
UserPassword
varchar
50
是
否
密码
LoginTime
bigint
20
是
否
登录时间
UserSign
varchar
50
是
否
个性签名
表3userlist表
表头
类型
长度
是否允许为空
是否主键
描述
ID
bigint
20
否
是
用户编号
ChatRoom
varchar
50
是
否
聊天室
UserName
varchar
50
是
否
用户名
ChatTime
bigint
20
是
否
信息发送时间
DenyRoom
varchar
50
是
否
封禁的聊天室
DenyTime
bigint
20
是
否
封禁的时间
数据库连接类Open_DB.java
5.3.数据库建立
packagechat;
importjava.sql.*;
publicclassOpen_DB
{
//数据库用户名
StringuserName="root";
//数据库密码
StringuserPassword="123456";
//数据库的URL,包括连接数据库所使用的编码格式
Stringurl="jdbc:
mysql:
//localhost:
3306/chat?
useUnicode=true&characterEncoding=UTF8";
//定义一个连接对象
ConnectiondbConn;
//错误信息串
StringerrDesc;
publicOpen_DB()
{
//初始化操作
errDesc="";
dbConn=null;
}
//连接数据库
publicConnectiongetConn()
{
try
{
//声明所用的类包
Class.forName(".mysql.jdbc.Driver");
//获得数据库的连接对象
dbConn=DriverManager.getConnection(url,userName,userPassword);
}
catch(Exceptionex)
{
System.out.println("数据库连接失败!
");
dbConn=null;
errDesc=ex.toString();
}
returndbConn;
}
//获取错误信息
publicStringgetErrDesc()
{
returnerrDesc;
}
}
重写数据库请求操作方法类Excute_DB.java
packagechat;
importjava.sql.*;
//这个类继承自Open_DB雷
publicclassExecute_DBextendsOpen_DB
{
//数据库连接对象
privateConnectiondbConn;
privateStatementstmt;
privateResultSetrs;
//描述错误号0=无错误,-1有错误
privateinterrNum;
//error描述错误信息
privateStringerrDesc;
//初始化操作
publicExecute_DB()
{
dbConn=super.getConn();
stmt=null;
rs=null;
errNum=0;
errDesc="";
}
//执行sql执行语句,主要是执行插入和删除的SQL语句
publicbooleanexeSql(StringstrSql)
{
try
{
stmt=dbConn.createStatement();
stmt.executeUpdate(strSql);
stmt.close();
returntrue;
}
catch(Exceptionex)
{
this.errNum=-1;
this.errDesc=ex.toString();
returnfalse;
}
}
//执行sql查询语句
publicResultSetexeSqlQuery(StringstrSql)
{
try
{
stmt=dbConn.createStatement();
rs=stmt.executeQuery(strSql);
}
catch(Exceptionex)
{
this.errNum=-1;
this.errDesc=ex.toString();
rs=null;
}
returnrs;
}
//取得错误
publicintgetErrNum()
{
returnerrNum;
}
//取得错误信息
publicStringgetErrDesc()
{
returnerrDesc;
}
}
判断用户登录信息是否完整功能docheck()
//判断用户信息是否填写完整
functiondocheck()
{
if(form1.UserName.value=="")
{
alert("请填写您的用户名!
");
returnfalse;
}
elseif(form1.UserPassword.value=="")
{
alert("请填写您的密码密码!
");
returnfalse;
}
elseif(form1.UserPassword.value!
=form1.CUserPassword.value)
{
alert("两次密码不一致");
returnfalse;
}
else
{
returntrue;
}
}
判断用户登录信息功能
//设置数据格式
request.setCharacterEncoding("gb2312");
//用户是否登录的布尔变量
booleanisLogin=true;
//以微秒值返回当前时间
java.util.DateNowDate=newjava.util.Date();
longl_LoginTime=NowDate.getTime();
//获取用户填写的登录信息
Stringstr_UserName=(String)request.getParameter("UserName");
Stringstr_UserPassword=(String)request.getParameter("UserPassword");
//查找提交的用户名是否存在
StringstrSql="select*fromuserswhereUserNamelike'"+str_UserName+"'";
ResultSetrs=Ex.exeSqlQuery(strSql);
System.out.print(rs.getMetaData().getColumnCount());
if(rs.next())
{
//用户名已经存在
inti_ID=rs.getInt("ID");
Stringstr_UserPassword1=rs.getString("UserPassword");
longl_LastTime=rs.getLong("LoginTime");
rs.close();
//登录成功后密码将被保存15天
if((l_LoginTime-l_LastTime)>15*24*3600*1000)
{
strSql="updateuserssetLoginTime='"+l_LoginTime+"',UserPassword='"+str_UserPassword+"'whereUserNamelike'"+str_UserName+"'";
Ex.exeSql(strSql);
}
else
{
//用户名存在但是密码错误的情况
if(str_UserPassword.pareTo(str_UserPassword1)!
=0)
{
isLogin=false;
}
else
{
strSql="updateuserssetLoginTime='"+l_LoginTime+"'whereUserNamelike'"+str_UserName+"'";
Ex.exeSql(strSql);
}
}
}
else
{
//用户名不存在,添加新用户到数据库
rs.close();
strSql="insertintousers(UserName,UserPassword,LoginTime)values('"+str_UserName+"','"+str_UserPassword+"','"+l_LoginTime+"')";
Ex.exeSql(strSql);
}
if(!
isLogin)
{
%>
踢人功能
//获得被封ID和被封的房间
Stringstr_ID=request.getParameter("ID");
Stringstr_ChatRoom=request.getParameter("ChatRoom");
//获得当前时间
java.util.DateNowDate=newjava.util.Date();
longl_DenyTime=NowDate.getTime();
//把被封人时间保存到数据库
StringstrSql="updateuserlistsetDenyTime='"+l_DenyTime+"',DenyRoom='"+str_ChatRoom+"'whereID='"+str_ID+"'";
Ex.exeSql(strSql);
//获得被封的用户名
strSql="selectUserNamefromuserlistwhereID='"+str_ID+"'";
ResultSetrs=Ex.exeSqlQuery(strSql);
rs.next();
Stringstr_UserName=rs.getString("UserName");
rs.close();
//显示被封人信息
退出功能
//获取要退出的用户信息
Stringstr_ChatRoom=(String)session.getAttribute("ChatRoom");
Stringstr_UserName=(String)session.getAttribute("UserName");
session.invalidate();
//从用户列表中删除用户名
StringstrSql="deleteuserlistwhereUserNamelike'"+str_UserName+"'";
Ex.exeSql(strSql);
//在聊天室中显示该用户的离开信息
java.util.DateNowDate=newjava.util.Date();
Stringstr_NowDate=NowDate.toLocaleString();
strSql="insertintochat(ChatRoom,ChatFrom,ChatTo,ChatTime,ChatAction,ChatContent,Secret)values('"+str_ChatRoom+"','"+str_UserName+"','all','"+str_NowDate+"','依依不舍地','各位,我先走了,后会有期!
','0')";
Ex.exeSql(strSql);
%>
<%=str_UserName%> 您已经从
<%
if(str_ChatRoom.pareTo("xiuxian")==0)
{
out.print("休闲娱乐");
}
elseif(str_ChatRoom.pareTo("yuanfen")==0)
{
out.print("缘分天空");
}
elseif(str_ChatRoom.pareTo("tantian")==0)
{
out.print("谈天说地");
}
%>
6.实习总结
从对项目相关的技术完全不了解,到和同学组成的团队一起克服种种困难,解决各种疑问,一起协同合作成功将软件调试成功。
我的感触颇深,古语有云:
读万卷书,行万里路。
古人将读与行并列甚至有偏重行的意味,这正是说明了实践的重要性。
“实践是检验真理的唯一标准”,没有实践何来了解、进步之说。
也深深的体会到大学期间为什么要安排这样的实习课程。
通过这次实习,我们基本达到了此次实习的目的,加强和巩固了理论知识,提高了发现问题并运用所学知识分析问题和解决问题的能力。
锻炼自己的实习工作能力,适应社会能力和自我管理的能力。
了解了实习单位的计算机技术的应用情况、需求情况和发展方向及前景。
亲身参与了项目
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机专业 毕业 实习 报告