6.2总结

发布时间 2023-06-11 08:52:15作者: 意い十三章

回顾你的课程计划(第一周的计划), 你完成的程度如何?请列出具体数据和实际例子。

 我第一周的计划

 1.制定一个能执行的切合实际的计划,加强对自己的管理

 2.通过自己看视频学习Javaweb的知识,自己制定计划学习进度  

 3.在这门课结束时四人团队完成一个具有软件著作权的软件.同时要看到自己的成长.

答:第一条和第二条自己完成的很不错,自己平常会制定计划来敦促自己学习,例如每周的周几会用来看网课视频自学和每天指定自己的代码编程量。

第三条即将要完成,软件工程这门课快结束,我们四人团队的软件也马上要完成发布了。

但是通过这个学期的学习,感觉自己所需要学的知识还有很多,自己的能力还有很大的提升空间。

你在课程开始快速浏览了《构建之法》,提了 5 个问题, 请回顾那些问题, 自己回答它们。如果不能回答,为何软件工程课不能让你回答这些问题?

1.软件工程的目的是什么?

答:在给定成本、进度的前提下,开发出具有适用性、有效性、可修改性、可靠性、可理解性、可维护性、可重用性、可移植性、可追踪性、可互操作性和满足用户需求的软件产品。

2.软件工程有哪些好的方法?

答:敏捷开发。

3.开发测试重要吗?

答:非常重要!测试员是一个项目中内部的最后把关者,经过了测试员这关才能把项目交到甲方手里验收。我们要求测试员在测试过程中必须仔细而且苛刻,保证项目不会出现纰漏。我们还要求测试员有一定的专业知识,这样在写纠错文档的时候才能一针见血,程序员看文档就能很快知道问题的原因在哪,从而节约开发周期。要知道互联网更新很快,一个好的项目必须要在尽可能短的开发周期内实现才能达到预期目的,不然会变成过时产品。因此,测试是一个项目中必不可少的一环。

4.代码习惯不一样该怎么合作?

答:制定统一标准,API化。确保彼此有点了解
沟通成本是团队协作中经常存在的一个难题,这点在远程协作中更加明显。在你们开始远程协作前,你们最好有过在一起工作的经历,不用做到知根知底,只需要大概了解彼此的大概性格、处事风格、工作习惯等等即可。
约定绝对是提高团队协作最有用的方式之一。大家先约定好一些规则,然后接下来各自干各自的,并且遵循着这个约定,这样便大大提高了效率。 一个项目可以约定的东西有很多,比如约定一种 分支策略,约定一种代码风格(通过 eslint 插件来执行),约定接口文档等等。还可以约定“1”这种回复方式。“1”可以代表很多种意思,如“赞成”、“是的”、“知道了”等,这比打字更有效率。高效的协作离不开协作工具。项目管理平台:国内优秀的平台有如阿里云效平台和 teambition 等。 项目管理平台可以减少很多口口相传的沟通成本,同时规范化项目流程,降低项目发生问题的几率。

4.是否可以为了开发进度妥协?

有些底线不能妥协,但是可以牺牲一部分可有可无的功能。

看看还有什么新的问题产生,请列出来,建议列出 2-3 个新问题。 可以让老师和助教来回答。

(1)大多数的“程序”都是用单一的语言写的,如果软件有多个语言写成的不同模块,如何定义模块的接口呢?

(2)一个初级软件工程师怎样一步一步成为一个卓越的高级工程师?需要做哪些方面的努力?

你看了一些软件工程的文献, 你的团队也做了一两次 “事后诸葛亮”分析, 可以再去看一遍,现在有什么新的感想?

首先团队成员之间要多交流,多讨论,积极发表自己的想法,然后有人在督促着整个团队的项目进度。

在进行项目编程的时候,要学会调试自己的程序,自己去学着找到问题,并学着自己去解决它,实在解决不了的问题通过请教其他人。在不断编程的过程中提高自己的能力。

对比一些技能评价表,你有什么提高? 还有什么收获是不能用数字衡量的?

首先是我的编程能力,通过这个学期团队项目的进行,自己通过自学学到了很多的知识,了解到了一个软件或项目完成的艰难过程。

其次是我的编程纠错能力,以前的我,在编程遇到bug时就立马去找同学帮忙去解决他,自己不去试着先解决,自己的调试程序的能力一直得不到提高,这个学期以来,对于我遇到的bug我都试着自己去解决了他们。

设想一年之后, 你到了你职业发展的下一个阶段(高年级, 读研,工作),回头看这门课, 你对于这门课的教学方法, 老师和助教的工作,和其他课程的衔接,有什么意见和建议?

我认为可以增加跨年级交流会,高年级的可以发表自己的经验,低年级也提出自己的看法,各年级的人相互促进相互学习开发经验,更有助于提高。这门课团队开发是一个亮点,“三人行必有我师”,多人结对开发不仅可以看到自己身上的缺点还可以从他人那里学到很多知识,这比自己慢慢摸索,慢慢学习要快得多。