个人总结+三个问题

1、这学期一开始,我以为我们会侧重于android软件的开发,一开始我积极性很高,去网上找资料,b站学Android studio开发,但狼上资料很少,只有
https://www.bilibili.com/video/BV15h4y1m7Yh/?spm_id_from=333.337.search-card.all.click&vd_source=531ef0571bd21a6f140383bcf2e73ef8这个视频比较好
但涉及的东西也不多,只有寥寥几个,没有涉及数据库的内容,不像上学期的web学习,b站上有很多教程,这学期更多的是熟练使用spring boot进行web开发,vue element axios,在此基础上接触了android studio,熟练开发mes系统
2)在课程开始快速浏览《构建之法》时,我提出了以下 5 个问题:
1- 《构建之法》中提到的 “构建” 具体包括哪些方面?是仅指代码的编写,还是涵盖从需求分析到系统上线的整个软件开发生命周期?目前我感觉软件工程课主要还是集中在代码编写和部分软件测试上,对于前期的需求分析和后期的系统运维等内容涉及较少,导致我对 “构建” 的全面理解不够,不能很好地把握整个软件开发过程的全貌。
2-书中强调团队协作在软件构建中的重要性,那如何在不同专业背景、技术水平的团队成员之间高效开展协作?软件工程课虽然有团队项目作业,但往往团队成员分工比较固定,且缺乏对跨专业团队协作问题的深入探讨,例如成员之间在沟通方式、工作习惯、技术栈差异等方面的磨合,课程没有给我们提供系统的解决这类实际团队协作问题的思路和方法。
3- 对于软件构建过程中的质量保证,《构建之法》应该有独特的见解吧?我们软件工程课所讲的质量保证手段好像比较传统,像代码审查、单元测试这些,我想知道书中有没有更具前沿性和创新性的质量保证方法,但目前还没深入学习书中相关内容,软件工程课也未引导我们去探索新的质保技术,所以不清楚这部分知识能否在课程中得到拓展。
4- 书中应该涉及很多经典的软件构建案例,我想知道这些案例是如何选取的?是基于行业影响力、技术复杂度,还是其他什么标准?软件工程课的案例分析比较有限,而且选择的案例有时不够新颖或者与实际工作场景贴合度不高,这让我对案例选取的科学性存疑,也不利于我们从多样化的案例中学习到实用的构建经验。
5-面对软件构建中的新技术变革,《构建之法》会给出怎样的应对策略?软件工程课在新技术更新方面感觉相对滞后,不能及时让我们了解当下最新的软件构建技术变革趋势以及如何在项目中应用这些新技术,这可能导致我们在学习过程中对新技术变革的适应能力不足,无法紧跟行业发展步伐。
3)新产生的问题:
1-在学习 Android 开发过程中,我发现不同版本的 Android Studio 新旧功能交替,如何高效地在学习和实际项目开发中兼容新旧版本的功能,避免因为版本差异导致的代码报错或功能失效等问题?比如之前学的某些布局属性在新版本中被弃用,或者新的组件特性在旧版本模拟器上无法正常显示,这会影响开发进度和项目的兼容性,不知道老师和助教有没有好的解决这类版本兼容性问题的建议。
2-当使用 Spring Boot 进行 Web 开发与 Android Studio 进行移动端开发相互配合构建一个完整的 MES 系统时,后端接口的稳定性和安全性至关重要。如何设计合理的接口认证和授权机制,既能保障数据传输的安全性,又不会过度增加移动端的开发复杂度?在实际联调过程中,我们遇到了接口权限验证不严谨导致数据泄露风险,或者认证流程繁琐影响开发效率的问题,希望能得到更专业的指导。
4)再次回顾之前看的软件工程文献以及团队做 “事后诸葛亮” 分析,我有了新的感想。之前觉得那些文献中提到的软件架构模式和开发流程改进方法很理论化,和实际操作有一定距离。但现在结合我们在 MES 系统开发中的经历,比如在一开始没有合理规划接口架构,导致前后端联调时出现很多数据交互不畅的问题,才深刻体会到那些文献中强调的前期架构设计的重要性。同时,在 “事后诸葛亮” 分析时,我们总能发现很多前期可以避免的错误,如需求分析不准确、测试用例覆盖不全面等,这让我认识到软件工程是一个需要不断复盘和改进的动态过程,不能只追求当下的开发进度,而要注重整个项目的可持续性和质量保障,这和之前单纯为了完成任务而忽视项目整体性的想法有了很大转变。
5)与技能评价表对比,我在代码编写方面有了明显提高,例如在 Android Studio 中熟练掌握了基础控件的使用和布局搭建,能够独立完成一些简单的界面设计和功能实现,像之前提到的 Android 基础控件学习,让我在开发记事本功能的界面交互部分效率提升不少,编写代码的速度和准确性都有所进步。而收获中不能用数字衡量的则是对团队开发流程的深入理解,比如在和团队一起开发 MES 系统时,学会了如何在团队成员之间合理分配任务、及时沟通技术难题以及协调开发进度,这种团队协作能力的提升和对软件开发全局观念的建立,对今后的软件开发工作有着深远的意义,是单纯通过技能指标难以衡量的。
6)设想一年后,我已进入职业发展的下一阶段,回顾这门课,我认为在教学方法上,老师可以适当增加一些实战项目,尤其是跨平台的综合性项目,像结合 Web 和移动端开发的 MES 系统这种类型,让我们在实践中更深入地学习软件工程知识,而不仅仅是理论学习和简单的案例分析。在老师和助教的工作方面,希望能提供更及时的技术支持,尤其是在我们遇到新版本开发工具或新技术应用问题时,能有更专业的答疑和指导,而不是让我们自己去网上摸索。对于和其他课程的衔接,建议可以和前续的编程基础课程更好地结合,比如在教授软件工程原理时,能回顾之前学过的编程思想和算法知识,说明它们在软件工程中的实际应用,同时也能为后续的专业课程,如高级软件架构设计等,打下更坚实的软件工程基础,形成一个连贯、系统的知识体系,而不是各个课程之间相对独立,导致知识脱节。

提出的三个问题
1:希望建民老师在以后,可以将所学的具体知识简单提一下,上学期在学Javaweb增删改查时,不知道该学什么,学了一段时间的Java swing发现什么用也没有

2:希望建民老师不要拖堂了,一下午的课真的很难受

3:希望建民老师可以多给我们找一些实习

posted @ 2025-06-11 17:17  向恦  阅读(15)  评论(0)    收藏  举报