软件工程与系统集成精讲:架构设计+UML图+数据工程+安全工程
(文 / 老孙)
高项倒计时冲刺特辑 Day 27 | 付费(冲刺合集)
字数约 12000,阅读大约需 25 分钟
一、开场:第5章——技术基础章的"拦路虎"与"送分题"
各位老铁,走到Day 27,咱们冲刺特辑的第三阶段已经进入第6天了。前面几天,我们把十大知识领域的管理内容"翻"了个遍,今天要换一个赛道——从"管理"跳到"技术"。
教材第5章"信息系统工程",是高项中最硬核的技术基础章节。这章内容涵盖了软件工程、数据工程、系统集成和信息安全工程四大板块,信息量巨大。
先吃颗定心丸:第5章在选择题中大约占8-12分,案例分析和论文极少直接考它。所以我们的策略很明确——理解核心概念,记住高频考点,不必深入每一个技术细节。换句话说,这一章是"背一背就能拿分"的章节,但你要是完全不看,那就是白白送出去8-12分。
今天这篇文章的目标:用一篇文章帮你把第5章最核心、最高频的考点过一遍,配上速记口诀和Mermaid图,让你在考前一周翻出来就能快速回忆。
本文的知识结构如下:
好了,进入正题。
二、软件工程基础:从"盖房子"说起
2.1 软件架构风格——"盖什么样的房子"
教材原文给出了Garlan和Shaw的经典分类。什么叫架构风格?简单说,就是软件系统的"户型"。你买房子有一居室、两居室、复式、别墅,软件系统也有不同的"户型"。
五大类架构风格速记表:
| 风格类别 | 子风格 | 生活类比 | 核心特征 |
|---|---|---|---|
| 数据流风格 | 批处理、管道/过滤器 | 工厂流水线 | 数据按顺序流经一系列处理单元 |
| 调用/返回风格 | 主程序/子程序、面向对象、分层 | 公司组织架构 | 上级调用下级,层层分工 |
| 独立构件风格 | 进程通信、事件驱动 | 微信群消息 | 构件独立运行,通过事件通知 |
| 虚拟机风格 | 解释器、基于规则 | 同声传译 | 自定义"语言",逐条解释执行 |
| 仓库风格 | 数据库、黑板、超文本 | 共享云盘 | 所有构件共享一个中央数据存储 |
考试最爱考的几种风格辨析:
(1) 管道-过滤器(Pipe-Filter):数据像水一样从一个"过滤器"流到下一个。每个过滤器独立处理、互不依赖。Linux命令行的 cat file | grep "error" | sort 就是典型的管道-过滤器。
(2) 分层架构(Layered):最常见的"三层架构"——表现层、业务逻辑层、数据访问层。上层只能调用相邻下层,不能跨层调用。
(3) C/S与B/S:C/S是客户端/服务器,需要安装客户端软件(比如微信PC版);B/S是浏览器/服务器,只需要浏览器就行(比如网页版邮箱)。考试常考两者的区别。
(4) SOA(面向服务架构):把功能包装成"服务",通过标准接口对外提供。就像你去美食城,每个档口都是一个独立"服务",你自己组合搭配。
(5) 微服务(Microservices):SOA的进化版,把大系统拆成一堆小而独立的服务,每个服务可以独立部署、独立扩展。就像把"美食城"变成了"外卖平台"——每家餐厅完全独立经营,通过平台(API网关)对外服务。
速记口诀:数调独虚仓(数据流、调用返回、独立构件、虚拟机、仓库)——谐音"熟掉独猪藏"——记住这5个"户型"名字就够了。
2.2 软件架构评估——"房子盖好了,验收一下"
架构设计完了,怎么知道好不好?教材给了三种评估方式:
- 基于调查问卷/检查表——最简单,填表打钩
- 基于场景——最常用,也是考试重点
- 基于度量——用指标量化
基于场景的方法(重点中的重点):