5.9.结构化开发方法-系统分析与设计概述

系统分析与设计概念

选择题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

相关推荐
架构师Wu老七8 小时前
【软考】系统架构设计师-信息系统基础
系统架构·软考·系统架构设计师·信息系统基础
萨达大21 小时前
23种设计模式-模板方法(Template Method)设计模式
java·c++·设计模式·软考·模板方法模式·软件设计师·行为型设计模式
架构师Wu老七2 天前
【软考】系统架构设计师-信息安全技术基础
网络·安全·web安全·软考·系统架构设计师
萨达大2 天前
23种设计模式-备忘录(Memento)设计模式
java·c++·设计模式·软考·备忘录模式·软件设计师·行为型设计模式
萨达大2 天前
23种设计模式-访问者(Visitor)设计模式
java·c++·设计模式·软考·访问者模式·软件设计师·行为型设计模式
it技术分享just_free2 天前
软考教材重点内容 信息安全工程师 第 4 章 网络安全体系与网络安全模型
网络安全·信息安全·软考·网络安全模型
萨达大3 天前
23种设计模式-状态(State)设计模式
c++·设计模式·状态模式·软考·软件设计师·行为型设计模式
架构师Wu老七4 天前
【软考】系统架构设计师-数据库设计基础
数据库·软考·系统架构设计师
架构师Wu老七5 天前
【软考】系统架构设计师-计算机系统基础(4):计算机网络
计算机网络·系统架构·软考·系统架构设计师
架构师Wu老七5 天前
【软考】系统架构设计师-计算机系统基础(2):操作系统
系统架构·操作系统·软考·系统架构设计师