Week2-作业1 《构建之法》1、2、16章观后感
这几天阅读了《构建之法》中的几章,受益匪浅,刷新了很多我对软件工程的认知。这本书让我很惊喜,阅读起来不像其他书一样枯燥,有很多人物的设计,以及对话的形式,非常有趣。
第一章、概述
读完第一章了解了软件工程具体是什么,以及它与类似计算机科学等的区别,还有对bug的定义,以前觉得软件工程和计算机差不多,看了书过后才发现其中的不同,一个比较偏科研,一个比较偏实践,悟清了许多之后,还有一些不太能明白的问题:
问题1:
我看了这一段文字 “中国大陆的高校中大致有下面三种将计算机软件的机构:计算机科学与技术系或学院、软件学院、软件工程系或学院”,我还是不太能明白这三个的区别,在阅读后我了解到了软件工程和计算机科学的区别,但是软件和其他两个的区别还是很模糊,特别是软件学院与软件工程学院,我们总是将它们是看成一体,书里说“软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。”而“软件=程序+软件工程”,那么软件工程系对于比软件的亮点在哪里呐?软件工程为什么不是和程序相交叉的东西,而是可以分离的两个内容?
问题2:
我看到“如果一架民用飞机上有需求,用户使用它的概率是百万分之一,你还要做这个功能么?你会选择:1.根本不考虑 2.如果没时间实现这个功能,就算了 3.做了,但是不告诉用户 4.做了,而且不厌其烦地告诉用户如何使用”,第一次看到这里的时候我毫不犹豫选择了4,但当我看完了第十六章后,又有了一个困惑,因为很多东西做出来,不仅要考虑市场需要,还要考虑效益,还有其他许许多多一系列的问题,那么如果一个功能用到的概率几乎为零,那么考虑到效益以及人力,我们究竟需不需要做这个功能呢?就像我们吃烧烤,烧烤是会致癌的,但是几率也很小。有很多创新功能其实是可以更好地服务,但是成本很高,用到的几率又小,我们该怎么选择?
第二章、个人技术和流程
看了第二章了解到个人开发需要做什么,看过才体会到软件工程真的是很复杂,各种测试,不仅仅只是写代码而已,每一类都需要测试,这样才能保证在之后如果有问题出现能够更加快捷地找到错误所在。
问题1:
在看完了单元测试后,单元测试是无论哪个程序都需要吗?简单的程序也需要吗?我感觉单元测试是很麻烦的,细化到类。我看了一些资料后发现当今程序员并不是太爱写单元测试,那有什么现实的缺陷?
问题2:
在看到“单元测试应该集成到自动测试的框架中。”我不太明白在这么复杂的情况里如何自动化呢?这样会不会引出其他的错误?
第十六章、IT行业的创新
看过这一章了解到创新在IT行业的困难,以前一直以为创新都是很受支持与推崇的事,没想到却有这么多绊脚石,现实要考虑的因素是非常大的,要考虑到资金问题,效益问题,甚至是政治问题,创新还要经过方法的计算来考虑究竟要不要做这个创新,究竟应该在哪方面创新也是很大的问题。
问题1:
我们从小到大受到的教育都告诉我们要创新,那么现在我们究竟应该怎么做呢?创新是为了未来未来更好地服务人类还是只为了收益?那么创新的意义到底是什么呢?
Week2-作业1 《构建之法》1、2、16章观后感的更多相关文章
- <构建之法>之一至二章
身在大学,却想起了在高中的生活和初中的生活,特别是初中的生活,为什么这么说呢!因为<构建之法>,看了其中的两章的内容,为什么想到了初中和高中的生活呢,因为在高中和初三的时候看的最多的就是课 ...
- 软工个人阅读作业2 —— 构建之法与CI/CD
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 阅读思考教材,调研软工工具 这个作业在哪个具体方面帮助我实 ...
- 构建之法 第6~7章读后感和对Scrum的理解
第六章-敏捷流程 第六章主要详细介绍了敏捷流程,在软件工程范畴里,“敏捷流程”是一系列价值观和方法论的集合.这一章以敏捷流程的Scrum方法论而展开,而敏捷流程的精髓就是在于快速的交付. 敏捷开发的流 ...
- 《构建之法》8&16
[8.1] 对产品的生命周期管理好像一直以来都没有引起我足够的重视,在这一段对产品学习的过程中也少有看到相关内容.是因为针对不同产品而言,产品周期的管理太具有个性特征,没有太统一的规则可循吗?我觉得不 ...
- <构建之法>之第一二三章的感悟
第一章 看了第一章,第一章主要是概论,主要讲述软件是什么,是由什么组成的,然后接着陈述软件工程是什么,看了第一章之后,得知,软件工程只是实现软件的一个工具,有了工具做事情才容易.还有进行运维和维护软件 ...
- <构建之法>10,11,12章的读后感
第十章:典型用户和场景 问题 :什么是典型用户? 第十一章:软件设计与实现 问题 :开发人员的标准工作流程就是不断的发现BUg,修改bug来完善功能,在此过程中要等待同伴复审,在这阶段中,开发者应该如 ...
- <构建之法>8,9,10章的读后感
第八章 这一章主要讲的是需求分析,主要介绍在客户需求五花八门的情况下,软件团队如何才能准确而全面地找到这些需求. 第九章 问题:我们现在怎样培养才能成为一名合格的PM呢? 第十章 问题:如果典型用户吴 ...
- Week4-作业1:《构建之法》第四章、第十七章 阅读笔记与思考
第四章 两人合作 这一章是讲述了两人结对编程的一些东西,包括一些代码的规范,还有结对编程的优点.怎么做.以及一些注意事项. 1.“错误处理 当程序的主要功能实现后,一些程序员会乐观地估计只需要另外 ...
- 《构建之法》IT行业的创新 读书笔记 WEEK 5
本周选读邹欣老师的<构建之法>第16章——IT行业的创新. 邹欣老师将本章话题分成五个部分来阐述:创新的迷思.创新的时机.创新的招数.魔方的创新.创新和作坊,博主认为时机和招数这两个部分在 ...
随机推荐
- Docker-CE-CentOS安装&更新&卸载
准备工作 系统准备 要求centos-7以上版本(包含7) 开启centos-extras 在线安装方式要求 卸载旧版本 卸载旧版本docker yum remove docker \ docker- ...
- 20145209刘一阳《JAVA程序设计》第七周课堂测试
第七周课堂测试 1.命令"CREATE DATABASE "用来创建一个数据库.(A) A .true B .false 2.以下不属于驱动的四种类型的是(C) A .JDBC-O ...
- [arc072F]Dam-[单调队列]
Description 传送门 Solution 首先我们肯定不能那么耿直地直接把水混合起来吧..不然分分钟完球. 那么怎么找到最优解呢?假如我们把水的体积和温度按顺序插入队列,这时我们插入第i天的水 ...
- 洛谷 P1198 [JSOI2008]最大数
洛谷 P1198 [JSOI2008]最大数 题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值. ...
- REST API 开发
本文我们将使用Spring MVC 4实现 CRUD Restful WebService , 通过RestTemplate写一个 REST 客户端,定义这些服务. 我们也可以通过外部的一些客户端来测 ...
- jsp 中 , jq 获取当前所点击的 select 的 id 值的注意事项
因为是使用的 jstl 的 foreach ,所以每个 select 的 id 值都不同,要想在 change 方法中获取到 当前所点击的 select 的 id 值,需要注意的地方有: 1. 得到 ...
- python爬虫之urllib库介绍
一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib. ...
- R实战:grid包
grid包是一个底层的绘图系统,能够灵活地控制图形输出的外观和布局,但是grid包不提供创建完整图形的高级绘图系统,例如,ggplot2和lattice,而是提供绘制开发这些高级绘图的基础接口,例如: ...
- 图片缩放插件GestureImageView——Android 常用插件推荐(一)
Android 开发过程中,交互效果是一个非常繁琐的过程,甚至比Web开发过程中JS特效更加复杂.通过多年的发展,常用的交互方式已经发展相当成熟,而且有很多非常好的插件.为了避免重复造轮子,一些常用的 ...
- Linux shell(4)
test比较两个值: 测试比较两个值是linux中常用的比较运算,test命令可以进行对两个值的比较,如果比较成功则返回值为0,否则为非0 常用比较方法: ·1.整数比较 2.字符串比较 3.逻辑比较 ...