标签:
首先,我感觉这学期遇到这门课是一种幸运。这学期刚开始的时候,因为我的心里是很害怕的,因为我刚被转到计算机学院,基础很弱。到了结对项目,我认识了队友,深深感受到我与他之间的差距,很让我有动力学习编程,也懂得了什么是结对项目。到了团队项目,我幸运地加入了我们《歪果仁带你灰》团队,通过M1/M2阶段,体会了一个安卓软件的整体开发过程,对我来说这是一个很大的收获,通过第一次亲自动手设计UI、也学会了怎样更好地做用户体验和怎样可以更好地做设计。软件工程课给我的经验是很值得的,我也很高兴通过这门课认识了我的团队队友们。
对于M1/M2阶段的总结
在M1阶段中,我懂得了一个“团队”的重要性,学会了制作应用图标以及设计UI/UX的方法,体会到了开发一个软件的过程。虽然我没有参与敲代码的工作,但间接地体验到了整体开发过程,还是非常值得的。我在M1阶段重点做的是整个软件内部的逻辑结构,只是负责使用power point画出草图、提供给团队内的程序员们。另外做的比较重要的事情是设计出了BUAA MOOC客户端的图标。
在M2阶段中,与M1阶段的主要区别在“工具”。我在M1阶段用的工具很low,只是power point而已,对于设计一个软件来说并不是很合适,没有一点专业的感觉。通过了解,我采取了使用新工具“墨刀”,它是专门设计智能机软件的软件。利用新的工具,我更专业地(…..)做到了BUAAMOOC的首页和讨论区的设计以及整体设计的优化。其中讨论区设计的结构很复杂,我花了不少时间来完成了设计,但非常可惜,因为学校服务器问题,我们团队的开发员们没有能做讨论区。整体,对我来说,M2阶段的意义在“优化”了工具,也是非常有意义的。
以前自己提出的问题
1. 现在我的编程基础差,怎样才能通过自学提高编程能力?
——清楚了。基础非常重要,从基础开始练习编程。
2. 我学习&用中文已经7年多了,上课老师听讲几乎没有问题,可是在课下自己学习的时间,用每一门科目老师指定的中文教材学习仍然消耗太多时间、理解 起来也比较困难,我要怎么克服这个问题呢?难道我在中国上大学,还要每次都花那么贵的国际邮费、买韩文教材学习......
——清楚了,主要上课认真跟上老师讲课,多找网站的资料,多用视频学习。还是会有困难,但要自己尽量克服语言问题。不过我现在的心里状态跟刚开学的时候相比舒服多了。现在已经没有那么迷茫了,在一定的方面懂得了学习的方法。
3. 被限定的project时间短暂,结对编程的效率会比个人编程的效率高吗?
——It depends, 也看两个人的合作程度。依我的情况,我的结对项目队友的编程能力远远比我好,我只能帮他做一些辅助的事情和做UI,如果我们两个人实力差不多而且能够很好地沟通,那么结对编程的效率一定会比个人编程高。
4. 如果在团队编程中想做测试,对于编程基础比较差的我来说,如何才能更好地做软件测试?编程水平一定要很高,才可以把一个软件测试得好吗?
——It depends+1,通过这学期我学到了软件测试有很多种测试方法。我在项目中基本没有亲自敲代码,这样可能很难做到单元测试、集成测试等于直接与代码联络的测试。但我仍然可以做很多其他类型的测试,比如功能测试、安装测试、边界值测试、文档审查、操作性测试等,这些测试都属于系统测试,是不懂代码也可以做到的,我找出问题及bug,告知程序员即可。
5. 在团队中,是不是跟其他每一个组员关系比较好的人来做PM是最合适的?
——PM并不需要跟每一个组员关系好,只不过如果关系好可能管理的效果更好一些吧。更重要的还是PM本身lead成员的能力、适当安排任务的能力、沟通的能力。
新产生的问题
到目前还没有特别的问题产生,只是感觉很遗憾,我没有能参与敲代码的工作,因为我参加代码工作反而会降低结对项目及团队及项目的工作效率。所以新的问题是我什么时候才有能力参加敲代码的工作呢?(打算寒假不离开北京,好好练习编程,可能寒假结束了,就可以清楚这个问题了)
学到的“知识点”
1. 需求:最主要的是“NABCD”分析。(需求、做法、好处、竞争、推广)
2. 设计:一个很好的软件的必要条件是一个很好的设计。设计包括logo的设计,逻辑的设计,视觉上的设计。logo可能将对吸引新用户做很大的贡献,逻辑的设计将影响用户体验。设计时用的工具也十分重要。
3. 实现:按照与前两个阶段相关的文档及说明去实现。
4. 测试:测试包括多种类型,对应模块设计的单元测试、对应软件设计的集成测试、对应软件需求的系统测试等。
5. 发布:为了具有更多的用户,根据软件的需求,选好发布的地方。+发布学校相关软件必须获得学校的授权………………
6. 维护:反映用户的反馈信息去完善和加强软件。
标签:
原文地址:http://www.cnblogs.com/jaeinkr/p/5119820.html