theTuring
这个作业属于哪个课程 <2020春W班 (福州大学)>
这个作业要求在哪里 <作业要求>
这个作业的目标 <对软件工程实践课程的总结>
作业正文 <作业正文>
其他参考文献 <腾讯IM即时通讯开发文档>

Part.01 回望

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


即按照本课程一开始的老师给出的工程能力释义图为参照,从一下方面开始总结阐述,工程能力释义图如下

总结

221701412的工程能力变化图

总结

  • A-analyze(复杂工程系统分析能力)

    • 达成情况:对于从一开始的热身疫情数据分析到后面的结对完成疫情统计到最后的团队作业经过两阶段的冲刺,分析复杂工程系统的能力有一定的提高,可以更好的分析工程的问题关键所在
    • 不足:对问题分析时得出的解决方案还需更加的精准,如在热身疫情数据分析时对命令行参数的解析方案确定不当,导致最后的导入评测程序运行时报错
  • D-design&develop(复杂工程系统设计/开发能力)

    • 达成情况:在结对作业中是个人第一次进行了原型的设计工作(以前只是对原型设计有所了解),对于原型的设计能力有所提升,在团队作业中作为后端开发主要按照官方的文档初始架构了一个目录结构更为规范的后端项目,对于复杂工程的架构设计、构件设计能力有一定的提升
    • 不足:原型的设计能力还只是初窥门径,还远远登不上大雅之堂,对于复杂工程的架构设计、构件设计,我认为现在设计的项目系统还仍有很多可以优化的地方还需要以时间堆积的学习
  • E-evaluate(评价能力)

    • 达成情况:主要是通过下载腾讯的即时通讯IM的相关demo进行了对应的黑盒测试与相关评测,以及每周的小组答辩时使用在线评审表进行打分互评,对于恰当的评价计算机相关技术和产品的能力有所提升
    • 不足:对于如何能更恰当的评价计算机相关技术和产品,需要的是自身技术的提高与眼界的上升(即多看多学),现在自己的自身积累还远远不足,所以认为自己的评价能力还有很大的提升空间
  • C-collaborate&communicate(团队协作能力)

    • 达成情况:在本次软件工程实践中主要有团队协作的部分为结对编程以及后续的团队合作冲刺完成项目,其中在团队中担任组长的角色,发挥了团队协作精神,参与到了各部分的设计报告与文档的攥写工作中,对于团队协作能力有较大程度的提高
    • 不足:因为本次的协作开发全是以线上合作的方式进行,沟通交流方面出了很多的问题,且对于设计报告与文档的攥写还有很多值得学习与提升的地方
  • P-project management(项目管理能力)

    • 达成情况:学习使用了多方工具进行项目管理(teambition等),且在本学期自己选修了项目管理课程的理论前提下,软件工程实践则作为了对于项目管理的实践,项目管理能力有所提升
    • 不足:对应的工程活动还涉及了很多的管理学、经济学知识,这是离自己专业很远的知识,还需要更多的学习提高

你在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能;和你针对你的目标绘制的学习路线图。对比当前你的所学所得,你达到了当时的预期值吗?


本小节一开始先回顾一下在第一次作业的个人简历中制定的这门课程结束后,你预期你将增长的能力、技术、技能以及针对目标绘制的学习路线图

个人简历

基本信息 姓名:theTuring
兴趣爱好;编程,moba,单机,健身,旅游
特长:moba
当前水平 掌握的编程语言:C/C++,JAVA,html,php基础
掌握的开发软件:VisualStudio,IDEA,Eclipse
掌握的技术框架:springboot,yii,webmagic,vue
累计代码量:写过的项目的话代码行数可能10w+了,不过有效代码应该5w吧左右
开发过的最大的项目简介:基于yii2.0开发的个人博客系统,其中这个项目整合的自己以前写的一个云盘的项目进去,写了博客园的爬虫更新当日博客园首页文章到自己的博客的功能。
拥有的工程能力:一定的可快速上手新的项目能力,简单的面向对象分析
成果和获奖经历:无
专业目标 掌握java后端开发能力
实践预期 工程能力:更好的在开发团队内做好后台的维护
技术,技能:扎实java基础编程,java EE,对spring全家桶都有一定掌握

学习路线

思维导图
学习路线

达成情况

  • 能力、技术、技能

    • java基础编程有变得更扎实,其中在本次实践中主要是使用了Springboot作为后端开发,对于预期的java EE以及Spring全家桶都有一定掌握只有部分了解学习
  • 学习路线

    • 当时预期的学习路线广度过广了(因为以前想着会有很多的空闲时间,结果在经历了多次软工作业、平日课程与中间一段时间的秋招面试准备发现根本时间不够),所以后面几个月好像根本就没有按照计划来学

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


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

  • 统计情况

