• 《代码大全2》第1章 欢迎进入软件构建的世界


    目录

    前言

    1.1 什么是软件构建

    1.1.1 ”构建活动“与”非构建活动“

    1.1.2 ”构建活动“相对于其他软件开发活动的地位

    1.1.3 ”构建活动“的具体任务

    1.2 “构建活动”为何如此重要?

    1.2.1 ”构建活动“重要的原因

    1.3 如何阅读这本书


    前言

           按照一般的用法,“构建”是指建设的过程。构建过程可能包含有计划(产品需求)设计(产品设计、开发设计)检查工作(测试)的一些方面

    本章主题

    1、熟悉软件开发流程(由哪些活动组成);

    2、区分哪些是”构建活动“需要做的事情,哪些是”非构建活动“需要做的事情;

    1.1 什么是软件构建

            开发计算机软件己是一个复杂的过程。在过去25 年间,研究者己经认识到在软件开发过程中涉及到各种不同的活动(activity),可以理解软件构建,就是由这些活动组成

    1. 定义问题 (problem definition)
    2. 需求分析 (requirements development), 用户界面设计等
    3. 软件架构 (sofiware architecure),或高层设计(high-level design)
    4. 详细设计 (detailed design)
    5. 规划构建 (construction planning)
    6. 编码与调试 (coding and debugging)
    7. 单元测试 (unit testing)
    8. 集成测试 (integration testing)
    9. 集成 (integration)
    10. 系统测试 (system testing)
    11. 保障维护 (corrective maintenance)

    软件构建可分为三个阶段:准备阶段(构建活动前(非构建活动))、构建活动测试与维护阶段(构建活动后(非构建活动))。

    1.1.1 ”构建活动“与”非构建活动“

            上面的这些”活动“可以分为两部分:一部分是”构建活动“,另一部分是”非构建活动“。多数时候,”构建活动“就是整个软件构建过程中动手的那部分

            1、构建活动主要是编码调试。但也涉及详细设计规划构建单元测试集成集成测试等其他活动。构建需要可观的创造力和判断力。在全书中,我也常常用“编程”代替“构建

            2、一些重要的非构建活动包括管理(management)、需求分析、软件架构设计、用户界面设计、系统测试,以及维护。以上每一项活动都像构建活动一样最终影响着项目的成败——至少能影响任何有不止一两个人参与、超过几周时间才能完成的项目的成败。关于其中每一项活动,你都可以找到相关的书籍。

    1.1.2 ”构建活动“相对于其他软件开发活动的地位

     图1-1是一张软件开发的平面图,图1-2给出了本书的立体视图:

    1.1.3 ”构建活动“的具体任务

            图1-1 和图1-2都是关于构建活动的高层次视图,但细节是什么?这里列出一些构建活动中的具体任务(task):

    • 验证有关的基础工作已经完成,因此构建活动可以顺利地进行下去。
    • 确定如何测试所写的代码。
    • 设计并编写类(class)和子程序 (routine)。
    • 创建并命名变量(variable)和具名常量 (named constant)
    • 选择控制结构 (control structure),组织语句块
    • 对你的代码进行单元测试和集成测试,并排除其中的错误。
    • 评审开发团队其他成员的底层设计和代码,并让他们评审你的工作。
    • 润饰代码,仔细进行代码的格式化和注释。
    • 将单独开发的多个软件组件集成为一体。
    • 调整代码(tuning code),让它更快、更省资源。

    1.2 “构建活动”为何如此重要?

    1.2.1 ”构建活动“重要的原因

    原因如下:

    • 构建活动是软件开发的主要组成部分。 根据项目规模的不同,构建活动在整个软件开发活动总时间中所占的比例一般在30%至80%之间。在整个项目中占有这么多时间的活动必然会影响到项目的成败。
    • 构建活动是软件开发中的核心活动需求分析和架构设计都是在构建活动开始之前就完成的基础工作,它们可以让你更有效地进行构建系统测试(严格意义上的独立测试)则是构建活动的后续工作,用以验证构建的正确性。显然,构建活动位于软件开发过程的核心位置。
    • 构建活动的产物——源代码——往往是对软件的唯—精确描述在很多项目中,程序员可以得到的唯一文档就是源代码本身需求规格书和设计文档可能过时,但源代码总是最新的。因此,源代码就必须具有尽可能高的质量。统一地运用各种技术来改进源代码的质量,将决定得到的结果是 Rube Golaberg 所造的古怪产品’,还是一个详细、正确且信息丰富的程序。这些技术在构建活动中能得到最有效的应用。
    • 构建活动是唯一一项确保会完成的工作。 一个理想的软件项目在进行构建之前,都要经过谨慎的需求分析和架构设计。一个理想的项目在构建完成之后,也要经历全面的、统计意义上受控制 (Statistically controlled)的系统测试。然而现实中不那么完美的软件项自,往往跳过需求和设计的阶段而直接跃入构建环节。之后又由子有太多的错误要修正而时间又不够,测试环节也被抛到一边了。但是,无论一个项目的计划有多匆忙、多糟糕,它都不可能扔下构建活动——这是不可或缺的环节。因此,对构建活动进行改进,是改进软件开发过程的一种有效途径。

    1.3 如何阅读这本书

     这本书有意设计成使你既可以从头到尾阅读,也可以按主题阅读。

    1. 如果你想从头到尾阅读,那么你可以直接从第2章“用隐喻来更充分地理解软件开发”开始钻研。

    2. 如果你想学习特定的编程技巧,那么你可以从第6章“可以工作的类”开始,然后根据交叉引用的提示去寻找你感兴趣的主题。

    3. 如果你不确定哪种阅读方式更适合你,那么你可以从第3章3.2节“辦明你所从事的软件的类型”开始。

  • 相关阅读:
    【Python3】【力扣题】190. 颠倒二进制位
    C语言:数组指针
    使用消息队列的方式实现进程间通信,输入quit时退出
    Spring Security(3)
    有关哈希的概念,哈希表(哈希桶),unordered_map和unordered_set的模拟实现
    Java面试丨多线程面试题整合版【60题】
    leetcode第362场周赛
    clickhouse使用入门
    web前端期末大作业——基于HTML+CSS+JavaScript蓝色的远程监控设备系统后台管理界面模板
    y134.第七章 服务网格与治理-Istio从入门到精通 -- 授权策略(二十)
  • 原文地址:https://blog.csdn.net/qq_43783527/article/details/126323486