天天看点

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

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

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

1)对比开篇博客你对课程目标和期待,“希望通过实践锻炼,增强计算机专业的能力和就业竞争力”,对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
  • 通过软工实践,了解了一个产品规范的开发流程,以及细节上的把控,学习到了“规范”的含义。不足之处在于代码量少,编程能力没有明显提升,最终产品没有完成是个遗憾。
2)总结这门课程的实践总结和给你带来的提升,包括以下内容:
  • 统计一下,你在这门软件工程实践中,完成了多少行的代码
    • 共1351行代码。
  • 软工实践的各次作业分别花了多少时间?(做一个列表)
作业 耗时(h)
作业一 1
作业二 4
作业三 2
作业四
作业五 3
作业六
作业七
作业八
作业九
作业十
作业十一+Alpha冲刺 7
作业十二+Beta冲刺 8
  • 哪一次作业让你印象最深刻?为什么?
    • 现场编程那次作业,紧张刺激,现场的气氛很棒,大家真真正正地在一起编程,第一次感受到团队的氛围。
  • 累计花了多少个小时在软工实践上?平均每周花多少个小时?同时贴出开篇博客“你打算平均每周拿出多少个小时用在这门课上”的回答
    • 包括学习时间应该在60-70个小时左右,平均每周5个小时
针对上述问题,你对这门课的期待是什么?你打算平均每周拿出多少个小时用在这门课上,以达成你的期待以及你的目标?
  • 我期待能够和队友共同完成一个满意的作品,友情学习双丰收!具体多少个小时说不准欸,看自己的悟性和学习能力啦。
  • 学习和使用的新软件;学习和使用的新工具;学习和掌握的新语言、新平台;学习和掌握的新方法;
    • 新软件和新工具有:Axure8、Android Studio、Eclipse、Visual Paradigm、Mockplus
    • 学习的新语言:java、html\css\js
    • 新平台:Android Studio、Eclipse、JetBrains WebStorm
    • 学习的新方法:单元测试、封装DLL、增量设计开发
  • 其他方面的提升
    • 与人交往的艺术
    • 更加自信
写下属于自己的人月神话——个人或结对或团队项目实践中的经验总结+实例/例证结合的分析
  • 学会沟通、进度透明。团队项目开发的时候大家各干各的事情,导致后期工作没办法对接,只能打回去重做,费时费力。布置的任务只是说“差不多差不多”,其实差的还很多,进度的不透明也是项目失败的很大原因。
对下一届实践的建议,或者对于开学初的你,对于大一的你,对于开学初的我,对于同期的TA们,对于后来的学弟学妹:
  • 你有什么想建议、告知和期许想要告诉他们呢?
    • 多少付出多少收获,对于真正想学东西的人,软工不会让你失望
  • 特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?
    • 是一个很好的想法,整个实践课奉行的就是敏捷开发,换队员可以让大家适应变化,利大于弊。同时在不同的团队中担任不同的角色,学到的东西也更加全面,++就是作业评分机制要好好考量一下,有大学问++
  • 身在一个格外大的班级,竞争强劲,你认为一个组的人数应当在多少比较合适?
    • 8个人应该是一个毕竟刚好的人数,多一个人管理的难度就上番了。团队展现也不会很好
  • 个人/结对/团队作业应该控制在怎样的规模?
    • 2:4:4
  • 这学期下来,你最感谢的人是谁?有什么话想要对TA说呢?
    • 最感谢的人是蔡子阳了,在个人和结对作业的时候就已经在帮助我了,团队项目更是中央空调,很辛苦。
    • 想说的话:你永远是爸爸的好儿子!
分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
  • 我觉得我们团队处于磨合阶段。团队成员基本相识,能够讨论协作规范细则但没有形成规范文档。集体荣誉感和个人的能力都不足。
怎样证明你学会了软件工程?

工程师能力自我评价表

类别 具体技能和面试问题 现在的回答(大三)
语言 最拿手的计算机语言之一,代码量多少? C++,7000行
最拿手的计算机语言之二,代码量多少? html,3000行
软件实现 你有没有在别人代码的基础上改进
你是怎么读懂别人的代码的 看注释看注释看注释
你采取了什么方法来保证新功能不会影响原来的功能 规范封装、集成测试
你在开发中遇到的最复杂的bug是什么,你是如何解决的?这个bug出现的原因是什么,你在将来应该怎么避免bug再出现? 版本的不匹配问题导致无法整合,打回去重做,在做之前写好规范
软件测试 你如何测试自己写的代码 使用VS自带的测试工具
你如何测试别人写的代码
你掌握了多少种测试工具和方法 一种
你写过测试工具吗 没有
你如何对一个网站进行压力测试和效能测试 未接触过
你如何测试一个软件的人机界面(UX/UI) 在使用过程中测试
效能分析 你写过的最复杂的代码是什么 没写过什么很复杂的代码。。。
你是如何测量和改进它的效能的,用了什么工具,如何分析的 用VS的分析工具,分析程序各部分程序的耗时情况,再优化
需求分析 你做过多少个有实际用户的项目,用户最多有多少,你的项目有什么创新的地方
行业洞察力 你最感兴趣的领域是什么 人工智能
这个领域过去十年经历了哪些创新 无人驾驶、医疗机器人
你分析过这个领域前十的产品吗?请分析一下它们的优劣 没分析过
你要进入这个领域应该如何创新 广泛调查人民需求
项目管理 你参与过项目管理吗 没参与过
软件设计 你做过构架设计,模块化设计,接口设计吗?
质量意识 你是怎么做代码复审的 规范格式、规范接口、规范模块
工具/社区 你在各种开发平台都使用过什么开发工具 VS,eclipse,JetBrains WebStorm
自己写过什么工具来改进工作效率
给社区贡献过什么工具和代码,github有分享代码吗
你的技术博客坚持了多久,读者最多的是哪一篇 留下了没有技术的眼泪
团队协作 请描述你在项目中如何说服同伴采用你提出的更好的解决方案,或者你如何听取了别人的一件,改进了自己的方案 现场分析讨论
你如何说服懒惰的同伴赶紧工作,实现团队目标 破口大骂
理论素养 你上过什么数学,计算机或其他理论课 高等数学,离散数学,概率论,数值分析,数据结构与算法,编译原理等
请举出具体的例子,说明你学到的理论知识如何帮助你解决实际问题 数据结构与算法的搜索算法解决了路径问题
自我管理 全年级你专业排名多少? 36
你刚入学带现在的排名有变化吗? 退步了很多
如何解释你的排名的变化 变得随意了

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

加油!