【虚构案例声明】 本课程中的"美好家园"物业集团、"清华园社区"、"智慧邻里2.0"项目及全部人物均为教学所用的虚拟项目与虚构人物,详见第 01 讲首次声明。
一、上节作业讲评
1.1 二期平台选什么架构
上一讲的核心作业:方姐提了两个方案,集中式把所有小区的系统统一部署在集团云上,面向服务的架构把门禁、停车、报修、缴费拆成服务各小区按需组合;赵副总担心集中式"一挂全挂",李经理担心面向服务"太复杂谁来维护"。要你用教材表 4-3 的"什么时候使用"和"治理模式与架构匹配"两个标准给意见。
先用表 4-3 量一遍。集中式的使用条件是"当需要系统易于管理时;当业务本身高度集中的时候"。美好家园的业务是集中的吗?集团统管标准和平台,但五十个小区各自有业主服务,业务是"统分结合",不是高度集中。面向服务的使用条件是"当希望系统成为敏捷架构,可重用性和组件化利于创造新应用;当业务对新应用和快速设计迭代要求较高时"。二期要的正是这个:门禁、停车、报修先做成服务,三期增值服务再组合,每个小区可以按需开通模块。所以表 4-3 指向面向服务的架构。
再用治理模式量一遍。第 15 讲说过教材把架构选型和治理挂钩:集中式架构适合高度集中式治理,分布式提供多中心化的治理机制。美好家园的治理是集团定标准、区域做执行,这种混合治理和"集团提供服务、区域组合使用"的面向服务架构最匹配。
结论:二期集团平台按面向服务的架构建,但业主主数据和人脸库这两类核心数据集中存储、集中治理,服务可以分散,数据源必须唯一。这一句既回答了赵副总,服务之间隔离,一个服务挂不影响其他服务,也回答了李经理,区域公司不维护服务,只使用服务,维护在集团。
再看这个选择对模块二三讲的影响。对第 11 讲的运维方案:配置管理数据库里的配置项从"一套系统"变成"十几个服务和它们的接口关系",服务级别要按服务分别定,门禁服务 99.9%、增值服务 99.5%。对第 12 讲的数据治理:权威数据源落在集团的业主主数据服务上,各服务只引用不存储,这正是面向服务架构天然支持的。对第 13 讲的等保定级:等保对象是"集团平台"这个整体,不是每个服务单独定级,服务拆分不降低等级,人脸库作为数据资源单独列为对象。
这道作业最值钱的一句是"架构是给谁选的"。架构不是给程序员选的,是给组织选的,它要匹配治理模式、运维能力、数据责任和合规要求。这就是今天要讲的教材 5.1.1 节里那句话:架构的选择往往会成为一个系统设计成败的关键。
二、从管系统到建系统:本讲目标
2.1 施工图是什么
模块二讲的是集团怎么管信息系统,模块三讲信息系统怎么建。教材第 5 章叫"信息系统工程",四节:软件工程、数据工程、系统集成、安全工程。模块三七讲按这四节走,本讲讲软件工程。
建房子先有施工图,建系统先有架构。周总批了二期一千万,方姐的团队进场,第一件事不是写代码,是拿出一套"施工图":系统由哪些构件组成、构件之间怎么连、用什么风格、怎么评估这个架构好不好、代码怎么管、怎么测、怎么上线、乙方的过程能力够不够。这些问题全在教材 5.1 节里。
高项考这一节,综合知识每年两到三道,2024 年上半年第 1 批第 45、49 题考了 CMMI 和软件过程能力成熟度模型的能力域,2025 年上半年第 12、48 题考了文档分类和黑盒测试,2026 年上半年第 1 批第 8 题考了配置管理的角色;案例分析偶尔出判断题,2025 年上半年第 2 批案例的判断题就有一条"人工检查代码属于黑盒测试"。
本讲要拿下三件事:
第一,教材 5.1.1 和 5.1.3 的架构与设计:软件工程三要素、架构定义、五类架构风格、评估三方式、场景三要素、敏感点和权衡点、结构化设计与面向对象设计、七条设计原则、三类设计模式。
第二,教材 5.1.4 到 5.1.6 的实现、交付与过程:配置管理六活动、编码四方面、静态动态测试与覆盖标准、持续交付与持续部署、部署原则和两种部署方式、CSMM 与 CMMI。
第三,把这些变成"智慧邻里2.0"二期的施工图:架构风格、评估场景、设计原则落到报修模块、测试计划、部署方案,以及给乙方的过程能力要求。
2.2 本讲任务地图
| 任务 | 教材位置 | 考试形态 | 项目落点 |
|---|---|---|---|
| 软件工程三要素、架构定义与风格 | 5.1 开头、5.1.1 | 三要素不属于、风格归类 | 二期架构说明书 |
| 架构评估 | 5.1.1 | 三方式、三场景法、敏感点权衡点 | 架构评审会 |
| 结构化与面向对象设计、设计模式 | 5.1.3 | 高内聚低耦合、七原则、模式归类 | 报修模块设计 |
| 配置管理、编码、测试 | 5.1.4 | 六活动、静态动态、白盒黑盒 | 乙方开发规范 |
| 部署交付 | 5.1.5 | 持续交付优势、部署原则、蓝绿金丝雀 | 上线方案 |
| 过程管理 | 5.1.6、20.5.1 | CSMM 四域五级、CMMI 四类别 | 乙方资质要求 |
三、核心内容精讲:软件架构
3.1 软件工程三要素与软件架构的定义
教材口径:软件工程是指应用计算机科学、数学及管理科学等原理,以工程化的原则和方法来解决软件问题的工程,其目的是提高软件生产率、提高软件质量、降低软件成本。软件工程由方法、工具和过程三个部分组成。
三要素各一句:方法是完成软件工程项目的技术手段,支持整个软件生命周期;工具是人们在开发软件的活动中智力和体力的扩展与延伸;过程贯穿于软件开发的各个环节,管理人员要对质量、进度和成本进行评估、管理和控制,包括人员组织、计划跟踪与控制、成本估算、质量保证和配置管理等。你会发现"过程"这一要素就是项目经理的活,这也是为什么软件工程放在高项教材里。

教材口径:软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。软件架构研究的主要内容涉及软件架构描述、软件架构风格、软件架构评估和软件架构的形式化方法等。解决好软件的复用、质量和维护问题,是研究软件架构的根本目的。
架构定义里四个词:构件、连接件、模式、约束。用二期平台说:门禁服务、报修服务、主数据服务是构件;服务之间的接口调用是连接件;"所有服务通过统一网关调用、通过主数据服务取业主信息"是模式;"任何服务不得自存业主手机号"是约束。架构的根本目的三个词:复用、质量、维护,考试出"研究软件架构的根本目的"就答这三个。