计算机专业软件开发公司系统开发实习报告_第1页
计算机专业软件开发公司系统开发实习报告_第2页
计算机专业软件开发公司系统开发实习报告_第3页
计算机专业软件开发公司系统开发实习报告_第4页
计算机专业软件开发公司系统开发实习报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机专业软件开发公司系统开发实习报告一、摘要

2023年7月1日至2023年8月31日,我在一家计算机专业软件开发公司担任系统开发实习生。实习期间,我主要参与企业级ERP系统的模块开发,完成了用户管理模块的数据库设计与代码实现,涉及约300条SQL语句和50个功能点。通过运用JavaSpringBoot框架和MySQL数据库,将模块开发周期缩短了20%,代码复用率达到65%。期间,我熟练应用Git进行版本控制,处理了30余次代码冲突,并参与编写了5份技术文档。实习成果验证了我在面向对象编程、数据库优化方面的能力,总结了“分模块迭代开发”和“自动化测试脚本编写”的可复用方法论,为后续项目开发提供了实践依据。

二、实习内容及过程

1.实习目的

去2023年7月1号到8月31号这八周,我就是想看看自己学的那些东西能不能在实际项目里用上,感受一下软件开发从需求到上线整个流程是怎么走的,顺便提升一下自己的编码能力和解决问题的能力。

2.实习单位简介

我实习的公司是做企业级系统开发的,主要就是给一些大公司做定制化的管理系统,技术栈偏Java和Python,环境比较开放,代码规范要求挺严的,整个团队氛围挺活跃的,大家都会在午休的时候聚在一起聊技术。

3.实习内容与过程

我跟着一个小组做ERP系统的用户管理模块,主要是负责用户权限分配这块。刚去的时候先熟悉了项目的技术文档,花了三天时间,把整个项目的代码库跑通,然后就开始接手具体的开发任务。需求是要求能根据不同的角色动态生成用户的操作权限,不能一个角色一套硬编码的权限列表。

我就拿数据库设计开始,设计了用户表、角色表和权限表,用了MySQL,建了三个表,通过中间的关联表来实现多对多关系。后来写代码的时候主要用的是JavaSpringBoot框架,用了SpringSecurity来做权限控制,感觉这块儿挺有意思的,需要理解好多概念,比如认证(Authentication)和授权(Authorization)的区别,还有JWT这种无状态的认证方式。

开发过程中遇到挺多坑的,比如一开始没太理解RBAC模型的实现细节,导致权限分配逻辑写错了好几次,改了好几天才弄明白。还有就是数据库查询优化这块,刚开始写了一个很傻的查询,每次请求都要扫描整个用户权限表,直接被导师骂了,后来学了点SQL的JOIN语句和索引优化,把查询效率提高了大概60%。

团队里有个师兄教我用了GitFlow这种分支管理策略,一开始用惯了直接分支,每次合并都冲突得要命,后来才明白要先把代码写完再提交,而不是频繁地commit。还参与了一个代码评审会议,自己写的代码被大佬们指出了好几个问题,比如有些变量命名不规范,有些逻辑可以简化,感觉收获特别大。

4.实习成果与收获

八周下来,我完成了用户管理模块的核心功能,包括用户注册、登录、权限分配、角色管理这些,写了大概五千多行的代码,提交了120多个commit。最满意的是那个权限动态生成功能,能根据预设的角色模板自动给用户分配权限,测试的时候发现准确率达到了99%,大大减少了人工配置的工作量。

收获最大的还是对整个软件开发流程的理解,从需求分析到设计,再到编码测试,每一步都不容易。还有就是学会了一些实用的工具和技巧,比如用Postman做接口测试,用Docker容器化部署应用,这些在学校都没怎么接触过。感觉自己的编码习惯好了不少,以前写代码比较随意,现在知道要注重可读性和可维护性了。

5.问题与建议

实习期间也发现了一些问题,比如公司内部的培训机制有点薄弱,刚来的时候没人系统地讲项目的技术栈和架构设计,都是靠自己在代码里摸索,花了不少时间。另外我感觉我们组的任务分配有点乱,有时候一个人同时接好几个任务,导致有的东西做得比较仓促。

我建议公司可以搞个新人培训计划,至少给个技术栈文档和架构设计说明,这样能更快地让新人融入项目。任务分配这块儿也可以用些项目管理工具,比如Jira,明确每个任务的优先级和截止日期,避免手忙脚乱。还有就是代码评审会议最好能更规范一些,有时候导师忙起来就直接过掉了,很多细节问题都没发现。

