个人作业——软件工程实践总结作业

个人作业——软件工程实践总结作业


一、请回望开学初的第一次作业,你对于软件工程课程的想象

1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?

  • 通过实践锻炼,我认为达到了增强计算机专业能力和就业竞争力的目标。在这次实践中,通过团队合作完成一个项目,了解了一个软件开发的流程与如何与他人合作共同开发。相比以往课程实践的单人项目,这种团队合作项目更能提升个人水平,因为在团队中,你考虑的不只是自己,还要与他人相对接,在对接过程中产生和解决的问题就是一种不断提升的过程。

  • 由于是第一次团队合作开发大型项目,涉及到许许多多的新知识,在沟通交流上存在一定的问题,导致项目对接过程中,出现许多沟通失误而造成的bug,浪费了大量的时间来修改这些前期能够避免的bug。数据库设计方面也存在一定问题,项目新功能添加需要通过修改数据库表来实现,而不是在原来的基础上进行拓展,使得后期还需要重新设计数据库语句。

2)总结这门课程的实践总结和给你带来的提升,包括以下内容:

  • 统计一下,你在这门软件工程实践中,完成了多少行的代码

    • 2300行左右
  • 软工实践的各次作业分别花了多少时间?(做一个列表)

    作业名称 使用时间(h)
    第一次作业——准备篇 2
    结对第一次——原型设计(文献摘要热词统计) 6
    结对第二次—文献摘要热词统计及进阶需求 18
    团队作业第一次—团队展示 5
    团队作业第二次—项目选题报告 9
    团队第三次-项目原型设计 12
    团队作业第四次-项目需求分析 15
    团队作业第五次—项目系统设计与数据库设计 10
    团队作业第六次—团队Github实战训练 7
    项目Alpha冲刺(团队) 50
    事后诸葛亮(团队) 5
    项目Beta冲刺(团队) 20
    Beta阶段团队项目互评 6
  • 哪一次作业让你印象最深刻?为什么?

    • 印象最深的是Alpha冲刺,因为接触到许多新知识,并应用到项目中去,在整个开发过程对目前所学的知识进行了一次梳理和总结。
  • 累计花了多少个小时在软工实践上?平均每周花多少个小时?

    • 大概花费了165个小时,一开始大概是4、5个小时每周,后来冲刺阶段每周大概花费20小时
  • 学习和使用的新软件/工具/语言/平台/方法等

    • 软件和工具——墨刀、Typora、Navicat、Postman
    • 框架——SpringBoot、Mybatis
    • 方法——Excel表格读写
    • 其他方面的提升——团队合作能力、表达能力

二、 写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析

​ 在项目合作过程中,最重要的还是成员之间的交流与沟通,沟通失误对项目开发造成的影响是巨大的,不要抱有我以为的思想,任何不明白的地方都要及时与队友沟通。

​ 好的组长能起到巨大的作用,组长根据个人所长合理的分配了任务,最大程度的保证了项目按时按需的完成。

​ 保持好心态,哪怕再多bug,冒再多红,也不要崩。


三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?

​ 项目开始前的准备很重要,比如开发环境的搭建,需求分析等。

​ 当然是要换,但需要考虑更多的方面,比如所掌握的技术能否支持,有的人所掌握的技术能够向下兼容,但有的人就不一定能够向上,这对于被交换的人来说可能需要同时担任两个组的主力。


四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建之法》第17章 人、绩效和职业道德)

​ 我们团到达了规范阶段,按照Alibaba代码规范对代码进行基本规范,未达到创造阶段

五、怎样证明你学会了软件工程?

  • 1)研发出符合用户需求的软件

    必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件

    • 小程序端累计用户图

    • Web端发布到服务器上,有属于自己的URL并配置有HTTPS协议

  • 2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件

    有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄

    • 在github签入记录可以看到每个组员每天都能更新自己的任务进度,定时的完成任务,且每天都有例会对今天的任务进行总结以及对明天进行规划
  • 3)并且通过数据展现软件是可以维护和继续发展的。

    而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料

    • 后端代码发布在github上,整体框架采用SpringBoot集成,整个项目采用前后端分离的形式,所以后端代码是接口式编程,每一个函数有独立的url标识且对应一个具体方法的实现,所以具有较好的扩展性和维护性。

七、个性发挥,包括图文、照片和创意等

  • 来自队内dalao
posted @ 2019-06-08 14:49  Ldqo  阅读(233)  评论(2编辑  收藏  举报