不经风雨不见彩虹(个人作业——软件工程实践总结&个人技术博客)
这个作业属于哪个课程 | 2021春软件工程实践S班(福州大学) |
---|---|
这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
这个作业的目标 | 总结软件工程实践课程 |
其他参考文献 | 构建之法、CSDN |
一、课程回顾与总结
给出以前提问题的博客链接
请尝试对自己曾经提出的问题进行解答
16.1.1 “灵光一闪现,伟大的创新就紧随其后”部分,如何在拥有基础的前提下,把握好“灵光一闪”的机会?
- 通过软件工程实践明白,实际上,不一定在软件工程实践,也不一定在写代码的时候,而是在生活中的各个时候,想到什么之前从来没想到的事情的时候,就及时记录下来,后面想要查找,可能会有意想不到的收获。
16.1.3 “好的想法会赢”部分中,提到了两种电脑键盘布局,两种键盘就其效率而言,更高效的那种反而不是我们日常使用的键盘样式。好的想法不一定赢,但是好的想法和成功的关系是完全意义上的必要不充分条件吗?
- 确实是必要不充分。
- 好的想法不一定赢。软件工程团队作业选题,我们最初一致决定做一个卡牌游戏,后面被老师说太过简单。但是我个人认为这个想法确实是个好的想法(是因为找不到同类软件而来的想法)。最后没能做这个,说明了好的想法不一定赢。
- 但是成功一定要有好的想法。无数发明家的案例即是如此。在软件工程实践中,有时会遇到难以解决的编码问题或者bug,没有好的想法坐了好几天就是解决不了,一旦有好的想法,可能还是解决不了,但是说不定就能解决了呢?
是否原来的问题还不明白
11.5.5 小强地狱部分,提到“阈值不宜频繁调整,最好事先宣布阈值”,这要怎么尽量一次性做到?
- 实践中认识到,在团队项目里面,经常出现bug过多的情况,感觉只能依靠项目经理等人的经验判断阈值。
14.1.3 CMMI是如何运行到实际的软件质量保障方面的?
- 没有亲自去企业实习过,过程不了解,身边能找到的资料比较抽象。
16.3.2 动量和加速度部分,遗留下来的问题不太明白:如何平衡大量收入但在减少的软件产品和没赚钱但用户量上升很快的软件产品之间的投入。
- 软件工程实践没办法感受到这一块,看书觉得有些抽象,应该要去企业实习更有体会。
是否产生了新的问题
暂时没有产生。
软件工程这门学问有很多 “知识点”, 这门课强调 “做中学”——在实践中学习知识点。请问你在项目的需求/设计/实现/测试/发布阶段(一共5个阶段)中,每个阶段收获最大的知识或能力是什么?
-
需求
掌握了用工具设计类图的方法,在这之前都是用手画UML图的。还明白了需求分析对于软件工程项目的重要性,在软件工程开发之前就要把项目的需求理解清晰透彻。 -
设计
掌握了软件设计的系统设计UML图和数据库设计的方法。 -
实现
学习了之前还不会的Java FX技术,对项目有个深刻的理解。 -
测试
学会寻找bug,用JUnit和JPprofile测试工具进行测试。 -
发布
分为alpha版和beta版本,不是所有功能都实现了才能发布。实现了基本功能就能发布试用版了,然后可以根据用户体验进行修改完善。
结合自己在个人项目/结对编程/团队项目的经历,谈谈自己的理解或心得。
-
个人项目
锻炼了独自完成较小项目的能力,训练了算法思维。WordCount程序看似算法容易,实则要处理很多问题,一个地方没处理好都会导致失败。 -
结对编程
需要两个人共同配合完成,在不同意见上尽量沟通清楚。做的是Web端的顶会热词统计程序,比较复杂,自底向上完成,感觉比较有压力。 -
团队项目
9人一起做个项目,需要每个人都有所付出。团结协作最重要。通过团队项目,不仅对Java FX技术有所理解,还提高了团队协作能力与沟通水平。
二、个人技术总结
链接:Java FX前端开发与测试
概述:Java FX前端开发技术与测试技术主要用在Java程序设计的GUI设计部分,在桌面客户端应用程序使用广泛。软件工程实践“你画我猜”中需要用到Java FX技术,因此学习。该技术比较困难的点主要在于,GUI设计不能像C#那样直接拖动组件,需要一行一行写代码。