[toc]
软件设计师笔记06_结构化开发方法_精简考点
科目一考试中占2分左右,但是科目二占一道大题。
知识点结构图如下 
系统分析概述
系统分析是一种问题求解技术,它将一个系统分解成各个组成部分,目的是研究各个部分如何工作、交互,以实现其系统目标。
系统分析的目的和任务
简而言之,系统分析就是调查,收集资料,分析,并给出系统分析报告(系统方案说明书)。
系统分析的主要步骤
系统分析的主要分为以下五步:
- 对当前系统进行详细的调查,收集数据。
- 建立当前系统的逻辑模型。
- 对现状进行分析,提出改进意见和新系统应达到的目标。
- 建立新系统的逻辑模型。
- 编写系统方案说明书
系统结构设计原则
为保证总体结构设计顺利完成,应遵循以下几条原则。
- (1)分解-协调原则。
- (2)自顶向下的原则。
- (3)信息隐蔽、抽象的原则。
- (4)一致性原则。
- (5)明确性原则。
- (6)模块之间的耦合尽可能小,模块的内聚度尽可能高。
- (7)模块的扇入系数和扇出系数要合理。
- (8)模块的规模适当。
系统设计的基本原理
(1)抽象。 (2)模块化。 (3)信息隐蔽。 (4)模块独立:低耦合、高内聚。
耦合性和内聚性 ⭐️⭐️⭐️
衡量模块独立程度的标准有两个:耦合性和内聚性。应尽量做到高内聚、低耦合,提高模块的独立性。
耦合性
耦合性是指模块与模块之间的联系紧密程度。
每种耦合类型介绍如图所示 
记忆点
- 数据耦合:通过数据传递来实现模块之间的联系。
- 标记耦合:传递数据结构
- 控制耦合:传递控制变量。
- 外部耦合:通过外部环境来实现模块之间的联系。
- 公共耦合:通过同一个公告数据环境来实现模块之间的联系。
- 内容耦合:一个模块直接调用另一个模块。
内聚性
内聚性是指模块内部元素之间联系的紧密程度。
每种内聚类型介绍如图所示 

记忆点
- 偶然内聚:模块内部元素之间无任何联系。
- 顺序内聚:按顺序执行
- 通信内聚:元素都处理同一个数据区域。
- 过程内聚:按过程完成任务。
- 功能内聚:为了完成同一个功能,元素缺一不可。
例题
例题1 : 模块A通过非正常入口转入模块B内部,则这两个模块之间是()耦合。
正确答案 内容耦合
例题2 : 若模块A通过控制参数来传递信息给模块B,从而确定执行模块B中的哪部分语句,则这两个模块的耦合类型是( )耦合。
正确答案 控制耦合
[2025年上半年] 某模块的各个部分,前一部分处理的输出是后一部分处理的输入,则该模块的内聚类型为( )。
- A 顺序内聚
- B 功能内聚
- C 通信内聚
- D 巧合内聚
正确答案 A
子系统划分的原则
- (1)子系统要具有相对独立性。
- (2)子系统之间数据的依赖性尽量小。
- (3)子系统划分的结果应使数据冗余较小。
- (4)子系统的设置应考虑今后管理发展的需要。
- (5)子系统的划分应便于系统分阶段实现。
- (6)子系统的划分应考虑到各类资源的充分利用。
模块设计原则
- 保持模块的大小适中。
- 尽可能减少调用的深度。
- 多扇入,少扇出。
- 单入口,单出口。
- 模块的作用域应该在模块之内【作用域在控制域内】。
- 功能应该是可预测的。
结构化分析
结构化分析的输出包括数据流图、数据字典和加工逻辑。
其中数据字典用来描述DFD中的每个数据流、文件以及组成数据流或文件的数据项,包括4类条目:数据流、数据项、数据存储和基本加工。
数据流图 DFD
科目二中常考。相关笔记再科目二中。
真题
- 某考试系统的部分功能描述如下,审核考生报名表,通过审核的考生登录系统,系统自动为其生成一套试题,考试中心提供标准答案,问卷老师问卷,提交考生成绩,考生查看自己的成绩。若用数据流图对该系统进行建模,则( 试题 )不是外部实体。
- 结构化分析的输出不包括( 结构图 )。
- 某医院预约系统的部分需求为:患者可以查看医院发布的专家特长介绍及其就诊时间:系统记录患者信息,患者预约特定时间就诊。用DFD对其进行功能建模时,患者是( 外部实体 );用ERD对其进行数据建模时,患者是( 实体 )。
- 以下关于数据流图中基本加工的叙述,不正确的是( 加工规格说明需要给出实现加工的细节 )
- 绘制分层数据流图(DFD)时需要注意的问题中,不包括( 图中要表示出控制流 )。
- 结构化分析方法中,数据流图中的元素在( 数据字典 )中进行定义。
- 数据流图建模应遵循( 自顶向下、从抽象到具体 )的原则。
- 某零件厂商的信息系统中,一个基本加工根据客户类型、订单金额、客户信用等信息的不同采取不同的行为,此时最适宜采用( 判定表 )来描述该加工规格说明。
- 模块A提供某个班级某门课程的成绩给模块B,模块B计算平均成绩、最高分和最低分,将计算结果返回给模块A ,则模块B在软件结构图中属于( 变换 )模块。
- 某航空公司拟开发一个机票预订系统, 旅客预订机票时使用信用卡付款。付款通过信用卡公司的信用卡管理系统提供的接口实现。若采用数据流图建立需求模型,则信用卡管理系统是( 外部实体 )。
- 下列关于结构化分析方法的数据字典中加工逻辑的叙述中,不正确的是( 加工逻辑必须描述实现加工的数据结构和算法 )。
- 在采用结构化方法进行系统分析时,根据分解与抽象的原则,按照系统中数据处理的流程,用 ( 数据流图 )来建立系统的逻辑模型,从而完成分析工作。
- 结构化开发方法中,( 过程设计 )主要包含对数据结构和算法的设计。
- 结构化设计方法中使用结构图来描述构成软件系统的模块以及这些模块之间的调用关系。结构图的基本成分不包括( 控制 )。
- 在软件设计阶段进行模块划分时,一个模块的( 作用范围应该在其控制范围之内 )。
