第1章 车站全景:软件工程是什么


文档摘要

第 1 章 · 车站全景:软件工程是什么 章节摘要:本章是全书的站台。我们先把"软件工程"这个词落到实处——它管的不只是写代码,而是从需求进站到软件退役的整条运营线。你会看到大型软件为什么会失控(软件危机),工程师用什么原则把失控变成可控(目标与基本原则),以及一趟版本列车上都有哪些岗位、各管哪段轨道(角色与团队)。读完本章,你应当能用一张图画出软件生命周期各阶段,并说清每个阶段的进出站条件——这是理解后面所有章节的底座。 学习目标 读完本章,你应当能够: 用自己的话给出软件工程的定义,并指出它与"会编程"的差别至少在哪三点。 复述软件危机的典型症状,解释为什么规模一大、参与人数一多,"凭手感写代码"就必然失灵。 列出软件工程的五条以上基本原则,并为每条配一个违反后翻车的真实场景。

第 1 章 · 车站全景:软件工程是什么

章节摘要:本章是全书的站台。我们先把"软件工程"这个词落到实处——它管的不只是写代码,而是从需求进站到软件退役的整条运营线。你会看到大型软件为什么会失控(软件危机),工程师用什么原则把失控变成可控(目标与基本原则),以及一趟版本列车上都有哪些岗位、各管哪段轨道(角色与团队)。读完本章,你应当能用一张图画出软件生命周期各阶段,并说清每个阶段的进出站条件——这是理解后面所有章节的底座。

学习目标

读完本章,你应当能够:

  1. 用自己的话给出软件工程的定义,并指出它与"会编程"的差别至少在哪三点。
  2. 复述软件危机的典型症状,解释为什么规模一大、参与人数一多,"凭手感写代码"就必然失灵。
  3. 列出软件工程的五条以上基本原则,并为每条配一个违反后翻车的真实场景。
  4. 画出软件生命周期(SDLC)的完整阶段图,说清需求、设计、实现、测试、维护各阶段的输入与产出。
  5. 辨认软件项目中的主要角色,知道产品经理、架构师、测试、运维各自把守哪道闸口。
  6. 用"版本列车"的视角,把一个正在做的项目映射成"上车—检修—联调—离站"的过程。

核心概念速览

如果把软件项目看作一趟版本列车,软件工程就是整座车站的运营规程:货单怎么核(需求)、车厢怎么造(设计与编码)、发车前怎么试跑(测试)、时刻表怎么排(项目管理)、安检怎么过(质量保证)。本章先把整座车站的平面图摊开。

金句:软件工程不保证项目不翻车,它保证翻车之后你知道是哪节车厢、哪个道岔出了问题。

生命周期(SDLC)这个词会在本章反复出现,这里先给它一个 operational 的说法:软件从被提出、被建造、被使用到被淘汰的全部阶段序列。车站视角下它就是"列车的一生"——编组计划对应需求分析,车辆装配对应设计与编码,试跑对应测试,上线运营对应发布与维护,退役报废对应系统下线。第 2 章会展开"同一趟旅程可以按哪几种时刻表来跑",本章只需记住阶段本身。

子章节导航

  • 1.1 软件工程的目标与基本原则:给软件工程下定义,拆解质量、成本、进度之间的三角约束,并把教科书里的基本原则翻译成可执行的进出站检查项。
  • 1.2 软件危机与工程化转折:回到上世纪六十年代的失控现场,看大型项目怎么把钱烧光,以及"软件工程"这个词如何被逼出来。
  • 1.3 乘务编制:角色与团队构成:把项目经理、产品经理、架构师、开发、测试、运维、QA 逐个对号入座,附一份可直接套用的职责对照表。

子章节之间的逻辑关系

三节的推进是一条"为什么 → 是什么 → 谁来干"的链条:先看清没有规程会出什么事(危机),再定义规程要达成什么(目标与原则),最后把规程落到具体岗位上(角色分工)。缺了任何一环,后面章节的方法都会变成空转的流程。

[1.2 软件危机] 为什么需要规程 │ ▼ [1.1 目标与原则] 规程要守住什么 │ ▼ [1.3 角色与团队] 谁来执行规程 ──► 进入第2章:按哪种时刻表跑

本章演练任务

拿你手头(或记忆中)的项目做三道演练,答案写下来比想一遍有效:其一,给它画一张生命周期阶段图,标出每个阶段实际的进出站条件——标不出来的阶段,就是管理真空;其二,按第 1.3 节的七类角色为项目成员对号入座,检查每道闸口(需求变更、发布放行、生产数据访问)有没有实名担责人;其三,找一次最痛的延期或事故,用第 1.2 节的四类危机症状给它归类,再问一句:哪条基本原则的缺席让它发生?三道题做完,本章就不再只是概念。

阅读提示:本章最容易读偏的两处

一处是把"工程化"读成"官僚化"——以为流程越多越好。本章讲的原则全部有事故出处,每条流程都该能回答"它在拦哪类事故";答不上来的流程,值得质疑的是流程本身而不是执行的团队。另一处是把角色表读成等级表——调度长并不比司机"高一级",只是职责不同。带着这两个防偏读法进本章,三节内容的重心会清楚得多。

前置知识与后续延伸

本章不需要硬性的前置知识,但如果你亲手写过一点代码、参与过哪怕一次小组作业,会更容易对号入座。读完本章后直接进入第 2 章"运行图:生命周期模型选型"——在那里,本章的生命周期阶段会被组装成六种不同的发车方案;如果你更关心"项目延期了怎么办",也可以先跳读第 4 章调度台,再回来补运行图。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U