本文最后更新于 1 年前 ,文中信息可能已经过时。如有问题请在评论区留言。

一 章节知识架构图

ab3c4a87ead1e6491f4b5f4af243e18e

二 结构化方法

结构化方法也称为生命周期法,由结构化分析、结构化设计和结构化程序设计三部分组成。

优点:开发目标清晰化、开发工作阶段化、开发文档规范化、设计方法结构化。
缺点:开发周期长、难以适应需求变化、很少考虑数据结构。

三 结构化分析

结构化分析:自顶向下,逐层分解、模块化、面向数据流。DFD 数据流图、E-R 图

面向对象分析:复用性好。用例与用例图

3.1 数据流图

顶层数据流图:展示系统大概得功能

0 层数据流图

3.1.1 数据流图说明

f56aec08ee5693552ae8943b51a26eb8

3.1.2 数据流图注意事项

名称注意事项
数据流数据流的流向:
① 从一个加工流向另一个加工
② 从加工流向数据存储(写)
③ 从数据存储流向加工(读)
④ 从外部实体流向加工(输入)
⑤ 从加工流向外部实体(输出)
加工加工要有输入输出:
① 有输入没有输出 —— 黑洞
② 有输出没有输入 —— 奇迹
③ 输入不足以产生输出 —— 灰洞
外部实体外部实体可以是人、物品、其他系统

3.2 数据字典

数据字典有以下 4 类条目:数据流、数据项、数据存储和基本加工

ac1d46f9b39349a741f87f07cc9378c3

客户基本信息=客户编号+客户姓名+身份证号码+手机+地址

查询要求=[航班号 | 起降地]

四 结构化设计

4.1 概要设计

确定每个模块的功能和调用关系,形成软件的模块结构图,即SC 系统结构图。

文档:概要设计说明书、数据库设计说明书、用户手册、修订测试计划。

4.2 详细设计

为每个具体任务选择适当的技术手段和处理方法的过程。强调模块内的设计。

真题示例 - 4.1

判定表和判定树常用于描述数据流图的()。

A. 数据存储   B. 外部实体   C. 加工逻辑   D. 循环操作

五 内聚与耦合

c0909a94fe810b96e13896e8d90875f9

5.1 内聚

模块的内聚类型通常可以分七种,根据内聚度从低到高排序。

内聚类型描述
偶然(巧合)内聚)指一个模块内的各处理元素之间没有任何联系。例如:三条不相关的语句(move ) to R,read file F,move S to T),模块 B 和 C 需要都使用这三条语句。于是将这三条语句提取出来形成模块 A。模块 A 的语句就是偶然内聚。
逻辑内聚指模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。例如:将功能上相似的模块 B、C、D,放在一个模块中,模块 A 需要用不同的参数去调用具体的模块去完成相应的功能。相当于进行次判断。
时间内聚把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。例如:初始化
过程内聚指一个模块完成多个任务,这些任务必须按指定的过程执行。例如:先写姓名 -> 电话 -> 家庭住址,先后顺序符合客户需求
通信内聚指模块内的所有元素都在同一数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据。例如:一个模块根据员工生日计算员工年龄和退休时间
顺序内聚指一个模块中的各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。例如:先计算员工的年龄再计算退休时间
功能内聚这是最强的内聚,指模块内的所有元素共同完成一个功能,缺一不可

5.2 耦合

模块的耦合类型通常也分为七种,根据耦合度从低到高排序。

耦合类型描述
无直接耦合指两个模块之间没有直接的关系,它们从属于不同模块的控制与调用,它们之间不传递任何信息。因此,模块间耦合性最弱
数据耦合指两个模块之间有调用关系,传递的是最简单的数据值,相当于高级语言中的值传递
标记耦合指两个模块之间传递的是数据结构。相当于传址过程。
控制耦合指一个模块调用另一个模块时,传递的是控制变量,被调用模块通过该控制变量的值有选择地执行模块内的某一功能。因此,被调用模块应具有多个功能,哪个功能起作用受调用模块控制。
外部耦合模块间通过软件之外的环境联结(如 I/O 将模块耦合到特定的设备、格式、通信协议上)时称为外部耦合
公共耦合指通过一个公共数据环境相互作用的那些模块间的耦合。公共数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
内容耦合当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部,这种模块之间的耦合称为内容耦合。例如:将模块 A 的输入放到模块 B 中,将模块 B 的输入放到模块 A 中。

