目录
1. 实习的目的意义 ........................................................ 1
2. 实习单位计算机应用简介 ................................................ 1
2.1 XX 公司教育中心简介 .............................................. 1
3. 实习的内容 ............................................................ 2
3.1 实习项目介绍 ..................................................... 2
3.2 实现功能介绍 ..................................................... 2
3.3 项目相关模块主要实现代码 ......................................... 4
3.4 毕业实习期间项目开发工作日志摘要 ................................ 18
4.实习感受 .............................................................. 23
I
1. 实习的目的意义
毕业实习是学生大学本科教学实践的主要环节,对学生的实践能力的培养具
有十分重要的意义。学生通过本次实习,能够了解计算机专业的相关新技术,了
解理论知识在实际应用中的作用,了解计算机技术的新发展,体验计算机专业的
工作内容和工作特点,拓宽知识面,增强人际沟通能力,加强团队协作精神,为
走向社会打下基础。
(1)训练学生从事专业技术工作及管理工作所必须的各种基本技能和实践
动手能力。
(2)让学生了解本专业业务范围内的现代工业生产组织形式、管理方式、
工艺过程及工艺技术方法。
(3)培养学生理论联系实际、从实际出发分析问题、研究问题和解决问题
的能力,将学生所学知识系统化。
(4)培养学生热爱劳动、不怕苦、不怕累的工作作风。
(5)通过理论联系实际,巩固所学知识, 提高实际动手能力, 提高处理
实际问题的能力。
(6)了解实际工作的具体流程和需要掌握的知识以及应用方法
(7)发现自己知识缺乏的方面,及时进行补充,为将来顺利进入社会工作
做好准备。
2. 实习单位计算机应用简介
2.1 XX 公司教育中心简介
XX 公司教育中心,是一家专注于软件开发、研发咨询、人力资源管理、高
端 IT 实训的高新技术企业。公司在电信、金融、电子商务等方面有着丰富的专
业开发、管理和技术经验。全面致力于开展以面向外企、电信、金融等行业为主
的中高级 IT 定制化职业培训及人才外包业务。公司资质为高新技术、企业软件
企业。公司着重解决软件企业用人难的问题,在高校毕业生及企业之间搭建一个
供需桥梁。公司依托拥有丰富开发及培训经验的师资团队,培养企业紧缺的中高
端开发人才,已成功向各大软件企业输送了数千名人才,也确保了软件外包业务
的高效性和扩展性。公司主营业务有:
(1)IT 咨询服务:集行业知识、工程实践、一流技术于一身。围绕客户战
1
略和业务需求,提供业务流程分析与优化咨询、IT 应用战略咨询、信息系统规
划与设计咨询等服务。
(2)高端 IT 培训,人才培训项目:高级 JAVA 软件开发实训/企业定制化培
训。嵌入式软件开发实训/高级 web 开发实训。
(3)IT 产品增值服务:围绕平台级软件产品、主机系统、网络、存储等信
息系统产品,提供产品咨询、销售、定制开发、系统维护、性能优化等增值服务。
(4)IT 基础设施服务:支持业务连续性,并大幅度降低运营成本,面向大
型企事业单位以及商务、社区提供基础设施规划设计、建设、运维、项目管
理等服务。
3. 实习的内容
3.1 实习项目介绍
本次毕业实习参与的项目为某高校网络教育学院教务管理系统的升级,按照
客户所提的需求对原有教务系统的功能进行更改与升级。本教务系统所含模块
有:系统管理模块、课程管理模块、考试管理模块、费用管理模块、招生管理模
块、学籍管理模块、毕业设计管理模块等。
本次参与的项目的程序开发语言为 Java。所用到的框架有 Struts2、Spring2、
Hibernate3.2。采用 MVC 模式包括三层架构:表现层、业务层、持久层。表现层
所用技术为 Jsp+Ajax,业务层所用框架为 Struts2,Spring2,持久层所用的框架
为 Hibernate3.2。在 SSH 框架中,struts 用来解决 MVC 中显示、请求控制部分,
spring 主要负责访问数据库 DAO 类的事务控制以及它被人称誉的 IOC 思想在业
务类中的恰当运用,hibernate 主要是充当数据访问层组件。由于 spring 对 hibernate
的良好支持,在 DAO 类主要由 spring 来完成,hibernate 更多关注的应是 O/R 影
射文件上的配置,如级联关系,延迟加载等如何设置才能使效率更高。在平常开
发工作中我所接触到的表现层的框架还有 dojo,报表展示工具 ecside,报表设计
工具 IReport 等。
3.2 实现功能介绍
本次毕业实习中本人主要负责更改的模块的具体内容为:
(1)招生管理模块部分
将招生管理-复审报名信息-审核功能中的备注对话框信息反馈给招生管理-
2
中心审核报名信息-审核功能中,以备站点查看修正信息。
招生管理-统计报表:系统导出样式与修改后样式的对比,见电子版。统计
报表功能中的专业及站点排序按照指定顺序和样式排版,导出表名称需要更新。
考生处于报名状态时,用网报号和密码登录可以重新上传照片,一旦学习中
心审核后,照片等必要信息不可更正,只可更改电话和住址信息。
报名页面毕业院校代码选择功能中,查询功能需简化,允许模糊查询,不必
要前后都加上*号才可查询,并单独列出查询框。
招生管理-中心审核报名信息功能中,如学生是审核通过或录取状态,中心
管理员在点击详细按钮查看信息时,应该有密码记录行。
不属于本招生季的学生,不能参加机考。
因各校外学习中心在办理报名信息审核确认时要求不一致,需要在招生管理
—申报招生计划增加文本框功能,增加位置在中心建议下面
(2)课程管理模块部分
培养计划中标识课程互认:本校互认、中心互认,对于不互认的课程不标识;
本校互认课程,直接将学生的互认课程的成绩变为“通过”。
中心互认课程的成绩由学籍直接导入,不计平时成绩,考试成绩即为总评成
绩,且只导入 60 分以上的成绩(中心互认课程的成绩导入通过“外系统成绩导
入”功能导入系统)附件学号应是文本格式。
本校互认、中心互认课程不在选课门数限制待确认内。
(3)学籍管理模块
学习中心和可进行预毕业管理,可以查询出各中心或全部的毕业生信息(学
号、姓名、学习中心、班级、必修课应修学分、必修课已修学分、选修课应修学
分、选修课已修学分、选修课已选学分、毕业设计成绩、统考课程成绩)。查询
项包括:学习中心、专业、学生标签、姓名、学号进行查询。所有查询出来的结
果可导出 EXCEL 格式文件。
毕业审核功能可以重复操作,即一次审核后,还可以进行再次重新审核产生
最新审核数据。
毕业审核后,可查询出某中心本毕业批次中毕业审核通过和不不通过的学生
信息,审核未通过的学生还可查询出其各类课程应修学分、实修学分(课程包括
3
必修、选修、统考课程、毕业设计等)。
毕业审核后,学习中心可按毕业批次查询出本中心可获得学位学生的名单基
本信息(学号、姓名、班级、学位英语成绩等)。
(4)考试管理模块
按时间段或课程筛选出做过退选课和退约考学生名单
按课程或中心或班级或选课计划查询未通过某课程考试的学生名单
已约考但无成绩学生名单。
学分已经满足培养计划要求,未通过统考的本科学生名单。
所有学生名单信息项均包括学号、姓名、学习中心、班级、相应查询功能对
应项,并可以导出 EXCEL 格式文件。
3.3 项目相关模块主要实现代码
毕业实习实习期间本人负责开发模块的主要实现代码如下:
(1)招生管理模块部分
招生管理-统计报表:系统导出样式与修改后样式的对比。统计报表功能中
的专业及站点排序按照指定顺序和样式排版,导出表名称需要更新。后台实现核
心代码如下:
/**
* 录取结果统计表.
*/
public String statc() {
char type = getStatisticsType();
boolean seasonIsNull = false;
if (getSeason() == null) {
seasonIsNull = true;
}
switch (type) {
// 普通生(新生)
case '1':
setMatriculateResultList(stuNormalManager.stacStuNormal(getNewQuery()));
for (int i = 0; i < getMatriculateResultList().size(); i++) {
getMatriculateResultList().get(i).setCreditHour(80f);//将总学分改为 80
getMatriculateResultList().get(i).setStudentType("普通生");
// 简化导出报表中的中心名称
try {
4
// 对导出的报表的文件名进行编码
if (seasonIsNull) {
encodeExportFileName = new String(
(""+ getMatriculateResultList().get(i).getYear() + " 教 育 普 通 生 ( 新 生 ) 录 取 统 计 表
").getBytes("gb2312"), "iso8859-1");getMatriculateResultList().get(i).setTitle(
""+ getMatriculateResultList().get(i).getYear()+ "教育普通生(新生)录取统计表");
} else {
+
getMatriculateResultList().get(i).getYear()+ getMatriculateResultList().get(i).getSeason() + "教育
普通生(新生)录取统计表")
encodeExportFileName
String((""
=
new
getMatriculateResultList().get(i).setTitle(""
+
getMatriculateResultList().get(i).getYear()+ getMatriculateResultList().get(i).getSeason()
+ "教育普通生(新生)录取统计表");
.getBytes("gb2312"), "iso8859-1");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
break;
// 课程生
case '2':
setMatriculateResultList(stuRefresherManager
.stacStuRefresher(getNewQuery()));
for (int i = 0; i < getMatriculateResultList().size(); i++) {
getMatriculateResultList().get(i).setStudentType("课程生");
getMatriculateResultList().get(i).setCreditHour(80f);//将总学分改为 80
try {
// 对导出的报表的文件名进行编码
if (seasonIsNull) {
encodeExportFileName = new String(
课程生学习统计表").getBytes("gb2312"), "iso8859-1");
getMatriculateResultList().get(i).setTitle("" + getMatriculateResultList().get(i).getYear() + "
("" + getMatriculateResultList().get(i).getYear() + " 教 育
教育课程生学习统计表");
} else {
encodeExportFileName = new String(
(""
+
getMatriculateResultList().get(i).getYear()+ getMatriculateResultList().get(i).getSeason() + "教育
课程生学习统计表").getBytes("gb2312"), "iso8859-1");
getMatriculateResultList().get(i).setTitle(
"" + getMatriculateResultList().get(i).getYear()
5
+ getMatriculateResultList().get(i).getSeason() + "教育课程生学习统计表");
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
break;
// 转正课程生
case '3':
setMatriculateResultList(stuTransformManager
.stacStuTransform(getNewQuery()));
for (int i = 0; i < getMatriculateResultList().size(); i++) {
getMatriculateResultList().get(i).setStudentType("转正课程生");
getMatriculateResultList().get(i).setCreditHour(80f);//将总学分改为 80
try {
// 对导出的报表的文件名进行编码
if (seasonIsNull) {
encodeExportFileName = new String(
教育转正课程生录取统计表").getBytes("gb2312"), "iso8859-1");
("" + getMatriculateResultList().get(i).getYear() + "
getMatriculateResultList().get(i).setTitle(
"" + getMatriculateResultList().get(i).getYear() + "教
育转正课程生录取统计表");
} else {
encodeExportFileName = new String(
(""
+
getMatriculateResultList().get(i).getYear()+ getMatriculateResultList().get(i).getSeason() + "教育
转正课程生录取统计表")
.getBytes("gb2312"), "iso8859-1");
getMatriculateResultList().get(i)
.setTitle(
""
+
getMatriculateResultList().get(i).getYear()+ getMatriculateResultList().get(i).getSeason()
+ "教育转正课程生录取统计表");
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
}
// 普通生(含转正课程生)=case 1+ case 3
6