第 5 章 信息系统工程
如果说第 4 章回答「系统怎么管」,本章回答「系统怎么建」:以软件工程为主体,辅以数据工程、系统集成与安全工程,构成信息系统建设的完整技术地图。本章综合知识稳定考 3–5 分,是第 6 章之后项目管理知识的技术地基。
一、考情分析
命题规律与抓分重点:
- 软件工程是本章的绝对重心。架构风格分类、需求层次、测试方法(白盒 / 黑盒 / 静态 / 动态)与测试阶段划分,出题频率远高于其余板块。
- "方法归属题"是主力题型。给出一个具体技术(如等价类划分、桩模块、情节串联板),判断它属于哪一类方法或哪个阶段。
- 顺序与层次题高频。测试阶段的先后(单元→集成→确认→系统)、软件集成四层次的深浅(表示→数据→控制→过程)常以排序或"最难实现的是"形式出现。
- 等保 2.0 技术架构"一个中心、三重防护"是近年热门考点,与第 4 章的定级知识连成一个知识块。
- 抓分策略:以四大板块的知识结构表为纲进行骨架式记忆,配合本章速记卡,可覆盖绝大多数考题。
二、学习目标
| 目标层级 | 具体目标(学完后应能做到) |
|---|---|
| 知识层 |
|
| 能力层 |
|
| 素养层 |
|
三、知识总览:四大板块
信息系统工程建设围绕"软件、数据、集成、安全"四条战线展开,四者关系是:软件工程负责把需求变成可运行的软件产品;数据工程负责让数据被规范地组织、维护与开发利用;系统集成负责把分散的软硬件、网络与数据整合为统一的系统;安全工程则贯穿前三者,保证系统建设满足信息安全要求。四大板块的二级知识结构如下表,学习时应以此为总地图:
| 板块 | 二级知识结构(按教材小节) | 本章内的考频重心 |
|---|---|---|
| 软件工程 | 架构设计(架构风格、分层架构)→ 需求分析(需求层次、获取方法、SRS)→ 软件设计(结构化设计、面向对象设计)→ 软件实现(编码规范、软件测试)→ 部署交付 → 过程管理(敏捷方法、DevOps、软件过程改进) | 最高:测试方法与阶段、需求层次、架构风格 |
| 数据工程 | 数据建模 → 数据标准化 → 数据运维 → 数据开发利用 → 数据库安全 | 中等:建模三层次、数据库安全机制 |
| 系统集成 | 集成基础 → 网络集成 → 数据集成 → 软件集成 → 应用集成 | 中等偏高:软件集成四层次 |
| 安全工程 | 工程概述 → 安全系统 → 工程基础 → 工程体系架构(等保 2.0"一个中心、三重防护") | 上升中:等保技术架构 |
理解提示:四大板块不是并列的选修课,而是一个建设过程的四个剖面:同一个系统,从「用什么方法开发」看是软件工程,从「数据怎么组织」看是数据工程,从「如何与其他系统打通」看是集成,从「是否安全合规」看是安全工程。案例题给一个建设项目,通常四个剖面都能设问。
四、软件工程
4.1 架构设计:架构风格与分层
软件架构是系统的高层结构设计成果,描述系统的组成构件、构件间的连接方式及其约束。架构设计的核心方法论是架构风格——为特定场景反复验证过的、可复用的架构模式。经典分类将架构风格分为五大类,每类各有代表风格:
| 架构风格大类 | 代表风格 | 典型适用场景 |
|---|---|---|
| 数据流风格 | 批处理序列、管道—过滤器 | 数据按序流转加工的批处理、流处理 |
| 调用 / 返回风格 | 主程序—子程序、面向对象(数据抽象)、层次结构 | 结构化程序、构件化系统、分层系统 |
| 独立构件风格 | 进程通信、事件系统(隐式调用) | 事件驱动、发布订阅类系统 |
| 虚拟机风格 | 解释器、基于规则的系统 | 需要自定义语言的系统、专家系统 |
| 仓库风格(数据中心) | 数据库系统、黑板系统、超文本系统 | 以数据为中心汇聚多构件的系统 |
分层架构是实际工程中最常用的架构形态(属于调用 / 返回风格中的层次结构):系统自上而下通常划分为展示层、业务逻辑层、数据访问层与数据库层。分层架构的本质是关注点分离——每层只负责一类职责,层与层之间通过明确定义的接口交互,从而降低耦合、提升可维护性与可复用性;其代价是调用链变长带来的性能开销,层次过多时反而臃肿。
高频陷阱:「管道—过滤器风格」属于数据流风格,命题人常把它错置于「独立构件风格」(利用"过滤器"字面上像构件的联想)或「仓库风格」。归类时看数据是否单向顺序流动,不看名字像什么。
4.2 需求分析:层次、获取与定义
软件需求是系统必须满足的条件与能力。教材将需求划分为三个层次,必须能准确区分:
- 业务需求:反映组织机构或客户对系统高层次的目标要求,回答"为什么要建这个系统",由最高管理层视角提出。
- 用户需求:描述用户使用系统必须要完成的任务,通常由用户用自己的语言表述。
- 系统需求:从系统角度说明软件的需求,包括功能需求、非功能需求(质量属性)与设计约束,是开发的直接依据。
需求工程活动按「需求获取 → 需求分析 → 需求定义(形成软件需求规格说明书 Software Requirements Specification, SRS)→ 需求验证(评审与需求测试)」展开。需求获取的常用方法包括用户访谈、问卷调查、采样、情节串联板、联合需求计划(Joint Requirements Planning, JRP)等,多种方法通常组合使用:访谈深入但成本高,问卷覆盖面广但难以深入,情节串联板(Storyboard)通过场景图帮助用户直观确认交互过程。
场景案例:一份写偏了的需求。背景:某软件公司为连锁健身房开发会员管理系统,分析师只向总部运营总监发放了问卷,就直接编写 SRS 开发。上线后店长集体投诉:前台刷卡入场的"到店核销"操作要点击七个页面,晚高峰排起长队。分析:需求获取只覆盖了管理层视角的"业务需求"(会员数据集中管理),完全没有获取一线店员的"用户需求"(快速核销),获取方法上缺少用户访谈与情节串联板这类能暴露真实操作场景的手段。结论:需求三层次要分别落实获取渠道——业务需求问高层、用户需求跑现场;方法要"问卷+访谈+串联板"组合拳,SRS 编写前应做需求评审,让各方干系人确认。
理解提示:SRS 是需求阶段的里程碑产物,也是后续设计、测试与验收的基准。案例题中"没有需求文档""需求没经评审就开发""用户没参与需求确认"都是标准失分点,可以直接引用作答。
4.3 软件设计:结构化设计与面向对象设计
结构化设计以数据流图为基础,将数据流映射为模块结构。映射前先判断数据流类型:变换流——信息沿输入路径进入系统,经内部加工变换后沿输出路径流出,采用变换分析方法设计;事务流——信息根据输入值选择多条加工路径中的一条执行,采用事务分析方法设计。模块设计的黄金准则是高内聚、低耦合:内聚衡量模块内部元素的关联程度,越强越好;耦合衡量模块之间的依赖程度,越弱越好。两者共同决定模块独立性。
面向对象设计以类与对象为基本构件,核心概念是封装、继承与多态:封装把数据与操作捆绑并隐藏内部实现,继承支持类之间复用属性与行为,多态使同一消息在不同对象上产生不同响应。与结构化设计相比,面向对象设计更贴近人对现实业务的认知方式,在需求易变、系统规模大的场景下更具优势;结构化设计则适合数据处理边界清晰、逻辑稳定的系统。两种方法不是新旧淘汰关系,而是适用场景不同的两条技术路线。
4.4 软件实现:编码规范与软件测试
软件实现阶段将设计转化为代码,编码应遵循编码规范以保证可读性与可维护性,并在编码过程中配合单元测试。本节的重头戏是软件测试,可从三个维度建立坐标系:
- 按是否运行程序:静态测试与动态测试。静态测试不运行程序,对文档与代码进行检查,代表方法是桌前检查、代码走查、代码审查;动态测试运行被测程序,通常所说的白盒、黑盒测试都属于动态测试。
- 白盒测试(结构测试):依据程序内部逻辑结构设计用例,代表方法是逻辑覆盖,覆盖强度由弱到强为:语句覆盖、判定覆盖、条件覆盖、判定 / 条件覆盖、条件组合覆盖,另有独立于强度的路径覆盖(基本路径测试)。语句覆盖是最弱的覆盖标准。
- 黑盒测试(功能测试):依据软件的功能说明设计用例,不关心内部结构,代表方法是等价类划分、边界值分析、错误推测法、因果图。
按测试阶段划分,软件测试自内而外依次为:单元测试 → 集成测试 → 确认测试 → 系统测试 → 验收测试:
| 测试阶段 | 测试对象与依据 | 关键要点 |
|---|---|---|
| 单元测试 | 单个模块,依据详细设计 | 需要驱动模块(模拟上级调用)与桩模块(模拟被调用的下级) |
| 集成测试 | 模块间接口,依据概要设计 | 组装策略:一次性组装、增殖式(自顶向下、自底向上、混合式 / 三明治) |
| 确认测试 | 整个软件产品,依据需求(SRS) | 验证是否满足用户可见的需求;α 测试是用户在开发场所、开发人员陪同下进行,β 测试是用户在实际使用环境中独立进行 |
| 系统测试 | 完整的、集成后的系统 | 将系统与其软硬件环境、网络等整体结合进行测试 |
| 验收测试 | 交付前的最终确认 | 用户按合同 / 验收准则进行,通过后进入部署交付 |
口诀:「单集确系验」。单元(模块)→ 集成(接口)→ 确认(对需求)→ 系统(整体环境)→ 验收(用户放行)。自内而外、先小后大,任何把「系统测试」排在「集成测试」之前或让「验收测试」居中的排列都是错的。集成策略再记一句:自顶向下配桩模块,自底向上配驱动模块——从上往下盖楼,楼下的"地基"是假的,所以用桩;从下往上盖,顶上的"caller"是假的,所以用驱动。
高频陷阱:①「逻辑覆盖」是白盒方法,命题人常把它塞进黑盒方法的选项组里;②静态测试三方法(桌前检查、走查、审查)容易被当作动态测试;③α / β 测试的位置容易记反——α 在开发方场所、β 在用户实际环境,恰好与希腊字母顺序对应的"先内后外"。
4.5 部署交付与过程管理
部署交付是把通过测试的软件安装到目标环境并移交给用户的活动:部署前要准备生产环境并完成部署方案,部署时要将软件、数据与环境配置到位,部署后要经过验证再正式切换运行;交付还包括对用户的培训、操作手册等文档的移交以及按验收准则组织的验收。系统上线切换的方式与第 4 章一致:直接切换、并行切换、分段切换,按业务风险容忍度选择。
过程管理关注"用什么过程来开发软件"。教材重点介绍三条主线:
- 敏捷方法:以人为核心、迭代增量地应对变化。典型代表 Scrum 设三类角色——产品负责人(Product Owner,负责管理与排序产品待办列表)、Scrum 主管(Scrum Master,负责推动 Scrum 正确实施、排除障碍)、开发团队(Team);以固定时长的冲刺(Sprint)迭代交付可用增量。
- DevOps:开发(Development)与运维(Operations)的融合,通过自动化流水线实现持续集成(Continuous Integration, CI)、持续交付(Continuous Delivery, CD),并强调开发、测试、运维的跨职能协作文化,缩短从代码提交到上线的周期。DevOps 不是某个工具,而是"文化 + 流程 + 工具自动化"的综合实践。
- 软件过程改进:参照能力成熟度模型(CMM / CMMI)评估与改进组织的过程能力,成熟度由低到高分五个等级,从无序的初始状态逐步走向制度化、量化与持续优化。
场景案例:小步快跑拯救烂尾风险。背景:某创业公司开发在线教育平台,最初采用"憋大招"模式:计划 8 个月一次交付全部功能。第 5 个月,投资方要求 1 个月内看到可演示版本,团队陷入恐慌。分析:需求变化频繁、上线周期长的产品适合敏捷方法——把大目标拆为若干冲刺,每个冲刺交付可运行的增量,用产品待办列表动态管理优先级;同时引入 CI 流水线,保证每次提交都自动构建测试。结果团队改用 Scrum:产品负责人按商业价值重排待办列表,第一个冲刺即交付"注册—听课"最小闭环。结论:过程方法的选择要匹配需求稳定性与交付节奏,这正是"过程管理"存在的意义。
五、数据工程
5.1 数据建模
数据建模按抽象程度分为三个层次,考试常考"某工具对应哪个层次":
| 模型层次 | 内容 | 代表工具 / 产物 |
|---|---|---|
| 概念模型 | 面向业务人员,描述现实世界的实体及其关系,与具体实现无关 | 实体—联系图(E-R 图) |
| 逻辑模型 | 面向系统设计,与具体数据库产品无关的数据结构描述 | 关系模式(如关系表结构定义) |
| 物理模型 | 面向具体 DBMS,描述数据在存储介质上的组织方式 | 物理表、索引、分区等存储设计 |
三层次自上而下逐步细化:先画 E-R 图与业务达成共识,再转换为关系模式,最后落地为具体数据库的物理设计。
5.2 数据标准化与数据运维
数据标准化解决"同数不同名、同名不同义"的问题,核心内容是对数据分类与编码、数据元及元数据(描述数据的数据)建立统一标准,使各方对数据的定义、格式与口径达成一致。数据标准是数据质量的前提——口径不统一,报表打架、统计失真随之而来。
数据运维保障数据在生存周期内安全、可用、可控,典型活动包括数据备份与恢复、数据归档与清理等。备份策略通常分为完全备份、增量备份、差分备份:完全备份最全但最耗资源;增量备份只备份上次备份以来变化的数据,速度最快但恢复时链条最长;差分备份备份自上次完全备份以来的全部变化,恢复复杂度居中。恢复演练是备份管理中最容易被忽视、也最能暴露问题的一环——没验证过恢复的备份等于没有备份。
5.3 数据开发利用
数据的价值在于用。数据开发利用通过数据仓库、数据挖掘、数据可视化与数据服务等手段,把数据转化为决策支持与业务创新:数据仓库面向主题、集成历史数据用于分析;数据挖掘从海量数据中发现规律与模式;数据可视化让分析结果可感知;数据服务则把数据能力以接口化方式开放给业务系统。数据开发利用与第 4 章 DCMM 的「数据应用」能力域直接呼应——数据管理是基础,开发利用是价值出口。
5.4 数据库安全
数据库安全是数据安全的最后一道技术防线,常用安全机制包括:用户标识与鉴别(验证"你是谁")、存取控制(授权决定"你能干什么",分为自主存取控制与强制存取控制)、视图机制(为不同权限的用户提供不同的数据视图,对无权用户屏蔽敏感数据)、审计(记录访问行为以备追责)、数据加密(存储与传输加密防止窃取后裸读)。这些机制与信息安全三要素的配对关系是:加密主要保保密性,完整性约束与事务机制保完整性,备份与容灾保可用性。
理解提示:视图机制的双重身份是易混点:在数据库安全语境下,它通过"只暴露该看的列与行"实现安全隔离;在开发语境下它又简化了复杂查询。考题问"保障无权用户看不到敏感数据",答视图机制;问"简化查询逻辑",答案语境不同,注意区分。
六、系统集成
6.1 集成基础与网络集成
集成基础:系统集成是根据用户需求,将计算机软件、硬件、网络通信、数据等分散的资源与技术和产品,合理地选择、组合与整合,形成一体化系统的过程。其要义有三:以满足用户需求为根本出发点、以整体性能最优而非单项技术最优为目标、交付的是完整的解决方案而非零散产品。
网络集成是系统集成的基础层:包括网络需求分析与方案设计、网络设备选型、结构化综合布线与网络管理等。结构化综合布线通常划分为工作区、水平布线、垂直干线、管理间、设备间、建筑群等子系统,将楼宇内的网络、语音等弱电布线统一规划、标准施工,做到一次布线、长期复用。
6.2 数据集成与软件集成
数据集成旨在打破"信息孤岛",让分散在各系统中的数据互联互通,常用手段包括数据抽取—转换—加载(Extract-Transform-Load, ETL)、建立数据仓库 / 数据集市汇聚分析数据、通过数据复制同步保持多库一致等。数据集成通常伴随数据标准化工作,否则"集成了但口径不一致",反而制造新的混乱。
软件集成(企业应用集成)按集成深度由浅入深分为四个层次,这是本章高频考点:
| 集成层次 | 集成内容 | 直观理解 |
|---|---|---|
| 表示集成 | 在用户界面层面整合多个系统的呈现,也称界面集成 | 统一门户:一个入口看到各系统页面 |
| 数据集成 | 在数据层面实现不同系统间数据的交换与共享 | 底层数据打通:多个系统共用一份数据 |
| 控制集成 | 在应用逻辑层面通过接口相互调用功能,也称应用集成 / API 集成 | 你的系统调用我的接口:下单系统调用库存系统 |
| 过程集成 | 跨系统的业务流程层面的集成 | 一个业务流程贯穿多个系统:从下单到发货到结算 |
口诀:「表数控过,由浅入深」。表示集成最浅(只统一"脸面"),过程集成最深(流程级打通)。判断层次看"整合的是什么":整合界面是表示,整合数据是数据,整合调用是控制,整合流程是过程。题目问"实现难度最大 / 集成程度最高",答案锁定过程集成。
6.3 应用集成
应用集成关注如何让异构应用互联互通、协同工作,技术路径以面向服务的架构(Service-Oriented Architecture, SOA)为代表:把应用能力封装为标准化的服务,通过服务接口松耦合地组合业务;Web 服务、企业服务总线(Enterprise Service Bus, ESB)、消息中间件等是典型支撑技术;随着云原生发展,微服务与 API 网关成为新一代应用集成的主流形态。应用集成与软件集成四层次的关系可以理解为:软件集成给出了"集成到多深"的层次模型,应用集成给出了"用什么架构实现深层次集成"的技术方案。
场景案例:门户好建,流程难通。背景:某集团先后上线了人事、财务、OA 三套系统。一期集成做了统一门户,员工一个账号登录三个系统的页面;二期要实现"入离职流程自动触发财务与账号变更",项目难度骤增。分析:一期是表示集成,只整合界面呈现,实现快、见效明显但价值有限;二期要求入离职这一业务流程贯穿人事、财务、OA 三个系统,属于过程集成,需要先经数据集成统一员工主数据,再通过服务接口(控制集成)打通系统间调用,最后以流程引擎编排业务流程。结论:集成层次的选择就是投入与价值的权衡——由"表"到"数"到"控"再到"过",每深一层,前一层通常是必要台阶。该案例是"集成层次判断"类考题的活教材。
七、安全工程
7.1 工程概述与安全系统
信息安全工程是用系统工程的思想和工程化的方法,建设满足安全需求的信息安全系统的过程。它与软件工程的根本区别在于视角:软件工程关注"功能如何建成",安全工程关注"在建设过程中如何把安全属性构建进去",要求安全与信息系统同步规划、同步建设、同步使用,而不是系统建成后再"打补丁"。
安全系统(信息安全系统)是一个技术与管理并重的体系:技术上覆盖物理环境、网络、主机、应用、数据等层面的防护;管理上包括安全策略、组织与职责、制度流程与人员安全等。系统的安全属性以第 4 章的三要素为核心——保密性、完整性、可用性,所有安全机制最终都服务于这三者。脱离管理谈技术,再强的设备堆叠也不构成安全系统,这是安全工程反复强调的基本观念。
7.2 工程基础
安全工程的实施依托信息系统安全工程(Information System Security Engineering, ISSE)方法,其过程与系统工程阶段对应:先从业务与威胁分析中发掘信息保护需求,再将需求转化为系统的安全功能定义,进而完成安全结构与机制设计,经过工程实施后对安全有效性进行验证。这一"需求 → 功能 → 设计 → 实施 → 验证"的推进逻辑,与第 4 章等级保护"定级、备案、建设整改、等级测评、监督检查"的工作环节在思想上同源:前者是工程视角的安全建设方法,后者是制度视角的合规要求,两者在真实项目中互相配合。
7.3 工程体系架构:一个中心、三重防护
等级保护 2.0 的技术体系架构概括为「一个中心、三重防护」,这是本章必须原文级记忆的结论:
| 架构组成 | 内容 | 防护思路 |
|---|---|---|
| 一个中心 | 安全管理中心 | 集中管控:统一管理策略、集中监测与审计,是防护体系的大脑 |
| 防护一:安全通信网络 | 通信网络层面的防护 | 保障网络传输与链路的安全可靠 |
| 防护二:安全区域边界 | 系统边界层面的防护 | 在区域边界实施访问控制、入侵防范等,把好"城门" |
| 防护三:安全计算环境 | 计算环境(主机、应用、数据)层面的防护 | 守住系统内部的操作与数据安全 |
三重防护由外而内构成纵深防御:网络是通道、边界是关口、计算环境是内核,管理中心居中统一指挥。加上安全物理环境的要求,共同构成等保 2.0 基本要求中的技术要求类别。此外,等保 2.0 在通用要求之外,针对云计算、移动互联、物联网、工业控制系统等新应用场景提出了扩展要求,实现"新老场景全覆盖"。
口诀:「一心三防:网络、边界、环境」。一个中心是安全管理中心(注意不是"安全运维中心"也不是"数据备份中心");三重防护按"通道路—城门—内核"的纵深顺序记忆:通信网络、区域边界、计算环境。命题人常拿"安全物理环境"冒充三重防护之一,或用"管理中心"之外的名称冒充中心——抓住原文即可免疫。
高频陷阱:「一个中心、三重防护」是技术架构层面的概括;「安全管理中心」同时也是一个具体的技术要求类别,与安全通信网络、安全区域边界、安全计算环境、安全物理环境并列为五大技术类别。考题问"三重防护"时只答网络 / 边界 / 计算环境三项,不要把物理环境带进去;问"技术要求类别"时才答五项。
八、典型案例分析
案例:W 公司智慧物流平台的工程全过程复盘。
背景:W 公司历时六个月开发了智慧物流平台,项目按期上线,但上线后问题不断:调度员反映部分报表数据与实际运单不符;与既有 ERP 系统的订单仍需人工二次录入;等保测评时被指出技术架构不满足要求,需要整改。公司请你复盘工程过程。
问题描述:①需求阶段仅凭一份问卷确定功能范围,未做需求评审;②开发完成后只组织了单元测试即上线;③新平台与 ERP 之间仅由业务员每天手工导出导入对账;④安全建设在开发完成后才启动,只部署了防火墙。
问题诊断(分点):
- 需求工程不完整。获取手段单一(只有问卷),缺少访谈、情节串联板等方法;SRS 未经过需求验证(评审),需求质量失控,为后续返工埋下隐患——报表不符首先是需求与数据口径未确认的问题。
- 测试阶段严重缺失。只有单元测试,缺少集成测试(模块间接口)、确认测试(对照 SRS 验证)、系统测试与验收测试,未形成"单集确系验"的完整链条。
- 系统集成层次停留在最低档。人工导出导入连表示集成都谈不上,更未实现数据集成;正确路径是先经数据集成打通订单主数据,再以控制集成(接口调用)、过程集成(业务流程)逐步深化。
- 安全工程未与建设同步。"先建设、后补安全"违背同步规划、同步建设、同步使用的要求;仅部署防火墙不构成纵深防御,应按"一个中心、三重防护"补齐安全管理中心及通信网络、区域边界、计算环境的防护。
改进建议(分点):补做需求评审并冻结基线,后续变更走需求变更流程;组织完整的集成 / 确认 / 系统 / 验收测试;与 ERP 按数据集成 → 控制集成 → 过程集成的路线分阶段打通;按等保 2.0 技术架构完成整改并通过测评;建立以 PDCA 为骨架的持续改进机制。
命题落点:本案可拆成"指出测试缺失阶段""判断当前集成层次并给出后续路线""按一个中心三重防护给出整改框架"三个小问,均对应本章高频考点,是案例分析式命题的典型模板。
九、考点速记卡
| 考点 | 必背结论 | 记忆抓手 | 考法 |
|---|---|---|---|
| 架构风格五分类 | 数据流(管道—过滤器)、调用 / 返回(层次结构)、独立构件(事件系统)、虚拟机(解释器)、仓库(黑板) | 每个名字对号入座 | 风格归类判断 |
| 分层架构 | 展示层、业务逻辑层、数据访问层、数据库层;本质是关注点分离 | 层间靠接口 | 特点 / 优缺点判断 |
| 需求三层次 | 业务需求(高层目标)、用户需求(用户任务)、系统需求(功能+非功能+约束) | 由抽象到具体 | 场景判断层次 |
| 需求获取方法 | 用户访谈、问卷调查、采样、情节串联板、联合需求计划 | 问卷+访谈组合 | 挑不属于的方法 |
| 数据流类型 | 变换流用变换分析,事务流用事务分析(结构化设计) | 单进单出 vs 多路选择 | 概念配对 |
| 模块独立性 | 高内聚、低耦合 | 内聚要强、耦合要弱 | 原文判断 |
| 静态测试 | 桌前检查、代码走查、代码审查(不运行程序) | 三件套 | 方法归属判断 |
| 白盒 / 黑盒 | 白盒=逻辑覆盖(语句最弱);黑盒=等价类、边界值、错误推测、因果图 | 逻辑覆盖属白盒 | 方法归类 |
| 测试五阶段 | 单元 → 集成 → 确认 → 系统 → 验收 | 单集确系验 | 排序 / 缺项判断 |
| 集成测试策略 | 自顶向下用桩模块,自底向上用驱动模块 | 上桩下驱 | 策略与配套模块配对 |
| α / β 测试 | α:用户在开发场所、开发人员陪同;β:用户在实际使用环境 | 先内后外 | 场景判断 |
| Scrum 角色 | 产品负责人、Scrum 主管、开发团队 | 没有"项目经理" | 挑不属于的角色 |
| 数据建模三层次 | 概念模型(E-R 图)→ 逻辑模型(关系模式)→ 物理模型 | E-R 在最上层 | 工具与层次配对 |
| 软件集成四层次 | 表示 → 数据 → 控制 → 过程,由浅入深;过程集成难度最大 | 表数控过 | 层次判断 / 排序 |
| 等保技术架构 | 一个中心=安全管理中心;三重防护=安全通信网络、安全区域边界、安全计算环境 | 一心三防 | 构成判断 / 挑错 |
本章自测 共 15 题
建议闭卷限时 18 分钟完成,再逐题展开解析核对。错题请回到教材对应小节,并把错因写入错题本。
考查范围:架构风格、需求层次与获取、结构化设计、软件测试(方法归属、阶段、集成策略)、Scrum 与 DevOps、数据建模、数据库安全、软件集成四层次、等保「一个中心、三重防护」。
1.在软件架构风格的经典分类中,"管道—过滤器"风格属于(考点:架构风格分类)
查看答案与解析
【为什么选 A】管道—过滤器风格中,数据沿"管道"在"过滤器"间单向顺序流动,每个过滤器完成一步加工,是典型的数据流风格;同类还有批处理序列。归类的依据是数据按序流转的形态,与"过滤器"一词的字面联想无关。
【B 错在哪】B 独立构件风格的代表是进程通信与事件系统(隐式调用),构件间通过事件松耦合交互,不存在数据沿固定管道顺序流动的特征。
【C 错在哪】C 虚拟机风格的代表是解释器与基于规则的系统,核心特征是"自建一个运行环境解释执行",与数据流无关。
【D 错在哪】D 仓库风格(数据中心风格)的代表是数据库系统、黑板系统、超文本系统,特征是各构件围绕中央数据交互,与管道的顺序流动不同。
2.关于分层架构,下列说法正确的是(考点:分层架构)
查看答案与解析
【为什么选 B】分层架构(展示层、业务逻辑层、数据访问层、数据库层)的本质就是关注点分离:每层只承担一类职责,通过明确定义的接口与相邻层交互,从而降低耦合、提升可维护性与可复用性。
【A 错在哪】A "越多越好"是绝对化表述;层次过多会拉长调用链、增加性能开销与维护负担,层数是权衡的结果。
【C 错在哪】C "各层直接互访"恰恰破坏分层——分层的价值就在于通过接口约束层间依赖,跨层直访会把耦合重新引入。
【D 错在哪】D 层次结构属于调用 / 返回风格,不是独立构件风格(其代表是进程通信、事件系统)。
3.某集团董事会提出"通过信息系统将集团客户服务水平提升到行业前三",这一要求在软件需求层次中属于(考点:需求三层次)
查看答案与解析
【为什么选 A】题干两个信号:提出者是最高层(董事会)、内容是高层次目标(行业前三)。业务需求正是"反映组织机构或客户对系统高层次的目标要求",回答"为什么建系统"。
【B 错在哪】B 用户需求描述具体用户使用系统必须完成的任务,由一线用户提出,如"客服要能在工单界面一键回呼客户",与董事会层面的目标表述不在一个层级。
【C 错在哪】C 功能需求是系统需求中描述系统"必须做什么"的部分,属于系统层面的细化,不是高层目标。
【D 错在哪】D 非功能需求(质量属性)描述性能、安全性等约束类要求,同样属于系统需求的组成,层次低于业务目标。
4.下列方法中,不属于需求获取阶段常用方法的是(考点:需求获取方法)
查看答案与解析
【为什么选 D】逻辑覆盖(语句、判定、条件覆盖等)是白盒测试设计用例的方法,属于软件测试活动,与需求获取无关;需求获取的常用方法是用户访谈、问卷调查、采样、情节串联板、联合需求计划等。
【A 错在哪】A 用户访谈是最基本、最深入的需求获取手段,是正式成员。
【B 错在哪】B 问卷调查覆盖面广、成本低,是正式成员,通常与访谈互补使用。
【C 错在哪】C 情节串联板通过场景图帮助用户直观确认交互过程,是教材明确列出的获取方法。
5.结构化设计中,衡量模块独立性的两个定性标准是(考点:模块独立性)
查看答案与解析
【为什么选 B】模块独立性由内聚与耦合共同衡量:内聚衡量模块内部元素的关联程度,越强越好;耦合衡量模块之间的依赖程度,越弱越好。追求目标是高内聚、低耦合。
【A 错在哪】A 抽象与求精是结构化设计的指导思想 / 原则,不是衡量模块独立性的定量 / 定性标准。
【C 错在哪】C 封装与继承是面向对象方法的基本概念,属于另一套技术体系的词汇。
【D 错在哪】D 信息隐藏与模块化也是设计原则层面的概念,不能像内聚、耦合那样直接用来"衡量"某个具体模块的独立性高低。
6.在白盒测试的逻辑覆盖中,覆盖强度最弱的是(考点:白盒逻辑覆盖)
查看答案与解析
【为什么选 A】语句覆盖只要求每条可执行语句至少被执行一次,对分支内部的真假组合不做任何约束,是逻辑覆盖中强度最弱的标准。强度由弱到强:语句 → 判定 → 条件 → 判定 / 条件 → 条件组合。
【B 错在哪】B 判定覆盖要求每个判定的真假分支都取到,比只"跑过"语句的语句覆盖强。
【C 错在哪】C 条件覆盖要求判定中每个条件的真假都取到,进一步约束了条件维度。
【D 错在哪】D 条件组合覆盖要求所有条件的真假组合都覆盖,是这组覆盖标准中强度最高的,方向与题干"最弱"相反。
7.下列测试方法中,与等价类划分、边界值分析属于同一类的是(考点:黑盒测试方法)
查看答案与解析
【为什么选 C】等价类划分、边界值分析是黑盒测试的代表方法;同类的还有错误推测法、因果图。错误推测法依赖测试经验推测易错场景设计用例,与题干两者同属黑盒方法。
【A 错在哪】A 逻辑覆盖(语句、判定、条件覆盖等)是白盒测试方法,依据程序内部逻辑设计用例。
【B 错在哪】B 基本路径测试根据程序控制流图设计路径用例,属于白盒测试。
【D 错在哪】D 桌前检查是静态测试方法(由程序员自查代码),既非黑盒也非动态测试。
8.某软件已完成各模块的单元测试,下一步应开展的测试是(考点:测试阶段顺序)
查看答案与解析
【为什么选 B】测试阶段按"单集确系验"顺序推进:单元测试之后紧接着是集成测试——将各模块组装起来,测试模块之间的接口,组装策略包括一次性组装与增殖式(自顶向下、自底向上、混合式)。
【A 错在哪】A 确认测试在集成测试之后,依据需求规格说明书验证整个软件产品是否满足用户可见需求,跳过集成直接确认,接口缺陷无法暴露。
【C 错在哪】C 系统测试在确认测试之后,把软件与软硬件环境、网络等整体结合测试,位置更靠后。
【D 错在哪】D 验收测试是交付前由用户按验收准则进行的最终测试,位于整条链的末端。
9.采用自顶向下的增殖式集成测试时,为模拟尚未集成的下层被调用模块,通常需要编写(考点:集成测试策略与配套模块)
查看答案与解析
【为什么选 B】自顶向下集成时,上层模块先测,但它调用的下层模块尚未集成,于是用"桩模块"模拟被调用的下级模块向上层返回结果——相当于先盖楼时为楼下的地基造的临时支撑。口诀"上桩下驱"。
【A 错在哪】A 驱动模块用于模拟上级调用者,是自底向上集成时所需(下层先测,顶上的调用者是空的,用驱动模块来调用它)——与题干方向正好相反,是本题最险的干扰项。
【C 错在哪】C "调试模块"不是教材术语,属于拼凑选项;调试是发现并修正缺陷的活动,与模拟模块无关。
【D 错在哪】D "基准模块"也不是集成测试的正式概念,属于用"听起来很专业"的生造词做干扰。
10.关于 α 测试与 β 测试,下列说法正确的是(考点:确认测试中的 α / β 测试)
查看答案与解析
【为什么选 C】教材原文级表述:α 测试是用户在开发场所、由开发人员陪同进行的测试;β 测试是用户在实际使用环境下进行的测试,开发人员通常不在现场。两者都属于确认测试阶段的活动,先 α 后 β。
【A 错在哪】A 把 α 说成"实际环境独立进行",这正是 β 测试的定义,属于典型的定义互换。
【B 错在哪】B 把 β 说成"开发场所陪同进行",又是 α 的定义,与 A 同样是互换陷阱。
【D 错在哪】D α / β 测试归属确认测试阶段,不是系统测试——归属阶段错位是本题埋的第三个坑。
11.下列角色中,不属于 Scrum 方法所定义的三类角色的是(考点:Scrum 角色)
查看答案与解析
【为什么选 D】Scrum 定义的三类角色是:产品负责人(Product Owner,负责产品待办列表的管理与排序)、Scrum 主管(Scrum Master,推动 Scrum 实施、为团队排除障碍)、开发团队(Team)。传统"项目经理"不是 Scrum 的正式角色——职能被拆分由产品负责人与 Scrum 主管分担。
【A 错在哪】A 产品负责人是三类正式角色之首,负责管理产品待办列表、决定优先级。
【B 错在哪】B Scrum 主管是正式角色,负责保证 Scrum 被正确实施、服务与赋能团队。
【C 错在哪】C 开发团队是正式角色,是跨职能、自组织地交付增量的主体。
12.关于 DevOps,下列说法正确的是(考点:DevOps)
查看答案与解析
【为什么选 B】DevOps 是开发(Development)与运维(Operations)的融合,核心是通过持续集成(CI)、持续交付(CD)等自动化流水线,加上跨职能协作文化,缩短从代码提交到上线的周期、提升交付质量与频率。
【A 错在哪】A 把 DevOps 等同于某个工具或产品,是以偏概全——工具自动化只是其组成部分,DevOps 是"文化+流程+工具"的综合实践。
【C 错在哪】C "取消运维"是绝对化的曲解;DevOps 恰恰是让开发与运维深度协作,而非取消任何一方。
【D 错在哪】D DevOps 与敏捷是互补关系:敏捷解决"开发侧快速响应需求",DevOps 把这种快速延伸到"构建—部署—运维"全链路,二者常配套使用而非对立。
13.在数据建模中,实体—联系图(E-R 图)主要用于建立(考点:数据建模三层次)
查看答案与解析
【为什么选 C】E-R 图描述现实世界的实体、属性与联系,与具体实现和数据库产品无关,是建立概念模型的标准工具,用于与业务人员达成共识。
【A 错在哪】A 物理模型描述数据在具体数据库管理系统中的存储组织(表、索引、分区),是建模的最底层,E-R 图不涉及存储细节。
【B 错在哪】B 逻辑模型是概念模型转换后的数据结构描述(如关系模式),已脱离业务语言、进入设计语言,E-R 图这一步还不到该层。
【D 错在哪】D "数学模型"不是数据建模三层次中的名词,属于跨领域概念混入。
14.某集团整合 ERP 与 CRM 系统,一期仅在统一门户中把两个系统的页面整合呈现,二期实现了两个系统订单数据层的共享,三期将实现订单履行业务流程跨系统贯通。其中实现难度和集成程度最高的是(考点:软件集成四层次)
查看答案与解析
【为什么选 C】软件集成四层次由浅入深为:表示集成(界面)→ 数据集成(数据共享)→ 控制集成(接口调用)→ 过程集成(业务流程贯通)。三期要求业务流程跨系统流转,属于过程集成,是集成程度与实现难度最高的层次。
【A 错在哪】A 一期只统一了"脸面"(门户页面整合),是表示集成,四层次中最浅的一层。
【B 错在哪】B 二期打通的是数据层共享,是数据集成,深于表示集成但仍浅于控制与过程集成。
【D 错在哪】D "难度相同"违背四层次由浅入深的递进关系,属于绝对化表述。
15.依据等级保护 2.0 的技术体系架构,"一个中心、三重防护"中的"三重防护"是指(考点:等保 2.0 技术架构)
查看答案与解析
【为什么选 B】"一个中心"指安全管理中心;"三重防护"指安全通信网络、安全区域边界、安全计算环境三重防护,由外而内构成纵深防御:网络是通道、边界是关口、计算环境是内核。
【A 错在哪】A 把"安全物理环境"塞进三重防护——物理环境是等保 2.0 技术要求类别之一,但不属于"三重防护"的表述,这是本题最典型的陷阱。
【C 错在哪】C "安全管理中心"是"一个中心",不能同时又算"三重防护"之一,选项把中心混进防护名单,构成自相矛盾。
【D 错在哪】D 安全管理制度、机构、人员属于等保管理要求的类别,与题干限定的"技术体系架构"不在同一层面。