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


    软件工程实践总结作业

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

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

    开篇博客中提到的课程目标:

    期待通过这门课增强代码能力,积累一些项目开发经验,交到一些好朋友,养成程序员作息(233)。

    代码能力方面,无论是个人、结对作业,还是后来的团队项目,都进行了大量(比以前多得多)的编码,对自己的代码能力有了不错的提升;

    在团队项目中经历到了一个近乎完整的软件开发流程,可以说是一次难忘的经历了,算是积累了一些项目开发经验

    在结对和团队项目中,感受到了团队协作带来的好处,交到了厉害的好朋友

    队里大腿太多了,开发过程一路顺风,并没有过多熬夜的经历,这个目标算是失败了233。

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

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

    数独:300

    部门学生匹配:1000

    同学录:1200

    Wonderland:700

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

    作 业 时 间(h)
    软件工程实践2017第一次作业 1
    软件工程实践2017第二次作业 7
    结对项目——第一次作业 9
    结对项目第二次作业 15
    个人技术博客(α) 5
    个人作业——软件产品案例分析 8
    团队项目 30

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

    结对项目——第一次作业,原型设计挺有趣的,让我感受到不想做一个好美工的文案不是一个好程序员。

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

    累计花费 1 + 7 + 9 + 15 + 5 + 8 + 30 = 75 小时,平均每周 75 / 15 = 5 小时。

    5、学习和使用的新软件;

    Sublime Text, Insomnia, Wamp, Mamp等。

    6、学习和使用的新工具;

    Git, Teambition, Process, Cmd Markdown, 墨刀等。

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

    PHP, MySql, CodeIgniter框架等。

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

    各种测试和Debug的有效方法。

    9、其他方面的提升。

    • 团队协作;
    • 代码Debug;
    • Markdown语法;
    • ...

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

    团队

    • 遇到问题先尝试自己解决;
    • 对应的文档要写好,便于交接;
    • 及时完成团队分配的任务,对团队负责;
    • ...

    干货

    • Teambition是个好东西,强推;
    • Git指令的学习,看这个就够了 -> 膜西瓜学长
    • 一份比较完整的Markdown教程 -> Markdown
    • ...

    实例
    Teambition来管理团队开发进度非常便捷有效。
    Tb


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

    软工实践是一个能在大学中磨练自己的不可多得的机会,你所经历的一切会为今后你的程序员工作生涯(如果你有这个想法的话)打下基础,从个人编码能力到团队协作能力都有提升。虽然最终得到的学分和自己的付出很可能不成正比,但是在学分之外的收获更有意义的多。

    在团队项目中,每个人都是整个团队不可缺少的一部分,在自己的岗位上发挥作用,为项目的不断推进而努力。作为团队中的一员,就要对团队负责,积极主动的完成交付的任务。开发之前,要先做好人员分配和大致的项目进度规划,这样开发起来更有效率。在开发过程中遇到难题,要首先尝试自己搜索资料去解决,这样对自己解决问题的能力也是一个锻炼的过程。如果和队友遇到开发上的分歧,要尽早提出,讨论并解决,不要等到项目向前推进了之后再将其提出,第一时间解决分歧。

    由于我所在的小组属于跨班组队,在整体项目进度上与本版其他小组有所不同,在换队员之前就完成了Beta版本的冲刺,所以很遗(qing)憾(xing)没有体会到换队员的经历。对于换队员这个问题,个人还是比较抵制的,还是将强制改为自愿交换较好。对于在一个小组中的所有成员,被交换的那个队员需要去别的组重新学习,融入别组的开发之中;而原组内的其他队员则可以继续顺利的开发下去,不用消耗时间在其他上面。相对来说感觉对于被交换的组员不大公平,而选择交换队员的方法又实在难以决定。


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

    1)萌芽阶段

    团队组建初期,两次会议决定了我们的开发产品、人员分配和开发方式(语言、框架、开发模式等)。

    2)磨合阶段

    开始着手项目开发,由组长制定代码规范、Github规范,并给各个队员分配任务,进行第一次的并行开发,并总结了经验。

    3)规范阶段

    经过一段时间的磨合,大家对于开发流程渐渐熟悉了起来,顺利进入了Alpha冲刺阶段,团队开发的效率进一步提升,队员们的开发有了一定的创造性。

    4)创造阶段

    队员之间彼此熟悉,在Beta冲刺阶段各司其职,不在过度依赖于组长的领导,开发效率达到了巅峰状态。


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

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

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

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

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

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

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

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

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

    网站地址:[Wonderland] 4

    用户情况

    User

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

    项目规划

    Tb

    Github部分提交记录

    Dev分支共计319次commit。

    Git


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

    群内日常:

    end


    End

  • 相关阅读:
    求取32位无符号整数中最低位位值为1的位置 && 求取32位无符号整数中最高位位值为1的位置
    交换寄存器中的相应字段
    NDK与JNI
    plt_0
    32位无符号整数平方根
    提取 主 设备号
    爱江山更爱美人
    mysql oracle sqlserver 数据库分页
    详解JDBC驱动的四种类型
    oracle sqlplus 中的清屏命令
  • 原文地址:https://www.cnblogs.com/zhengshuhao/p/8127166.html
Copyright © 2020-2023  润新知