软件工程作业--提问回顾与个人总结
软件工程作业--提问回顾与个人总结
项目 | 内容 |
---|---|
这个作业属于哪个课程 | 软件工程 |
这个作业的要求在哪里 | 提问回顾与个人总结 |
1.以前提问题的博客
2.尝试对自己曾经提出的问题进行解答
问题1
书中对于用户要有控制权的这部分写到
“操作失误可回退,要让用户可以退出软件。”
而目前手机上的软件几乎都没有退出的功能,大家一般都是通过多任务界面关闭软件的后台来退出软件。家中的老人常常向我询问为何手机很卡,我一打开发现后台有几十个软件,都是不使用了但是没退出的。请问对于现在这种手机软件普遍没有退出功能的这个现象是合理的设计吗?
这个现象当然是不合理的设计,在本次团队作业中,我所在的小组编写了一个PC端运行的程序,程序启动了很多进程,在开发过程中就发现,如果在退出程序的时候没有处理好这些进程,则会对系统的其他功能造成很大的影响。所以我们在这方面下了很多功夫,让用户可以退出软件,也可以真正的退出软件。
问题2
书中对于用户提交反馈意见写到
“让所有的用户都可以通过电子邮件或者表单来提交反馈意见。”
在我的朋友中,绝大多数人在使用软件时遇到软件出问题时,并不会同意上传反馈信息,而是会选择立即关闭软件。在使用一些手机软件时,第一次打开时会弹出类似“”是否加入用户体验计划,上传使用的数据帮助我们进行改进“这样的提示,很多人都会不同意。请问在实际的软件开发中有何方法能够真正的鼓励用户提交反馈?
在经过一些学习和查阅后,我总结了一些能够鼓励用户提交反馈的手段和方法
- 让反馈变得简单,比如在一些功能使用完成后弹出一个星级评价,用户不会介意点一下的代价,能够很大比率的提供体验反馈,也可以准确地反映用户的第一感受。但是此种方法的不足在于,不能很好的知道原因。
- 发问卷并提供一些奖励,如果是电商平台,就可以提供一些小额优惠券,如果是游戏,就可以提供一些虚拟游戏币或虚拟材料或者经验值,总之是给用户提供一些小小的奖励,这样用户会心甘情愿的为你填写反馈问卷。
- 态度诚恳请求用户,表明十分想听取建议的态度,有些用户就会认真填写问卷,这种收到的反馈是质量最高的,但是也是收上来比例最小的。
问题3
前段时间出现的微信翻译的bug,例如微信把“you play basketball like caixukun"翻译成“你篮球打得真好”。
这种bug如果在软件测试过程中没有被发现,但是在发布之后被用户发现,这种问题的责任要归于谁呢?
这个问题我没有得到答案。
但是在实际开发中有一些新的体会。有幸在beta和gamma阶段担任了测试的工作,特别是gamma阶段编写了一个黑盒测试方案,想了很多奇奇怪怪的操作,实际的测试效果很好,超越正常使用的操作组合确实检验出了很多bug,但是我觉得随着产品功能越多,可供用户操作的部分越多,这种不符合正常功能的操作的组合也会越来越多,全靠测试或者开发人员是不可能把所有情况都想到的,难免会出现一些奇怪的bug。如果没人发现,万事大吉,如果就是有那些脑洞惊奇的用户试出了bug,及时改正就得了,不是非要找到责任在谁,这种bug往往不会造成使用上的问题。
问题4
书中对于在校学生如何为成为PM做准备写到
在校学生可以通过下面的方式锻炼自己的PM能力:
参加多种社团并组织一些活动。
选修各种相关学科的课程。
争取在实际的企业中实习。
和小伙伴一起搞点小生意、小创业。
想问相关的课程有哪些?
在企业中实习单位会让实习的学生接触到PM的工作吗?
第一问没有得到答案。希望有老师可以帮忙解答。
第二问希望在暑期实习过程中得到答案。
问题5
书中对“Workshop”进行了介绍,我想问的是在毕业之后,如果同时有进入正规大企业和小作坊的机会,该如何选择?我在各种论坛上也查看了一些回答,支持两种的都有,想问一下老师会给出怎样的建议。
没有得到答案,希望得到老师的解答。
3.在团队项目的开发中学到的知识点
阶段 | 学到的知识点 |
---|---|
需求 | 软件需求、获取用户需求 |
设计 | 功能驱动的设计、典型场景和典型用户 |
实现 | 从Spec到实现、代码规范 |
测试 | 单元测试框架、效能分析工具 |
发布 | 从代码完成到发布 |
维护 | 产品的维护和更新 |
4.心得体会
结合结对编程以及团队项目的经历,我总结了以下几点理解和心得。
- 一定要规定好代码规范,添加适当的注释,要简明,不要长篇大论。
- 重视测试,测试前拟定白盒和黑盒的测试方案,后期按照方案逐条测试。不能没有章法,想到哪就测哪。即使是最简单的功能也要测试!
- 要换位思考,如果是用户在使用产品会有什么想法,以这个角度去审视产品的功能是否合理。
- 使用Google或Bing搜索,抛弃某度,搜索结果的质量相差十万八千里。
- 不要轻信一些论坛上的技术贴和回复,每一条都要亲自尝试。(大坑)
- 认清自己的能力,如果长时间不能实现某功能,抛弃它。宁可不要也不能有重大缺陷。
总的来说,软件工程这门课确实让我在参与一个实际项目中锻炼了自己的能力,无论是编程的能力还是与队友相处合作的能力。希望课程越办越好,也希望下一届的同学能够把我们的项目继续写下去,变成更好的产品。