《构建之法》第一章概要及读后心得体会

1551427    钱洪章

首先知道:软件=程序+软件工程

名句:程序=数据结构+算法

提出疑问:“程序”是什么? 这里的程序指的是源程序,就是一行一行的代码。

软件够贱的过程:不仅仅是cc和link命令,一个复杂的软件不但要有合理的软件架构、软件设计与实现,还要有各种文件和数据来描述各个文件之间的依赖关系、编译参数、链接参数,等等。

新名词:源代码管理(配置管理)、质量保障、软件测试、需求分析、软件维护、软件生命周期、软件项目的管理、软件的用户体验、商业模式

会得到一个扩展的推论:软件企业=软件+商业模式

软件开发的不同阶段:(1)玩具阶段  (2)业余爱好阶段  (3)探索阶段 (4)成熟的产业阶段

软件工程是什么:软件工程是把系统的、有序的、可量化的方法应用到软件的开发、运营、和维护上的过程。

软件工程包括下列领域:软件需求分析、软件设计、软件构建、软件测试和软件维护。

软件的特殊性:(1)复杂性  (2)不可见性 (3)易变性 (4)服从性 (5)非连续性

软件工程的目标--创造“足够好”的软件

什么是好的软件?一些人会认为,所谓好的软件,就是没有缺陷(Bug),所谓软件工程就是把软件中的Bug都先消灭掉的过程。这的确是抓住了软件工程的一个要素。和软件打交道的专业人士都知道软件有“Bug”,Bug的多少可以直接衡量一个软件的开发效率、用户满意度、可靠性、软件流程的质量、可维护性。

软件行业有一句著名的笑话:这不是缺陷,这是一个功能!

很多人认为有Bug就是质量不合格,没有Bug就是质量完美,其实也未必。有实际用处的同时又是完美的软件,是不存在的。软件工程的一个重要任务,就是要决定一个软件在什么时候能“足够好”,可以发布。

这些就是我从《构建之法》第一章中收获的知识概要。自学了第一章的内容,让我有了些许了解软件工程。因为之前,软件工程的学习让我感觉很广很空洞,并且有些乏味,都是一些书本上的理论,及一些看了解释都不太了解的新词汇。希望在之后的学习中,可以让我更加深入的认知软件工程这名学科。

时间: 2024-12-24 23:39:22

《构建之法》第一章概要及读后心得体会的相关文章

阅读构建之法第一章有感

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

构建之法第一章

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

构建之法第一章读后感

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

读构建之法 第一章:概论

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

构建之法 第一章 概论

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

构建之法第一章总结

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

第六章 读后心得体会

编写Linux驱动程序的步骤 第一步:建立Linux驱动骨架(装载和卸载Linux驱动). Linux驱动程序一般都需要指定module_init和module_exit,因此包含这两个函数及指定这两个函数的两个宏的C程序文件也可看作是Linux骨架. 第二步:注册和注销设备文件 分别使用misc_register和misc_deregister函数创建和移除设备文件. 第三步:指定与驱动相关的信息 通过MODULE_AUTHOR,MODULE_LICENSE,MODULE_ALLAS,MODU

第七章 读后心得体会

编写LED驱动 (1)       创建LED驱动的设备文件 第一步:使用cdev_init函数初始化cdev. 第二步:指定设备号. 第三步:使用cdev_add函数将字符设备添加到内核中的字符设备数组中. 第四步:使用class_create宏创建struct_class. 第五步:使用device_create函数创建设备文件. (2)       卸载LED驱动的设备文件 依次调用device_destroy, class_destroy, unregister_chrdev_regio

第九章 读后心得体会

1.android HAL架构 2.为LED驱动增加HAL          1.编写一款支持HAL的Linux驱动程序步骤 第一步:编写Linux驱动 第二步:编写HALlibrary 第三步:编写Service Library 2.颠覆Linux驱动的设计理念:精简LED驱动 3.测试读写寄存器操作 4.编写调用LED驱动的HAL模块          HAL模块也可以被Android系统自动调用,自然也拥有类似main或init函数的接口.只不过这个接口不是函数,而是一个固定名称的结构体变