软件工程实践总结-望向远方

222100319陈司怀 2024-06-06 22:49:37
这个作业属于哪个课程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的粒子系统是创建特效的基础,它允许开发者定义粒子的生成、生命周期、外观和行为。

...全文
183 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

122

社区成员

发帖
与我相关
我的任务
社区描述
FZU-SE
软件工程 高校
社区管理员
  • LinQF39
  • 助教-吴可仪
  • 一杯时间
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