第0次作业
一、First项目地址:https://git.coding.net/Jingr98/First.git
二、http://mindhacks.cn/2009/05/17/seven-years-in-nju/《我在南大的七年》读后所想
读了刘未鹏先生的这篇文章,我开始审视自己写博客的方式,重新让我有了坚持写博客的打算。刚刚步入大二的时候,在学长学姐们的建议下我注册了一个博客账户,当时并未体会到写博客带来的收获,开始的时候只是顺手记下一些东西(甚至就只有复制黏贴),因为没有体会到此举的意义所在,就不再坚持了。现在回想,大概是因为自己没有好好地写过一篇博客,没有想清楚自己为什么要写,想要记录下哪些东西,这些东西对于我个人未来发展有什么用处。当我开始思考这些问题时,原来简单的记录工作就变得不一样了,我需要对自己的所学进行整理总结,有所选择地进行二次整合,思考哪些东西值得我记录以及我想给别人展示什么东西。写博客不仅是一个记录的过程,也是一个思考所学、知识升华的过程,“温故而知新”,引发更多的思考从而延伸出更多知识。另外,我们也可以以博客会友,结交一些志同道合的小伙伴,相互交流学习,共同进步。总之,要认真写博了。
问题1:你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢?
当初选择志愿时,有几个原因促使我选择了计算机专业。一是因为我在日常生活中最直观的感受。当下科技的进步和信息事业的迅猛发展,尤其是计算机技术的发展与网络应用的逐渐普及,计算机已成为人们工作和生活中不可缺少的东西。所以我想要学习计算机,想要了解计算机是如何影响和改变我们的生活的;二是我认为从事IT行业是一件很酷炫的事情。智能化已经渐渐融入我们的生活,随着智能化时代的到来,互联网与人们的衣食住行越来越紧密结合,除了享受科技带来的震撼外,我想要参与其中;三是IT行业迅猛发展,就业工作岗位也比比皆是,未来发展前景也很好。
目前我已经度过了两年的大学生活,在整个学习过程有了一定的自我认知。可以按要求完成学习任务,自学能力也不错,如果树立了目标,可以长期坚持地向目标方向努力,尽力去完成。跟这些博主相比,我有很多有待改进的地方。自我反思如下:一是做事缺乏计划性和时间观念,在没有时间规定的前提下去完成一些事情难免会伴随着惰性,这样一来进步的空间就变小了;二是缺乏强大的自制力,在某些时候不能严格要求自己,也许在那些看似是终点的地方还可以再往前走一步。
问题2:你理想的大学应该是什么样子的?
这个问题真的让人有太多想法了......
作为一名大三学生,现在回想自己没上大学前的想法,那时我理想的大学简直就是偶像剧里的样子,或者是说偶像剧误导了我对大学的认知。那时我对大学有很多幻想,住在有沙发有空调的豪华公寓,参加各种各样的社团,结交五湖四海的朋友,和朋友骑着自行车闲逛……总之描绘了一种很惬意闲适的大学生活,想了很多,唯独没有思考大学里我的学习生活会是什么样的。现在看来,自己真的是该想的没想,不用想的想了一大堆。
现在我理想的大学生活,大概是围绕着自由。时间支配自由,没有了高中繁重的课程任务,有了更多的空闲时间,可以做自己想做的事情;课程选择自由,最开心的莫过于你走进大学里的任何一个课堂都是被允许的,可以学习自己感兴趣的;个人发展自由,大学生活丰富多彩,有各种各样的讲座,有百家争艳的社团,你可以遵循内心做选择。
问题3:对于你未来在IT行业的发展,你有什么样的梦想或者未来想从事什么样的工作?你准备怎样来规划你技术道路,职业道路和社会道路?
我想在未来从事有关人工智能方面的工作。可能对于目前本科阶段来说,学校为我们提供的平台有限,有关人工智能、数据挖掘、机器学习、深度学习等较前沿方面的学习资源和硬件设施匮乏,所以想要深入学习相关知识是有一定难度的。但是知识也是慢慢累积的,本科阶段本就是夯实基础,在充分了解这个领域后选择适合自己发展方向的一个过程。所以我计划目前阶段学好基础专业知识,为未来更深入的学习做好准备。另外利用网上优质资源进行自我学习,理论与实践相结合,丰富知识的积累,开拓视野。
三、有关《构建之法》的五点思考
1.在第3章有关软件工程师的思维误区部分讲到:我们产生思维误区的原因是因为在软件开发的过程中, 软件的各个模块之间存在着各种复杂的依赖关系,然而这些依赖关系很难定义清楚。在我自身的学习实践中,对问题的分析也确实出现了这样的思维误区,甚至可以说一个团队中有的人“想的太多”,有的人“想的太少”。虽然我也知道这样是不正确的,但是又很难避免。所以我想问在实际的软件开发分析工作中如何能在对依赖关系的两种极端态度中找到一种很好的平衡呢?或者说我们可以提前做些什么工作来避免产生这些思维误区?
2.在第12章讲用户体验和质量的关系时,书中用GE公司的一个小例子说明当用户体验和产品质量有冲突时我们该如何在两者之间进行取舍,在特定的场景下我们可以牺牲一些产品质量来换取用户的良好体验。那么根据这样的观点,是不是可以认为用户体验在软件开发的过程中占据很重要的地位,虽然它跟软件的功能用途关系不大,但在某些时候却可以影响软件设计的整个走向?
3.在第2章提到了单元测试,讲述了在团队合作时利用单元测试可以避免软件的很多错误,并且各个成员负责的模块功能定义明确、各个模块间互不影响,从而保证了模块的质量。在我的经历中,进行团队合作时往往省略了单元测试,只是在开发前每个人根据自己负责的模块写一份详细的说明文档来方便自己和他人熟悉代码。所以我想问,如果每个人能对自己负责的模块写份详细的说明文档,是不是就可以不用进行单元测试了?因为在后续软件开发完成时团队还要进行详细的测试工作,那么在这个阶段是不是可以用说明文档代替单元测试工作?
4.第8章讲了很多需求分析的方法,跟我以往所了解的方法相比,更加的全面和细致。我的困惑在于应该如何对调查完的结果进行分析。倘若用户的意见种类多且比例分配相差不大时我们应该如何取舍?可不可以简单地定义一个比例做参考,当用户的意见人数达到这个比例时我们才采纳,这样做会不会影响需求分析结果的准确性?
5.第6章讲了有关“敏捷”的一些概念,我在读敏捷开发的原则时有一些困惑:“敏捷”是基于时间提出的吗?加快开发进程、缩短开发时间是不是就是在进行敏捷开发?“敏捷”大旗下几种软件开发方法论的最终目的都是在提高开发速度吗?那如果团队要进行敏捷开发,是不是要以开发人员的时间与精力为代价?