对应作业 代码行数
软件工程实践2020_寒假作业(2/2)—— 疫情统计 1794行
软件工程实践2020_结对第二次作业 —— 某次疫情统计可视化的实现 约2500行
团队作业 约10000行
合计 约14294行

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

  • 统计情况

对应作业 时间(h)min
个人作业
软件工程实践2020_寒假作业(1/2) (12h)720min
软件工程实践2020_寒假作业(2/2)—— 疫情统计 (27h)1620min
软件工程实践2020_结对第一次 —— 某次疫情统计可视化(原型设计) (约18.3h)1100min
软件工程实践2020_结对第二次作业 —— 某次疫情统计可视化的实现 (30h)1800min
软件工程实践2020_个人作业 —— 软件评测 (15h)900min
软件工程实践2020_个人作业 —— 软工实践课程总结 (8h)480min
团队作业
团队作业 —— 选题 (10h)600min
团队作业 —— GitHub 实训 (14h)840min
团队作业 —— 原型设计 (24h)1440min
团队作业 —— 需求分析 (12h)1200min
团队作业 —— 系统设计与数据库设计 (28h)1680min
团队作业 —— Alpha 冲刺 (64h)3840min
团队作业 —— Beta 冲刺 (72h)4320min

哪一次作业让你印象最深刻?为什么?

  • 现实情况

    • 印象最深刻的作业:GitHub 实训
    • 原因:真正的极限冲刺,从作业开始时间坐在电脑面前坐到了截止前2分钟才交上了作业,一个人写了所有界面+附加功能,太累了。然后那天负责博客的同学失误还误删了前篇博客,补博客到了夜间2 3点,深深地体会到了什么叫做996完还加班。

累计花了多少个小时在软工实践上?平均每周花多少个小时?

  • 现实情况

    • 累计时间:约20540min(约342.3h)
    • 平均每周时间:17h

学习和使用的新软件

  • 新软件

    • JProfiler:JProfiler 是一个商业授权的 Java 剖析工具,由 EJ 技术有限公司,针对的 Java EE 和 Java SE 应用程序开发的,可模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试
    • Axure:Axure RP是美国Axure Software Solution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网站的线框图、流程图、原型和规格说明文档。作为专业的原型设计工具,它能快速、高效的创建原型,同时支持多人协作设计和版本控制管理
    • 墨刀:墨刀是一款在线原型设计与协同工具,借助墨刀,产品经理、设计师、开发、销售、运营及创业者等用户群体,能够搭建为产品原型,演示项目效果。墨刀同时也是协作平台,项目成员可以协作编辑、审阅,不管是产品想法展示,还是向客户收集产品反馈,向投资人进行Demo展示,或是在团队内部协作沟通、项目管理

学习和使用的新工具

  • 新工具

    • Junit:JUnit 是一个 Java 语言的单元测试框架。它由 Kent Beck 和 Erich Gamma 建立,逐渐成为源于 Kent Beck 的 sUnit 的 xUnit 家族中最为成功的一个。 JUnit 有它自己的 JUnit 扩展生态圈。多数 Java 的开发环境都已经集成了 JUnit 作为单元测试的工具
    • spring-boot-starter-test:Spring Boot 集成的 pring-boot-starter-test 是基于 JUnit 的单元测试工具
    • JWT:英文名是 Json Web Token ,是一种用于通信双方之间传递安全信息的简洁的、URL安全的表述性声明规范,经常用在跨域身份验证
    • PageHelper:来源于第三方的快速分页插件

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

  • 新语言

    • go语言入门
  • 新平台

    • 博客园:一个面向开发者的知识分享社区,用于完成作业博客的编写
    • Teambition:阿里巴巴旗下团队协作工具,面向企业和团队提供数字化协同办公工具,满足项目管理、任务协同、文档协作、日程共享、知识管理等各种协作需求。用于在团队作业中进行项目管理

学习和掌握的新方法

  • 新方法

    • 单元测试:了解并尝试进行单元测试
    • 性能测试:了解并尝试进行性能测试
    • 项目管理:了解并尝试进行项目管理
    • 在线文档:在团队合作中在线文档的灵活应用
    • 博客:开设和撰写博客

