构建之法 chapter1 心得
阅读完了《构建之法》第一章后,觉得我们平时使用的软件并不是自己想象中的那样简单,用的时候是觉得很方便,但从来没有考虑过一个软件的背后需要一个团队多少的付出才能换来一个获得用户频频好评的软件。突然之间很佩服所有软件的开发者,因为在读了概述之后,我就能体会到他们背后付出的努力、时间和精力。
软件=程序+软件工程。要有一个软件,首先需要一个程序,而算法、数据结构是程序的基本功。其次软件工程的核心部分是:构建管理、源代码管理、软件设计、软件测试、项目管理等相关内容,软件工程直接决定了软件的质量。在现在的学习中,我觉得我还停留在建立基本功的部分,掌握住足够多的算法和数据结构,才能写出程序,然后才能从工程管理的角度去构建这个软件。
书上用航空业的发展对比着来看软件的发展过程,形象地给我们描述了软件是如何一步一步走到今天这个地步的。在最初的时代,人们尝试用新的语言来写“hello world”,成功了以后便吸引了一些人的兴趣,从而由开发出了用JavaScript、asp.net、ruby等写网站。当程序能够跑起来的时候,便开始钻研新技术,应用新技术在软件行业创新,使得软件日益壮大,到了如今的银行软件系统,互联网搜索行业,电子商务系统、Windows操作系统。软件的发布会影响一个公司、一个行业,这些以前无法想象的系统,如今都变成了现实,也造就了一批程序员。由于软件本身具有几大特殊性,所以在软件开发过程中会碰到一些难题。例如:一、软件的复杂性:一些大型软件有超过百万行的源代码,上万个不同的文件,软件的各个模块之间有各种显性或隐性的依赖关系,会随着系统的成长和模块的增多以几何级数的速度增长。二、不可见性:软件工程师可以直接看见源代码,但是源代码不是软件本身,软件已机器码的形式高速运行,还可能在几个CPU核上同时运行。所以工程师是看不到自己的源代码是如何被具体执行的,如果出错了以后,查错和纠错就会相当的困难。三、易变性:软件很容易修改,软件工程师经常需要修改软件来实现新的功能或适应新的环境,所以如何正确的修改软件也是一大难题。
一个好的软件必定会有一个好的软件工程。软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营和维护上的过程。它包括软件需求分析、软件设计、软件测试和软件维护。目的是为了提高软件开发、运营、维护的效率,并提高软件的质量、用户满意度、可靠性和软件的可维护性。
以前一直觉得做一个软件,只要写程序就好了,完全没有考虑过它是一个过程,需要一个完整的软件开发流程,首先需要做软件需求分析,弄清楚用户的需求,确定这个软件“做什么”,其次才开始设计软件,确定软件如何来实现用户的需求,在完成一个模块或一个单元后就要进行测试,测试是很关键的一步,只有保证中间过程没有出错,才能在最后获得一个成功的软件。在可以基本开发出一个软件的基础上想办法提高软件的效率、可维护性和用户满意度。而这些,是我在这本书里需要学习,在实践中需要实践的内容。
构建之法 chapter1 心得的更多相关文章
- 《构建之法》chapter5,6 读书心得
<构建之法>第五章用体育运动等团队例子引出软件开发团队的形式,用更加生活化.形象化的例子让读者更能理解软件开发团队的形式.软件团队形式多样,适用于不同的人员与需求.团队可能会演变的模式有: ...
- 对"构建之法“的理解和困惑
对"构建之法"的理解和困惑 本人"学沫沫"一个,对于之前的编程学习虽不大"感冒",但秉着对自己负责的态度进行了基础学习. ...
- 2nd 阅读构建之法有感
阅读构建之法有感 利用这一周的时间,我大致了解构建之法一书,这本书带我走进了一个全新的领域.它让我以一种新的视角去了解软件产业的发展和工作,领略软件工程的独特魅力,更给出了简单易懂的方式去理解何为软件 ...
- 《构建之法》CH5~6读书笔记 PB16110698 第九周(~5.15)
这段时间我阅读了<构建之法>的大部分章节,包括个人技能.软件测试.用户体验和需求分析等相关内容.之前的个人作业和结对作业结束后,我们的工作重心终于转向了团队项目,作为团队中前端组的组长,我 ...
- 初窥构建之法——记2020BUAA软工个人博客作业
项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 个人博客作业 我在这个课程的目标是 完成一次完整的软件开发经历并以博客的方式记录开发过程的心得掌握 ...
- <构建之法>第十三章到十七章有感以及这个项目读后感
<构建之法>第十三章到十七章有感 第13章:软件测试方法有哪些? 主要讲了软件测试方法:要说有什么问题就是哪种效率最高? 第14章:质量保障 软件的质量指标是什么?怎么样能够提升软件的质量 ...
- <构建之法>第十一章、十二章有感
十一章:软件设计与实现 工作时要懂得平衡进度和质量.我一直有一个困扰:像我们团队这次做 男神女神配 社区交友网,我负责主页的设计及内容模块,有个队友负责网站的注册和登录模块,有个队友负责搜索模块,有个 ...
- 《构建之法》阅读有疑 与 个人Week1作业
<构建之法>阅读有疑 在用将近五节课的时间将邹欣老师的书<构建之法——现代软件工程>第二版大致看完.虽然全书是以轻松的口吻与”移山公司”员工的一些趣味谈话来传输一些理念和思想的 ...
- 软件工程---阅读《构建之法》P384~391
-阅读<构建之法>P384~391后,我充分认识到软件工程师的职业道德的重要性,具体有: 原则1:公众 原则2:客户与雇主 原则3:产品 原则4:判断 原则5:管理 原则6:职业 原则7: ...
随机推荐
- SSE技术详解:使用 HTTP 做服务端数据推送应用的技术
SSE ( Server-sent Events )是 WebSocket 的一种轻量代替方案,使用 HTTP 协议. 严格地说,HTTP 协议是没有办法做服务器推送的,但是当服务器向客户端声明接下来 ...
- Spring-----入门
Spring 入门 一.首先导入核心jar包 commons-logging-1.1.3.jar 日志 spring-beans-4.2.4.RELEAS ...
- CEPH监控软件
概述 目前主流的Ceph开源监控软件有:Calamari.VSM.Inkscope.Ceph-Dash.Zabbix等,下面简单介绍下各个开源组件. Calamari 概述 Calamari对外提供了 ...
- 记录配置xshell显示中文乱码的一次巧合
linux系统设置了中文UTF8,xshell终端也设置了中文UTF8,但xshell仍然无法显示中文,于是想起可能是字体显示问题. 设置楷体字体后,虽然文字方向还有问题,但乱码显示的问题解决了,方向 ...
- 关注Yumiot公众号,了解最新的物联网资讯
Yumiot,专注于物联网行业,每天不定期推送最新的物联网行业新闻.详情请用微信搜索关注 yumiot .
- vim打开txt文件看到^@字符
'\0'是不可见字符,使用vim编辑器查看的文本文件中如果包含'\0'字符,vim会自动将'\0'字符转换为^@字符. 看下面的代码: #include <stdio.h> #includ ...
- web语言发展史
引用自CSDN,地址:https://blog.csdn.net/moshenglv/article/details/51590830 提到Web,不得不提一个词就是“互联网”.Web是World W ...
- Java randomString
public static String randomString(int strLength) { Random rnd = ThreadLocalRandom.current(); StringB ...
- windows上传文件到linux云服务器上
安装putty,将pscp.exe移到 C:\Windows\System32 目录下. 在cmd 中执行,pscp -l rot -pw [password] -ls [ip]:/opt 查看目录 ...
- js判断字段是否为空 isNull
js判断字段是否为空 isNull //在js中if条件为null/undefined/0/NaN/""表达式时,统统被解释为false,此外均为true .//为空判断函数f ...