news 2026/9/25 17:56:21

第38篇-系统设计一-概要设计与模块设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第38篇-系统设计一-概要设计与模块设计

【软考高级·系统分析师全链路通关实战】第 38 篇:系统设计(一)——概要设计与模块设计

本系列定位:面向有开发经验、从零备考软考高级「系统分析师」的工程师,以《系统分析师教程(第 2 版)》为主线,按「综合知识 → 案例分析 → 论文」三科组织,需求工程与 UML 建模深拆,60 篇带你从考试小白到三科同过。


本篇你将学到

  • 概要设计与详细设计的任务边界与各自产出物(谁在什么阶段画什么图)
  • 模块设计四原则:信息隐蔽、高内聚低耦合、模块大小适度、扇入扇出合理
  • 内聚七级与耦合七级的排序(综合知识必考排序题,必须秒排)
  • 人机界面设计三原则与系统设计说明书的内容框架
  • 云诊通实战:处方审方模块的结构图与扇入扇出分析(大纲指定示范)

学完本篇,你将拿下综合知识中「内聚耦合排序」这一固定送分题,并具备案例题「评价模块划分质量」的答题框架。


考点热力表

知识点综合知识案例分析论文
概要设计 vs 详细设计边界★★★★★
内聚七级排序★★★★★—
耦合七级排序★★★★★—
模块设计四原则★★★★★★
扇入扇出与结构图★★★★★
人机界面设计三原则★★★★★
系统设计说明书★★★

一、概要设计与详细设计:边界在哪

1.1 两阶段的任务分工

系统设计分两个阶段,边界一句话:概要设计定「怎么分」,详细设计定「怎么做」。

维度概要设计(总体设计)详细设计
任务将需求转化为总体结构与模块划分:架构、模块、接口、数据总体结构为每个模块设计内部实现方案:算法、数据结构、输入输出细节
核心产出结构图(模块层次图)、模块间接口定义、数据总体设计模块详细流程(流程图/PAD/伪代码)、代码设计、输入输出设计
对应视图第 34 篇开发视图(模块组织)的落地进程/逻辑视图的细化
完成标志系统设计说明书(总体部分)评审通过详细设计说明书评审通过

第 34 篇架构设计把 SRS 翻译成结构决策,概要设计把这些决策细化为可指派给开发人员的模块清单与接口契约——云诊通 7 名开发人员的分工依据正是概要设计产物。OO 路线下概要设计对应「类与包的组织」(第 17 篇分包即概要设计产物),结构化路线对应「结构图」(本篇主角)。

1.2 系统设计说明书

最小完备内容:①总体结构(模块划分与层次);②每个模块的功能、接口(输入/输出/调用关系);③数据设计(与第 10-11 篇数据库设计衔接的映射说明);④运行设计(模块执行控制);⑤出错处理设计;⑥界面与安全设计要点。论文写设计过程时,列产出物清单是低成本高可信的「真实感」素材。


二、模块设计四原则

2.1 信息隐蔽与抽象

信息隐蔽(information hiding):模块内部的数据与实现细节对其他模块不可见,只暴露必要的接口——第 17 篇构件「封装实现、接口契约」的模块版。收益:内部修改不波及外部(可修改性的根)。抽象:分层定义接口时先约定「做什么」再实现「怎么做」,与信息隐蔽互为表里。

2.2 高内聚低耦合

内聚(cohesion)衡量模块内部元素的关联紧密程度(越高越好);耦合(coupling)衡量模块之间的依赖强度(越低越好)。两者是一体两面:内部紧密了,对外暴露的必然少。

内聚七级(由低到高)——记忆链:偶然→逻辑→时间→过程→通信→顺序→功能:

