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

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

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

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

    通过学习这门课程,提高自己的代码能力以及完成实际项目的整体流程还有团队协作能力。
    不管是作业量还是代码量都是相当的恰当。
    整体上来说,是有达到目标的,但是在团队协调方面仍然有进步的空间

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

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

     8个java.class 12个布局.xml文档 总计1500+行代码
    
  2. 软工实践的各次作业分别花了多少时间?(做一个列表)

    序号 作业 时间
    1 个人作业第一次—准备篇 4
    2 结对作业第一次—原型设计(文献摘要热词统计) 16
    3 结对作业第二次—文献摘要热词统计及进阶需求 24
    4 团队作业第一次—团队展示 3
    5 团队作业第二次—项目选题报告 12
    6 团队作业第三次—项目原型设计 13
    7 团队作业第四次—项目需求分析 7
    8 团队作业第五次—项目系统设计与数据库设计 11
    9 团队作业第六次—团队Github实战训练 10
    10 团队作业第七次—项目Alpha冲刺 35
    11 团队作业第八次—事后诸葛亮 3
    12 团队作业第九次—项目Beta冲刺 24
    13 团队作业第十次—Beta阶段团队项目互评 6
    14 个人作业第二次—软件工程实践总结作业 5
    总结 184

3. 哪一次作业让你印象最深刻?为什么?

结对作业第二次—文献摘要热词统计及进阶需求
第一次意义上的作业,很认真的对待,但是作业需求不断变更。改了又改,耽误了自己的复习计划,另一方面作业的时间又比较赶,加上不断踩坑,最终还是熬夜加班才把功能调试完,可是最终结果只得了2分。本想寻求助教帮助后查找错误所在。毕竟和其他人20-30分相比相差过大。最终也没得到测试用例。贼难受。
  1. 累计花了多少个小时在软工实践上?平均每周花多少个小时?

     应该有180+小时 平均每天晚上4小时
    
  2. 学习和使用的新软件&新工具;

     android studio      AxureRP   墨刀 GifCam
    
  3. 学习和掌握的新语言、新平台;

     android
    
  4. 学习和掌握的新方法;

     测试相关软件
    
  5. 其他方面的提升。

     对团队磨合更有感触
    

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

开始没有规范相关的文档标准,代码标准,接口。某个成员改动代码后需要面对面效率极低的情况下逐一解释。 比如编写登陆接口的同学要求数据库部署的提供接口,花了不少时间理解对方代码。

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

告知: 在学期初,花费挺多的时间。但是收获也很多。好好珍惜,一定不会后悔选了这门课,虽然给分低。
要换队员:不过应该有一个双选的机制,自行决定去留,考虑是否接收等。

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

萌芽阶段
选题过程忠集思广益讨论了不少可能性,也比较愉快。

磨合阶段
新任务布置下来之后开始对比着进度完成,队员间配合着实现一个又一个功能

规范阶段
实现功能过程中发现,相关规范没做好,又专门开了两次会讨论这些内容

创造阶段
有队员提出了很有创意的“广场”功能,不过碍于时间紧迫,只能简单的实现了一点点

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

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

所在的团队通过beta冲刺后,项目的累计用户量及访问人数如下:
累计用户量
访问人数
(数据来源:微信官方小程序 - 小程序数据助手)

2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄

团队在一开始就定下了项目的大致计划,也具体到了每个人的工作上。项目进度也都在计划之内,没有出现延迟等现象。

3)并且通过数据展现软件是可以维护和继续发展的。
而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料

项目的源码都可以在github上找到,同时也有编译的说明文档,接口而言也有详细的markdown文档。

原文地址:https://www.cnblogs.com/MikasaAKM/p/10979098.html