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

news2025/1/10 20:39:15

文章目录

  • 前言
  • 结构化设计
    • 1、基本原则
    • 真题链接
    • 2、内聚与耦合
    • 真题链接
    • 3、系统结构/模块结构
    • 真题链接
    • 用户界面设计的黄金原则(补充)
    • 真题链接
    • 数据流图(补充)
    • 真题链接
    • 系统文档(补充)
    • 真题链接

前言


本系列文章为观看b站视频以及b站up主@zst_2001系列视频所做的笔记,感谢相关博主的分享。如有侵权,立即删除。
视频链接:视频链接(注:文章中有关图片等内容未标明出处均出自该视频)
b站up主页:b站up

结构化设计

1、基本原则

在这里插入图片描述

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

真题链接

  • 在软件设计阶段,划分模块的原则是:一个模块的作用范围应该在其控制范围之内
  • (注:下图来自《软件工程导论》(第6版)(张海藩、牟永敏主编,清华大学出版社))
    在这里插入图片描述
    (说明:当模块的作用范围不在其控制范围之内时的调整方法)

2、内聚与耦合

在这里插入图片描述

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

真题链接

  • 模块A直接访问模块B的内部数据,则模块A和模块B的耦合类型为 内容耦合
  • 公共耦合:通过公共数据环境相互作用的那些模块间的耦合。
  • 标记耦合:两个模块之间传递的是数据结构。
  • 耦合程度取决于各个模块之间接口的复杂程度调用模块的方式 以及 通过接口的信息类型 等。
  • 内容耦合:当一个模块直接使用另一个模块的内部数据,或通过非正常入口转入另一个模块内部时,这种模块之间的耦合称为内容耦合。
  • 逻辑内聚:模块内执行若干个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
  • 偶然内聚(巧合内聚):一个模块内的各处理元素之间没有任何联系。
  • 通信内聚:模块内的所有处理元素都在同一个数据结构上操作,或者各处理使用相同的输入数据或者产生相同的输出数据。
  • 过程内聚:一个模块完成多个任务,这些任务必须按指定的过程执行。
  • 顺序内聚:一个模块中的各处理元素都密切相关与同一个功能且必须顺序执行,前一功能元素的输出就是下一功能元素的输入。
  • 在划分软件系统模块时,应尽量做到 高内聚低耦合

3、系统结构/模块结构

在这里插入图片描述

  • (注:下图来自前言中up主视频)image
    (说明:模块分类)
  • (注:下图来自前言中up主视频)image
    (说明:结构化设计各阶段任务)

真题链接

  • 结构化开发方法中,过程设计 主要包含对数据结构和算法的设计。
  • 在采用结构化开发方法进行软件开发时,设计阶段接口设计主要依据需求分析阶段的 数据流图。接口设计的任务主要是 描述软件与外部环境之间的交互关系,软件内模块之间的调用关系
  • 结构图 是结构化设计的输出。
  • 结构图的基本成分包括 模块、调用和数据

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

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

真题链接

  • Theo Mandel在其关于界面设计的著作中提出了3条“黄金原则”:用户操纵控制;减少用户的记忆负担;保持界面一致
  • 采用MVC(模型-视图-控制器)体系结构进行软件系统开发的优点:有利于代码重用、提高系统的可维护性、提高系统的开发效率

数据流图(补充)

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

真题链接

  • 顶层数据流图描述了系统的 输入与输出
  • 在结构化分析中,用数据流图描述 数据在系统中如何被传送或变换,以及如何对数据流进行变换的功能或子功能,用于对功能建模
  • 数据字典有以下4类条目:数据流、数据项、数据存储和基本加工
  • 数据流图中的元素在 数据字典 中进行定义。
  • 在采用结构化方法进行系统分析时,根据分解与抽象的原则,按照系统中数据处理的流程,用 数据流图 来建立系统的逻辑模型,从而完成分析工作。
  • 利用结构化分析模型进行接口设计时,应以 数据流图 为依据。
  • 数据流图建模应遵循 自顶向下、从抽象到具体
  • 结构化分析的输出包括:数据流图、数据字典、加工逻辑

