课程总结
软件工程课程阶段性总结
作为石家庄铁道大学大二软件工程专业的学生,在持续半年的博客记录学习进度与作业分析的过程中,我不断复盘与成长。回想刚开学时,我在编程整体理解、程序理解、模块化设计以及专业技能掌握方面仅处于了解阶段,若以 0 - 9 分打分,我目前的水平仅有 2 分。但我对自己有着明确的规划,期望在本课程结束后能达到 5 分,具备通过面试达到实习的能力。本学期,我更是将熟练掌握 springboot + vue3 的开发技术、提高开发效率作为主要目标,若有余力,还想涉足手机安卓端开发领域。不过,回顾上学期的学习经历,静不下心、学习计划执行混乱等问题严重影响了学习效果,因此,本学期我决心做好规划,避免重蹈覆辙。
一、课程计划完成程度
回顾这一个学期以来的计划完成情况,我的完成度应该可以达到百分之七十。
首先我是在寒假时已经基本学完了springboot的知识,然后开学后我就跟着网上的视频做了一个基于springboot+vue3的简单项目,用来帮我练手。
在之后我又跟着做了苍穹外卖项目,不过他是用的vue2。
然后就是根据这学期的个人作业,学习的简单的安卓开发,不过我对安卓开发的掌握度还远远不够,还有待学习与实践。
最后的实践部分便是应用到了团队项目中,基于新学的技术对团队项目进行开发,让我对这些技术的理解与掌握更进一步。
二、《构建之法》问题回顾与解答
课程开始时,我针对《构建之法》提出了 5 个问题,分别是:如何在实际项目中准确把握用户需求?敏捷开发模式是否适用于所有类型的项目?软件测试的最佳时机是什么时候?如何有效管理软件开发过程中的变更?团队成员意见分歧时应如何解决?
对于如何在实际项目中准确把握用户需求,通过课程学习与实践,我了解到可以通过用户访谈、问卷调查、原型演示等多种方式与用户进行深入沟通,同时要善于挖掘用户的潜在需求,避免只关注表面需求。在团队的第一个项目中,由于我们没有现实用户,所以我们只能自己分析,我们通过根据之前学的项目还有在网上搜集相关资料,制作了详细的开发文档。
敏捷开发模式并不适用于所有类型的项目。对于需求明确、开发周期较长的项目,传统的瀑布模型可能更为合适;而对于需求不确定、需要快速迭代的项目,敏捷开发模式则能发挥其优势。在我们的团队项目中,由于需求在开发过程中不断变化,采用敏捷开发模式使我们能够及时调整开发方向,提高了开发效率。
软件测试应贯穿于软件开发的整个生命周期。在需求分析阶段,可以进行需求测试,确保需求的准确性和完整性;在设计阶段,进行设计测试,验证设计方案的合理性;在编码阶段,进行单元测试,保证代码的质量;在集成阶段,进行集成测试,确保各个模块能够正常协同工作;在验收阶段,进行验收测试,满足用户的需求。
有效管理软件开发过程中的变更,需要建立完善的变更管理流程。当出现变更请求时,首先要对变更的影响进行评估,包括对项目进度、成本、质量的影响;然后与相关人员进行沟通,确定是否接受变更;如果接受变更,要对变更进行实施和验证,确保变更的正确性。
当团队成员意见分歧时,首先要鼓励成员充分表达自己的观点,然后对各种观点进行分析和比较,寻找共同点和差异点;接着通过讨论和协商,寻求一个大家都能接受的解决方案;如果无法达成一致,可以由团队负责人根据项目的整体情况做出决策。
三、新产生的问题
在安卓开发时,我们在网上搜集资料,发现找不到跟我们需求相似的项目,而且这些学习视频也很多年了,无法找到一些较新的技术,反观比如uniapp和小程序等视频较多。
对于大型复杂的软件工程团队,如何进行高效的跨部门协作与沟通。
在软件开发过程中,如何平衡代码的质量与开发进度之间的关系。
四、软件工程文献与 “事后诸葛亮” 分析的新感想
通过阅读软件工程的文献以及参与团队的 “事后诸葛亮” 分析,我对软件开发有了更深刻的认识。文献中提到的一些软件工程方法和原则,在实际项目中得到了很好的验证。例如,模块化设计原则能够提高代码的可维护性和可扩展性,在我们的项目中,采用模块化设计后,代码的结构更加清晰,团队成员之间的协作也更加顺畅。
“事后诸葛亮” 分析让我们能够及时总结项目中的经验教训。在第一次项目结束后的分析中,我们发现由于前期需求分析不够充分,导致在开发过程中出现了多次需求变更,影响了项目进度。因此,在后续的项目中,我们加强了需求分析阶段的工作,采用了更多的需求收集方法,确保需求的准确性。同时,我们也意识到团队沟通的重要性,建立了更加频繁的沟通机制,避免了信息不对称的问题。
五、技能评价与收获
对比技能评价表,我在编程能力、团队协作能力和问题解决能力等方面都有了一定的提高。在编程能力上,通过课程中的项目实践,我对 springboot 和 vue3 的开发技术有了更深入的了解,能够独立完成一些简单的功能模块开发,从最初的只能编写基础代码,到现在能够运用框架进行开发,技能水平有了明显提升。在团队协作能力方面,我学会了如何与不同性格和不同能力的团队成员进行合作,能够更好地理解和尊重他人的意见,在团队项目中发挥自己的优势,共同完成项目目标。
除了这些可以用数字衡量的提高,我还收获了很多无法用数字衡量的宝贵经验。例如,我培养了自己的时间管理能力和自律意识,通过制定详细的学习计划并严格执行,克服了自己静不下心的问题;我也学会了如何在压力下工作,面对项目中的各种挑战和困难,能够保持积极的心态,努力寻找解决方案;同时,我还拓宽了自己的技术视野,了解到了软件工程领域的最新发展动态和技术趋势,为自己未来的学习和职业发展奠定了良好的基础。
六、对课程的意见与建议
设想一年之后,无论是进入高年级学习、读研还是参加工作,回顾这门软件工程课程,我认为课程的教学方法整体上是非常有效的。以团队项目驱动式的教学方法让我们能够在实践中学习和应用知识,提高了我们的实际操作能力和解决问题的能力。
最后我对于课程的三个建议
1.比如在进行极限测试、或者其他测试时,可以再事前给一个练习,让我们提前自测一下,能够让自己知到目前的水平。
2.在团队项目其中的分工部分打分时,我认为可以出现三人的评分一样或者两个人,虽然有的队伍中会出现只有一个人干活的现象,但是在我们团队中我认为我们三个成员都付出了很多,每个人对待的态度都很认真,如果就是硬要分第一第二第三的话,那第三名的得分我认为配不上他的付出,就算做不到分数一样,也至少说可以分数差距不这么大。
3.在进行团队项目验收时,进行打分,我认为一分一档这样打分不太准确(就我个人两次打分体验来看,如果这样打的话要改很多次很容易乱,而且越到后面可能会出现乱评分的现象,所以不太准确)
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号