级别含义例子
偶然内聚元素只是碰巧放在一起,无实质关联「公共工具箱」把不相干函数塞一个模块
逻辑内聚一组功能相似的功能由开关参数选择执行一个模块靠 flag 既做新增又做删除
时间内聚因同一时刻执行而聚在一起系统初始化模块(各类初始化一起跑)
过程内聚按预定流程顺序执行一段按业务顺序串起来的处理
通信内聚操作同一数据集的各功能对「处方单」的读、改、校验
顺序内聚上一步输出是下一步输入,同一数据流解析→校验→格式化报告数据
功能内聚全部元素共同完成单一明确功能「计算处方金额」

耦合七级(由低到高)——记忆链:非直接→数据→标记→控制→公共→内容(部分教材含外部耦合,共七类,核心五级排序必背):

级别含义判定特征
非直接耦合无直接联系,仅经主控协调独立模块各干各的
数据耦合只传简单数据参数传 int/string 调用
标记耦合传数据结构(记录)整体传整个「处方对象」但只用少数字段
控制耦合传控制变量影响对方逻辑传 flag 决定对方执行哪段
公共耦合共享全局数据区多模块读写同一全局变量
内容耦合直接访问对方内部数据/代码改对方内部变量、跳进对方代码段

考试判定技巧:题面出现「传开关/标志决定执行分支」→控制耦合(既答耦合也常与逻辑内聚成对出现);「共用全局变量」→公共耦合;「一个模块完成一个明确功能」→功能内聚。排序题直接背两条链。

耦合-越低越好

低

高

非直接

数据

标记

控制

公共

内容

内聚-越高越好

低

高

偶然

逻辑

时间

过程

通信

顺序

功能

2.3 模块大小与扇入扇出

  • 模块大小适度:过大→内聚可能不足,应拆;过小→调用开销与理解成本占比过高,不必硬拆。经验区间 50-100 行量级,以「单一功能讲得清」为准
  • 扇入(fan-in):调用本模块的上游模块数——扇入越高越好(被复用充分,抽象到位)
  • 扇出(fan-out):本模块调用的下游模块数——扇出不宜过大(经验值 ≤7),扇出大说明它成了「调度杂烩」,应增加中间层
  • 健康形态:顶层扇出大(调度)、中层扇入高(复用)、底层原子模块——枣核形结构

三、人机界面设计三原则

原则含义云诊通落地
置于用户控制之下用户发起与中止动作,不强迫用户按系统节奏操作问诊会话可暂停续答;不弹强制阻断式广告窗
减少用户记忆负担提供可见选项与提示,不让用户背规则处方页面显示历史过敏药警示,不靠医生记忆
保持界面一致性同一系统内术语、布局、操作方式统一七业务域统一「列表-详情-操作」模式与色彩语义

医生端是三原则的极端检验场景:医生在门诊间隙碎片化操作,界面必须「抬手就会」——第 27 篇需求获取时医生「操作极简」的诉求在此兑现。界面设计在论文「论人机界面设计」类题目中展开,三原则就是骨架段。


四、云诊通实战:处方审方模块的结构图与扇入扇出

4.1 结构图

处方审方链路的模块结构(结构化设计路线的标准画法,方框为模块、连线为调用):

处方管理调度
顶层-扇出4

处方接收与校验

审方流程编排
扇出3

处方状态管理

处方打印与归档

处方合规性检查
高扇入-被三处调用

药师人工审方工作台

自动审方规则引擎

双签电子签名管理

审方记录留存
调用审计日志

签名合规校验

4.2 扇入扇出分析(案例答题示范)

逐点分析,每点都是可写的采分点:

  1. M5 处方合规性检查扇入为 3(被接收校验、状态管理、打印归档三处调用)——高扇入说明它是抽取到位的公共功能,符合「公共校验逻辑单点实现」的复用要求,是好设计
  2. M0 顶层调度扇出为 4(≤7 经验值)——职责边界清晰;若继续把审方细节也挂到 M0(扇出到 8),它将退化为「调度杂烩」,正确做法是保留 M2 作为中间编排层——这正是「增加中间层降扇出」的标准手法
  3. M9 审方记录留存扇入为 2 且位于底层——底层原子模块、高扇入,枣核形健康形态
  4. 发现的问题与改进:若初版设计中「自动审方规则」与「药师人工审方」被塞进一个模块靠 flag 切换(逻辑内聚+控制耦合),改进方案是拆为 M6/M7 两个功能内聚模块,由 M2 编排——「拆开关为两模块」是评价模块质量题的万能改进句式

