软件工程-第5章 结构化设计

5.1 总体设计的目标及其表示方法

5.2 总体设计

变换设计基本步骤:

第1步:设计准备--复审并精华系统模型;

第2步:确定输入、变换、输出这三部分之间的边界;

第3步:第一级分解--系统模块结构图顶层和第一层设计;

第4步:第二级分解--自顶向下,逐步求精;

事务设计

第1步:设计准备--复审并精华系统模型;

第2步:确定事务处理中心;

第3步:第一级分解--系统模块结构图顶层和第一层设计;

第4步:第二级分解--自顶向下,逐步求精;

5.2.3 模块化及启发式规则

耦合类型从强到弱的分类:内容耦合、公共耦合、控制耦合、标记耦合、数据耦合。

“高内聚低耦合”启发式规则:1改进软件结构提高模块独立性;2力求模块规模适中;3.深度、宽度、扇出和扇入适中;4.使模块的作用域在其控制域内;5降低模块接口的复杂度;6模块功能可预测。

实例研究:

5.3 详细设计

详细设计工具:

5.4 结构化方法小结

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大模型来了,你的“存力”攒够了吗?

作者 | 曾响铃 文 | 响铃说 提到AI、大模型,很多人脑海里最先想到的是算力、算法、数据这“三驾马车”。 而要论谁最重要,恐怕多数人都会觉得是算力。 毕竟,“算力紧缺”的气氛常常被渲染起来。 然而,随着大模型进一步演进&a…

MySQL 字段定义时的属性设置

开发的时候第一步就是建表,在创建表的时候,我们需要定义表的字段,每个字段都有一些属性,比如说是否为空,是否允许有默认值,是不是逐渐等。 这些约束字段的属性,可以让字段的值更符合我们的预期&…

什么是代理IP?TikTok运营需要知道的IP知识

对于运营TikTok的从业者来说,IP的重要性自然不言而喻。 在其他条件都正常的情况下,拥有一个稳定,纯净的IP,你的视频起始播放量很可能比别人高出不少,而劣质的IP轻则会限流,重则会封号。那么,如何…

ThreaTrace复现记录

1. 环境配置 服务器环境 需要10.2的cuda版本 conda环境 包的版本: python 3.6.13 pytorch 1.9.1 torch-cluster 1.5.9 torch-scatter 2.0.9 torch-sparse 0.6.12 torch-spline-conv 1.2.1 torch-geometric 1.4.3 环境bug 这里环境搭建好以后,就可以正…

有哪些工具可以替代Gitbook?这篇文章告诉你

你是否曾经在搜索在线文档创建和共享工具时,遇到了Gitbook? Gitbook 是一个相当出色的工具,具有强大的编辑和发布功能,但也有其不足之处,如使用起来有一定的技术要求,入门门槛较高等。如果你正在寻找Gitbook的替代品&…

harmonyOS简介及背景

