zoukankan      html  css  js  c++  java
  • 构建之法读书笔记01

    1、软件=程序+软件工程;程序=数据结构+算法。

       (1)程序,在这里指的是源程序,就是一行行的代码,是建立在数据结构上的一些算法。程序要对数据进行操作,其中数据包括静态的和动态的。

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

       (3)软件工程的核心部分:构建管理、源代码管理、软件设计、软件测试、项目管理。

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

              程序(算法、数据结构)是基本功,但是在算法和数据结构之上,软件工程决定了软件的质量,商业模式决定了一个软件企业的成败。

       (4)软件开发的不同阶段(与航天产业做对比):

              1)玩具阶段(所给的示例中,纸飞机、航模飞机和真飞机一样,都体现了某些基本的理论);

              2)业余爱好阶段;

              3)探索阶段;

              4)成熟的产业阶段;

       (5)一些用户有极小概率使用到的功能,但自身也要很好的去完成并不厌其烦的为用户去讲解这些功能,就比如飞机上的安全措施,这些用到的概率都是极小的,但是几乎却没有任何乘客愿意搭乘一架没有安全措施的飞机。

    2、软件工程是什么?

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

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

       (2)软件的特殊性:复杂性、不可见性、易变性、服从性、非连续性。

              软件是可以运行在计算机以及电子设备中的指令和数据的有序集合,主要有一下形式:系统软件、应用软件、恶意软件。

       (3)工程:创造性的运用科学原理,设计和实现建筑、机器、装置或生产过程;或者是在实践中使用一个或多个上述实体;或者是实现这些实体的过程。

              与数理化这样的学科相比,计算机科学是一门相当年轻的学科。

       (4)不同项目的不同特点:Build To Learn、Build To Show、Build To Serve、Build To Win。

       (5)软件工程涉及到了很多的知识领域,其中三大类基础知识领域:计算基础、数学基础和工程基础。

       (6)软件工程的目标—创造“足够好”的软件(bug数量少的软件),Bug的多少可以直接衡量一个软件的开发效率、用户满意度、可靠性和可维护性。

    3、构建之法所倡导的教学和目标

       (1)研发出符合用户需求的软件;

       (2)通过一定的软件流程,在预计的时间内发布“足够好”的软件;

       (3)能证明所开发的软件是可以维护和继续发展的。

              阅读完第一小节,大概了解到了构建之法这本书的内容,其中书中的内容还是讲述的很生动的,有些问题都是用故事的形式来描述,对于不同的问题则创造了不同的环境,恰当的将相应的问题提了出来,接下来自己会去阅读剩下的章节,让自己在其中学到应学的知识。

  • 相关阅读:
    矩阵的阶
    python中'0b111'中的b 是什么意思
    Python字节码介绍
    多版本python共存,安装三方库到指定python版本
    关于python 中的__future__模块
    解决Python模块报错:ModuleNotFoundError: No module name 'StringIO'
    python常用魔法函数
    MySQL binlog
    MySQL start and stop
    Mysql 源码安装
  • 原文地址:https://www.cnblogs.com/th1314/p/6367880.html
Copyright © 2011-2022 走看看