这个示范把四原则全部用上:信息隐蔽(规则引擎内部规则不外露)、内聚耦合(拆逻辑内聚为功能内聚)、扇入扇出(M5 高扇入、M0 扇出受控)、模块大小(M2 只做编排不做事,规则细节在 M7)。


真题风格自测题

1. 下列任务中属于概要设计而非详细设计的是( )。
A. 确定模块划分与模块间接口 B. 设计某模块内部算法 C. 编写某模块伪代码 D. 设计输入界面字段校验规则

2. 内聚级别由高到低排序正确的是( )。
A. 功能>顺序>通信>过程>时间>逻辑>偶然 B. 偶然>逻辑>时间>过程>通信>顺序>功能 C. 通信>顺序>功能>过程>时间>逻辑>偶然 D. 功能>通信>顺序>时间>过程>逻辑>偶然

3. 耦合级别由低到高排序正确的是( )。
A. 非直接>数据>标记>控制>公共>内容 B. 内容>公共>控制>标记>数据>非直接 C. 数据>非直接>控制>标记>公共>内容 D. 非直接>标记>数据>公共>控制>内容

4. 模块 A 调用模块 B 时传入一个标志变量,B 根据该标志决定执行哪段逻辑,这属于( )。
A. 数据耦合 B. 控制耦合 C. 公共耦合 D. 内容耦合

5. 多个模块共同读写同一全局数据结构,属于( )。
A. 标记耦合 B. 数据耦合 C. 公共耦合 D. 非直接耦合

6. 一个模块内的处理元素在同一数据集上操作(读、改、校验同一处方单),该内聚类型是( )。
A. 时间内聚 B. 通信内聚 C. 顺序内聚 D. 功能内聚

7. 系统初始化模块把各类不相关数据的初始化放在一起执行,属于( )。
A. 偶然内聚 B. 逻辑内聚 C. 时间内聚 D. 过程内聚

8. 关于扇入扇出,正确的说法是( )。
A. 扇入越高越差 B. 扇出越大越好 C. 扇入高表示复用充分,扇出不宜过大(经验上≤7) D. 扇出必须为 1

9. 降低顶层模块扇出过大的常用手法是( )。
A. 增加中间层承接部分调度 B. 删除功能 C. 合并所有模块为一个 D. 改用全局变量通信

10. 模块内部数据与实现细节对其他模块不可见,只暴露必要接口,这体现的原则是( )。
A. 信息隐蔽 B. 公共耦合 C. 偶然内聚 D. 扇入最大化

11. 人机界面设计三原则不包括( )。
A. 置于用户控制之下 B. 减少用户记忆负担 C. 保持界面一致性 D. 界面元素越多越好

12. 「自动审方」与「药师人工审方」若被塞进同一模块靠开关参数切换,其设计问题是( )。
A. 功能内聚+数据耦合 B. 逻辑内聚+控制耦合,应拆为两个功能内聚模块 C. 顺序内聚,无需修改 D. 完全合规

13. 概要设计阶段最核心的图示产出物是( )。
A. 结构图(模块层次与调用关系) B. 数据库物理存储图 C. 界面配色方案 D. 单元测试用例

参考答案:1.A 2.A 3.A 4.B 5.C 6.B 7.C 8.C 9.A 10.A 11.D 12.B 13.A(第 2/3 题的两条链必须背到「闭眼秒排」:内聚偶然最低功能最高,耦合非直接最低内容最高)


本篇小结

