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

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


格式描述


一、请回望暑假时的第一次作业,你对于软件工程课程的想象

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

​ 压力方面我认为达到了期待,确实给了巨大压力,跟普通课程作业很不一样,算是体会了一把做项目的感觉。不足之处在于对敏捷开发还不够适应,导致效率偏低,进度持续缓慢。不过我认为下一次有了这次的经验,心态有了很大的提升,就不会手忙脚乱,可以稳扎稳打的开发。

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

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

    我主要负责协助开发,代码量较少,约1000行左右。

  2. 软工实践的各次作业分别花了多少时间?(做一个列表)

作业 时间(h)
第一次作业-准备篇 3
结对第一次—原型设计(文献摘要热词统计) 10
结对第二次—文献摘要热词统计及进阶需求 15
团队作业第一次—团队展示 1
团队作业第二次—项目选题报告 10
团队第三次-项目原型设计 12
团队作业第四次-项目需求分析 6
团队作业第五次—项目系统设计与数据库设计 10
团队作业第六次—团队Github实战训练 10
项目Alpha冲刺(团队) 40
事后诸葛亮(团队) 4
项目Beta冲刺(团队) 32
Beta阶段团队项目互评 6
个人作业——软件工程实践总结作业 4
总计 163
  1. 哪一次作业让你印象最深刻?为什么?

    ​ 那肯定是Alpha冲刺,那时候什么都不懂,从零开始学安卓,心态一度爆炸,不过最后还是赶工完成了demo,虽然比较简陋。

  2. 累计花了多少个小时在软工实践上?平均每周花多少个小时?

    如上表,163h,每周35。

  3. 学习和使用的新软件;

    Android Studio。

  4. 学习和使用的新工具;

    Apower mirror。

  5. 学习和掌握的新语言、新平台;

    安卓编程。

  6. 学习和掌握的新方法;

  7. 其他方面的提升。

    博客撰写,excel使用,作品评审,演讲答辩。


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

​ 立项前准备至关重要,包括需求分析、原型设计和系统设计。之前是认为,我代码还没开始写,做这么多跟代码无关的东西有什么用。而真正开始编程的时候,才发现做的其实都有用。需求分析没做好,后面开会讨论的时候,就会一直讨论某些功能的取舍。原型也是这样,整个界面的大体布局怎么安排没出来,都不知道从哪里下手。系统设计更关键了,特别是类图,类有什么变量以及方法,类与类的关联,变量名统一、代码风格就更不用说了,这些都是整个项目的基础。可能就是前期工作没做好,后面编程的时候一直改需求,进度就大大减缓。


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

​ 我认为要紧跟老师的脚步,可以有一定的质疑,说出来讨论分析,一起解决,然后再尽可能好的完成每一步,这样才能得到最好的锻炼。我希望每一位参加软件工程实践的人都可以得到锻炼,学会工程的管理方法、项目开发经验和团队的合作,而不是只是紧紧局限于会编程而已。关于换队员问题,我认为可以有,但是操作上可能调整一下比较好。我有个想法,就是让团队推选一个成员,作为交换成员。这样团队也可以接受,事前准备会做得比较周到,老师跟同学的矛盾也会小一点。因为本质上是给一个锻炼的机会,所以只要能起到作用就好,没必要太真实,让同学太难受。毕竟软工实践的压力大家都不好承受,再换队员,心态容易爆炸,物极必反,可能最后起不到锻炼的作用,反而导致项目停滞也说不定。


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

​ 我认为我们的团队刚刚完成磨合,进入规范。我们成员都是一个宿舍的,互相了解,直接跳过萌芽阶段。磨合期是有的,一开始积极性很高,但是空有一腔热血,不知道怎么下手,任务分配也不是很了解。经历两个冲刺后,分工明确,能完成自己负责的任务,关于问题的提出讨论解决也有了一套相对规范的流程,基本处于规范期。创造的话我觉得还不够,没有足够的实力与时间可以达到这个阶段。


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

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

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

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

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

3)并且通过数据展现软件是可以维护和继续发展的。

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

请在随笔中用数据证明上述内容或侧重选择之一。

我学会画项目燃尽图,计划每天的任务和实际完成任务,我感觉我更熟悉了软件项目管理。


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

posted @ 2019-06-08 21:46  Spring-zero  阅读(256)  评论(1编辑  收藏  举报