工程能力的提升

  • A-analyze(复杂工程系统分析能力)

    • 提升情况:对于从一开始的热身疫情数据分析到后面的结对完成疫情统计到最后的团队作业经过两阶段的冲刺,分析复杂工程系统的能力有一定的提高,可以更好的分析工程的问题关键所在
  • D-design&develop(复杂工程系统设计/开发能力)

    • 提升情况:在结对作业中是个人第一次进行了原型的设计工作(以前只是对原型设计有所了解),对于原型的设计能力有所提升,在团队作业中作为后端开发主要按照官方的文档初始架构了一个目录结构更为规范的后端项目,对于复杂工程的架构设计、构件设计能力有一定的提升
  • E-evaluate(评价能力)

    • 提升情况:主要是通过下载腾讯的即时通讯IM的相关demo进行了对应的黑盒测试与相关评测,以及每周的小组答辩时使用在线评审表进行打分互评,对于恰当的评价计算机相关技术和产品的能力有所提升
  • C-collaborate&communicate(团队协作能力)

    • 提升情况:在本次软件工程实践中主要有团队协作的部分为结对编程以及后续的团队合作冲刺完成项目,其中在团队中担任组长的角色,发挥了团队协作精神,参与到了各部分的设计报告与文档的攥写工作中,对于团队协作能力有较大程度的提高
  • P-project management(项目管理能力)

    • 提升情况:学习使用了多方工具进行项目管理(teambition等),且在本学期自己选修了项目管理课程的理论前提下,软件工程实践则作为了对于项目管理的实践,项目管理能力有所提升

团队合作上的提升

  • 现实情况

    • 我们组建了一个相对高效的团队,能够把任务进行合理的分配、高质量地完成,在团队合作上的提升主要表现在了本次实践了解到了站立式会议的意义,第一次使用了项目管理工具(teambition)与在线文档等工具辅助与团队合作与项目管理

其他方面的提升

  • 现实情况

    • 抗压能力:在团队冲刺时压力还是挺大的,来源于多方,抗压能力有所提升
    • 领导能力:在团队合作中作为组长参与开发,还是提升了不少管理团队的能力
    • 文档攥写能力:在团队合作中负责了大部分的文档与博客的攥写,文档攥写能力提升了
    • 熬夜能力???:确实熬了很多夜,现在结束可以好好休息了~

Part.02 团队总结

软件工程实践是大学里少有的认真的团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建执法》第17章 人、绩效和职业道德)
你在团队中担任了什么角色?你是否完成了该角色的任务?现在你觉得你适合该角色吗?

如果你是组长,你觉得你有哪些地方做的不够好的?有哪些地方做的好的?你觉得该怎么改进?(详细描述)

  • 我的感想

    • 经过了Alpha冲刺、Beta冲刺,作为组长,我觉得我们整个小组,从团队氛围,到组员关系,到整体的团队协作能力,都有了很大的提高,一路走来,我很感谢我的小组成员,他们有实力也愿意为团队做贡献。一直以来虽然大大小小的项目都写过一些,但以往的都仅仅只是局限于完成代码层面上的。通过这次的软件工程实践,我才可以说是真真实实的体会了一个什么叫做相对完整的软件项目,从一开始的团队组建选题开始,成员有所划分,一个完整团队开发需要的有人担任产品经理、项目经理来完成项目的管理;需要开发人员分别负责前后端开发、测试等对应的开发工作。从选题过后的原型设计,需求分析、系统设计、数据库设计再到后面的两阶段的冲刺,可以说这次的时间教给我的不仅仅是代码开发,还有更多的是如何进行团队协作,一个系统的开发流程应该完成的分析与设计,测试在开发中的意义,文档对与开发的帮助,团队以及项目的管理方式,面临成员变动的处理等等。
      在这长达接近一个学期的开发中,谈谈我的队友们吧,414一直以来都是中流砥柱,很有耐心也很稳,尤其文档真的写的很棒;418作为离队成员,在团队合作期间,愿意听取队友的意见,前端的界面一如既往的很美观;420话少靠谱,在beta阶段一人扛起了两个web前端的工作;429同学可能是本次实践中收获最多的几人之一,从最开始的从未接触过前后端分离式的开发,几乎没有经验,到现在相对熟练的掌握了部分后端框架的开发使用;428是后来的新队友,积极乐观,在负责测试工作的时候为众人还是提供了不少中肯的建议;417、439基础相对较差,在冲刺的最后仍没有参与到真正的代码开发中,参与了部分测试,确实是个遗憾,他们主要负责了本团队的项目管理工作,诚然,我们小队做的还是不错的项目管理(这部分是我觉得我们组在实践中做得最好的一部分)离不开他们的付出。
      整个软工实践下来,我学到了很多,也遇到了很多困难。明白了一个道理,有些东西不是一蹴而就的,就像我们软件开发,你得先让它能跑起来,然后再去做相应的优化;就像我们的学习,我们先要有对全局的把握,然后再去逐个深入。 对于目前我们一起完成的校园芥子空间有一些亮点,也还有着不少未完成的遗憾,还不是一个可以独当一面发行的项目。希望日后还能继续完善!
      虽然软工实践就要结束了,但希望我们旗山的骄傲不散!

分类:

技术点:

相关文章: