已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 / 16 软件开发实习总结 软件开发实习心得 一直以来期望从事自己喜欢的事业的我,对软件开发有者及大的兴趣,可由说种种原因使我从事工作以来走了好几年弯路,心中的梦想迟迟不能得以实现,可程序员的梦想从来没有从我的心中抹去,但这扇大门好像并没有向我敞开,今天,贵公司给了我敲开这扇大门的机会,让我真实体验了程序员的诞生过程。早就听说,程序员的前几个月是最苦的,可从来没有感受到,海马实习基地让我提前感受到了刚刚进入软件行业的压力和困惑,再也没有在自己家里随便写段小程序后的那种“自豪”感了。要面对每天必须 面对的问题,再也不可能以“逃避”而了之了。也让我感觉到做为一个程序员所应该具备的基本素质在这不到一个月的实习过程中也让我深深体会到了作为一个合格的程序员应该具备的基本素质。 团队精神和协作能力是程序员应该具备的基本素质,最近的工作中让我深深休会到了这一点,由于小组成员配合不好,使本来很方便的 cvs 给自己的工作带来的及大的麻烦,一不小心自己写的的东西就会被小组别的成员在上传文件的时候给覆盖掉,一整天的工作可能就这样被反工,我们小组这次就是因为协作不好,导致各模块之间不法连接,给工作带来了及大的麻烦 ,消耗了大量的劳动力还没有提高2 / 16 工作效率。这使我深深的体会到:一个成功商业性软件的开发必须有一个有强大凝聚力的团队,个人的力量是有限的,团队精神和良好的协作会使我们做出优秀的软件。 良好的文档是正规研发流程中非常重要的环节,作为代码程序员, 30的工作时间写技术文档是很正常的,缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。这次的这个小小的项目,就因为文档上的一点点理解错误让我们花了很大的工夫去改代码,改页面。很庆幸的是,这是一个小项目,要是大项目,这 种问题可能就会导致大量的代码修改,可见文档在一个项目中起者巨大的做用。 此外,良好的代码编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。作为一个程序员,对需求的理解能力也是很重要的,只有真正理解了一个模块的作用,才会写出高效率的代码,才能使整个软件项目作出来更加优秀,具备更好的安全性和稳定性,我在写代码的过程中就遇到了需求理解上的问题,使得写出来的代码功能不全,幸好不是给客户发现在,要不,这个软件的商业价值可能就会打折扣了。单元测试对于一个程序员来说是不可不做的一项工作, 不做好测试就会给后期的集成工作带来麻烦,往往为了一个小问题会让我们查找好多模块,给后期工作带来很大麻烦。 3 / 16 这一段时间的工作也让我明白了一点:一个优秀的程序员必须不断的学习,随时总结,找到自己的不足,这样逐步提高,才能让自己很快的成长起来。 建站侠客 发表于 XX-4-28 10:19 对软件开发的一点心得体会 一、前期规划: 我理解的前期规划是:在市场人员们汇总一个需求提交给产品专家带领的产品经理团队,然后经过这个团队根据公司具体情况再次分析和规划出一个最 终需求文档。 这个需求文档应当首先提交给技术研发部门的负责人以及核心开发人员。由开发团队对其进行技术和风险分析。如果对此需求统一有异议的地方,需要返回给产品团队,重新修正需求。反复如此,直至需求完善准确,细致,清晰。 前期规划就像高楼的地基,如果马马虎虎,就算是一块砖块没摆好都可能导致整个高楼建设的失败。在规划中我认为,交流永远是需要双方积极主动,能认真听取每个人的建议。前期工作思维不慎重,不细致,不认真,不够完善,将产生连锁效应直接导致整个工程和项目的失败。 这种失 败可能表现为:第一种,软件按需求实现但是功能根本不能满足用户需要。第二种,功能都有了,软件没有达到可用性、易用性。 对于第一种,当然是因为前期规划疏漏了某些细小4 / 16 功能,没能把需求文档做完善。应该是规划工作做的还不够认真和细致。 对于第二种情况,我认为更多是在产品设计规划方面经验还不够成熟。这种问题应该是很难避免的。因为每种新产品对产品团队来说都很陌生。即使以前做过类似的东西,也难免面面俱到。这只能通过不断努力和认真的态度来弥补。 前期规划的交流涉及了市场、产品和技术研发 等多个团队之间。需要的不仅是团队内部的交流,更多需要协调好团队之间的交流。可能有时候需要公司高层和中层参与协调。 目前,很多开发人员深感项目的需求文档写的都很单薄。大家可以想一想,如果没有好的开始,怎么会有好的结束呢?需求文档单薄,不够细致,由谁来继续完善呢?难道让程序员们自己去完善。我想程序员也可能没有这种能力。对于程序员能把代码写的很健壮很稳定就已经是很不容易的事情了。 二、概要设计: 我理解的概要设计步骤: 1项目经理仔细阅读项目需求文档。 2项目经理召集项目开发成员,开项目启动会议。具体商议项目的开发任务和责任分配。 5 / 16 3核心开发人员开发确定,以及各模块开发人员确定。 4由系统分析员和核心开发人员仔细阅读需求文档,对系统整个架构分析和做技术规划。 5系统分析员整理和书写最终的系统架构和概要设计文档。 6系统分析员在文档提交日,提交给项目经理。项目经理确认文档并审批。 7项目经理召集项目开发成员,开一个概要设计以及系统架构确定的会议。向每个成员分发文档,并 讨论确定最终概要设计文档。 8开始详细设计文档的工作 三、详细设计: 1项目经理组织成立各个模块的开发小组,并确定开发小组组长。 2各开发组长书写各自模块的详细设计文档,开发成员需要协助,配合。 3在指定提交日,开发组长提交文档给系统分析员。由系统分析员审批。 4系统分析员组织召开一个详细设计文档确认的会议。 5然后开发组长分发各自模块的详细设计文档给6 / 16 程序员,程序员在指定时间内完成。 6程 序员做内部测试。开发组长协调并配合。 7确认无 bug 提交给开发组组长。 8所有模块整合工作,由整个开发组成员参与完成。由所有开发组长和系统分析员负责主要部分工作。程序员协助和配合。 9对整合后工程做详细测试。 10 确认测试通过后,开发组长根据开发成员表现以及提交成果填写绩效考核表。然后提交给项目经理。 11 项目经理会召开项目总结会,同时向优秀成员颁奖。同时鼓励所有成员继续努力。对不能按时完成导致项目能按时提交,以及对导致 失败的 关键人员给与惩罚处理。 当然,以上只是一个简单的开发流程,一定是有很多不足的地方。希望能起到抛砖引玉的作用。大家都明白,流程和制度是死的,但人是活的,所以如何按流程做得好,关键还是在人本身了。没有一个流程和制度,一个团队也必将是一盘散沙。正所谓“无规矩无以成方圆”。这句话说得很有道理。 四、具体编码: 开发几个项目之后,对编写程序有了更进一步的了解。 7 / 16 好的程序应该具有 : 易读性,易扩展性,容错性。 易读性 : 所有变量和函 数以及类名用简单易懂易记忆的命名方式。所有类和函数甚至变量都有关键的注释说明。这点很重要,也是最基础的。如果代码书写不够美观和易懂,我想自己以后也不想再看。就更别谈功能的扩展和新版本开发了。 易扩展性 : 整体系统架构逻辑简单清晰。模块与模块之间尽量做到互不影响,也就是尽可能的独立。这部分工作主要体现在前期设计工作中,需要掌握好的设计经验和方法才能够做得比较好。 容错性 : 对数据流和指针以及数组都做数据有效性检查;对第三方接口的调用失败的容错性。对所有代码都做调用失败后的错误处理。 以及在大的工程中加入 trace 文件输出,把关键的数据流和关键处理部分的操作信息输出。以便对工程异常情况产生条件的定位,及时解决问题。 我觉得程序员能在这三方面做得很好就算一个优秀的 programmer 了。 五、调试、跟踪与测试: 1 测试需要注意的: 对每个模块的接口做测试,数据边界的检查。在对整个模块做测试。 主要测试稳定性,效率以及功能是否正常。 8 / 16 确认单个模块完全正常后,再加入工程。 在系统架构设计的时候,可能 会引入原型参考。要对原型做完成测试后,确认没有问题后,才可使用。 2 可以采用 VC 自带 Trace 或者将信息输出为文本文件的方式跟踪程序并输出关键信息,以便定位程序异常的原因。 3 对于通信模块的测试,特别注意服务端和客户端的数据流。可以针对性的写一个客户端或服务端的测试程序,检验通讯过程是否正常。 4 在用 VC 做开发中,一定先要让 Debug 版本正常运行,保证没有任何异常,内存泄漏和 Assert 等调试警告信息。如果用到其他 Lib,一定要保证 Lib 本身不存在问题。 这里只是提到一些自己容易忽略的东西,希望能对大家有所帮助,欢迎指正!谢谢。 xxxx 学院 毕业实习报告 系 别: 年级班级: 学 号: 姓 名: 指导教师: 实习类型: 实习单位: 实习时段: 集中实习 关于在 XX 公司从事 9 / 16 软件开发的实习报告 一、实习目的 进一步了解 java 开发的相关知识,掌握 java 开发的基本技术,丰富 java 开发的实战经验。学习 SQL 的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用 Java 语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。 二、实习单位及岗位介绍 1.实习单位介绍 中软国际长沙 ETC 是中软国际 ETC 继北京总部基地之后,在全国建立的 第一家分基地,也是湖南省政府招商引资的重点支持项目之一。中软国际长沙 ETC 凭借对服务外包行业人才需求的深刻理解,以及在服务外包人才培训领域的丰富经验、良好的企业及院校合作资源,成为支持软件产业高速发展的人才战略组成部分,同时也是软件及外包业务快速发展的重要人才支持平台。 中软国际在专业学科建设、师资培养、实践教学、就业服务、基地共建等多个领域进行了卓有成效的合作和模10 / 16 式创新,为提升院校竞争力和知名度发挥了重要作用。长沙ETC 从 XX 年 4 月份启动以来,至 XX 年 4 月,以接纳包括哈尔滨工业大学等知名院校在 内的共计 55 所院校,培训学员数量 5400 多人。 2.实习岗位介绍 我在中软国际长沙 ETC 实习期间的岗位是 Java 软件工程师。实习期间参与人力资源管理系统的开发,根据开发规范和流程独立完成模块设计、编码、测试。编写相关应用系统的开发文档、数据库设计文档等。较为详细和系统的掌握了软件开发的知识体系。把所学知识与解决实际问题相联系,培养了自己发现问题、分析问题和解决问题的能力,从而提高了自己从事实际工作的能力。 三、实习内容及过程 基础知识 Java 的基础 知识对于一个 Java 软件工程师来说就好比是人的灵魂,现在的公司在招聘的时候很多都不在乎你会不会流行的技术,如。他看重的是你的基础扎不扎实,对于网易、腾讯等大公司来说更是如此,我们在开发过程中运用了大量的 Java 基础知识,如类、对象、方法、成员变量、静态变量、封装、继承、多态、异常、接口、抽象类、 IO 流等等,所以一个系统对于 Java 编程基础的依赖便不言而喻。 、 Oracle 数据库 11 / 16 MySQL 是最流行的开放源码 SQL 数据库管理系统,它是由 MySQL AB 公司开发、发布并支持的。 MySQL AB 是由多名 MySQL 开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。 Oracle 则是以稳定性著称,在访问量和数据大量交换的服务器中, Oracle 占了大臂的江山,在开发中主要用到了数据库的查询语句、数据库的关系、事物等。 和 JSP 一个 Servlet 就是 Java 编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求 -响应”编程模型来访问的应用程序。虽然 Servlet 可以对任何类型的请求产生响应,但通常只用来扩展 Web 服务器的应用程序。 Java Servlet 技术为这些应用程序定义了一个特定于 HTTP 的 Servlet 类。和包为编写 Servlet 提供了接口和类。所有的 Servlet 都必须实现 Servlet 接口,该接口定义了生命周期方法。 JSP 是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页 HTML 文件中加入 Java 程序片段和 JSP 标签,就构成了 JSP 网页 Java程序片段可以操纵数据库、重新定向网页以及发送 E-mail等,实现建立动态网站所 需要的功能。 所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这12 / 16 样大大降低了对客户浏览器的要求,即使客户浏览器端不支持 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 程序员可以随心所欲的使用对象编程思维来操纵数据库。 13 / 16 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是, Hibernate 可以在应用 EJB 的 J2EE架构中取代 CMP,完成数据持久化的重任。 Spring 也表示是一个开源框架,是为了解决企业应用程序开发复杂性由 Rod Johnson 创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 Spring使用基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。然而, Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从Spring 中受益。 管理系统 的开发 四、实习总结及体会 通过这次实习机会,我主要学习了以上这些 java 编程的技术,同时也明白了身处公司中如何更好地与同事配合,毕竟在软件开发中,你不可能一个人干完一个系统,大家都是通过 svn 等团队管理工具互相配合完成编程任务。在实习之前,我对软件开发的过程只有一个模糊地印象,以为只要把代码编写完之后就算 基本上一个项目开发完毕了。然而通过这次实习,彻底颠覆了我的认知,我当时的认知无疑是非常幼稚和可笑14 / 16 的,完全的软件开发过程不只只是编写代码,在编写代码之前还有好多的事情要 做,比如文档的编写、对项目进行需求分析、数据库设计等等。代码编写完成之后还要进行测试,以及人员的培训,这些都是必须做,也是必不可少的项目,甚至比代码的编写还重要。 我在开发期间遇到很多问题,但是我会试着到网络去找答案,如果实在找不到我会试着问问我的上级,或者跟一些朋友讨论一下,如果发现了这个问题的答案我会及时把它记录下来,方便以后遇到问题可以随时翻阅,我相信好记性不如烂笔头这句话,我也相信如果一个程序员写的代码没有错误那只能证明他没写过代码,虽然我比较懒,但我现在有空的时候都会对着电脑敲代码,我 相信手感是敲出来的,你看 10 遍都不如你敲一遍来得印象深刻。 通过这次实习,我认识到了一个软件开发的完整的过程,为我今后进行实际的工作奠定了坚实的基础。首先,进入公司,你就是一名职业人,不再是一名学生,你要具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 精准:食管癌靶向护理查房:一例SOX2扩增患者全程管理
- 2026年二建机电电气照明安装历年真题(含答案及解析)
- 2026年广东省肇庆市中小学编制教师招聘考试参考试题及答案详解
- 2026年山西省长治市中小学编制教师招聘笔试备考试题及答案详解
- 2026年乌兰察布市集宁区中小学编制教师招聘笔试备考题库及答案详解
- 2026年河南省南阳市中小学编制教师招聘考试参考题库及答案详解
- 2026年吉林省辽源市中小学编制教师招聘考试参考试题及答案详解
- 2026年镇江市润州区中小学编制教师招聘笔试模拟试题及答案详解
- 2026年昌都地区中小学编制教师招聘考试备考题库及答案详解
- 2026年山东省德州市事业编单位人员招聘笔试备考题库及答案详解
- 小学二年级下册体育期末复习计划
- 2024年全国乡村振兴职业技能大赛(餐厅服务)考试题库(含各题型)
- T-WZSSTI 002-2024 电动汽车充电电缆
- 精神病工娱治疗
- 《中国太平介绍》课件
- 中医全科(副高)高级职称考试题库及答案
- 2024年4月自考00067财务管理学答案及评分参考
- 中专《数学》(基础模块)上册80张课件
- 建筑设计公司绩效总方案
- 无菌模拟灌装工艺验证
- 护理技能竞赛的方案
评论
0/150
提交评论