福大软工 · 最终作业

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

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

这次软工实践是我第一次参加比较大的团队项目,最大的收获就是锻炼了与他人合作的能力。最初以为这门课的要求无非就是完成一个项目,好像是挺简单的。但从一开始的项目确立,到项目实现出现了一系列之前没有想到过的困难,在克服困难的过程中,也提升了自己各方面的实力。从个人项目到团队项目,做了之前没有想到过一系列工作。如界面原型设计。比较大的提升还是在代码书写能力上,从以前只写一个程序代码到写一个工程代码,其中有许多的不同,无疑提升了自己对代码的新的看法和认识。当然也有遗憾之处,对于创建一个工程来说,自己的代码能力还是没能够达到要求,许多的地方还是没有学习到。在这次的实践过程中,我尝试了之前没有接触过的语言,如java,javascript,html。对这些语言研究的深度还是比较浅的,主要还是由于个人学习能力不足和时间上的不充裕。今后必定会在之前的基础上更多的学习新语言的运用。

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

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

三千行左右。

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

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

印象最深的还是在一个上午做一个抽奖程序的作业。一个上午加要做出一个具有界面还具有一定水平的算法,以及其他杂七杂八的工作,时间上明显是来不及的。也确实我们也没在一个上午的时间内做出来,之后又花了一个下午的时间完善了工作,也算是做出一个基本满足要求的程序。并且那次作业获得分数也不算低。

4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答

100个小时,平均每周花6小时。

你打算平均每周拿出多少个小时用在这门课上:

其实目前我也不知道一周该安排多少小时在这门课上,主要是我的大三课程会比其他人多出一到两门(我是实验班的),所以我觉得能够利用好时间去解决的了问题,能少花时间尽量少花时间。

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

设计原型的工具:墨刀,Axuer

编程工具:vs2017,微信小程序开发平台,eclipse

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

代码管理:github

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

新语言:java,javascipt,python,html

新平台:廖雪峰官网

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

工程代码的管理

9、其他方面的提升。

与团队成员的协作能力

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

结对作业中设计原型。最开始没有做过原型设计,所以在最开始使用的软件是Axuer,相比较之后使用的墨刀在使用难度上还是有一定的差距。我和我的队友也花了两个晚上的时间在不断的修改和完善原型,做出的成果也获得了不低的成绩。一个好的工具应该是一个项目好的开始,所以原型设计上我们最终选择的是墨刀,因为他是中国人开发的一款软件,在学习和使用上更加的容易上手。

在项目实践中的一个实践作业,设计抽奖程序。我们团队使用了最简单的语言c#,最终也是完成了作业。据我了解有好些个组是因为抽奖程序与界面程序结合不起来,所以最终也是没有完成要求。我们在一开始是就使用了C#,确实也是我们组的一大优点。虽然C#做出的界面不没观,但对于一个抽奖程序来说还是绰绰有余的。

三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:

1)你有什么想建议、告知和期许想要告诉他们呢?

有可能的话还是别选软工实践,确实这门课是最难的一门实践课(手动滑稽)。当然对于那些勇于突破自我的你们,是必须要选软工实践的。这门课非常的锻炼自己的综合能力,希望你们能在一学期的学习中收获到你们意料之外的惊喜。

2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?
假设依旧是一个90+人数的大班

我觉得还是需要的,我个人也是换过队伍的,毕竟各组的水平都不一样,甚至有些组他可能压根完成不了一个项目,但是完成不了就意味着挂科的可能性非常的大,就算不挂科也难有高分数。对于学生和老师都应该考虑到一个团队的开发能力,究竟能否做出一个成果出来。否则你可能上了一学期的课,但是你大部分作业都没有完成,这是非常的不可取的。所以无论是强制的还是自愿的,都应该有换队的机制在。

3)身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?

我觉的八个人会比较合适,首先人员安排上对pm的压力会小很多,其次八个人完成的项目规模也可以大很多。而且最重要的是学霸的人数少,如果你安排的队伍多,那么好多队伍就没有一个能力较强的学生引导,确实会吃很多的亏。

4)个人/结对/团队作业应该控制在怎样的规模?

对于学习能力一般的学生来说,我觉得个人或结对作业的规模最大也只需要两个晚上的时间就可以完成的,结对作业规模可以增大,但也应合理。毕竟大三上课程非常的多。团队作业的规模对于一周一次实践课的话,我也觉得是两个晚上就能够做出来的规模,首先团队人数多,每个队员两个晚上就已经是非常大的一个项目了。

5)这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?

最感谢的还是助教,在一些很尴尬的问题上,助教都帮了我不少的忙,非常感谢助教。

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

之前是阅读过《构建之法》第十七章,但也忘的差不多了。总而言之,我转到新队伍后,确实感觉到新队伍的学习建设氛围很浓厚。每一步该做什么都有比较清楚的安排,我们团队也做了比较不错的产品。

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

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

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

由于我们团队开发的是有支付功能的软件,在申请资质上有一些问题导致不能上线发。不过我们在课程结束也还在继续申请资质,也取得了成果,但离发布还差最后的一小步。

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

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

我们团队的pm的计划规定是非常完备的,我们的每一步都是有计划由规定的。每个团队成员也是尽自己最大的力在做好自己的工作的。只是由于没有资质的原因我们才没有发布。如果成果获得资质,我相信我们的软件将会受到一致的好评。

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

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

我们的项目是一个可持续发展的项目,代码的规范性也非常的高。几乎一个软件开发过程中需要的东西,以及开发经验我们都是有做记录的,并不是无章可循。

4)对着这个检查表:http://xinz.cnblogs.com/p/3852177.html 检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。

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

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

我们最牛的团队照

原文地址:https://www.cnblogs.com/onezya/p/10250283.html