第一章:概论

本章主要是讲了软件工程的基本概念,软件工程的最终目标是创造“足够好”的软件。

提出问题:什么是BUG?(出自1.2.5节)

答:就我个人而言,在许多游戏中也有许多的BUG,BUG这一词在网络游戏中属于高频率的词,中文意思就是“漏洞”,在游戏中这些BUG漏洞往往会带来给玩家很大的伤害,会造成游戏的不公平,游戏也是个大型的软件,所以一个游戏每个星期几乎都会进行维护更新,主要就是修复这些游戏里的BUG。而书中所说,BUG,简单地说是软件的行为和用户的期望值不一样,就叫BUG。通俗易懂,BUG会在一次次测试中出现,一个程序它可能是一个人写出来的,也可能是一个团队,或是更大的团队,即使如此,但当他投入市场给用户使用时,面对的就是更大的群体。人各自有各自的想法,在使用你的软件时就会有不一样的看法,就会产生BUG,所以我们编写软件的人或团队,要虚心地收集用户们的BUG,最后让做的软件更加地接近于用户的满意值,这样的软件才能做的长久。

第二章:个人技术和流程

提出问题:什么是单元测试?(出自2.1.1节)

答:在我看来,测试是一个软件必不可少的环节,而单元测试我初步理解是设置一个适用于“一个问题”的测试方法,即这个方法适用于你输入各种数据,测试是否符合标准。我曾在深圳一家外企“昱科环球”里做过一个多月的暑假工,在里面我是做操作员。这个公司是做计算机硬件的公司,主要是做存储数据的碟片(西部数据),而操作员也有着很多不同的分工,一个空磁片要经过拆封,清洗,润油,打磨,紫外线照射,测试,包装。每个环节都需要学习了相应知识的操作员,而我恰好被分配到了测试的环节,其中测试的环节是最为重要的,这决定了一个磁片是否能达到正常的指标才能包装销售。每个操作员都要经过一个星期的学习进行考核后才能有资格进行操作。在测试环节中是一台台机器在进行测试碟片,整个无尘操作间几乎90%以上是机器在运转,当然机器也是人做的,每台机器都有两台电脑,每个进来的碟片都要进过物理测试(Glad)和性能测试(Mag),符合规定的指标才能出厂。我认为每台机器就像是个单元测试。而我觉得软件的单元测试虽然没有这么大型的机器,但性质是差不多的。

在百度上找到了官方的定义如下:

单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序list 中去,然后确认该值出现在list 的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。

第三章:软件工程师的成长

提出问题:现在的我具备了一个软件工程师的能力了吗?(出自3.1节)

答:衡量自己的能力是成长非常重要的过程,人要有自知知名“知己知彼方能百战百胜”。现在的我若像书中扭魔方的例子,觉得自己还在第一层,还在基础层,现在的我基础还不是很牢固,所以要更加努力地打好基础,为以后人生的道路做好铺垫。所以,现在的我显然是还不具备一个软件工程师德能力的。

第四章:两人合作

提出问题:如何在两人合作中提高工作效率?(出自4.6节)

答:在练习二中,我与我的小伙伴进行了结对编程,收获了挺多。一开始,两人要提出各自的看法,互相尊重对方的建议,写出初步的方案(像书中的萌芽阶段);之后在写代码的过程中会出现意见分歧,要控制好自己的情绪,把各自的意见进行比较,或者结合两人的意见提出新的思路(像书中的磨合阶段)。最后在程序敲完之后会要进行测试,一些代码格式的规范,漏洞问题,或是新的idea,都可以在这一阶段加入进去(规范阶段),最后完成程序(创造阶段)。做好这四个环节,我相信能很有效地提高两人合作的工作效率。在两人合作的过程中,我很享受其中的过程,乐在其中。所以,有个好心态去做事情也是不错的。

第五章:团队和流程

提出问题:团队软件开发是用什么模式好呢?(出自5.2节)

答:书中提供了很多模式,有窝蜂模式,主治医师模式,明星模式,社区模式,业余剧团模式,秘密团队,特工团队,交响乐模式,爵士乐模式,功能团队模式,官僚模式等等。那么多的模式让我很困惑,如何选择相应的模式才能使团队开发顺利的进行呢?他们在不同的模式中又是如何分工的呢?

