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

前言

最后一课


正文

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

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

      • 回顾最初的目标,说来汗颜,可能比想象中要简单得多,首要目标其实只是通过一门必修课,然后是强化个人在计算机视觉中监控场景(毕设方向)这一块的认知水平和编程能力。成为组长纯属赶鸭子上架,一开始很担心能不能组织好团队,最害怕讨厌麻烦的自己中途撂担子成了甩手掌柜。
      • 虽然最终能够拿出作品依然瑕疵满满,但在这个过程中,清楚的明白着自己要做什么,在做什么,一个完整的软工流程应该经历哪些阶段,以及如何与队友沟通协作,最重要的是始终用deadline来push自己。同时,也从一个系统实现的角度,理解了如何完成对车辆的检测识别与追踪,以及相关图像处理,影响检测效果的种种因子。
      • 首先,作为组长,我不够合格。在组织计划方面常常思虑不周全,沟通能力low炸,经常觉得没能把自己的想法完整的沟通告知给组员,有段时间蜜汁觉得好像只有自己彻底的明白我们组项目目标[笑哭.jpg]。最最令我自己讨厌的是,如果遇到糟糕的情况发生,第一个心态爆炸的往往都是我自己,并且我还忍不住抱怨出来希望有人能提出解决方案,却在无形中把我的紧张情绪传播给别人。作为组长,却没能成为小组的定海神针,关键时刻倒像是兴风作浪的“内奸”。万分感激队友不离不弃,关键时刻靠得住,尽管每个人学习工作私事一大堆,但都尽可能参与每次的团队活动。
      • 其次,在个人方面,时间效率还是太低了。我以为自己能找到并应用顶级算法,我以为自己能完成阴影处理,我以为自己能完成人车分类,我以为自己能完成定制报表……以上成分在最终版中都成功被阉割了:)……我们的作品本来可以更好,不过没关系,我会在毕设中让它更加棒棒哒~
    • 总结这门课程的实践总结和给你带来的提升,包括以下内容:

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

        • 程序 代码(行)
          sudoku 398
          student_department_match 442
          your eyes (Alpha+Beta) 1480
          your eyes (-ing) 375
          TOTAL 2695
      • 软工实践的各次作业分别花了多少时间?(做一个列表)

        • 作业 实际投入(天) 时间(min)
          软件工程实践2017第一次作业-准备 7 360
          第二次作业——个人项目实战 6 3690
          第三次作业--团队展示(团队) 8 300
          第四次作业--项目选题报告(团队) 2 660
          第五次作业--原型设计(结对) 5 1900
          第六次作业--结对编程第二次 5 2190
          第七次作业--项目需求分析(团队) 3 910
          项目选题报告答辩总结 1 210
          项目UML设计(团队) 1 310
          项目需求分析答辩总结 1 240
          Alpha冲刺 12 4320
          Alpha 答辩总结 1 200
          Alpha 事后诸葛亮(团队) 1 180
          BETA 版冲刺前准备 1 60
          Beta冲刺 19 2223
          Beta 答辩总结 1 120
          软件产品案例分析(团队) 1 360
          个人作业——软件工程实践总结作业 2 240+
          TOTAL 77 18473+
      • 哪一次作业让你印象最深刻?为什么?

        • 哪来的印象深刻,明明每一次都刻骨铭心……非要说的话,大概大多数人都会选择Alpha冲刺与Beta冲刺吧
        • 用最贵的护肤品熬最深的夜,在对接和明日展示的绝望与痛苦中挣扎,然后麻木,书写福大凌晨的冰与火之歌……
      • 累计花了多少个小时在软工实践上?平均每周花多少个小时?

        • 由上表数据统计得约为308h,周均18h,日均2.6h
      • 学习和使用的新软件

        • XAMPP Control Panel:一个功能强大的建站集成软件包
      • 学习和使用的新工具

        • vs性能探查器:一个vs自带的性能诊断工具
        • Lantern:带我翻墙带我飞
        • ProcessOn:一个面向垂直专业领域的作图工具
        • Leangoo:一个简洁、可视化的敏捷团队协作工具
      • 学习和掌握的新语言、新平台

        • 木有
      • 学习和掌握的新方法

        • 木有
      • 其他方面的提升

        • 加深对OpenCV的理解和使用
        • 学会利用基础的MFC操作EXCEL
  • 二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析

    • Deadline虽为强推动力,但事有不能及,等着Deadline来push自己,不如自推

      • 在Alpha冲刺中,由于项目进度受到算法制约,全组状态都很low,前几天根本0进度,助教留言完全不敢去看。我们都很清楚,这个瓶颈,不突破再怎么靠时间消磨来激励自己都于事无补,突破了则一切水到渠成。事实证明确实如此,在第3、4天确认框架与算法后基本就能看到Alpha核心模块的雏形,在这一块上的进展迅速。
      • 大概是被这种顺利冲昏了头脑,后期核心模块是做好了,但却忽视了不同语言的对接问题, 只给对接留下了十分有限的时间,最终对接没能在deadline之内完成。
  • 三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,你有什么想建议和告知的呢?对于后来人的期许。 特别地,特别地,下一届要不要中途换队员?

    • 不想考研,不用强求实验班,因为这门课对实验班而言是必修哦:)
    • 想锻炼自己的,这门课真的很考验人,像这种团队协作、认认真真做一个项目的机会,在参加工作之前还是蛮难得的
    • 中途换队这件事还是凭自愿吧,真心想换队的人留不住,求个安稳的人偏要颠沛流离。模拟跳槽也与现实条件差距太大,个人觉得意义有限。
  • 四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)

    • 萌芽阶段:团队基于一个曾经有过合作经历的小组再加上新鲜的血液而创立,创立初期每个人在大方向上的职责基本明确,但细节仍然模糊,交流讨论沟通稍显局促
    • 磨合阶段:每个人都相互熟识,团队开始有了明确的目标并为之共同努力
    • 规范阶段:不存在的,埋头溜号打代码,都是被Deadline威胁的小可怜,谁还想做规范?倔强地在代码提交前由一个人统一代码风格似乎已经是我们组为之做出的最大努力[戏谑.jpg]
    • 创造阶段:有共同目标,知道为何而战,将每一次的冲刺目标凝聚为一个成果,也算高度自治……看似贴近阶段特点描述,但是……并不拥有相应战斗力的我们……最终成品与理想也有相当痛苦的差距
  • 五、怎样证明你学会了软件工程?

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

      • 车辆检测与追踪:非密集无遮蔽场景下,准确率98.05%;密集有遮蔽场景下,准确率66.67%
      • 行人检测与追踪:非密集无遮蔽场景下,准确率95.45%;密集有遮蔽场景下,准确率70%
      • 热力显示:多颜色层次的反映当前区域流量密度,同时,一定程度弥补密集有遮蔽场景下人车检测准确率较低的缺陷
      • 视频摘要:剪除静止帧,大幅减少视频中的无效内容
      • 速率估测:对非透视路面速度估测效果较好
      • 报表输出:将流量检测数据输出,自动形成图表,方便用户查看
    • 通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件

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

      • 车辆检测与追踪:非密集无遮蔽场景下,准确率98.05%;密集有遮蔽场景下,准确率66.67%
      • 行人检测与追踪:非密集无遮蔽场景下,准确率95.45%;密集有遮蔽场景下,准确率70%
    • 对着这个检查表 检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。

      • 很多不达标的款项,有些问题看似可以进行回答,但细想之下又太过浅薄,对于软件的成型过程还有很多地方没有经历苛刻的思考,这一学期对于软工实践大多时候也抱有得过且过的心态,很多能去完善而没有完善的漏洞时刻警醒着我。未来即便不做程序员,工程的思维也不可或缺,还是应当沉下心来细细打磨
  • 七、个性发挥,包括图文、照片和创意等

原文地址:https://www.cnblogs.com/wyq0808/p/8207314.html