一、请回望暑假时的第一次作业,你对于软件工程课程的想象
-
1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
- 答:1.确实通过一学期的软工实践有了很多收获,在此阶段我接触了
许多未接触的软件,比如用于原型制作的axure和墨刀,还有在线的流程图绘制网站PROCESSON,暑假间通过网课、电子书等接触java,从0开始学习,开学后继续通过边自学理论边应用于软工个人作业来不断提升自己的编码水平、java语言的熟练度,再应用于后来的前端设计软件的Android Studio上(仍然是从0开始),学习这么多知识不仅是达到了我报选的期待...还超标了吧;
2.不足: Android Studio的应用还是处于萌新上路的水平,通过自己手写出高大上的界面几乎等同于做不到,本学期的作业是站在巨人的肩膀上,借鉴美观、酷炫的界面框架进而改变的。但是在发掘框架的过程中,我很期待未来能写出等同甚至超过大佬们写的框架设计出属于自己风格的界面
- 答:1.确实通过一学期的软工实践有了很多收获,在此阶段我接触了
-
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
1、统计一下,你在这门软件工程实践中,完成了多少行的代码;
- 答:精确度可能不是很高,根据每次作业累计的结果,不完全统计,通过增删改等操作有7000行代码吧?(看了我也吓一跳...beta7) -
2、软工实践的各次作业分别花了多少时间?(做一个列表)
-
答:
每次作业均是按周统计,大部分去了一些学习成本的时间,便将Beta、Alpha统一整起来,统计结果如下;
任务名称 | 所花费时间/小时 |
---|---|
第一次作业 | 3 |
个人项目 | 18 |
结队项目1 | 14 |
团队风采展示 | 5 |
结对作业2 | 20 |
团队选题报告 | 5 |
团队课堂UML设计 | 3 |
团队需求分析报告 | 5 |
Alpha冲刺 | 130 |
团队现场编程 | 3 |
团队项目评测 | 5 |
Beta冲刺 | 25 |
最终演示 | 5 |
累计 | 243 |
平均每周花费时间 | 13.5 |
-
3、哪一次作业让你印象最深刻?为什么?
-
答: 结队编码作业中的词频统计让我印象最深刻,这不仅考验我第一次个人作业的结果(第二次重新提交后代码后忘记pr导致第一次作业零分,通过助教私下测试本可以取得59分的成绩QAQ,满分60),还考验我和安哥在截至日期到来的完成度,在最后三天里我和安哥像广大实践班同学一样频频见证凌晨三四点的福大!虽然挺累,但是很充实!
-
4、累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答
-
答:累计花了235小时(beta链接可见),平均每周14小时(又吓了一跳..不知不觉有这么多),开篇博客里写出了我当初最最极端的想法:8H/周,原回答:“我希望能和未来的队友共同设计出一款有意义的软件,尽自己全力;我打算拿出8小时/周 、并且高专注力放在这门课上!(不够? 那还是看着加。”
-
5、学习和使用的新软件
-
答:原型制作的axure和墨刀,JAVA idea、 java:eclipse,Android Studio,ATOM,NOTE,Appach
-
6、学习和使用的新工具;
-
答:在线的流程图绘制网站PROCESSON,Java性能评测:Jprofiler,接口测试:Postman,Git使用:Github,GitKraken,Android Studio的代码规范纠正插件
-
7、学习和掌握的新语言、新平台;
-
答:JAVA idea Java eclipse Android Studio VSCSS(这两个初步了解,未掌握)
-
8、学习和掌握的新方法;
-
答: AndroidStudio 爆炸就上博客;代码不会写上博客和查看官网的语法说明书;
-
9、其他方面的提升。
-
答:团队协作的认识:前后端要实时沟通,确保数据格式明确,接口数据不缺不漏! 前端方面需要有明确的界面原型设计,提前指明需求格式、风格!
学习后端制作的《后端技术文档》,将大家所遇到的问题、解决方案按照统一格式详细写出,若未来不幸再踩坑,也能很迅速的摆脱这些曾遇到的困扰。
二、写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
- 答:团队协作的认识:前后端要实时沟通,确保数据格式明确,接口数据不缺不漏! 前端方面需要有明确的界面原型设计,提前指明需求格式、风格!否则无论怎么再修改原来的界面也很容是在垃圾上再砌垃圾...
学习后端制作的《后端技术文档》,将大家所遇到的问题、解决方案按照统一格式详细写出,若未来不幸再踩坑,也能很迅速的摆脱这些曾遇到的困扰。
三、对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:
-
1)你有什么想建议、告知和期许想要告诉他们呢?
-
答: 初期技术上的缺漏从来不是问题,闻道有先后,总有技术强、技术弱的成员共存在一组之中,在学习过程中可以补缺补漏,但是态度上的缺漏就完完全全影响你技术上补缺补漏的过程,一个成员要是态度不积极、技术还跟不上,将会是团队这个大木桶的最短板!
-
2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?
假设依旧是一个90+人数的大班 -
答:如果团队是学生自己组建的,我认为没此必要;相反,这种强制、彻底的换队更适用于老师分配、随机组建团队的模式下,这样鲇鱼效应的反响会更强烈!
-
3)身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?
-
答:具体需要看团队项目的软件要求,按本学期强度来说9人足以;
-
4)个人/结对/团队作业应该控制在怎样的规模?
-
答:本学期的重点应该落在完成团队任务上,Alpha的完成意味着本学期软工实践课的结束,我认为应该将beta阶段的时间扣除些用于个人作业上!(毕竟团队可以划水,分还不高);
-
5 )这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?
-
答:最感谢PM彬少,除了疯狂请奶茶外同时还独挑大梁,对作业严谨认真、对人宽厚,对己严格! 这样的PM便是一个运作良好的团队的基石!
四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
- 答:我们根据畅畅同学写的独立宣言,挑选队友,便开始了组建团队,经历了萌新、磨合、规范阶段,创造阶段的优良特点在我们团队也能得以体现,为那些在活动室奋战到凌晨的我们干杯~。
五、怎样证明你学会了软件工程?
-
1)研发出符合用户需求的软件 必须公开发布,有实际的用户,一定的用户量和持续使用量 (3 天后能保持10 - 100个用户);而不是: 做没有用户使用的软件
-
答:目前只有报选本实践、或者安利身边的朋友使用本款软件作为我们的内测用户~ 截至目前,数据库记录共有141人/次 使用我们的APP~
-
2)通过一系列工具,流程,团队合作,能够在预计的时间内发布 “足够好” 的软件,有项目规划/需求/设计/实现/发布/维护,有定时的进度发布 ; 而不是: 通过临时熬夜,胡乱拼凑,大牛一人代劳,延迟交付等方式糊弄
-
答:这个咋回答,也挺感谢学期的课程设置,我们得以一步步按照流程,按时在给定时间内完成作业!
-
3)并且通过数据展现软件是可以维护和继续发展的。而不是 找不到源代码,代码无文档,代码不能编译,没有task/bug 等项目的发展资料
-
答:组内均使用GITHUB管理代码,使用石墨文档发布任务、定义代码规范,下附图
-
4)对着这个检查表:http://xinz.cnblogs.com/p/3852177.html 检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。请在随笔中用数据证明上述内容或侧重选择之一。
-
答:说些一眼看过去回答不了的:1.效能分析 。 2.行业洞察。 3.项目管理。 4.工具/社区;
六*(选做)、阅读软件工程中关于代码质量的的经典论文,从下列文献中选择一篇或若干篇,结合自己的实际做一个阅读笔记(例如,自己写的代码质量如何,是不是一个大泥球,如何衡量自己代码的质量)?从以下参考论文中选择一篇或若干篇:
七、个性发挥,包括图文、照片和创意等
软工实践带给我的感觉就是:老师性格乐天不严肃,但身在大家如此认真对待课程的氛围下,想厚着脸皮不努力、不认真都难,都是硬生生把两学分的课程上成了10学分。这种氛围的最后结果便是8个组都在最后的DDL之前完成了属于他们自己的团队作业~
宣传视频;