系统文档(补充)

  • (注:下图来自《软件设计师教程》(第5版)(褚华、霍秋艳主编,清华大学出版社))在这里插入图片描述

真题链接

  • 在开发信息系统时,用于系统开发人员与项目管理人员的主要文档是 系统开发计划
  • 系统开发计划用于系统开发人员与项目管理人员在项目期内进行沟通,它包括 PERT图预算分配表 等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1037698.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何使用 Git 进行多人协作开发(全流程图解)

文章目录 分支管理策略1.什么是Feature Branching?2.Feature Branching如何工作? 多人协作一:单分支1.准备工作2.创建分支3.在分支上开发4.分支合并5.清理 多人协作二:多分支1.创建分支2.在分支上开发3. pull request4.清理 在软件…

/usr/bin/ld: cannot find -lmysqlcllient

文章目录 1. question: /usr/bin/ld: cannot find -lmysqlcllient2. solution 1. question: /usr/bin/ld: cannot find -lmysqlcllient 2. solution 在 使用编译命令 -lmysqlclient时,如果提示这个信息。 先确认一下 有没有安装mysql-devel 执行如下命令 yum inst…

js对象属性

在面向对象的语言中有一个标志,那就是都有类,通过类可以创建任意多个相同属性、方法的对象。在js中没有类的存在,所以js中的对象,相对于类语言中对象有所不同。 js中定义对象为:“无序属性的集合,其属性可…

新版绿豆视频APP视频免授权源码 V6.6插件版

新版绿豆视频APP视频免授权源码 V6.6插件版 简介: 新版绿豆视频APP视频免授权源码 插件版 后端插件开源,可直接反编译修改方便 对接苹果cms,自定义DIY页面布局! 绿豆影视APP对接苹果cms 所有页面皆可通过后端自由定制 此版本后端源码 前…

二叉树创建、前序遍历、中序遍历、后序遍历、层序遍历

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<malloc.h> #define N 100 typedef char data_t;typedef struct tree {data_t data;//存放本节点数据struct tree* l_child;//存放左孩子节点地址struct tree* r_child;//存放右孩子节点地址 }Tree;Tre…

Zig实现Hello World

1. 什么是zig 先列出一段官方的介绍: Zig is a general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software. 大概意思就是说&#xff1a; Zig是一种通用编程语言和工具链&#xff0c;用于维护健壮、最佳和可重用的软件。 官…

电脑计算机xinput1_3.dll丢失的解决方法分享,四种修复手段解决问题

日常生活中可能会遇到的问题——xinput1_3.dll丢失的解决方法。我相信&#xff0c;在座的很多朋友都曾遇到过这个问题&#xff0c;那么接下来&#xff0c;我将分享如何解决这个问题的解决方法。 首先&#xff0c;让我们来了解一下xinput1_3.dll文件。xinput1_3.dll是一个动态链…

服务注册发现_高可用Eureka注册中心搭建

在微服务架构这样的分布式环境中&#xff0c;我们需要充分考虑发生故障的情况&#xff0c;所以在生产环境中必须对各个组件进行高可用部署&#xff0c;对于微服务如此&#xff0c;对于服务注册中心也一样。 问题&#xff1a; Spring-Cloud为基础的微服务架构&#xff0c;所有的…

vulhub venom

