【软工做业&思考】关于软工的一些概念性理解暨第一次阅读做业html
其实呢,之前自己我这块不存在特别多的直接疑惑,毕竟之前本人有过至关的项目实践经验,对有些事情仍是相对了解的。设计模式
既然如此,那在这里笔者就简单说下以前的问题在本学期中所面临的一些真实情况。安全
这块的话,咱们团队总体作的还算能够。分工相对明确,你们都有必定的热情和积极性。并无出现寡头垄断的状况,因此天然也不存在后续的崩盘之类的。多线程
这部分的话,咱们团队内各自对这个项目,以及这个项目中本身的得与失,还算是基本拎得清的。总而言之总体上合做愉快。架构
笔者以前的话,其实在多个技术团队作过事情,基本上没啥问题。app
可是,以前的团队无论怎么说,协做者都是有着至关完善的工做经验的。而在软工课程中所面对的这个团队确实一群完彻底全的学生。因而在不少地方就存在了思想上的冲突:工具
这样的矛盾其实很显然,虽然我某种意义上大概能理解为啥不少人会有这样的学生思惟(实际上很早之前的我也差很少,只不过经历的比较早而已),可是不少时候为了更长远的利益,却又不能妥协。然而讲道理却又不是何时都能行得通的,毕竟视野深度和广度存在明显的代差。单元测试
因而在这样的状况下,如何和具备代差的人相处并作好事,就是一个亟待思考的问题了。学习
正如笔者在前面的博客中所写:测试
世上只有利益上相互依存的关系,才多是稳定的关系。
同时,基于上面一点的论述,不难发现技术段位差距较大的人,已经容易存在眼界和视角上的代差。那么在现实的组织架构中,一个高层管理所能看到和察觉到的问题,可就和下层的人相比起来差异大了去了。
因此,在这样情报严重不对等,甚至不少时候连深层的信赖关系都难以达成的状况下,能依赖的惟一纽带就是共同的利益关系。或者也能够说,正是由于不少的下层人员与上层所共同考虑的问题也基本只有利益(996事件中,大部分基层程序猿的发声,基本逻辑都是如此),因此利益也是最靠得住的一种纽带。
那么问题来了,在这样严重不对等且没有信赖关系的状况下,利益共同体该如何达成?是否有一些通常性的思路。
先说说我的目前的一些粗浅认识,思路有两种:
综上,实际上在上下级这一层的关系维系上,是存在这样一个很尴尬的僵局的。因此,这块应该仍是须要一系列更成熟的思路和解决方案。还望不吝赐教。
一样的,实际上在合做方之间,也会存在这样的一层问题。
简单来讲,人家也有人家的利益。人家不可能由于你胡吹出来的那点所谓的“情怀”、“信仰”,就来和你谈合做,由于人家也是人,也得吃饭,也和你同样没有太多的时间作无心义的事。
和上面一条基本相似,此处再也不作详细描述。
首先,需求层面,须要从两个角度来分析:
在需求层面基本明确的状况下,那么设计也就该提上日程了。
设计也分为几个层面:
实现这块,则须要在总体架构设计相对明确的状况下进行。
此外,在实现的过程当中,最好伴随着主干功能的实现,一并将单元测试也进行实现。
除此以外,还须要在开发实现的过程当中,注意后续的可维护性(实际上我的感受开发与维护这块自己就是一体的)。
本学期对我而言,实际上只至关于把之前作过得事情再次弄了一遍。惟一一点比较重要的差别,在于此次的团队配置和之前大不同(前文有说到)。因此能总结的内容其实颇有限。
不过实际上,笔者也在思考这个课程的一些得与失。同时,笔者也在这个学期当OO的助教,对有些问题也算是有那么一些略微的认识,在这个部分我就着重说下这方面的问题吧。
首先,这个课程是一个只有一学期的课程。并且一学期时间,涵盖了三个阶段,包含了那么多个环节。
老实说,以我以前作创业项目的实际体验来看,除特殊状况外,通常不会有周期如此之短的事情。
并且这样的短周期还会带来另外一个问题,那就是不少要素的重要性的体验严重不足。例如:
实际上,在OO课程哪边,也同样存在相似的问题。OO和软工的一个共同特色,那就是有些内容是很概念化抽象化的,与其说是技术技能倒不如说更像是概念机能。在短周期内想作到这件事,并不容易,甚至必定程度上,软工比OO面临的形势只会更加严峻。
在这样的环境下,如何把握好整个周期,如何把有些该体现的内容充分体现出来,让学生在学习过程当中把这些内容落到实处而不是流于形式,则是须要课程组好好考虑的问题。
如题,不少的指导仍是偏向了理论,和实际操做的结合有必定的错位。这就致使一些组或者我的,到了必定阶段会开始陷入很大的迷茫,并且尚未办法经过理论课的讲解来进行补足。
其实,这件事说来并不能全怪这门课程。学生在学习这门课程以前,实际上一些前置知识仍是比较匮乏的。好比一些考虑问题的基本方式,以及一些架构布置方面的基本功(这块2016级及以上会表现的比较明显,由于OO这块的总体学习质量不够好;相比之下2017级,也就是明年开始,由于今年OO大规模课改,同窗们的这块能力会有明显的好转)。因而实际上,咱们的指导须要分为几个阶段:
personal development
to team-working
programming
to coding
, and then to developing
and producting
doing homework
to exploring
and creating
其实OO也有相似的一些过程:
今年所采用的模式,是两部分交织着进行。在第二单元多线程结束后基本完成起步阶段的教学,可是正轨部分实际上第一单元就开始了。保证学生作到不至于养分不良,也不至于养分过剩,饭一口一口吃,事情一点一点作。到了起步阶段彻底结束的时候,一多半的同窗已经具有了完整的架构思惟,剩下的就是不断优化追求卓越了。
因此建议课程组也在这个问题上多下一些功夫,要切实了解起来学生的真实状况。
如题,实际上助教在同窗这边的存在感实在是很低(相比于机组和OO课程而言),一整个学期除了通知消息以外基本见不到助教出没,甚至通知消息也都是高阶助教一我的在不断的通知。
助教,实际上是个很微妙的职业。说微妙,其实缘由以下:
助教的这一特色其实很微妙,老师、学生,都总体上缺少某一方的资源,而助教却彻底有这种可能打破资源时空分布不均的困局(甚至部分比较厉害的助教本身一我的就能完整的掌握两头的情报)。
因而,我的认为,助教的一个职责就是——充当起师生情报传递的桥梁。
若是追求更深层次的话,那就是——基于双边的情报,优化双边资源配置,一达到一个全局更优的解。
因此,其实建议助教们看到这句话也能好好思考一下。我相信助教们也都应该是有志于改进整个课程的人,那就好好思考思考我说的这些,想一想看本身到底该作点什么,而不是只是一味充当苦力,或者干脆只是一个传话筒子(并且搞很差仍是单向的)。