zoukankan      html  css  js  c++  java
  • 构建之法阅读笔记(一)

          学习软件工程这门课程已经有5周了,通过这五周的学习、实验、以及阅读我对软件工程这门课程有了一定的了解。下面就通过对《构建之法》这本书的阅读过程来记录下我最近的感受。

          通过课余时间的阅读,《构建之法》这本书我已读完前4章,通过对这四章的阅读,除了对软件工程的基本概念的了解外,我认为我收获最大的就是对软件工程师在公司的定位以及发展有了很大的认识。软件工程就是把系统的,有序的,可量化的方法应用到软件开发,运营和维护上的过程。软件工程包括软件需求分析,软件设计,软件构件,软件测试,和软件维护。同时软件工程还涵盖了许多其他学科。由此可见软件工程并不是我们平时所学的那些固定的计算机方面的相关知识,而是一种方法,一种方法的应用。它详细列出了一个工程是怎么设计完成的,在完成这个工程的过程中要用到哪些知识,要用到哪些方法。这些都是根据不同的工程有不同的详细设计,而我们所学习的就是将这些详细设计的方法进行总结归纳出来的东西。可以说是一种思想吧,他并不是一成不变的。

         通过学习软件工程这门课程以及阅读《构建之法》,我对以下几点印象深刻:

         首先是对BUG的概念有了新的更加正确的认识。我以前认为BUG就是软件的漏洞,故障,在软件进行正常运行时会出现不知名的错误。其实这种想法是不正确的,BUG是不能这样来定义的。软件行业有这样一句著名的笑话:(BUG)这不是缺陷,这是一个功能。所谓的BUG,对不同的对象来说是不同的。有的人对某个软件或某个功能的要求并不是很高,这样当他拿来一个简单的软件使用时,这个软件满足了他的需求,那么他对这个软件的体验应该是很好的,可是当另一个拿来用时,他对某项功能要求更高,但是他并不知道这个软件对他所设想的功能并不支持,那么当他使用这个软件是体验就会不好,他可能就会说这个软件有BUG,那么这个软件真的有BUG么?通过以上所述,就能大体上解释什么事BUG了。

        其次,我对个人开发流程有了跟明确的认识。卡内基梅隆大学针对软件工程师设计了一套模型——PSP(Personal Software Process)。最新的软件工程师的任务清单(PSP)是这样的:

     计划

        估计这个任务需要多少时间

     备注

     开发

        分析需求

        生成设计文档

        设计复审

        代码规范

        具体设计

        具体编码

        代码复审

        测试

     
     记录用时  
     测试报告   
     计算工作量   
     事后总结   
     提出过程改进计划   

    通过对这个表的阅读,我们能够清晰的了解到个人开发流程中应注意到的笔记录下来的东西的,这些东西能够不断提高我们的设计完成水平,同时这也是我们学习晋升的记录和凭证。所以说这些东西是很重要的。另外,在开发过程中的开发测试是更为重要的一件事,在此就不做太多的解释记录了,后面应该会有更为详细的阐述。

          下面让我们来看一下软件工程师是如何成长的:

                 1、积累软件开发相关知识,提升技术技能。例如对某一开发平台的掌握。

                 2、积累问题领域的只是和经验

                 3、对通用的软件设计思想和软件工程思想的理解

                 4、提升职业技能,包括:自我管理能力,表达和交流能力,与人合作的能力,按质按量完成任务的执行力,这些能力在各个领域都非常重要

                 5、实际成果。产品的展示和市场占有率等等。

    以上这几方面对一个初级软件工程师来说是很重要的。另外软件工程师的职业发展也有很多模式,但基于我们现在大学学生的身份,只有考级之路这种模式在一定程度上比较适合我们。我们可以选择其中现对来说有一定含金量的资格考试进行考级。

          第四章讲的是两人合作,这章的重点讲的是两人应该如何合作,两人合作的相关方法以及可能经历的阶段。这些对于现在的我们来说还是有一定距离的,当然的在老师的帮助下,我们也都体验了一把两人合作的经历。通过这次经历,我确实认识到两人合作开发的优势,但是我认为这些东西的开展建立在一定的基础上的。这个基础就是我们具备比较深厚的个人开发技术,只有这样,我们在进行合作开发时才能够从中收获到应该收获的东西,比如说合作的经验,合作的流程等等。当我们自身的开发能力相对较弱时,我们结对开发的过程中的重点反而不是合作,而是各自掌握相关的技术,这不就与我们最初的想法背道而驰,我暂时是这么认为的,可能不对,可能我没有更好的认识合作开发。反而在这章的学习中,我收获最大的是代码的规范,这是合作开发的基础。同时这对一个人的代码编写也是一种规范,一种能力的提升,我认为这方面的训练很符合我们现在的情况,因为我们的代码应该说是没什么规范。当然,对合作开发的介绍也非常重要,这对面临毕业的我们是非常好的指导,如果没有这部分的介绍,我们在工作之后肯定会经历更多的困难,我非常庆幸能学到这方面的知识。

          通过这5周的学习,我认为我收获到了很多东西,对以后就业也有了相较之前更为清楚的认识。对个人的发展有了较为明确的目标。这些都会在一定程度上减少我们在就业方面的紧张和压力。

  • 相关阅读:
    maven-eclipse 中index.html页面乱码
    java-Unsupported major.minor version 52.0错误解决
    eclipse引入httpServlet源码
    eclipse恢复默认布局
    eclipse导入Java源码
    bootstrap fileinput api翻译笔记
    js判断display隐藏显示
    php根据路径获取文件名
    js事件处理-整理
    Jms(消息中间件)两种消息传输方式QUEUE和TOPIC比较
  • 原文地址:https://www.cnblogs.com/seven-seven/p/5349856.html
Copyright © 2011-2022 走看看