个人总结
经历了一个学期的学习, 可以把经历和收获总结一下。
参考链接:https://www.cnblogs.com/xinz/p/9739047.html
- 回顾
- 对比目前的所学所练所得,在哪些方面达到了你的期待和目标,哪些方面还存在哪些不足,为什么?
期待达成:
- 首先是团队之间的合作和相处是我觉得最好的一项,队友们都很给力且互相帮助,没有说因为方法或者想法不一样而产生冲突,而是互相讨论采取一个互利或者折中的方法。
- 其次是在做项目的过程中,学习到了许多之前没有接触的东西,像代码检测、功能检测、性能测试这些在之前的学习一直被自己认为是不太重要的,但经过这次学习认识到了他们的重要性。
- 最后是通过一次完成的软件工程项目,让自己在之后工作中更容易适应。
不足:对时间的把控不够到位,以至于项目各阶段的进程安排不是特别合理,有些阶段时间宽裕,有些阶段时间又十分紧迫。
- 哪一次作业让你印象最深刻?为什么?
Alpha冲刺作业最令我印象深刻,也是让我认识到作为一个组长,对项目的各阶段、各部分的安排一直要合理,因为在冲刺阶段,不仅是有冲刺的任务需要去完成,还有其余学科的复习和考试,虽然在那段时间,作业整体质量不是很高。
- 耕耘
请说明你付出了多少时间,写了多少代码,多少注释,多少文档,多少次签入,最好用折线图或其他合适的图形/表格的方式展现
- 收获
- 所做工作的具体成就,软件的用户有多少,公开的源代码有什么影响力
成就:帮助求职者更好地找到自己心仪的工作
软件用户:20+
影响力:便于后续开发拓展功能
-
- 你在哪些技能上有提高?请列举出来。
前端页面技术的提高:vue+springboot框架的应用
代码测试:Sonnar使用(虽然不熟练)
-
- 使用了哪些软件/工具
IDEA、mysql、tomcat
- 结构化的理解
当我们平时理解一些新事物时,我们的理解大多是离散的,即兴的,能否在一个良好定义的体系中把自己的理解整理一下?
- 知识(Knowledge):就是记忆、认识,能回忆重要名词、事实、方法、规准、原理原则等;
例如:软件工程的名词,原理,能回忆编程语言的某种知识
要求:
需求分析(Requirements Analysis):确定软件系统需要满足的功能和性能需求的过程。
系统设计(System Design):定义软件系统的架构和组件,以及它们之间的交互。
- 理解(Comprehension):是要能对重要名词、概念之意义有所掌握,能转译、解释;
例如:名词、原理的解释, 能理解单元测试、效能分析工具是怎么帮助工作
要求:敏捷开发(Agile Development):一种以人为核心、迭代、循序渐进的软件开发方法。
瀑布模型(Waterfall Model):一种传统的软件开发生命周期模型,按顺序执行需求、设计、实现、测试、部署和维护。
软件生命周期(Software Life Cycle):软件从概念到退役的整个过程。
软件架构(Software Architecture):软件系统的高层结构,包括组件、它们之间的关系以及环境。
- 应用(Application):是要能将所学到的知识概念、方法、步骤、原则通则等等应用到不同的情境中;
把原则应用到各种情境场景中,能开发各种类型的应用程序,和不同类型的人合作
要求:将团队合作的方式应用到其他学科的课程设计当中。
- 分析(Analysis):是要将知识的某些讯息,所包含的成分、元素、关系、组织原理等等分解出来,重新加以组合,并厘清之间的关系;
能将用户需求分解为不同优先级,厘清功能之间的依赖关系
要求:springboot:
Spring Boot是一个开源的Java框架:
1. 核心特点
自动配置:Spring Boot提供了自动配置功能,能够根据项目中添加的依赖自动配置Spring应用程序。
独立运行:Spring Boot应用程序包含内嵌的HTTP服务器(如Tomcat、Jetty或Undertow),可以打包成一个独立的JAR文件运行。
无需XML配置:Spring Boot不需要使用XML配置文件,而是通过Java配置类来实现配置。
2. 微服务支持
微服务架构:Spring Boot非常适合微服务架构,因为它可以快速启动和停止服务,并且容易与其他服务集成。
Spring Cloud集成:Spring Boot与Spring Cloud紧密集成,提供了一套完整的微服务解决方案。
- 综合(Synthesis):是能将知识讯息的某些要素重新安排或合并为有组织的整体,或呈现其间的关系; 例如,用WBS 等方法把项目的目标细化,分配到人,能用燃尽图展现项目进度
要求:首先之前在以团队模式做课设亦或者是其他的作业时,多数时候都是充当组员的角色,这次充当组长的角色,也充分了解到作为一个组长,应当如何更好地去分配任务,比如将任务具体化细化,具体落实在某个人身上,又要避免彼此任务的不冲突,以及协调任务之间的合并。
- 评价(Evaluation):是要依照某规律和准则对讯息做评价或比较。例如,能够评价别的项目的软件工程的质量,能分析一些关于软件工程的说法是否有道理,能分析市面上流行软件的优劣并探究深层原因,能对自己项目进行回顾分析,并提出改进。
要求:感受比较深的是项目的应用场景。在看完其他组的项目展示,发现的大家项目的实用性其实都是蛮高的,例如有同学做的充电桩定位、垃圾分类等等,这些在日常生活中都是经常要用到的。
- 属于我们的人月神话
写下属于自己的人月神话——结对或团队项目实践中的经验总结+实例/例证结合的分析
经验总结:团队的力量是强大的,每个人在统一的规划下各司其事,做到了事半功倍的效果。
实例:例如搭建框架+软件测试+燃尽图分析+用户调查,当每个成员都分配到自己的任务后,统一推进,效果就会很好。
分析:回到项目最开始讨论的问题,1+1是否大于2,在这次结对过后,我更加坚信好的团队中肯定是1+1>2。
- 对团队的分析
分析一下自己所处的团队和团队协作经验。《构建之法》上说团队的发展有几个阶段,你的团队都经历过么,最后到达了“创造”阶段了么?(参考《构建之法》第17章 人、绩效和职业道德)
团队经历了萌芽、磨合、规范、创造阶段,但其中磨合阶段的过度比较快,因为成员的能力不一致,且大家对自己的认知也充足,所以较快过度到规划乃至创造阶段。
- 证明学会了软件工程
回顾《构建之法》第一章概论P17中三个目标,检验自己是否做到这三点
满足需求:这一点我自己认为我们实现得不错,因为确实是将其他地方的数据整合在了我们的项目之中,然后给求职者提供了便利,虽然说目前的数据较少,但这同时也是前进的方向。
控制复杂性:这一块我们有所欠缺,虽然我们使用了爬虫技术(python+selenium)
,springboot+Vue+Redis+MyBatis,但其实主要控件就pcharm和IDEA。
满足构建性:在这一点中,因为我们使用的都是当前比较主流的框架和软件,所以整体在搭建上不会太难,所以我觉得我们总体是达标的。
- 建议
将项目的时间合理分配,特别是组长需要统筹队员,以避免还有其他任务需要去完成,从而耽误或者赶项目。