这个作业属于哪个课程 | 软件工程实践2022年春-F班 |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 实践总结&个人技术博客 |
其他参考文献 | 《构建之法》 |
第一部分:课程回顾与总结
以前提问题的博客链接
曾经的问题
原回答:
我认为用户体验是在一定程度上是优于产品质量的,在用户使用程序的时候,用户的体验第一时间决定了用户的留存率,UI好不好看,动画流不流畅,这都是一下就能感觉出来的,而产品质量则需要一段时间的体验才能感受到,而那时候说不定用户已经习惯了你的产品,有一点质量问题也没什么大碍,反而一些积极的用户会给你反馈,甚至找出一些你自己也想不到的纰漏,而且产品质量也可以在后续的更新中进行提升,但是用户一旦流失了就很难再回来了。
用户并不知道你是否牺牲了产品质量,但是体验却是实打实的,并没有用户接不接受的问题,而是要看程序员进行的取舍,看程序员接不接受的问题。
现在的看法:
取舍仍在于开发者,需要开发者结合实际情况找到两者之间的平衡
原回答:
我认为,努力去学便是,程序员是需要终生学习的,有更好的,那么不好的自然就可以放弃,每一次学习,都是对过去的自己的一种颠覆。
现在的看法:
不变
- Q3:学生与职业程序员的区别?
原回答:
我觉得主要还是经验的不同,学生比较缺乏编写代码的经验,而职业程序员则有更多的相关经验,更多的实践,用什么函数怎么用都可以信手拈来,水到渠成,所以相对于构思的时间而言,写代码的时间更少,而且教材中也只是说明百分比,并没有具体的时间,感觉缺乏可比性。
现在的看法:
在写代码之前的需求分析确实很重要,需要先搞懂要做什么再进行代码的编写,否则容易出现写到一半要全盘推翻的情况。
原回答:
我觉得不会,写大部分的软件都需要先有一个大致的框架,而且比起框架在心中或者在纸上,在电脑里应该会更好,毕竟电脑可以随时测试,再说很多的灵感都是在写到一半的时候才会突然出现,灵光一闪,获得更好的效果,所以要先写,然后再改,虽然说有可能有时会需要代码的大规模重构,但比起考虑周全之后再下手,我觉得电脑上有东西总比没有好。
现在的看法:
先有代码,再根据需要的功能进行测试,测试结果不理想就再修正代码,我觉得是很正常的。
原回答:
我认为这种行为是可以接受的,虽然快速交付任务的工程师更受市场青睐,但会给客户其实任务并不需要那么多时间完成的错觉,一旦某一次慢了,不仅可能会得到不稳定的评价,而且也容易辜负他人的期望,但是如果完成时间较为稳定,那么客户也可以合理地规划任务进行交付,而且任务超时的可能也小了很多,对双方都有利。
现在的看法:
仍然支持
新的问题:
更短时间内完成的任务会不会因为太过赶工而产生更多bug?
阶段收获
需求
- 了解用户真正需要的东西的能力
- 从需求中找出最重要的功能的能力
设计
- 使用各种工具进行大致原型的实现的知识
实现
- 与他人协作,阅读他人代码理解意思的能力
- 在遇到不会的问题时精确概括的能力
- 可以活用网络上的已有代码的能力
- 使用unity进行软件开发的知识
测试
- 使用selenium进行网页测试的知识
发布
- 在云服务器进行软件部署的能力
理解与心得
- 个人项目
用于不要相信用户的输入,软件需要有甄别用户有效输入的能力,并能给出错误提示。 - 结对编程
人多力量大,有人一起进行软件开发可以大大提升编程效率。 - 团队项目
有很多问题其实在网上都可以找到答案,遇到问题的时候不要放弃,善用利用搜索引擎和对应语言的帮助文档,就可以找到答案。
自我评分
- 目标1: 理解软件工程师的职业道德规范和实践要求,了解国情社情民情,理解软件产品对社会、健康文化等影响,树立积极向上的软件开发理念。
- 评分:85
- 原因:充分了解软件工程师的职业道德规范和实践要求
- 目标2: 掌握需求分析的全过程,能辨别客户表述的多样化要求,熟练使用需求表达工具,能够规范、准确地表达客户的需求,构建需求分析模型。
- 评分:90
- 原因:可以从用户的描述中了解用户真正的需求并使用各种工具进行大致原型的实现
- 目标3: 掌握软件开发的全过程,遵循体系结构设计方法和基本设计原则,通过正式的技术评审,完成从体系结构设计模型、数据设计模型和构件级设计模型,形成面向高效可靠的服务组件设计方案或软件系统设计方案。
- 评分:80
- 原因:可以遵循基本设计原则,完成一套系统设计方案
- 目标4: 能够执行从组件到软件系统的技术评测,具备设计模型的评判能力,具有创新设计意识,能够优选设计方案。
- 评分:85
- 原因:可以完成部分软件评测,对方案具有一定判断力
- 目标5: 遵循软件开发各阶段文档标准,采用规范的表达,掌握需求规格说明书、系统设计说明书、系统测试报告等文档撰写方法,具备与业界同行交流能力。
- 评分:70
- 原因:具备与同行的交流能力,部分掌握文档撰写方法
- 目标6: 具有良好的团队意识和合作技能,能够与其他成员开展有效的沟通和协作;能够组织、协调或指挥团队开展工作。
- 评分:80
- 原因:可以有效与其他成员展开沟通与协作,协助团队开展工作
- 目标7: 能够辨别具体软件项目管理中涉及的构成要素,掌握软件规模和工作量的估算方法,能够选择合适的工具规划软件进度并对项目管理过程进行配置,具备初步的管理复杂软件工程项目的能力。
- 评分:75
- 原因:对工作量的把握不够熟练,具有对复杂软件工程项目的管理工具的使用经历
第二部分:个人技术总结
概述: