构建之法读后感

 本科时选择计算机是受之前的学长学姐的影响,他们学习的是计算机相关专业,毕业后都进入了很不错的公司,有一份让人称羡的工作以及不错的薪酬,而且会做很多特别厉害的东西,当时就觉得计算机特别厉害,我要是能把这个学好,以后肯定也会有所成就。大学四年,在校期间学习了很多知识,对于编程,软件开发,计算机现阶段的发展以及未来前景有了不少自己的认识和见解。但由于自己还处于出具阶段,对于编程知识处于“会” 的阶段,并未达到精通级别,而且解决特定问题的能力很欠缺,因此决定继续在计算机专业进行更加深入的学习和研究,以丰富自己的学识,同时,也是希望能提高自己的技术了,未来毕业之后能够从事相关的工作,并做出一定的成就。

  谈到我所擅长的领域,其实是比较惭愧的,一直以来我认为自己是动手能力比较差,但学习理论知识比较强的一类学生,这也是导致我现在编程能力差的一个原因。本科毕业做的是数据分析相关工作,导师认为我是一个比较细心,仔细,考虑事情比较全面的人,所以建议我在研究生阶段做一些数据挖掘,分析之类的相关工作,我也认为自己比较适合此类工作及研究。希望自己能在这一领域做一些贡献。

  我认为作为一名合格的计算机专业的研究生 。首先,精通一两门编程语言是基础,编程作为一种技能,工具,是所有工作的基础,研究生因能够很容易的去编写需要的程序及软件。其次,应该对自己所研究的方向技能达到精通程度,能够运用自己所学知识决解相关问题,最好能够有自己独特的方法和能力,做一些项目,做出实质性的贡献。最后,科研方面,尽自己的能力,发表几篇有质量的文章,有一定的学术研究能力。这些对于刚入学的我来说,还是有些困难,我觉得自己离这个目标还是有很大的差距的,我希望自己能够在研究生学习生活结束之后,在这几个方面都有所成就。

  由于我本科阶段学习的是计算机专业,对该专业的知识有一定的掌握和了解,有自己的知识体系,同时,也对该专业的学习方法有一定的经验和心得,这方面是我的优势。然而本科时动手能力不强,自己写过的代码还是偏少,没有很好的专业技能积累,这是我落后于其他同学的地方。

  正如上面我所说的,一个合格的研究生应该具备的能力和技能等,我对于自己未来三年也有一个大体的计划,希望自己能尽量向 合格研究生的方向靠拢。具体来说,研一期间,主要以上课为主,学习好各门课程,完成好老师的项目,在此基础上,阅读大量的文献,扩大自己研究方向方面的知识域,获取更多好的研究方法和好的思想,为自己日后做项目,写论文打下良好的基础。研二期间,主要以做项目为主,尽自己的能力去做一些项目,研读文献,开始做科研,写文章,发表论文,充实自己。研三,希望能够找到好的公司去进行实习,让自己做到真正的学有所用。

 刚开始拿到《构建之法》这本书的时候,感觉内容确实很多,老师要求读两遍再写读后感,我顿时觉得头都大了,这要看到什么时候?老师说可以把这本书不要当作教材来读,我刚开始不太理解,当我读了几页之后才发现确实跟我平时读的教材是不一样的,作者以简单有趣的文笔来向我们介绍了软件工程相关的知识,作者举的例子新颖,语言风趣幽默,道理却深入人心。

  作者介绍到 软件=程序+软工,这种思想我在之前做项目的时候深有感触,由于之前学习过软件工程这门学科,与团队一起完成过相应的项目,所以对软件开发的流程有一个全面的了解,一个复杂的软件不仅需要有合格的软件架构,软件设计与实践,还要有各种文件。我们当时开发的时候确实撰写了一系列的文档,包括需求文档,概要设计文档,详细设计文档,测试文档,测试用例等等,虽然写了闻到那股,做了软件,但对与撰写的文档 有何作用,实在没有深刻的理解,然而在读构建之法这本书的过程中,我逐渐了解到了文档的作用,以及软件开发和用户之间不可割裂的关系。软件 需求始于用户,也被用户所使用,用户始终贯穿于整个开发过程,脱离用户需求开发的软件是不能被接受的,也是无用的。

  同时,作者认为软件企业=软件+商业模式,一个好的企业,一定是能够开发出好的软件应用的企业,同时也是具有完整商业模式的企业,两者相结合,企业才有发展的潜力,才有未来。

  软件开发是一个集复杂性,不可见性,易变性,服从性,非连续性于一体的开发过程。软件的开发是复杂的,它需要一个团队相互协作,分工明确,按流程,按计划进行;软件开发的整个过程是不可见的,我们不能直接看到所开发的软件,唯一能看到的是已经能够进行使用的应用程序或者代码;软件开发过程不稳定,团队中每个成员的进程、用户需求的变更、资金预算情况均会对开发过程产生巨大的影响;软件开发过程要严格按照开发流程来进行,用户需求改变之后,项目负责人对程序员的要求也会改变,软件开发人员要服从这些要求,进行有效开发;开发过程并不是一帆风顺的,会出现各种始料未及的情况,导致断断续续。我们要对软件开发的特性进行全面的认识,开发出可用,能用的软件。

  读完这本书,我对软件工程这门课的重要性有了更深的认识,以前我们只是将开发重点放在写程序,写文档上面,没有认识到用户的作用,以至于开发出的软件不能用。这本书向我们不断强调用户,团队沟通协作,人与人交流的重要性,注重人的作用,让软件设计和实现建立在人的需求之上,是我们每个开发软件的人应该学习的一本书。

  感谢作者能够为软件工程这门学科带来如此深刻的见解,让我们不仅学习到软件开发的知识,同时享受到阅读的乐趣。谢谢!

  

posted @ 2017-09-17 18:10  秦晓凤  阅读(125)  评论(0)    收藏  举报