zoukankan      html  css  js  c++  java
  • 软工总结博客

    本学期是我大学这三年中最忙碌的一个学期,因为编译大作业、数据库大作业和软工项目都集中在了这一个学期中,在这个学期里我也第一次有了通宵码代码调程序的“可怕”经历。在我们的团队项目中,我担当的是主力的前端程序员,主要负责对往届的前端代码进行重构。在M1阶段中,我对往届的代码进行了认真的分析,在他们的代码逻辑基础上结合最新的android技术进行代码的重构。重构的任务比较重,我也为这项任务通宵过。在M1阶段中,我们团队的另外两位同学对后端进行修改,从而成功地支持了我前端的各类功能。虽然还有一些功能没有实现,但总的来讲还是很顺利的。但是M2阶段中,由于编译大作业每周都要占用大量时间进行调试修改,导致软工方面的代码进展缓慢,再加上后端变成了与网页组的共同设计,使得前端的功能不能及时调试,可以说是一大遗憾。但是从总体上说,我对我付出的大量精力还是感到比较满意的。

    第一次博客链接:

    http://www.cnblogs.com/geminy/p/4834031.html

    对问题的重新思考:

    1.结对编程中要求两人必须拿出同一段时间在同一地点编程,那么在这段时间之外两人又各自编写了大量程序,那么再次见面时又会有代码信息的沟通问题,不会导致效率下降吗?

    经过一个学期后我更加觉得结对编程的效率对于现在的我们来说效率是很低的,一方面我们需要等待对方的空闲时间,另一方面好的想法不能及时添加入代码中,必须等待共同编程时才能实现,而且技术掌握的不对等也会耽误结对编程的效率。

    2.君子和而不同,但团队中不能人人都是君子,那么所谓的“我没有时间测试你的新功能,因而不能加这个功能”的要求不会导致团队信任度下降吗?

    现实情况是以功能优先,功能上实现了就先不为测试预留时间了。

    3.一个pm的编程时间和他的团队组织沟通时间应当如何分配呢?

    助教的回复是PM通常是不主动设计代码的,我认为也是合理的,PM的主要作用是进度调度和全局掌控,不应该在某一处代码处耗费精力。

    4.团队成员的工作量分配是按其编码能力来分配还是平均分配还是自由分配?

    我觉得在考虑程序员擅长方面的情况下还是做到平均分配比较合理,毕竟靠着兴趣自由编程对一个团队项目不是很合适。

    5.本课程为什么不可以用java编程而是强制使用vs?java语言不适合做软件工程吗?

    由于第一二次作业是让用vs写而且vs安装超麻烦我才问的这个问题,现在感觉vs对于我们的团队项目来说就是一个记录大家每天做了什么从而方便总结daily work的工具,实际编程和vs没什么关系,而且做android项目还是用谷歌的android studio更方便。

    各阶段学到的知识点:

    需求:需求文档是个好东西,但是写起来很不容易,我们在M2和另一组共用一个后端时出了一份前后端接口的需求文档,确实很好用。

    设计:就拿我们的android项目来说,功能和界面都是需要精心设计的,而且界面对我们来说更难。我就是为了界面的美观才选择重构上一届代码。用到了最新的RecycleView和CardView等新控件。

    实现:可以说我的实现过程就是边学边做的过程,很多新知识不是看了就会的,确实是需要照着例子自己写一个一样的才会理解。

    测试:测试方面我不是很了解,我的观念还停留在程序没有bug就可以的阶段,对测试(例如单元测试等)的意义不是很清楚。

    发布:发布到市场时的审核要求还是很多的,我们在M1阶段时竟然因为app图标的问题没通过审核,这算是学到了。

    维护:可以通过上传新版本对已有的bug进行修改,达到版本维护的作用。

  • 相关阅读:
    case when in sql server's stored procedure
    Hadoop-2.2.0中国文献—— MapReduce 下一代 -- 公平调度
    cocos2d-x游戏循环和日程安排
    归并+高速分拣
    【Nginx】启动过程
    IOS线程操作(3)
    Android最方便的数据库--LitePal
    Android采用Application总结一下
    POJ 2151 Check the difficulty of problems (动态规划-可能DP)
    乞讨N!到底有多少0
  • 原文地址:https://www.cnblogs.com/geminy/p/5119999.html
Copyright © 2011-2022 走看看