软件工程的实习总结
总结在一个时期、一个年度、一个阶段对学习和工作生活等情况加以回顾和分析的一种书面材料,它可以明确下一步的工作方向,少走弯路,少犯错误,提高工作效益,因此我们需要回头归纳,写一份总结了。我们该怎么写总结呢?以下是小编为大家整理的软件工程的实习总结,欢迎大家分享。
这学期学习了软件工程实践这门课,我觉得这是对上学期的软件工程课程学习的检验,上学期学习软件工程只是我们浅显的认识,相比之下,这学期就更加全面的说明了开发一个项目所需要的步骤以及开发项目过程中所需要注意的诸多细节。如果说上学期的课程注重理论基础的话,那么这学期的软工实践,顾名思义,就是侧重我们动手操作的能力。
原来我认为开发一个项目最重要的就是写代码,似乎整个软件都是编代码,因为自己动手能力不强所以就很排斥做项目。可是经过我们学习软工课程到团队做项目再到学习软件工程实践课程之后,我才真正意识到实施一个软件工程项目并不是说简单的会编码就能够解决问题的,因为一个软件的生命周期分为三个时期:软件定义时期、开发时期、维护时期,而这三个时期整体又分为七个阶段,他们分别是:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试,由此可看出,当我们开发一个项目时,更多的精力不是放在编码上,编码只是一个很小的模块,而是项目的整体结构上。
在写软工实践体会之前,我想在这里总结一下上学期三人团队做 项目的相关事宜。上学期我们三人团队根据软件开发的步骤开发一个名为“西大老乡‘荟’”的社交系统,主要是为西大学子提供一个找老乡的平台。虽然只进行到详细设计阶段,没有进一步实现,但是我还是从中学到很多东西的。首先要先确定项目主题,也就是这个项目用来做什么,可以解决什么问题。接着就是这个项目是否有研究的必要以及是否有解决的办法,针对我们的项目,我们对西大的一些学生做了问卷调查,并从调查中继续完善系统本身的做用户。第三步根据我们确定的项目主题进行需求分析,这一步骤当时做的不是很好,比如所画E-R图、数据流图等都有考虑不周的问题,导致接下来的概要设计、详细设计进行的很困难,有些步骤甚至还需要返工。
从我们在需求分析中出现的问题,使我们明白了软件定义阶段对于一个项目的开发是至关重要的,当软件定义阶段完成时必须要用正式的文档准确的地记录目标系统的需求。只有前期的准备工作做得好,后面的工作才能顺利进行。虽然项目最后没有完全实现,但是起码我们已经初步体会到软件项目开发的步骤,以及每一步所需要完成的文档等内容。
这学期的软件工程实践虽然不是亲自动手开发一个系统,但是张元平老师以“物联网物流仓储管理系统”为主给我们讲解了一个真实系统的开发过程,从计划到项目系统的发布实施,以及每一步必须生成的文档。我主要从以下五个方面谈一下我的心得体会。
第一、行业背景说明方面
对于一个软件系统的开发,第一步就是问题定义,了解所开发系统的行业背景,制定计划。当我们计划确定以后就要对项目系统本身进行可行性研究,主要从技术可行性、经济可行性和操作可行性三个方面着手。就比如《物联网物流仓库管理系统》的行业背景说明文档中非常详细地分析了当下物联网物流行业的整体业务说明、应用背景、未来发展趋势以及相关应用案例等四个方面,项目团队中系统分析员就可以根据这份文档以及相关的调查资料对将要开发系统的进行定义等工作。
原来我们写这类文档的时候就是草草了事,不会做得这么详细,而这次看到大型项目的行业背景说明也是这么详细,也让自己认识到不管是软件开发的那个阶段都要认真对待,这些琐碎的文档都是后期开发项目的支撑,只要它们做的透彻,后面的开发工作才能更顺利的进行。
第二、项目需求说明方面
这部分项目需求说明就是软件定义时期中需求分析阶段,而该阶段的主要目的就是了解用户的需要,根据用户的需要确定系统必须完成那些工作,并对目标系统提出完整、准确、清晰、具体的要求。在需求分析结束之前系统分析人员要写出一份需求规格说明,即为《物联网物流仓储管理系统》项目需求说明文档。我们可以看出该文档也是非常详细,相比之下我们之前做项目时写的需求规格说明书就非常不合格,不仅格式不正确内容也是少之又少。
在这方面,这篇文档给我启发很大。首先就是文档的格式,要美观整齐,让人看着舒服方便。其次就是文档的内容,原来它不是很重要,写文档的时候也不知道怎么写就借鉴下网上的内容,结果根本就没有把自己项目的需求写明白,以至于自己最后都有些糊涂,所以根据以前的经验教训我会对这部分更加重视。
第三、系统概要设计方面
这部分内容分说的是软件设计时期的概要设计阶段,该阶段的主要目的就是实现系统的功能、设计软件的`结构、模块组成以及模块之间的关系。在概要设计阶段,我们可以站在全局的高度上,花较少的成本,从抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的结构。在这个阶段还会具体画出E-R图、数据流图等方面的设计。
比如《物联网物流仓库管理系统》的系统概要设计从项目概述、设计约束、功能单元与功能模块设计、数据E-R图设计、总体设计、界面设计等六个方面介绍,通过读这个文档,我觉得最重要的还是总体设计,分别从逻辑架构设计、物理架构设计、技术架构设计设计系统。在这个阶段中模块要做到高内聚低耦合,这样开发出来的系统才会具有更高的独立性。
在原来做项目时没有编写过这类文档,在该阶段只是画了结构图、层次图以及相关的模块划分,对该类文档尚未重视。通过张老师的讲解和自己的学习,我相信在以后做项目的时候一定会注意到这类文档的编写。
第四、详细设计与分析方面
详细设计阶段就是把概要设计阶段的每个模块进一步设计,确定每个模块所需要的算法和数据结构。在这个阶段还是需要我们设计出程序的详细规格说明,而不是编写程序。在详细设计阶段,系统设计人员可以通过使用程序流程图、盒图、PAD图等过程设计的工具和Jackson图等面向数据结构的设计工具进一步设计系统相关接口,主要包括界面设计接口、业务单设计接口、单元模块设计接口等,这些对于以后的编码工作都是极其重要的。
第五、编码和测试方案方面
关于编码,我认为编码要想做的完美必备条件就是前面的软件定义和软件设计时期要按部就班的做,文档一定要按要求书写,不能偷懒也不能草草书写。对于编码也要有相应的文档书写规范,要使源程序代码的逻辑简明清晰、易读易懂。这样尽管我们不是设计系统的人员,当看到源程序代码的时候也能容易读懂代码的意思。
其次就是测试的内容,从测试的文档中我们可以得出,其实测试在软件开发中同样占据了重要的地位,它主要就是尽可能多的找到问题并排除其中的潜藏的错误,最终把一个高质量的软件系统交给用户使用。它要求测试人员也要有很高的技术水平。
我在xx电气有限公司开始了从xx年11月底到2月底的为期三个月的实习,在实习的过程中,我学习了很多,了解了很多,也感受到了很多,深深地体会到实习的重要性。
实习是对学生及用人单位而言都是蛮有裨益的。对公司企业、用人单位而言,这是一种发展储备人力资源的措施,可以更为有深度地选择人才,培养符合公司工作 、行为、价值观、文化理念等要求的人才。同时,为国家培养更符合现代化建设的未来栋梁人才,是公司、企业回馈社会的重要途径之一,也在不少程度上提高了公司在本区域内的知名度与影响力。对学生而言,在学生、学校、企业三方的共同作用下,实习可使大学生有更好地机会、环境进入职业社会中,为大学生从十多年的学习生涯到未来几十年的职业生涯提供了一个过渡期和适应期,培育大学生健康的择业观、孕育良好的工作能力和态度、丰富学生的社会实践经验。另一方面,实习让学生更好地发现自己的职业兴趣,了解自己的职业性格,避免盲目就业,奠定稳固的事业基础。让在职业生涯处于刚开始阶段的大学生,更好地迈入职场的重要一步。
我实习的是在xx电气集团分属下的、与日本东芝合作的——“xx芝”分公司,它的主营产品是“scada电力系统”,xx芝公司只要分软件部和工程部,而这三个月我实习主要在工程部,属于技术支持类的工作,做对电力系统软件的辅助性数据录入、更新等,工作站系统的安装与维护,配合工作人员对将要派往各地区的硬件设备进行分配、整理、排号、安置、安装、打包、搬送监察、装箱、记录等工作。
在这三个月,我接触到大公司的组织文化,看到大公司的较为完善的管理制度,也看到xx公司的很多变化,它的规模、发展、业绩。
在实习的三个月里,我积累了不少的经验,我也学习到了即使在离开校园后,学习也是不会停止的,活到老学到老,学习永远离不开人生命中的每个阶段。
在公司里面学习专业的技能,与自己技术相关的知识,或对工作有用的专业知识。像我实习做的工作软硬件均要涉及,例如要学习如何配网段、学习如何做网线插头、如何安装企业级的系统、如何用linux的指令打开文件、如何在用数据库命令寻找画图软件里面的一条线段的数据等等,这些东西在大学课堂都有教过,而实习就很好地复习、巩固了。而因为我们公司的主营是针对电力的系统,我们还要额外地学习电力的知识,如环网柜、变电站、接地线、架空线、小车等等这些图示或内部结构。像实习单位里软件部的同事,大部分的本科专业都是学电气的,但是他们的工作全部离不开java、c、嵌入式、电路板,所以他们还要利用上下班空闲时间自学。也许他们毕业还未够半年,就要独自承担公司的开发项目了,例如在环网柜上加上液晶显示屏。
在业余培养兴趣,会派上用场。例如,我在大学阶段就去选修了些日语的课程,刚好来到实习的公司就是和日本东芝合资的,有一点的基础就能一直参加公司的免费日语培训班,在公司 里面会日语的话不仅有工资奖励,而且不管是做技术或者市场部门,都会有相对较好的待遇及提升。在不影响学习、工作的前提下,发掘、培养自己的业余兴趣与技能都是百利而无一害的。
突然我发现,原来大学并不是唯一的课堂,大学结束并不代表学习就中断了,还要靠自己的努力、勤奋、挤出时间继续翱翔于知识的海洋。其实,在职场、社会中满天都是机遇,就看自己有没有眼光、能力去捕获它。如果自己没有学习掌握一定的技能和能力,再好的机会也没办法抓住。
工作需要热情和耐心。对所做的工作有相当的热情,无论是在哪个行业、哪个职位都是很重要的。像我们软件行业,无论是程序员还是技术支持都是有点枯燥跟辛苦的,例如在实习,连续两个星期对着几百台的硬件:服务器、工作站、交换机、光纤模块…… 要按协议不同对设备分配到5-6个地区城市,还要贴标签、跟踪大批货物搬运,如果没有对工作的责任心跟热情,是很难坚持的,即使能坚持,也很难把工作做好,做仔细、做认真。
有效的沟通与保持良好人际关系是一种重要的技巧和能力,因为一个人的能力有限,不能所有事情都兼顾到;人有长短之分,在工作上经常需要同事们的帮助,利用好别人的`长处,整合资源。
例如,我实习的公司里面,每批货物都有所属的区域,每个区域有负责的区域负责人,每个负责人都要随时了解、清楚这批硬件各需要多少,什么时候从仓库里面拿上机房安装,是否安装好系统软件、是否检测完毕等等,但是每个区域里面的工作量都很大,负责人基本分身乏术,而大量的工作都与其他区域所做的工作相似的,例如,运货、装机柜、打标签、拆装等等,这时候我们就需要其他负责人的帮忙,这就需要沟通。
团队合作精神是不能或缺的。在这个分工越来越专业、企业越来越壮大、工作、信息量越来越庞大的社会,单靠个人的力量是远远不足以应付公司、企业的的工作。在用人单位招聘的时候,不会少的是要求、需要应征者、员工有团队合作精神,可想而知团队合作的重要性,公司对团队合作的重视。
像在公司,一套系统的完成需要各个部门的协作和配合,一套系统工程部到货、装机,linux部装服务器,java部做系统检测,测试部做完检测要实时通知所有部门,所有事情都是有时间进度表安排好,在部门里面完成一份工作不只是部门的概念了,这是一个公司的概念、一份好产品的概念,需要团队的协同合作。
我认为,现代社会需要的人才不再是光会“读书”的人了,而是需要不仅有扎实理论知识,更是需要有较强的动手能力和实际工作能力的复合型人才。实习的短短三个月让我了解很多,学习了很多,相信在经历了实习的过程后, 我会更有信心,更有能力为将来招聘、迈入职场、开展自己职业的征途,更会为打造自己成为现代社会所需要的重要人才而努力。
进入公司初期参加的入职培训,使我对公司有了一个全面的了解,在公司工作的这段时间,我深切的体会到了公司深厚的经营理念,感受到了公司浓厚的文化氛围。在每期的刊物上我都有了解公司的近期新闻内容,同时也了解了公司的相关的规章制度,在工作上有领导的关心和同事的帮助,让我更加顺利的度过我的试用期。
一、关于实习公司
我所实习的南京xx软件有限公司简称xx公司,公司成立于20xx年,主营软件开发和信息系统集成,专门从事工程建设项目管理信息系统开发和实施,具有自主知识产权的项目管理软件产品xx项目管理系列软件(包括xx投资控制合同管理软件、xx进度控制计划管理软件、xx质量控制安全管理软件、xx项目管理门户、xx城建项目管理平台等),并已经在全世界第一大桥苏通长江大桥、国内最大的开发区苏州工业园区以及南水北调工程实施和应用,目前正与南京城建集团合作,开发城建项目管理平台。
二、实习的内容
今年xx月xx日开始,我正式走进xx开始了实习工作,并被调到了江苏省建筑质量检测中心,参加正在进行的'一个检测项目。由于我才大三,本身对企业的经营方式等都很陌生,公司让我们的王工带我学习,以师傅带徒弟的方式,指导我的日常实习。在王工的热心指导下,我依次对此次项目的业务流程和大概框架进行了了解,并积极参与相关工作,注意把书本上学到的理论知识对照实际工作,用理论知识加深对实际工作的认识,用实践验证大学所学确实有用。以双重身份完成了学习与工作两重任务。跟公司同事一样上下班,协助同事完成部门工作;又以学生身份虚心学习,努力汲取实践知识。我心里明白我要以良好的工作态度以及较强的工作能力和勤奋好学来适应公司的工作,完成公司的任务。
三、实习的提高与收获
实习收获,主要有四个方面:
一是通过直接参与企业的运作过程,学到了实践知识,同时进一步加深了对理论知识的理解,使理论与实践知识都有所提高,圆满地完成了本科教学的实践任务。
二是提高了实际工作能力,为就业和将来的工作取得了一些宝贵的实践经验。
三是一些学生在实习单位受到认可并促成就业。
四是为毕业后的正式工作做好了准备。
四、结语
到公司实习并没有我想象中的难以融入,通过慢慢的学习,发现在公司用的到得知识在我们的学校学习中都会遇到。至暑期结束,从不懂到渐渐的做了几个检测项目。学到不少的东西。实习生活还没结束,开学了我还是会继续留在公司我的学习和探索。
本次实习我在小组内主要负责注册管理模块部分功能的编写以及与其相关的文档的编写。
本次实习与以往的实习最大的不同点在于对文档编写的规范要求。这也是本次实习最大的特点。因此,在编写文档的过程中体会颇深。相比之前的几次实习,在文档编写方面几乎不占用多少时间,每次都只注重程序代码的编写。通过这次实习对文档编写的过程当中,感觉到曾经那样的开发方式却在很多问题。
软件不止是程序和数据,还包括很重要的文档。曾经都忽略了这方面的习惯培养。本次实习让我很深刻的体会到文档的重要性。文档可以在开发人员、软件管理人员、维护人员、用户以及计算机间架起多种桥梁。在开发过程中的各个阶段,开发人员都需要以文档作为前阶段工作的体现和后阶段工作的依据。管理人员则可以通过文档了解软件开发项目的'成果等。可行性研究报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施的方案,说明并论证所选定实施方案的理由。
这次实习让我比较深入的了解到开发过程中各个文档的功能。比如:项目开发计划:为软件项目实施方案制定出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。项目开发计划应提供给管理部门,并作为开发阶段评审的参考。
软件需求说明书:也称软件规格说明书,其中对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是用户与开发人员双方对软件需求取得共同理解基础上达成的协议,也是实施开发工作的基础。
数据要求说明书:该说明书应给出数据逻辑描述和数据采集的各项要求,为生成和维护系统数据文卷作好准备。
概要设计说明书:该说明书是概要设计阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计奠定基础。详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。 ·用户手册:本手册详细描述软件的功能、性能和用户界面,使用户了解如何使用该软件。本次实习最大收获让我知道文档的重要意义以及开发过程中如何编写文档,以上就是本次实习的心得。
在这次软件工程课程中,我学到了很多东西,第一次深刻的体会到了什么叫做用工程化的思想来编写软件,以前自己也写过一些小型软件,没有做过大型的项目,直到这次课堂我担任组长并组织组员共同完成“个人图书管理系统”这个项目,第一次和别人合作,才发现运用工程化的思想来做是如此的有必要。
从这里,我才真正的意识到实施一个软件工程并不是说简单的会编码就能够解决问题的,我们更多的精力不是放在编码上,编码只是一个很小的模块,只占到那么小的一个部分。这个事实在很大程度上颠覆了我以前的思想,在我以前的认识中,似乎整个软件就是编码,除此无它,还好有老师的指导,不然真的会出现老师所说的.,撞得头破血流之后才想起来用软件工程的思想来完成这个工作。
刚真正开始工作之前,我们费了很多的时间来完成一些前端工作,如需求分析和可行性分析,这块工作在别人看来可能是相对无关紧要,甚至是多于的,其实,换做在以前,我也会这么认为。可是,我现在算是深深地明白了磨刀不误砍柴工的道理,这些工作的完成太有必要了,太重要了,要想你的软件有用有市场,能被别人接受和认可,在进行过程中不会出现崩溃性的问题,这些工作缺一不可。
还有就是接下来的一些设计模块,此模块与软件编码涉及比较紧密,主要是解决一些参数传递和接口通讯的问题,此模块对我的触动远没有上两个模块对我的影响大,因此再次也不做过多的介绍。
在整个活动的完成过程中,作为组长,我收获很多,我发现,要是组里有个人不怎么想做事情时,他对于整个组织的影响是毁灭性的,正所谓“一颗老鼠屎,能坏一仓谷”,以后我的组织里要是出现这样的人,我绝不会给他继续留下来的机会,我会在第一时间将他清除出去。还有就是,作为组长,你要做的最重要的事情,不是发挥自己的聪明才智,而是创造出一个平台,让别人去发挥,你所要做得,出了保证这个平台的完整性和公平性外,还有就是协调好各组员之间的关系。
今天的实训结束,今天做的是纸牌游戏软件和趣味打字游戏。今天的东西对我来说有点难度,最后没有能过完全做完。但是我还是觉得这是一个不错的实训,在这种集体的环境里和同学们一起学习,每天的生活过的也是非常的充实。
此次实践课我的收获很多。我和同学们这一次真正自己动手制作一个小软件,虽然还存在很多的问题,而且我做的软件在使用起来还是很不可行的,但是我们从中受到很多知识,不仅是专业的知识,更让我明白一个软件从设计到实现的每一个环节真的很不容易,不仅需要扎实的专业知识,更需要一个团队的配合,这才是一个软件成功的关键。这就告诉我们,一个人的.出色不算什么,一个团队的出色才是真正有用的。
刚开始拿到题目我们组员都不知如何下手,经过小组成员一起查找资料,并且开会讨论,我们确定设计的设计目标以及具体实现方式,包括如何将Java的思想运用到实际系统的详细设计之中。
在实验课上,我学会很多学习的方法。而这是日后最实用的。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我的将来也有很大的帮助。以后,不管有多苦,我想我都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我都可以在实验结束之后变的更加成熟,会面对需要面对的事情,以及学会遇到问题,不急不慌,慢慢解决它。
虽然过程辛苦是不可避免,但收获还是令人感到尤其的欣慰。在这次的软件设计中不仅检验我所学习的知识,也培养我的实践能力,让我知道遇到一个问题,如何去寻找思路,如何去解决问题,最终完成整个事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会合作,学会宽容,学会理解,也学会做人与处世。课程设计是我们专业课程知识综合应用的实践训练,是我们迈向社会,从事职业工作前一个必不少的过程。实验过程中,也十分感谢实验指导老师陈中育老师的指点与教导。这次软件设计不仅是对这学期所学知识的一种综合检验,而且也是对自己动手能力的一种提高,增强自己实践能力。通过这次课程设计使我明白自己知识还比较欠缺,只是学习书本知识还是远远不够的,自己不会的东西还有太多,学习需要自己长期的积累,在以后的学习、工作中都应该不断的学习,将课本的理论知识与生活中的实践知识相结合,不断提高自己文化知识和实践能力。
基于本次暑期实习的情况,我收获很大。
从实训目的来看,本次实训主要是在VS20xx开发平台上实现对C#语言、SQL数据库的应用,就我所在小组的项目工作内容来看,还需要掌握水晶报表和MDI多窗口应用技术。除了要充分熟悉开发平台及应用设计之外,还要掌握并实践软件项目设计规范及其开发流程即需求阶段、分析和设计阶段、编码阶段和测试阶段,以便能按时交付作业。
从实训的内容来看,我小组的项目是"人事工资管理系统",主要实现公司企业对内部员工档案、工资、奖罚考勤等一系列的管理,这在当今不断壮大的企业用人单位是亟待需要的,总的来说,项目的难度系数不是很高,但也是相当困难。
在校外实习之前,老师先在校内培训了5天。5天实训中,着重讲解了c#语言应用,并布置编写"通讯录"工作台程序,windows应用程序和WPF程序,数据先是用文本保存,然后练习用数据库保存,期间每天需上交当日作业。5天的时间里,通过不断地学习,我从完全不懂c#语言成长到初步掌握了这门语言,当然在具体应用中还是会遇到些问题,但我还在学习。其实在实习的前一个月里,老师就上传了一些关于c#语言的资料并通知我们需要配置哪些软件环境,对于这一点,我是相当感谢何老师的,当然在校外的实习里,公司也全都把开发项目用到的一系列软件上传到公共文件夹里,从而免去了我们下载软件的麻烦,在此,感谢众老师。
校内实习要上交的作业我是在校外实习中补充完成的,因为之前上交的作业由于时间仓促大都有错误,所以借着校外实习中对c#语言的进一步应用和讲师的详细讲解后,我重新改正了错误,希望何老师能谅解采纳。
校外实习是从7月12号开始,历时15天,15天的最后一天要回校评审。我对本次校外实习的各个方面都十分满意。相比上次实习,首先这里的'住宿学习条件非常好,住宿和实习地都安装了空调,实习地方环境清幽宽敞明亮,伙食也非常好。然后就是实习讲师非常专业和负责,他事先把所有有关实习的资料软件存放在公共文件夹,且规划入微。一开始先是对我们进行C#测试分好组安排好每组项目任务,又指导我们每个小组安装SVN软件,方便小组文件上传与统一,整体一气呵成,不似之前实习的凌乱,这一点我十分敬佩。之后每天都先安排好任务工作,认真且非常详细的给我们操作示范并细心地制作成word文档供小组之后查看。每隔几天都会有小组评审,主要针对小组所编文档的规范程度和不足提出修改建议。作为小组的PM,我必须承认一开始工作任务安排不当,没有完全发挥各成员的优势,以致文档编写的有些瑕疵,不过在小组评审过后,我便及时更改了项目工作的分工,而之后小组项目工作进行的非常顺利,每个人的能力都得到了最大的发挥和升华,当然这完全得力于小组成员的高度配合。
实习单位名称:山东山大华天软件有限公司
实习时间:2x13年9月--2x13年12月
实习地点:山东省济南市高新区新泺大街2x08号银荷大厦E座三层
一、实习单位简介:
东山大华天软件有限公司简称华天软件,是北京神舟航天软件技术有限公司控股的子公司。成立于1993年,专注于制造业信息化领域,注册资金3800万,总部位于济南高新区,拥有员工近400人,办公条件优越,服务领域跨越CAD/CAPP/PDM/PLM/MPM。目前,在华天软件的客户中有多家位列机械工业百强榜的企业。公司的立身之本是以客户为中心,为客户创造价值。
公司从国内第一套商品机械CAD起家,已发展到拥有CAPP,PDM,PLM等拥有全线的自主产品。公司具有PLM事业部、集成事业部。PLM事业部是面向制造业提供信息化解决方案的,主要面向离散制造业,进行软件产品的推广和营销;集成事业部主要面向公共事业、医疗等行业做信息化集成服务。
华天软件是中国管理软件的百强企业,十几年来一直专注于PLM领域,是PLM行业内首家通过国际软件成熟度CMM3级评估的软件公司,也是本土规模最大的制造业信息化解决方案提供商之一,在制造业有很高的信誉度。公司拥有国际领先水平的自主版权高端三维CAD/CAM软件,是中国少数拥有自主版权PLM全线产品软件商之一,同时也是山东省PLM工程技术中心依托单位,代表了山东省PLM研究领域的最高水平。
华天软件目前已拥有PLM全线产品,从产品研发管理的CAD/CAPP/PDM/Co-PLAN(协同工作平台)到生产制造环节的Pantryman (工艺与制造数据管理系统)/MESIC(MES)/MPM(制造过程管理),以及防扩散系统 EUDEMON等产品全生命周期管理系统,已真正成为制造业信息化全面解决方案提供商。
多年来,业界对华天软件的业绩给予了高度评价。公司连续多年被国内权威信息化专业咨询机构e-works及AMT评价为"PLM十大优秀本土供应商"及"PLM领域十强软件商"。 公司产品及解决方案市场占有率高、口碑好,客户满意度高达98%。
华天软件历经十几年信息化服务经验,在全国培育了上千家用户,其中,十多家典型用户位列机械工业百强榜,在多个行业形成优秀典型应用。公司在汽车、模具、轴承、专用设备等行业都具有整体解决方案,这些解决方案也在行业内领军企业得到全面应用。其中包括北汽福田汽车、雷沃重工、LYC洛阳轴承、东风模具等国内知名企业。这些企业在华天软件PLM解决方案的协助下,积极开发创新性产品,缩短了产品上市周期,降低了开发成本,提高了市场竞争力。
二、实践安排及具体内容:
本人于2x13年9月至2x14年4月实习于山东山大华天软件有限公司。
图1统一数据测试工作
图2山东山大华天软件有限公司
我在山东山大华天软件有限公司实习期间主要参与了整合测试项目和数据统一项目
整合测试项目是在Draco3.0平台上进行的跨SV、CM、MS的测试,通过整合测试,为SV和CM新版本的发版奠定了基础。我在整合测试中主要测试了工程图、CAM相关命令和MS的新命令。
图3 测试工作命令界面
数据统一项目,是公司一个非常重要的项目,它的目的是统一三个高端三维CAD/CAM软件,SINOVATION(SV)、CADMEISTER(CM)和MEISTERSHIP(MS)的数据。SV和CM原来的存储文件是零件和图纸,整合之后零件和图纸合为一个模型文件。此项目分为两个大的阶段,第一阶段为测试,使CM和MS的命令都能正确执行,第二阶段为编码,针对第一阶段测试的缺陷进行修复,并编写新的接口。我在数据统一项目第一阶段主要做了MS的线面立体命令在CM上执行的测试以及CM的CAM相关命令在MS上执行的测试,还做了CM与MS菜单的整合。在数据统一第二阶段我主要做了线、面、立体、CAM、PRESS、MOLD的部分命令的缺陷修复。
三、实习心得
时光荏苒,转眼间实习已经几个月了。虽然曾经有过害怕、彷徨和面对陌生环境的无助,可是也加快了成长的脚步。如果说学校是接受知识的殿堂,那么社会就是运用知识解决实际问题的地方。在山东山大华天软件实习这段时间,是我人生中很重要的.篇章。通过实践,把多年的理论知识灵活运用,我学到了很多,也感受了很多,在这里我对学院以及公司帮助过我的领导、同事表达诚挚的谢意。
在公司实习过程中,从理论到实践的跨越让我承受了一些困难,更让我懂得了一些真理,增长了一些见识。我们一直都知道实践出真知,而只有经过了切身的体会才发现原来的认识其实很肤浅。理论性的东西为了便于学习,往往需要将它理想化,而实际的应用却无法随心所欲。从小学到高中,再一步步成为现在的一名研究生,我更多的是学习理论,所以有很多知识在理论上而言我们有足够的理由对它深信不疑,然而一旦让它走向生活,走向实践,却经常跌跌撞撞,不堪一击。通过参与公司的项目开发,我不仅能更加掌握理解所学的理论知识,而且还能灵活运用到实际当中。在公司实习中我学到的另个方面就是与同事的相处之道,团队合作意识的加强。员工与员工之间不是相互独立的个体,二是相辅相成的,团队的合作在一项任务的完成中至关重要。与同事的融洽相处不单单是为了营造一个舒心的工作氛围,更重要的是顺利而高效的完成工作任务,同时互相学习,取人之长,补己之短。
在这几个月的实习过程中,我看到了自己一些方面的不足,并得到了很大的提高。当然,或许我学到的还只是凤毛麟角,但这段实习经历必然会成为我成长道路的基石,我将受益匪浅。
1 企业概述
1。1 企业发展简史
开封天一软件科技有限公司(原河南省开封市王子科技公司)是经国家工商管理机构注册批准的一家专门从事企业软件开发与办公信息化建设的高科技企业,公司拥有一批经验丰富、技术精湛的系统设计、实施及售后服务人员;公司拥有雄厚的技术实力和核心自主知识产权,能为企业提供从技术咨询到解决方案;从电脑设备供应到软件产品定制;从软件操作培训到售后维护服务等全过程的高层次优质服务。公司自主研发的软件产品涵盖了企业办公、财务管理、互联网应用、服务器出租、服务器托管、进销存管理、工业控制,仪表数据采集与测控,人工智能等多种商业领域。公司本着“采用先进技术和平台,提供高效、稳定的软件系统”的产品质量方针和“一切以用户为中心”的企业服务理念,与您共同推动我国企业的信息化建设。
1。2 企业现状
一个没有优秀民族文化的民族,不能自强于世界民族之林;同样,一个没有优秀企业文化的企业也不能自强于市场竞争之中。天一软件科技有限公司将禀承“用户至上、用心服务”的服务理念,创建独具特色的国际化IT企业文化,借鉴中外软件企业的成功经验,与国内外友商精诚合作,紧趋世界信息技术发展潮流,致力于民族软件业的腾飞,向着成为中国一流的国际化IT企业的目标迈进!为了实现“让客户尽情享受信息新生活”的企业使命,天一软件着力进行业务与服务创新,持续不断地向广大客户推出科学、适用的业务,较好地打造了业务品牌形象和优质服务形象,理念先进、功能完善的天一综合短信系统系列产品,天一商务领航平台、天一统一充值平台等系统逐渐深入客户的实际应用,提升客户感知的进程没有终点,福富软件以创新的精神推出业务、服务客户的追求永无止境。
天一软件强调以人为本,认为对员工的投资是最重要的投资,通过对员工的培训提高员工的技术能力,并在平时通过多个方面让员工随时随刻感受到盛鸿这个大家庭的温馨、友爱。
创新是一种积累。不积跬步,无以至千里;不积小流,无以成江海。我们的邻国日本战后一片狼籍,但是凭着“每天PDCA,每天进步1%”的精神,一点一滴的创新,终于成就了一个科技和经济强国。创新不是海市蜃楼,她就在我们身边,伟大的创新也许当初只是一个看似很傻的念头,但如果当初没有人插上翅膀想飞却飞不起来,有怎么会有今天的飞机呢公司将创新理念运用在公司的发展,项目的开发当中。天一当前的创新重点在于业务创新、技术创新、管理创新,提倡大胆创新,不怕失败,“莫以善小而不为”,从工作中的每个细节入手,从一点一滴做起,让创新逐渐成为习惯。
2 实习过程
最为一个软件开发技术公司,不同于一般的那种严肃的气氛,天一中给人的感觉是比较的宽松,公司的人情味也比较浓。对于我们这一批参加暑期社会实践短期活动的在校学生,也都按照一般公司的标准要求我们,当然在这期间对我们的待遇,如:伙食、上下班的班车接送、业余文体活动等,也对我们一视同仁,这也是我们真正的体验该公司的生活工作提供了不小的帮助。
这种气氛,加上先前进入公司的师兄师姐,以及其他的热心的老员工的帮助,使我们几个很快的融入了这个公司中,在工作中更好的与周围的同事的进行交流、合作;在工作之余我们也参加了公司组织的一些文体活动,如羽毛球、卡拉OK等。
2。1环境适应
这次的社会实践活动,每个人都有一个很明确的任务,所以意味着我们不可能如以往的简单的了解一些企业文化,简单的学学新的知识就可以了,我们的这一个多月必将是一个繁忙的一个星期,也必将是一个充实的,进步的一个星期。下面介绍的是我们在公司的生活与工作中所遇到的一些困难,还有我们一般的生活工作时间安排以及具体的工程开发内容。克服困难,养成良好的工作生活习惯。基于各方面的原因,虽然在去之前我们做了比较充足的准备,但还是遇到了一些困难,例如工程阶段比较繁多,但时间又比较的短。
由于我们可算是第一次正式的参与企业的开发,在经验、知识上必然有所欠缺,所以在开始阶段我们主要都是了解项目的背景知识,进一步学习基本的一些项目原理等。而后要进行设计工作,然后才是真正的工程开发过程,还有调试过程。再由于我们只是短期的社会实践工作,为了所做的工作在以后能真正为人所用,我们在走之前还要留下完善的相关文档。短短的一个星期,要分成这么多的阶段,而任务就摆在那,每一阶段的时间可想而知是多么的宝贵。
由于时间比较的紧。在这段时间我们既要看文档、又要搞设计,既要编程序,又要测试,还要编写整理对应文档。所以有时是每天中午都没得休息赶着的干,下午下了班,别人都回去了,我们还在那儿加班,一直到晚上9点多,才坐上公交车花一个小时回住处休息。大家常常是坐在车上就睡着了。
另一方面,由于公司没有给我们解决住宿问题,我们刚开始是在在公司同学的帮助下在体育场附近找的一个地方住着,后来又找了个地方,但还是在那一块。虽然是坐在公司的班车上班,但由于是班车的第一站,很早就要上车,每天6:30就得起床。而在公司中午1:00上班,原来在学校的午睡习惯也只能去掉了,所以为了保持上班时有旺盛的精力,我们一改在校晚睡得习惯,每天晚上回去10:30就会睡觉。这样的一坚持就是一个星期,虽然是苦了一点,但我想这也无形中让我们培养了一个良好的作息习惯。
而在这一个多月中,我们基本做到按照公司正式员工的标准来要求自己,跟他们一样的上班时间,遵守一样的规章制度,保持旺盛的工作动力。一般是每天工作7个半小时,从8:45—12:00和13:00—17:15。当然有时候为了赶进度我们会在晚上或周末加一下班,而在相对比较轻松的阶段,特别的是在初期时,我们也会在工作中,找机会多学一些相关的知识。
2。2具体的工程开发内容
由于我们四个人分别的加入了三个不同的项目开发小组,以下是他们对于这次工作的一个小小的总结:
我们于今年暑假去天一软件进行社会实践,所做的项目为ST(系统测试)部门的MR(Modify Request)系统,MR系统为ST部门的最常用软件,是进行软件测试的必备工具,由于原有的工具已经不能满足现在的要求,我们将利用更新的技术,基于新的需求分析,重新编写该应用软件,该软件采用流行的Web_Browser的结构,利用ASP+SQL Server来实现整个系统,整个开发过程完全采用现代软件工程的方法来监控整个软件的质量。第一步的需求分析由朗讯公司提出,并做出了相应的Tier2文档。第二步的系统设计和数据库建模由我和另一位同学完成及相应的Tier3,其中经历了数次反复和review最终得到了一个完整的Tier3文档,第三步为coding,由于有前两步的基础,此步骤得以很快的完成。最后的软件通过了ST部门的专门测试,最终得到了部门经理的好评。
通过这一次社会实践,使我们在课堂上学习到的抽象的软件工程的理论有了一次实践的机会,经历了正规的软件过程,而且给了我们一次难得的与人合作的机会,相信这一切对我们将来从事大型软件开发都将是难得的财富。
TMS(Task Management System)项目管理系统
这个系统是由同事独立完成的,以下是他对于这次作的一个小小的总结:
暑假期间,我到了天一软件科技有限公司实习,在软件部(SW部门)负责基于web的项目管理系统的开发工作,即TMS(Task Management System)。
开发这个系统的目的是为了管理天一软件公司SW部门现在正在开发的发展情况,以方便管理者和项目的参与者之间的协调。开发的系统应该能够跟踪项目的最新进展情况。
在这个系统里,最上层的对象是项目,下面分成若干子项目:子项目下又分成若干Task(任务)(Project—Sub_Project—Task)这样的层次结构。对应于项目(Project)有项目主管PM(Project Manager),对应于子项目,有Team Leader;对应于任务,有Task Owner、Task Member、Task
Reviewer。PM负责添加、修改项目和子项目,以及添加上面所述的他以下的任何角色。上面的角色能加下面的角色,而下面的角色不能加上面的角色。TeamLeader负责子项目的管理(添加,修改,等等)。TaskOwner负责自己的一个或多个Task,定时向PM作报告(通过程序设置的时间发送定制的Email)当一个Task完成后,PM检查,确认后就结束此一Task并向所有的人(SW部门的人)发程序定制的邮件。当所有Task,Sub_Project都完成或部分、全部被取消后,整个项目就结束了。
整个系统用Web形式显示和使用。采用Active Server Pages即所谓ASP技术。数据库采用Oracle数据库,采用OLE连接远程数据库(TMS和数据库不在同一台机器上)。
虽然实践的时间比较的短暂,但我还是有了不小的收获,最大的收获是了解了一些软 件开发的程序化生产过程。还有就是能有机会向SW部门的职员的一丝不苟、兢兢业业的敬业精神学习。相信这些都将给我以后的学习和工作带来不小的帮助。
呼叫中心项目关于电话银行的开发公作前面已经提到过呼叫中心CALLCENTER解决方案是天一软件作为该公司新的经济增长点来开发的,文书解决方案适于针对不同的需求在上面开发一步的CTL应用,就如民 航语音电子系统、电子股票交易系统等,电话银行地其中一个可能的应用,也是公司在该解决方案上正在开发的第一个系统,而我本人则就是参加这个项目的工作。介绍如下:
电话银行系统的目标是提供银行的基本业务处理功能,其服务形式可发是自动语音或人工坐席。电话银行系统的主要功能包括账户查询、账户转账,、客户信息服务及客户投诉四大部分,我在该项目的具体工作就是,参与初期的需求分析以设计的讨论,提出一些建议,并在后面负责其中一个数据应用网的设计、开发以及调试。
该数据应用网关主要用来与电话银行系统以外的数据源进行通信,用于向电话银行系统屏蔽外界的数据的细节,如存放格式、存放地点、版本等。应用网关有以下的接口,如与电话银行系统的TCP/IP通信接口及DCOM维护管理接口,还有与外界数据源的'数据接口。针对于电话银行的这个应用网关的开发的主要工作由以下几部分组成:
a。 根据电话银行IVR流程的具体需求,和IVR协商确定IVR数据请求以及返回的接口,建立与数据库的连接,并且根据和IVR的数据接口编写具体的数据应用流程。
b。 应用维护管理接口进行应用网关与网关服务器的连接、注册工作,并实现网络服务器对应用网关远程操作中的一些方法。
c。 应用TCP/IP通信接口,在应用网关上实现IVR经由网关服务器的数据请求的处理。
d。 修改完善操作界面并编写《应用网关用户操作说明书》。
这些工作主要涉及到数据库的远程操作、微软的COM/DCOM通信机制还有TCP/IP通信原理,所以说这一次的工作不仅给了我深入了解一个大型软件开发企业的机会,也给了我一个很大的锻炼学习提高的机会。
3 总结
3。1 学习所得
如今一个星期的天一软件科技有限公司社会实践活动已经结束了,从这次活动的成果上来看,还是比较成功的。辛勤的工作换来的是累累的硕果,不管是对于企业、 学校,还是我们自己。
首先我们几个人在较短的时间内,克服各种困难,从最初的阅读文档,设计、开发,到最后的调试,完善,我们都按质按量的完成了,完成预定的工程开发任务,通过了公司相应项目小组的验收,也得到了他们的一致好评,实现了最初为企业作实际共享的目标。
其次在这个过程中,我们也通过了深入的调查、讨论,以对一个大型软件开发企业的结构、管理、文化、气氛有了比较详细的了解。而通过我们在公司中的工作上的良好表现,还有生活中与公司员工的交流,我们也在他们面前展现了了一个积极进取、勇于创新形象,起到了加强学校与企业双向交流的作用。
再有的一点就是,通过这次活动,让我们理论联系实际,在软件工程的开发过程、数据库的开发、分布式计算等工程实践经验上有了很大的提高。在公司中也培养了初步的大型项目合作开发经验,这一些都很好的增强了我们的个人的能力和并提高了自身的素质。
3。2经验教训
类似的以上的收获还有很多很多,但在活动结束的这个时候,仔细考虑一下,还是有一些地经验教训的。
例如在活动中我们能感觉得到,很多的工作经验,开发的知识我们了解的还是不够充分,致使我们在开发初期要发费较多的时间用于入门。但有一点感觉就是,我们在学校所学的一些基本知识还是比较有用的,例如网络通信砂理,数据库基本原理等,正是这些基础知识使我们在缺少工程经验的情况下还能尽快入手,后来赶上。
针对我们学校部分学生普遍基础理论知识较多,工程经验不足的现象,我们同学大可以去掉以往羞于参与工程,怕在别人前认短的心态,因为北京邮电大学学生在通信理论方面的基础知识还是比较丰富的,有了这一些知识,我们一般在工程面前还是能很快入手的,而为了更好的进行开发,我们也应该在校期间就多进行一些工程方面的锻炼,培养实际动手能力。
我想象这样一此让同学接触社会,培养实际动手能力的活动真的很不错,也是同学们所欢迎的,当然把这样的活动办好需要学校的老师和同学们共同努力。也希望,这样的活动能不断地继续下去,并发展壮大。
3。3感谢
虽就短短的一个星期,但我想这一份经历必将会为我们将来进入社会打下一个良好的基础,不管是在以后的就业指导上、还是在工作生活为人上,我们都拥有了一笔宝贵的财富。
所以在最后我想我们应当感谢为我们提供这次活动机会、还有在此过程中热心帮助我们的学校学生工作部,学校团委,研究生团委的老师们,另外还要感谢天一软件科技有限公司及其中的员工们。
经过长时间对国贸软件的的使用,在不断练习操作的过程中,我对国贸软件的最深刻感觉是:学以致用、有趣、必须细心耐心反应迅速。
1。学以致用
作为国贸专业,经过长时间的理论学习,急需通过实际操作或某种近似于实际操作的平台对所学的理论知识加以实践,以求进一步掌握和巩固,而国贸软件正提供这样一种平台。该软件涉及及出口贸易的各个方面和环节,从外贸公司的经营运作到实际的进出口业务流程,都能进行模拟实训。在使用过程中,会遇到很多国贸的基础理论知识和实务技能,这是对国贸理论掌握程度的最好考察。眼过千遍不如手过一遍,相对于理论部分而言,国贸实务更注重实际操作,通过这种理论结合实践的方式,巩固基础知识,查找理论学习的不足,以前学习的实物理论基础知识会更加的具体和直观。同时,该软件的'实务操作部分与报关员报关实务所涉及的知识基本一致,这对于我的报关员考试复习提供很大的帮助。
2。有趣
该软件通过“实战”方式训练,会在操作过程中遇到很多难题和挑战,这些必须自己想办法解决。由于大家进行角色划分,形成一个虚拟市场,所以大家之间相互的竞争是必不可少的,大家会从各个方面进行竞争。竞争在现在是无法避免的,意识正是现代社会生存发展所需要的。正是这种竞争,使得我(相信大家)对该软件产生浓厚的兴趣。
3。细心、耐心、反应迅速
国贸软件涉及大数据计算的繁琐的单证填写,所以必须做到细心耐心,例如,在填制外贸合同时,一个小小的数据错误或是货物装运、指运港名称的错误都会是合同填写失败;填写保险单或是报关单证,没有严格按照合同数据填制就会导致填写出现错误,无法进行下一步骤,影响实验效率。
在操作过程中,除复习、巩固所学国贸理论外,另一个重要任务就是想办法“赚钱”,提高自己企业的盈利水平和生存能力,这就要求必须反应迅速、判断准确,否则会觉得企业经营的举步维艰。
以上就是经过一段时间对国贸软件的操作使用产生的总结。
时间过的很快,转眼间已经实习将近5个月,其中有2个月是属于完全被流放的。
最先在内部系统组参与内部管理系统开发(struts+mysql+spring+hibernate),
之后是去做网络交换机软件的脚本测试。
现在又回归内部系统,虽然在脚本组期间,编码能力被别人甩在后头,但至少具有了一些测试经验。
至少自己做的东西,是真正交付到了客户手上,到也稍微有些成就感。
1 浅谈测试
一直以来,我都认为测试是脱离了软件工程范围的工作,不以为屑。但在实际情况中,测试是既重要且难以精湛的。其真正的压力,在于找不到bug,责任在你,而不在于编码人员。一般的测试人员不懂编码,他们靠的是日以累计的经验总结和想象力。而要做到高级测试工程师,则一定要懂编码,因为这是你完全掌握整个系统的方方面面具体运作的前提。但占主导地位的,还是大型系统的集成测试经验。实际项目中,编码时间一般只占30%左右,真正耗费时间的是IT阶段的找bug与对应bug,此阶段基本评定了coder的编码质量。
2 程序员的困惑
有些人,以为教学视频和代码看多,自己就懂的多,实际做起来,却不知从何下手,问题在那?如何定位?如何解决?通通跟一样能力有关,debug追踪能力,也称调试。在项目组工作不愁源码资源,但问题是蛋糕摆在面前,你如何去消化?
有位同事告诉我:代码看几遍都没用,要去抄,例如一个查询模块,在此基础上去做具体记录的历史记录查询模块,你可能会觉得很简单,但实际情况却往往报一堆异常,配置问题涉及到方方面面,以及数据库字段,传值问题等等,一大堆对于新人来说很郁闷的问题。但不用怕,只要学会调试,一个个问题去追踪,一个个去解决,自然而然,那段“源码”才真正属于你。
3 如何调试追踪?
如果你能在短短的时间内就看到问题点在那,放下断点去追踪,出去找工作,绝对没问题。出现问题的时候,不要光看代码,要用实际行动去追踪运行期间的具体值,那是最好途径。eclipse是个很爽的ide,这点做的很好。例如页面内容显示不是自己想要的数据,我们要先从数据库查询语句去下手,设置断点,一步一步step over,让sql字段(存取最终sql语句的字符串)运行到有值,inspect进去看,如果还看不出来,就点击它,copy后在sql客户端去实际运行,看看实际查询出来的表是什么,如果是对的,有可能就是页面调用的错误或者action逻辑的传值问题。
页面错误的调试,基本方法是用右键点击实际网页查看源代码,copy到editplus,就能看到具体错误发生在那几行。通常有几种常见的错误,。例如。缺少对象这种很多时候是有些被你调用的字段有可能为空的情况出现的,可以加if(xxx=null)语句加保护。追踪的方法基本就是用alert语句,放在有可能出错的地方。毕业实习总结
4 一些习惯
遇到问题先自己思考,无从下手再找高手帮忙看看,注意他帮你看的思路,别在一旁闲着,看多了自己也会了,不然你一辈子都停留在那种水平,从人身上学到的东西远远比书多的多。
解决了一个问题后,要去究根问底去找到问题产生的起因,以防你下次遇到类似的.问题再浪费同样的时间。
把代码写的漂亮,注释,空行,规范一样不能少,可读性是放在第一位。曾经看过一个高手写的代码,真的一看就是不同水平的人写的,几乎很完美,读起来很流畅,方便自己也方便别人。
任务完后不要呆着,去要求经理给你更有挑战性的任务,只要你肯去尝试,他们就会对你另言相看,把三天的任务一天加班搞定,效率和忠诚都有了,路也比较好走了。
5 题尾话
如果你有一份思想,我有一份思想,拿出来交换,我们大家拥有就是2分份思想,可惜这种观念,并不能深入每一个团队的每一个人,少一点自私,未必不是好事。职场到处都存在被排挤的隐患,要为自己找片草地实在不容易。但有一点要相信,只要自己不放弃自己,这世上就没有绝望的路,你可以被打趴下,可以被身边的人暗算,可以被深爱的人流放,只要你用自己决心站起来,受过的伤痊愈后就能增强你的抵抗力,一路前进!
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
软件工程(C编码实践篇)是一个非常不错的学习软件工程思想方法的实践性课程,通过一个小小的C语言项目的不断演化,体现了许多工程化的思想和方法,从而让我们更加深刻的理解软件工程理论的内涵。通过跟随模仿孟宁老师的代码实现,从无设计代码,模块化设计的代码,到可复用的代码和回调函数等接口设计,提高了我们工程化代码的编写能力,让我们能够严格遵守代码风格规范来编写代码。总之,这门线上课程重视实践,可以使我们对软件工程有一个直观感性的认识。个人感觉学了这门课之后受益匪浅。必须点赞!!!
实验报告目录:
第一周 课程实验环境准备
实验一:写一个hello world小程序
第二周 代码风格规范
实验二:命令行菜单小程序V1.0
第三周 基本的模块化设计
实验三:内部模块化的命令行菜单小程序V2.0
第四周 可重用模块的接口设计
实验四:用可重用的链表模块来实现命令行菜单小程序V2.5
第五周可重用模块的接口设计(callback函数)
实验五:用callback增强链表模块来实现命令行菜单小程序V2.8
第六周函数的可重入性(reentrant)及线程安全
实验六:函数的可重入性(reentrant)及线程安全
第七周 子系统的可重用设计
实验七:将menu设计为可重用的子系统
总结部分:
学习《软件工程(C编码实践篇)》课程中最大的收获:
熟悉了Linux环境下的C语言编程开发,了解了Vim的基本设置。熟悉了Git命令行的使用;熟悉了函数的复用、程序循环等思想;体会到模块化的重要性和精髓,及包容变化的能力:将变化和不变的`部分分离。 同时我也了解到KISS原则、设计与代码的一致性、错误处理,用数据结构和控制结构来简化代码等一系列重要原则。学习了链表的很多基本操作代码,同时对在头文件中声明函数、定义常量的一些基本规则、技巧有所了解,进一步加强了代码的编写规范,对程序之间的接口规范化有了初步了解。了解了callback回掉函数机制,使用此函数可以把调用者与被调用者分开,所以调用者不关心谁是被调用者。它只需知道存在一个具有特定原型和限制条件的被调用函数。简而言之,回调函数就是允许用户把需要调用的函数的指针作为参数传递给一个函数,以便该函数在处理相似事件的时候可以灵活的使用不同的方法。了解了函数的可重入性与线程安全之间的关系:
1、可重入的函数不一定是线程安全的;
2、可重入的函数在多个线程中并发使用时是线程安全的,但不同的可重入函数(共享全局变量及静态变量)在多个线程中并发使用时会有线程安全问题(可能是线程安全的也可能不是线程安全的);
3、不可重入的函数一定不是线程安全的;
1、可重入的函数不一定是线程安全的;
2、可重入的函数在多个线程中并发使用时是线程安全的,但不同的可重入函数(共享全局变量及静态变量)在多个线程中并发使用时会有线程安全问题(可能是线程安全的也可能不是线程安全的);
3、不可重入的函数一定不是线程安全的;
pthread_rwlock_t基本用法
操作相关函数说明
初始化读写锁pthread_rwlock_init
读取读写锁中的锁pthread_rwlock_rdlock
写入读写锁中的锁pthread_rwlock_wrlock
解除锁定读写锁pthread_rwlock_unlock
销毁读写锁pthread_rwlock_destroy
学习了支持带参数的复杂命令,并尝试使用GNU make来构建和管理自己的工程。
最后分享一下老师上课引用的经典名言警句,与君共勉:
夫事未有不生于微而成于著,圣人之虑远故能谨其微而治之,众人之识近故必待其著而后救;治其微则用力寡而功多,救其著则竭力而不能及也。
――资治通鉴
学习完《软件工程(C编码实践篇)》课程后最大的遗憾:
课程非常精致,但结合之前相关的软件开发经验,发现现在太多程序员都不能真正理解软件工程的精髓,希望以后能有更多程序员来学习孟老师的课程,够好好体会一下软件工程的魅力所在!
一.实习题目
c/s模式下的网络游戏平台(类似于联众)
二.题目要求
a. 平台上至少能够提供两种游戏(仅供两人参加)供用户选择。
b. 服务器端实现用户账号、密码的管理,监控用户上下线状态管理。
c. 服务器端实现用户游戏数据及文本通信数据的中转交换。
d. 客户端能够连接到服务器并选择游戏种类和游戏桌面,并参与游戏。
e. 客户端能够通过服务器进行文本通信。
三.小组成员及分工
组长:黄? 飞
成员:黄? 飞? 王润琛? 陈? 磊 韩振军 王向富
四.人员安排及进度
a. 人员安排:
黄? 飞:系统设计,文档管理:2周,系统的集成与总结:1周
陈? 磊:编写项目计划文档:0。5周,需求,概要文档的编写:2周
王润琛:系统设计:1周,程序主要模块的实现:2周
韩振军:需求的'收集与文档:1周,软件测试与分析:1周
王向富:编写软件测试计划:1周,软件测试:1周。
b. 进度:
第一阶段 项目启动(05-8-22----------05-8-23):? 实习分析;项目简单分工。
第二阶段 需求分析(05-8-24----------05-8-26):? 确定软件性能;功能;编写文档。
第三阶段 概要设计(05-8-29----------05-9-01):? 确定总体架构,程序模块。
第四阶段 详细设计(05-9-02----------05-9-07):? 设计客户端,服务器端细节。
第五阶段 软件实现(05-9-08----------05-9-16):? 编写源代码。
第六阶段 软件测试(05-9-19----------05-9-21):? 完成测试及文档。
第七阶段 项目总结(05-9-22----------05-10-07):? 总结提高,答辩。
五.系统架构
整体架构图:
六.实现的功能与未实现的功能
a. 实现的功能:
客户端:
1)用户登陆:用户运行客户端软件后,弹出登陆框,用户通过输入帐号和密码登陆平台,高级实现程度有记住密码选项。
2)用户注册:登陆框有注册选项,供用户注册新平台帐号。用户需要输入新的帐号名,密码,以及一些基本资料:姓名,性别,出 生日期,邮箱。
3)用户修改资料:用户可以在登陆后修改个人基本资料,除帐号外其他资料均可选择修改。
4)用户选择游戏:用户登陆后,平台界面即会显示所支持游戏,用户可选择要进行的游戏。平台与游戏捆绑安装,在高级实现程度下服务器新增加游戏通过新的安装文件提供给用户。
服务器端:
1)批准新用户注册:基本实现程度为由服务器自动批准,既用户名不与现有用户冲突并且用户名和密码长度符合规范(用户名长度不超过十个单词或字母,密码不低于6位)及予以批准。高级实现程度为服务器与管理员双重批准,既服务器批准后只具有参观游戏和聊天等功能但不能参加游戏,需等管理员批准后赋予正式的用户权利。
2)删除用户:服务器管理员可以从数据库删除任意已注册用户(所有用户资料项同时删除)。为防止误操作等情况发生,高级实现程度中删除用户操作只是暂时禁止该用户登陆,数据库保留该用户资料一周(或数周,示服务器硬件资源)后再自动删除。
b. 待实现的功能:
1.用户登录的限制
用户在不同地点以相同的用户名登录。
注册时对新用户名的符号检查。
转眼间,到昆山已经两个多月。不知不觉中我已经从一个在校生变成一个职员。这跟在我们学校是完全不一样的。除此之外,安博还制定严格的制度,这些使我们在安博的培训像职工在公司工作一样,让我们提早接触到公司的氛围。
来安博最重要的目的还是学技术,那就说说这里的教育情况吧。安博实行的是上午授课,下午上机练习的制度。我觉得我们这个班上午的授课经理非常好,他对java的理解非常透彻。我在大学学半年的java,仅仅停留在表面上,对实质的内容根本都不解。比如说==与equals的区别,方法的覆盖,变量的隐藏等等。老师通过图的方式,给我们讲解它们在内存中的情况,使我们从本质上解这些东西。他的这种授课方式,既生动又形象,彻底地将问题讲明白,我们接受起来轻松容易,也不容易遗忘。
除他的讲课方式以外,他还是一个非常幽默的人,坐在凳子上听四个小时的课,会很乏味的,他时不时的给我们说一些搞笑的事,或者开玩笑的话,使课堂气氛非常活跃。他每讲完一个新知识点,都给我们留一点时间练习,加深对新知识的理解。我们有什么问题,他都会很耐心的跟我们讲解,不管程度是好是坏,他都一样对待。总之,听他的课就是一种享受。他还把跟知识相关的材料发给我们,让我们有研究的空间。有时还给我们一些面试题,让我们提早看,只有准备好去应聘才有机会。
昆山还给我们开一些素质课,讲解一些职场素质,如何为人处事,如何同面试官讲话,还要求我们在日常生活中也尽量做到。在我们就业之前开这样的课,对我们这些即将踏入社会的大学生来说是非常重要的。公司招聘员工,一看实力,二看素质,两者缺一不可。
总之在昆山的这段时间中,我学到很多。时间虽短,但所学到的和知识的实用性很强。所有的老师们都教给我们很多工作习惯、工作技巧、日常礼仪、职业素养和心态方面的东西。使我们对今后的工作有新的认识,增添的极大的信心。
学会学习和团结
我们学半个多月的基础知识,也该是用一用的时候。这半个多月,应该算是安博给我们安排的p阶段的训练时间。我们开始接触一些小型的系统,实训员工管理系统等。这些小型的系统巩固我们的基础知识,让我们学会一些编程的技巧,以及一些验证的方法。
每做完一个系统,我们都有一个项目演示环节。自己带着项目在全班学生的面前演示。讲解自己是如何实现的,说出自己系统的亮点和不足,然后由其他学生来挑系统的毛病,找出漏洞。通过这种方式,你可以学到其他学生的优点,别人好的编程思想你可以在以后的项目中运用。这是一个自我提高的方式。
接下来我们做一个财务管理系统,用mvc三层架构实现的,jsp+struts+hibernate,这个系统是我们小组共同完成的,jsp用于前台的显示,struts调用bean的方法与数据库连接。这个系统做完之后,我觉得一个项目的流程图是十分的'重要。如果没有总体的框架,后期修改会是很麻烦的。做项目之前我们应该先总体考虑一下布局,不要急着编程。 在做项目的这段时间里,我感觉自己的知识面太窄,书到用时方恨少。做项目不仅检查我们的基础知识掌握程度,而且给我们提供自我提高的机会。项目做完以后,我感触颇深。以前在学软件工程的时候,一直不觉的文档很重要,老是认为编码最重要,做这个项目纠正我的错误认识。
我认识到概要设计,详细设计是何等的重要。团队合作,最重要的是合作精神,不能自己一个人编程,不管其他的人。项目都是分模块做的,每个模块直接是有联系的,组内必须协调好,否则在整合的过程中会出很多的问题。一个大项目给个人自我发挥的余地是很大的。如果数据库里的数据太多,在显示的时候就应该考虑分页,分页的方法有很多种,这就是一个值得钻研的问题。在此期间我学会自己解决问题的能力,在发现错误的过程中,才能学到更多的知识。知识是无穷的,不要为就业而学习,而是为提高而学习。多读书,能提高自己的逻辑思维能力。要多和其他人交流,不要闭门造车。
20xx年2月2日,我有幸成为北京超图一员,应聘为公司的java软件工程师。入任职以来,在部门领导的带领下,自己感觉无论学习、技术、生活等方面都有很大的提升。
20xx年里我主要完成的工作有三方面:
1、荆门石油石化巡检系统的调研和开发。
该项目是我工作以来第一次涉及到调研,对我来说算是一个不小的挑战。在调研过程中,让我学会了如何通过和客户的沟通来了解客户的需求。由于自己的工作经验不足,在调研工作中体现出一些问题。不能很直接的在和客户沟通中非常准确的了解客户的更多需求,有很多需要和客户交流沟通多次才能明白客户的最终需求,也没有把自己作为最终用户并站在用户的角度上来考虑问题,这些都是我在以后的工作中需要提高和改进的地方。在巡检系统的开发工作中,让我进一步巩固和加强了自己的开发能力。
2、电信12530增值业务的开发与维护。
从5月以来我就开始接手公司的主要业务之一,12530电信增值业务。由于前面负责这个项目的同事突然离职,导致这个项目的交接工再做得不够好,对我顺利接手这个项目造成很大的困难。而刚一接手这个项目,马上就需要新上一个投票活动,并要对一些主要代码进行修改,让我倍感压力,几乎都快放弃。最后在金总的指导和鼓励下,顺利的完成这次活动。在完成这次投票活动后,为了避免下一个接手这个项目同事与我遇到同样困难,我第一时间将这个项目的相关技术文档补充完全,保证别人能够顺利的进行该项目工作。通过这个项目,让我加强了自己在高强高压下工作的能力,也让我找到更多自信。
3、襄樊、鄂州家政网络服务中心的开发与实施。
在这两个项目中,除了承担开发工作以外,也逐渐涉及到项目管理的职责,让我在个人能力上有所提高。为了这两个项目能够顺利完成,除了完成自己的工作外,还主动关心其他同事的工作完成情况。让我在项目管理和项目进度的把控能力有很大的提高。将襄樊、鄂州家政网络服务中心顺利实施,为我公司拿下湖北省其他市的家政网络服务中心奠定基础。在工作之外,我也注重个人能力的提高。工作之余,主动学习一些新技术,与同事沟通配合,搭建一个ssh的开发框架。也学习springsecurity知识,这些新知识的积累,对我以后的工作有很大帮助。
20xx年工作展望:
1、将学习的springsecurity整合到我们自己搭建的ssh框架,进一步完善框架。
2、利用搭建的ssh框架,开发一套oa系统平台。
3、做好襄樊、鄂州家政网络服务中心的维护工作。
4、希望公司能够大量拿下湖北省其他市的家政网络服务中心,继续开发和实施湖北省其他市的家政网络服务中心。
5、继续学习新技术,努力提高自己的个人能力。为以后能够更好,更顺利的工作奠定基础。
6、希望通过自己的进步和努力,能为公司的发展做出自己最大的贡献,体现出自己的最大价值。
以上这篇个人年终工作总结算是程序员惯用的一种写法,先回顾本年度自己做过的项目,总结项目的经验,再描述下年度的工作计划。
总结二:转眼间实训已过去一段时间,之前的兴奋、喜悦如今已经让我熟悉,在实训的每一天都会让我有成为一名真正的财富者拥有的冲动。也许,在这期间不一定会让一个人有着翻天覆地的变化,但变化就是这样一点一点产生的。通过这一期的实训,虽然倍感折磨,但是收获却是很大的,学习中我不但有了学习成果的喜悦,而且自己也日渐成熟,有种说不出的喜悦
在实训的过程中,我深深的体会到了自己在专业知识方面的欠缺和不足,也意识到了自己作为计算机软件专业的学生,要想在以后的职业中崭露头角,除了要有过硬的理论知识,健康的体魄之外,还必须具备良好的心理素质,是自己在以后的途中无论经历什么样的困难,都立于不败之地。通过实训老师的课堂讲解与企业文化标准的培训,使我加深了对自己专业的认识,从而确定自己以后的努力方向,要想在短暂的实训时间内尽多的学到东西,就需要我们跟老师或同学进行良好的沟通,加深彼此的了解,只有我们跟老师多沟通,让老师更了解我们,才能更真切的对我们进行培训工作。由此,班级的文化"共享"就在生活中慢慢形成了。
"纸上得来终觉浅,绝知此事要躬行!"在这短短的时间里,让我深深的感觉到自己在实际应用中所学来专业知识的匮乏。让我真真领悟到"学无止境"这句话的涵义。而老师在专业认识周到中所讲的,都是课本上没有而对我们非常有实际意义的。这又给我们的实训增添了浓墨淡彩的光辉。我懂得了实际生活中,专业知识是怎样应用与实践的。在这些过程中,我不仅知道了职业生涯所需具备的专业知识,而且让我深深体会到一个团队队中的各个成员合作的重要性,要善于团队合作,善于利用别人的智慧,这才是大智慧。靠单一的力量是很难完成一个大项目的,在进行团队合作的时候,还要耐心听取每一个成员的意见,是我们的组合达到更加完美。
这次实训除了让我明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完成一个任务,懂得了享受工作。当遇到问题,冷静,想办法一点一点的排除障碍,到最后获取成功,一种自信心就由然而生,这应该就是工作的乐趣。有时候不懂的就需要问别人了,虚心请教,从别人的身上真的能学到自己没有的东西,每一次的挫折都会使我更接近成功。还有学会了在工作中与人的合作与交流,同乐同累,合作互助,这是团体的精神,也是必须学习的东西。
经过之前的学习,对程序设计有了一定的认识与理解。在校期间,一直都是学习理论知识,没有机会去参与项目的开发。所以说实话,这次实训,软件项目开发对我来说是比较抽象的,一个完整的.项目要怎么分工以及完成该项目所要的步骤也不是很明确。而经过这次实训,让我明白了一个完整项目的开发,必须由团队来分工合作,并在每个阶段中进行必要的总结与论证。
一个完整项目的开发它所要经历的阶段包括:远景范围规划和用例说明、项目结构和风险评估、业务功能说明书、详细设计说明书、代码实现、测试和安装包等等。一个项目的开发所需要的财力、人力都是很多的,如果没有一个好的远景规划,对以后的开发进度会有很大的影响,甚至会出现在预定时间内不能完成项目或者完成的项目跟原来预想的不一样。一份好的项目结构、业务功能和详细设计说明书对一个项目的开发有明确的指引作用,它可以使开发人员对这个项目所要实现的功能在总体上有比较明确的认识,还能减少在开发过程中出现不必要的麻烦。代码的实现是一个项目开发成功与否的关键,也就是说,前期作业都是为代码的实现所做的准备。
我深刻的认识到要成为一名优秀的软件开发人员不是一件容易的事情,不仅要有足够的干劲和热情,还要有扎实的编写代码基础,必须要有事先对文档进行可靠性报告,功能说明书,详细设计说明书等的编写和一些风险评估的编写的能力。
除了图书馆,最能让我感觉到身在大学的就是实训机房,在匆匆过去的两个月内,我往返于实训机房与宿舍之间,使我享受了一个充实的学习时期,让我感受到了大学的魅力,对自己充满信心,对大学充满信心,以积极的心态迎接明天挑战。
实训中要求有扎实的理论基本知识,操作起来才顺心应手,我这时才明白什么是"书到用时方恨少"。这就激发了学习的欲望。 "学以致用",就是要把学来的知识能运用到实际操作当中,用实践来检验知识的正确性。我想,这是实训的最根本目的。 最初在实训时自己就有一些不自信,但随着项目的进展,我慢慢的找到了自己的位置,找到自己的目标,虽然自己与好的同学还有差距,这也给了我很大压力,但是我相信没有压力就没有动力,所以在整个实训过程中我都在不断地努力。
实训期间让我学到很多东西,不仅在理论上让我对IT领域有了全新的认识,在实践能力上也得到了很大的提高,真正的学到了学以致用,更学到很多做人的道理,对我来说受益匪浅。我意识到自己知识的缺少,这激励我在以后的学习、工作、生活中要不断了解信息技术发展动态以及信息发展中出现的新的技术。
除此之外,我还学到了如何与人相处,如何和人更好的交流,我们组成一个团队大家一起开发一个项目,大家的交流沟通显得尤为重要,如何将自己的想法清楚明白的告诉队友,如何提出自己想法的同
时又不伤害其他的队友的面子,这些在我的实训生活中都有一些体会。可是说,第一次亲身体会理论与实际相结合,让我大开眼界。也是对以前学习的一个初审吧,相信这次实训多我以后的学习、工作也将会有很大的影响,在实训的这段时间里这些宝贵的经验将会成为我以后工作的基石。
作为即将毕业走出校园的学生,经过3年的在校学习,对程序设计有了一些基本的理性的认识和理解。在校期间一直忙于理论的学习,没有机会也没有经验来参与我们项目的开发,所以在实习之前软件按开发对我来说是非常抽象的,一个完整的项目要怎么来分工以及完成该项目所需要的基本步骤也不明确,通过这次实训让我明白一个完整项目的完成必须团队分工合作,并在每个阶段进行必要的总结和检查。在我们项目的开发过程中我们项目的步骤:详细设计、详细设计review、编码、编码。在项目开发过程中我也深刻的体会到详细设计对一个项目开发有明确的指引作用,它可以使开发人员对这个项目所要实现的功能在总体上有具体的认识,并能减少在开发过程中出现不必要的脱节。
这次实训是对我们学习的一个检验,虽然项目中很多知识我们在日常的学习中都没有遇到,这同时提醒我:要想成为一个合格的程序员就有具备一种自学能力,在工作中会遇到很多从未接触过的问题,当有了问题时要去解决,在你不断努力,寻找答案的过程中,自己的能力也在潜移默化的提升。有时遇到问题时可能有很多想法但却不知道那个正确,这就让我们不断地去探索,不断地尝试
在这次实训中,让我体会最深的是理论联系实际,实践是检验真理的唯一标准。理论知识固然重要,可是无实践的理论就是空谈。真正做到理论与实践的相结合,将理论真正用到实践中去,才能更好的将自己的才华展现出来。我以前总以为看书看的明白,也理解就得了,经过这次的实训,我现在终于明白,没有实践所学的东西就不属于你的。俗话说:"尽信书则不如无书"我们要读好书,而不是读死书。现在的社会需要的是动手能力强的人,而不是理论好的人,对于我们高职生来说这更重要了,我们学校的目标就是培养一流的职业技能的人。
在实训期间,我认为我也有很多不足的地方,比如工作态度不够积极,学习不够认真等等。我相信通过我的努力,我以后一定会改掉这些缺点的.我坚信通过这一段时间的实习,所获得的实践经验对我终身受益,在我毕业后的实际工作中将不断的得到验证,我会不断的理解和体会实习中所学到的知识,在未来的工作中我将把我所学到的理论知识和实践经验不断的应用到实际工作来,充分展示自我的个人价值和人生价值。为实现自我的理想和光明的前程努力。不经历风雨,怎能见彩虹!"我相信,自己坚定的信心及个人坚定的意志,一定会实现自己美好理想,走上自己的成功之路。
版权声明:此文自动收集于网络,若有来源错误或者侵犯您的合法权益,您可通过邮箱与我们取得联系,我们将及时进行处理。
本文地址:https://www.gunzhua.com/jiuye/shixizongjie/219501.html