格式描述
这个作业属于哪个课程 |
|
这个作业要求在哪里 |
|
团队名称 |
你的代码我的发 |
这个作业的目标 |
本学期的学习中收获的总结 |
Github地址 |
队员列表
姓名 | 学号 | 角色 |
---|---|---|
周昊 | 201731062333 | 组长 |
徐裴 | 201731062402 | 组员 |
黄啸风 | 201731062430 | 组员 |
李涵 | 201731062406 | 组员 |
颜依婷 | 201731062505 | 组员 |
周小萱 | 201731062601 | 组员 |
我的总结:
(1)Look Back at first individual assignment.
以前提问题的博客链接:我的第一次博客作业
回望第一次个人作业,我对于软件工程课程的想象和提出的问题:
重新阅读我之前的博客,看到了我学习这门课的初心:
“软件工程这门课将会记录我的学习,对我的学习起到监督作用,写下学习的过程更是在不断的勉励着我的学习。更重要的是这不仅是一门理论课,我们需要动手实践!我们无法改变之前的学习,但是我们可以做好现在。任何差距都是可以弥补的,只要你愿意为此花时间。”
也看到了之前在阅读课本之后,所提出的一些疑惑:
- question one :这是来自教材的 “第五章:团队和流程” 的问题,我的困惑是:随便找来的七八个人,在这里被称为“乌合之众”,但是真的是这样的吗?什么又才能被算作团队?
- question two :这是来自教材的 “第七章:实战中的软件工程7.2.8” 的问题,我的困惑是:在讲到学习所有经验的那里,提到在学习过去的经验的过程中要避免让过去的经验妨碍解决现在的问题。是不是就不去学习前人的经验了呢?
- question three :这是来自教材的 “第十二章:用户的体验” 的问题,我的困惑是:文中的茶壶问题,用户对于事物的需求?哪种创新设计又才会得到人们的认可呢?是不是创新与设计必须应该根据人们的需求来设计呢?
- question four :这是来自教材的 “第十六章:16.1.5” 的问题,我的困惑是:课本中开始写道“要成为领域的专家才能创新”,我们不断的学习拿学位为的是成为某个领域的专家,然后在最后又写道往往很多创意来自于“领域外”的创新者。这不就是矛盾的吗?既然外领域的人比此领域的专家更有创意灵感,那么“只有成为了某个领域的专家,才能创新”又有何意义?
- question five :这是来自教材的 “第十六章:16.1.6” 的问题,我的困惑是:书中说道“技术是创新的关键”,在后面提到了有些人把“功能的增加”和“技术的创新等同起来”,那么功能增加了是否就是真的做到了技术的创新了呢?
当时的自己也是信心满满的呢,加油~
(2)Try to answer my previous questions.
对自己提出的问题进行解答,并阐明。(是如何通过看书,实际,或者讨论弄明白的):
- question one :
现在看来,觉得自己当时对“乌合之众”理解有了自己的见解,而且现在我对“团队”又有了更深一步的了解。
网上的解释(百度百科)是:“乌合之众”就是比喻临时杂凑的、毫无组织纪律的一群人。“团队”就是由两个或者两个以上的,相互作用,相互依赖的个体,为了特定目标而按照一定规则结合在一起的组织。
现在我看来:举个例子,只是单纯的因为某些原因所以进行了组队。比如说就是单纯为了完成我们这门课的学习任务,然后再没有人进行组队的情况下,随便的找几个人进行组队。这是就是所谓的临时的凑在一起完成某个学习任务。因为真的想做好项目的人,会在之前就提前找人进行组队(这也只是我个人的看法)。在之后的项目确定,到项目进行,从α版本到β版本,如果不是一个真正的团队那么就会出现很多的问题。
那么我就来讲讲我的认识,我认为“乌合之众”就是很随意的凑到一起,刚开始并没有什么自己的目的性,别人叫你做什么,就以此为自己的目标,在之后也只是为了达到这个目标而草草交差,其做的东西的使用价值不大,因为大家的用心度可想而知。而团队会让几个人组在一起,使得所有人觉得在过程很有目标,很有动力的。他们都有相同的目标,相同的出发点(至少在协商之后会达成一定的共识),在实践的过程中,大家进行了周密的计划,不断地通过交流,互相的学习,自我学习以此弥补自身的不足,并努力发挥出自己的力量,到最后完美的完成了之前的那个目标。
- question two :
在进行实践的过程中,我也渐渐的认识到了这个问题,因为我们在一些自己不是特别熟悉的领域进行实践的时候,往往会遇到一些自己束手无测的问题,有些人喜欢去网上搜索已有的解决办法,但是有的人喜欢自己去专研解决。其实我在这个时候,第一反应就是求助,因为我自己搞的话,花费的时间很多,但是去查阅资料,去问别人的话会来的很快。但是我个人觉得,这其实并不好。但是借鉴是在所难免的。
如果是在紧急的时间段遇到了问题的话,我的建议是问别人和进行查阅,参看前人的经验,但是有的是时候,每个人下载的软件版本不一样,所处的环境不一样,有的问题也不会得到解决,甚至有的问题再网上你根本查阅不到。这个时候,在自己弱小的力量下,是很难快速的解决问题的,你就需要求助组员,毕竟人多力量大。在我看来我们这个阶段所遇到的问题,其实并不会太难,都是初级的学习阶段 ,其实我觉得现在网络上那些前人的经验对我们的阻碍作用并不大。但是不能养成那种一不懂就进行搜索的习惯,有时候反思一下自己为什么会报错,为什么没有效果,其实对自己的学习很有用,而且即便是在网络上看到了前人的经验(或者使用此方法解决了问题),一定要对问题吃透。还有就是,我觉得再解决问题之后做好记录其实是一个挺不错的方法,毕竟那么多的错误,你不可能一直记得,或许在过几个星期,就会忘记,做好记录,对于之后实践,可以节约相当大的一部分时间。
- question three :
其实在我现在看来,很多时候,至少是在初期的时候,我们是要根据用户的需要来进行的。因为那个时候,我们的能力水平并没有到达一个层次,对于市场的需求等等,不能做到很好的认识。那时候自己的见解并不深厚,有时候很容易做出错误的判断和决策。只有进行了一定量的累积,从质上有了改变。那个时候我们就会进行自主的创新,但是这并不是否认之前不能进行创新。在有一定的把握,技术达标,相信自己的宣传度,以及带有支持性的时候,我们是可以创造出需求的。那么在这个需求上我们又怎么会没有自己的创新和设计。这里想到了数据库老师讲的一句话:“现在我们所能够学习到的可能就是只有这些知识,但是说不定以后你们就会创造出新的知识和算法,那个时候我就会给我学生讲到,现在我们学习的这个知识是我以前的学生做出的。”这不就是这个问题最好的解释吗?
那什么样的创新设计才会得到认可,只要符合道德,合法,并且得到了一定范围的应用的,又怎么可能没有得到认可。达到用户期望是不可能做到完美的,就像软件,只要用心的做了,用户用着还行,真的解决了问题,并且对它进行维护,升级的软件的就是肯定会被人认可的。
- question four :
我对此的看法仍旧如初的坚持,并不是要成为领域的专家才能创新,创新任何时刻都可以,任何人也都可以。只是在创新一个东西之前,我们对自己索要创新的东西,哪个东西处的领域是肯定是必须要又一定的了解的,不然又怎么会有创新。只是一般在某个领域的专家,在学术上创造的东西的量会更多。
- question five :
对于这个问题我的观点也是没有什么改变的。有些时候功能的增加并不是创新,但是有些又算是。因为一个软件是必须要具备基本的功能的,有些人在此上添加的功能可谓是无用功(比如在一些比较正式的软件上),但是比如社交网站的新功能可能就会带来更多人的喜欢。这里必须要解释一下,什么是创新。(这里的创新是百度百科里面的解释)创新是指以现有的思维模式提出有别于常规或常人思路的见解为导向,利用现有的知识和物质,在特定的环境中,本着理想化需要或为满足社会需求,而改进或创造新的事物、方法、元素、路径、环境,并能获得一定有益效果的行为。这里有一个词很关键,获得一定的效益。所以综上所述,有些时候功能的增加并不是创新,但是有些又算是。
(3)Are there any new questions?
是否产生了新的问题?请提出:
在进行小组项目的时候,现实和计划的其实还是有很多的差别。那么对于这个有什么有效的解决办法呢?
在我们项目进行的时候,就自己来说,总是会觉得有时候自己的完成度很差,现实和计划的差别有时候还是蛮大的。虽然给与我们的时间已经是很充裕的了,但是自己在实践的过程中,觉得突发的情况还是蛮多的,导致自己对的进度相对来说比较慢。
但是最后在小组长的调节带领之下,觉得我们小组在项目的进行上面真的是比较的有序,每日的例会也是带来了很多的好处。
那么还有没有其他的有效办法可以解决类似的问题呢?
还有就是自己在学习的时候,总是觉得自己学习的东西在项目中的应用的效果比较差,有时候学习起来动力自然就减弱了。那么项目在进行的时候,进行新知识的学习,是一步一步的学习,还是先借鉴别人已经有的类似的案例呢?
这个也是我在进行小组项目的时候比较突出的一个问题了。
(4)what new skills have i acquired?
经过这学期的学习,你掌握到了哪些以前没有的技能,你是如何掌握的:
新的技能:
巩固了之前对于javaweb粗浅的学习,现在觉得恨过功能在是实现上遇到问题也知道大概是哪个方面的了。而且有些地方的实现上面,看到了自己的很多不足,有很多地方可以进行优化。
现在觉得其实每一个东西的实现方法有很多,但是其原理都是大同小异的,只是看你怎么写。
为了能够再进行项目的时候不那么的困难,我再此期间还对Java进行了学习(只是皮毛,语法之类的)。
还及进行了一些js代码的学习书写(虽然现在也只是粗浅的学习,但是发现先了自己下一步想要学习的内容~)。
How?
通过看一些图书馆借阅的书籍和看哔哩哔哩上面的教学视频,跟着教程进行的学习。通过小组人员的教授(效率真的很高哦,这样,速成~)
而且还明白了一个道理,一定要一边的学习,一边的尽行实践,因为有些东西是别人在敲,自己没有动手那些东西都是印象不够深刻的,而且学习的时候一定不能只是进行那一部分的练习,那样的学习效率也是不高的,需要自己进行一些独立思考的练习才行。
(5)What profound experience? And my conclusion.
有什么深刻的体会,对自己一学期学习过程的总结:
在此次的小组项目中,大家都真的很努力呢,也觉得自己有时候真的是很想早早的保质保量做完自己分配到的任务,但是每次感觉都做的没有完成的特别好,也觉得有点自责,但是组长和组员们都很热心,教我怎么我弄,给我讲怎么弄。很开心能够遇到这些伙伴,能够和他们一起完成这么棒的项目(至少在我的心中觉得我们做的很棒)。我真的要卯足劲把自身的技术能力给提高,觉得这方面真的很欠缺呢。
而且我现在认识到进行小组项目的时候,一定(必须)具备高度的自觉性,别总想着别人,也别拖着,感觉自己就有点,在这里批评一下自己,真的没有合理的安排时间呢,所以在最后的那段时间里面,我也在增强这方面的自觉性。
经过了此次的小组项目,我觉得其实自己的收获也是很多的。在和同学的协作上面,让我懂得了一定要对自己的任务守时,而且在进行项目的过程中,一定要有高度的自觉性,这一点是非常的重要的。在学习上面,我也是对之前的知识进行了很多的巩固。以前都是自己写写前端的代码,大那是这次被分到了后端,自己也进行了很多的实际的操作,真的感觉自己学到了很多那些所谓的那些实践之后的经验。
以前在进行学习的时候,我可能更加注重的是,自己需要把所有的知识点给学到,但是现在看来,其实那样的学习的效率并不高,因为你自己在进行学习的过程中,只是依靠视频里面所讲的那些东西,其实印象里对那些知识点是不够深刻的。但是如果是结合项目进行的学习,对于自己来说,知识点会吃的更加透彻,因为那些东西是自己在动脑去写,在思考,而且遇到的问题都是新的。(因为在视频里面的教学练习一般没有错误,都是别人调试好了的)