软件工程实践总结——学海无涯
| 这个作业属于哪个课程 | 2022福大软件工程W班 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
| 这个作业的目标 | 课程回顾与个人技术总结 |
| 其他参考文献 | CSDN相关帮助文档,《构建之法》 |
目录
- 1.课程回顾与总结
- 1.1 过去问题链接
- 1.2 曾经提出的问题
- 1.3 做中学
- 1.3.1 需求阶段
- 1.3.2 设计阶段
- 1.3.3 实现阶段
- 1.3.4 测试阶段
- 1.3.5 发布阶段
- 1.4 理解和心得
- 1.4.1 个人项目
- 1.4.2 结对编程
- 1.4.3 团队项目
- 1.5 自我评分
- 1.6 个人技术总结
1.课程回顾与总结
1.1 过去问题链接
1.2 曾经提出的问题
- 1.注释(包括所有源代码)应只用ASCII字符,不要用中文或其他特殊字符,它们会极大地影响程序的可移植性?
旧:如果项目代码要面向其他语言的人,肯定是要的。不过校内和同学做的作业小项目肯定用大家都看得懂的中文注释更方便。
新:在这次的团队项目中,一开始编写代码的时候我也基本用的是ASCII代码。但在合作的过程中,我也逐渐发现使用中文更加方便合作,毕竟目前的项目不需要移植且只面向国内。 - 2.敏捷开发究竟敏捷在哪?
旧:以我个人感觉来说,自己一个人开发时必然会摸鱼和拖延(可能是我个人问题)。但是如果定期开会汇报进度的话,像我这种懒狗类成员也不得不花时间给项目增添一些功能,这样开会时才不至于一点东西都掏不出来。敏捷开发一来能让大家交流进度,更好地规划接下来的工作。也能让所有人都在项目上花些时间。
新:在这次的团队项目中,每个冲刺日晚上都会进行一次线上会议,确实可以起到激励和督促的效果。 - 3.应该在什么时候使用goto?
旧:不要用吧,这玩意用的时候可能很方便,别人或者自己事后看都很难看懂。
新:与旧看法相同 - 4.激励一个敏捷的团队的动机是什么?
旧:企业中的话,应该是money优先,其次是想获取更加优异的成果,对美好未来的展望。而且激励团队的首要前提是需要团队内的成员对项目都要有最起码的了解和热情,而不是每天干活应付了事。很多游戏设计师和策划跟不玩自家的游戏一样,更新和调整只是为了应付开会,导致天天被玩家喷。校内项目的话可能大佬们会为了绩点更加努力,也有人为了项目能到及格线而努力。
新:在这次的项目中。对部分成员来说,小组长安排的每日任务与每晚开会检查工作成果能起到很好的激励效果。另一些成员则是出于对项目的责任感和项目完成后的期待感去定制、分配、执行任务。对我们整个团队的主要激励动机就是责任感。 - 5.好的用户体验当然是所有人都想要的,如果它和产品的质量有冲突,怎么办?牺牲质量去追求用户体验么,用户能接受吗?
旧:首先要确保收到的用户反馈是真实的,不然为了少部分用户的良好体验牺牲大部分沉默用户的体验以及产品质量的话就很亏了。如果确保收到的用户反馈是真实的,肯定是以用户体验为主。用户体验上去了,用户怎么可能不接受呢。一个花里胡哨拥有一堆功能眼花缭乱的软件和一个简洁明了功能对我来说非常实用的软件,我大概率是选择后者。不过这也是极端比喻,我感觉正常来说质量和用户体验是呈正比的,实在有冲突的话具体情况具体分析。
新:在本次项目中,由于时间短且还有期末考等各种其他的事情,导致工期非常短。在项目末期,我们面临着在有限的时间内该优化用户体验还是试图添加新功能的问题。我们选择了用户体验,在项目末几天较早的结束功能的添加,转而进行测试、美化、完善等工作。以确保用户体验,从而才能留住用户。
1.3 做中学
1.3.1 需求阶段
在需求分析阶段我们通过开会沟通交流明确了我们项目的大体功能和制作方向,然后我便开始学习相关内容,主要是学习c#代码、unityAPI、unity常用设计模式与功能框架等。收获了制作项目的一些基础知识。
1.3.2 设计阶段
学习相关内容,着手制作一些简单功能原型以练习实践。对上一阶段学习到的内容学习记忆。以使自己能在实现阶段更快更好的上手。
1.3.3 实现阶段
在实现阶段根据需求大量编写代码与各种功能框架。除了收获了分析需求编写代码的能力之外,应变能力、肝力与心态也获得了增强。
1.3.4 测试阶段
在测试阶段,我作为代码编写人员事先进行了白盒测试和部分黑盒测试。然后再交给测试人员,对测试人员反馈的bug进行修复。尽管预先测试了一些,但后面还是收集到了大量意外的bug反馈,感受到了测试的重要性。
1.3.5 发布阶段
在已经全面测试完毕发布正式版之后,发布阶段我便没什么工作了,只是参与编写ppt等杂活。同时自我总结一下这段时间的工作和收获,感觉获益良多。
1.4 理解和心得
1.4.1 个人项目
在个人项目中,由于此前并没有学过相关内容且工期不长,所以学习和实现时间都比较仓促,在编译器里测试过觉得没问题后便粗心大意,忽略了jar包的命名问题而拿了个0分。让我明白了做一个项目必须从头到尾都要细心谨慎。
1.4.2 结对编程
在结对编程中,axure原型设计、网页设计和服务器部署等都是我不太擅长的内容。在此过程中比较依赖结对的同学。
1.4.3 团队项目
我主要负责后端代码框架实现及bug修复。这次团队项目的成果我个人是非常满意的。感受到了一个团队的力量与效率。总组长负责版本管理、任务分配、博客及各种文档撰写。策划同学积极工作并督促我们,给我们带来了大量动力。美术、程序、策划三组成员分工明确各司其职,且有相互协调配合,互相督促工作,积极沟通协作,最终完成了令人满意的成品。
1.5 自我评分
| 编号 | 自我评分 | 相应解释 |
|---|---|---|
| 目标1 | 92 | 平时开发时一直有遵守道德规范和实践要求,项目内容也绿色健康。 |
| 目标2 | 90 | 能妥善与客户沟通了解需求,并根据能力和项目具体情况来设法实现 |
| 目标3 | 85 | 有积极了解过设计模式并在项目中稍有实现但比较死板,作为初学者并不能完全应用自如。 |
| 目标4 | 80 | 了解一定的软件测评知识,但掌握和实践可能稍有不足。 |
| 目标5 | 93 | 在项目中编写了一些框架,并与成员交流其具体使用方法。 |
| 目标6 | 95 | 在项目中作为程序小组长,与其他成员开展有效的沟通和协作,并能组织、协调分配工作。 |
| 目标7 | 85 | 能使用git和plastic等软件对项目进行配合管理,但并不是主要负责人 |
1.6 个人技术总结
软件工程个人技术总结——unity进入场景时根据配置的条件生成npc
进入场景时,根据给定的条件(检查玩家的属性,已完成的任务等),激活对应的npc,包含满足条件则必定出现的npc和满足条件后有概率出现的随机npc。
在我们的项目中,每个npc有自己的对话或任务。策划会对npc、对话、任务等进行配置,在大一时会某npc会出现在某某地方,早上时某npc会出现在某某地方,在某某地方配置了许多会随机出现的趣味路人npc等等...
相关推荐
软件工程项目实践参考选题
"《软件工程》项目实践参考选题提供了多个软件开发的实践课题,涵盖了教育、企业管理、信息管理等多个领域,旨在帮助学生选择适合的项目进行实践,提高软件工程能力。部分题目附带难度标注,如(*)表示难度较大
软件工程理论与实践答案
"软件工程理论与实践答案"软件工程理论与实践是软件开发的核心知识领域,涵盖了软件开发的整个生命周期,从需求分析到维护阶段。
网络程序学海无涯-网络教育总站.zip
"学海无涯-网络教育总站"是一个集丰富学习资源、灵活学习模式与先进教育技术于一体的综合性在线学习平台。该平台秉承“知识无界限,学习无止境”的理念,致力于为全球学习者提供一个便捷、高效、个性化的学习环境
自考软件工程实践样例
### 自考软件工程实践样例知识点解析#### 一、背景与目标本文档旨在指导高等教育自学考试《计算机软件专业》中的软件工程课程实践部分。
软件工程实践课件软件工程实践课件软件工程实践课件软件工程实践课件
这门课件集合旨在提供一个全面的视角,帮助学生和从业者深入理解软件工程的实践方法。1. **需求工程**:软件工程实践的起点是明确的需求。


