软工实践个人总结

一、基本情况

(1.1)请回望第一次作业,你对于软件工程课程的想象

  • 开篇博客你对课程目标和期待
    在第一次作业中,我对软工课程的想象是能够通过这门课积累一些和具体实战经验,在专业知识学习上实现质变和量变,能够和志同道合的同学一起做一些能够提升自己能力的又有意义的事情,让自己脱离小菜鸟的level。
  • 对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
    • 达到了我的期待和目标的方面
      • 在组队作业中和队友一起完成一个项目的感觉很棒。
      • 接触到了很多新知识,粗浅地学到了一些新技能。
      • 经过个人编程、结对编程和团队编程,不同程度地积累了一些具体的实战经验。
    • 还存在不足的方面
      • 对大多数新技能只是粗浅地学习并且使用,还没有继续深入系统地学习,这样的浅层记忆容易失效。
      • 在软工实践中投入的时间中有一部分在做无用功,在专业知识学习的数量和质量上虽有变化,但是变化不是很显著。

(1.2)总结这门课程的实践总结和给你带来的提升(非测试组):

  • 在软工实践课程的个人编程、结对编程以及团队编程中,我总共编写了几千行代码。

  • 软工实践的各次作业分别花费的时间:

    作业 花费时间(分钟)
    1-2 个人编程作业 1690
    3 结对编程作业 3220
    4 团队介绍与选题报告 240
    5 团队需求分析报告 300
    6 团队项目之现场编程 300
    7-13 Alpha冲刺(含总结) 1800
    14-19 Beta冲刺(含总结) 1800
  • 讲述令你印象最深刻一次作业?为什么这次作业令你影响深刻?
    最令我印象深刻的作业是结对编程作业;在结对编程作业中,我第一次接触原型设计以及微信小程序的编写,一步一步从什么都不会到略懂皮毛的过程很漫长,但是真的有学进去东西的感觉也让我很满足,虽然在这次作业中有很多做得不好的地方,让我意识到了自身的很多问题,比如编程前的设计、编程过程的合作等等这些部分都暴露了很多不足,最终结果也并不乐观,但是也算是一定程度上让我成长了很多。除此之外,软工实践课程上的其他作业也同样让我学习到了很多新事物,与此同时,结对编程以及团队编程也增进了我的合作意识。

  • 在软件工程课程上花费的时间

    • 开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答:我打算平均每周拿出8小时用在这门课上
    • 累计时间 实际周均时间 预计周均时间
      156(h) 11(h) 8(h)
  • 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的作用?

    • 学习了一些新算法(如DFA算法)。新算法的学习能够让我在今后遇到一些类似的复杂问题的时候有一定的指导方向,在需要的时候适当进行修改、改进。
    • 原型制作工具(墨刀)的使用。在结对编程时粗略学习的原型制作让我明白了在实际编写项目之前界面逻辑及美化设计的尽可能完善能够是具体编程时不用再分心去思考界面设计问题,有效提高了前端编写的效率。
    • 微信小程序的编写。微信小程序是现在日常生活中经常使用的,我之前一直不知道微信小程序到底是如何搭建起来的,也没有想过去学习,作为一个学计算机的学生,这一点让我很惭愧。在结对编程时第一次接触了微信小程序的编写,了解到了微信小程序和html、js等之间的细微差别,同时也让我明白一个微信小程序的大体结构以及编写逻辑。
    • 学习在python中使用数据库。一个项目的运行离不开各种数据,如何把数据存储起来也是一门学问,这个学期同时也在学习数据库,但是对一些数据库语言的编写以及其具体执行结果还是有点混乱,在完成软工团队作业过程中,我需要对数据库中数据对象及其关系有一个较为清晰的设计,同时在不同的应用场景中使用不同的数据库语言,使我对数据库的理论和实践知识有了进一步的掌握。
    • 使用flask编写后端接口。由一定的后端编写相关基础后,我就可以在今后的编程实践中继续深入学习,完成自己的一个小项目了。
  • 其他方面的提升。

    • 除了一些技术上的提升以外,软工实践的结对编程和团队编程在一定程度上提升了我和团队成员有效沟通交流的能力,也让我学会处理分工协作过程中遇到的一些分歧。
    • 经过总共三轮的作业,我对具体编程前的需求分析、功能设计较为熟悉,也意识到了项目前准备的重要性。
    • 还有一点就是,我的百度、筛选有用知识的能力经过一轮又一轮的作业、一个又一个的新名词正在不断进步。

