邹欣老师的《构建之法》第一章“概论”学习笔记与自我随笔

刚读完了邹欣老师的《构建之法》第一章“概论”,四个字形容:酣畅淋漓。

概论将自己的一些模糊的认识清晰化,用准确的文字描述了出来,填补了脑海里的一些灰色地带。

总结一下:概论通俗地阐述了编程、软件、计算机科学、软件工程的联系与区别,简单说,编程是一项具体动作,软件是供人使用的产品,具体有很多种类型,而计算机科学是偏向理论研究,软件工程就像其他工程学一样,是在一定条件下合理配置资源达到生产软件的目的。

本人作为一名从小对编程、软件、计算机感兴趣的Nerd,虽然大学专业与此无关,但刚毕业时签了一份软件工程师的工作,想着可以好好历练技术,然后去自己喜欢的公司,做一些令人心潮澎湃的软件产品。然而综合考虑到工作待遇和环境,还是在毕业前换了签约单位,干起了与本科专业相关的一份工作。

在3年有余的工作中,各种事件时不时地唤醒我对软件工程的兴趣,从单位的CRM系统建设,到自己买了Macbook后开始自学iOS开发。但在学习探索过程中总感觉自己做的事情没有章法,各种思路、想法都显得杂乱无章,不能合理地推进。在我看,一方面是由于自己基础知识薄弱,没有受过系统地训练,另一方面是缺乏足够的耐心和毅力,总想着一步到位。于是,自学的过程暂停了一段时间。

直到一个偶然的机会看到别人推荐《构建之法》这本书,顿觉灵光一现,所谓没有章法,更是因为缺乏系统性、工程学的思维,就算我弄出来软件,也是天生缺陷一大堆,应该学习一些软件工程的方法,才能更好地打基础。

于是,就有了本博客,作为自己的学习笔记。

不去想这条路能走多远,就让内心去引导吧~

时间: 2024-10-01 16:03:53

邹欣老师的《构建之法》第一章“概论”学习笔记与自我随笔的相关文章

构建之法 第一章 概论

软件与程序的区别,恐怕就是实用性与理想性的区别.软件=程序+软件工程:程序=数据结构+算法.我们现在学的,只是后者的构成,而从理想迈向实用的最关键的一步,就是软件工程. 1.概念 1)软件构建:除了代码和静态数据,还有各种文件和数据来描述各个程序文件之间的依赖关系等: 2)源代码管理/配置管理:保证代码的平台兼容性.配置兼容性等: 3)质量保障(软件测试):保证软件的质量在修改过程中可以不断提高,或者至少可以保持: 4)项目管理:软件维护和服务运营 5)生命周期:以上称为软件的生命周期SLC 2

阅读构建之法第一章有感

今天阅读了构建之法第一章,感觉到自己其实玩具的阶段都不到,离研究阶段更是差的有段距离.了解到程序其实只是一个藏在你电脑里的数据结构加算法,要想成为软件还得经历软件工程这一阶段,软件工程便是把系统的.有序的,可量化的方法应用到软件开发,运营和维护上的过程中.首先我要进行软件需求分析,一个成功的软件是要有市场需求作为背景的,没有需求你做的软件就是无用的东西,有了需求然后我们对软件进行设计使之安全 可行 基本满足市场的需求.然后我们便对我们的软件进行测试.最后软件在用户手中运行,但是十全十美的软件是不

构建之法第一章

本章为概论,主要讲解计算机科学的领域.软件工程和计算机科学的关系.软件的特性.软件工程的定义与组成部分等内容. 一.软件: 程序=数据结构+算法 软件=程序+软件工程 软件工程的核心部分: 1.构建管理 2.源代码管理 3.软件设计 4.软件测试 5.项目管理 软件开发有玩具阶段.业余爱好阶段.探索阶段.成熟的产业阶段等四个阶段. 二.软件工程: 软件具有复杂性.不可见性.易变性.服从性.非连续性等. 计算机科学与软件工程的区别(侧重点) 计算机科学: 1.发现和研究长期的.客观的真理 2.理想

构建之法第一章读后感