文章目录 靶场环境信息收集ftp服务二、信息利用三、任意文件上传三 sudo提权靶场环境 `vmware 靶场信息:https://www.vulnhub.com/entry/venom-1,701/ 下载地址:https://download.vulnhub.com/venom/venom.zip 新建虚拟机打开下载后的ovf文件 遇见导入失败合规性检查时,重试…

找不到d3dcompiler_43.dll,无法继续执行代码如何解决

d3dcompiler_47.dll 是一个与 DirectX 相关的动态链接库&#xff08;DLL&#xff09;&#xff0c;它包含了 DirectX 图形编译器的一些功能。当您的电脑出现 d3dcompiler_47.dll 丢失的情况时&#xff0c;可能会导致一些基于 DirectX 的游戏或应用程序无法正常运行。下面我们将介…

【刷题笔记9.24】LeetCode:只出现一次的数字

LeetCode&#xff1a;只出现一次的数字 一、题目描述 给你一个 非空 整数数组 nums &#xff0c;除了某个元素只出现一次以外&#xff0c;其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题&#xff0c;且该算法只使…

ImportError: Java package ‘edu‘ not found, requested by alias ‘edu‘

参考issue&#xff1a; https://github.com/ncbi-nlp/NegBio/issues/44 我目前的解决办法 pip uninstall jpype1 -y可以成功运行。

CCNP-OSPFv3

现在在企业中&#xff0c;用的IPv4居多&#xff0c;在我们的手机上&#xff0c;数据中心&#xff0c;运营商以及一些大企业用的都是IPv6&#xff1b; 为啥用IPv6啊&#xff0c;因为IPv4地址不够用&#xff0c;IPv4地址只有32bit&#xff0c;而IPv6足足有128bit&#xff1b; 那…

【23-24 秋学期】 NNDL 作业2

习题2-1 分析为什么平方损失函数不适用于分类问题&#xff0c;交叉熵损失函数不适用于回归问题 平方损失函数 平方损失函数&#xff08;Quadratic Loss Function&#xff09;经常用在预测标签&#x1d466;为实数值的任务中 表达式为&#xff1a; 交叉熵损失函数 交叉熵损失函…

RGB-D转3D点云原理及实现代码

在图像处理和计算机视觉领域&#xff0c;RGBD 是指结合图像颜色和深度信息的数据格式。文本介绍如何使用Python将RGBD数据转换为3D点云&#xff0c;可以使用 NSDT 3DConvert 在线查看3D点云或者进行格式转换&#xff1a; 1、RGBD 颜色深度 缩写 RGB 代表三基色通道&#xf…

Unity中Shader用到的向量的乘积

文章目录 前言一、向量的乘法1、点积2、差积 二、点积&#xff08;结果是一个标量&#xff09;1、数学表示法2、几何表示法 三、叉积1、向量叉积的结果 与 两个相乘的向量互相垂直2、判断结果正负方向的方法&#xff1a;右手法则 前言 Unity中Shader用到的向量的点积 一、向量…

华为OD机试 - 最小传输时延 - 深度优先搜索DFS(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明计算源节点1到目的节点5&#xff0c;符合要求的时延集合 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&…

Gnomon绑定基础(约束 IK 节点)

点约束 方向约束 父约束 目标约束 修改后 对象方向 IK控制柄 直的骨骼&#xff0c;指定IK怎么弯曲 直的骨骼&#xff0c;指定IK怎么弯曲 样条曲线 数学节点 乘除节点 混合节点 注意

免杀对抗-无文件落地分离拆分-文本提取+加载器分离+参数协议化+图片隐写

无文件落地&分离拆分 无文件落地&分离拆分其实就是内存免杀&#xff0c;内存免杀是将shellcode直接加载进内存&#xff0c;由于没有文件落地&#xff0c;因此可以绕过文件扫描策略的查杀。为了使内存免杀的效果更好&#xff0c;在申请内存时一般采用渐进式申请一块可读…

Mysql数据库SQL语句与管理

Mysql数据库基本语句与管理 1、常用的数据类型2、数据库管理3、SQL语句3.1语言分类3.2sql语句 4、DQL查询数据记录4.1查询4.2修改4.3删除4.4alter修改 5、总结 1、常用的数据类型 数据类型 &#xff08;1&#xff09;int&#xff1a;整型 用于定义整数类型的数据 &#xff08;…