真题示例 - 5.1

一组无逻辑关系的语句在程序中多处出现,为了节省存储空间,把这些语句放在一个模块中,该模块的内聚是()。

A. 逻辑内聚   B. 偶然内聚   C. 过程内聚   D. 通信内聚

真题示例 - 5.2

某医院预约系统的部分需求为:患者可以查看医院发布的专家特长介绍及其就诊时间;系统记录患者信息,患者预约特定时间就诊。用 DFD 对其进行功能建模时,患者是();用 ERD 对其进行数据建模时,患者是()。

A. 外部实体   B. 加工   C. 数据流   D. 数据存储

A. 实体   B. 属性   C. 联系   D. 弱实体

案例分析

问题 1:【外部实体】使用说明中的词语,给出图中的实体名称
问题 2:【数据存储】使用说明中的词语,给出图中的数据存储的名称
问题 3:【数据流】根据说明和图中词语,补充图中缺失的数据流及其起点和终点
问题 4:【其他】增加/拆分某个加工,或考察基础和知识点。

真题示例

试题一(共 15 分)
阅读下列说明和图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。
【说明】某现代农业种植基地为进一步提升农作物种植过程的智能化,欲开发智慧农业平台,集管理和销售于一体,该平台的主要功能有:

  1. 信息维护。农业专家对农作物、环境等监测数据的监控处理规则进行维护。
  2. 数据采集。获取传感器上传的农作物长势、土壤详情、气候等连续监测数据,解析后将监测信息进行数据处理、可视化和存储等操作。
  3. 数据处理。对实时监测信息根据监控处理规则进行监测分析,将分析结果进行可视化并进行存储、远程控制;对历史监测信息进行综合统计和预测,将预测信息进行可视化和存储。
  4. 远程过程。根据监控处理规则对分析结果进行判定,依据判定结果自动对控制器进行远程控制。平台也可以根据农业人员提供的控制信息对控制器进行远程控制。
  5. 可视化。实时向农业人员展示监测信息;实时给农业专家展示统计分析结果和预测信息或根据农业专家请求展示。

现在采用结构化方法对智慧农业平台进行分析与设计,获得如图 1-1 所示的上下文数据流图和图 1-2 所示的 0 层数据流图。

9150996120bc225ab0b1d43383b5bd6b

a5663b79e948f726169cee9e97d40b4b

【问题 1】(4 分)
使用说明中的词语,给出图 1-1 中的实体 E1 ~ E4 的名称。
【问题 2】(4 分)
使用说明中的词语,给出图 1-2 中的数据存储 D1 ~ D4 的名称。
【问题 3】(4 分)
根据说明和图中术语,补充图 1-2 中缺失的数据流及其起点和终点。
【问题 4】(3 分)
根据说明,“数据处理” 可以分解为哪些子加工?进一步进行分解时,需要注意哪三种常见的错误?

真题答案

题号答案
4.1C
5.1B
5.2A、A

案例分析

【问题 1】
E1:传感器   E2:农业专家   E3:农业人员   E4:控制器
【问题 2】
D1:监控处理规则表   D2:监测信息表   D3:分析结果表   D4:预测信息表
【问题 3】
起点 D1,终点 P4,监测规则
起点 E2,终点 P5,请求
起点 D3,终点 P5,分析结果
起点 D4,终点 P5,预测信息
【问题 4】
数据处理加工分为数据分析,可视化与存储
黑洞、奇迹、灰洞