人人范文网 实习报告

软件开发 实习报告(精选多篇)

发布时间:2021-02-03 08:36:43 来源:实习报告 收藏本文 下载本文 手机版

推荐第1篇:软件开发实习报告

软件开发是一种用于计算机领域的根据用户要求建造出软件系统或者系统中软件部分的产品开发的过程。下面是小编我为您准备的“软件开发实习报告”3篇,欢迎参考,希望能对您有所帮助。软件开发实习报告一

时间过得真快,转眼间,在山大实习生活就结束了。

四周的时间能够和山大的同学一起工作、学习、生活我感到非常的荣幸,同时也感觉到很大的压力,作为电子商务专业的学生从事软件开发感觉还是有一定的困难,特别是我们还是和山大大三的学生一起,在初来时自己就有一些不自信,但随着项目的进展,我慢慢的找到了自己的位置,找到自己的目标,虽然自己与好的同学还有差距,这也给了我很大压力,但是我相信没有压力就没有动力,所以整个实训过程中我都在不断地努力。

实训期间让我学到很多东西,不仅在理论上让我对it领域有了全新的认识,在实践能力上也得到了很大的提高,真正的学到了学以致用,更学到很多做人的道理,对我来说受益匪浅。特别是利用周六上午的时间山大为我们安排的讲座让我们了解it领域一些新的发展动态以及一些的技术,让我意识到自己知识的缺少,这激励我在以后的学习、工作、生活中要不断了解信息技术发展动态以及信息发展中出现的新的技术。

除此之外,我还学到了如何与人相处,如何和人跟好的交流,我们组成一个团队大家一起开发一个项目,大家的交流沟通显得尤为重要,如何将自己的想法清楚明白的告诉队友,如何提出自己想法的同时又不伤害其他的队友的面子,这些在我的实训生活中都有一些体会。可是说,第一次亲身体会理论与实际相结合,让我大开眼界。也是对以前学习的一个初审吧,相信这次实训多我以后的学习、工作也将会有很很大的影响,在短短的二十几天里这些宝贵的经验将会成为我以后工作的基石。

作为大二的学生,经过两年的在校学习,对程序设计有了一些基本的理性的认识和理解。在校期间一直忙于理论的学习,没有机会也没有经验来参与我们项目的开发,所以在实习之前软件按开发对我来说是非常抽象的,一个完整的项目要怎么来分工以及完成该项目所需要的基本步骤也不明确,经过这次实训让我明白一个完整项目的完成必须团队分工合作,并在每个阶段进行必要的总结和检查。

在我们项目的开发过程中我们项目的步骤:详细设计、详细设计review、编码、编码review、单体测试。在项目开发过程中我也深刻的体会到详细设计对一个项目开发有明确的指引作用,它可以使开发人员对这个项目所要实现的功能在总体上有具体的认识,并能减少在开发过程中出现不必要的脱节。

经过二十多天的obbligato信息安全管理的java开发,是我对java软件开发平台有了更深一步的了解,也对nec公司的obbligato平台有了一定的了解。

这次实训是对我们两年学习的一个检验,虽然项目中很多知识我们在日常的学习中都没有遇到,这同时提醒我:要想成为一个合格的程序员就有具备一种自学能力,在工作中会遇到很多从未接触过的问题,当有了问题时要去解决,在你不断努力,寻找答案的过程中,自己的能力也在潜移默化的提升。有时遇到问题时可能有很多想法但却不知道那个正确,这就让我们不断地去探索,不断地尝试。

这次实训也让我深刻的了解到,不管在工作中还是在生活中要和老师、同学保持良好的关系是很重要的。做事首先要先做人,要明白做人的道理,如何与人相处是现代社会的做认得一个最基本的问题,对已自己这样一个即将步入社会的人来说,需要学习的东西很多。

从一起做项目的同学身上我看到了谦虚谨慎、细心努力的态度,在以后我的生活中我还会留意身边同学的优点,从他们身上找寻我所缺少的品质,不断学习。从老师那里我看到了企业人的生活面貌,没有事情可以不劳而获,今天老师们能够领导我们是他们之前努力的结果,虽然老师没有和我们讲很多公司里的事情,可是他们的言行中所表现出来的都是比我们要严谨的多的对工作的态度。

在此次的实训中我感觉到我们的不足就是动手的能力太差,在项目组中山大的同学也给我提出一些建议,让我有机会自己多动手,不是我们缺乏知识,而是我们没有运用知识的能力,在二十多天的项目开发过程中,我自己也认识到虽然我们的理论知识没有山大同学那么全面,但是如果在学校认真学习了,我们的理论知识并不比他们差,所以以后的日子,如果自己还要继续从事软件开发相关工作,我会更加注重自己的动手能力。

再者,我们要有更好的学习心态,看到山大的很多同学会在晚上项目结束后再去教室上自习,深深地意识到我们的学习态度有多大的差距,原来在学校的时候我们九点基本就要从教室回宿舍了,而他们还会再继续利用九点以后的时间努力学习,虽然在山大就短短不到一个月的时间,可是我所体会到的对我以后的学习将会有很大的影响,我想在大三专升本复习的过程中,在山大的经历会让我更加有动力,更能坚定信念:坚持、努力。学习山大学生刻苦、勤奋的学习态度。

山大的实训已经成为过去,可是在山大学到的东西会一直影响我以后的发展,突然想起鲁迅先生的一句话:世上本没有路,走的人多了,便成路。生活的路也是人走出来的,每个人一生总要去很多陌生的地方,然后熟悉,然后再走向另一个陌生的地方。在不久的将来,就要踏上人生的另一段旅程,以后的路上有时不免会感到有些茫然、无助,但生活的路谁都无法预测,只能一步步摸索,但只要方向正确,只要我们向着目标不断努力,相信在不远的将来我们一定会有一片属于我们自己的天空。

软件开发实习报告二

转眼已经在东软实训这样的大家庭中生活快10个月时间了,之前的兴奋、喜悦如今已经让我熟悉,在这里的每一天都会让我有成为一名真正财富拥有者的冲动。也许对别人来说,一定不能体会为什么在这不到10个月的时间会让一个人有翻天覆地的变化,但是变化就是这样一点一点产生的。

在东软的实训生活中,我深深体会到了自己在专业知识方面的欠缺和不足,也意识到了自己做为计算机软件工程专业的学生,要想在以后的职业中崭露头角,除了要有过硬的理论知识,健康的体魄外,还必须具备良好的心理素质,使自己在以后的途中无论经历什么样的困难,都立于不败之地。这正是本次实训的根本目的。

通过实训中心老师的课堂讲解与企业化标准的培训,使我加深了对自己专业的认识。从而确定自己以后的努力方向。要想在短暂的实训时间内,尽可能多的学到东西,就需要我们跟老师或同学进行很好的沟通,加深彼此的了解。只有我们跟老师多沟通,让老师更了解我们,才能跟真切的对我们进行培训工作。由此,班级的文化共享就在生活中慢慢形成了。

纸上得来终觉浅,绝知此事要躬行!在这短短的时间里,让我深深的感觉到自己在实际应用中所学专业知识的匮乏。让我真真领悟到学无止境这句话的涵义。而老师在专业认识周中所讲的,都是课本上没有而对我们又非常实用的东西,这又给我们的实训增加了浓墨淡采的光辉。我懂得了实际生活中,专业知识是怎样应用与实践的。在这些过程中,我不仅知道了职业生涯所需具备的专业知识,而且让我深深体会到一个团队中各成员合作的重要性,要善于团队合作,善于利用别人的智慧,这才是大智慧。靠单一的力量是很难完成一个大项目的,在进行团队合作的时候,还要耐心听取每个成员的意见,使我们的组合达到更加完美。

这次实训带给我太多的感触,它让我知道工作上的辛苦,事业途中的艰辛。让我知道了实际的工作并不像在学校学习那样轻松。

人非生而知之,虽然我现在的知识结构还很差,但是我知道要学的知识,一靠努力学习,二靠潜心实践。没有实践,学习就是无源之水,无本之木。这次实训让我在一瞬间长大:我们不可能永远呆在象牙塔中,过着一种无忧无虑的生活,我们总是要走上社会的,而社会,就是要靠我们这些年轻的一代来推动。这就是我们不远千里来实训的心得和感受,而不久后的我,面临是就业压力,还是继续深造,我想我都应该好好经营自己的时间,充实、完善自我,不要让自己的人生留下任何空白!

实训中除了学到不少专业知识,也了解一些社会的现实性,包括人际交往,沟通方式及相关礼节方面的内容,对于团队开发来说,团结一致使我深有体会。团队的合作注重沟通和信任,不能不屑于做小事,永远都要保持亲和诚信,把专业理论运用到具体实践中,不仅加深我对理论的掌握和运用,还让我拥有了一次又一次难忘的开发经理,这是也是实训的收获。

现在我对一个人的财富是他的人生经历和关系网络这句话非常的有感情,因为它确实帮了我们不少。除此课本上的知识毕竟有限。通过实训,我班同学都有这样一个感觉,课本上的理论知识与实际工作有很大差距,只有知识是远远不够的,专业技能急需提高。

从最初的笨手笨脚,到现在可以熟练的按照流程开发软件,这都与我班每个人的努力是分不开的。十个月的实训,教会了我们很多东西,同时也锻炼了大家踏实、稳重的能力,每个人都很珍惜这来之不易的实训机会。

在实际工作中经常会和不同的人打交道,然而他们的态度是不可恭维的,你会感觉到他的不耐烦以及他的高傲,所以这就需要学会沟通的方式及说话技巧,学会灵活面对。通过这十个月的实训,我班同学都收获颇丰,总体来说对这次实训还是很满意的。尽管实训很累,每天早出晚归。但真的很感谢学校能够提供我们这样好的实训机会,以及东软给予我们的实训平台。我们深刻的了解到,只有经历过,才知道其中的滋味。对于我而言,喜欢体验生活,可以说通过这次实训,真真切切的让我了解了什么是软件开发,什么是软件工程,让我对于软件最初的观点也有了本质性的改变!程序员不仅仅是一份职业,更是一份细心+一份耐心+一份责任心=人生价值的诠释。即将走向工作岗位的我们更要不断加强自己的专业技能,社会不会要一个一无是处的人,所以我们要更多更快的从一个学校人向社会人转变。为此我们将会在以后的日子里继续努力,不断激励经验,不断磨砺自己,早日走向工作岗位。

软件开发实习报告三

短短两周的很快就过去了,在xx的实习马上就要过去了。虽然只有短短的两周,但我学会了很多知识,熟悉了软件开发的流程,也很好的增强了自己的动手能力。

我是一名即将大四的学生,纵观现在的就业形势,国家高校的扩招,世界金融危机的横扫,大学生应该有一种居安思危的紧迫感,特别是对已经度过两年大学的我来说,毕业并不是一个遥远的词汇。宝剑锋从磨砺出,梅花香自苦寒来,缺少了平时的锻炼,没有厚积当然不能有薄发。首先我得有思想上的紧迫感,在学校学习的都是理论知识,实践经验则是少之又少。综合能力强的人才才是这个社会需要的,成长成为社会需要的人才是我的个人奋斗目标。有了强大的精神动力,有了坚如磐石的毅力,相信成功并不遥远。

首先,我的自我能力得到了加强。在实习的前几天主要进行的是与JAVA有关知识的学习及预备知识的普及。在这之前由于种种原因我没有学习过JAVA,所以对于J我几乎一无所知。但我曾经学习过C++,所以对语言的理解和接受能力还不算太慢,尽管老师讲解速度较快但我还是尽量跟上老师的速度。在这个过程中我学会一种自学方法可以在第一遍时不求甚解,先了解知识框架,之后再在使用的过程中不断加强对知识的理解,从而较快的学会知识并应用于实践。

其次我的实际的操作能力得到了加强。知识讲解告一段落后我们就进入了紧张而又短暂的项目中。但不得不说刚开始就碰了一鼻子灰代码书写总是出错。由于对原理理解不够透彻,语言使用缺乏足够经验所以进度极慢。在经过多次的讨论后我们对项目理解逐渐深入,所以在此投入的过程就比较顺利了。在这个过程中我明白了实践和理论的差距及二者不可分割的关系。

最后是团队协作能力的提高。在整个过程中团队协作发挥着不可替代的作用。从在刚拿到项目时对项目进行分析,然后进行分工,之后就开始工作,既各干各的又不失默契的合作。在这个过程中我们谁遇到问题会互相帮助解决提高了工作效率。

这次实习拉近了我就和社会的距离,也让自己在实践中开拓了视野,增长了才干。社会和大学一样也是受教育和学习的地方,实习中我收获颇丰,再次感谢实习期间各位老师的指导教诲,你们给我的知识财富将让我受益终生。但是我知道学无止境,仅仅这段时间的学习还是不够的,在以后的生活中我会继续努力学习,培养自己能力,进一步完善自己。

推荐第2篇:软件开发实习报告

通过这次在清华IT的实习,学到了很多东西,软件开发实习报告。也了解到了软件开发的真正价值。这次的实践让我真切体会到了我们前面所学知识的用处所在。以前总认为所学的知识只是理论上的知识,根本就没有任何作用,但通过这次实习,让我学有所用。而且学到了很多在学校学不到的东西,受益匪浅。

在这个信息时代,信息都是电子化。很多方面根本不在是一些手把手的管理,而是在电脑面前操作一下即可,让我们真正享受到高科技的待遇。在软件开发领域,做一个项目的出发点是提高办事效率。而在项目制作的过程中我们要使一个软件简洁实用,人性化,快捷方便。

这次实习的主要任务是图书管理系统的开发。项目运行的平台是WindowsXp,运用系统主要是Microsoft Visual Studio 2005,Microsoft SQL Server 2005,运用的知识主要有我们学习过的知识数据库技术,以及实习过程中所提及的知识。在软件开发果过程中首先要了解三层结构的的含义及其设计模式思想部署企业级数据库业务系统开发。三层结构是一种成熟、简单并得到普遍应用的应用程序架构,它将应用程序结构划分三层独立的包,包括用户表示层、业务逻辑层、数据访问层。其中将实现人机界面的所有表单和组件放在表示层,将所有业务规则和逻辑的实现封装在负责业务逻辑组件中,将所有和数据库的交互封装在数据访问组件中。其结构如下图1所示:(未显示出)

三层结构示意图

三层结构是一种严格分层方法,即数据访问层只能被业务逻辑层访问,业务逻辑层只能被表示层访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层。

下面介绍图书管理系统开发技术:

一 系统的功能设计

首先对系统进行需求分析,我们必须要知道要做一个系统“用来干什么”,这需要在对用户需求进行充分调研的基础上,深入理解并描述出软件的功能、性能、接口等方面的需求,可以使用UML建模作为需求分析和系统设计的有效方法。图(1)给出了本图书管理系统的功能结构图,其工作流程为:普通用户直接登录主页面,只能浏览、快速查询图书、注册新用户、修改自己的密码以及查看图书的详情,管理员用户除了可以完成普通用户的操作外,还可以进入图书管理模块进行图书添加、修改和删除的操作,实习报告《软件开发实习报告》。

1、系统的功能特点:

(1)操作简单、界面友好:插入表格的页面布局,使得图书的录入工作更简便;许多选项包括图书类别、来源等只需要点击鼠标就可以完成;另外,跟踪出现的提示信息也让用户随时清楚自己的操作情况。

(2)即时可见:对图书的处理(包括图书添加、修改、删除)将立即在主页的对应栏目显示出来,达到\"即时处理、即时见效\"的功能。

(3)功能完善:包括常见网站的图书管理的各个方面:图书新增、浏览、删除、修改、检索等各个方面,完整地实现了网站对即时图书的管理要求。

(4)方便移植:针对不同的图书馆,只需要稍作修改就可以开发出适合本企业特点的网站图书管理系统。

2、系统的详细设计

系统的主要功能是通过几个功能模块来实现的。具体的设计过程如下:

⑴ 系统登录:该模块负责将用户分为普通用户和管理员用户来实现用户权限的管理。

⑵图书类别管理:该模块只有管理员才有的权限,管理员可以对图书的大、小类进行添加、更新、删除等操作。

⑶库存图书浏览:该模块负责分页列出图书馆中所有图书的信息,包括图书名称、作者、出版社,图书状态,每条记录后面都有一个查看详情,查看详情被做成一个超链接,点击它们就能跳转页面可以查看更多的详情如图书封面、图书数量、图书出版年份。

⑷库存图书添加:该模块是图书管理员进行图书的添加,权限仅限管理员,在此页面中的大小类实现了联动作用,点击其大类,小类的下拉列表中就会显示与之对应的小类,从中选择即可。

⑷ 图书快速查询:该模块提供了图书快速查询功能,输入待查找的图书名称可以快速地找到符合条件的图书,并输出查询结果,点击产看详情字样就可以查看图书的详细信息。

⑸编辑系统用户:该模块负责分页罗列注册用户的具体信息,普通用户本人或管理员可以对用户进行删除、修改。非普通用户或系统管理员外不具有对该用户的处理权限,所以不同普通用户进入此页面将显示不同的内容。

⑹修改用户密码:普通用户本人用户录入所需要的内容,包含用户名、真实姓名、权限类型、旧密码及新密码,点击更改即可修改密码,并写入数据库中保存。

⑺系统名称设置:该模块为管理员权限,管理员可以更改图书系统的名称。普通用户为不可见状态。

⑻系统使用说明:主要是供普通用户和管理员阅读,使之更好地了解本系统的权限以及用法。

下面给出系统后端数据存储方案:

利用Microsoft SQL Server 2005建立数据库及其存储过程。这里给出几个必需的数据表,主要有system,bigCla,smallCla,users,Books。

二、ASp部分设计

1、连接数据库

访问数据库信息的第一步是和数据库源建立连接。ADO 提供 Connection 对象,可以使用该对象建立和管理应用程序和 ODBC 数据库之间的连接。Connection 对象具有各种属性和方法,可以使用它们打开和关闭数据库连接,并且发出查询请求来更新信息。

要建立数据库连接,在中链接到数据库

2、数据的绑定

数据的连接分为直接连接和间接连接,前面所举例子用的是直接连接,下面用间接地方法对数据进行绑定。主要是利用数据适配器SqlAdatapter(),下面的函数方法是对数据绑定:

此方法也可以插在所要调用的函数中,但是将这个方法单独提出有利于后面的利用,后面对数据进行绑定时就可以用这个方法,避免做重复的工作,减少工作量。

3、加密方法

本系统的加密方法是MD5,以一个例子来说明:

String oldpaword=this.Textpaword.Text;

String newpaword= System.Web.Security.FormsAuthentication.HashpawordForStoringInConfigFile(paword, \"md5\");

即可将原来的密码加密,防止他人偷窃密码。

推荐第3篇:软件开发实习报告.

软件开发实习报告

一、实习的目的与意义

在本科教育中,实习是一个重要的实践性教学环节。通过实习,可以使我们熟悉外贸实务的具体操作流程,增强感性认识,并可以进一步了解、巩固与深化已经学过的理论和方法,加深对专业理论知识的理解,培养和提高实践操作问题、发现先问题、分析问题以及解决问题的能力,使综合运用所学理论知识与编程实践紧密结合,为毕业后从事计算机工作打下良好的基础。实习要达到以下目标:

a) 在实习过程中学会为人处事能力,学会以各种方式学习,学会团结合作共收益,提高自己的多方面能力和整体综合素质。

