软件工程实践总结-望向远方
| 这个作业属于哪个课程 | 2302软件工程社区 |
|---|---|
| 这个作业的要求在哪里 | 软件工程实践总结&个人技术博客 |
| 这个作业的目标 | 记录组员交换的情况 |
| 其他参考文献 | 构建之法 |
目录
- 第一部分:课程回顾与总结
- 1.对之前问题的思考
- 2.产生的新问题
- 3.各个阶段收获最大的知识或能力?
- 4.软件工程实践的理解和心得
- 第二部分 个人技术总结
- 一、个人技术总结博客链接
- 二、技术概述
第一部分:课程回顾与总结
寒假博客链接:
寒假博客
1.对之前问题的思考
q1.良性bug是否该被修复?
当初的回答是步需要修复,现在的想法会有一点偏差。首先良性bug是不会对软件系统的正常运行产生负面影响的,所以修改bug就要考虑到修复所需要的成本,无论是时间成本、还是资金成本,观察是否值得这样做。还要进行风险评估,考虑修改该bug会不会造成更大的影响,总的来说良性bug一般不需要被修复,但应该被监控和记录,判定该bug在未来会不会产生其他影响,在考虑要不要修复它。
q2.我都是大学生了,我还要认真听老师讲课吗?
这个问题我现在的想法还是和之前一样,我想虽然作为大学生了,自学在大学生涯中占据更大的一部分空间,但是从课堂上收获的知识仍然是非常重要和宝贵的,相对于大学生来讲,老师具有更加丰富的经验和经历,从课堂学习到的东西可能是老师很多年来的经验总结。其次,认真听老师讲课也是对老师的一种尊重,我想,作为一个学生来说,认真听老师讲课是百利而无一害的。
q3.团队成员的学习能力不同,要怎么平衡?
针对于团队成员学习能力不同的情况,我们可以根据每个成员的能力和学习速度分配合适的角色和任务,确保每个人都能在其舒适区工作,同时能够挑战自己。其次,鼓励团队成员之间的协作,让学习能力强的成员帮助学习能力较弱的成员,这样可以促进知识共享和团队凝聚力。再者来说,对学习能力较弱的成员保持耐心,提供必要的支持和鼓励。
q4.代码量和个人的编码能力有关系吗?
和当初的想法相同,我认为代码量和个人的编码能力之间存在一定的关系,但这种关系并不是绝对的。通常来说,编码能力较强的开发者往往有较多的代码量积累,因为随着经验的增加,他们能够更快、更有效地编写代码。但同时,代码能力还体现在其他地方,比如说团队合作的能力以及解决问题的能力。再者说编程能力所受的影响因素是很多的。
q5.如何区分一个好的程序员和不好的程序员呢?
首先我认为判定一个程序员好不好,可以衡量的纬度和指标非常之多。首先来说代码质量就很能说明问题,程序员编写的代码是否具有良好的结构,可读性、高效性等等都可以判定一位程序员的质量,其次,团队配合,学习能力的强弱也很重要。这决定了一个程序员是否能够与他人进行良好的配合,以及能否深度学习了了解相关的项目。
2.产生的新问题
2.1怎么提升自己在各种语言相互配合的能力?
2.2作为一个优秀的程序员需要具有哪些品质?
3.各个阶段收获最大的知识或能力?
- 需求
在需求阶段,我接到了我第一个人物,我将要先进行游戏人物的建模。于是在这个阶段,我学习了blender的建模技巧,懂得了如何建立模型以及如何进行简单动画的绘制,在次阶段,我设计了若干个游戏世界的宠物模型。 - 设计
在这个阶段,我在设计的过程中了解到了怎么规范地表达设计的想法,为团队提供清晰明了的设计意见。同时学习系统架构知识:了解如何设计软件的高层结构和组件。同时学习应用不同的设计模式来解决常见问题。最重要的是我在该过程中我怎么进行合理的进行设计,同时要符合该项目的相关需求。学习了画uml图的技能。 - 实现
在实现阶段,我学会了unity的部分功能使用进行我的模块开发,以及学会了使用Plastic SCM 进行代码的签入,以达到与团队进度配合的目的。同时,我掌握了使用版本控制系统(如Git)进行代码管理和协作。最后,我学习如何编写清晰、可维护的代码。 - 测试
在测试阶段,我学会了如何游戏世界的相关操作,以及如何进行调试以及测试。在测试环节,首先学习了相关测试软件的应用,以及实际测试的结合。与此同时,我学习 了相关的测试方法,不同类型的测试方法,如单元测试、集成测试和系统测试。我进行了一些性能测试,了解如何评估软件的性能和优化。在这一阶段最终要的就是进行测试后的调试,发现之前代码中的一些不足 - 发布阶段
在发布阶段,我了解了怎么进行整体产品的介绍,突出自己产品的优势、功能、作用等等。学习不同的部署方法和策略,如蓝绿部署、滚动更新等,选择合理的部署方式在发布阶段也是非常重要的。再者,学习如何收集和利用用户反馈来改进产品,一款产品的好坏往往最好的考量帮助,真正为用户提供良好的体验的产品才是好产品。4.软件工程实践的理解和心得
- 个人项目
在个人项目中,我学习了如何设计符合REST原则的API接口,深入学习iOS的Swift或Android的Kotlin开发技术。个人项目是学习和掌握新技术的好机会。我可以按照自己的节奏来探索和实验。在个人项目中,需要独立解决所有问题,这有助于提高解决问题的能力和创造力。我进行了自己规划项目,这有助于提高时间管理和自我激励的能力。个人项目可以让你接触到项目的各个方面,从而提高你的全面技能。
- 结对编程
在结对编程中,我学会了如何与自己的队友进行合作,怎样良好的分配两个人之间的任务,同时协调两个人之间的进度,以及两个人之间的信息交互。好的团队合作能够提高结对编程效率以及编程的质量。结对编程可以提供即时的反馈和建议,有助于提高代码质量和编程技巧。与搭档分享知识和经验,可以加速学习过程。结对编程可以帮助你学习如何更有效地分工和协作。
提高沟通技巧,学习如何清晰地表达自己的想法和理解他人的观点。 - 团队项目
在团队的分工中,每个人都负责完成自己的模块,最后通过每个模块的链接以及整合实现整个游戏的体系。这就体现了分工合作的重要性,再者在团队中的任务是要互相协调的。团队项目强调团队合作,我学习了如何与不同背景和技能的人协作。在团队中,有效沟通和协调的作用非常大,可以很好地协调各个组员之间的任务,工作。团队项目提供了展示和提升领导能力的机会。学习如何在团队中处理分歧和冲突。团队项目中,我适应了不同队友的工作风格和流程。
| 目标 | 评分 | 解释 |
|---|---|---|
| 目标1: 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。 | 92 | 我深刻理解了软件工程师的职业道德规范,作为一位富有品德的学生,我学习了社会对于软件工程师的相关要求 |
| 目标2: 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。 | 85 | 我能初步理解用户的相关要求,通过相关的解释获得用户的需求,通过对相关方法 的学习,我懂得了怎么进行合理的使用相关工具进行处理 |
| 目标3: 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。 | 92 | 我对软件开发的全过程有深入的理解,能够遵循设计方法和原则,但在技术评审和设计模型方面可能需要更多的经验积累。 |
| 目标4: 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。 | 85 | 我能够执行基本的技术评测,但对于设计模型的评判能力和创新设计意识还在发展中。 |
| 目标5: 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。 | 90 | 我能够遵循文档标准规范撰写需求规格说明书等文档,并具备良好的业界交流能力。 |
| 目标6: 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。 | 88 | 我具有良好的团队意识,能够与其他成员有效沟通和协作,但在组织和协调团队工作方面可能还需要进一步提升。 |
| 目标7: 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。 | 82 | 我对软件项目管理的构成要素有一定的了解,能够进行规模和工作量估算,但在项目管理工具的选择和应用方面可能还需要更多的实践。 |
第二部分 个人技术总结
一、个人技术总结博客链接
二、技术概述
Unity粒子特效设计是游戏开发中一个重要的组成部分,用于创造各种动态视觉效果,如火焰、烟雾、爆炸、雨雪等。该技术可以进行自由度极高的模型设计,为用户提供了组件的各种属性,以及调节方式,通过对整体模型的设计,粒子碰撞的设计等等实现技能特效的整体效果。
Unity的粒子系统是创建特效的基础,它允许开发者定义粒子的生成、生命周期、外观和行为。
相关推荐
软件工程领域自动化测试的RPC测试
在软件工程的世界里,自动化测试就像是一位超级严格的小管家,它能帮助我们快速、准确地发现软件里的小毛病。而RPC测试作为自动化测试中的重要一员,它的目的就是要确保远程过程调用(RPC)这个功能能够稳稳当当地运行。我们这篇文章的范围呢,就是要深入了解RPC测试的方方面面,从概念到具体操作,再到实际应用和未来发展。接下来,我们会先认识一下RPC测试的核心概念,就像认识一群新朋友一样。然后了解这些概念之间是怎么合作的,就像小伙伴们一起做游戏一样。再学习RPC测试的算法原理和具体操作步骤,就像学习魔法咒语一样。
软件工程领域产品运营的产品运营产品收益
在当今数字化时代,软件工程产品层出不穷。对于这些产品而言,如何在运营过程中实现良好的收益是开发者和运营者都极为关注的问题。本文旨在探讨软件工程领域产品运营中产品收益的相关知识,涵盖产品收益的各个方面,包括其来源、影响因素以及提升方法等,帮助大家全面了解如何通过有效的产品运营来提高产品收益。
高校及科研院所如何利用外部数据完善技术转移转化机制.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
完全复现虚拟同步发电机VSG自适应惯量阻尼控制仿真、根轨迹、调节系数对比(Simulink仿真、Matlab代码实现)
内容概要:本文档围绕“【完全复现】虚拟同步发电机VSG自适应惯量阻尼控制仿真、根轨迹、调节系数对比”这一主题,利用Simulink和Matlab平台,系统性地实现了虚拟同步发电机(VSG)的自适应惯量与阻尼控制策略的建模与仿真。内容涵盖VSG的核心控制原理、系统动态响应特性分析、根轨迹绘制以及在不同调节系数下的性能对比研究,旨在深入剖析关键控制参数对系统稳定性与动态性能的影响机制,为新能源并网系统中提升频率支撑能力和暂态稳定性的控制策略设计提供理论依据和技术支持。; 适合人群:具备扎实的电力系统分析与自动控制理论基础,熟练掌握Matlab/Simulink仿真工具,主要从事新能源发电、微电网运行、电力电子变换器控制或电力系统稳定研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①开展虚拟同步发电机(VSG)的建模与先进控制策略的深入研究;②探究自适应惯量与阻尼控制对改善电网频率响应速度和平抑功率波动的作用机理;③运用根轨迹法进行系统稳定性分析,并指导控制器参数的优化整定;④完成高水平学术论文撰写或科研项目申报所需的仿真复现实验。; 阅读建议:本资源以“完全复现”为核心目标,提供了完整的仿真模型与配套代码。使用者应在深入理解同步发电机转子运动方程、虚拟惯量及阻尼物理意义的基础上,结合电力系统暂态稳定理论,逐步操作并调试仿真模型,尤其需关注不同调节系数变化对系统动态性能指标(如超调量、调节时间)的影响,从而深化对VSG内在控制机制与稳定边界的认知。
前端开发基于history.js的HTML5与HTML4浏览器兼容方案:单页应用无刷新历史状态管理技术实现-dQ4ehf7C1792158475
内容概要:本文系统介绍了如何利用history.js实现单页应用(SPA)在HTML5c与HTML4浏览器间s草错发的无缝历史状态管理。通过封装原生History API并在不支持的浏览器中自动降级为哈希路由,history.js解决了因浏览器兼容性导致的后退按钮失效、URL混乱等问题。文章详细讲解了其核心机制,包括状态对象管理、自动模式切换(HTML5 pushState vs HTML4 哈希)、状态数据持久化以及针,对Safari、IE等浏\览器的兼容性修复方案,并提供了从入门到实战的完整示例,涵盖初始化、事,件监听、页面加载及性能优化技巧。;DtPXB1792158476