二、总结与收获

个人或结对或团队项目实践中的经验总结+实例/例证结合的分析。

  • 在软工实践课程上,我独立解决问题、借助网络资源的能力有了很大的提升。在个人编程作业要求刚出来的时候,我是处于很懵的状态的,因为作业要求数目较多,挺考验我的理解能力的,同时我感觉对我来说有点难。在最开始的畏难情绪过去之后,我开始分析作业要求,然后根据作业要求上网查找相关资料并加以学习。在个人编程作业中我学习了敏感词检测的相关算法,通过对网上实例代码进行分析来获取适用于自己所要完成的任务的部分,并对其进行完善,在这个过程中,不但对DFA等算法思想有了一定的了解,而且还能够较为有效地提高完成作业、编写程序的效率。
  • 通过该课程的各项作业,我充分地认识到了具体编写代码之前的设计工作的重要性。
    • 在个人作业中,由于没有实现分析好要编写哪些函数,函数的独立功能是什么,导致在编写完初版代码之后发现循环次数过多、大量数据的情况下程序运行超时以及一些作业要求仍无法完成的问题,当时由于程序结构不够明晰,可扩展性差且难以修改。
    • 在结对作业中,由于一开始没有理解对接口的不同功能,逻辑设计错误,导致在编写代码过程中出现多次返工的情况;除此之外,由于对作业要求的理解错误,在具体编程之前对任务分工的划分不是很正确,导致在完成作业过程有些艰难。
    • 在团队作业中,前后端在最开始的时候沟通不够充分,导致双方初步代码设计有些冲突,后面在进行连接的时候出现一点问题。
  • 学习新知识的能力得到了大大的提升。在结对编程中,第一次接触原型设计,需要在较短的时间内学会原型设计工具(如墨刀等)的使用,通过上网查找各种教程学会了基础操作,然后自己摸索针对自己的需求进行操作。在现场编程中也是,之前从来没有学过auto.js,在一个礼拜之内要和小组成员一起学习基本操作,在跟着教程学习的过程中边做笔记,然后在现场编程前一天和小组成员们一起讨论可能的题目是什么以及组内成员还需要去学什么,最后小组现场编程的结果挺不错。除此之外还有很多新知识需要在短时间内学会。
  • 提升了和同学协作完成项目的能力,有效提升了我和伙伴们进行有效沟通交流的能力。在团队协作过程中,经常需要针对一些需求问题以及一些细节处理进行沟通交流,这个挺考验我的问题整理能力以及语言表达的,同时在长达半个学期的接触中,组内的默契也慢慢培养起来了,沟通交流也更加方便。
  • 改变了我对文本整理工作的看法。在团队作业中需要完成需求分析报告、调查问卷分析等等文档相关工作。我还记得在进行调查问卷设计时,我和队友先是对问题拟了一个初版,然后删除部分问题、对问题描述仔细斟酌、对问题之间的逻辑设计进行思考,最后对回收的调查问卷结果进行综合分析。在之前,我一直觉得文本相关工作是一件很简单,不用花费多少脑力的工作,但是经过软工实践的一份份文档,我才发现里头大有千秋。

三、致谢

  • 这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?
    我最感谢的是我们团队的成员们。
    我想对她们说,谢谢你们呀~在长达半个学期的共同奋斗中,让我明白什么叫做“人多力量大”,在我遇到问题的时候给我提供了很多帮助,让我少走了很多的弯路。
posted @ 2021-12-21 20:29  sl0805  阅读(43)  评论(0编辑  收藏  举报