首页 > 其他分享 >读书笔记(1)

读书笔记(1)

时间:2024-03-01 13:34:44浏览次数:19  
标签:读书笔记 程序 软件工程 工程化 软件 数据结构

第一章 概论:

1.“软件=程序+软件工程”

问题:程序与软件的区别是什么?

回答:以前我总是分不清何为程序,何为软件,一直以为比较完善的程序就是一个软件。于是,我上网查了资料,更加明确两者的区别:

程序(program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。为进行某活动或活动所规定的途径。

一个程序应该包括以下两方面的内容: (1)对数据的描述。即数据结构。 (2)对操作的描述。即操作步骤,也就是算法。

这也就是我们常说的:程序=算法+数据结构

软件:软件是一系列按照特定顺序组织的计算机数据和指令的集合。(与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。)

另外,该书给出软件工程的定义是:把系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护上的过程,也就是说将工程化应用于软件。但根据我对“软件=程序+软件工程” 这个等式的理解,软件工程是不是也可以理解为将工程化应用于程序?

标签:读书笔记,程序,软件工程,工程化,软件,数据结构
From: https://www.cnblogs.com/chukjbgg333/p/18046790

相关文章

  • 读书笔记(2)
    第二章个人技术与流程1.2.1.1用VSTS写单元测试在该部分,举的例子是用c#写的,因为之前并没有了解这部分的内容,所以,看起书来不是很懂。希望老师在上课时能用同学们学过的Java或者c语言举例给同学们讲解一下。2.“最好在设计的时候就写好单元测试,这样单元测试就能体现API的语义如......
  • Go语言精进之路读书笔记第41条——有层次地组织测试代码
    聚焦位于测试包内的测试代码该如何组织41.1经典模式—平铺测试函数各自独立,测试函数之间没有层级关系,所有测试平铺在顶层41.2Unit家族模式测试套件(TestSuite)和测试用例(TestCase)41.3测试固件测试固件是一个人造的、确定性的缓解,在这个环境中进行测试,测试结果是可重复的......
  • 程序是怎么跑起来的第六章读书笔记
    第六章:进程和线程1.进程:进程是计算机中程序的执行实例。每个进程都有自己的内存空间和系统资源(如文件描述符),相互之间互不干扰。操作系统负责在进程之间切换,并确保每个进程都得到足够的CPU时间。2.线程:线程是进程中的一个执行路径。与进程相比,线程共享同一个地址空间和系统资......
  • 程序是怎么跑起来的前三章读书笔记
    在《程序是怎么跑起来的》的前三章中,作者用平易近人的语言,引导我们了解计算机程序的基础知识。以下是我的读书笔记:第一章讲述了计算机的基础知识,包括计算机的组成和原理。作者详细解释了计算机的基本结构,如CPU、内存和存储设备等,并阐述了计算机如何通过这些硬件设备实现信息处理......
  • 程序是怎么跑起来的第五章读书笔记
    第五章:程序的编译和链接1.编译过程:程序首先需要被翻译成机器语言,这一过程称为编译。编译器的任务是将源代码(例如C++或Java代码)转换成机器代码,后者可以直接由计算机硬件执行。2.链接过程:编译只是将源代码转换成目标文件,这些文件包含的是机器码和各种符号(例如变量和函数名)。链......
  • 程序是怎么跑起来的第四章读书笔记
    第四章:内存管理1.内存的分配方式:程序在运行时,操作系统会为其分配一块内存区域,这块内存区域称为“堆”。堆的大小在程序运行期间可以动态地变化。当程序需要更多的内存时,可以从堆中分配;当内存不再需要时,可以将其返回给堆。2.内存的回收:为了防止内存泄漏,操作系统需要跟踪哪些内......
  • 我与计算机第二章读书笔记
    在阅读《我与计算机》这本书的第二章时,我感受到了计算机与人类之间的密切关系。这一章主要讲述了计算机的起源、发展以及如何影响我们的生活。通过作者的叙述,我对计算机有了更深入的了解,同时也对它在我们生活中的角色有了更清晰的认识。首先,我了解到计算机并不是一个突然出现的事......
  • 读书笔记《梦断代码》
    《梦断代码》主要围绕OSAF主持的Chandler项目进行展开,深入剖析了软件开发过程中的种种问题和挑战。通过作者的详细叙述,我仿佛置身于项目的开发现场,亲身经历了那些充满波折和挫折的时刻。在Chandler项目的开发过程中,作者展示了各种技术难题、团队沟通问题以及项目管理挑战。这些问......
  • 一月读书笔记《程序员修炼之道:从小工到专家》
     书中对个人责任和职业发展观念的阐述,让我深受触动。我意识到,作为一名程序员,我们所承担的不仅仅是一份工作,更是一份沉甸甸的责任。每一行代码、每一个程序都是我们用心创造的作品,它们不仅仅是为了完成任务而存在,更是在无形中推动着社会的进步。我们的工作成果可能会影响到成千......
  • Go语言精进之路读书笔记第40条——理解包内测试与包外测试的差别
    测试代码存放在包含TestXxx函数的以*_test.go文件名结尾的文件中40.1官方文档的“自相矛盾”包内测试:测试代码放在与被测包同名的包中包外测试:测试代码放在名为被测包包名+"_test"的包中40.2包内测试与包外测试包内测试:优:白盒测试,高覆盖率缺:测试代码自身需要经常性的维......