系统分析与设计概念
选择题1分左右
结构化开发方法:结构化方法由结构化分析、结构化设计、结构化程序设计构成,它是一种面向数据流(数据的流向)的开发方法。
- 结构化分析是用数据流图DFD来建立系统的功能模型。
- 结构化设计是用软件结构图来建立系统的物理模型,实现系统的概要设计。
- 结构化程序设计使用3种基本控制结构构造程序。if...else,while循环,do{}while使用中文的形式类似伪代码的形式来构建程序,案例分析会考
系统分析:是一种问题求解技术,它将一个系统分解成各个组成部分,目的是研究各个部分如何工作、交互,以实现其系统目标。
目的和任务:系统分析的主要任务是对现行系统进一步详细调查,将调查中所得到的文档资料集中,对组织内部整体管理状况和信息处理过程进行分析,为系统开发提供所需的资料,并提交系统方案说明书(系统分析报告)。
系统开发的目的:是将现有系统的物理模型转换为目标系统的物理模型。(书本原话,但是个人觉得有问题,有可能一开始就没有系统。应该是构建目标系统的物理模型)
系统分析阶段的主要工作分为以下几步。
- 对当前系统进行详细调查,收集数据。
- 建立当前系统的逻辑模型。
- 对现状进行分析,提出改进意见和新系统应达到的目标。
- 建立新系统的逻辑模型。
- 编写系统方案说明书。
系统设计基本原理
系统设计基本原理:
-抽象:把现实中的业务抽象到信息系统中
- 模块化:可组合、分解和更换的单元
- 信息隐蔽:将每个程序的成分隐蔽或封装在一个单一的设计模块中
- 模块独立:每个模块完成一个相对独立的特定子功能,且与其他模块之间的联系简单
模块的设计要求独立性高,就必须高内聚,低耦合
- 内聚是指一个模块内部功能之间的相关性
- 耦合是指多个模块之间的联系
内聚
考点需要记
内聚程度从低到高如下表所示:
内聚分类 | 定义 | 记忆 |
---|---|---|
偶然内聚 | 一个模块内的各处理元素之间没有任何联系 | 无直接关系 |
逻辑内聚 | 模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能 | 逻辑相似、参数决定 |
时间内聚 | 把需要同时执行的动作组合在一起形成的模块。 | 同时执行 |
过程内聚 | 一个模块完成多个任务,这些任务必须按指定的过程程序执行 | 指定的过程顺序 |
通信内聚 | 模块内的所有处理元素都在同一个任务 | 相通数据结构、相通输入输出 |
顺序内聚 | 一个模块中各个处理元素都密切相关同一功能且必须顺序执行,前一个功能元素的输出就是下一个功能元素的输入 | 顺序执行、输入为输出 |
功能内聚 | 最强的内聚,模块内的所有单元共同作用完成一个功能,缺一不可 | 共同作用、缺一不可 |
耦合
考点需要记
耦合程度从低到高如下表所示:
耦合分类 | 定义 | 记忆 |
---|---|---|
无直接耦合 | 两个模块之间没有直接的关系,它们分别从属于不同模块的控制与调用,不传递任何信息。 | 无直接关系 |
数据耦合 | 两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言中的值传递。 | 传递数据值调用 |
标记耦合 | 两个模块之间传递的是数据结构 | 传递数据结构 |
控制耦合 | 一个模块调用另一个模块时,传递的是控制变量 | 软件外部环境 |
外部耦合 | 模块间通过软件之外的环境联合(如I/O将模块耦合到特定的设备、格式、通信协议上) | 软件外部环境 |
公共耦合 | 通过一个公共数据环境相互作用的那些模块间的耦合 | 外部公共数据 |
内容耦合 | 当一个模块直接使用另一个模块的内部数据。或通过非正常入口转入另一个模块内部时 | 模块内部关联 |
练习题
例:模块A、B和C都包含相同的5个语句,这些语句之间没有联系为了避免重复把这5个语句抽取出来组成一个模块D,则模块D的内聚类型为()内聚。
A.功能
B.通信
C.逻辑
D.巧合
答案D
巧合内聚就是偶然内聚
例:如下图所示,模块八和模块B都访问相同的全局变量和数据结构,则这两个模块之间的耦合类型为()耦合。
A.公共
B.控制
C.标记
D数据
答案C
【2022年】若模块A和模块B通过外部变量来交换输入、输出信息,则这两个模块的耦合类型是(31)耦合。
A.数据
B.标记
C.控制
D.公共
答案D
【2023年】若模块A通过控制参数来传递信息给模块B,从而确定执行模块B中的哪部分语句。则这两个模块的耦合类型是()耦合
A.数据
B.标记
C.控制
D.公共
答案C