harmonyOS的场景模式18n: 1(入口手机)8(电脑、VR、手环、iPad、智慧屏、)–wifi—n(车载、智能家居等所有)harmonyOS不需要考虑软硬件的差异,是一个兼容N种的超级终端harmonyOS干了两件事: (1&a…

HarmonyOS ArkTS 基础组件

目录 一、常用组件 二、文本显示(Text/Span) 2.1 创建文本 2.2 属性 2.3 添加子组件(Span) 2.4 添加事件 三、按钮(Button) 3.1 创建按钮 3.2 设置按钮类型 3.3 悬浮按钮 四、文本输入(TextInput/TextArea)…

牛客小白月赛86(D剪纸游戏)

题目链接:D-剪纸游戏_牛客小白月赛86 (nowcoder.com) 题目描述: 输入描述: 输入第一行包含两个空格分隔的整数分别代表 n 和 m。 接下来输入 n行,每行包含 m 个字符,代表残缺纸张。 保证: 1≤n,m≤10001 字符仅有 . 和 * 两种字符&#xf…

SSTI漏洞详解

目录 前备知识 模块引擎: 模块渲染函数: 继承关系: SSTI漏洞简介 SSTI漏洞成因 SSTI漏洞原理 一些常见模块介绍 php Twig模块引擎 代码演示1 Twig模块引擎代码演示2 python flask模块 代码演示1: python jinja模块 代…

读取pdf文件转为txt文件,使用正则表达式删除页码

通过下述链接中的代码python 读取pdf中的文本,读取pdf的文字到txt文本中。 txt文本中,包含pdf的页码信息,使用如下代码删除pdf的页码 下述是包含页码信息的一段文本,在其中给出了4中不同格式的页码信息。 text ""&qu…

day2 nestjs应用初始化及调试

Java转Ts全栈的学习记录 基础知识 Nest (NestJS) 是一个用于构建高效、可扩展的 Node.js 服务器端应用的框架。(对标springboot)ES ECMAScript 规范,约束js用的语法规范吧,比如const let这类语法就可以用了Eslint与Prettier美化代…

高可用、逻辑保护、容灾、多活、妥协、流程

可用性三叉戟: 本地高可用性:消除单点故障,确保链路所有环节系统高可用 本地是指:针对生产中心的内部故障 故障类型:服务器、硬盘、适配器卡、网络 特点:快速恢复、自动的接管、实施简单 RPO-0 业务逻辑保护…

Python基础学习笔记(一)

Python简介 Python 语言是一种跨平台、开源、免费、解释型、面向对象、动态数据类型的高级程序设计语言。早期版本的 Python 被称作是 Python1;Python2 最后一个版本是 2.7;Python3 是目前最活跃的版 本,基本上新开发的 Python 代码都会支持…

【网络原理】详解HTTPS协议加密过程

文章目录 🌴HTTPS协议是什么?🎄运营商劫持事件🌲HTTPS的工作过程🌸对称加密🌸非对称加密🌸引入证书🌸完整流程 🌳HTTPS加密总结⭕总结 🌴HTTPS协议是什么&…

用户行为分析是什么?为什么我们需要 bitmap?

本文非常好:https://blog.bcmeng.com/post/doris-bitmap.html meta搜也非常好:https://metaso.cn/ 用户行为分析是什么?简单说,就是围绕全体用户,做各种分析。用户就是一个个的 id。id 在不同方面有各种行为记录&…

日志集中审计系列(2)--- LogAuditor接收ASG设备日志

日志集中审计系列(2)--- LogAuditor接收ASG设备日志 前言拓扑图设备选型组网需求配置思路操作步骤结果验证前言 近期有读者留言:“因华为数通模拟器仅能支持USG6000V的防火墙,无法支持别的安全产品,导致很多网络安全的方案和产品功能无法模拟练习,是否有真机操作的实验或…

使用参数创建动态报表

动态报表是开发人员可以根据用户规范更改数据的报表。 可以通过确定要在报表中要查看其数据的值来使用参数,报表会通过筛选数据来相应地进行更新。对于数据量非常大,影响Power BI 运行性能的,可以通过这个动态更改数据源筛选的方法。 通过创…

2024最全 Java 面试八股文

2024 年的互联网行业竞争越来越严峻,面试也是越来越难,一直以来我都想整理一套完美的面试宝典,奈何难抽出时间,这套 1000道的 Java 面试手册我整理了整整 1 个月,上传到 Git 上目前 star 数达到了 30K 这套互联网 Jav…

vulnhub打靶记录——Mycmsms

文章目录 一、环境布置主机发现 二、端口扫描nikto基本探测目录扫描CMS EXP搜索探查mysql数据库CMS代码审计CMS后台权限提升 一、环境布置 靶机在virtualbox中搭建,攻击机使用vmware中安装的kali,主要是解决kali能ping通靶机,同时能访问外网…

SAP BW升级至2023版本后需要注意的点

SAP BW/4HANA 升级至最新版本后,最大的注意点就是原本的HANA studio开发工具打开某些模型或者DTP时会出现某些报错,如图所示: 看到这个提示的时候就需要去下载最新的版本了,我们去到SAP官网 SAP Development Tools 官网已经开始推…