Skip to content

软件构造 | 一. 概述

约 448 字大约 1 分钟

2025-06-06

定义

软件

软件是现实的需求在计算机的投影。

软件相对于计算机程序的区别是,软件是满足了人们的需求的。

构造

构造是把需求映射到投影的步骤。

构造的过程一般是:

  1. 需求分析
  2. 系统设计
  3. 写代码实现
  4. 测试
  5. 运行

因此写代码不等于软件构造:写代码只是软件构造的一部分。

其次构造的每一步是有损的(不可靠的),比如码农不小心把领导的想法理解错了之类的。前面步骤错了,后面的步骤也会错,这被称为放大效应。

最后,需求是经常变化的,这也会导致软件写一半发现前功尽弃。

渐进式开发

什么是好的代码

  • 没有 bug,能满足需求
  • 易于理解
  • 易于修改

后两点特别针对公司企业:公司里不只有你一个人写代码,代码的修改和维护很有可能交给其他人来做。

渐进式开发

为了减少前面提到的放大效应,写出更好的代码,现在企业大多采用渐进式开发(Incremental development),具体的表现是测试驱动开发(Test-driven development, TDD)。

测试驱动开发

TDD 开发一般是先写测试再写具体代码。先写测试这一步其实就要求开发者先去理解需求。

如果一上来就写代码,很可能写一半发现自己搞错需求了,那么前功尽弃,再一次陷入放大效应的漩涡中。因此先写 TDD 开发有助于减小放大效应的影响。

Copyright 2020-2025 Xibei. All Rights Reserved