首先,文章对于程序.用户需求.工程等等概念用了阿超给儿子编写的一个出题程序来分别解释了个中的含义,尤其是程序和工程的区别,程序大概就是用很多语言或工具编写的一个简单能实现目标要求的一行行代码,而工程就是在这个程序的基础上不断满足用户的需求.修复程序的bug.提供后续维护等服务. 需求分析:梳理需求,逐步展开后续工作,如设计(软件架构).实现(写数据结构和算法),测试,发布软件 软件=程序+软件工程(软件企业=软件+商业模式) 软将工程的核心部分:构建管理.源代码管理.软件设计.软件测试.项目管理

读构建之法 第一章:概论

软件=程序+软件工程 软件企业=软件+商业模式 工程师的宗旨是:我构建,故我在 程序在这里指的是源程序,就是一行行的代码,它们是建立在数据结构上的一些算法.程序对数据进行操作,工程师把它们构建为机器能懂的可执行代码.构建不仅仅是cc和link命令,一个复杂的软件不但要有合理的软件架构.软件设计与实现,还要有各种文件和数据来描述各个程序文件之间的依赖关系.编译参数.链接参数,等等.这些都是软件构建的过程.      软件工程:和软件开发活动(构建管理.源代码管理.软件设计.软件测试.项目管理)相关

构建之法第一章总结

软件工程是把系统的,有序的,可量化的方法应用到软件的开发,运营和维护上.软件工程包括:软件需求分析,软件构建,软件设计,软件测试和软件维护. 首先,从软件二字理解,软件是可以运行在计算机上及电子设备中的指令和数据的有序集合.软件以下特性:复杂性,不可见性,易变性,服从性,非连续性.这些特性让软件开发变得有点困难,软件可以说是人类创造的最复杂的系统类型.其次,工程通常是指创造性地运用科学原理,设计和实现建筑,机器,安装或生产过程,或者是在实践中使用一个或多个上述实体,或者是实现这些实体的过程.根据

第一章 概论 计算机网络笔记 学堂在线 1.3交换方式(电路交换、分组交换)

交换就是要建立两种机制: 建立数据传输通路机制 控制数据传输过程机制 信道:是信号传输通道 1 发送端将数据转换成信号 2 信号经过信道传播到达接收端 3 接收端将信号还原成数据 1 电路交换 两两互联建立信道过程: 信道固定. 缺陷:如果终端之间存在双向信道,n个终端需要n*(n-1)个信道.按需建立信道过程: 信道不固定.终端之间的信道由3段物理链路组成. 电路交换过程(连接建立过程):由电路交换机按需在两个终端之间动态建立信道. 数据传输通路建立机制: 1 建立连接:两个终端之间进行数据传

第一章 概论 计算机网络笔记 学堂在线 1.4 网络体系结构和协议

1 分层对每一层进行定义: 下一层为本层提供的服务 本层为上一层提供的服务 本层需要完成的功能 对相邻层之间接口进行定义: n层通过接口发出服务请求,n-1 层通过接口提供服务响应. 只要n层与n-1 层之间的接口不变,其它层的变化不会对n层实现过程产生影响 分层的原则: 每一层的功能相对独立,相邻层之间功能划分清晰 功能层越多,功能层实现越简单,但网络运行效率越低,必须综合考虑实现难度与运行效果 分层结构实例: PC结构: 操作系统 --> BIOS --> 主板(不同主板提供的接口不同,但

构建之法学习(第一章 概论)

初读邹欣老师的<构建之法>,却发现并没有像其它大多数软件工程教材一样偏重理论知识,而是大量引用实例,将实践与理论相结合,一改原本的空洞.乏味,反而更多的是趣味性. 通过对于第一章的自我学习,总结了一些知识点: 1.软件=程序+软件工程 程序=数据结构+算法    程序,就是指的源程序,是可执行代码.软件构建,构建成机器能懂的可执行代码,要有合理的软件架构,软件设计与实现,还要有各种文件和数据来描述各个程序文件之间的依赖关系,编译参数,链接参数等等. 软件工程是把系统的.有序的.可量化的方法应用