b) 将在校所学的知识运用到实践中,提高观察问题、发现问题、分析问题、解决问题的能力,强化编程能力,提高计算机专业水平。

c) 在规范有序的实习中培养吃苦耐劳、努力钻研、求真务实的精神。 在具体实习过程中,能够了解软件开发的具体流程,需求分析过程及任务的分配、完成、提交、审核等各个方面,还能对行业深入彻底地了解并能切身体会到行业的竞争力,工作的重要性及自身在工作中的角色,还能了解自身存在的不足,并积累一定的经验,为将来走上工作岗位打下良好的基础。

二、实习时间

2012年1月9日(星期一)—2012年1月13日(星期五)

三、实习地点

XX大学网络中心

四、实习内容

第一天,老师进行了软件开发实习总动员,强调了软件开发是一个复杂的过程,他需要软件开发人员有强大的耐力,耐得住繁杂的程序代码,耐得住寂寞,同时也强调了软件开发的重要性,软件开发是适应现代科技的飞速发展,以及满足人们的日常需求必不可少的高科技技术。

第二天,老师讲解了软件开发必不可少的工具,如SQL server数据库等编程语言,而在编制数据库时必须注意的是数据库的表与表之间的联系、表与表之间的连接、实体与属性之间的关系、主键、唯一键以及外键等数据库相关的知识。在这天老师主要讲解了数据库的后台知识。

第三天,老师对基于Subversion和TortoiseSVN的版本控制系统做了简单介绍。版本控制是软件配置管理中的重要一环,主要功能是记录开发过程的每一次修改,让开发工作可以随时检查过往的历史和获取正确的版本,是系统的“成长记录”。

第四天,参观沈阳建筑大学学校的网络中心,通过老师讲解和学生亲自动手操作,了解网络中印中用到了哪些开发的软件,同时讲明最后一天的实习内容。

第五天,项目实践,熟练掌握SQL server数据库等开发工具,开发一个软件。从整体出发,一步一步实现,需求整理到分析设计到后来的代码编写与测试等,并了解软件开发大致流程:

a) 需求分析(前期规划):明确软件需要实现哪些功能,即公司的需求。 b) 概要设计:以项目为中心的开发流程。 c) 详细设计:设计数据流图及E-R图等。

d) 具体编码:业务流程、具体模块的开发,编写程序代码。

e) 调试、跟踪与测试:对编写的程序、模块功能等进行检查,保证开发的软件可用。

五、心得体会

实习是每一个大学生必不可少的一段学习经历,在这短短的一周时间里,不仅在学习方面学到了很多,除此之外,我还学到了如何与人相处,如何与人更好的交流,开发一个项目通常是需要一个团队的队员共同合作完成的,因此大家的交流沟通显得尤为重要,如何更好地与别人沟通,如何将自己的想法清楚明白的告诉队友,如何更好地去陈述自己的观点,如何说服别人认同自己的观点同时又不伤害其他的队友的面子,这些在我的实习生活中都有一些体会,对我来说受益非浅。作为一个即将踏入社会的我来说,现在的实习对我今后踏入新的工作岗位是非常有益的,相信这些宝贵的经验会成为我今后成功的最重要的基石。

作为大三的学生,经过两年半的在校学习,对程序设计有了一些基本的理性的认识和理解。在校期间一直忙于理论的学习,没有机会也没有经验来参与项目的开发,所以在实习之前软件开发对我来说是非常抽象的,因此很高兴有这样一个参与到软件实际开发的机会。通过这次实习,我发现从学校走向社会我们还存在着很大的不足,对工作我们也缺少经验,我认识到我们要认清自身定位,特别是加强英语学习。在大部分的工作和活动中无一例外涉及到英语,项目中好多名词都是英语的缩写,不然要天天百度英文的意思,这样工作效率会大大降低,而且,在软件开发的过程中,数据库的建立也尤为重要,对表的操作,如表与表之间的关系、表与表的连接、实体与属性之间的关系等知识都需要明确地掌握。因此在以后的学习中必须加强对英语与数据库的学习,不断强化自身,并充分认识自己,避免眼高手低,增加实际动手能力,在社会这个大学校里,不断完善和学习。

这次实习是对我两年半的学习的一个检验,虽然项目中很多知识我们在日常的学习中都没有学到,这同时提醒我:要想成为一个合格的程序员就要具备一种自学能力,在工作中会遇到很多从未接触过的问题,当有了问题时就要去解决,在你不断努力,寻找答案的过程中,自己的能力也在潜移默化的提升。对于计算机的知识我们也要不断加强锻炼,特别是实际应用,多写写代码,多看看程序,并自己亲身实践,这样你才会发现你对代码是多么生疏,写一行代码就错误百出,只有理论知识没有实践经验是不行的,计算机就是一个需要不断实践的行业,更新速度很快,稍不留神你就落伍了,所以要常常补充知识,这样才会有用武之地。

在这次实习过程中,我深刻体会到,走出校门,只是万里长征的第一步,我们在工作经验上、社会历练上以及人际交往上体现出来的稚嫩,在这一次的实习中完全表露出来,而且我们所缺乏的还不仅仅如此,所以在以后的生活和工作中,我要不断的充实和丰富自己,不放弃任何能够锻炼自己的机会,使自己能迅速的成长为一名合格的软件开发人员。

总之,这次实习的意义,对我来说已不再仅仅是完成学分、完成软件开发实习的任务,而是在开启“生命之旅”大门的过程中迈出了第一步,它使我在实践中了解社会,让我学到了很多在课堂上根本就学不到的知识,也开拓了视野,增长了见识,为我以后更好地服务社会打下了坚实的基础。我一定会好好地珍惜这次实习的经验,并为自己所喜爱的软件开发科技贡献自己的聪明才智,感谢老师在这段时间里对我的指导和教诲,我从中受益匪浅,整个的实习过程是紧张而愉快的。作为我在踏出社会之前的为数不多的几次实践中,这次的实践的确给予了我很多。今后,我将继续保持认真负责的学习与工作态度,高尚的思想觉悟,进一步完善和充实自己,争取在以后的学习中更好的发挥自己的特长,在以后的实践中更好的运用自己的知识,做一个合格的大学生,将来做一名对社会有用的人。

推荐第4篇:软件开发毕业实习报告

xxxx学院

毕业实习报告

系别:

年级班级: 学号: 姓名: 指导教师: 实习类型:

实习单位: 实习时段:

集中实习

关于在XX公司从事

软件开发的实习报告

一、实习目的

进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。

二、实习单位及岗位介绍

1.实习单位介绍

中软国际长沙ETC是中软国际ETC继北京总部基地之后,在全国建立的第一家分基地,也是湖南省政府招商引资的重点支持项目之一。中软国际长沙ETC凭借对服务外包行业人才需求的深刻理解,以及在服务外包人才培训领域的丰富经验、良好的企业及院校合作资源,成为支持软件产业高速发展的人才战略组成部分,同时也是软件及外包业务快速发展的重要人才支持平台。

中软国际在专业学科建设、师资培养、实践教学、就业服务、基地共建等多个领域进行了卓有成效的合作和模式创新,为提升院校竞争力和知名度发挥了重要作用。长沙ETC从2006年4月份启动以来,至2008年4月,以接纳包括哈尔滨工业大学等知名院校在内的共计55所院校,培训学员数量5400多人。

2.实习岗位介绍

我在中软国际长沙ETC实习期间的岗位是Java软件工程师。实习期间参与人力资源管理系统的开发,根据开发规范和流程独立完成模块设计、编码、测试。编写相关应用系统的开发文档、数据库设计文档等。较为详细和系统的掌握了软件开发的知识体系。把所学知识与解决实际问题相联系,培养了自己发现问题、分析问题和解决问题的能力,从而提高了自己从事实际工作的能力。

三、实习内容及过程

1.Java基础知识

Java的基础知识对于一个Java软件工程师来说就好比是人的灵魂,现在的公司在招聘的时候很多都不在乎你会不会流行的技术,如(Struts、Hibernate、Spring、ibatis等)。他看重的是你的基础扎不扎实,对于网易、腾讯等大公司来说更是如此,我们在开发过程中运用了大量的Java基础知识,如类、对象、方法、成员变量、静态变量、封装、继承、多态、异常、接口、抽象类、IO流等等,所以一个系统对于Java编程基础的依赖便不言而喻。

2.MySQL、Oracle数据库

MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL AB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。Oracle则是以稳定性著称,在访问量和数据大量交换的服务器中,Oracle占了大臂的江山,在开发中主要用到了数据库的查询语句、数据库的关系、事物等。

3.Servlet和JSP

一个Servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然Servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 Servlet类。javax.servlet和javax.servlet.http包为编写Servlet提供了接口和类。所有的Servlet都必须实现Servlet接口,该接口定义了生命周期方法。

JSP是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所 需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java, 也可以访问JSP网页 。

Java Servlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。现在许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器,也可以通过附件的应用服务器和模块来支持Servlet,这得益于Java的跨平台特性。另外,由于Servlet内部以线程方式提供提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Servlet的效率非常高 。

4.三大框架

Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Spring 也表示是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

5.XX管理系统的开发

四、实习总结及体会

通过这次实习机会,我主要学习了以上这些java编程的技术,同时也明白了身处公司中如何更好地与同事配合,毕竟在软件开发中,你不可能一个人干完一个系统,大家都是通过svn等团队管理工具互相配合完成编程任务。在实习之前,我对软件开发的过程只有一个模糊地印象,以为只要把代码编写完之后就算

基本上一个项目开发完毕了。然而通过这次实习,彻底颠覆了我的认知,我当时的认知无疑是非常幼稚和可笑的,完全的软件开发过程不只只是编写代码,在编写代码之前还有好多的事情要做,比如文档的编写、对项目进行需求分析、数据库设计等等。代码编写完成之后还要进行测试,以及人员的培训,这些都是必须做,也是必不可少的项目,甚至比代码的编写还重要。

我在开发期间遇到很多问题,但是我会试着到网络去找答案,如果实在找不到我会试着问问我的上级,或者跟一些朋友讨论一下,如果发现了这个问题的答案我会及时把它记录下来,方便以后遇到问题可以随时翻阅,我相信好记性不如烂笔头这句话,我也相信如果一个程序员写的代码没有错误那只能证明他没写过代码,虽然我比较懒,但我现在有空的时候都会对着电脑敲代码,我相信手感是敲出来的,你看10遍都不如你敲一遍来得印象深刻。

通过这次实习,我认识到了一个软件开发的完整的过程,为我今后进行实际的工作奠定了坚实的基础。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。然后,在技术上也有了很大的提高,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。而且所作的软件应用性更强。所以,在今后的学习中我会严于律己,认真学习有关软件编程的课,为以后的工作打好坚实的基础。

推荐第5篇:软件开发专业实习报告

软件开发专业实习报告

软件开发专业实习的开展能使实习生们加深对自己专业的认识,确定自己以后的努力方向。以下是小编为大家精心整理的软件开发专业实习报告,欢迎大家阅读。

第一篇:软件开发专业实习报告

转眼已经在东软实训这样的大家庭中生活快10个月时间了,之前的兴奋、喜悦如今已经让我熟悉,在这里的每一天都会让我有成为一名真正财富拥有者的冲动。也许对别人来说,一定不能体会为什么在这不到10个月的时间会让一个人有翻天覆地的变化,但是变化就是这样一点一点产生的。

在东软的实训生活中,我深深体会到了自己在专业知识方面的欠缺和不足,也意识到了自己做为计算机软件工程专业的学生,要想在以后的职业中崭露头角,除了要有过硬的理论知识,健康的体魄外,还必须具备良好的心理素质,使自己在以后的途中无论经历什么样的困难,都立于不败之地。这正是本次实训的根本目的。

通过实训中心老师的课堂讲解与企业化标准的培训,使我加深了对自己专业的认识。从而确定自己以后的努力方向。要想在短暂的实训时间内,尽可能多的学到东西,就需要我们跟老师或同学进行很好的沟通,加深彼此的了解。只有我们跟老师多沟通,让老师更了解我们,才能跟真切的对我们进行培训工作。由此,班级的文化共享就在生活中慢慢形成了。

纸上得来终觉浅,绝知此事要躬行!在这短短的时间里,让我深深的感觉到自己在实际应用中所学专业知识的匮

乏。让我真真领悟到学无止境这句话的涵义。而老师在专业认识周中所讲的,都是课本上没有而对我们又非常实用的东西,这又给我们的实训增加了浓墨淡采的光辉。我懂得了实际生活中,专业知识是怎样应用与实践的。在这些过程中,我不仅知道了职业生涯所需具备的专业知识,而且让我深深体会到一个团队中各成员合作的重要性,要善于团队合作,善于利用别人的智慧,这才是大智慧。靠单一的力量是很难完成一个大项目的,在进行团队合作的时候,还要耐心听取每个成员的意见,使我们的组合达到更加完美。

这次实训带给我太多的感触,它让我知道工作上的辛苦,事业途中的艰辛。让我知道了实际的工作并不像在学校学习那样轻松。

人非生而知之,虽然我现在的知识结构还很差,但是我知道要学的知识,一靠努力学习,二靠潜心实践。没有实践,学习就是无源之水,无本之木。这

次实训让我在一瞬间长大:我们不可能永远呆在象牙塔中,过着一种无忧无虑的生活,我们总是要走上社会的,而社会,就是要靠我们这些年轻的一代来推动。这就是我们不远千里来实训的心得和感受,而不久后的我,面临是就业压力,还是继续深造,我想我都应该好好经营自己的时间,充实、完善自我,不要让自己的人生留下任何空白!

实训中除了学到不少专业知识,也了解一些社会的现实性,包括人际交往,沟通方式及相关礼节方面的内容,对于团队开发来说,团结一致使我深有体会。团队的合作注重沟通和信任,不能不屑于做小事,永远都要保持亲和诚信,把专业理论运用到具体实践中,不仅加深我对理论的掌握和运用,还让我拥有了一次又一次难忘的开发经理,这是也是实训最大的收获。

现在我对一个人最大的财富是他的人生经历和关系网络这句话非常的有感情,因为它确实帮了我们不少。除此

课本上的知识毕竟有限。通过实训,我班同学都有这样一个感觉,课本上的理论知识与实际工作有很大差距,只有知识是远远不够的,专业技能急需提高。

从最初的笨手笨脚,到现在可以熟练的按照流程开发软件,这都与我班每个人的努力是分不开的。十个月的实训,教会了我们很多东西,同时也锻炼了大家踏实、稳重的能力,每个人都很珍惜这来之不易的实训机会。

在实际工作中经常会和不同的人打交道,然而他们的态度是不可恭维的,你会感觉到他的不耐烦以及他的高傲,所以这就需要学会沟通的方式及说话技巧,学会灵活面对。通过这十个月的实训,我班同学都收获颇丰,总体来说对这次实训还是很满意的。尽管实训很累,每天早出晚归。但真的很感谢学校能够提供我们这样好的实训机会,以及东软给予我们的实训平台。我们深刻的了解到,只有经历过,才知道其中的滋味。对于我而言,喜欢体验生活,可以说通

过这次实训,真真切切的让我了解了什么是软件开发,什么是软件工程,让我对于软件最初的观点也有了本质性的改变!程序员不仅仅是一份职业,更是一份细心+一份耐心+一份责任心=人生价值的诠释。即将走向工作岗位的我们更要不断加强自己的专业技能,社会不会要一个一无是处的人,所以我们要更多更快的从一个学校人向社会人转变。为此我们将会在以后的日子里继续努力,不断激励经验,不断磨砺自己,早日走向工作岗位。

第二篇:软件开发专业实习报告

短短两周的很快就过去了,在xx的实习马上就要过去了。虽然只有短短的两周,但我学会了很多知识,熟悉了软件开发的流程,也很好的增强了自己的动手能力。

我是一名即将大四的学生,纵观现在的就业形势,国家高校的扩招,世界金融危机的横扫,大学生应该有一种居

安思危的紧迫感,特别是对已经度过两年大学的我来说,毕业并不是一个遥远的词汇。宝剑锋从磨砺出,梅花香自苦寒来,缺少了平时的锻炼,没有厚积当然不能有薄发。首先我得有思想上的紧迫感,在学校学习的都是理论知识,实践经验则是少之又少。综合能力强的人才才是这个社会需要的,成长成为社会需要的人才是我的个人奋斗目标。有了强大的精神动力,有了坚如磐石的毅力,相信成功并不遥远。

首先,我的自我能力得到了加强。在实习的前几天主要进行的是与JAVA有关知识的学习及预备知识的普及。在这之前由于种种原因我没有学习过JAVA,所以对于J我几乎一无所知。但我曾经学习过C++,所以对语言的理解和接受能力还不算太慢,尽管老师讲解速度较快但我还是尽量跟上老师的速度。在这个过程中我学会一种自学方法可以在第一遍时不求甚解,先了解知识框架,之后再在使用的过程中不断加强

对知识的理解,从而较快的学会知识并应用于实践。

其次我的实际的操作能力得到了加强。知识讲解告一段落后我们就进入了紧张而又短暂的项目中。但不得不说刚开始就碰了一鼻子灰代码书写总是出错。由于对原理理解不够透彻,语言使用缺乏足够经验所以进度极慢。在经过多次的讨论后我们对项目理解逐渐深入,所以在此投入的过程就比较顺利了。在这个过程中我明白了实践和理论的差距及二者不可分割的关系。

最后是团队协作能力的提高。在整个过程中团队协作发挥着不可替代的作用。从在刚拿到项目时对项目进行分析,然后进行分工,之后就开始工作,既各干各的又不失默契的合作。在这个过程中我们谁遇到问题会互相帮助解决提高了工作效率。

这次实习拉近了我就和社会的距离,也让自己在实践中开拓了视野,增长了才干。社会和大学一样也是受教育

和学习的地方,实习中我收获颇丰,再次感谢实习期间各位老师的指导教诲,你们给我的知识财富将让我受益终生。但是我知道学无止境,仅仅这段时间的学习还是不够的,在以后的生活中我会继续努力学习,培养自己能力,进一步完善自己。

第三篇:软件开发专业实习报告

时间过得真快,转眼间,在山大实习生活就结束了。

四周的时间能够和山大的同学一起工作、学习、生活我感到非常的荣幸,同时也感觉到很大的压力,作为电子商务专业的学生从事软件开发感觉还是有一定的困难,特别是我们还是和山大大三的学生一起,在初来时自己就有一些不自信,但随着项目的进展,我慢慢的找到了自己的位置,找到自己的目标,虽然自己与好的同学还有差距,这也给了我很大压力,但是我相信没有压力就没有动力,所以整个实训过程中我都在

不断地努力。

实训期间让我学到很多东西,不仅在理论上让我对it领域有了全新的认识,在实践能力上也得到了很大的提高,真正的学到了学以致用,更学到很多做人的道理,对我来说受益匪浅。特别是利用周六上午的时间山大为我们安排的讲座让我们了解it领域一些新的发展动态以及一些领先的技术,让我意识到自己知识的缺少,这激励我在以后的学习、工作、生活中要不断了解信息技术发展动态以及信息发展中出现的新的技术。

除此之外,我还学到了如何与人相处,如何和人跟好的交流,我们组成一个团队大家一起开发一个项目,大家的交流沟通显得尤为重要,如何将自己的想法清楚明白的告诉队友,如何提出自己想法的同时又不伤害其他的队友的面子,这些在我的实训生活中都有一些体会。可是说,第一次亲身体会理论与实际相结合,让我大开眼界。也是对以前学习的一个初审吧,相信这次实训多我

