【软件设计师-从小白到大牛】上午题基础篇:第五章 结构化开发方法

简介: 在结构化分析中,用数据流图描述 数据在系统中如何被传送或变换,以及如何对数据流进行变换的功能或子功能,用于对功能建模。数据字典有以下4类条目:数据流、数据项、数据存储和基本加工。

结构化设计

1、基本原则

image.png


模块的作用范围应该在其控制范围之内=模块的作用域应该在模块之内。

真题链接

在软件设计阶段,划分模块的原则是:一个模块的作用范围应该在其控制范围之内。

(注:下图来自《软件工程导论》(第6版)(张海藩、牟永敏主编,清华大学出版社))

d7ce30c0b128345c73ba4e935db059c1_03d8603124b94c92af45ff6cd2fc231a.jpeg

(说明:当模块的作用范围不在其控制范围之内时的调整方法)

2、内聚与耦合

image.png


内容耦合的耦合程度最高;非直接耦合的耦合程度最低。


真题链接

模块A直接访问模块B的内部数据,则模块A和模块B的耦合类型为 内容耦合。

公共耦合:通过公共数据环境相互作用的那些模块间的耦合。

标记耦合:两个模块之间传递的是数据结构。

耦合程度取决于:各个模块之间接口的复杂程度、调用模块的方式 以及 通过接口的信息类型 等。

内容耦合:当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部时,这种模块之间的耦合称为内容耦合。

逻辑内聚:模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。

偶然内聚(巧合内聚):一个模块内的各处理元素之间没有任何联系。

通信内聚:模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据。

过程内聚:一个模块完成多个任务,这些任务必须按指定的过程执行。

顺序内聚:一个模块中的各处理元素都密切相关与同一个功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。

在划分软件系统模块时,应尽量做到 高内聚低耦合。

3、系统结构/模块结构

image.png


(注:下图来自前言中up主视频)

23d4926d5490218d5fa57c8628b2d5f7_5652eb80b54d4727bc752ae082649a07.png

(说明:模块分类)

(注:下图来自前言中up主视频)

7754757f2fea3529e4bea79dec95c3b5_8c522264645a4fada94a8c8562c9214c.png

(说明:结构化设计各阶段任务)

真题链接

结构化开发方法中,过程设计 主要包含对数据结构和算法的设计。

在采用结构化开发方法进行软件开发时,设计阶段接口设计主要依据需求分析阶段的 数据流图。接口设计的任务主要是 描述软件与外部环境之间的交互关系,软件内模块之间的调用关系。

结构图 是结构化设计的输出。

结构图的基本成分包括 模块、调用和数据。

用户界面设计的黄金原则(补充)

Theo Mandel在其关于界面设计的著作中提出了3条“黄金原则”:用户操纵控制;减少用户记忆负担;保持界面一致。

真题链接

Theo Mandel在其关于界面设计的著作中提出了3条“黄金原则”:用户操纵控制;减少用户的记忆负担;保持界面一致。

采用MVC(模型-视图-控制器)体系结构进行软件系统开发的优点:有利于代码重用、提高系统的可维护性、提高系统的开发效率。

数据流图(补充)

注:具体理论内容见下午基础篇:数据流图。


真题链接

顶层数据流图描述了系统的 输入与输出。

在结构化分析中,用数据流图描述 数据在系统中如何被传送或变换,以及如何对数据流进行变换的功能或子功能,用于对功能建模。

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

数据流图中的元素在 数据字典 中进行定义。

在采用结构化方法进行系统分析时,根据分解与抽象的原则,按照系统中数据处理的流程,用 数据流图 来建立系统的逻辑模型,从而完成分析工作。

利用结构化分析模型进行接口设计时,应以 数据流图 为依据。

数据流图建模应遵循 自顶向下、从抽象到具体。

结构化分析的输出包括:数据流图、数据字典、加工逻辑。

系统文档(补充)

(注:下图来自《软件设计师教程》(第5版)(褚华、霍秋艳主编,清华大学出版社))

46cd8868a0a504f9ea1f4da99cf03259_cd2fb45a654f4f1a89e853b819775274.jpeg

目录
相关文章
|
Web App开发
在 HTML 中禁用 Chrome 浏览器的 Google 翻译功能
在 html 标签中添加 translate=“no” 属性,浏览器将不会翻译整个页面。
675 0
|
人工智能 机器人 UED
AIGC革新,将文字或者LOGO融入AI视频基于PIKA-labs(Python3.10)
很多平台都会禁止用户使用带有网址或者二维码的头像以及文章配图,这样可以有效的防止用户的一些“导流”行为。当然,头像、文章或者视频现在都是AI来审,毕竟现在人工的成本实在太高,但是如果我们把文字元素直接融入图像或者视频之中,如此一来,AI也会很难识别出一些“导流”的元素。 本次我们依靠PIKA-labs平台,无需本地环境,直接简单粗暴输出带有文字元素的光影视频效果,基于Python3.10。
AIGC革新,将文字或者LOGO融入AI视频基于PIKA-labs(Python3.10)
|
敏捷开发 中间件 数据处理
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(1)
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(1)
271 0
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(1)
|
程序员 项目管理 监控
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(3)
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)
196 0
【软件设计师-从小白到大牛】上午题基础篇:第六章 软件工程基础(重点中的重点)(3)
|
Linux 图形学 Windows
Linux(入门)---001.desktop文件教程
Linux(入门)---001.desktop文件教程
788 1
|
算法 C语言 C++
KMP学习(持续更新)
KMP学习(持续更新)
133 0
|
存储 自然语言处理 算法
【软件设计师—基础精讲笔记6】第六章 结构化开发方法
【软件设计师—基础精讲笔记6】第六章 结构化开发方法
815 0
|
8月前
|
JavaScript
jQuery仿方块人物头像消除游戏源码
jQuery人物头像迷阵消除游戏代码是一款类似《宝石迷阵》类的方块消除类型的小游戏源码。
1266 13
|
10月前
|
安全 网络安全
网络漏洞
指硬件、软件或策略上的缺陷,这种缺陷导致非法用户 未经授权而获得访问系统的权限或提高其访问权限。有了这种访问权限,非法用户就可以为所欲为,从而造成对网络安全的威胁。 区别于后门。后门:是软硬件制造者为了进行非授权访问而在程序中故意设置的万能访问口令,这些口令无论是被攻破,还是只掌握在制造者手中,都对使用者的系统安全构成严重的威胁。 漏洞与后门是不同的,漏洞是难以预知的,后门则是人为故意设置的。
|
SQL Java 数据库连接
成功解决:was not registered for synchronization because synchronization is not active
这篇文章是关于解决Mybatis在同步过程中出现"was not registered for synchronization because synchronization is not active"错误的技术博客。
成功解决:was not registered for synchronization because synchronization is not active