109
社区成员
这个作业属于哪个课程 | 软件工程24年秋季 |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 完成软件工程实践总结&个人技术总结,并完成相应博客 |
其他参考文献 | 《构建之法》、CSDN |
回答:在上一次的问题中我认为好的程序员需要具备扎实的编程基础,能积极学习新技术,并且具备良好的团队合作精神。现在我觉得好的程序员还应该具有解决问题的能力,在面对问题时额能够快速定位问题并提出有效的解决方案。我个人在开发中经常会遇到一些问题,当然通常是bug,在解决这个Bug之前,找到Bug的来源往往是苦恼的,需要用到多种方法调试才能定位到Bug并想办法解决。因此,我觉得一个能快速定位并解决问题的程序员必然是一个好的程序员。
我现在对这个问题的看法与之前基本不变,快速学习能力固然重要,但是开发过程中大多数都是经验老道者会更具有优势。年轻人学习前人的知识本身也需要花费大量的时间。软件开发时需要持续学习、不断进步的职业道路。
经过此次项目的开发,我颇有心得,工作量和时间并不能直接挂钩。有的时候你想了很久不一定就能有什么进展,实际开发过程中,我经常只有一两个小时是在编写代码,大多数时间是在学习和查找资料。论工作量,其他时间的工作量并没有那一两个小时来的多,但学习和查资料显然也是必须的。
软件工程的学习不只是上课学习。学生还要运用大量的时间学习一些课外知识以及完成实践内容。这一个学期的在软件工程上花的时间比其他一个学期的课程多得多。时间大体上是够的,但是这是一门不断学习的课程,在结课后我认为我们还要继续接触并学习相关知识。
通过此次开发,我使用过很多次gpt,但是gpt的回答往往没有那么精深和准确,面对很多问题和Bug我依然需要使用传统搜索引擎去搜索前人的解决方法,并不能完全依赖gpt。因此我并不认为传统的搜索引擎会被完全替代。
对于原来的问题,我觉得还有以下问题困扰我:
问题4:花费时间越多,代表工作量越高吗?
对于一些用于学习的时间,很难定义这些时间的工作量,理论上工作量产出基本等于0,但是学习是不可或缺的,有了学习才能保证后面的工作有产出。
当初我们游戏定位的客户有三类人群,新生,毕业生和其他学校的学生。主要目标是方便他们了解福大。和客户的沟通提升了我的沟通技巧和需求分析能力。同时我学会了需求规格说明书的编写,这同样提升了我的信息组织能力。最终我们决定基于unity引擎做一款3d游戏。
在设计阶段,我查阅网络上的各种资源,在b站上看了无数的教程。我和小组成员讨论,确定了游戏的主要框架:以第三人称和第一人称结合作为主要视角,以教师,操场,食堂,宿舍作为主要的场景,通过地图和对话系统进行场景切换,用任务系统来串联我们的剧情,同时加入各种彩蛋供用户探索用以添加自由度和趣味性。这一阶段主要提升了小组合作能力
在实现阶段,主要是小组成员之间的合作。我和另一名负责后端的同学一起合作开发。我们从负责建模的同学那里接受建模,从负责剧情的同学那接收剧情说明,从unity商店以及网上寻找合适的免费资源。我负责的内容有UI设计与实现,背包系统设计与实现,场景切换及加载系统设计与实现。这一阶段我主要学到了很多unity开发相关的知识,如canvas的使用,异步加载的使用,场景切换的使用。
在测试阶段,我学会了测试的各个流程和测试工具的使用。我们使用了游戏的内置工具进行测试,并且邀请其他同学进行游玩以测试游戏是否有Bug。
在发布阶段,我学会了如何将游戏打包和发布。在网上以及有大量的教程,所以这一部分并没有困扰我们。
我学会了如何使用git仓库进行代码管理,如何爬取网页上自己想要的数据,如何进行测试,如何进行软件评价。
我先学会了如何使用Axure进行原型设计,在后面
学习了html,css,JavaScript相关知识以及vue项目的使用。主要是自学各种新知识让人特别有成就感。
在团队项目中,我主要负责ui设计以及后端开发。
我学习了如何在unity中创建游戏对象和资源管理,
如何使用canvas,panel,text,button,image等原件的使用以及相关c#脚本的实现,
如何配置tmp字体,
如何进行场景切换,
如何进行场景异步加载,
如何使用ScriptableObject设计背包,
如何使用各种布局,
如何制作加载进度条,
如何将导入的图片转换为精灵并处理,
如何调整游戏对不同分辨率的适应。
评分:99
在本次实践中,严守职业道德规范,我参与的相约福大项目考虑了新生,毕业生和其他学校学生的基本需求,为广大学生带来了便利,符合积极向上的软件开发理念。
评分:95
在实践过程中,我能广泛收集群众需求,使用Axure进行原型开发,以求准确理解客户的需求,对后续开发提供了极大的帮助。
评分:90
我对软件开发的全过程有基本的掌握,但在体系结构设计和构件级设计方面,我认为自己需要更多的实践经验来提高设计质量,尤其是在通过技术评审和优化设计方案方面。
评分:80
我在技术评测方面有一定的能力,但在设计模型的评判和创新设计意识方面,我认为自己还有很大的提升空间,特别是在面对复杂问题时,优选设计方案的能力需要加强。
评分:82
我能够遵循文档标准并规范表达,但在撰写需求规格说明书和系统设计说明书方面,我认为自己需要更多的实践来提高文档的质量和交流能力。
评分:83
我在团队合作和沟通方面表现良好,能够有效地与其他成员协作。
评分:75
我对软件项目管理的构成要素有一定的了解,但在软件规模和工作量的估算方法方面,我认为自己需要更多的实践经验。
概述:Unity中利用ScriptableObject创建和管理游戏背包系统。