Practice3 阅读《构建之法》1-5章的更多相关文章

  1. 20150409作业3 阅读《构建之法》1-5章 (Update:2015-04-16

    以下是我看<构建之法>1-5章列出来的知识点和一些自己对部分知识的理解以及一些吐槽...和感受 1.1 软件 = 程序 + 软件工程 (软件工程 = 软件 - 程序(我知道软件是什么,也知 ...

  2. 2nd 阅读构建之法有感

    阅读构建之法有感 利用这一周的时间,我大致了解构建之法一书,这本书带我走进了一个全新的领域.它让我以一种新的视角去了解软件产业的发展和工作,领略软件工程的独特魅力,更给出了简单易懂的方式去理解何为软件 ...

  3. <构建之法>第十三章到十七章有感以及这个项目读后感

    <构建之法>第十三章到十七章有感 第13章:软件测试方法有哪些? 主要讲了软件测试方法:要说有什么问题就是哪种效率最高? 第14章:质量保障 软件的质量指标是什么?怎么样能够提升软件的质量 ...

  4. 阅读<构建之法>第三10、11、12章并提出问题

    <构建之法>第10.11.12章 第10章: 问题:对我们了解了用户的需求后,但是我们想法和做出来的软件会和用户的需求有偏差,比如风格.界面的修饰等等,那么我们程序猿怎样才能让自己的想法更 ...

  5. Week2-作业一——《构建之法》三章精读之想

    Week2-作业一——精读<构建之法> 前言 其实我本人是不经常看书的,电子书倒是看了不少,实体书真的不经常看,但是为了这次作业的需求,我还是选择静下心来阅读一下这本<构建之法> ...

  6. SE_Work1_阅读构建之法&项目管理实践

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求:阅读<构建之法>并回答问题 个人博客作业 我在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作 ...

  7. <构建之法>第十一章、十二章有感

    十一章:软件设计与实现 工作时要懂得平衡进度和质量.我一直有一个困扰:像我们团队这次做 男神女神配 社区交友网,我负责主页的设计及内容模块,有个队友负责网站的注册和登录模块,有个队友负责搜索模块,有个 ...

  8. c++生成算式并计算(《构建之法》第一章课后第一题)

    c++实现计算器(自动生成算式并计算) 要满足的需求有以下几个: 自动生成随机的四则运算算式,包含括号和小数. 对生成的算式计算出结果. 算式.结果分别存储到不同的文件. 一 生成算式 由上述需求可知 ...

  9. Practice4 阅读《构建之法》6-7章

    关于第五章后面的阅读已经在Practice3中有所感悟,下面是6-7章的读书笔记. 第6章 敏捷流程这一章讲了“敏捷流程”这一概念,关于这一名词我是很陌生的,在阅读之后有了一定的理解.敏捷流程是提供了 ...

随机推荐

  1. 【阿里八八】团队Alpha博客链接目录

    团队Alpha冲刺博客 阿里八八Alpha阶段Scrum(1/12) 阿里八八Alpha阶段Scrum(2/12) 阿里八八Alpha阶段Scrum(3/12) 阿里八八Alpha阶段Scrum(4/ ...

  2. File类_深度遍历文件夹_练习

    遍历指定目录下的所有文件和文件夹 import java.io.File; public class FileTest { public static void main(String[] args) ...

  3. 2257: [Jsoi2009]瓶子和燃料

    题意:给你n个数字,然后让你选出k个,这k个数字进行任意组合,问得到的最小结果是多少? 数学知识: 分析:根据题意得出数学公式: 那么,如何在n个之中选出k个呢?其实不用选,因为直接计算各个因子,然后 ...

  4. 一个非常好的php实现手机号归属地查询接口类

    前一阵子看到了一个非常好的php手机归属地查询的类,写的很精简,查询也很精确!大致代码是这样的: <?php header("Content-type:text/html;charse ...

  5. 容器中JVM获取真实的CPU核数

    容器中JVM获取真实的CPU核数 基于 libsysconfcpus的方案,可以为各个版本的JDK提供一个通用的解决方案. libsysconfcpus.so的原理是截获JVM获取CPU核数所用的系统 ...

  6. MetaMask/sw-controller

    https://github.com/MetaMask/sw-controller Service Worker Controller Used to register a service worke ...

  7. <mvc:annotation-driven />注解意义(转)

    文章转自http://elf8848.iteye.com/blog/875830 http://www.cnblogs.com/shuo1208/p/5552134.html 暂时只知道对json的支 ...

  8. leetcode538. Convert BST to Greater Tree

    https://www.cnblogs.com/grandyang/p/6591526.html 这个题本质上是中序遍历的反向.中序遍历是从小到大,而这个题目是从大到小,然后每个数加上比自己大的所有数 ...

  9. UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 1: ordinal not in range(128)

    对于写python的人来说,这个异常一点不陌生,只要涉及到中文字符串的操作,一不小心就会出错.关于这个问题的解释,找到一篇好文,分享一下. 原文地址:https://blog.csdn.net/u01 ...

  10. Android逆向学习资料

    Android逆向基础之Dalvik虚拟机: https://lyxw.github.io/archivers/Android%E9%80%86%E5%90%91%E5%9F%BA%E7%A1%80% ...