对我职业规划的影响挺大的,以前觉得做技术就一定要会全栈,现在明白了自己擅长哪方面就好,比如后端开发,权限控制这块其实挺有深度的,可以继续深入研究。感觉自己的方向更清晰了,以后得加强数据库和分布式系统这块的学习。

三、总结与体会

1.实习价值闭环

这八周,从2023年7月1号到8月31号,我真正把课堂上学到的软件工程理论、数据结构与算法知识,转化为了实实在在的项目代码。之前觉得抽象的UML类图,现在看项目源码能直接对应上;上学时写的那些简单的数据库查询,在这里要考虑高并发下的性能优化。比如用户权限模块,为了满足动态授权的需求,我设计的中间表关系和SQL查询,最终测试下来查询效率比最初的版本快了将近70%,这让我第一次体会到把技术落地带来的成就感。导师常说“编码不仅是写代码,更是解决问题”,现在深有体会。我写的每个类、每个方法,都要考虑它的可扩展性、可维护性,这比单纯实现功能要复杂得多。

实习结束的时候,我完整经历了需求讨论、技术选型、编码实现、单元测试到最终部署上线的全过程,虽然只是一个小模块,但整个闭环让我对软件开发的理解从概念变成了实践。比如学到的GitFlow,在学校做项目基本不用,但在这里,清晰的分支管理让团队协作顺畅不少,我处理的30多个合并冲突,现在回想起来都是宝贵的经验。

2.职业规划联结

这次经历让我更清楚了自己未来想走的路。我发现自己对后端开发,特别是分布式系统和高并发解决方案特别感兴趣,实习期间接触到的Redis缓存机制和消息队列,让我觉得还有很多东西要学。回去之后,我打算系统学习一下Kubernetes和微服务架构,看看能不能把公司里那个权限模块改造得更健壮。导师建议我考个AWS或阿里云的认证,说以后做架构师这块很有用,我记下了。现在看招聘网站上那些高级开发岗的要求,发现很多都需要有实际项目经验,比如数据库调优、分布式事务处理这些,都是我接下来要补的短板。

最直观的感受是,学校里学的知识太零散了,实际工作需要的是整合能力。比如做权限模块,要用到SpringSecurity、MySQL、Redis,还要懂点设计模式,才能写出高效又安全的代码。这让我意识到,大学四年不能只埋头写作业,要多参与一些实际项目,哪怕是课程设计,也要用心做,争取做出能拿得出手的成果。

3.行业趋势展望

在公司待的这段时间,我感觉技术发展太快了,至少我接触到的几个项目都在用Docker容器化部署,还有几个新员工在研究Kubernetes,明显感觉到云原生技术正在成趋势。之前在学校做项目,基本都部署在本地服务器上,完全没意识到未来企业级应用会这么依赖云平台。导师还给我看了一些行业报告,说未来几年对懂得云技术和大数据开发的人才需求会暴涨,像我们做的ERP系统,以后肯定会集成更多的AI能力,比如用机器学习做用户行为分析。

这让我意识到,作为计算机专业的学生,光会写点简单的网页或者小程序是远远不够的。接下来打算在保持Java后端优势的同时,拓展一下Python在数据分析领域的应用,争取下学期能接手一个数据分析相关的课程设计,提前练练手。行业变化这么快,不主动学习很快就会被淘汰,现在感觉不比在学校时轻松了,但更多的是动力。

4.心态转变与未来行动

最深刻的体会是心态上的变化。以前做项目就是完成任务,现在每次提交代码前都要反复检查,担心上线后出Bug影响整个系统。比如有一次写权限校验逻辑,为了确保没有安全漏洞,我花了一整天重写了三版代码,虽然最后导师说可以再优化,但那种对产品质量负责的感觉,是以前没有的。抗压能力也提升了,以前遇到难题就想找老师,现在会先自己查资料、试错,实在不行再和同事讨论,感觉解决问题的能力确实强了。

下一步打算把实习期间积累的代码整理好,做几个能展示能力的Demo,比如把那个权限模块用Docker打包成一个服务,再写个简单的Web界面来演示。导师说现在找工作时,这种能独立运行的小项目很有竞争力。此外,打算考取一个PMP证书,虽然现在还是学生,但提前了解项目管理流程,以后进入职场也能更快适应。这次实习让我明白,大学不只是学习知识,更是学会如何

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论