688
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2023福州大学W班 |
|---|---|
| 这个作业要求在哪里 | 作业链接 |
| 这个作业的目标 | 个人技术总结 |
| 其他参考文献 | 无 |
Q1:程序员是否有必要为满足小部分人的需求去做软件,或者为软件添加某些功能?
A:这个问题没有一个绝对的答案,因为它涉及到多个因素,包括时间、资源、目标用户群体和商业考虑等。在考虑这个问题时,可以考虑以下几点:
用户需求:评估这个小部分人的需求是否具有重要性和紧迫性。如果这个需求是关键的、有广泛影响力或者是核心用户的需求,那么值得考虑满足它们。
商业影响:评估这个功能或需求的潜在商业价值。如果这个功能能够为你的软件增加用户或提高用户满意度,从商业角度来看可能是有价值的。
资源投入:考虑为满足这个需求所需要的时间、人力和其他资源。如果资源投入相对较小,而且满足这个需求对你的产品或服务有积极影响,那么可以考虑添加功能或开发特定软件。
用户反馈:倾听用户的反馈和需求。如果这个小部分用户代表了更广泛的用户群体,并且他们的反馈能够帮助你改进产品或提供更好的用户体验,那么可以考虑满足他们的需求。
长期规划:考虑这个特定需求是否符合你的长期发展规划和产品路线图。如果这个需求与你的愿景和战略一致,那么它可能是值得关注的。
Q2:我都是大学生了,上课还要认真听老师讲课么?
A:曾经我认为课堂上的知识不是特别重要,都是皮毛,感觉只要随便听听就好,就算不懂以后需要的时候再看看网课就行了。但是在课程实践的过程中,我发现我错了,课堂上的基础也是很重要的,当一个任务的时间非常紧迫的时候,如果你对基础都不了解,就需要花很多的时间去恶补,还以前的懒债,导致在学习基础上花费了很多的时间,最后开始编码就会很手足无措。所以经过一学期的课程实践后,我发现大学生还是要好好听课的。
Q3:会不会有很多软件工程师可以更短时间内完成任务却特意花更长时间呢?
A:虽然在课程实践中我并没有遇到这样的同学,但是我认为还是存在这部分软件工程师的。他们花更长的时间完成任务,可能是为了保证产品质量、设计和实现可扩展和灵活性、更好的用户体验、使产品未来更好适应新的需求。虽然有时花费更长时间可能会带来更好的结果,但在商业环境中,时间也是一项宝贵的资源。因此,软件工程师需要在项目中进行合理的时间管理,并在满足质量和用户需求的同时,尽量避免过度延长开发周期。
Q4:团队项目中,如何与技术段位差距较大的人相处或达成一致?
A:在实践过程中,我扮演的是经常向技术比较强的同学请教的角色(我比较菜)。我认为在团队项目中的交流有很重要的两点。一是要善于沟通,虚心请教。当遇到问题的时候,花了很多时间也没法解决,一定要及时提问,不要因为自己的问题拖累团队的进度,不要觉得不好意思,在我的团队中,大家都是很好的队友,都很乐于帮助别人。二是一定要有效沟通。在遇到问题时,要找好正确的、技术契合的提问对象。提问时要梳理清楚自己的语言,在什么样的场景下遇到了什么样的问题,目前已经尝试过了什么样的方法等等,把细节讲清楚这样别人才能更好地给予有效的意见和帮助。
Q5:在老板驱动的模式中,既然可能存在领导未必懂得软件项目管理等问题,那是否有必要在职位晋升时将这些作为考核要求?
A:在老板驱动的模式中,领导可能确实不具备深入了解软件项目管理等技术领域的知识。然而,在考虑职位晋升时将这些技术和管理技能作为考核要求是值得考虑的。原因可能包括:提高组织效率、更好的决策能力、提升团队合作、发挥领导作用。当然,考核要求应该综合考虑领导的职位需求和组织的特定情况。不同的组织和职位可能对技术和管理技能的重要性有所不同。因此,对于每个职位的晋升,应该根据具体情况进行综合评估,平衡技术和管理技能的需求,并确保领导具备足够的能力来有效地管理和领导软件项目。
在需求阶段,我学会了使用NABCD模型来进行需求分析,并了解到需求分析都需要分析哪些内容。该阶段让我深刻意识到,一个软件的起步是很重要的,需求分析做的好不好,关系到后续的产品设计是否能顺利进行,也关系到到一个软件上线之后是否能有好的效益。
在原型设计阶段,我学会了使用Figma原型设计工具来设计产品原型。Figma是一款强大的原型设计软件,可以很方便地设计丰富多样的图形界面,而且Figma社区中也有丰富的免费模板可供使用,同时支持多人在线设计,对我来说Figam是一项很有用的技能。
在结对编程的代码实现阶段,我负责网页的前端代码实现,初步了解了Vue框架的使用。由于此前并未接触过使用Vue框架进行前端编程,因此在阶段初期花了大部分的时间在学习Vue上,导致最后实际开发的时间很少,所以设计出来的界面比较简陋,但是也算麻雀虽少,五脏俱全,我相信如果有充足的时间,我也能够开发出比较优美的前端界面。
在团队项目的代码实现阶段,我负责地图设计和剧情任务设计,在这个阶段,我学会了使用Unity Editor导入素材,并使用地图画板来设计地图,并学会使用C#来编写一些和场景切换、任务流程控制相关的脚本。
在测试阶段,我学习了软件测试的全流程,并在主要的测试阶段学习了重要的测试工具、测试技术、测试知识。在集成测试环节学习了等价类划分、三明治集成,在压力测试环节学习了NUnit(Editor Tests Runner)。在进行较为系统的测试学习后,能意识到测试的重要性,测试的不可忽视性。
在结对编程的产品发布阶段,我学会了购买云服务器,并使用Nginx在云服务器上部署网页项目。
在团队项目的产品发布阶段,我学会了使用Unity Editor自带的项目打包工具Building Setting将项目打包为.exe文件。
| 目标项 | 目标具体内容 | 自我评分 | 解释 |
|---|---|---|---|
| 目标项1 | 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念 | 85 | 通过理论课对于软件工程师职业道德的讲述,能更好地理解软件工程师的社会职责 |
| 目标项2 | 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型 | 85 | 学习了NABCD模型进行分析需求,能比较准确地提炼用户需求 |
| 目标项3 | 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案 | 70 | 参与了团队分析数据库、体系结构的过程,跟进设计过程并提出建设性意见,但整体质量还有待提高 |
| 目标项4 | 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案 | 80 | 能随团队开发进度,及时跟进产品质量监测,及时改善不足、改进技术,但缺少一定创新能力 |
| 目标项5 | 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力 | 85 | 在团队开发中从事大量的文档撰写工作,对于每个文档需要说明内容、如何进行准确表述有了非常清楚的了解,文档的可读性较高,为产品开发提供了较大帮助 |
| 目标项6 | 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作 | 85 | 能够与项目组成员及时沟通进度,并协调工作安排,确保项目按时交接 |
| 目标项7 | 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力 | 80 | 学会了使用PSP表格进行事前估计和事后分析,同时学会了git的基本操作指令,但对于团队项目管理工具的使用还有所欠缺 |
Unity2D:关于如何实现RPG游戏的对话系统
概述:实现RPG游戏的对话系统,能够自定义对话内容,并展示对话者姓名,同时实现了文字逐字滚动的功能,而不是瞬间显示所有文字内容。
当遇到问题的时候,花了很多时间也没法解决,一定要及时提问
你后来写博客总结了么?