生如逆旅,一苇以航---软件工程实践总结&个人技术博客
|这个作业属于哪个课程|2021春软件工程实践S班|
:-: | :-: | :-:
|这个作业要求在哪里|软件工程实践总结&个人技术博客|
|这个作业的目标|回望 、总结 、个人技术总结 |
|其他参考文献|《构建之法》 |
课程回顾与总结
构建之法疑问的思考
-
疑问:
我在读到第四章两人合作时,在了解代码复审的重要性的同时也有一些疑问?4.5.3表明现在的复审方式大致为两种,伙伴复审:程序员之间互相复审以及团队复审:多人开会复审,而这两种方式都有自身的缺陷。我的个人理解如下,伙伴复审较为贴近日常,审出bug来,较为容易让人接受,自己不会有压迫感,更不可能为此争辩自己没有错。但是这样同时也不够正式不够全面,如文中所说这样不能持久、定时的复审,毕竟没有人愿意天天帮你。但是团队复审也存在问题,比如耗时,这对于一项需要经常展开的活动来说是致命的。而且,原本审查的工作在开会进行会让开发者觉得大家***难自己,也就是所谓的面子问题。因此,我有疑问,这两种方式该如何选择。现在的思考:
在这次的项目实践中,我充分感受到了代码复审的重要性,同时我也对如何选择有了一定的认识,我认为,可以在两者中取一个中间项,比如找一个团队中大家在技术上都信得过的人来负责这项工作。当然,每个成员一开始就要自审,否则工作量太大,个人自审+小组负责人统审+少许的团队复审,就可以达到很不错的水平了。 -
疑问:阅读到"16-8图:高科技被炒作的规律"与"16-9图:股票泡沫的几个阶段"时我有点吃惊,因为图与我近期关注的5g、半导体、芯片etf基金k线十分相符.这些高科技产品的走势,都是经历了19年的大涨,然后迎来20年的暴跌,且19年时简直把这些捧上天了。我觉得,诚然华为公司确实是国之骄傲,但是当时它还是被过分吹捧了。毕竟,一家公司想要独抗m国这是不可能的,而且我们的芯片技术落后了人家几十年,这不知道要花多久时间去追赶。如今,它们可能正处于作者所说的迷茫期,我只能简单理解股价涨久必跌的道理,但是不明白为这些新技术会有"迷茫期"这一阶段.
现在的思考:
技术的这个“迷茫期”,大部分是由于前一段的期望膨胀期,大家对于技术的期望过高,已经超过这个初具雏形的技术能给大概生活带来的优势。所以就是“期望越高,失望越大”,迷茫期就是在怀疑的阶段。 -
疑问:书中提到"因为颠覆性技术的市场还不存在",并且颠覆性技术的描述为“这是一门新技术,很不稳定,经济效益也未必确定。有很多未知因素:市场有多大,用户在哪里,有哪些竞争对手,成熟的商业模式是什么。我不太认同作者“颠覆性技术的预测往往是错误的!”的观点,的确谁也没想到今后手机、汽车这些的发展会这么迅速,但是我觉得这些都是个例。我们之所以觉得预测是错的,只是因为我们公众所能了解到的信息,都是一些无行业价值的,或者本来有商业价值但是大家都知道,也就变得无价值。我查阅了资料,人工智能以及区块链钱包都属于颠覆性技术,而且目前大家普遍看好如果说专家的预测存在偏差,是否意味着如今大家认为的"人工智能 大数据"这些是风口,我们还是应持保留态度?
现在的思考:
我们需要对大家一同热衷追求的事物保持一点的主观看法,虽然我也觉得人工智能类的技术就是下个时代的风口,但是,我们不能盲从,跟一些人一起夸大,甚至怀疑人类将会被人工智能替代。 -
疑问
阅读到3.2软件工程师的职业发展,作者提到,21世纪以来,中国大陆每年招收六百万大学生,其中的百分之十是在学习各种IT相关的专业每年大致有四十万到六十万左右的“职业软件工程师”进入工作岗位.我又翻到首页看了下作者更新第三版的时候是2015年,时隔六年,我百度了一下现在的数据,据统计中国目前有六百万左右从事开发人员。而且由于如今的从业门槛低增长速度不断增加,火爆程度愈演愈烈。从我最近关注的考研情况来看,就中科大软件学院,前几年还招收调剂生,而今年据不完全统计分数400+的人数已经超过了400。网上也传出了“内卷”这个词,承然,现如今没以前那么容易在这个领域混下去了,在这样的局势下我们的未来规划应该做出如何的调整呢?
现在的思考:
这个问题当时助教就回复过我,他说:需要不断努力,才能毫不费力。现在的我觉得这句话很有道理,当大家都在卷的时候你选择躺平,那你就真的一点机会都没有了,让我感受最深的就是考研,放手一搏,还有一线生机。- 疑问:
作者在书中提到“简单的说,软件的行为和用户的期望值不一样,就叫Bug,是否是Bug,取决于用户、开发者的不同角度。”,从这里我也有个疑问,用户期望跟软件开发的需求肯定会存在冲突,当我们围绕用户需求去设计开发这个软件时,需求得到了很好的满足,但是对于开发者往往达不到自己认为的标准,因为开发者觉得可以牺牲一些不必要的体验来优化性能。当这个行为与用户需求冲突时,这bug到底应该谁来背。有时我们可以引导用户取一个中间值,但是若是用户期望值跟软件优化产生极大冲突时,应当如何抉择。
现在的思考:
这个问题我还是没有遇到,对于它的思考也没有什么新看法。如果说有的话,那就是在实践中,我认识到了,我们应该作为开发者,站在用户的角度去看待这些需求,只有我们才会知道,这个期望与优化会有哪些冲突,又该如何取舍。
- 疑问:
在实践中学习到的知识
需求阶段
在需求分析阶段,我主要负责问卷的发布与收集。最后我们确定了我们的项目,大致定义我们产品的需求,一个类似于校园BBS的考研论坛。
设计阶段在设计阶段我的工作是后端团队一起讨论,包括数据库的设计,类图的设计,还有一些接口的规划。同时,我负责答辩所需ppt。
实现阶段
我们团队后端采用的是mybatis plus+spring boot框架,之前我并没有接触过,在星源同学的带领下,逐渐入门,然后开始自己写相对应的接口。
测试阶段
我的测试工作主要完成测试文档,在团队成员编辑好单元测试后,由我统一测试,并编写测试文档。
发布阶段
发布阶段学习到的是将自己的项目部署到云服务器上
理解与心得
这是我寒假的规划图,这次实践,主要也是学习了spring boot的使用,这次实践是我第一次团队完成一整个项目,总的来说收获很大,也对这个专业更明确了。但是 确实也很累。= =