以后的学习、工作也将会有很很大的影响,在短短的二十几天里这些宝贵的经验将会成为我以后工作的基石。

作为大二的学生,经过两年的在校学习,对程序设计有了一些基本的理性的认识和理解。在校期间一直忙于理论的学习,没有机会也没有经验来参与我们项目的开发,所以在实习之前软件按开发对我来说是非常抽象的,一个完整的项目要怎么来分工以及完成该项目所需要的基本步骤也不明确,经过这次实训让我明白一个完整项目的完成必须团队分工合作,并在每个阶段进行必要的总结和检查。

在我们项目的开发过程中我们项目的步骤:详细设计、详细设计review、编码、编码review、单体测试。在项目开发过程中我也深刻的体会到详细设计对一个项目开发有明确的指引作用,它可以使开发人员对这个项目所要实现的功能在总体上有具体的认识,并能减少在开发过程中出现不必要的脱节。

经过二十多天的obbligato信息安全管理的java开发,是我对java软件开发平台有了更深一步的了解,也对nec公司的obbligato平台有了一定的了解。

这次实训是对我们两年学习的一个检验,虽然项目中很多知识我们在日常的学习中都没有遇到,这同时提醒我:要想成为一个合格的程序员就有具备一种自学能力,在工作中会遇到很多从未接触过的问题,当有了问题时要去解决,在你不断努力,寻找答案的过程中,自己的能力也在潜移默化的提升。有时遇到问题时可能有很多想法但却不知道那个正确,这就让我们不断地去探索,不断地尝试。

这次实训也让我深刻的了解到,不管在工作中还是在生活中要和老师、同学保持良好的关系是很重要的。做事首先要先做人,要明白做人的道理,如何与人相处是现代社会的做认得一个最基本的问题,对已自己这样一个即将步入社会的人来说,需要学习的东西很多。

从一起做项目的同学身上我看到了谦虚谨慎、细心努力的态度,在以后我的生活中我还会留意身边同学的优点,从他们身上找寻我所缺少的品质,不断学习。从老师那里我看到了企业人的生活面貌,没有事情可以不劳而获,今天老师们能够领导我们是他们之前努力的结果,虽然老师没有和我们讲很多公司里的事情,可是他们的言行中所表现出来的都是比我们要严谨的多的对工作的态度。

在此次的实训中我感觉到我们最大的不足就是动手的能力太差,在项目组中山大的同学也给我提出一些建议,让我有机会自己多动手,不是我们缺乏知识,而是我们没有运用知识的能力,在二十多天的项目开发过程中,我自己也认识到虽然我们的理论知识没有山大同学那么全面,但是如果在学校认真学习了,我们的理论知识并不比他们差,所以以后的日子,如果自己还要继续从事软件开发相关工作,我会更加注重自

己的动手能力。

再者,我们要有更好的学习心态,看到山大的很多同学会在晚上项目结束后再去教室上自习,深深地意识到我们的学习态度有多大的差距,原来在学校的时候我们九点基本就要从教室回宿舍了,而他们还会再继续利用九点以后的时间努力学习,虽然在山大就短短不到一个月的时间,可是我所体会到的对我以后的学习将会有很大的影响,我想在大三专升本复习的过程中,在山大的经历会让我更加有动力,更能坚定信念:坚持、努力。学习山大学生刻苦、勤奋的学习态度。

山大的实训已经成为过去,可是在山大学到的东西会一直影响我以后的发展,突然想起鲁迅先生的一句话:世上本没有路,走的人多了,便成路。生活的路也是人走出来的,每个人一生总要去很多陌生的地方,然后熟悉,然后再走向另一个陌生的地方。在不久的将来,就要踏上人生的另一段旅程,以后的路

上有时不免会感到有些茫然、无助,但生活的路谁都无法预测,只能一步步摸索,但只要方向正确,只要我们向着目标不断努力,相信在不远的将来我们一定会有一片属于我们自己的天空。

推荐第6篇:软件开发生产实习报告

软件开发生产实习报告

专业:

组员:

按照贡献大小列出每个组员的姓名、学号

信息科学与工程学院

2014年5月

1、项目概述

1.1 需求分析

正文使用这个字体。行间距为1.5倍行距。不得有3级标题。首行缩进2字符。

1.2 开发技术、环境与工具

2、软件设计

2.1 系统架构及功能模块

2.2 关键模块流程

2.3 数据库设计

2.4 业务流程

2.5 界面设计

3、软件实现

3.1 关键模块的实现

3.2 软件测试方案与结果

4、遇到的主要问题与解决方法

要求学生积累总结在实训过程中遇到的主要问题及其如何解决的;

5、学习心得与建议

推荐第7篇:软件开发基地生产实习报告

软件开发基地生产实习报告

生产实习是学校教学的一个重要的补充部分,是教育教学体系中不可缺少的重要的组成部分和不可替代的重要环节。为了让学生能够更好的理论联系实际,成功的从一个学生转变为一个职业人,东南大学计算机科学与工程学院安排了XX级全体学生进入企业进行为期一周的生产实习。下面我主要讲述我在东软集团南京软件开发基地的实习生活与实习感想。

东软集团成立于1991年沈阳,中国领先的it解决方案与服务供应商,而南京软件开发基地是其华东战略的一个重要举措。在为期两天的时间里,授课老师主要讲述了对于他们对于当前软件行业的发展概况,如何进行职业规划,如何从学生走向成功的职业人以及面试的一些技巧。

在第一天上午,盖龙佳老师与我们分享了他的一些求学经历以及一些他对于软件发展趋势的一些理解。从他的经历中,我感受到的是一种积极向上,不服软的精神。以他在英国曼大进入商学院为例,他在明知自身不符合招生条件的情况下,不放弃,以极大的勇气进行着最后的努力,最终说服了系主任,成功的成为了一名商学院学生。我想这或许就是东软文化里所体现的拼搏精神。而他借由产品全国联保的服务,三易其货,成功的将一款停产的,用了好长时间的价值150镑的随身听,折换成了190镑的现金,这就是创新,也是东软员工乃至一个成功企业人所具备的能力。

下午的时候,则是孙老师给我们讲述如何进行职业规划。开篇她就教了我们一个很有意义的手势:我真的很不错。积极的心态与自信是她给我们的第一堂课。接下来对我们做了一些测评。然而,我认为最有意义的有两件事。第一件事就是让我们进行班内的互评,匿名的指出班内同学的优点与缺点,同学们的真诚评价对于不自信的同学是个莫大的鼓舞,而同学们的批评与建议有助于我们改正缺点,更好的与他人相处。另一件事是以班级为单位进行的小型竞赛。大家通力合作,最后获得很棒的成绩的情景,到现在我还记忆犹新。第二天上午则是由盖龙佳老师进行的从学生到企业人的转变,下午则是由hr的一位女士给我们传授一些面试的技巧。

转眼间,两天的实习就过去了,时间虽短,但我的收获是巨大的。通过这两天的生产实习,我从无知到认知到深入了解了企业与社会。实习期间的每时每刻,我都有很多新的体会。现总结如下:

1.企业文化

两天时间里,有三位老师对我们进行了授课,并非出自同一部门,但他们合作的很好。

这对于我这样一个即将走向社会的学生是个启示:快速的与陌生的合作者进行交流与沟通的能力,是一个成功企业人需要具备的能力。任何一个企业想要长久下去,必须具备创新精神与挑战,这点从盖老师身上就有所体现,更何况他只是人力资源部的经理,遑论其他的软件开发者们。授课老师对我们毫无保留的传授,正是体现了他们无私奉献的精神。这些精神,是东软的员工无意间体现的东软精神。我想,在进入一个企业的过程中,只有你真正的把企业的文化融入到你的内心,你才能在企业中如鱼得水,成为一个让企业离不开你的角色。

2.让别人接受你、喜欢你、离不开你

一个人要成功,不管你是才高八斗还是学富五车,在与人打交道的时候都要经历这么三个阶段:让别人接受你;让别人喜欢你;让别人离不开你。接受你你才有机会展示自己的才华,喜欢你才会把更多的机会和更重要的事情交给你,最后因为你有了核心的能力人家才会离不开你,这时候你的舞台就会更广阔了。

人生需要舞台,而能创造舞台者凤毛麟角,多数人得借助舞台。小人物需要大舞台来提升,小舞台需要大人物来支撑。对于年轻人来说,可能人人都想成为那些创造舞台的风云人物,但是实际情况是大多数人其实都是需要借助别人的舞台来唱戏的人,这是很正常很自然的事情。如何能够在别人的舞台上唱好戏也是一门很大的学问。(王志纲)

3.自身努力与虚心求教

在学校生活中,或许你平时不用功,在考试前突击一下,说不定就通过了。而在一个企

业中,每时每刻都是期末考。如果还是像学校生活那样,以为只要突击一下就能完成任务的话,那么我想你很快就会成为企业裁员名单中的一员,毕竟企业追求的是效益,你不能给企业带来更大的效益,就只能被淘汰。而处于这个信息爆炸的时代,需要我们学习的新的知识还有很多,自身不努力的话,也只能被后进追上甚至超越。当我们遇到问题时,也要虚心的去求教,“三人行必有我师”,别人的经验教训对我们会是个很大的帮助。就比如说我们这批即将毕业的大学生,对于未来,有太多的迷茫,多向已经走向社会的学长学姐们请教,对于我们未来的职业生涯大有裨益。

4.建立强大的自信

在第一天的下午,孙老师传递给我们的信息是“自信”。我想这不是无的放矢。从她的“我真的很不错”到班内互评到班级间的对抗,自信是她的主题。让我们这批迷茫的大四学子树立信心是一方面,另一方面,我想,或许在职业人当中,也存在着不少的不自信者,她是在传授我们一生的财富:自信。

5.帮助别人也是帮助你自己

当你在工作之余,为同事们倒一杯茶,自觉的打扫办公室的时候,同事们会对你产生一丝的好感。当这一丝丝的好感逐渐升华时,它会在你最需要帮助的时候向你伸出友谊之手。

以上是我的实习小结。经过这次实习,我学习到了很多书本上没有的东西。作为一名即将走向社会的学生,我应该学会在社会上独立,勇于参加社会竞争,敢于承受社会压力,在社会上更快的成长起来。

推荐第8篇:软件开发基地生产实习报告

生产实习是学校教学的一个重要的补充部分,是教育教学体系中不可缺少的重要的组成部分和不可替代的重要环节。为了让学生能够更好的理论联系实际,成功的从一个学生转变为一个职业人,东南大学计算机科学与工程学院安排了XX级全体学生进入企业进行为期一周的生产实习。下面我主要讲述我在东软集团南京软件开发基地的实习生活与实习感想。

东软集团成立于1991年沈阳,中国领先的it解决方案与服务供应商,而南京软件开发基地是其华东战略的一个重要举措。在为期两天的时间里,授课老师主要讲述了对于他们对于当前软件行业的发展概况,如何进行职业规划,如何从学生走向成功的职业人以及面试的一些技巧。

在第一天上午,盖龙佳老师与我们分享了他的一些求学经历以及一些他对于软件发展趋势的一些理解。从他的经历中,我感受到的是一种积极向上,不服软的精神。以他在英国曼大进入商学院为例,他在明知自身不符合招生条件的情况下,不放弃,以极大的勇气进行着最后的努力,最终说服了系主任,成功的成为了一名商学院学生。我想这或许就是东软文化里所体现的拼搏精神。而他借由产品全国联保的服务,三易其货,成功的将一款停产的,用了好长时间的价值150镑的随身听,折换成了190镑的现金,这就是创新,也是东软员工乃至一个成功企业人所具备的能力。

下午的时候,则是孙老师给我们讲述如何进行职业规划。开篇她就教了我们一个很有意义的手势:我真的很不错。积极的心态与自信是她给我们的第一堂课。接下来对我们做了一些测评。然而,我认为最有意义的有两件事。第一件事就是让我们进行班内的互评,匿名的指出班内同学的优点与缺点,同学们的真诚评价对于不自信的同学是个莫大的鼓舞,而同学们的批评与建议有助于我们改正缺点,更好的与他人相处。另一件事是以班级为单位进行的小型竞赛。大家通力合作,最后获得很棒的成绩的情景,到现在我还记忆犹新。

第二天上午则是由盖龙佳老师进行的从学生到企业人的转变,下午则是由hr的一位女士给我们传授一些面试的技巧。

转眼间,两天的实习就过去了,时间虽短,但我的收获是巨大的。通过这两天的生产实习,我从无知到认知到深入了解了企业与社会。实习期间的每时每刻,我都有很多新的体会。现总结如下:

1.企业文化

两天时间里,有三位老师对我们进行了授课,并非出自同一部门,但他们合作的很好。

这对于我这样一个即将走向社会的学生是个启示:快速的与陌生的合作者进行交流与沟通的能力,是一个成功企业人需要具备的能力。任何一个企业想要长久下去,必须具备创新精神与挑战,这点从盖老师身上就有所体现,更何况他只是人力资源部的经理,遑论其他的软件开发者们。授课老师对我们毫无保留的传授,正是体现了他们无私奉献的精神。这些精神,是东软的员工无意间体现的东软精神。我想,在进入一个企业的过程中,只有你真正的把企业的文化融入到你的内心,你才能在企业中如鱼得水,成为一个让企业离不开你的角色。

推荐第9篇:软件开发实习生毕业实习报告

软件开发实习生毕业实习报告

院:物理与信息工程

业:物联网工程

名:陈xx

号:

11XX02

实习单位:xxxx时代教育科技有限公司

实习时间:XX.7.13-XX.9.26

实习单位(全称)

xxxx时代教育科技有限公司

邮编

xx

实习单位地址

xx

电话

xx

实习单位指导

教师姓名

邱xx

邮箱

xx

联系电话

xx

实习岗位

c++软件开发实习生

实习内容

xxxx时代教育科技有限公司是xx集团旗下的一家子公司。主要从事教育行业的子公司,特别是中高职物联网教育这一块。公司位于福建省福州市马尾区儒江西路1号xx科技园区。公司内部工作氛围好工作相对轻松。我在公司的岗位是c++软件开发实习生。主要完成公司中一些关于c++软件的开发与程序的完善修改的工作。由于我所属的开发部没有专门的c++软件工程师,所以经理让产品部的工程师作为我的导师,这让我的工作难度大于其他的实习生。在公司期间我搭建了“智慧城市”物联网系统、嵌入式冷链系统的修改,以及帮助修改51驱动和newlab51部分书籍的排版。

1、“智慧城市”物联网系统。主要是测试的工作,目的测试这套系统功能的完整性。结果我们顺利地搭建好了这套实验设备,并完成了功能的测试。我感觉自己完成的很好,挺开心的。

2、嵌入式冷链系统的修改完善。要求:

1、了解这套系统;

2、学会neat和microsoftvisualstudio的开发环境的搭建和开发;

3、对嵌入式冷链系统程序的烧写;

5、对嵌入式冷链系统进行修改;

5、按照不同要求进行功能的完善。完成情况:我完成了前面4项,最后的功能完善是由其他同事进行的。对这套陌生的系统进行修改完善对我来说有一定的难度,他不但要求我要了解硬件,还要熟练的c++编程技术并且还要学会xx自己开发的neat开发平台涉及的知识面很广不过我还是很开心自己能完成这么多,但是我明白我不过努力不然自己一定可以完成这套系统的所有工作的。

3、以及帮助修改51驱动和newlab51部分书籍的排版。排版由我完成,但是驱动部分我只测试修改了一部分,另外的交接给新同事做了。

自我评价

总体上前期中期的表现还不错,但是自己还可以更加努力的工作把事情做得更好。后期由于学校事务,参加招聘会等事和公司外聘的编书老师那边协调不好,最终没把握好时间问题,这是自己在未来工作中要非常主义的一点。

实习过程

第一周:XX.7.13-XX.7.17

任务要求:1.neat开发平台的搭建

2.熟悉嵌入式冷链系统

任务进度:1.完成对neat开发平台的搭建

2.完成熟悉嵌入式冷链系统

出勤情况:全勤

第二周:XX.7.20-XX.7.24

任务要求:1.搭建“智慧城市”物联网系统

2.烧写嵌入式冷链系统

任务进度:1.完成搭建“智慧城市”物联网系统

2.未成烧写嵌入式冷链系统

出勤情况:全勤

第三周:XX.7.27-XX.7.31

任务要求:1.熟悉linux系统

2.烧写嵌入式冷链系统

任务进度:1.完成熟悉linux系统

2.完成烧写嵌入式冷链系统

出勤情况:全勤

第四周:XX.8.3-XX.8.7

任务要求:1.学习neat编程和巩固c++基础知识

任务进度:1.完成学习neat编程和巩固c++基础知识

出勤情况:全勤

第五周:XX.8.10-XX.8.14

任务要求:1.学习neat编程和巩固c++基础知识

2、修改嵌入式冷链系统

任务进度:1.学习neat编程和巩固c++基础知识

2.完成修改嵌入式冷链系统

出勤情况:全勤

第六周:XX.8.17-XX.8.21

任务要求:1.修改嵌入式冷链系统

任务进度:1.完成修改嵌入式冷链系统50%

出勤情况:请假1天

第七周:XX.8.24-XX.8.28

任务要求:1.修改嵌入式冷链系统

任务进度:1.完成修改嵌入式冷链系统80%

出勤情况:请假2天

第八周:XX.8.31-XX.9.4

任务要求:1.修改嵌入式冷链系统

任务进度:1.完成修改嵌入式冷链系统

出勤情况:请假2天

第九周:XX.9.7-XX.9.11

任务要求:1.掌握newlab系统的使用

2.完成51单片机实验

任务进度:1.完成掌握newlab系统的使用

2.完成51单片机实验10%

出钱情况:全勤

第十周:XX.9.14-XX.9.18

任务要求:1.排版51单片机实验手册

2、完成51单片机实验

任务进度:1.排版51单片机实验手册30%

2.完成51单片机实验30%

出勤情况:请假1天

第十一周:XX.8.20-XX.9.25

任务要求:1.排版51单片机实验手册60%

2、完成51单片机实验

任务进度:1.排版51单片机实验手册60%

2.完成51单片机实验60%

出勤情况:请假1天

实习中存在的问题

实习中存在的主要问题:主要是接触的东西是比较陌生的,许多知识网上没有都需要请教导师等人,而导师相对比较忙,一直不怎么有空,对我这一块的东西了解也是半桶水。我问问题的人太多大家给的信息量大且乱我没有很好地分清及时的分清信息的正误,做好规划导致最后的进度偏慢。

实习总结

每件事的规划很重要,导师虽然忙但我们作为学生要积极抓导师空余时间与导师沟通,谦虚好学这样才能最好最快的完成任务。

推荐第10篇:软件开发PHP毕业实习报告

四川商务职业学院

PHP开发工程师实习报告

系:信息技术系 专业:软件技术专业 姓名:XX 实习单位:XX科技有限公司

实习时间:2016.12-2017.2

2016.12月到2017年2月,我有幸在XX有限公司实习。这是我第一次正式与社会接触踏上工作岗位,开始与以往学生时代不一样的体验。

一,实习单位介绍

公司信息:民营公司 / 50-99人 公司行业:IT 新能源

