福大软工 · 最终作业 - 软件工程实践总结(个人)

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

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

​ 目前来说,我熟悉了一点软件开发编程的过程方式,知道了一点如何把所学的知识运用到软件开发工作中。但是来说我觉得我在编码,自学开发技巧来说还是有很多不足。我之前是acm队员,我原本以为我学到的算法知识可以大量地运用在软工编程,但事实证明我错了,这基本是两个不交叉的领域,acm注重算法的研究,项目更趋向于代码书写还有接口的使用。软件的代码工作量很大,这对没有项目经验的我是很大的挑战。

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

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

​ 个人项目中写了较多代码,团队项目写的较少。差不多1000行

2、软工实践的各次作业分别花了多少时间?(做一个列表)
作业内容 花费时间
准备 30分钟
第一次个人作业 640
结对作业1 840
团队展示 40
结对作业2 840
团队选题报告 30
课堂实战uml 240
需求分析报告 40
团队现场编程实战 350
alpha冲刺 1800
beta冲刺 1300
事后诸葛亮 30
个人总结 60
3、哪一次作业让你印象最深刻?为什么?

​ 最让我深刻的是团队现场编程实战,那次我们都是小白,不会写代码,不会用接口,啥都不会。全靠当场百度当场自学,求教别人,现学现用。时间很紧迫,所以我基本是不会一点,网上百度一下,然后照着做下来,这让我短时间学到了好多东西,我也知道了我和程序员还是有差距的。

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

​ 在个人项目和结对项目时,每两周提交一次,平均每周花4小时左右吧。在团队作业时,平均每周3小时。

到现在累计花费了100小时左右。

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

​ pycharm、pyqt 、gephi、axure、typora

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

​ pycharm、pyqt 、gephi、axure、typora、leangoo

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

​ python、leangoo

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

​ 面对问题学习往往效果更好

9、其他方面的提升。

​ 与人交往方面,维护团队之间的合作关系、团结关系,解决团队成员的利益冲突,这些都是今后工作中必不可少的,软工让我提前接触到这些,是我的一大收获。

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

​ 我觉得当面对一个问题时这个问题可能需要多方面的知识,这时候全方位从头开始学习是来不及的,这时候可以选择面对问题学习,将一个个问题通过百度、请教别人等方式解决,往往效率更高。

​ 在我做个人项目时,不会vs,不会封装接口,不会单元检测,这时候如果我选择从头开始学习vs的使用肯定是来不及的,我就针对着现有的问题,学习一个解决一个。等完成任务之后,回头总结学到的知识和解决的问题,这时候你的学习效率就达到了比较高。

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

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

​ 软工可以让你学到很多,但必须靠你自觉自学,而且花的时间比较多。如果学有余力可以选,确实可以让你提前接触程序员的工作,但是如果学习比较困难就要慎重选择,毕竟软工占据了比较大的一部分时间。

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

​ 建议不要中途换队员,一方面这样影响了团队的凝聚力。一方面转出的团队人员变少需要调配工作增加队员负担,另外一方面该队员对转入团队的项目不熟悉,转入团队在原有任务分配好的基础上难以再分配。

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

​ 7、8个左右,人数太少任务太重,人数太多任务不好分配。

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

​ 建议减少作业量。。。。建议不要一次性要求学习太多之前没用到的知识、工具。

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

​ 感谢我的队员,感谢每一个帮助我的人

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

团队发展大致为萌芽阶段、磨合阶段、规范阶段、创造阶段这四个阶段。

萌芽阶段:团队当初是地秀组建的之后陆续加入了张扬、我等同学。

磨合阶段:我们在中期加入了全炯同学。

规范阶段:在alpha、beta编程时,我们规范了每个人的语言风格,使得代码便于阅读整合。

创造阶段:在我们alpha、beta冲刺时,熬夜在活动室开会写代码是再正常不过的事。

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

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

我们团队根据用户需求开发出的javis for chat具有热词分析、关键词提醒、群发助手、单向好友删除等功能。

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

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

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

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

通过github保存源代码:

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

​ 有很多方面都还没有经验,还需要更多磨练自己。

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

posted on 2019-01-10 01:11  hhhhh123  阅读(135)  评论(0编辑  收藏  举报

导航