前言

  这学期坚持上完了高等软工一课,在课程实践上一轮轮的迭代中不断学习、进步,收获颇丰。虽然最终的工作还有很多不足之处,但感觉自己对改进的方向还算明确,如果未来有时间精力应该可以完善同等难度的任务。

  在领域分析、需求分析、设计各个过程中的总结记载在了前几次博客中,本次博客就仅站在总结的视角,对照自己在第一次博客定下的期望与笃信,写一些自己的心得和体会。

回顾期望

  学期初自己希望在高等软件工程课程上学习/掌握什么能力?且与期末学习效果对比。

1. 继续学习软件工程基础知识(重点是需求分析)

  在从前的学习实习过程中需求分析往往就注重功能设计而未讨论核心价值(自己没参加过什么有创新要求的项目,这方面思维僵化),从未将领域分析和需求分析阶段拉得这样漫长。而本次开发过程种将分析与设计放在了举足轻重的位置,队友们都很辛苦,在小黑屋花了很多心血时间提炼核心价值,去讨论去打磨分析与设计,用图、文字而非代码去描绘软件设计的蓝图。而分析设计过程中除了常见的UML,本次还学习到了RUCM、OCL等建模工具。

2. 巩固UML基础

  这学期在课上课下画了很多UML图,老师也会对我们的图进行评价反馈,队友也给了很多帮助。不仅画了很多种图,每个阶段这些图还不断在迭代,花在画图上的时间很多。UML用图描述逻辑高效,图形、线条多样,自己以前记不住这些画图规范,往往都是翻着书画的,上个月画图频繁时都能脱离书本/资料画了。这学期在starUML+ProcessOn+PlantUML的陪伴下完成了“五花八门”的UML图。starUML画图规范轻便、便于看到各个组件背后的逻辑,ProcessOn便于协同开发,PlantUML用代码描述图逻辑,精准高效。

3. 将各类模型与设计积极落实到代码上,实践把软件开发当建模开发。了解体系结构建模驱动工程,规范文档书写(尤其注意接口的文档和注释,做好前后端分离,提高开发效率)

  这次依照老师的指导,前三个多月做好分析设计方案,最后半月将设计落到代码上。在落实过程中确实看到了分析设计做好的必要性,也同时发现了我们设计阶段的不足,即使补充上OCL也仍有一些接口间的逻辑没能描述清楚。图和文档规范花了很多时间查阅了文档和资料,应该算规范。本次采用前后端分离开发,便于落实接口设计,但由于编程时间较少,接口的文档和注释写得不够也阻碍了测试用例设计的效率。

4. 学习测试工具/使用技巧

  白盒测试就是一边编程一边自行查,功能测试和单元测试这学期新学习了postman和JUnit的使用,用Jmeter做了简单的性能测试。单元测试要做全套的话代码/测试用例的工作量也挺多的,没有自己从前想的简单。

5. 加强项目管理经验、编程经验和合作经验

  代码实现过程中我主要负责后端和数据库。基于分析设计阶段的打磨,本次代码落实的时候bug写的少很多了,Java web开发上也从同学处了解到很多新东西,有余力做了点事务和锁的设计。身为队长但这学期项目管理工作没能做好,任务分得很粗糙,全靠队友给力。分文档易,分代码难,如遇大型项目需要多人协同编写代码,设计时还需多解耦合,才便于实现时分配任务。(可以建议这门课以后把编码难度和组队人数同时降低吗,虽然软工精髓正在于此,但大家技术偏好实难统一)

回顾笃信

  学期初根据当时的理解和调研,总结了认为能促成项目成功的关键因素。经过一个学期的作业实践,关于这部分的想法变化不大,“约定大于配置”的设计理念更加深入人心(做好约定,简化配置,这一理念不仅在开发框架中适用,感觉分析设计到代码时间的落实过程同样适用)。

1.精确而系统的建模

  首要是需求分析,一定要关注核心价值。用图和文字而非代码去描绘软件的蓝图,最终再用代码将之落实。

2. 制定切实可行的计划。

  适当应用软件开发过程模型,可以借助敏捷开发工具(如TAPD)细化任务,重视时间轴,高效完成开发。

3. 团队积极协作,互相了解信任。

4. 积极沟通,减少自我封闭。

  除了队友们还获得了其他同学的指导交流,不管是为人处世的方式方法、编程开发的技术技巧还是学习研究的心态都从他们身上学到了很多。感谢同学们的友好帮助。

5. 编码能力和软件工程基础。

  优秀的软件开发项目自然少不了优秀的编码和软件开发过程的工程性规范化。这学期设计开发留的时间多,所以软件开发过程的工程性规范化实现得比较完善。但编码时在一些功能实现上遇到了瓶颈,下学期学习重点要放在编码能力了。

结语

  对比开学时自己的期望,每个方向都有了收获和提升,但都还未达到自己期望的程度,进步空间仍然很大。前几天看到一副对联,“业精于勤,漫贪嬉戏思鸿鹄;学以致用,莫把聪明付蠹虫”。学习软件工程恰需秉承这般精神,谨记勤学、实践,规避好高骛远、舍本逐末。

  感谢老师们上课带来的丰富精彩的软件工程知识和答辩过程中耐心切实的反馈指导!(老师每次课堂小作业都会先让我们做再给出自己的一版解答,个人觉得这样实践互动的教学效率高,希望以后多这种课堂设计)

  感谢队友们一个学期来的仗义帮助和团结协作!

 

版权声明:本文为hhhhhejiahui原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hhhhhejiahui/p/14327368.html