XX有限公司成立于2010年,专注于企业信息化建设,是一家集软件定向研发、咨询、维护,信息系统集成、运维,信息通讯网络建设、运维及咨询等业务于一体的新型IT企业。 公司拥有一支高素质、高效率的服务团队,其中既有长年从事本行业具有丰富经验的高端人才,又有敢于创新,勇于开拓的年轻一代。二者的融洽结合,使公司在为客户提供坚强的技术保障之余不断创新,拓宽了公司服务范围,提升了公司服务质量,促进了公司服务理念向更高、更快、更新的快速转变,在广大客户企业中拥有良好的口碑并留下了深刻的印象。

二,实习岗位简介

岗位名称:PHP开发工程师。

主要工作:在公司我的主要工作是用PHP语言,参与一个信息管理系统的开发,编写后台服务程序,为写前端页面提供接口支持和服务。

三,实习内容和过程

原本以为公司开发都会配置好固定的开发环境,结果入职第一天要求自己搭建自己自己喜欢和熟悉的开发环境就好。

我搭建的开发环境是WAMP,即Windows,Apache,MySQL,PHP环境,开发工具是 Sublime text3和Navicat for MySQL。

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,

第(1)页

四川商务职业学院

多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

Navicat for MySQL是一套专为MySQL设计的强大数据库管理及开发工具。它可以用于任何3.21或以上的MySQL数据库服务器,并支持大部份MySQL最新版本的功能,包括触发器、存储过程、函数、事件、检索、权限管理等等。

开始正式工作,首先 实现登录和修改密码两个功能,因为该项目 是电力局内部使用,账号都有内部工号分配,所以没有注册功能。 前端是同事用 WPF 做的一个界面,如下图所示:

图一

接收前端传递过来的数据进行操作,进行数据处理,验证修改,和防SQL注入。考虑到数据传输的安全性问题,采用了DES加密方式对数据进行加密传输。部分加密,解密代码如下所示。

图二

第(2)页

四川商务职业学院

部分加密解密封装方法:

图三

实现了登录和修改密码功能,接下来实现查询功能,如下图所示:

图四

用户选择任一类型,将自动返回这一类型所有数据,输入为空时,将默认返回所有数据。(应客户要求显示。因为是客户内部使用,一类型设备数量基本固定不会太多,所以不会对数据库操作造成数据库太大负担,)输入这一类型任一字段属性,将返回包含这一属性的所有数据,。这里我采用了对字段模糊查询对

第(3)页

四川商务职业学院

数据库进行操作。部分代码如下图所示,先进行了对传入值类型的判断,再对这一类型数据进行操作。

图五

图六

在sql语句中使用了CONCAT()函数对字段进行连接操作,既实现了简单的多字段模查询。

实现了登录和查询功能接下来就是实现对数据的修改和删除功能了.这都是些对数据基本的操作,在学校在老师的带领做过很多类似的练习操作,所以做起来已经很得心应手了.只是在实际开发中更多的考虑安全性和效率性问题。前端操作界面如下图所示:

图七

第(4)页

四川商务职业学院

图八

实现完以上功能,此次项目我所负责的功能模板就已经完成了,在此其中学习到了很多新知识,同时遇到了一些问题,下面来总结总结这次项目开发的心历。

一、关于注释

开发的时候被一再强调注释的重要性。并且就连注释的格式都规范的死死的。这就是团队开发。每一个文件都必须有文件注释,每一个函数都必须有功能注释以及参数注释,甚至就连每一个变量都必须有注释,必须清清楚楚标明用途,哪怕它的标识符很清楚表示它只是个paword。

如今的开发语言都有其相应的自动生成API帮助文档的小软件,每一个软件都规定了注释的规范,以方便生成帮助文档,好在这些文档规范大致相同。刚开始很惊讶,因为注释的内容居然能占一半,甚至更多,这在以前都未曾遇到。

二、如何解决问题

项目刚开始开发就遇到一个问题,就是我不会用DES加密,因为之前都没接触过这个。当时觉得估计自己解决不了这个问题,向项目主管反应了这个问题。 事实证明了我的想法很愚蠢,主管让我自己上网找找方法,看看说明。找了之后才发现问题没有想象的那么难,网上有很多封装好的方法而且还有详细的注释说明,直接使用就可以了。在这次遇到问经历中让我学会了,要多交流,多学习同时也养成了逛CSDN等技术论坛的习惯。

第(5)页

四川商务职业学院

让我认识到,公司招人来是解决问题的,工作就要尽责!有需求就必须满足!即便满足不了也得尽全力去做。最重要的是:事情都是人做的,别人能做,自己为什么不能,即便不能自创,抄也可以抄来”。

三、实习心得:

1.关于公司的开发环境和代码规范

公司的环境和规范,都是长期以来根据实践经验慢慢总结出来的,很适合当前规模项目的开发,因此必须及时熟悉。这就如生产力和生产关系之间的联系,毫无疑问当前的生产关系是适应生产力的。

规范包括代码规范和架构规范,它制定了数据处理流程的规范,以及考虑因素。然而不同的项目对应不同的需求,应当考虑的因素也是不同的。比如一个普通公司的内网只允许内部员工访,这样的话对安全系数的要求就不高,但大流量大负载的状况就得多加考虑!换过来如果是一个机关部门的网站,显然不会有大流量大负载的情况出现,因此在这上面便可以少考虑,而安全系数就是不得不考虑的致命因素!

2.关于理论和实践

最开始的数据库问题让我明白了书上的理论在面对实现中的硬伤时表现得是那么苍白,那更多的只是理论上的完美,而实际工作中是不存在完美的!

后来的代码实现工作让我认识到,即便是理论上掌握了,实践的话却不一定成功。且不说无数次调试后才能保证语句的正确,单单是逻辑错误出现的频率就几乎让人崩溃。原本在脑海中那么清晰地思路,到实现的时候才发现居然有那么多问题没想到!

公司实习这段时间我清楚了什么叫:纸上得来终觉浅,绝知此事要躬行! 3.注释——责任心的体现

在公司开发,最开始被迫写N多注释,到后期整合项目的时候才发现多亏有这些注释。它们使得我们可以很方便地回想起自己当时的想法,更使得我们可以毫无障碍地读懂别人的代码,以后即便是换了一批人员进行二次开发或者维护都会很方便。

注释,既是对自己作品的信心,也是对自己作品的负责!

第(6)页

四川商务职业学院

4.公司招人是需要解决问题

开发中遇到的问题都最终被解决,我清楚地知道问题解决的每一个过程。从最开始的毫无头绪,到后来的稍有眉目,再到后来思路清晰,然后一步一步实现!经理那句话给我印象很深刻:公司招人是要来解决问题的!我想我以后都不会轻易说不行了。

四、实习感受

通过本次实习,我基本了解了公司的开发流程,以及一些开发时的注意事项,同时也使自己的代码水平上升了一个层次。然而更多的收获在于了解到工作是什么样的状态,工作中的问题以及遇到问题怎么做。经过这次实习,工作于我不再是想象中的那个空洞的名词,我深深地感受到它的存在!深深地体会到它和学校的区别!

第(7)页

第11篇:软件开发报告

负载均衡器软件

开发报告

院系: 班级: 成员:

目录

1.可行性分析报告..........................................................................................................................1 1.1 项目背景 ..............................................................................................................................1 1.2产品分析 ...............................................................................................................................1 1.3 结论意见 ..............................................................................................................................2 2.项目开发计划 ..............................................................................................................................2 2.1 总体功能要求 ......................................................................................................................2 2.2 软件开发平台要求 ..............................................................................................................2 2.3 软件项目的开发实施过程管理要求 ...................................................................................2 3.软件开发 ......................................................................................................................................2 3.1 软件的需求分析 ..............................................................................................................3 3.3软件的详细设计 ...................................................................................................................4 3.4 软件的编码 ..........................................................................................................................5 3.5软件的测试 .........................................................................................................................31 3.5.1测试计划 .....................................................................................................................31 3.5.2 软件测试 ....................................................................................................................31 4.项目开发总结报告 ....................................................................................................................32

I

1.可行性分析报告

1.1 项目背景

面对庞大的数据流量,面对集中性的访问,是不是觉得网络服务器岌岌可危呢?不用怕,负载均衡器就能帮你缓解这个问题。负载均衡器通过虚拟IP地址方法,解决了轮流排程所面临的许多问题。使用了负载均衡器集群系统,在外部看来,像是具有一个IP地址的单一服务器一样,当然,这个IP地址是虚拟的,它映射了集群中的每一台机器的地址。所以,在某种程度上,负载均衡器是将整个集群的IP地址报漏给外部网络。

当请求到达负载均衡器时,它会重写该请求的头文件,并将之指定到集群中的机器上。如果某台机器被从集群中移除了,请求不会别发往已经不存在的服务器上,因为所有的机器表面上都具有同一个IP地址,即使集群中的某个节点被移除了,该地址也不会发生变化。而且,internet上缓存的DNS条目也不再是问题了。当返回一个应答时,客户端看到的只是从负载均衡器上所返回的结果。也就是说,客户端操作的对象是负载均衡器,对于其更后端的操作,对客户端来讲,是完全透明的。

1.2产品分析

服务器一致性负载均衡器读取客户端发出的每一个请求中所包含的cookies或url解释。基于所读出的这些信息,负载均衡器就可以重写报头并将请求发往集群中合适的节点上,该节点维护着相应客户端请求的会话信息。在HTTP通信中,负载均衡器可以提供服务器一致性,但并不是通过一个安全的途径(例如:HTTPS)来提供这种服务。当消息被加密后(SSL),负载均衡器就不能读出隐藏在其中的会话信息。

通过故障恢复机制获得高可靠性故障恢复发生在当集群中某个节点不能处理请求,需将请求重新导向到其他节点时。主要有两种故障恢复:

请求级故障恢复。当集群中的一个节点不能处理请求时(通常是由于down机),请求被发送到其他节点。当然,在导向到其他节点的同时,保存在原节点上的会话信息将会丢失。

透明会话故障恢复。当一个引用失败后,负载均衡器会将之发送到集群中其他的节点上,以完成操作,这一点对用户来说是透明的。由于透明会话故障恢复需要节点具备相应的操作信息,因此为了实现该功能,集群中的所有节点必须具有公共存储区域或通用数据库,存储会话信息数据,以提供每个节点在进行单独进程会话故障恢复时所需要的操作信息。

既然所有的Web应用请求都必须经过负载均衡系统,那么系统就可以确定活动会话的数量,在任何实例访问中的活动会话的数目,应答的次数,高峰负载

1

次数,以及在高峰期和低谷期的会话的数目,还有其他更多的。所有的这些统计信息都可以被很好的用来调整整个系统的性能。

1.3 结论意见

虽然此项目存在一定的技术难度和风险,但我们对项目要达到的目标十分清楚,对所要开发系统将要实现的功能也非常了解。而且有一些成品作为参考,并且在项目的实施过程中我们能够获得帮助,我认为只要我们能够认真思考、仔细规划、明确分工,我们可以承担此项目的开发。

2.项目开发计划

2.1 总体功能要求

1.扩展网络设备和服务器的带宽 2.增加吞吐量

3.加强网络数据处理能力 4.提高网络的灵活性和可用性

2.2 软件开发平台要求

Visual c++ 6.0 SQL Server 2008 C++ Builder 网络架构:

完全支持TCP/IP协议

2.3 软件项目的开发实施过程管理要求

3.软件开发

2

3.1 软件的需求分析

1.DNS负载均衡最早的负载均衡技术是通过DNS来实现的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。DNS负载均衡是一种简单而有效的方法,但是它不能区分服务器的差异,也不能反映服务器的当前运行状态。

2.代理服务器负载均衡 使用代理服务器,可以将请求转发给内部的服务器,使用这种加速模式显然可以提升静态网页的访问速度。然而,也可以考虑这样一种技术,使用代理服务器将请求均匀转发给多台服务器,从而达到负载均衡的目的。

3.地址转换网关负载均衡 支持负载均衡的地址转换网关,可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。

4.协议内部支持负载均衡除了这三种负载均衡方式之外,有的协议内部支持与负载均衡相关的功能,例如HTTP协议中的重定向能力等,HTTP运行于TCP连接的最高层。

5.NAT负载均衡NAT简单地说就是将一个IP地址转换为另一个IP地址,一般用于未经注册的内部地址与合法的、已获注册的Internet IP地址间进行转换。适用于解决Internet IP地址紧张、不想让网络外部知道内部网络结构等的场合下。

6.反向代理负载均衡普通代理方式是代理内部网络用户访问internet上服务器的连接请求,客户端必须指定代理服务器,并将本来要直接发送到internet上服务器的连接请求发送给代理服务器处理。反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。反向代理负载均衡技术是把将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。

7.混合型负载均衡在有些大型网络,由于多个服务器群内硬件设备、各自的规模、提供的服务等的差异,可以考虑给每个服务器群采用最合适的负载均衡方式,然后又在这多个服务器群间再一次负载均衡或群集起来以一个整体向外界提供服务(即把这多个服务器群当做一个新的服务器群),从而达到最佳的性能。将这种方式称之为混合型负载均衡。此种方式有时也用于单台均衡设备的性能不能满足大量连接请求的情况下。

3.2软件的概要设计

软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一

3

个或多个附加软件来实现负载均衡,DNSLoadBalanceCheckPointFirewall-1 ConnectControl等,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。

一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵。 本地负载均衡能有效地解决数据流量过大、网络负荷过重的问题,并且不需花费昂贵开支购置性能卓越的服务器,充分利用现有设备,避免服务器单点故障造成数据流量的损失。其有灵活多样的均衡策略把数据流量合理地分配给服务器群内的服务器共同负担。即使是再给现有服务器扩充升级,也只是简单地增加一个新的服务器到服务群中,而不需改变现有网络结构、停止现有的服务。

全局负载均衡主要用于在一个多区域拥有自己服务器的站点,为了使全球用户只以一个IP地址或域名就能访问到离自己最近的服务器,从而获得最快的访问速度,也可用于子公司分散站点分布广的大公司通过企业内部互联网来达到资源统一合理分配的目的。

3.3软件的详细设计

1.轮转法:轮转算法是所有调度算法中最简单也最容易实现的一种方法。在一个任务队列里,队列的每个成员(节点)都具有相同的地位,轮转法简单的在这组成员中顺序轮转选择。在负载平衡环境中,均衡器将新的请求轮流发给节点队列中的下一节点,如此连续、周而复始,每个集群的节点都在相等的地位下被轮流选择。这个算法在DNS域名轮询中被广泛使用。

轮转法的活动是可预知的,每个节点被选择的机会是1/N,因此很容易计算出节点的负载分布。轮转法典型的适用于集群中所有节点的处理能力和性能均相同的情况,在实际应用中,一般将它与其他简单方法联合使用时比较有效。

2.散列法:散列法也叫哈希法(HASH),通过单射不可逆的HASH函数,按照某种规则将网络请求发往集群节点。哈希法在其他几类平衡算法不是很有效时会显示出特别的威力。例如,在前面提到的UDP会话的情况下,由于轮转法和其他几类基于连接信息的算法,无法识别出会话的起止标记,会引起应用混乱。

而采取基于数据包源地址的哈希映射可以在一定程度上解决这个问题:将具有相同源地址的数据包发给同一服务器节点,这使得基于高层会话的事务可以以适当的方式运行。相对称的是,基于目的地址的哈希调度算法可以用在Web Cache集群中,指向同一个目标站点的访问请求都被负载平衡器发送到同一个Cache服务节点上,以避免页面缺失而带来的更新Cache问题。

3.最少连接法:在最少连接法中,平衡器纪录目前所有活跃连接,把下一个新的请求发给当前含有最少连接数的节点。这种算法针对TCP连接进行,但由于

4

不同应用对系统资源的消耗可能差异很大,而连接数无法反映出真实的应用负载,因此在使用重型Web服务器作为集群节点服务时(例如Apache服务器),该算法在平衡负载的效果上要打个折扣。为了减少这个不利的影响,可以对每个节点设置最大的连接数上限(通过阈值设定体现)。

4.最低缺失法:在最低缺失法中,平衡器长期纪录到各节点的请求情况,把下个请求发给历史上处理请求最少的节点。与最少连接法不同的是,最低缺失记录过去的连接数而不是当前的连接数。

5.最快响应法:平衡器记录自身到每一个集群节点的网络响应时间,并将下一个到达的连接请求分配给响应时间最短的节点,这种方法要求使用ICMP包或基于UDP包的专用技术来主动探测各节点。

在大多数基于LAN的集群中,最快响应算法工作的并不是很好,因为LAN中的ICMP包基本上都在10ms内完成回应,体现不出节点之间的差异;如果在 WAN上进行平衡的话,响应时间对于用户就近选择服务器而言还是具有现实意义的;而且集群的拓扑越分散这种方法越能体现出效果来。这种方法是高级平衡基于拓扑结构重定向用到的主要方法。

6.加权法:加权方法只能与其他方法合用,是它们的一个很好的补充。加权算法根据节点的优先级或当前的负载状况(即权值)来构成负载平衡的多优先级队列,队列中的每个等待处理的连接都具有相同处理等级,这样在同一个队列里可以按照前面的轮转法或者最少连接法进行均衡,而队列之间按照优先级的先后顺序进行均衡处理。在这里权值是基于各节点能力的一个估计值。

3.4 软件的编码

#include #include #include #include \"conn.h\" #include \"log.h\" #include \"fdwrapper.h\"

conn::conn() { m_srvfd = -1; m_clt_buf = new char[ BUF_SIZE ]; if( !m_clt_buf ) { throw std::exception(); }

5

m_srv_buf = new char[ BUF_SIZE ]; if( !m_srv_buf ) { throw std::exception(); } reset(); }

conn::~conn() { delete [] m_clt_buf; delete [] m_srv_buf; }

void conn::init_clt( int sockfd, const sockaddr_in& client_addr ) { m_cltfd = sockfd; m_clt_addre = client_addr; }

void conn::init_srv( int sockfd, const sockaddr_in& server_addr ) { m_srvfd = sockfd; m_srv_addre = server_addr; }

