福大软工 · 最终作业 - 软件工程实践总结(个人)
一、请回望暑假时的第一次作业,你对于软件工程课程的想象
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
开篇博客的目标和期待
希望获得一些实践的经验和提高自己的专业能力。
已达到的期待和目标
自己的专业能力确实有得到一些提升,之前只会一点点得C语言,在这次得软工实践中我加深了对C语言的学习,并学习了简单的C#,java。也学会使用一些新工具,比如用于原型设计的Axure,用来开发安卓的Android Studio,用来开发微信小程序的微信web开发者工具。在软工实践期间也与团队成员一起工作一起学习,过程还是非常有意思的,各种感情都有。
存在的不足
学习到了很多的新工具但大多数都只会一些基础的功能,没能很熟练的使用它们。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
大概在2700行左右。
2、软工实践的各次作业分别花了多少时间?(做一个列表)
- 作业 | 时间 |
---|---|
福大软工1816 · 第一次作业 - 准备 | 30 |
福大软工1816 · 第二次作业 - 个人项目 | 450 |
福大软工1816 · 第三次作业 - 结对项目1 | 600 |
福大软工1816 · 第四次作业 - 团队展示 | 50 |
福大软工1816 · 第五次作业 - 结对作业2 | 900 |
第六次作业 - 团队选题报告 | 150 |
福大软工 · 第八次作业(课堂实战)- 项目UML设计(团队) | 220 |
福大软工 · 第七次作业 - 需求分析报告 | 775 |
Alpha 冲刺 | 2500 |
福大软工1816 · 团队现场编程实战(抽奖系统) | 480 |
福大软工 · 第十一次作业 - Alpha 事后诸葛亮(团队) | 30 |
福大软工 · BETA 版冲刺前准备(团队) | 30 |
福大软工 · 第十次作业 - 项目测评(团队) | 150 |
Beta 冲刺(7/7) | 3000 |
3、哪一次作业让你印象最深刻?为什么?
应该是第一次的个人作业吧,在很长时间没有写代码,突然去写一个小程序对当时的我来说还是有点困难的,当时参考了很多人的博客,在很多小问题上花费了大量的时间。最后也没能全部完成。
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答
最终花费了大约156个小时在这门课上。平均每周在9个小时。开篇博客中预计了每周6个小时,看来是远远不够的。
5、学习和使用的新软件;
1.Axure RP 2.Android Studio 3.Eclipse 4.微信web开发者工具
6、学习和使用的新工具;
1.Github 2.Leanggo 3.Process on
7、学习和掌握的新语言、新平台;
C# Java 微信小程序相关的wxml
8、学习和掌握的新方法;
1.如何进行原型设计 2.开发一个基本的Android软件 3.开发一个基本的微信小程序
9、其他方面的提升。
其他方面更多是团队协作能力的提升,自学能力以及代码能力。
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
如何做好团队间的协作是一个很复杂的问题,我的第一个小组可以说是临时组建的,团队之间的沟通都比较的少,导致我们的效率十分的低下,很难及时完成一些任务。团队协作做的好才可以最大的发挥每个人的能力。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:
1)你有什么想建议、告知和期许想要告诉他们呢?
选这门课还是很值得选的,但决定学这门课就意味着你要花费大量的时间,要合理规划当学期的时间。要认真对待这门课,对得起所付出的时间。
2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?
我觉得不需要。
假设依旧是一个90+人数的大班
3)身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?
在6~7个比较合适吧。
4)个人/结对/团队作业应该控制在怎样的规模?
跟本学期差不多吧。
5)这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
萌芽:确立一个选题。
磨合:几次的团队作业。
规范:α冲刺阶段。
创造:原团队解散未经历这个阶段。
五、怎样证明你学会了软件工程?
1)研发出符合用户需求的软件
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件
有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ;
从编写到测试再到发布,我们历经了好几个迭代的过程,中间通过沟通交流也是修修补补,最终展示的也是后续在既有功能版本上的删减版(个人版开发权限为了配合微信小程序发布的审核问题,导致几乎近半数的功能砍掉才得以上线)
3)并且通过数据展现软件是可以维护和继续发展的。
在github上可以搜索到我们项目WeEdit的源码,完全开源共享,欢迎下载并提出建议或者issue,谢谢
4)对着这个检查表:http://xinz.cnblogs.com/p/3852177.html 检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。
对着检查表一项项看下来,刚开始还能想一些回答,但后面问题大部分都不知道怎么回答了。自己离真正的去企业面试还差的很远。还有很多需要提升的地方