摘 要:通过十周的实习期,在指导老师的帮助下,我对信雅达系统工程股份有限公司有了深入的了解,也熟悉了公司的各种规章制度、代码规范。对企业的编码工作有了重新的认识也认识到了编码工作的重要性。在实习期间,结合自身所学和参照单位前辈所写的代码,较好的完成了部门指导老师所布置的编码任务。本文说明了毕业实习的目的和意义,介绍了本次实习单位的基本情况,描述了主要实习过程和实习内容,最后对本次实习进行了总结。 关键词:毕业实习;编码;软件公司;网站建立
1序言 毕业实习是指学生在指导老师的指导下,独立从事社会实践工作的初步尝试,是毕业生在即将踏入社会之前对社会工作的熟悉过程,有利于毕业生在毕业后能够尽快的投入到社会中去创造自己的价值。通过毕业实习的过程,我们能对公司的工作流程、规章制度、代码规范等有一个全面而直接的了解,在日常的工作中也能不断积累实践知识、经验将自己的定位从一个学生逐渐转变为一个工作者,它不仅培养我们的综合能力,使得我们既能掌握其他专业的基本理论和基本知识,又能具有对于所学知识的运用能力以及独立工作的能力,为我们在毕业后,能顺利地走上工作岗位打下良好的基础。 2实习单位简介 信雅达系统工程股份有限公司是浙江省首家在国内主板上市的软件公司(股票代码:600571),也是国内专业从事软件产品的研究开发、系统集成、运营服务的高科技企业。系国家计算机信息系统集成一级资质企业,国家规划布局内重点软件企业,全国20家优秀系统集成企业之一,国家火炬计划重点高新技术企业,“十五”国家863计划成果产业化基地之一,中国软件业百强企业,中国电子政务IT百强企业,“中国软件欧美出口工程”试点企业(软件外包型A类),浙江省首批认定的软件企业,也是经国家密码管理委员会批准的商用密码产品生产定点单位。 目前,信雅达在北京、上海、深圳、宁波等主要大中城市设有二十一家办事处和十五家控股子公司。公司一直致力于自主产权软件的开发和应用服务,公司产品在工行、农行、建行、中行、交行、中信、浦发等银行的总行及数百家地、市级以上分支机构、七百多家证券营业机构,以及保险、税务、工商、交通、教育、司法、电力等行业和政府部门获得广泛应用,成为国内著名的软件开发商和系统集成商。 3实习主要过程和内容 3.1熟悉公司的规章制度 没有规矩不成方圆,了解公司的规章制度是毕业实习的一大内容,一个公司之所以能够有条不紊的运作下去主要依靠的就是公司的各种规章制度来协调各方工作。规章制度是实现公司职能的不可缺少的必要条件。新员工的培训日程的第一项就是熟悉掌握公司的规章制度和理念,掌握规章制度基本知识,学好内部的各项规章制度,对我们的工作和生活具有重要的指导意义和现实意义。 第一周在参观完公司后,就被安排参加了公司组织的实习生培训会议,在会议上各个部门的人员分别跟我们介绍了公司在财务、人事、业务等方面的规章制度,如:财务报销制度、请假制度、薪酬管理制度、职务升迁制度等。经过培训介绍了解到了公司的各种工作流程。后来还有公司的项目经理和我们分享公司在项目开发上的一些经验,说了一些在我们刚刚接触项目开发是可能会遇到的问题和困惑。
3.2学习SunDS、SunFlow等开发软件的使用 信雅达的SunFlow工作流管理系统是信雅达自主开发的一套业务流程管理系统,信雅达许多部门产品都是依托于SunFlow作为底层实现的所有熟悉SunFlow的使用是本次实习的主要任务之一。 信雅达工作流管理系统SunFlow能将业务流程的流转逻辑同流程运行中的应用软件分开;能管理流程参与者之间的关系;能集成内部与外部流程资源和监控流程的运行,能适应不同的软硬件环境。它提供了一套完整的企业业务流程管理解决方案,为企业的业务流程自动化以及企业流程再造提供坚实的基础平台,成为业界领先的企业业务流程自动化以及企业流程再造的核心产品,具有广阔的市场空间。 SunFlow的熟悉和使用是一个较为长的过程,还好SunFlow是有图形化的操作界面,使用起来较为直观,结合部门下发的有关SunFlow的文档快速了解SunFlow的工作流程、用途、概念,开始接触有关JAVA IDE开发、脚本构件开发的相关知识、技能以及有关编写数据库存储过程的内容。在经过一段时间的了解之后部门分配的指导老师给我们布置了有关SunFlow的流程设计作业,主要就是根据文档上描述的流程任务来用SunFlow软件具体实现出来,经过反复的摸索和讨论我们最终将流程完整的实现了。 SunDS是信雅达流程银行部门主要使用的开发软件,流程银行的主要业务是驻场开发,所以开发时间紧这就对开发工具的熟练程度要求较高,SunDS主要配合SunFlow进行开发,SunFlow在设计完流程之后再由SunDS进行每个节点的脚本设计和编写,主要工作就是对银行系统的数字化流程再造。 经过2、3天的软件熟悉之后进入了实际代码编写阶段,指导老师下发了一份练习用的需求文档,让我们根据需求文档编写出脚本,SunDS使用的脚本文件是纯JAVA实现的主要就是完成对数据报文的操作功能,虽然需求文档上的功能要求并不难,JAVA自带的String类里已经有了这些功能的实现方法,但是 把完成的脚本加入到SunDS中还是费了一番周折。进过对文档的详细阅读和摸索终于完成了对脚本的编写工作和添加,经过这次练习感觉对整个软件的使用都有了新的认识,主要业务流程也更加熟悉了。 3.3完成直销银行后台管理模块的编写 因为流程银行工作特性的原因,在年末比较空闲,而直销银行任务较重使用经过部门调动被调到了直销银行进行实习。 因为直销银行是新成立的部门所有代码任务较重,没有太多的练习时间在熟悉整个项目1-2天之后就进入了时间开发阶段。首先接触的是直销银行的后台管理模块,整个项目是一个JAVA WEB的项目,我接触WEB项目较多所有比纯JAVA实现的项目上手更快,部门前辈发下了一份功能的概要设计,根据这份概要设计进行编码,简单的说就是把概要设计上的文字转换成具体的代码。接触公司的编码之后发现公司的编码和自己以前的方式方法还是有很大不一样的,公司的编码更加规范、更具维护性,这让我了解到了自己在编码上的不足之处,我还接触到了一些成熟的设计思想和方法,比如对于数据字典的运用、按钮的数据库动态加载、layer插件的使用等。虽然实现的功能较为简单就是对于数据库的查插删改,但是在熟悉整个项目的编码方式上花了很多的时间有很多部分刚上手的时候完全看不懂,还有以前没有接触过的MYBATIS插件等,对我来说都是新的东西。在经过3天的编写后终于把功能点完成了,我感到这次编码工作对我来说是一个很大的锻炼,开始真正接触到企业的正规编码了不再是以前自己的小打小闹,对于我的编码意识和水平都是一个极大的提高。
3.4 持久层框架MyBatis 的使用 iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。而后更名为MyBatis, MyBatis提供的持久层框架包括SQL Maps和Data Access Objects,(DAO)[1],不同于以前使用的Hibernate,myBatisz更加轻便灵活,在易用性方面要超过Hibernate。 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库[2]。 因为项目的原因接触了MyBatis这个持久层开发框架,以前一直苦恼于Hibernate的类映射文件的编写,接触MyBatis之后发现这个框架不用写类映射文件感到无比方便,在进过一段时间的运用之后我就彻底喜欢上个这个框架。MyBatis不像Hibernate那样是个完全的ORM框架但是在操作性方面一点也不输而且在灵活性方面还远超Hibernate, MyBatis使用的Map传参,也用Map接收,这大大减少了DAO层的编码时间,也减少了Service层的改动。 MyBatis的接触和使用让我感觉到在编码方面已经有很多好用的成熟框架,我们只需了解并使用,这大大降低了开发时间,提升了开发效率,让我获益匪浅。
3.5完成直销银行前端模块的编写 经过在直销银行后台管理模块的编写之后,又开始了前台页面的编写,与后台管理模块的不同之处是前台是面对客户的使用要求的是美观、便捷与后台管理模块不同。比较注重美观所以用到了许多插件如DataTables、highstock、bootstrap等比较美观又方便的插件。 DataTables是一个数据表展示的Jquery插件,运用AJAX的方法传数据,自带的分页,页面显示、页码跳转,大大减少了编码工作使程序代码更加简洁。 Highstock、bootstrap都是效果比较好的展示插件一个是折线图另外一个是柱形图,能够更加直观的将数据展示出来。 熟练的运用各种插件也是一个合格的程序员的必备能力之一,插件的运用大大简化了代码难度、提升了效率也让页面更加美观实用。在前端模块的编写中不仅运用到了各种插件还有大量的js、jquery的运用,也大大提升了对jquery的理解熟练程度。
4实习收获和体会 4.1实习收获 (1)了解公司的概况、企业的规章制度WWw.Eeelw.com 经过专门的新员工培训和日常的熟悉,对公司的各种规章制度有了一个全面的了解,虽然因为是实习生所以还没有接触到类似报销的部分但是对于报销制度有了大概的了解也方便在以后的工作中使用到,可以说熟悉了解公司的规章制度是踏入社会、走进公司的第一步。 (2)在工作中锻炼了自己的耐心和细心 在实习期间的任务虽然不是很重大,但很多工作需要很大的耐心和细心,例如在直销银行的实际开发过程中因为对项目开发方式的不了解,导致了即使一个简单的功能也需要花大量的时间以保证代码与公司代码规范一致,在这过程中需要大量的耐心,同时也培养了良好的代码习惯。 (3)提高了自身的代码能力以及沟通能力 在实习期间,因为是实习生的缘故,项目组的人开始也不会布置较难的任务,而随着完成的功能点越来越多,对项目也越来越熟悉项目组也能放心的将一些较重要的任务布置下来,提升了代码能力。项目组是由多人组成的,不同的功能之间也是有交叉的部分,这就需要和项目组其他人员进行良好的沟通保证代码的通用性,防止BUG的出现。 4.2实习体会 (1)在实践中认识自己的不足和欠缺之处并虚心改正 经过十周的实习,对企业的开发流程、开发方法有了一个全面的了解,也发现了自己带代码方面的不足,许多插件、框架的不熟练、不知道都是问题,经过实习在编码的过程中也是在不断的学习改进自己,让自己更加充实、能发挥自己最大的能量来为企业工作。 (2)积累实际开发经验,加深对理论知识的理解 虽然有个专门的编程的培训,但是在许多知识方面还是只是停留在了解,并没有实际的运用起来,但是经过实际的编程之后发现以前认为的偏门的知识点其实是十分有用的,像枚举类以前只知道有这样一个东西而没有用过,但是到了实际开发过程中发现枚举类十分重要,以前是因为编码不规范导致的不使用枚举。这些都是只有在实际开发后才能了解的珍贵的经验教训,让我在毕业后能够更快、更好的投入到实际的工作中去。
5总结 实习的基本目的,在于通过理论与实际的结合,通过自身的努力进一步提高思想觉悟、业务水平,尤其是观察、分析和解决问题的实际工作能力,以便在以后更好更快地融入社会。通过这次的毕业实习,我不仅掌握了许多在书本上学不到的知识,也接触了一些在编程上较为先进的技术,充实了自我,完善了自己的知识体系和实践经验,让我向一个合格的毕业大学生和社会工作者又迈出了坚实的一步。 |