122
社区成员




这个作业属于哪个课程 | 202302软件工程实践 |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术总结 |
这个作业的目标 | 课程回顾与总结、个人技术总结 |
其他参考文献 | 《构建之法》,unity文档 |
1.认为软件系统十分复杂是不是因为软件工程还没有充分发展?
我认为随着软件工程的发展,软件为了更多更好的功能,代码量会不断提高,增加的代码会不可避免的提高系统的复杂度,任何软件的编写都不是为了编写软件的自身,而是为了服务于客户的需求。而需求是很容易变更的东西,开发的过程中可能由于需求的变更导致整个架构失效;要建立一个灵活应对变更需求的框架,就是非常困难的事情。
2.如何能“证明”一个软件是可以继续发展的?
我认为一款软件的可发展性首先体现于是否契合目前市场上主流的用户需求,如果一开始就偏离了方向,那后续怎么转型都没用,其次就是后续的发展,主要体现于用户黏性,只有让用户满意的软件才有继续发展性。总之,证明软件的可继续发展性主要是围绕用户需求和体验展开的。
3.单元测试应该谁来写?
我认为应当由测试人员来写,测试人员有比较系统的测试思想,可以更好地保证用例的覆盖。而且通过写单测测试能更好地了解具体代码结构、流程,对于后续的业务测试也非常有利。而一些较为容易发现的问题,一般开发人员自己就能发现,也更容易忽视藏得较深的问题。
4.为什么软件工程师个人能力的衡量中重复性工作更重要?
因为目前我们的许多软件,都是建立在前人的基础上,因此大部分的工作是重复性工作,保证软件的局部功能的稳定和整体功能的稳定,可以稳定的开发和拓展功能,从这方法看是重复性工作更重要,但在重复性工作中有自己的创新点,也是很重要的。
5.如何让自己能够跟上软件工程发展,做一个永不落伍的开发者呢
保持不断的学习,软件工程的发展速度很快,要跟上就要不断的学习,了解和使用新的工具和方法,主动关注前沿的新技术热门,在开发过程中不断学习不断进步,也看看他人优秀的代码。
在这个阶段当中我深入学习了如何通过市场调研和用户访谈来明确项目需求。学习了NABCD模型,懂得了在软件项目开始之前要先对项目的竞争,推广方面进行分析,而不只考虑到项目需要完成的需求和需要的技术。要找到项目的商业价值,才能确保团队项目是有市场的,而不白白浪费开发的精力。
学习了原型设计工具Axure和墨刀,利用原型设计,我们能先勾画出最后的项目成果的大致模样,对实现过程起到了很好的辅助作用,同时通过原型设计,也能与客户进行沟通。同时和团队成员进行沟通。
根据概念设计的文档逐步开发,并在开发过程中解决遇到的问题。
学会了编写单元测试和对不同的环境进行测试
实现对项目的部署和确保用户的使用
在个人项目中,学习了gitcode的基本用法,java对文件的处理,和对json有效信息的筛取方法,学习了单元测试的基本概念和测试方法,学会了使用Junit进行测试,提高了测试的效率,还能通过覆盖率来完善测试。我对软件工程的流程有了更深刻的理解。从需求分析、数据查找、项目设计、代码编写到项目测试,我亲身经历了整个流程。同时对环境的配置也是编程的一个重要的部分。
-结对编程
在作业的完成过程中,我们共同制定了项目的整体架构和设计思路。这次的结对作业不仅锻炼了我的技术能力,还加深了我对团队协作的理解。在合作过程中,我与队友保持了密切的沟通与协作。我们经常互相讨论,共同解决遇到的问题。在面对困难时,我们相互鼓励,共同寻找解决方案,这使得我们能够克服了一个又一个的挑战。
在团队项目中,我经历了团队合作的全过程。通过团队项目,我体会到了团队合作的重要性,学习了如何有效管理团队、协调资源、解决冲突和推动项目进展。每个团队成员的贡献和合作都对项目的成功起到至关重要的作用。
目标 | 自我评分 | 解释 |
---|---|---|
目标1: 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念 | 95 | 我认为我在这段时间的学习中体会到了要自觉遵守公民道德规范标准和中国软件行业基本公约讲诚信, 坚决反对各种弄虚作假现象,不承接自己能力尚难以胜任的任务,对已经承诺的事,要保证做到。 |
目标2: 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型 | 85 | 我通过学习掌握需求分析的基本流程,并熟练使用原型设计工具。但我仍需提升辨别和转化的能力,以确保准确理解并满足用户需求。 |
目标3: 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案 | 85 | 在软件开发方面,我能够遵循设计方法和原则,我注重技术评审的重要性,以确保设计方案的可靠性和高效性。。尽管能够形成面向服务组件的设计方案,但在某些高效性和可靠性方面的设计优化还需要进一步的学习和实践。 |
目标4: 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案 | 85 | 我能执行从组件到系统的技术评测,对设计模型进行评判,并具备一定的创新设计意识。然而,在众多设计方案中优选最佳方案的能力以及在实际项目中运用创新能力还不够强。 |
目标5: 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力 | 94 | 对于定义的文档标准,在开发过程中基本都能够采用规范的表达,并且具备较强的文档撰写能力,与同行的交流能力也在逐渐提高。 |
目标6: 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作 | 85 | % 团队意识和合作意识较强,与其他成员的沟通与协作过程中进展得都很顺利,但是没有自己组织协调过团队工作,这一部分的能力有待考察。 |
目标7: 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力 | 82 | 能够辨别具体软件项目管理中涉及的构成要素,合理估算软件规模和工作量,但对于选择合适的工具规划软件进度并对项目管理过程进行配置能力比较薄弱。 |
在unity中攻击的判断有多种的方式,本文中攻击通常的ARPG中的攻击和释放技能,通过产生对应的Prefab,利用Prefab的collider来进行碰撞判断,并触发Prefab上的攻击方法,对受碰撞体进行伤害判断,通过修改Prefab上Mesh来优化的攻击的判断范围,实现攻击特效和判断的分离