天津科技大学本科生
毕 业 实 习 报 告
专 业:计算机科学与技术(汽车嵌入式系统)
学 号:08205111
姓 名:刘鸿
指导老师姓名:
[实习目的]
通过理论联系实际,在实践中巩固所学的知识,提高处理实际问题的能力,增强自己的动手能力及进一步融入社会工作的能力,了解计算机及网络的相关知识,为毕业设计的顺利进行做好充分的准备,并为自己能顺利与社会环境接轨打下良好的基础。
[实习时间]
2011年2月20日 ~ 2011年3月11日
[实习地点]
天津给力科技有限公司
[实习内容]
天津给力科技有限公司成立于2011年10月,是刚成立的致力于ERP研发的公司。所谓ERP,是指建立在 HYPERLINK "http://baike.baidu.com/view/3226.htm" \t "_blank" 信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。公司核心技术骨干十人,有着丰富的经验和对软件行业发展趋势的正确预见。在实习期间我主要学习了基于B/S结构的网站搭建和设计。
此次实习运用到的工具有:Myeclipes,MySql,DreamWeaver。
公司为了培养员工能独立完成项目能力,严格按照软件工程开发流程管理项目的进度,并让新进员工在项目中切身实践,以自己主动思考、动手实践为主,导师协助、辅导为辅,让我学到了很多知识,得到了很好的锻炼。
软件工程过程主要包括开发过程、运作过程、维护过程。它们覆盖了需求、设计、实现、确认以及维护等活动。需求活动包括问题分析和需求分析。问题分析获取需求定义,又称软件需求规约。需求分析生成功能规约。设计活动一般包括概要设计和详细设计。概要设计建立整个软件系统结构,包括子系统、模块以及相关层次的说明、每一模块的接口定义。详细设计产生程序员可用的模块说明,包括每一模块中数据结构说明及加工描述。实现活动把设计结果转换为可执行的程序代码。确认活动贯穿于整个开发过程,实现完成后的确认,保证最终产品满足用户的要求。维护活动包括使用过程中的扩充、修改与完善。下面简单介绍我在项目中应用软件工程解决实际项目。
(一)、项目开始阶段,需求分析由项目经理完成,项目经理根据客户需求列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对整个项目起到了指导性的作用。
(二)、然后是概要设计阶段,需要对软件系统进行概要设计,即系统设计。概要设计需要对软件系统的设计 进行考虑,包括系统的基本处理流程、系统的组织结构、模块划分、功能分配、接口设计、 运行设计、数据结构设计和出错处理设计等,为软件的详细设计提供基础。我在此阶段开始参与项目的开发,并且通过学习和思考成功地将系统模块化、结构化。下面是我为软件构建的结构:
下面对这个项目简单做个解释:
项目名:是这个项目的顶级文件夹
模块名:将项目的不同功能分成不同功能模块,做成独立的文件夹,本项目只有一个功能模块。
Main文件夹:主要是放置项目的源代码,我将这个文件夹的子文件做成了 HYPERLINK "http://www.liuh.com" www.liuh.com的网站模式,更符合现在的B/S结构。注意,网址的结构是倒置的。
Source文件夹:放置项目的配置文件(例如Action,Servlet等XML配置文件)。
Test文件夹:放置项目的测试文件。
(三)、概要设计完成后,进入详细设计阶段,在详细设计中,主要描述实现具体模块所涉及到的主要算法、 HYPERLINK "http://baike.baidu.com/view/9900.htm" \t "_blank" 数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程序(每个模块或子程序)的设计考虑,以便进行编码和测试。本次项目的设计采用MVC结构,MVC是三个单词的缩写,分别为: 模型(Model), HYPERLINK "http://baike.baidu.com/view/71981.htm" \t "_blank" 视图(View)和控制Controller)。Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP、HTML来实现。 Controller层是Model与View之间沟通的桥梁,(Action、Servlet等,实习期间使用Servlet做控制层)它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
(四)、编码阶段,根据《软件系统详细设计报告》中对数据结构、算法分析和模块实现等方面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性能、接口、界面等方面的要求。
(五)、测试阶段,测试编写好的系统是否实现了客户所需的功能。
(六)、交付使用,维护。
软件工程使我们开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。实习期间我主要参与了代码的编写,下面着重叙述编码阶段,主要进行了JSP、JS、CSS、数据库操作等几项内容。
= 1 \* GB3 ①JSP页面的编写:通过学习,熟悉了HTML中的标签、属性、表单、样式,熟练使用表单的应用,熟练使用了Div(层),Table(表格),Select(下拉框),Radio(单选框),CheckBox(复选框),Img(图片)等的使用,并且还接触了JSP页面中Submit(表单提交方式),onmouseover(鼠标移入事件),onmouseout(鼠标移出事件),onclick(点击事件),onload(页面加载事件),onchange(元素改变事件)。并且在JSP页面中成功地实现了图片的放大,缩小,移动效果。
= 2 \* GB3 ②JS中的语法和普通JAVA的语法不一样,程序员可以根据自己的性格写出不同的代码。例如下段所选的代码:
function checkOnlyMan(){
var woman=document.getElementById("woman");
if(woman.checked==true){
woman.checked=false;
}
return true;
}
function checkOnlyWom