热爱1024°C的你
热爱1024°C的你
这个作业属于哪个课程 | 2021春软件工程实践|W班(福州大学) |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 对本学期的实践课学习进行总结 |
其他参考文献 | 无 |
目录
前情提要
过去的问题
1. 对于长时间跨度(五年以上)的项目,在进行维护或对底层功能更新时,如何做才不影响或者最小限度影响项目的其他部分?
- 首先对于长时间跨度的概念有误(运营一年以上的项目已经可以算作长时间跨度项目了)
- 这类项目维护更新时,可以采用迭代或者使用合适的设计模式(如算法可使用策略模式等),另可以增加版本回退功能以应对更新失败等意外情况;
- 此答案来源于对《构建之法》更为深入的研读
2. 开发过程中如何根据团队成员的技术栈进行合理的分工?
- 对各个成员的技术栈进行记录后,组长可对项目进行协调组织。开发过程中,对技术欠缺的组员给与时间进行技术补强,对技术栈合格的组员组织学习先进技术以应对后续开发
- 该问题的重点本质来说还是组长和组员、组员和组员之间是否进行了有效的交流沟通
- 此答案来源于团队作业过程中的实际流程体验
3. 软件工程师和普通程序员最本质的区别是什么?
- 首先当然是工作经验与编程能力的差异
- 软件工程师对能力上的要求更为全面,如存储管理与规划、安全管理与规划、服务器应用程序开发等
- 此答案来源于企业宣讲会提问后企业与会人员的解答
4. 如何准确理解用户的功能需求?
- 不只是用户需求,开发过程中所有的需求都需要去理解并实现,做到这些需要经常和客户、项目经历等项目相关人员沟通
- 此答案来源于对《构建之法》更为深入的研读
新的问题
-
软件重构:何时应该进行重构?重构应该如何进行?
-
开发时如果遇到用户提出不太切合实际的要求,如何委婉的让用户理解到TA的要求/想法是不必要的?
各阶段收获总结
需求分析
- 学会了规范的需求分析说明书的编写
- 锻炼了将抽象的需求具象为具体编程要求的能力
2. 设计
- 学会了规范的接口文档的编写
3. 实现
- 学习了基础的安卓编程
- 强化了自己的人际沟通能力
4. 测试
- 学会测试用例的设计(黑盒测试、白盒测试)
5. 发布
- 对“软件工程就是编程”这一固有印象有了全新的理解
- 软件工程应该是系统的、规范的、可定量的,包含软件开发、维护的,结合了管理技术与技术方法的综合学科
理解与心得
1. 个人项目&结对编程
- 因个人水平过低未能完成,实属个人态度问题
2. 团队项目
- 很开心能遇到这样一群积极向上的队友,即使在开发遇到重大阻碍时也能保持乐观的心态并积极鼓励同组其他同学,而且在这个过程中很有耐心地指导我,帮我解决了很多困难。
- 团队作业过程中因为个人的人际沟通能力欠缺,项目集成阶段带来了很多问题,并最终导致了产品的流产,此处对我的队友道歉