title: 软件工程有什么用？
desc: 上课时，学生问的。怎么回答？
topic: 软件工程专业
content: 给你100个软件工程师，组织他们写代码。从设计开始，一票人设计好了方案结果发现底层操作系统api不支持，硬件性能不足等等问题，好吧知道自底向上的意义了吧。咱从底层弄起，到后来发现整体结构过于复杂难以集成，工作量巨大等等问题，知道自顶向下的意义了吧。开始写代码，重复代码一大堆，一点小改变每个人都的动起来，知道模块化的意义了吧。功能每天都在升级，每天都要修复bug，问题是改的太频繁都不清楚改了啥，知道版本管理
answerer_tags: 文艺软件设计师