• 福大软工 · 最终作业


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

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

    • 答:在代码量的训练量和新语言的学习基本达到了开学初的期待和目标,不足之处在于由于课程较多学习相应代码语言的时间较少,不够系统的学习每次使用还需要在查看文档。

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

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

    • 答:大概完成了1500行代码。

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

    • 答:

      标题 时间(分钟)
      福大软工1816 · 第一次作业——准备 30
      福大软工1816 · 第二次作业——单词词频统计 150
      福大软工1816 · 第三次作业——结对项目1——论文获取原型 200
      福大软工1816 · 第四次作业——团队作业1——团队介绍 30
      福大软工1816 · 第五次作业——结对项目2——论文获取代码 360
      福大软工1816 · 第六次作业——团队作业2——选题报告 120
      福大软工1816 · 第七次作业——团队作业3——需求分析报告 150
      福大软工1816 · 第八次作业(课堂实战)——团队作业4——项目UML设计 90
      福大软工1816 · 第九次作业(课堂实战)——团队作业5——抽奖系统 120
      福大软工1816 · 第十次作业——团队作业6——Alpha冲刺 600
      福大软工1816 · 第十一次作业——团队作业6——Beta冲刺 300
    • 3、哪一次作业让你印象最深刻?为什么?

    • 答:最深刻的是Alpha冲刺,因为这次作业需要学习的内容很多,经过大家的合作进一步熟悉的我的队友们,在大家共同的努力下完成了我们产品的核心功能。

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

    • 答:累计花了60个小时左右在软工时间上,平均每周大约5小时。开篇博客回答:因为我选择了卓越班,所以希望能够通过这门课多学习些以后公司需要用到的知识,每周应该能够拿出6个小时左右课余时间来学习这门课。

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

    • 答:Visual Studio、Typora、微信web开发者工具、Xmind等等

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

    • 答:Visual Studio、Typora、微信web开发者工具、Xmind等等

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

    • 答:html5,css,js以及微信的接口。

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

    • 答:Echart绘图。

    • 9、其他方面的提升。

    • 答:团队合作能力以及遇到问题的解决能力。

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

    答:在团结项目时间中,我负责的地图可视化界面,将后端获取的图片的位置信息转化成可视化地图上的标点,根据,由于我以前并没有做过项目,一开始很迷茫,在一帆同学的推荐下我上github找到了一款足迹地图,他只能通过手动选区地区来生成最终图片,经过对该代码的研究后,通过百度上的Echart绘图样例终于了解了如何绘制成地图以及如何调整地图的样式,最终在一帆的帮助下完成了后端数据的对接,完成了通过上传照片的地理信息完成可视化地图的功能。 所以我推荐大家并不需要每一个代码都自己手敲,可以借鉴一些前人的总结以及经验。

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

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

    • 答:报软工实践一定不会后悔,一定能学到许多以后可以应用的知识!

    • 2)特别地,特别地,下一届要不要中途换队员(强制的、彻底的从一队换到另一队)?

    • 答:换队员无所谓,但自己不要是被换的那个,一般后面加入的都是划划水的,学不到什么新知识。

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

    • 答:我认为一组8人比较合适,太多了也没有那么多活干,同时负责一个功能反而会造成拖延。

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

    • 答:我认为个人作业、结对作业应该有更详细的样例,不然敲了半天的代码上传后还是零分,感觉自己的努力都白费了。。也没有幸苦分,通过不了测试就是零分。团队作业我认为现在这样就很不错。

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

    • 答:最感谢的是一帆同学,在他的帮助下我才能更好完成软工实践。

    四、分析一下自己所处的团队。软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?

    答:我们经历了萌芽阶段、磨合阶段、规范阶段,没有经过散伙阶段,但我认为我们也还没有达到整整的创造阶段,我们有部分要求达到了创造阶段,例如说:(1)团队知道为何而战,有共同的远景。(2)团队的注意力集中到如何创造、实现目标上。(4)不同意见仍会发生,但是成员都以一种积极的心态和方式来解决。 团队成员互相支持,互相依赖,而又保持各自的灵活性。(6)角色和职责能够根据项目的要求自然地转换,没有人为此担心或发牢骚。在这样的情况下,所有人都能把大部分精力花在工作上。团队士气高涨。(7)为了集体的利益而改进自己的行为——例如学习新技术,做更好的自我代码复审。但我认为我们的不足之处有(3)高度自治。不再需要领导的时时教诲与介入。(5)所有人互相都比较了解,同时也互相信任,个人可以放手独立工作。

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

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

    • 答:通过问卷调查,我们获取了部分用户的需求,整理成了需求池。

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

    • 答:通过问卷以及组内的讨论,最终也确定的我们做微信小程序已经功能如下图的软件。

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

    • 答:代码可以在github上找到,应用软件也可以直接通过微信搜索草履记来进行体验,所以肯定是可以维护和继续发展的。

    • 对着这个检查表检查一下,自己如果去企业面试,这些常见的问题是否都能回答,并在此总结。

      类别 具体技能和面试问题 回答
      语言 最拿手的计算机语言之一,代码量多少? C++,4000行
      语言 最拿手的计算机语言之二,代码量多少? html+css+js,1500行
      软件实现 你有没有在别人代码的基础上改进
      你是怎么读懂别人的代码的 看别人的注释,看别人写的文档,自己随便修改参数试试看
      你采取了什么方法来保证新功能不会影响原来的功能 将源代码上传后再进行修改
      你在开发中遇到的最复杂的bug是什么,你是如何解决的?这个bug出现的原因是什么,你在将来应该怎么避免bug再出现? Springboot自带tomcat导致无法部署到tomcat。出现原因:自带的tomcat跟部署的tomcat两者冲突,创建依赖的时候,禁用掉自身的tomcat就能解决。
      软件测试 你如何测试自己写的代码 给朋友进行测试,尝试输入下些极端数据
      你如何测试别人写的代码 尝试输入下些极端数据
      你掌握了多少种测试工具和方法 一种
      你写过测试工具吗 没有
      你如何对一个网站进行压力测试和效能测试 没测试过
      你如何测试一个软件的人机界面(UX/UI) 检查界面说明有无错误、鼠标点击交互反馈是否正常
      效能分析 你写过的最复杂的代码是什么 用8个if判断8个方位然后遍历
      你是如何测量和改进它的效能的,用了什么工具,如何分析的 用jprofiler分析结合IDEA的插件,看哪个函数调用最多找找原因
      需求分析 你做过多少个有实际用户的项目,用户最多有多少,你的项目有什么创新的地方 目前就草履记。草履记创新点,记录照片不用手动定位,自动定位,以及生成美观的足迹地图。
      行业洞察力 你最感兴趣的领域是什么 游戏
      这个领域过去十年经历了哪些创新
      你分析过这个领域前十的产品吗?请分析一下它们的优劣
      你要进入这个领域应该如何创新
      项目管理 你参与过项目管理吗 没有
      软件设计 你做过构架设计,模块化设计,接口设计吗? 没有
      质量意识 你是怎么做代码复审的 按照开发文档
      工具/社区 你在各种开发平台都使用过什么开发工具 微信web开发者工具,vs
      自己写过什么工具来改进工作效率
      给社区贡献过什么工具和代码,github有分享代码吗
      你的技术博客坚持了多久,读者最多的是哪一篇 坚持了4个月
      团队协作 请描述你在项目中如何说服同伴采用你提出的更好的解决方案,或者你如何听取了别人的一件,改进了自己的方案 结合自己之前的经验,来告诉他哪种方法效果最好,以及优劣,让他自己取舍判断。
      你如何说服懒惰的同伴赶紧工作,实现团队目标 一直督促,提醒
      理论素养 你上过什么数学,计算机或其他理论课 高等数学,离散数学,数据结构,计算机网络等等
      请举出具体的例子,说明你学到的理论知识如何帮助你解决实际问题
      自我管理 全年级你专业排名多少? 103/110
      你刚入学带现在的排名有变化吗? 差不多
      如何解释你的排名的变化 没有好好学习
  • 相关阅读:
    搭建Git服务器
    shell脚本的使用
    谈谈递归和回溯算法的运用
    给 Qt 添加模块
    QtQuick 中的 qml 与 Qt 的 C++
    QT 中使用 c++ 的指针
    QT 的使用及编写代码遇到的问题和解决方法
    Centos 7 上安装使用 vscode
    PHP 数组转json格式,key的保存问题
    PHP compact
  • 原文地址:https://www.cnblogs.com/kkyblog/p/10216166.html
Copyright © 2020-2023  润新知