void conn::reset() { m_clt_read_idx = 0; m_clt_write_idx = 0; m_srv_read_idx = 0; m_srv_write_idx = 0; m_srv_closed = false; m_cltfd = -1; memset( m_clt_buf, \'\\0\', BUF_SIZE ); memset( m_srv_buf, \'\\0\', BUF_SIZE ); }

6

RET_CODE conn::read_clt() { int bytes_read = 0; while( true ) { if( m_clt_read_idx >= BUF_SIZE ) { log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"the client read buffer is full, let server write\" ); return BUFFER_FULL; }

bytes_read = recv( m_cltfd, m_clt_buf + m_clt_read_idx, BUF_SIZEm_clt_write_idx ) >0 ) ? OK : NOTHING; }

RET_CODE conn::read_srv() { int bytes_read = 0; while( true ) { if( m_srv_read_idx >= BUF_SIZE )

7

{ log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"the server read buffer is full, let client write\" ); return BUFFER_FULL; }

bytes_read = recv( m_srvfd, m_srv_buf + m_srv_read_idx, BUF_SIZEm_srv_write_idx ) >0 ) ? OK : NOTHING; }

RET_CODE conn::write_srv() { int bytes_write = 0; while( true ) { if( m_clt_read_idx

8

}

bytes_write = send( m_srvfd, m_clt_buf + m_clt_write_idx, m_clt_read_idxm_srv_write_idx, 0 ); if ( bytes_write == -1 )

9

{ if( errno == EAGAIN || errno == EWOULDBLOCK ) { return TRY_AGAIN; } log( LOG_ERR, __FILE__, __LINE__, \"write client socket failed, %s\", strerror( errno ) ); return IOERR; } else if ( bytes_write == 0 ) { return CLOSED; }

m_srv_write_idx += bytes_write; } } #ifndef FDWRAPPER_H #define FDWRAPPER_H

#include #include #include

int setnonblocking( int fd ) { int old_option = fcntl( fd, F_GETFL ); int new_option = old_option | O_NONBLOCK; fcntl( fd, F_SETFL, new_option ); return old_option; }

void add_read_fd( int epollfd, int fd ) { epoll_event event;

0 1

event.data.fd = fd; event.events = EPOLLIN | EPOLLET; epoll_ctl( epollfd, EPOLL_CTL_ADD, fd, &event ); setnonblocking( fd ); }

void add_write_fd( int epollfd, int fd ) { epoll_event event; event.data.fd = fd; event.events = EPOLLOUT | EPOLLET; epoll_ctl( epollfd, EPOLL_CTL_ADD, fd, &event ); setnonblocking( fd ); }

void closefd( int epollfd, int fd ) { epoll_ctl( epollfd, EPOLL_CTL_DEL, fd, 0 ); close( fd ); }

void removefd( int epollfd, int fd ) { epoll_ctl( epollfd, EPOLL_CTL_DEL, fd, 0 ); }

void modfd( int epollfd, int fd, int ev ) { epoll_event event; event.data.fd = fd; event.events = ev | EPOLLET; epoll_ctl( epollfd, EPOLL_CTL_MOD, fd, &event );

11

} #endif #include #include #include #include \"log.h\"

static int level = LOG_INFO; static int LOG_BUFFER_SIZE = 2048; static const char* loglevels[] = { \"emerge!\", \"alert!\", \"critical!\", \"error!\", \"warn!\", \"notice:\", \"info:\", \"debug:\" };

void set_loglevel( int log_level ) { level = log_level; }

void log( int log_level, const char* file_name, int line_num, const char* format, ...) { if ( log_level >level ) { return; }

time_t tmp = time( NULL ); struct tm* cur_time = localtime( &tmp ); if ( ! cur_time ) {

2 1

return; }

char arg_buffer[ LOG_BUFFER_SIZE ]; memset( arg_buffer, \'\\0\', LOG_BUFFER_SIZE ); strftime( arg_buffer, LOG_BUFFER_SIZELOG_EMERG ] );

va_list arg_list; va_start( arg_list, format ); memset( arg_buffer, \'\\0\', LOG_BUFFER_SIZE ); vsnprintf( arg_buffer, LOG_BUFFER_SIZE - 1, format, arg_list ); printf( \"%s\\n\", arg_buffer ); fflush( stdout ); va_end( arg_list ); } #include #include #include #include #include #include #include #include #include #include #include #include #include #include

3 1

#include #include

#include \"log.h\" #include \"conn.h\" #include \"mgr.h\" #include \"procepool.h\"

using std::vector;

static const char* version = \"1.0\";

static void usage( const char* prog ) { log( LOG_INFO, __FILE__, __LINE__, \"usage: %s config_file]\", prog ); }

int main( int argc, char* argv[] ) { char cfg_file[1024]; memset( cfg_file, \'\\0\', 100 ); int option; while ( ( option = getopt( argc, argv, \"f:xvh\" ) ) != -1 ) { switch ( option ) { case \'x\': { set_loglevel( LOG_DEBUG ); break; }

1 4 [-v] [-h] [-f

case \'v\': { log( LOG_INFO, __FILE__, __LINE__, \"%s %s\", argv[0], version ); return 0; } case \'h\': { usage( basename( argv[ 0 ] ) ); return 0; } case \'f\': { memcpy( cfg_file, optarg, strlen( optarg ) ); break; } case \'?\': { log( LOG_ERR, __FILE__, __LINE__, \"un-recognized option %c\", option ); usage( basename( argv[ 0 ] ) ); return 1; } } }

if( cfg_file[0] == \'\\0\' ) { log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"please specifiy the config file\" ); return 1; } int cfg_fd = open( cfg_file, O_RDONLY );

5 1

if( !cfg_fd ) { log( LOG_ERR, __FILE__, __LINE__, \"read config file met error: %s\", strerror( errno ) ); return 1; } struct stat ret_stat; if( fstat( cfg_fd, &ret_stat ) balance_srv; vector logical_srv; host tmp_host; memset( tmp_host.m_hostname, \'\\0\', 1024 ); char* tmp_hostname; char* tmp_port; char* tmp_conncnt; bool opentag = false; char* tmp = buf; char* tmp2 = NULL; char* tmp3 = NULL;

1

6 met met

char* tmp4 = NULL; while( tmp2 = strpbrk( tmp, \"\\n\" ) ) { *tmp2++ = \'\\0\'; if( strstr( tmp, \"\" ) ) { if( opentag ) { log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"parse config file failed\" ); return 1; } opentag = true; } else if( strstr( tmp, \"\" ) ) { if( !opentag ) { log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"parse config file failed\" ); return 1; } logical_srv.push_back( tmp_host ); memset( tmp_host.m_hostname, \'\\0\', 1024 ); opentag = false; } else if( tmp3 = strstr( tmp, \"\" ) ) { tmp_hostname = tmp3 + 6; tmp4 = strstr( tmp_hostname, \"\" ); if( !tmp4 ) { log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"parse config

1

7

file failed\" ); return 1; } *tmp4 = \'\\0\'; memcpy( tmp_host.m_hostname, strlen( tmp_hostname ) ); } else if( tmp3 = strstr( tmp, \"\" ) ) { tmp_port = tmp3 + 6; tmp4 = strstr( tmp_port, \"\" ); if( !tmp4 ) { log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"parse config file failed\" ); return 1; } *tmp4 = \'\\0\'; tmp_host.m_port = atoi( tmp_port ); } else if( tmp3 = strstr( tmp, \"\" ) ) { tmp_conncnt = tmp3 + 7; tmp4 = strstr( tmp_conncnt, \"\" ); if( !tmp4 ) { log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"parse config file failed\" ); return 1; } *tmp4 = \'\\0\'; tmp_host.m_conncnt = atoi( tmp_conncnt ); }

1

8 tmp_hostname,

else if( tmp3 = strstr( tmp, \"Listen\" ) ) { tmp_hostname = tmp3 + 6; tmp4 = strstr( tmp_hostname, \":\" ); if( !tmp4 ) { log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"parse config file failed\" ); return 1; } *tmp4++ = \'\\0\'; tmp_host.m_port = atoi( tmp4 ); memcpy( tmp_host.m_hostname, tmp3, strlen( tmp3 ) ); balance_srv.push_back( tmp_host ); memset( tmp_host.m_hostname, \'\\0\', 1024 ); } tmp = tmp2; }

if( balance_srv.size() == 0 || logical_srv.size() == 0 ) { log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"parse config file failed\" ); return 1; } const char* ip = balance_srv[0].m_hostname; int port = balance_srv[0].m_port;

int listenfd = socket( PF_INET, SOCK_STREAM, 0 ); aert( listenfd >= 0 );

int ret = 0; struct sockaddr_in addre;

9 1

bzero( &addre, sizeof( addre ) ); addre.sin_family = AF_INET; inet_pton( AF_INET, ip, &addre.sin_addr ); addre.sin_port = htons( port );

ret = bind( listenfd, sizeof( addre ) ); aert( ret != -1 );

ret = listen( listenfd, 5 ); aert( ret != -1 );

//memset( cfg_host.m_hostname, \'\\0\', 1024 ); //memcpy( cfg_host.m_hostname, \"127.0.0.1\", strlen( \"127.0.0.1\" ) ); //cfg_host.m_port = 54321; //cfg_host.m_conncnt = 5; procepool* pool = procepool::create( listenfd, logical_srv.size() ); if( pool ) { pool->run( logical_srv ); delete pool; }

close( listenfd ); return 0; } #include #include #include #include #include #include

0

2( struct sockaddr* )&addre,

#include #include #include #include #include #include #include #include #include

#include #include \"log.h\" #include \"mgr.h\"

using std::pair;

int mgr::m_epollfd = -1; int mgr::conn2srv( const sockaddr_in& addre ) { int sockfd = socket( PF_INET, SOCK_STREAM, 0 ); if( sockfd

if ( connect( sockfd, (

struct

sockaddr* sizeof( addre ) ) != 0 ) { close( sockfd ); return -1; } return sockfd;

2 1 )&addre,

}

mgr::mgr( int epollfd, const host& srv ) : m_logic_srv( srv ) { m_epollfd = epollfd; int ret = 0; struct sockaddr_in addre; bzero( &addre, sizeof( addre ) ); addre.sin_family = AF_INET; inet_pton( AF_INET, srv.m_hostname, &addre.sin_addr ); addre.sin_port = htons( srv.m_port ); log( LOG_INFO, __FILE__, __LINE__, \"logcial srv host info: (%s, %d)\", srv.m_hostname, srv.m_port );

for( int i = 0; i

2 2

{ close( sockfd ); continue; } tmp->init_srv( sockfd, addre ); m_conns.insert( pair( sockfd, tmp ) ); } } }

mgr::~mgr() { }

int mgr::get_used_conn_cnt() { return m_used.size(); }

conn* mgr::pick_conn( int cltfd ) { if( m_conns.empty() ) { log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"not connections to server\" ); return NULL; }

map::iterator iter = m_conns.begin(); int srvfd = iter->first; conn* tmp = iter->second; if( !tmp )

2

3 enough srv

{ log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"empty server connection object\" ); return NULL; } m_conns.erase( iter ); m_used.insert( pair( cltfd, tmp ) ); m_used.insert( pair( srvfd, tmp ) ); add_read_fd( m_epollfd, cltfd ); add_read_fd( m_epollfd, srvfd ); log( LOG_INFO, __FILE__, __LINE__, \"bind client sock %d with server sock %d\", cltfd, srvfd ); return tmp; }

void mgr::free_conn( conn* connection ) { int cltfd = connection->m_cltfd; int srvfd = connection->m_srvfd; closefd( m_epollfd, cltfd ); closefd( m_epollfd, srvfd ); m_used.erase( cltfd ); m_used.erase( srvfd ); connection->reset(); m_freed.insert( pair( srvfd, connection ) ); }

void mgr::recycle_conns() { if( m_freed.empty() ) { return; }

4 2

for( map::iterator iter = m_freed.begin(); iter != m_freed.end(); iter++ ) { sleep( 1 ); int srvfd = iter->first; conn* tmp = iter->second; srvfd = conn2srv( tmp->m_srv_addre ); if( srvfd init_srv( srvfd, tmp->m_srv_addre ); m_conns.insert( pair( srvfd, tmp ) ); } } m_freed.clear(); }

RET_CODE mgr::proce( int fd, OP_TYPE type ) { conn* connection = m_used[ fd ]; if( !connection ) { return NOTHING; } if( connection->m_cltfd == fd ) { int srvfd = connection->m_srvfd;

5 2

switch( type ) { case READ: { RET_CODE res = connection->read_clt(); switch( res ) { case OK: { log( LOG_DEBUG, __FILE__, __LINE__, read from client: %s\", connection->m_clt_buf ); } case BUFFER_FULL: { modfd( m_epollfd, srvfd, EPOLLOUT ); break; } case IOERR: case CLOSED: { free_conn( connection ); return CLOSED; } default: break; } if( connection->m_srv_closed ) { free_conn( connection ); return CLOSED; } break;

2

6 \"content

} case WRITE: { RET_CODE res = connection->write_clt(); switch( res ) { case TRY_AGAIN: { modfd( m_epollfd, fd, EPOLLOUT ); break; } case BUFFER_EMPTY: { modfd( m_epollfd, srvfd, EPOLLIN ); modfd( m_epollfd, fd, EPOLLIN ); break; } case IOERR: case CLOSED: { free_conn( connection ); return CLOSED; } default: break; } if( connection->m_srv_closed ) { free_conn( connection ); return CLOSED; } break;

7 2

} default: { log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"other operation not support yet\" ); break; } } } else if( connection->m_srvfd == fd ) { int cltfd = connection->m_cltfd; switch( type ) { case READ: { RET_CODE res = connection->read_srv(); switch( res ) { case OK: { log( LOG_DEBUG, __FILE__, __LINE__, read from server: %s\", connection->m_srv_buf ); } case BUFFER_FULL: { modfd( m_epollfd, cltfd, EPOLLOUT ); break; } case IOERR: case CLOSED: { modfd( m_epollfd, cltfd, EPOLLOUT );

2

8 \"content

connection->m_srv_closed = true; break; } default: break; } break; } case WRITE: { RET_CODE res = connection->write_srv(); switch( res ) { case TRY_AGAIN: { modfd( m_epollfd, fd, EPOLLOUT ); break; } case BUFFER_EMPTY: { modfd( m_epollfd, cltfd, EPOLLIN ); modfd( m_epollfd, fd, EPOLLIN ); break; } case IOERR: case CLOSED: { /* if( connection->m_srv_write_idx connection->m_srvread_idx ) { free_conn( connection );

2

9 ==

} else { modfd( m_epollfd, cltfd, EPOLLOUT ); } */ modfd( m_epollfd, cltfd, EPOLLOUT ); connection->m_srv_closed = true; break; } default: break; } break; } default: { log( LOG_ERR, __FILE__, __LINE__, \"%s\", \"other operation not support yet\" ); break; } } } else { return NOTHING; } return OK; }

0 3

3.5软件的测试

3.5.1测试计划 功能部分将使用单元测试来确定其适合符合需求,性能部分将使用自动化测试来检验。主要测试为:

1 运行测试;

2 逻辑测试; 3 业务处理能力测试; 4 系统安全性测试; 5 性能测试; 6 高负荷下工作测试; 7 稳定性测试; 8 易用性测试;

3.5.2 软件测试 1.运行测试

在进行该项测试过程中,按照按照《用户操作手册》对软件进行了全面详细的操作测试,对软件所罗列出的所有功能模块进行了精细的操作,发现了一些容错和反馈信息方面的问题,以及部分功能模块无法实现或出错。 2.逻辑测试

在进行该项测试过程中,主要对软件的逻辑设计方面进行了深入评判,检查软件设计是否在某些方面有悖于正常的逻辑思维,是否在实际情况相符。发现了一些诸如单个包间可容纳客人数无限制、同一服务员可服务客人数无限制等逻辑错误。

3.业务处理能力测试

在进行该项测试过程中,主要针对系统对业务的处理能力进行测试,检查了业务处理的连贯性、全面性和正确性,并检查业务处理结果是否满足客户需求。 4.安全测试

在进行该项测试过程中,检查了系统的安全登录,查看了系统内资料的安全保密性,以及系统会不会有漏洞容易遭受外部的攻击。 5.性能测试

在进行该项测试过程中,对于系统的运行速度、加载速度、业务处理速度等进行了测试。结果发现如果数据库中有大量数据,此时进行数据库访问,性能将会下降。

6.高负荷下工作测试

1 3

在进行该项测试过程中,对于当数据库有大量数据,并长时间运行时,软件的运行速度、性能和资源使用情况进行了检查。通过性能监视器分别对服务器的内存、CPU、硬盘的I/O速度等系统资源的使用情况进行观察,发现系统的资源使用有所提高,查询性能有所降低,但不影响正常使用。 7.稳定性测试

在进行该项测试过程中,主要看软件是否会出现死机、操作系统或者网络瘫痪、程序崩溃等问题。 8.易用性测试

在进行该项测试过程中,考察了本软件的界面设计布局是否合理,外形是否美观,操作是否简单无歧义,帮助文档是否简单易懂。

4.项目开发总结报告

在对该项目进行开发的过程中,我们遇到了很多的困难。在于我们对于市场的研究和可行性考量的过程中。虽然我们明确了设计的目的,但国内以及国际市场的广阔性使我们在对客户需求的分析中走入了迷雾中,因此耽误了很多时间。但是,幸好最后我们还是完成了该项目。而从对该项目的开发中,我们也学到了以下几点。

我们要尽量的让客户也参与到项目的开发团队中来,也就是说我们要使客户把自己也纳入到项目的开发团队中来。如此一来,我们掌握客户需求的真实性、可靠性就会大大的提高,也就不会为项目的后期功能开发埋下陷阱。

在项目确立后,我们就需要做好项目开发计划,需求调研用时,开发用时,测试用时,实施用时,维护用时。在我们做好了计划后,我们要随时的跟踪计划任务的完成进度,从而使我们的项目进度掌控在我们的开发周期范围之内,今日计划、行动,明日成功。

在其他行业中,人与人的之间的沟通是很重要的。项目开发也不例外,很好的沟通能够加快项目的进度,这就要求我们每一个开发人员要学会和善于沟通于客户和同事之间。在一个项目的开发过程中,我们与客户的沟通是一个不断交流和沟通的过程。在开发到一定的阶段,我们就需要和客户沟通已有功能,尽量的去避免一些隐藏的问题,及时的发现问题,解决问题,从而按时或者提前完成项目的开发。

2 3

3 3

第12篇:软件开发实习心得

软件开发实习心得

一直以来期望从事自己喜欢的事业的我,对软件开发有者及大的兴趣,可由说种种原因使我从事工作以来走了好几年弯路,心中的梦想迟迟不能得以实现,可程序员的梦想从来没有从我的心中抹去,但这扇大门好像并没有向我敞开,今天,贵公司给了我敲开这扇大门的机会,让我真实体验了程序员的诞生过程。早就听说,程序员的前几个月是最苦的,可从来没有感受到,海马实习基地让我提前感受到了刚刚进入软件行业的压力和困惑,再也没有在自己家里随便写段小程序后的那种“自豪”感了。要面对每天必须面对的问题,再也不可能以“逃避”而了之了。也让我感觉到做为一个程序员所应该具备的基本素质在这不到一个月的实习过程中也让我深深体会到了作为一个合格的程序员应该具备的基本素质。

团队精神和协作能力是程序员应该具备的基本素质,最近的工作中让我深深休会到了这一点,由于小组成员配合不好,使本来很方便的cvs给自己的工作带来的及大的麻烦,一不小心自己写的的东西就会被小组别的成员在上传文件的时候给覆盖掉,一整天的工作可能就这样被反工,我们小组这次就是因为协作不好,导致各模块之间不法连接,给工作带来了及大的麻烦,消耗了大量的劳动力还没有提高工作效率。这使我深深的体会到:一个成功商业性软件的开发必须有一个有强大凝聚力的团队,个人的力量是有限的,团队精神和良好的协作会使我们做出优秀的软件。

良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。这次的这个小小的项目,就因为文档上的一点点理解错误让我们花了很大的工夫去改代码,改页面。很庆幸的是,这是一个小项目,要是大项目,这种问题可能就会导致大量的代码修改,可见文档在一个项目中起者巨大的做用。

此外,良好的代码编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。作为一个程序员,对需求的理解能力也是很重要的,只有真正理解了一个模块的作用,才会写出高效率的代码,才能使整个软件项目作出来更加优秀,具备更好的安全性和稳定性,我在写代码的过程中就遇到了需求理解上的问题,使得写出来的代码功能不全,幸好不是给客户发现在,要不,这个软件的商业价值可能就会打折扣了。单元测试对于一个程序员来说是不可不做的一项工作,不做好测试就会给后期的集成工作带来麻烦,往往为了一个小问题会让我们查找好多模块,给后期工作带来很大麻烦。

这一段时间的工作也让我明白了一点:一个优秀的程序员必须不断的学习,随时总结,找到自己的不足,这样逐步提高,才能让自己很快的成长起来。建站侠客 发表于 2008-4-28 10:19

对软件开发的一点心得体会

一、前期规划:

我理解的前期规划是:在市场人员们汇总一个需求提交给产品专家带领的产品经理团队,然后经过这个团队根据公司具体情况再次分析和规划出一个最终需求文档。

这个需求文档应当首先提交给技术研发部门的负责人以及核心开发人员。由开发团队对其进行技术和风险分析。如果对此需求统一有异议的地方,需要返回给产品团队,重新修正需求。反复如此,直至需求完善准确,细致,清晰。

前期规划就像高楼的地基,如果马马虎虎,就算是一块砖块没摆好都可能导致整个高楼建设的失败。在规划中我认为,交流永远是需要双方积极主动,能认真听取每个人的建议。前期工作思维不慎重,不细致,不认真,不够完善,将产生连锁效应直接导致整个工程和项目的失败。

这种失败可能表现为:第一种,软件按需求实现但是功能根本不能满足用户需要。第二种,功能都有了,软件没有达到可用性、易用性。

对于第一种,当然是因为前期规划疏漏了某些细小功能,没能把需求文档做完善。应该是规划工作做的还不够认真和细致。

对于第二种情况,我认为更多是在产品设计规划方面经验还不够成熟。这种问题应该是很难避免的。因为每种新产品对产品团队来说都很陌生。即使以前做过类似的东西,也难免面面俱到。这只能通过不断努力和认真的态度来弥补。

前期规划的交流涉及了市场、产品和技术研发等多个团队之间。需要的不仅是团队内部的交流,更多需要协调好团队之间的交流。可能有时候需要公司高层和中层参与协调。

目前,很多开发人员深感项目的需求文档写的都很单薄。大家可以想一想,如果没有好的开始,怎么会有好的结束呢?需求文档单薄,不够细致,由谁来继续完善呢?难道让程序员们自己去完善。我想程序员也可能没有这种能力。对于程序员能把代码写的很健壮很稳定就已经是很不容易的事情了。

二、概要设计:

我理解的概要设计步骤:(以项目为中心的开发流程)

1〉项目经理仔细阅读项目需求文档。

2〉项目经理召集项目开发成员,开项目启动会议。具体商议项目的开发任务和责任分配。

3〉核心开发人员开发确定,以及各模块开发人员确定。

4〉由系统分析员和核心开发人员仔细阅读需求文档,对系统整个架构分析和做技术规划。

5〉系统分析员整理和书写最终的系统架构和概要设计文档。

6〉系统分析员在文档提交日,提交给项目经理。项目经理确认文档并审批。

7〉项目经理召集项目开发成员,开一个概要设计以及系统架构确定的会议。向每个成员分发文档,并讨论确定最终概要设计文档。

8〉开始详细设计文档的工作

三、详细设计:

1〉项目经理组织成立各个模块的开发小组,并确定开发小组组长(程序经理)。

2〉各开发组长书写各自模块的详细设计文档,开发成员需要协助,配合。

3〉在指定提交日,开发组长提交文档给系统分析员。由系统分析员审批。

4〉系统分析员组织召开一个详细设计文档确认的会议。

5〉然后开发组长分发各自模块的详细设计文档给程序员,程序员在指定时间内完成。

6〉程序员做内部测试。开发组长协调并配合。

7〉确认无bug提交给开发组组长。

8〉所有模块整合工作,由整个开发组成员参与完成。由所有开发组长和系统分析员负责主要部分工作。程序员协助和配合。

9〉对整合后工程做详细测试。

10〉确认测试通过后,开发组长根据开发成员表现以及提交成果填写绩效考核表。然后提交给项目经理。

11〉项目经理会召开项目总结会,同时向优秀成员颁奖。同时鼓励所有成员继续努力。对不能按时完成导致项目能按时提交,以及对导致失败的

关键人员给与惩罚处理。

当然,以上只是一个简单的开发流程,一定是有很多不足的地方。希望能起到抛砖引玉的作用。大家都明白,流程和制度是死的,但人是活的,所以如何按流程做得好,关键还是在人本身了。没有一个流程和制度,一个团队也必将是一盘散沙。正所谓“无规矩无以成方圆”。这句话说得很有道理。

四、具体编码:

开发几个项目之后,对编写程序有了更进一步的了解。

好的程序应该具有: 易读性,易扩展性,容错性。

易读性: 所有变量和函数以及类名用简单易懂易记忆的命名方式。所有类和函数甚至变量都有关键的注释说明。这点很重要,也是最基础的。如果代码书写不够美观和易懂,我想自己以后也不想再看。就更别谈功能的扩展和新版本开发了。

易扩展性: 整体系统架构逻辑简单清晰。模块与模块之间尽量做到互不影响,也就是尽可能的独立。这部分工作主要体现在前期设计工作中,需要掌握好的设计经验和方法才能够做得比较好。

容错性: 对数据流和指针以及数组都做数据有效性检查;对第三方接口的调用失败的容错性。对所有代码都做调用失败后的错误处理。以及在大的工程中加入trace文件输出,把关键的数据流和关键处理部分的操作信息输出。以便对工程异常情况产生条件的定位,及时解决问题。

我觉得程序员能在这三方面做得很好就算一个优秀的programmer了。

五、调试、跟踪与测试:

1 测试需要注意的:

对每个模块的接口做测试,数据边界的检查。在对整个模块做测试。

主要测试稳定性,效率以及功能是否正常。

确认单个模块完全正常后,再加入工程。

在系统架构设计的时候,可能会引入原型参考。要对原型做完成测试后,确认没有问题后,才可使用。

2 可以采用VC自带Trace或者将信息输出为文本文件的方式跟踪程序并输出关键信息,以便定位程序异常的原因。

3 对于通信模块的测试,特别注意服务端和客户端的数据流。可以针对性的写一个客户端或服务端的测试程序,检验通讯过程是否正常。

4 在用VC做开发中,一定先要让Debug版本正常运行,保证没有任何异常,内存泄漏和Aert等调试警告信息。如果用到其他Lib,一定要保证Lib本身不存在问题。

这里只是提到一些自己容易忽略的东西,希望能对大家有所帮助,欢迎指正!谢谢。

第13篇:软件开发实习心得体会

软件开发实习心得体会

软件开发实习心得体会该如何写?下面为大家搜集软件开发实习心得体会,欢迎阅读!

软件开发实习心得体会(1)

我们是20xx年3月7号进入宏天实习公司参加软件开发实习的,在此次实习中,除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完成一个任务,懂得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获取成功,一种自信心就由然而生,这应该就是工作的乐趣。有时候不懂的就需要问别人了,虚心请教,从别人的身上真的能学到自己没有的东西,每一次的挫折都会使我更接近

成功。还有学会了在工作中与人的合作与交流,同乐同累,合作互助,这是团体的精神,也是必须学习的东西。

经过之前的在校学习,对程序设计有了一定的认识与理解。在校期间,一直都是学习理论知识,没有机会去参与项目的开发。所以说实话,在实习之前,软件项目开发对我来说是比较抽象的,一个完整的项目要怎么分工以及完成该项目所要的步骤也不是很明确。而经过这次实习,让我明白了一个完整项目的开发,必须由团队来分工合作,并在每个阶段中进行必要的总结与论证。

一个完整项目的开发它所要经历的阶段包括:远景范围规划和用例说明、项目结构和风险评估、业务功能说明书、详细设计说明书、代码实现、测试和安装包等等。一个项目的开发所需要的财力、人力都是很多的,如果没有一个好的远景规划,对以后的开发进度会有很大的影响,甚至会出现在预定时间内不能完成项目或者完成的项目跟原来预想

的不一样。一份好的项目结构、业务功能和详细设计说明书对一个项目的开发有明确的指引作用,它可以使开发人员对这个项目所要实现的功能在总体上有比较明确的认识,还能减少在开发过程中出现不必要的麻烦。代码的实现是一个项目开发成功与否的关键,也就是说,前期作业都是为代码的实现所做的准备。

我深刻的认识到要成为一名优秀的软件开发人员不是一件容易的事情,不仅要有足够的干劲和热情,还要有扎实的编写代码基础,必须要有事先对文档进行可靠性报告,功能说明书,详细设计说明书等的编写和一些风险评估的编写的能力。

除了图书馆,最能让我感觉到身在大学的就是实习机房,在匆匆过去的两个月内,我往返于实习机房与宿舍之间,使我享受了一个充实的学习时期,让我感受到了大学的魅力,对自己充满信心,对大学充满信心,以积极的心态迎接明

天挑战。

实习中要求有扎实的理论基本知识,操作起来才顺心应手,我这时才明白什么是书到用时方恨少。这就激发了学习的欲望。

学以致用,就是要把学来的知识能运用到实际操作当中,用实践来检验知识的正确性。我想,这是实习的最根本目的。

纸上得来终觉浅,绝知此事要躬行!,在短暂的实习过程中,让我深深感受到自己在实际运用中专业知识的匮乏。以前总以为自己学的还不错,一旦应用到实际就大不一样了,这时才真正领悟学无止境的含义。

经过为期两个月的电子政务服务平台系统开发的实习,我对Visual 软件开发平台有了更深一步的了解,对微软基础类库的认识与使用也有了大大的提高。以及如何使用SQL Server数据库进行连接操作方面有了本质的提高。

短短的实习结束了,为我将来的就

业打下了良好的基础,也提高了我的软件开发的水平,今后我将会更加努力的学习,不断提高自身素质,开拓创新,与时俱进,做一个优秀的软件开发工程师。

软件开发实习心得体会(2)

时间过的好快啊,为期三个礼拜的实习生活即将结束了,短短的三个礼拜让我们收获很大,专业知识、编程水平都有很大的提高。刚开始三天的高强度的课程安排让我们受益匪浅;接下来的上机实习又让我们可以巩固了课程。这让我觉得实习生活充实而有意义。辅导老师配好了环境之后,我们开始了项目的制作,这次项目实习算是自己小学期间主要完成的项目。最后,自己的努力还是有收获的,看着电脑上记录得满满的代码,看着自己的项目最终能够运行成功,就觉得很有成就感。

在本次的实习中,除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完成一个任务,懂

得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获取成功,一种自信心由然而生,这就是工作的乐趣。有时候也需要虚心请教,从别人的身上真得能学习到不自己没有的东西,每一次的挫折只能使我更接近成功。除此以外,我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。这次所学知识与实际的应用,理论与实际的相结合,让我大开眼界。也是对以前所学知识的一个初审吧!这次实习对于我以后学习、找工作也真是受益菲浅,在短短的一个星期中让我初步从理性回到感性的重新认识,也让我初步的认识这个社会,对于以后做人所应把握的方向也有所启发!相信这些宝贵的经验会成为我今后成功的重要的基石。

在此,我非常感谢学院领导和指导老师对这次实习的大力支持。

软件开发实习心得体会(3)

这次实习使我们明白我们所欠缺

的不仅仅是技术知识,更重要的是有一种处理事情的方法、面对问题的心态和动手能力。面对完全陌生的新知识、新技术、新项目以及整个IT行业,我们不能畏惧,要以一种积极的心态去面对,分析并抓住关键所在。因为我们所即将应对的每一个项目都是既需要实际操作,又需要详细规划的。作为组长,协调组员、激励其他学员和积极参与项目研发是我每天必做的工作。我认为每个人都应该在团队中做好自己应尽的职责,再优秀的个人也可能完成一个即庞大又复杂的项目工作,我们必需紧密的联合在一起,以一个团队的角色来面对。

一公司有一项对项目经理的调查显示,项目经理平均每周参加6个会议,其中25%的时间浪费在无用的讨论上。会议效率低最普遍的3个原因是:会议没有很好的计划、会议没有被适当的领导、无纪律的与会者。我们软件项目也会遇到相同的问题,项目启动会、评估会、大大小小的评审会、技术会、周例

会等等一系列会议会随着项目进展而召开,如何保证高效的会议效果,我的一些会议技巧与大家共享:确实需要开会时才开会;订立会议纪律;非常清楚的明确会议目标;提前准备一个会议议程;提倡各会议参与人的会前准备;鼓励参与,但在会议过程中遵守会议议程;把团队建设融入会议、作会议记录、会后跟踪所有安排任务的执行情况。

程序员需要关心尊重。曾经有个例子,某公司开发人员王某由于刚开始学习编程,技术水平差一点,常常受到经理的另眼相看,每次软件出现了问题都怀疑是他的原因,老开他的低级玩笑,这位员工会有怎样的表现就可想而知了。经理通过这种手段能够迫使这一位自动辞职吗?非也,这位员工后来工作非常不负责任,把代码写得既长又重复,且在代码中留下大量的隐患,此时,经理却反而不敢过份得罪他了(否则,留下的巨量代码很难维护)。如果认为某人不适合目前工作,为何不另请高明?既然已

经请他作了这件工作,就得尊重他。

不能指望开发人员在非工作场合谈吐得体、办事周到、眼观六路、耳听八方,正所谓尺有所短,寸有所长,例如要求技术人员在酒席宴上象公关小姐或公关先生一样举止适度,从来不会有好的效果。软件人员普遍喜欢自由而宽松的工作环境,最好不要做过多的无谓的规定,例如不准迟到、上班必须换拖鞋,否则罚款等等。如果确实有人经常上班迟到,工作不认真等,首先应该了解原因,此时多作思想工作是必要的,许多公司的经理们认为思想工作是过时的东西了,其实不然,私企职工背负的心理压力其实很重。他们特别需要有人关心,特别需要心理上的减负?

软件项目管理,需要我们不但关注项目管理技术等在软件行业中的应用,还应该关注如何与软件新思想和技术的整合,例如XP等思想,使我们得到更高效益的产出。欲想琢其玉,必先利其器,项目管理和我们软件开发、质量管理等

得一系列工具和模版,是我们事半功倍的利器。他山之石可以攻玉,关注一些管理界的发展,例如目前的中国式管理等,将其经验用于软件项目管理实践并总结,将为我们带来更大实效。

第14篇:软件开发实习心得

软件开发实习心得

参加软件开发实习的同学,你们从中收获了哪些实习心得?不妨分享一下吧!以下是软件开发实习心得,欢迎阅览!

软件开发实习心得1

不知不觉,在XX实习的日子快过去半个月了,记得刚来XX的头几天,感觉非常不适应。首先是环境:这里吃的东西很贵,而且这里的物价很高。其次是XX人:XX人办事的效率很高,这就是铁人的精神吧。

对于以上种种,待了3,4天基本就适应了,难怪一些长辈老是说:习惯了,就好了。

来的第一天,我们听了付X萍老师讲了一节课,可以说完全不知所云,

但还是可以听到一些东西的,譬如:工作环境的适应,人与人之间的交际,处理各种事情的能力,其中最重要的就是养成良好的工作习惯。有良好的工作习惯,才会被上司,老板和同事认可,将来也会比同辈有着更快更多的升职机会,而且一个良好的工作习惯,无论你从事哪个行业,都是受用终生的。然后,就是认识我们的董亮老师了,一个可亲可爱的老师,传说中他们一个月会赚十几万呢!天文数字,望尘莫及啊。

在随后的一段时间里,我们被分为了八组,每组六七个人,有一个组长带领。我们组织作一个项目论坛,在第二,第三个礼拜感觉没有刚来时那么拘谨了,我更明显感觉到自我计划,制定目标的重要性了。在我们犯错误的时候,老师会惩罚我们,陈发的方式很另类唱歌或者讲笑话,不算是体罚大事可以达到对我们的约束。然而,歇息期间有组织我们做游戏,看似很简单的游戏其实是想培养我们合作意识。

在实习的过程中,我深刻的体会到了三点:第一,项目是以迎合客户和使用者为目的的,不可能像教师那样为我们制定一套教学计划。想要知道些什么,渴望懂得些什么,全要靠你自己想学,你自己不问,没人会主动来告诉你。第二, 纸上得来终觉浅,绝知此事要躬行!在短暂的实习过程中,让我深深的感觉到自己在实际运用中的专业知识的匮乏,在行业中的经验真的很重要。

第三,能更早的接触你所在行业的真实情况。不出来自己转一圈,根本不知道自己学的一些专业知识,哪些是十分重要,十分实用的。就比如说英语。以前听老师说过,听朋友也说过,将来工作了,英语相当有用,外企就更不用说了。当时没什么感觉,但当我频繁的看到一打打英文资料手册、帮助文档时,我已经切身地,的的确确地感受到英语的重要性。

这次实训让我学到的东西太多,使我受益非浅,它让我知道了工作上的辛

苦,让我知道工作并不像在学校里学习一样轻松。不过,虽然辛苦了点,但能让我学到不同的东西、很充实,我心里还是高兴的。人非生而知之,要学得知识,一靠学习,二靠实践。没有实践,学习就是无源之水,无本之木。以上就是我在成都的进行实训的心得和感受。 不到半年的时间就将步入社会的我们,面临是继续深造,还是就业的压力,我想我们更应该把握住最后的一段时间,充实、完善自我,争取做一名出色的大学生!对于这次实习,我很珍惜也很怀念。

软件开发实习心得2

本人自XX年9月份参加工作至今, 六个月的实习时间已经结束。在这段时间里, 在领导和同事们的悉心关怀和指导下, 通过自己的不懈努力, 在各方面都取得了进步。

实践让我的技能不断增长, 工作能力不断加强。刚开始工作的时候, 发现自己以前在学校学习的知识很死, 知识

面很窄, 以前做的练习项目的实用性也不是很好。在开始的几周公司给我们实习员工培训了xxxx平台的使用, 通过这次培训使我认识到xxxx平台的优势, 可以大大提高软件开发效率

随后我就加入到xxxxx税源控管系统项目的开发中, 成为开发小组中的一员。在项目开发过程中一边是同事们的悉心指导, 一边是自己反复琢磨与理解, 几个月下来大大提高了自己业务和技术两方面的技能, 已经能够比较熟练的掌握基本的工作方法和一些技巧, 而且能够独立完成一些模块的开发。

通过实践, 我解决实际问题的能力得到了很好的锻炼。工作中也遇到了很多的以前没有遇到过的新技术, 面对技术难题我总是直接面对, 没有逃避, 也因此自学了好多新的技术, 大大提高了自己的自学能力, 也加深了对自己工作要负责的信念。在项目开发过程中也遇到了一些自己确实无法解决的困难, 在经理和同事的帮助下也顺利的解决了,

在此表示感谢。

在开发团队中, 加强了自己的团结精神和集体感, 对工作认真负责, 对团队认真负责。通过这个项目不仅学习到了很多技术也了解了整个项目的大体流程, 从需求分析、数据库设计、详细设计、代码编写、测试、项目维护等方面, 使自己不仅从一个代码编写人员的角度还从一个整体的角度来看整个项目开发, 加深了软件开发概念的理解。

不断学习使我对工作有了更进一步的认识和了解。不懂就学、就问, 是一切进步取得的前提和基础。因为有大学专业课的底子和参加过专门的java培训使我在工作过程中遇到的技术知识能更快的理解和掌握。工作中时常遇到新的问题, 就需要查阅相关资料, 请教同事和经理, 一个问题一个问题的解决, 一个困难一个困难的克服, 不仅将原有知识温习巩固, 产生新的理解, 而且学到很多新知识, 有了许多新的认识。但某些认识都还是肤浅的, 还需要我在实践当

中去不断深入地理解。

现场开发与维护使我不仅从一个开发人员的角度而且从客户的角度去思考问题。在项目的开发后期, 也就是项目即将上线的阶段我与其他几位同事被派往现场去开发与维护项目。以前的开发都是根据需求分析来进行, 功能要求一般在分析里面都写的很清楚, 但是在现场开发直接面对客户, 客户提出的需求一开始只是一个大体的功能描述, 如何将这个只是语言描述的功能转化为技术实现需要很强的抽象能力和对业务的深入理解, 这个过程大大锻炼了自己的综合能力。在第一时间接触客户的需求, 从客户的角度思考问题, 只有更了解客户需求才能更合理的设计软件的结构, 功能。

软件开发实习心得3

短短两周的很快就过去了,在xx的实习马上就要过去了。虽然只有短短的两周,但我学会了很多知识,熟悉了软件开发的流程,也很好的增强了自己

的动手能力。

我是一名即将大四的学生,纵观现在的就业形势,国家高校的扩招,世界金融危机的横扫,大学生应该有一种居安思危的紧迫感,特别是对已经度过两年大学的我来说,毕业并不是一个遥远的词汇。宝剑锋从磨砺出,梅花香自苦寒来,缺少了平时的锻炼,没有厚积当然不能有薄发。首先我得有思想上的紧迫感,在学校学习的都是理论知识,实践经验则是少之又少。综合能力强的人才才是这个社会需要的,成长成为社会需要的人才是我的个人奋斗目标。有了强大的精神动力,有了坚如磐石的毅力,相信成功并不遥远。

首先,我的自我能力得到了加强。在实习的前几天主要进行的是与JAVA有关知识的学习及预备知识的普及。在这之前由于种种原因我没有学习过JAVA,所以对于J我几乎一无所知。但我曾经学习过C++,所以对语言的理解和接受能力还不算太慢,尽管老师讲解

速度较快但我还是尽量跟上老师的速度。在这个过程中我学会一种自学方法可以在第一遍时不求甚解,先了解知识框架,之后再在使用的过程中不断加强对知识的理解,从而较快的学会知识并应用于实践。

其次我的实际的操作能力得到了加强。知识讲解告一段落后我们就进入了紧张而又短暂的项目中。但不得不说刚开始就碰了一鼻子灰代码书写总是出错。由于对原理理解不够透彻,语言使用缺乏足够经验所以进度极慢。在经过多次的讨论后我们对项目理解逐渐深入,所以在此投入的过程就比较顺利了。在这个过程中我明白了实践和理论的差距及二者不可分割的关系。

最后是团队协作能力的提高。在整个过程中团队协作发挥着不可替代的作用。从在刚拿到项目时对项目进行分析,然后进行分工,之后就开始工作,既各干各的又不失默契的合作。在这个过程中我们谁遇到问题会互相帮助解决提高

了工作效率。由于各种原因,我们这组也存在些问题(自己编)。

这次实习拉近了我就和社会的距离,也让自己在实践中开拓了视野,增长了才干。社会和大学一样也是受教育和学习的地方,在(写实习地)的实习我收获颇丰,再次感谢实习期间各位老师的指导教诲,你们给我的知识财富将让我受益终生。但是我知道学无止境,仅仅这段时间的学习还是不够的,在以后的生活中我会继续努力学习,培养自己能力,进一步完善自己。

第15篇:软件开发实习小结

不知不觉,在XX实习的日子快过去半个月了,记得刚来XX的头几天,感觉非常不适应。首先是环境:这里吃的东西很贵,而且这里的物价很高。其次是XX人:XX人办事的效率很高,这就是铁人的精神吧。

对于以上种种,待了3,4天基本就适应了,难怪一些长辈老是说:习惯了,就好了。

来的第一天,我们听了付X萍老师讲了一节课,可以说完全不知所云,但还是可以听到一些东西的,譬如:工作环境的适应,人与人之间的交际,处理各种事情的能力,其中最重要的就是养成良好的工作习惯。有良好的工作习惯,才会被上司,老板和同事认可,将来也会比同辈有着更快更多的升职机会,而且一个良好的工作习惯,无论你从事哪个行业,都是受用终生的。然后,就是认识我们的董亮老师了,一个可亲可爱的老师,传说中他们一个月会赚十几万呢!天文数字,望尘莫及啊。

在随后的一段时间里,我们被分为了八组,每组六七个人,有一个组长带领。我们组织作一个项目——论坛,在第二,第三个礼拜感觉没有刚来时那么拘谨了,我更明显感觉到自我计划,制定目标的重要性了。在我们犯错误的时候,老师会惩罚我们,陈发的方式很另类——唱歌或者讲笑话,不算是体罚大事可以达到对我们的约束。然而,歇息期间有组织我们做游戏,看似很简单的游戏其实是想培养我们合作意识。

在实习的过程中,我深刻的体会到了三点:第一,项目是以迎合客户和使用者为目的的,不可能像教师那样为我们制定一套教学计划。想要知道些什么,渴望懂得些什么,全要靠你自己想学,你自己不问,没人会主动来告诉你。第二, 纸上得来终觉浅,绝知此事要躬行!在短暂的实习过程中,让我深深的感觉到自己在实际运用中的专业知识的匮乏,在行业中的经验真的很重要。

第三,能更早的接触你所在行业的真实情况。不出来自己转一圈,根本不知道自己学的一些专业知识,哪些是十分重要,十分实用的。就比如说英语。以前听老师说过,听朋友也说过,将来工作了,英语相当有用,外企就更不用说了。当时没什么感觉,但当我频繁的看到一打打英文资料手册、帮助文档时,我已经切身地,的的确确地感受到英语的重要性。

这次实训让我学到的东西太多,使我受益非浅,它让我知道了工作上的辛苦,让我知道工作并不像在学校里学习一样轻松。不过,虽然辛苦了点,但能让我学到不同的东西、很充实,我心里还是高兴的。人非生而知之,要学得知识,一靠学习,二靠实践。没有实践,学习就是无源之水,无本之木。以上就是我在成都的进行实训的心得和感受。 不到半年的时间就将步入社会的我们,面临是继续深造,还是就业的压力,我想我们更应该把握住最后的一段时间,充实、完善自我,争取做一名出色的大学生!对于这次实习,我很珍惜也很怀念。

-------------------

本人自XX年9月份参加工作至今, 六个月的实习时间已经结束。在这段时间里, 在领导和同事们的悉心关怀和指导下, 通过自己的不懈努力, 在各方面都取得了进步。

实践让我的技能不断增长, 工作能力不断加强。刚开始工作的时候, 发现自己以前在学校学习的知识很死, 知识面很窄, 以前做的练习项目的实用性也不是很好。在开始的几周公司给我们实习员工培训了xxxx平台的使用, 通过这次培训使我认识到xxxx平台的优势, 可以大大提高软件开发效率。阅读/zl/转载请保留

随后我就加入到xxxxx税源控管系统项目的开发中, 成为开发小组中的一员。在项目开发过程中一边是同事们的悉心指导, 一边是自己反复琢磨与理解, 几个月下来大大提高了自己业务和技术两方面的技能, 已经能够比较熟练的掌握基本的工作方法和一些技巧, 而且能够独立完成一些模块的开发。

通过实践, 我解决实际问题的能力得到了很好的锻炼。工作中也遇到了很多的以前没有遇到过的新技术, 面对技术难题我总是直接面对, 没有逃避, 也因此自学了好多新的技术, 大大提高了自己的自学能力, 也加深了对自己工作要负责的信念。在项目开发过程中也遇到了一些自己确实无法解决的困难, 在经理和同事的帮助下也顺利的解决了, 在此表示感谢。

在开发团队中, 加强了自己的团结精神和集体感, 对工作认真负责, 对团队认真负责。通过这个项目不仅学习到了很多技术也了解了整个项目的大体流程, 从需求分析、数据库设计、详细设计、代码编写、测试、项目维护等方面, 使自己不仅从一个代码编写人员的角度还从一个整体的角度来看整个项目开发, 加深了软件开发概念的理解。

不断学习使我对工作有了更进一步的认识和了解。不懂就学、就问, 是一切进步取得的前提和基础。因为有大学专业课的底子和参加过专门的java培训使我在工作过程中遇到的技术知识能更快的理解和掌握。工作中时常遇到新的问题, 就需要查阅相关资料, 请教同事和经理, 一个问题一个问题的解决, 一个困难一个困难的克服, 不仅将原有知识温习巩固, 产生新的理解, 而且学到很多新知识, 有了许多新的认识。但某些认识都还是肤浅的, 还需要我在实践当中去不断深入地理解。

现场开发与维护使我不仅从一个开发人员的角度而且从客户的角度去思考问题。在项目的开发后期, 也就是项目即将上线的阶段我与其他几位同事被派往现场去开发与维护项目。以前的开发都是根据需求分析来进行, 功能要求一般在分析里面都写的很清楚, 但是在现场开发直接面对客户, 客户提出的需求一开始只是一个大体的功能描述, 如何将这个只是语言描述的功能转化为技术实现需要很强的抽象能力和对业务的深入理解, 这个过程大大锻炼了自己的综合能力。在第一时间接触客户的需求, 从客户的角度思考问题, 只有更了解客户需求才能更合理的设计软件的结构, 功能。

第16篇:软件开发实习日记

Daily work 1

第一次是来面试,当时感觉不怎么好,面试的人问了一些问题有些没回答上来,这并不奇怪,C#自己学习了2个月,然后就没怎么用,回答不上我觉得可以理解。没想到还能第二次来到公司,由于对环境还比较陌生,所以今天大概熟悉了一点,成都这边有50多个员工,属于研发中心,主要从事无线微波得较大型的设备的再加工,听同事说以前在北京,但由于北京人力资源太贵所以来到成都,这听起来怎么像是在压榨的感觉啊,没关系,只是来实习而已。

对于今天的第一个小任务,要求:界面、数据压入堆栈、简单冒泡排序实现数据有序输出、堆排序输出。让我快速地熟悉了C#,从界面到后台都得到了加强,此外在实现过程中对用到的冒泡排序和堆排序有了更深的理解,并能用C#熟练的实现。

Daily work 2

今天对昨天的实例进行了改进和提高,将堆排序和冒泡排序封装在一个动态链接库中,提供函数调用和事件委托。此外加入XML进行配置,在XML中存入相关配置信息,提供一个单独的XmlCla对其进行操作,加深了对xml的理解。为增加程序的性能,采用简单工厂模式对其客户端和算法操作进行分离,有很好的可扩展性,对于C#的动态链接库和XML配置不怎么熟悉,花了很长一段时间看书和网上查资料,才开始动手写代码,不过感觉还是很快,因为自己有编程的能力,可以说掌握了一种快速编程的方法,所以就能驾轻就熟。

Dailywork 3

今天采用抽象工厂模式对实例进行改进,以达到动态加载算法实例,抽象工厂模式属于设计模式中的内容,自己在学习视频的时候注意到了,所以之前就买了本大话设计模式来学习,可以说了解了大部分设计模式。今天遇到后自己心里也有底,温故一下书就知道怎么做 了,可以说这是我学习的方法。

针对以上,在dll中提供一个接口,两个算法都继承了该接口,对于该dll的操作都通过接口ISort进行,此外,修改工厂为抽象工厂,提供一个接口创建算法,在算法中返回ISort实例,在主函数中使用该实例进行对应的排序算法操作,充分显示了抽象工厂的作用,本例子将反射和抽象工厂模式结合,增加了程序的可扩展性和可维护性。

Dailywork4

由于自己编程能力还算可以吧,所以软件组的老大就叫我加入开始做一些这次项目的东西,说了一句“我可是没把你当实习生哦。”,这话一听当时感觉还好,不过后来一想,我却是吃亏了,他不把我当实习生但给我的却是实习生工资,这点有点想不过去,不过没关系,实习嘛就是学习,有基本工资也不错了,关键的公司提供的条件那是在学校里所得不到的:商业性的问题。

今天将上述实例的方法用到本次项目中,开始项目中的一些任务。仍然使用抽象工厂模式,将自定义窗体封装到类库中,将窗体的控件预留到外部进行实施定义;在XML文件中配置窗体的实际参数,利用反射按从XML中读出的参数动态加载窗体。将上述的实例方法运用到了实际项目中。

Dailywork5

昨天的任务基本已完成,今天温习了一下加深了对知识的理解,可以说掌握得比较牢固了,今天又有新的任务,可以说每天都在进步。

按组长要求编写RankStyle=Group时的窗体排列方式,在XML中配置控件或窗体的参数,利用XML读接口从XML中读出参数,为了使程序具有灵活性,在组长的提示下将窗体的配置按照窗体的Name属性进行配置,之前是利用字段的方式写在XML中,但是组长说这样的话在程序中查找不方便,可我觉得没什么啊,当然了,对于我这个没有工作经验的人来说看什么都是可以的,所以要多学习学习。在FormControl中利用双层循环将控件容器中的控件按Name与读出的配置进行匹配,如果在XML中配置了该窗体,就设置该窗体的一些属性。个人感觉实现了该功能吧,最后经过组长看了一下审核基本通过。

要求:

根据Group,从XML中读取控件配置信息,动态设置控件在主窗体中的显示。

Dailywork6

每天都有不同的要求,哎,果然和学校是不一样啊,今天将DLL中的控件更换成窗体,方法仍然采用反射+抽象工厂模式。

虽然自己有一定编程经验,但是遇到问题是不可避免的,今天在编写过程中遇到了一个问题,就是当窗体接口和窗体类库放在一起的时候,在工厂中创建的实例无法装换成接口类型,经过多次测试和上网查阅相关资料,发现控件类实现接口,不能将接口放在同一个类库中,针对以上问题在网上查阅相关资料,结果还是没有相同的主题,没办法,只有硬着头皮在网上找,没有主题就找有没有相关的例子,结果还是没有,差点就无语了,突然看到有类似方法的一个例子,真是柳暗花明又一村啊,仔细看了看,发现他和我的结构有些差异,所以调了一下结构,一编译果然痛过了,就是将两个类库分离,再在接口中加入工厂便可创建实例并转换成接口。在主窗体中只需要引用该接口类库便可达到要求,使程序耦合性降低了。

Dailywork7

由于黎甫对DLL的要求发生变化,今天就不断修正DLL程序,并验收,再结合Group的窗口排列方式对DLL中的窗体进行测试。我现在才明白,编写代码是一件很容易的事,但是编写好的代码却是很难的事情,好的代码要有可维护性、可扩展性,这样在修改的话就很简单,可不能像我昨天写得代码,根本谈不上艺术,所以一旦面对客户的要求,改动就很困难,这一点值得我继续学习。

至于可扩展性也是对维护的扩充,因为顾客的要求有可能随时都在改变,我们也得适应客户的要求,如果软件有了可扩展性,那么它的改动就比较小,就能适应顾客的要求。所有上面说的这些都是自己要学习的地方,这样在以后的商业开发中才能游刃有余,应对自如。

Dailywork8

回顾前几天所做的练习,对遇到的问题进行解决,在网上查阅相关资料独立解决,并对之前的一些项目练习做好备份。将这几天练习中所用的编程方法都串联了一遍,形成了固定的模式,以便在今后可以快速的使用。

Dailywork9

今天算是正式开始做公司的项目,上午黎甫和秦阳在会议室给我讲解了项目的一些功能并进行讨论,大致理解了项目后,分配了自己的一部分任务,整理过后在多次与秦阳的沟通请教下明白了自己的任务,下午秦阳建好VSS,我拷贝项目进行框架整合和测试。

在编写代码的过程中也涉及了一些问题,通过看MSDN和上论坛,基本得到解决,同时也了解了一些C#其它的相关知识。

Dailywork10

今天继续昨天的任务,做一个小测试,将现今做的项目所有代码进行整合测试,测试要求是在数据库中配置菜单项,动态添加几项菜单项,在不同点击下动态从DLL中加载窗体读取配置文件进行排列,顺利完成。

要求:

抽象接口,并继承;XML中命名空间和类名不要设置成结点,设置成属性。

封装算法到DLL;在FirstWork中使用XML配置;建立一个XMLcla进行操作;建立一个中间工厂类用反射在类库中查找响应算法;事件和委托。接口.

XML中结点:

程序集名称;命名空间.类名;接口名称;加载的时候转化为接口;

XML中增加一个结点用来存储客户端关于算法的选择,按选择动态改变其值,然后算法中读取该值进行排序选择。

为解决的问题:在一个工具条上配置多个工具,并添加事件,好像数据库不能实现。OK了!

Dailywork 11

同步多线程方式实现Tcp/Ip发送。

Dailywork 12

多线程要解除委托,避免出现异常;设置心跳包,检查客户端是否断开连接;UDP服务器与客户端握手,以及连接,数据报

Dailywork13

Dailywork14

Windows服务项目了解

Dailywork1

5解决Udp局域网内广播方式通信。

Dailywork16

数据库导出到XML,填充已设置菜单及工具栏结构,返回上层,在工厂中添加XML配置文件,选择是从数据库还是XML中读取。

1、首先把数据库转化为XML

2、研究如何和调用数据库的接口结合

3、设计XML操作工程

4、工厂更改与设计

ReadMenuInfo.cs中public MenuItemInfoNode[] ReadInfo( string Site)定义为接口中的函数

可能的Xpath: /Root/Item[@WndId=‘ ’ or tb_MenuID=‘ ’]

选取所有bookstore元素中price元素的值小于9或大于10的book元素.

Dailywork17

完成菜单和工具条从数据库转化为XML中导出。

Dailywork18

整理优化从XML中导出的过程,此外还;阅读其他英文原版资料书。

Dailywork19

要求:

封装窗体到DLL;

导出事件;

XML配置窗体参数;

从control继承。动态生成,使用抽象工厂模式;

Group的顺序无序由自己决定(从XML中读取);XML操作类;

心得

时间过的真快,一眨眼时间我在北京世纪德辰通信技术有限公司实习一个月了。回顾这一个月在公司的工作生活,我感到很满意。

我庆幸的是这份实习是自己通过不断尝试和坚持,经历过几次面试筛选,不断总结经验才换来的。可以说我比其它一部分同学多了一个月在软件公司工作的经历,还获得了宝贵的工作经验,这为以后找工作

或者面试提供了很好的条件。

对于找实习,其实还没放假的时候就开始着手了,在学校的招聘室面试了两次,印象很好但是却不适合,所以在绵阳找实习的想法就打消了,开始在成都找实习,多数是通过网上投简历。第一家算比较好的一家是成都新电科技,面试C++,经过了三轮重重考验,其中还有单独的英文面试,我算是见识过了,但最后不知怎么地就没消息了,可能没面试上吧,但是最近又有新电科技的打电话来,我看到时新电科技的电话就直接挂了,感觉他们过程很正式,但是处理很马虎,然后就在世纪德辰实习,实习的是C#,C#自己以前学过一段时间,但没有什么经验,但是我坚信编程都是一脉相承的。

当我在学习C#过程中遇到不懂问题的时候,同事都会毫不吝啬的为我讲解,让我感受到公司团结向上的氛围,软件公司最重要的也就是这种团队合作的精神。在这一个月的时间中,我进一步学习了编程语言C#,面向对象编程以前在学校的学习没有真正自己实践。现在我对C#有了基本的认识,也具备了用C#开发Windows应用程序能力。现在我再去理解.NET,C#,我发现它们真的是很强大,它的强大也体现在方便的集成开发环境。NET是个强大的新平台,而C#则是该平台下最佳的开发语言。在思想认知上面也得到了很大提高,上班了,不能像在学校那样随心所欲,天大的事有父母顶着,自己不用操心。现在走上社会,就是大人了,应该有责任心,对自己的言行负责。

工作中,我也严格要求自己,每天早早到公司,虽然早上坐公交车要半个多小时,下午要一个多小时,如同上班族一样,早起买早餐,接着去赶公车。一辆能装下上百人,而且几乎只上不下。为了赶不挤的公车,我总老早起来,直奔公车起始站而去。运气好的还能有一席座位。到了公司,就是一天,代码是从白天写到黑夜。网上有言:“孔子曰,中午不睡,下午崩溃;孟子曰,孔子说的对。”对于有午睡习惯的我而言,是一种巨大的挑战。而就是这样的一天中,一直有我们团队陪伴着我。大家一起坚持至今,眼看着自己慢慢成长,而成长是快乐的。眼看着周围的朋友渐渐多起来,原来我并不孤独。

和同事和睦相处,不迟到,不早退。对自己编码能力还不是太满意,有待进一步提高。现在通过学习,总觉得自己学得不够好,要用到的知识时感觉头脑一片空白,很后悔当初在学校为什么不多学一点,多练一点。后悔也没用,只能自己努力。灰心时给自己打气,继续工作。整个的实习过程是紧张而愉快的,我的工作态度和成效也得到了总经理和同事们的一致称赞。作为我在踏出社会之前的为数不多的几次实践中,这次的实践的确给予了我很多。今后,我将继续保持认真负责的工作态度,高尚的思想觉悟,进一步完善和充实自己,争取在以后的学习中更好的完善自己,在以后的实践中更好的运用去自己的知识,做一个合格的大学生,将来做一名对社会有用的人。 零距离的与社会接触,更能使我将书中的所学与社会需求紧密的联系起来,进一步的锻炼我的意志,提高我的专业水平以及个人素质。同时又进一步的让我懂得交流。所以与其是一次生产实习不如说是一次检阅,一次考验——是社会对我们多年在学校所学的检阅,是对我们个人综合素质和能力的考验。面对明日的挑战,也许很坎坷很困难,但是满怀信心的我绝不退缩。因为这是一片广阔无垠的天宇。

第17篇:软件开发实习小结

不知不觉,在大庆实习的日子快过去半个月了,记得刚来大庆的头几天,感觉非常不适应。首先是环境:这里吃的东西很贵,而且这里的物价很高。其次是大庆人:大庆人办事的效率很高,这就是铁人的精神吧。

对于以上种种,待了3,4天基本就适应了,难怪一些长辈老是说:习惯了,就好了。 来的第一天,我们听了付丽萍老师讲了一节课,可以说完全不知所云,但还是可以听到一些东西的,譬如:工作环境的适应,人与人之间的交际,处理各种事情的能力,其中最重要的就是养成良好的工作习惯。有良好的工作习惯,才会被上司,老板和同事认可,将来也会比同辈有着更快更多的升职机会,而且一个良好的工作习惯,无论你从事哪个行业,都是受用终生的。然后,就是认识我们的董亮老师了,一个可亲可爱的老师,传说中他们一个月会赚十几万呢!天文数字,望尘莫及埃

在随后的一段时间里,我们被分为了八组,每组六七个人,有一个组长带领。我们组织作一个项目论坛,在第二,第三个礼拜感觉没有刚来时那么拘谨了,我更明显感觉到自我计划,制定目标的重要性了。在我们犯错误的时候,老师会惩罚我们,陈发的方式很另类唱歌或者讲笑话,不算是体罚大事可以达到对我们的约束。然而,歇息期间有组织我们做游戏,看似很简单的游戏其实是想培养我们合作意识。

在实习的过程中,我深刻的体会到了三点:第一,项目是以迎合客户和使用者为目的的,不可能像教师那样为我们制定一套教学计划。想要知道些什么,渴望懂得些什么,全要靠你自己想学,你自己不问,没人会主动来告诉你。第二, 纸上得来终觉浅,绝知此事要躬行!在短暂的实习过程中,让我深深的感觉到自己在实际运用中的专业知识的匮乏,在行业中的经验真的很重要。

第三,能更早的接触你所在行业的真实情况。不出来自己转一圈,根本不知道自己学的一些专业知识,哪些是十分重要,十分实用的。就比如说英语。以前听老师说过,听朋友也说过,将来工作了,英语相当有用,外企就更不用说了。当时没什么感觉,但当我频繁的看到一打打英文资料手册、帮助文档时,我已经切身地,的的确确地感受到英语的重要性。

这次实训让我学到的东西太多,使我受益非浅,它让我知道了工作上的辛苦,让我知道工作并不像在学校里学习一样轻松。不过,虽然辛苦了点,但能让我学到不同的东西、很充实,我心里还是高兴的。人非生而知之,要学得知识,一靠学习,二靠实践。没有实践,学习就是无源之水,无本之木。以上就是我在成都的进行实训的心得和感受。 不到半年的时间就将步入社会的我们,面临是继续深造,还是就业的压力,我想我们更应该把握住最后的一段时间,充实、完善自我,争取做一名出色的大学生!对于这次实习,我很珍惜也很怀念。 ------------------- 本人自XX年9月份参加工作至今, 六个月的实习时间已经结束。在这段时间里, 在领导和同事们的悉心关怀和指导下, 通过自己的不懈努力, 在各方面都取得了进步。

实践让我的技能不断增长, 工作能力不断加强。刚开始工作的时候, 发现自己以前在学校学习的知识很死, 知识面很窄, 以前做的练习项目的实用性也不是很好。在开始的几周公司给我们实习员工培训了xxxx平台的使用, 通过这次培训使我认识到xxxx平台的优势, 可以大大提高软件开发效率。随后我就加入到xxxxx税源控管系统项目的开发中, 成为开发小组中的一员。在项目开发过程中一边是同事们的悉心指导, 一边是自己反复琢磨与理解, 几个月下来大大提高了自己业务和技术两方面的技能, 已经能够比较熟练的掌握基本的工作方法和一些技巧, 而且能够独立完成一些模块的开发。通过实践, 我解决实际问题的能力得到了很好的锻炼。工作中也遇到了很多的以前没有遇到过的新技术, 面对技术难题我总是直接面对, 没有逃避, 也因此自学了好多新的技术, 大大提高了自己的自学能力, 也加深了对自己工作要负责的信念。在项目开发过程中也遇到了一些自己确实无法解决的困难, 在经理和同事的帮助下也顺利的解决了, 在此表示感谢。在开发团队中, 加强了自己的团结精神和集体感, 对工作认真负责, 对团队认真负责。通过这个项目不仅学习到了很多技术也了解了整个项目的大体流程, 从需求分析、数据库设计、详细设计、代码编写、测试、项目维护等方面, 使自己不仅从一个代码编写人员的角度还从一个整体的角度来看整个项目开发, 加深了软件开发概念的理解。

第18篇:软件开发讲座报告

软件开发公司专家报告会

一、实习时间:

2010年8月27日

二、实习地点:

中国矿业大学银川学院A2阶梯教室

三、实习目的:

了解软件业状态、发展方向以及开发过程,听取软件开发经验、软件工程知识。

四、实习内容:

周五下午,我们在A2报告厅听了宁夏方达电子公司的周总为我们做的报告,这次报告中主要为我们介绍了以下内容。

1、宁夏软件业

·银川方达电子系统工程有限公司: CMMI三级认证资质、涉密资质三级、系统集成三级,拥有自主知识产权的产品20余种,医疗信息软件在宁夏市场占有率达70%,在区内第一个开创软件外包业务,业务领域涉及应用软件、系统集成网站运营、三维影像建模,广告宣传、游戏开发和外包。

·宁夏希望信息产业有限公司也具有CMMI三级认证资质、涉密资质三级、系统集成三级等。

2、软件业发展方向

·差异化竞争,获得行业垄断化优势,引领标准和方向;

·大型化,产品深度挖掘;

·引进外来技术,学习外包现金管理经验;

·软硬结合,以服务业向工业领域扩展;

- 1 -

·平台多样化

·资本运营。

3、软件开发技术

·面向过程C,Pascal,VB

·面向目的4GL如SQL,Clipper,Foxpro

·面向对象Java,C#,Delphi,C++

单机——局域网——广域网

C/S:client/server

3-tier:client/application server/DB server

B/S:brower/web server

数据访问层DAL

业务逻辑层BLL

表示层 UI

4、经验介绍

·坚持技术创新,掌握核心技术

·坚持技术积累,在积累上获得发展

·坚持技术管理的改进,先后通过ISO9000,CMMI 3级质量认证

·通过引进软件外包,引入国外先进开发管理经验深刻认识开发管理的各个环节

5、国内企业竞争环境

·缺乏准入机制,日本的做法有借鉴意义

·市场混乱:不是按能力而是靠关系

·税负重:33%的企业所得税,软件企业本身缺乏固定资产抵押,难以获得贷款扶持

·毕业生合格的少,转行的多

·恶性循环:缺钱——缺人——缺技术

6、软件业状态

3tier—>J2E—>SOA—>“云”(云计算、云存储……)

开发效率:Delphi>C#>Java

软件业:外面购源代码,拼凑项目套取资金,不去抓自己的核心技术

7、企业的核心力量分布

主力是60后、70后,80后还没起来,90后人数太少

1)不愿吃苦,耐受力差。很容易转行,很轻易给自己下结论,很容易被挫折打败,什么事都想捡现成

2)缺乏创新精神

3)自主学习能力下降比较严重

4)跟同事交流和合作能力差

8、技术开发人员成分

现象1:出身专业出身:非专业出身:1:1

现象2:男女比例底层管理人员女生比较多

技术团队:60-70:0

技术开发不适合女生,从习惯上,思维方式上,体力上有差异

9、软件工程知识

专业技术员知识

Java的web开发框架

1)struts1.4,struts2,spring,hibernate

2)tapestry5,ibtas

3)EJBJ,JSF

4)Java script,html,c

五、心得体会

1、知识得以更新、以前的观念得以改变。

“知识改变命运,学习成就未来”总是在说 , 真正又有几时在做? “通过学习得到知识;知识改变人的思想;有了好的思想决定好的行为;好的行为养成优秀

的习惯;优秀的习惯造就人的性格;最近‘性格决定人的命运’。优秀是一种习惯,一个成功的人之所以能成功,是因为他很早就具备了成功的习惯!”

2、通过这次讲座,让我在一次知道了,在学习中坚定自己的信念、了解细节是多么的重要;促使自己在学习软件开发的重要知识时 在学习得的 每时每刻都要注意细节的重要性;更明白了软件是个特殊的行业。

当然我们收获的还有很多、很多„„

的确这次讲座使自己“知识得以更新、观念得以改变”,对今后的学习会有很大的启发。!

3在讲座结束的时候,让我感触最深的还是那句话“学习的目的在于应用”,我们学习的目的就是为了应用。学习是必然的,应该在用上多下功夫,用好比学好更重要,这就是我们应该树立的学习理念。另外重要的是学习,并不仅仅是这次的讲座,我们应该在以后要更该好好的去学习,只有不断的学我们才会进步,只有不断的进步我们才会有创新,才会有所突破。

六、报告编写时间:

08级机电工程系 计算机科学与技术专业

王则臻

2010年8月29日

第19篇:软件开发述职报告

软件开发述职报告

软件开发述职报告

本人于xxx年x月份加入xxx发展有限公司,入职后在工程部工作,任土建工程师,作为一名加入公司的新人,最重要的就是要在最短的时间内度过“适应期”,尽快适应工作环境,快速转换角色。

一、新的岗位,新的挑战

来到公司的第一天,给我最大的感受就是公司的规范化的管理,不光体现在工作中,同时在企业形象、个人形象中同样能够得到体现。土建工程师是一个对实际工作经验要求很高的职位,而我正是在这方面有所欠缺,我将通过工作中锻炼自己、提高自己、塑造自己。这种学习是一种见机行事,是让自己适应工作中的知识技能,使自我希望通过学习能增强自己的竞争力,同时也增强公司的竞争力。

二、规范自己的言行,做合格的职员

在工程部工作,免不了要与上下左右及社会各界联系,我将始终牢记自己是公司的一员,言行举止都注重约束自己。对各级领导,做到谦虚谨慎,尊重服从。但是服从并不代表盲从,对于有利于项目的开展的合理的意见也要及时的反馈给领导,做事大胆,不避讳上下层的关系,真正做到对工程负责,对公司负责,要把自己真正的当成公司的主人。

三、加强学习,提高现场工程管理水平

在对施工单位的管理上,以合同、规范为依据,按照《工程管理手册》向施工单位灌输我公司的管理方法和理念,立好规矩,制定好标准,树质量、安全文明标兵从而带动后进的单位,同时增强服务意识,进行充分的沟通、协调是做好对施工单位管理的基础。

对监理公司的管理,首先应充分支持监理的工作,其次要检查、督促、指导监理的工作,对待监理日常工作不到位的地方及时指出,在对施工单位的管理上有时可借助监理的力量,往往可以取得良好的效果。

在工程协调上坚持以合同为依据,站在公司利益的立场上处理事情,坚持原则,但又要有一定的灵活性,协调的目的是保证工程进度更快,质量更好更有保证,造价最低,整体效果最好。

在三控两管上,做到有计划有跟踪有落实,紧盯合同目标制定关键控制节点,在总体进度计划的基础上把计划分解到每季、月、周,制定相应的考核制度;质量控制做到事前、事中、事后控制,关键是过程控制;投资控制上严格审查各种签证和变更资料,确认其合理性、必要性,避免增量多报和减量漏报;在合同管理上,充分熟悉合同条款,落实合同条款的执行情况,严格按照合同执行;在信息管理上做到规范、系统、统

一、有条理。

四、尽心履职,全心全意当好称职的土建工程师

作为工程部的一名土建工程师,我的理解,没有什么谋求利益和享受待遇的权力,只有承担责任、带头工作的义务。在平时的工作中,对领导交办的工作,从不讨价还价,保质保量完成;对自己分内的工作也能积极对待,努力完成,做到既不越位,又要到位,更不失职。在同办公室其他几位同事的工作协调上,做到真诚相待,互帮互学。

最后,我想说的是,我需要做到的就是成为一个优秀的员工。

软件开发述职报告

通过一年学习实践,在以下技能上面有了较大进步:

1) 对研发、生产各项环节的更清晰认识。经过2x2 Triplexer、ECAN CNU、ECAN CLT几个案子的历练,增进了对设计预研,设计验证,设计导入生产等环节的熟悉程度;同时,更多参与与各部门间的交流,沟通能力得到锻炼,增加了处理各种问题的经验。对产品的研发历程和成本产生等有了一个比较完整的认识。

2) 对网络的更深认识。年初花了不少时间对Triple play相关技术的规格,以及实现方案做了很多调研工作。在实现方案调研过程中,查漏补缺,让我对网络的认识更加的完善。硬件上主要有,对OSI七层网络结构模型的更深认识,对PON网络结构有较清晰了解,Ethernet产品的一般实现方案有较深了解,知道了一些路由及交换产品的一般实现方案,还了解到VoIP产品的构成及实现方案等等;软件上主要有,对Linux系统的更深认识,对SIP协议的细节认识,对Router软件实现的认识的加深,以及SIP服务器的移植、使用等。

3) 对产品可靠度设计的更深刻认识。包括de-rating,ESD,Hi-pot等设计考虑的深入学习。

4) 对硬件基本调试方法的更深刻认识。包括使用万用表,示波器,网络分析仪等设备对产品各参数的测量,并bug shooting等。 5) 一些基本的PCB Layout常识学习。 对如Signal Integrity,Designe For Manufacturing,PCB Fabrication,PCB过流能力考虑等等, 都有了一个初步的认识。

6) 对一些元件的更认可认识。在制作采规及元件选用时,及时对各种器件的基本知识做了整理,对电阻、电容、二极管、Power IC等元件有了更加全面的认识。

硬件方面:

1) 学习硬件调试、维修。 增加数字电路调试经验,单片机常用外围单元调试、设计经验等。

2) 继续完善各种元件的基本知识。

3) 增加PCB Layout经验

Linux编程方面:

4) Linux Makefile编程、及shell编程继续学习,以提高工作效率。

5) Linux应用编程继续练习。争取明年一年能熟练Linux应用编程!

6) 继续熟悉Linux系统,可简单进行移植,裁剪,驱动编程。

以上,结合公司project,重点进行强化。

嵌入式技术应用广泛,比如,可作为设备的控制模块,CATV编解码终端中的应用,各种网络设备中的核心控制器模块。嵌入式技术在增加产品附加价值,如易用性、界面友好性等方面表现突出;同时,嵌入式技术又可以快速集成现有技术,IC,或IP以形成新产品,来满足市场需求。

综合公司业务范围,嵌入式技术优势,以及个人所学专业知识,未来2~3年内,定位为嵌入式工程师,努力学习相关知识。

第20篇:软件开发实习周记

生活方面:懂得了作为一个企业职员在每日的工作、生活中如何去安排自己的时间,安排私人

事务与工作,在工作时间内一心一意工作不将私人事情带入工作当中。了解了怎么去与公司其

他同事的交往,知道如何去将每天的生活过的充实,有规律,平时的生活作息不能随意而为,

而是应该有计划。

工作方面:第一次真正接触了在一个企业工作真实的情况。了解到了公司的日常规定和工作要

求,以及与本职工作相关的个人要求和法律要求。知道了作为职员在公司的工作的必备条件,

遵守公司规定,按时完成交代的任务,按时上下班,积极去学习本职工作相关技能,在对待交

付的工作遇到不懂的地方应该积极通过各种方法去找解决方法。了解到工作不是一个人埋头做

而是相互之间的合作,部门之内的合作,部门之间的合作。完成一项任务更多的是多人之间的

合作。

实习方面:实习期间的项目第一次看到也是陌生的,虽然以前并没看到过相关的项目,但是与

软件开发流程相关,虽然没有相关功能的具体概念,但是能够凭着对软件开发流程的了解去网

上查找相似的案例,通过这样方式不仅获得了相关知识,同时也学会了怎么去查找资料,从大

堆的资料中提取出对自己有用的信息。通过这样从完全不了解到对相关功能有大致了解,也加

深了自己对软件开发流程的理解,也巩固了以前所学,对软件开发的了解不再是概念上的理解

而是实实在在的实施开发。

在着手开发软件的时候首先做的是一个项目的可行性分析了解项目是否有开发的必要以及

是否在能力之内,一旦决定了开发就要进行需求分析调研了,明确要开发的软件的使用方向,

软件要做的功能,以及要达到的安全性能和其他一系列的要求,需求分析是后期开发软件的一

切工作的依据,脱离需求的开发是多余的,一旦需求变化,开发也要相应变化。

软件开发 实习报告
《软件开发 实习报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
相关专题
点击下载本文文档