知识点核心内容
两设计边界概要定「怎么分」(结构图+接口),详细定「怎么做」(算法+数据结构)
四原则信息隐蔽、高内聚低耦合、模块大小适度、扇入扇出合理
内聚七级偶然<逻辑<时间<过程<通信<顺序<功能(高好)
耦合七级非直接<数据<标记<控制<公共<内容(低好)
判定技巧flag 选分支→控制耦合;全局共享→公共耦合;单一明确功能→功能内聚
扇入扇出扇入高=复用好;扇出≤7;枣核形结构(顶层调度/中层复用/底层原子)
界面三原则用户控制、减少记忆负担、一致性
云诊通示范合规检查高扇入是好设计;拆「开关式」审方为两模块;降扇出加中间层

下篇预告

第 39 篇:系统设计(二)——详细设计、输入输出与数据设计
处理过程设计四工具(流程图/NS 盒图/PAD/判定表)、输入校验方法全集、代码设计与校验位、以及云诊通监管上报接口的完整设计示范。


如果本篇内容对你有帮助,欢迎点赞收藏!有任何疑问,欢迎在评论区交流。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/25 17:55:48

【2026年11月国内外各地国际学术会议推荐】计算机应用、机器学习、智能控制、土木建筑工程、能源储能、电力电气、教育管理、遥感测绘、材料制造、图像处理、大数据、通信与信号、材料科学等主题可选!...

临近 2026 年 11 月&#xff0c;正是科研人把握论文投稿窗口期、筹备学术交流的黄金时段。不少硕博生、高校教师与科研从业者都在寻找学科匹配、地域灵活的国际学术会议。本次整理【2026 年 11 月国内外各地国际学术会议推荐】&#xff0c;覆盖计算机应用、机器学习、智能控制、…

作者头像 李华
网站建设 2026/9/25 17:52:56

Atlas 300V 24G部署YOLO全解析:从推理卡认知到模型转换与性能调优

很多人第一次拿到 Atlas 300V 24G 这块卡的时候&#xff0c;第一反应就是&#xff1a;这不就是一张大显存的显卡吗&#xff1f;24G 显存&#xff0c;比不少游戏卡还大&#xff0c;拿来跑 YOLO 肯定很爽。等真正上手才发现&#xff0c;这卡压根不是你想的那回事——它不能插普通…

作者头像 李华
网站建设 2026/9/25 17:47:25

PSASP搭含新能源IEEE39节点算例:从潮流收敛到暂态稳定全流程

做电力系统仿真的人基本都听说过PSASP&#xff0c;但真正愿意把搭算例的门道讲透的人太少了。前几天一个师弟来找我&#xff0c;说导师让他用PSASP搭一个含新能源的IEEE39节点系统&#xff0c;用来做暂态稳定对比研究。他吭哧了三天&#xff0c;卡在最前面&#xff1a;潮流怎么…

作者头像 李华
网站建设 2026/9/25 17:39:49

DeskcommCRM落地实战:从Excel迁移到轻量级CRM的完整指南

DeskcommCRM这个名字&#xff0c;我第一次接触是因为一个特别典型的业务痛点——一家20多人的B2B服务公司&#xff0c;客户信息全散落在销售个人手里的Excel表格&#xff0c;报价单模板放在共享网盘上&#xff0c;A同学改了一版&#xff0c;B同学又改一版&#xff0c;最后对外发…

作者头像 李华
网站建设 2026/9/25 17:37:39

HDFS安全通信实战:Kerberos认证与传输加密配置指南

1. 项目概览&#xff1a;为什么要聊分布式系统安全通信做了这些年分布式系统&#xff0c;我发现一个很尴尬的现实&#xff1a;很多团队把分布式架构玩得很溜&#xff0c;却在安全通信上栽了跟头。节点之间的数据在网络上裸奔、认证机制形同虚设、证书管理一团乱麻——这些问题在…

作者头像 李华