第一章:概论

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

提出问题:什么是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. Sublime Text 3安装及常用插件安装

    一.Sublime3下载 1.百度搜索Sublime3 download,选择进入下载页面 2.我选择下载Win64位安装程序 二.Sublime3安装 傻瓜式安装,一直点下一步即可. 三.Subli ...

  2. MyCat不适用场景(使用时避免)

    1.非分片字段查询 Mycat中的路由结果是通过分片字段和分片方法来确定的.例如下图中的一个Mycat分库方案: ·        根据 tt_waybill 表的 id 字段来进行分片 ·      ...

  3. Cookie、sessionStorage与localStorage的区别

    (1) sessionStorage 保存数据的方法: SessionStor.setItem(“key”,”value”) 或者写成 sessionStorage.key=”value” 读取数据的 ...

  4. JavaScript高级程序设计学习(二)之基本概念

    任何语言的核心都必然会描述这门语言基本的工作原理.而描述的内容通常都要涉及这门语 言的语法.操作符.数据类型.内置功能等用于构建复杂解决方案的基本概念.如前所述, ECMA-262通过叫做 ECMAS ...

  5. <转>大型分布式网站术语浅析

    夜半睡起看书,看到一篇关于分布式网站性能优化术语的文章,个人觉得不错,分享出来... 原文地址:大型分布式网站术语分析 一.I/O优化 1.增加缓存,减少磁盘的访问次数. 2.优化磁盘的管理系统,设计 ...

  6. java.lang.UnsatisfiedLinkError: No implementation found for int com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create()

    完整异常: Process: com.example.ai.tabhostdemo, PID: 1287 java.lang.UnsatisfiedLinkError: No implementati ...

  7. Java字节码里的invoke操作&&编译时的静态绑定与动态绑定

    一个一直运行正常的应用突然无法运行了.在类库被更新之后,返回下面的错误. Exception in thread "main" java.lang.NoSuchMethodErro ...

  8. 在项目中,多个方法会调用相同的sql语句,怎么解决各个方法的不同sql查询,解决冲突。

    公司的代码中sql语句,可能会被多个方法进行调用,但是有的方法会关联到别的表,这样的话,如果修改不当,那么同样调用该sql语句的方法,会出现报错. 最近做的公司的一个功能,就出现这样一个问题,虽然本功 ...

  9. VSCode Install Go

    首先是VScode官网下载:https://code.visualstudio.com/ 然后在电脑上安装go的环境 如下图在VSCode上搜go的插件进行安装: 推荐:vscode-icons这个插 ...

  10. RDLC报表显示存储于数据库的图片

    图片以二进制存储于数据库表中.在显示RDLC报表时,把图片呈现出来. 好吧. 把存储过程写好: CREATE PROCEDURE [dbo].[usp_File_Select] AS SELECT [ ...