zoukankan      html  css  js  c++  java
  • 构建之法一二章读后感

    这几天首先学习了构建之法的第一章和第二章。

    通过第一章的学习,我了解了计算机科学的领域、软件工程与计算机科学的关系、软件的特性以及软件工程的定义和组成部分;

    我们都知道,软件=程序+软件工程,而它的拓展是 软件企业=软件+商业模式;

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

    软件工程包括:软件需求分析、软件设计、软件构建、软件测试和软件维护;

    软件的分类大致分为:系统软件、应用软件和恶意软件;

    软件开发过程中的主要难题有以下几点:复杂性、不可见性、易变性、服从性、非连续性;

    第一章主要让我们了解了软件工程的基本知识。

    第二章主要介绍了单元测试、回归测试、效能分析、个人软件开发流程(PSP);

    单元测试是用来解决如何使自己负责的模块功能定义尽量明确,模块内部的改变不会影响其他模块,而且模块的质量能得到稳定的,量化的保证。

    验证单元测试好坏的标准:单元测试应该在最基本的功能/参数上验证程序的正确性;单元测试必须由最熟悉代码的人(程序的作者)来写;单元测试过后,机器状态保持不变;单元测试要快(一个测试的运行时间是几秒钟,而不是几分钟);单元测试应该产生可重复、一致的结果;独立性——单元测试的运行/通过/失败不依赖于别的测试,可以认为构造数据,以保持单元测试的独立性;单元测试应该覆盖所有代码路径;单元测试应该集成到自动测试的框架中;单元测试必须和产品代码一起保护和维护。

    回归测试的回归即指“回归到以前不正常的状态”。回归测试最好自动化,以保证尽早发现问题;单元测试是回归测试的基础;

    效能分析方法有两种:抽样和代码注入。一般的做法是,先用抽样的方法找到效能瓶颈所在,然后对特定的模块用代码注入的方法进行详细分析;

    个人开发流程是用来衡量一个团队能力的一套模型。

    对于第一章和第二章的学习让我对于软件工程有了一个基本的了解,还了解了一些基本的概念,相信接下来的学习会让我了解更多。

               

  • 相关阅读:
    算法训练 P1103
    算法训练 表达式计算
    算法训练 表达式计算
    基础练习 时间转换
    基础练习 字符串对比
    Codeforces 527D Clique Problem
    Codeforces 527C Glass Carving
    Codeforces 527B Error Correct System
    Codeforces 527A Glass Carving
    Topcoder SRM 655 DIV1 250 CountryGroupHard
  • 原文地址:https://www.cnblogs.com/yuanshenjie/p/6682176.html
Copyright © 2011-2022 走看看