• 软件工程实践总结


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

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

    • 在软工实践之前,我可能只是个只会在windows下面跑跑代码的小白,实践课之后,成为了会在Linux下面跑下代码的小白。因为在做APP项目的过程中,我是我们组负责搭建服务器的,所有服务器的环境配置啊什么的,我大部分都是学习新的知识来完成,中途遇到了各种bug,好在最后都解决了。编码能力提升可能没有那么大(但是也有提高),但是Linux系统倒是玩了一遍,不,是被Linux玩了一遍==。 这是当初的期待中没有想到的。
    • 当初期待的是提高编码能力,但是现在来看,远不止提高编码能力了,其他的能力就在下面再说吧。
      不足的话我觉得自己编码能力还不够,还要加强,还有时间安排的能力也是很不够,常常会捡了芝麻丢了西瓜这种,虽然这学期没有18门课,但是也有16门==。一开始其实也很犹豫,要不要选软工(因为其他选修课选完我学分已经够了,选了软工分数就超了1.5了,但是后来选了,而且也没有退选,虽然中途特别累的时候会骂自己,当初为什么要选!!!为什么不退选。。。但是好歹我是坚持下来了。而且,现在来看,也没有为以前的选择感到后悔,因为,这门课真的是一门特殊的经历,当初没有退选可以说是一个正确的决定。

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

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

    大概1100行,后台那边我编码不多,主要是完成CI框架的整个环境搭建,还有就是一些公共函数/用户模块的编码。

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

    编号 作业 时间(h)
    1 第一次作业 2
    2 数独作业 20
    3 结对作业-原型设计 8
    4 结对作业-部门匹配编码 20
    5 团队作业-同学录 10
    6 团队前期作业 15
    6 团队作业-alpha开发 70
    7 团队作业-beta开发 30
    8 个人技术博客 3
    9 华为云测评 7
    10 总结博客 5

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

    应该就是alpha展示的前一天吧,整个队伍一起改bug到凌晨的那种,然后等待队友的GIF图,鱼骨图,来完成展示博客。

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

    总计 190,后面的时间其实差不多是自己估计的,感觉也差不多有这个时间吧,一开始花的时间不多,到后面alpha阶段就是每天都在写软工,每天可能都有5~6小时在写。190/16≈12。

    5、学习和使用的新软件;&& 6、学习和使用的新工具;

    墨刀processonpostmanapizzgitpowerdesignersiege

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

    leangooLinuxJWT,爬虫相关的知识,包括正则/cookie等

    8、学习和掌握的新方法;

    • 字很重要,图也很重要。作图可以是整个编码变得清晰,比如后端架构,比如数据库类图等等。
    • git团队编码协作,非常强大的工具

    9、体会

    • 我的朋友和我的对话。

      我和他说了无数次我在做软工,其实微信还有,没有截图。
      怎么说呢,这么实践课是真的占据了这学期的空闲时间,选了实践课之后,软件工程的那位朋友只要和我聊天,我都说我在写软工,他说他们软工可能都没有我们这么累orz。以前周五晚上一般都会出去浪==,这学期因为软工就老老实实的呆在宿舍了。朋友喊我看寻环游记我也没去,最后是自己一个人跑去看了。
    • 舍友在做软工时候,发了好几次的朋友圈,都是这个配图

      从掉的几根头发,到掉了越来越多的头发orz。
    • bug出现定律:
      alpha/beta展示前一天,出bug的可能性非常大!!!你永远不知道bug什么时候会无缘无故的出现。

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

    • 一开始的选题其实很重要,如果有好的想法,会让团队更有动力去完成一个属于大家的APP吧。
    • 整个团队是时间规划非常重要,熬夜去完成任务是一件非常糟糕的事,这也是团队时间安排出现问题的体现。我们团队有过,但是时间的合理安排真的是一个难题,都说deadline是第一生产力,但是我想如果有人能够有极强的自制力,可以非常合理的安排好时间,那事情估计也就成功了一半吧。
    • git的使用非常重要,非常重要,非常重要,软工之后,一定要把git使用起来。

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

    • 首先你要明确,软工实践真的需要花费特别多的时间,也可以学到非常多的东西,我经历过,我觉得收获>>付出的时间。
    • 多花心思在选题上面,这个app可能是你们开发的第一个app。好的选题会让队友都有动力的想要去完成你们的作品。
    • 不要担心实际写起来有多难,其实团队写一个app并没有你们想象的那么困难。
    • 不要把老师布置的git任务当作是作业,git的版本控制/代码托管/团队编码一定要用起来。
    • 换不换队员对于优秀的团队,可能是不想换队员,比如每个团队人人贡献比较均匀,但是对于一些团队,大部分编码都是由团队中的几个人来写的,换队员一般也是贡献最少的换出去,所以我认为换队员的意义不大。如果老师想要我们体会工作上的人员调配,即使调配了,如果队员是整个团队中贡献率最小的,那换队员对那个团队似乎也是没有很大损失。

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

    阶段 是否经历过
    萌芽阶段
    磨合阶段
    规范阶段
    创造阶段 ×

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

    • 团队的需求规格说明书文档需要非常详细且具体。里面应该包含项目规划/需求/设计等等,设计还可以具体到数据库的表等等。

    • 团队的编码规范
      这些都是需要非常详细的文档。
      https://github.com/FzuYibao/FzuYibao/tree/master/document

    • 使用团队协作工具,将任务具体化,比如teambition/leangon的使用,还有是燃尽图的持续更新,这些可以让团队的分工合理化,并且是团队进度明显化。
      这是我们团队的leangoo使用

    • 这是后台的编码
      https://github.com/firstso/yibao_backer

    • 还有我们的接口文档(部分截图)

    最后,感谢老师,感谢助教(从助教那边学到了非常多,非常感谢)。
    再见,软件工程实践!

  • 相关阅读:
    Leetcode#129 Sum Root to Leaf Numbers
    Leetcode#15 3Sum
    Leetcode#16 3Sum Closest
    Leetcode#127 Word Ladder
    Leetcode#2 Add Two Numbers
    Leetcode#18 4Sum
    vue.js入门(3)——组件通信
    vue.js慢速入门(2)
    vue 基础介绍
    vue.js中v-for的使用及索引获取
  • 原文地址:https://www.cnblogs.com/hish/p/8127151.html
Copyright © 2020-2023  润新知